@alfalab/core-components-picker-button 7.5.0 → 7.6.0
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 +11 -0
- package/dist/{Component-4c462f50.d.ts → Component-6e9a8e09.d.ts} +3 -2
- package/dist/{Component-4c462f50.js → Component-6e9a8e09.js} +6 -7
- package/dist/Component.d.ts +26 -4
- package/dist/Component.js +11 -7
- package/dist/{esm/Component-d9d92ac3.d.ts → cssm/Component-2bc0d9b7.d.ts} +3 -2
- package/dist/cssm/{Component-aeb02c1b.js → Component-2bc0d9b7.js} +5 -6
- package/dist/cssm/Component.d.ts +26 -4
- package/dist/cssm/Component.js +10 -6
- package/dist/cssm/field/Component.js +6 -3
- package/dist/cssm/field/index.d.ts +1 -1
- package/dist/cssm/field/index.js +6 -3
- package/dist/cssm/index.js +6 -3
- package/dist/cssm/index.module.css +4 -0
- package/dist/cssm/utils/index.d.ts +4 -0
- package/dist/cssm/utils/index.js +17 -0
- package/dist/{cssm/Component-aeb02c1b.d.ts → esm/Component-b141ddb0.d.ts} +3 -2
- package/dist/esm/{Component-d9d92ac3.js → Component-b141ddb0.js} +6 -7
- package/dist/esm/Component.d.ts +26 -4
- package/dist/esm/Component.js +11 -7
- package/dist/esm/field/Component.js +6 -3
- package/dist/esm/field/index.css +3 -3
- package/dist/esm/field/index.d.ts +1 -1
- package/dist/esm/field/index.js +6 -3
- package/dist/esm/index.css +9 -5
- package/dist/esm/index.js +6 -3
- package/dist/esm/utils/index.d.ts +4 -0
- package/dist/esm/utils/index.js +13 -0
- package/dist/field/Component.js +6 -3
- package/dist/field/index.css +3 -3
- package/dist/field/index.d.ts +1 -1
- package/dist/field/index.js +6 -3
- package/dist/index.css +9 -5
- package/dist/index.js +6 -3
- package/dist/modern/Component.d.ts +26 -4
- package/dist/modern/Component.js +10 -6
- package/dist/modern/field/Component.d.ts +3 -2
- package/dist/modern/field/Component.js +10 -7
- package/dist/modern/field/index.css +3 -3
- package/dist/modern/field/index.js +5 -2
- package/dist/modern/index.css +9 -5
- package/dist/modern/index.js +5 -2
- package/dist/modern/utils/index.d.ts +4 -0
- package/dist/modern/utils/index.js +13 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +17 -0
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
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.6.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-picker-button@7.5.0...@alfalab/core-components-picker-button@7.6.0) (2022-03-03)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **picker-button:** added new view and updated dropdown options ([#1013](https://github.com/alfa-laboratory/core-components/issues/1013)) ([050fb3e](https://github.com/alfa-laboratory/core-components/commit/050fb3eb6fd6dde057bbfcad5dd807d354125b63))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
# [7.5.0](https://github.com/alfa-laboratory/core-components/compare/@alfalab/core-components-picker-button@7.4.3...@alfalab/core-components-picker-button@7.5.0) (2022-03-01)
|
|
7
18
|
|
|
8
19
|
|
|
@@ -5,7 +5,7 @@ import { ReactNode, FC, RefAttributes, AriaAttributes, FocusEvent, MouseEvent, R
|
|
|
5
5
|
import { CSSTransitionProps } from "react-transition-group/CSSTransition";
|
|
6
6
|
import { BasePlacement, VariationPlacement } from "@popperjs/core";
|
|
7
7
|
import { ButtonProps } from "@alfalab/core-components-button";
|
|
8
|
-
import { PickerButtonSize } from "./
|
|
8
|
+
import { PickerButtonSize, PickerButtonVariant } from "./Component";
|
|
9
9
|
declare function __extends(d: any, b: any): void;
|
|
10
10
|
declare function __rest(s: any, e: any): {};
|
|
11
11
|
declare function __decorate(decorators: any, target: any, key: any, desc: any, ...args: any[]): any;
|
|
@@ -869,6 +869,7 @@ declare const FormControl: React.ForwardRefExoticComponent<React.HTMLAttributes<
|
|
|
869
869
|
type BaseFieldProps = FieldProps;
|
|
870
870
|
type FieldProps$0 = Omit<BaseFieldProps, 'size' | 'hint' | 'success' | 'error' | 'placeholder'> & ButtonProps & {
|
|
871
871
|
buttonSize?: PickerButtonSize;
|
|
872
|
+
buttonVariant?: PickerButtonVariant;
|
|
872
873
|
};
|
|
873
|
-
declare const Field: ({ buttonSize, view, label, open, multiple, rightAddons, Arrow, innerProps, className, selected, selectedMultiple, valueRenderer, ...restProps }: FieldProps$0) => JSX.Element;
|
|
874
|
+
declare const Field: ({ buttonSize, buttonVariant, view, label, open, multiple, rightAddons, Arrow, innerProps, className, selected, selectedMultiple, valueRenderer, ...restProps }: FieldProps$0) => JSX.Element;
|
|
874
875
|
export { __extends, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet, __assign, __createBinding, OptionShape, GroupShape, BaseSelectProps, FieldProps, ArrowProps, OptionsListProps, OptgroupProps, OptionProps, CheckmarkProps, stackingOrder, StackingContext, StackProps, Stack, PortalProps, Portal, PORTAL_CONTAINER_ATTRIBUTE, getDefaultPortalContainer, setRef, FormControlProps, FormControl, Field };
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var cn = require('classnames');
|
|
5
5
|
var coreComponentsButton = require('@alfalab/core-components-button');
|
|
6
|
-
var
|
|
7
|
-
var ArrowDownSIcon = require('@alfalab/icons-classic/ArrowDownSIcon');
|
|
6
|
+
var utils_index = require('./utils/index.js');
|
|
8
7
|
|
|
9
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
9
|
|
|
@@ -50,17 +49,17 @@ function __rest(s, e) {
|
|
|
50
49
|
return t;
|
|
51
50
|
}
|
|
52
51
|
|
|
53
|
-
var styles = {"iconContainer":"picker-
|
|
52
|
+
var styles = {"iconContainer":"picker-button__iconContainer_h15km","open":"picker-button__open_h15km"};
|
|
54
53
|
require('./field/index.css')
|
|
55
54
|
|
|
56
55
|
var Field = function (_a) {
|
|
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
|
-
var Icon =
|
|
56
|
+
var _b = _a.buttonSize, buttonSize = _b === void 0 ? 'm' : _b, _c = _a.buttonVariant, buttonVariant = _c === void 0 ? 'default' : _c, 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", "buttonVariant", "view", "label", "open", "multiple", "rightAddons", "Arrow", "innerProps", "className", "selected", "selectedMultiple", "valueRenderer"]);
|
|
57
|
+
var Icon = utils_index.getIcon(buttonVariant, buttonSize);
|
|
59
58
|
var ref = innerProps.ref, restInnerProps = __rest(innerProps, ["ref"]);
|
|
60
59
|
var buttonProps = exports.__assign(exports.__assign({}, restProps), restInnerProps);
|
|
61
60
|
return (React__default['default'].createElement("div", { ref: ref },
|
|
62
|
-
React__default['default'].createElement(coreComponentsButton.Button, exports.__assign({}, buttonProps, { rightAddons: rightAddons !== null && rightAddons !== void 0 ? 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)));
|
|
61
|
+
React__default['default'].createElement(coreComponentsButton.Button, exports.__assign({}, buttonProps, { rightAddons: rightAddons !== null && rightAddons !== void 0 ? rightAddons : (React__default['default'].createElement("span", { className: cn__default['default'](styles.iconContainer, buttonVariant !== 'compact' && open && styles.open) },
|
|
62
|
+
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) }), buttonVariant !== 'compact' && label)));
|
|
64
63
|
};
|
|
65
64
|
|
|
66
65
|
exports.Field = Field;
|
package/dist/Component.d.ts
CHANGED
|
@@ -1,18 +1,40 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from 'react';
|
|
3
|
+
import { FC, SVGProps } from "react";
|
|
3
4
|
import { ButtonProps } from "@alfalab/core-components-button";
|
|
4
|
-
import { BaseSelectProps } from "@alfalab/core-components-select";
|
|
5
|
+
import { BaseSelectProps, OptionShape } from "@alfalab/core-components-select";
|
|
5
6
|
type PickerButtonSize = 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl';
|
|
6
|
-
type
|
|
7
|
+
type PickerButtonVariant = 'default' | 'compact';
|
|
8
|
+
type PickerButtonProps = Omit<BaseSelectProps, 'Field' | 'placeholder' | 'Arrow' | 'autocomplete' | 'size' | 'onFocus' | 'selected' | 'closeOnSelect' | 'multiple' | 'fieldProps' | 'hint' | 'allowUnselect' | 'options'> & Pick<ButtonProps, 'view' | 'loading' | 'leftAddons' | 'rightAddons'> & {
|
|
9
|
+
options: Array<OptionShape & {
|
|
10
|
+
/**
|
|
11
|
+
* Иконка, отображающаяся слева от текстового представления пункта
|
|
12
|
+
*/
|
|
13
|
+
icon?: FC<SVGProps<SVGSVGElement>>;
|
|
14
|
+
}>;
|
|
7
15
|
/**
|
|
8
16
|
* Размер кнопки
|
|
9
17
|
*/
|
|
10
18
|
size?: PickerButtonSize;
|
|
19
|
+
/**
|
|
20
|
+
* Тип кнопки
|
|
21
|
+
*/
|
|
22
|
+
variant?: PickerButtonVariant;
|
|
11
23
|
};
|
|
12
|
-
declare const PickerButton: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "className" | "dataTestId" | "label" | "block" | "id" | "onBlur" | "onChange" | "onScroll" | "disabled" | "name" | "fieldClassName" | "error" | "preventFlip" | "popperClassName" | "open" | "
|
|
24
|
+
declare const PickerButton: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "className" | "dataTestId" | "label" | "block" | "id" | "onBlur" | "onChange" | "onScroll" | "disabled" | "name" | "fieldClassName" | "error" | "preventFlip" | "popperClassName" | "open" | "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" | "rightAddons" | "loading"> & {
|
|
25
|
+
options: (OptionShape & {
|
|
26
|
+
/**
|
|
27
|
+
* Иконка, отображающаяся слева от текстового представления пункта
|
|
28
|
+
*/
|
|
29
|
+
icon?: React.FC<React.SVGProps<SVGSVGElement>> | undefined;
|
|
30
|
+
})[];
|
|
13
31
|
/**
|
|
14
32
|
* Размер кнопки
|
|
15
33
|
*/
|
|
16
34
|
size?: "s" | "xxs" | "xs" | "m" | "l" | "xl" | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Тип кнопки
|
|
37
|
+
*/
|
|
38
|
+
variant?: "default" | "compact" | undefined;
|
|
17
39
|
} & React.RefAttributes<HTMLInputElement>>;
|
|
18
|
-
export { PickerButtonSize, PickerButtonProps, PickerButton };
|
|
40
|
+
export { PickerButtonSize, PickerButtonVariant, PickerButtonProps, PickerButton };
|
package/dist/Component.js
CHANGED
|
@@ -2,37 +2,41 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var field_Component = require('./Component-
|
|
5
|
+
var field_Component = require('./Component-6e9a8e09.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var cn = require('classnames');
|
|
8
8
|
var coreComponentsSelect = require('@alfalab/core-components-select');
|
|
9
9
|
require('@alfalab/core-components-button');
|
|
10
|
-
require('@alfalab/icons-
|
|
11
|
-
require('@alfalab/icons-
|
|
10
|
+
require('@alfalab/icons-glyph/ChevronDownMIcon');
|
|
11
|
+
require('@alfalab/icons-glyph/ChevronDownCompactSIcon');
|
|
12
|
+
require('@alfalab/icons-glyph/MoreMIcon');
|
|
13
|
+
require('@alfalab/icons-glyph/MoreSIcon');
|
|
14
|
+
require('./utils/index.js');
|
|
12
15
|
|
|
13
16
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
14
17
|
|
|
15
18
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
16
19
|
var cn__default = /*#__PURE__*/_interopDefaultLegacy(cn);
|
|
17
20
|
|
|
18
|
-
var styles = {"container":"picker-
|
|
21
|
+
var styles = {"container":"picker-button__container_lu5mb","optionsPopover":"picker-button__optionsPopover_lu5mb","sideGap":"picker-button__sideGap_lu5mb","optionsListContainer":"picker-button__optionsListContainer_lu5mb","option":"picker-button__option_lu5mb"};
|
|
19
22
|
require('./index.css')
|
|
20
23
|
|
|
21
24
|
var SIDE_POSITIONS = ['right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'];
|
|
22
25
|
var PickerButton = React.forwardRef(function (_a, ref) {
|
|
23
26
|
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, rightAddons = _a.rightAddons, popperClassName = _a.popperClassName, optionsListClassName = _a.optionsListClassName, restProps = field_Component.__rest(_a, ["OptionsList", "Optgroup", "Option", "view", "loading", "size", "className", "leftAddons", "rightAddons", "popperClassName", "optionsListClassName"]);
|
|
27
|
+
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, _g = _a.variant, variant = _g === void 0 ? 'default' : _g, className = _a.className, leftAddons = _a.leftAddons, rightAddons = _a.rightAddons, popperClassName = _a.popperClassName, optionsListClassName = _a.optionsListClassName, optionClassName = _a.optionClassName, restProps = field_Component.__rest(_a, ["OptionsList", "Optgroup", "Option", "view", "loading", "size", "variant", "className", "leftAddons", "rightAddons", "popperClassName", "optionsListClassName", "optionClassName"]);
|
|
25
28
|
var isSideGap = !!restProps.popoverPosition && SIDE_POSITIONS.includes(restProps.popoverPosition);
|
|
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: {
|
|
29
|
+
return (React__default['default'].createElement(coreComponentsSelect.BaseSelect, field_Component.__assign({}, restProps, { optionProps: { Checkmark: null }, ref: ref, Option: Option, Field: field_Component.Field, size: size === 'm' ? 'm' : 's', fieldProps: {
|
|
27
30
|
view: view,
|
|
28
31
|
loading: loading,
|
|
29
32
|
/** size у select, button несовместимы */
|
|
30
33
|
buttonSize: size,
|
|
34
|
+
buttonVariant: variant,
|
|
31
35
|
leftAddons: leftAddons,
|
|
32
36
|
rightAddons: rightAddons,
|
|
33
37
|
}, Optgroup: Optgroup, OptionsList: OptionsList, className: cn__default['default'](styles.container, className), popperClassName: cn__default['default'](styles.optionsPopover, popperClassName, (_b = {},
|
|
34
38
|
_b[styles.sideGap] = isSideGap,
|
|
35
|
-
_b)), optionsListClassName: cn__default['default'](styles.optionsListContainer, optionsListClassName), selected: [], closeOnSelect: true })));
|
|
39
|
+
_b)), optionsListClassName: cn__default['default'](styles.optionsListContainer, optionsListClassName), optionClassName: cn__default['default'](styles.option, optionClassName), selected: [], closeOnSelect: true })));
|
|
36
40
|
});
|
|
37
41
|
|
|
38
42
|
exports.PickerButton = PickerButton;
|
|
@@ -5,7 +5,7 @@ import { ReactNode, FC, RefAttributes, AriaAttributes, FocusEvent, MouseEvent, R
|
|
|
5
5
|
import { CSSTransitionProps } from "react-transition-group/CSSTransition";
|
|
6
6
|
import { BasePlacement, VariationPlacement } from "@popperjs/core";
|
|
7
7
|
import { ButtonProps } from "@alfalab/core-components-button";
|
|
8
|
-
import { PickerButtonSize } from "./
|
|
8
|
+
import { PickerButtonSize, PickerButtonVariant } from "./Component";
|
|
9
9
|
declare function __extends(d: any, b: any): void;
|
|
10
10
|
declare function __rest(s: any, e: any): {};
|
|
11
11
|
declare function __decorate(decorators: any, target: any, key: any, desc: any, ...args: any[]): any;
|
|
@@ -869,6 +869,7 @@ declare const FormControl: React.ForwardRefExoticComponent<React.HTMLAttributes<
|
|
|
869
869
|
type BaseFieldProps = FieldProps;
|
|
870
870
|
type FieldProps$0 = Omit<BaseFieldProps, 'size' | 'hint' | 'success' | 'error' | 'placeholder'> & ButtonProps & {
|
|
871
871
|
buttonSize?: PickerButtonSize;
|
|
872
|
+
buttonVariant?: PickerButtonVariant;
|
|
872
873
|
};
|
|
873
|
-
declare const Field: ({ buttonSize, view, label, open, multiple, rightAddons, Arrow, innerProps, className, selected, selectedMultiple, valueRenderer, ...restProps }: FieldProps$0) => JSX.Element;
|
|
874
|
+
declare const Field: ({ buttonSize, buttonVariant, view, label, open, multiple, rightAddons, Arrow, innerProps, className, selected, selectedMultiple, valueRenderer, ...restProps }: FieldProps$0) => JSX.Element;
|
|
874
875
|
export { __extends, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet, __assign, __createBinding, OptionShape, GroupShape, BaseSelectProps, FieldProps, ArrowProps, OptionsListProps, OptgroupProps, OptionProps, CheckmarkProps, stackingOrder, StackingContext, StackProps, Stack, PortalProps, Portal, PORTAL_CONTAINER_ATTRIBUTE, getDefaultPortalContainer, setRef, FormControlProps, FormControl, Field };
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var cn = require('classnames');
|
|
5
5
|
var coreComponentsButton = require('@alfalab/core-components-button/dist/cssm');
|
|
6
|
-
var
|
|
7
|
-
var ArrowDownSIcon = require('@alfalab/icons-classic/ArrowDownSIcon');
|
|
6
|
+
var utils_index = require('./utils/index.js');
|
|
8
7
|
var styles = require('./field/index.module.css');
|
|
9
8
|
|
|
10
9
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -53,13 +52,13 @@ function __rest(s, e) {
|
|
|
53
52
|
}
|
|
54
53
|
|
|
55
54
|
var Field = function (_a) {
|
|
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
|
-
var Icon =
|
|
55
|
+
var _b = _a.buttonSize, buttonSize = _b === void 0 ? 'm' : _b, _c = _a.buttonVariant, buttonVariant = _c === void 0 ? 'default' : _c, 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", "buttonVariant", "view", "label", "open", "multiple", "rightAddons", "Arrow", "innerProps", "className", "selected", "selectedMultiple", "valueRenderer"]);
|
|
56
|
+
var Icon = utils_index.getIcon(buttonVariant, buttonSize);
|
|
58
57
|
var ref = innerProps.ref, restInnerProps = __rest(innerProps, ["ref"]);
|
|
59
58
|
var buttonProps = exports.__assign(exports.__assign({}, restProps), restInnerProps);
|
|
60
59
|
return (React__default['default'].createElement("div", { ref: ref },
|
|
61
|
-
React__default['default'].createElement(coreComponentsButton.Button, exports.__assign({}, buttonProps, { rightAddons: rightAddons !== null && rightAddons !== void 0 ? 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)));
|
|
60
|
+
React__default['default'].createElement(coreComponentsButton.Button, exports.__assign({}, buttonProps, { rightAddons: rightAddons !== null && rightAddons !== void 0 ? rightAddons : (React__default['default'].createElement("span", { className: cn__default['default'](styles__default['default'].iconContainer, buttonVariant !== 'compact' && open && styles__default['default'].open) },
|
|
61
|
+
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) }), buttonVariant !== 'compact' && label)));
|
|
63
62
|
};
|
|
64
63
|
|
|
65
64
|
exports.Field = Field;
|
package/dist/cssm/Component.d.ts
CHANGED
|
@@ -1,18 +1,40 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from 'react';
|
|
3
|
+
import { FC, SVGProps } from "react";
|
|
3
4
|
import { ButtonProps } from "@alfalab/core-components-button";
|
|
4
|
-
import { BaseSelectProps } from "@alfalab/core-components-select";
|
|
5
|
+
import { BaseSelectProps, OptionShape } from "@alfalab/core-components-select";
|
|
5
6
|
type PickerButtonSize = 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl';
|
|
6
|
-
type
|
|
7
|
+
type PickerButtonVariant = 'default' | 'compact';
|
|
8
|
+
type PickerButtonProps = Omit<BaseSelectProps, 'Field' | 'placeholder' | 'Arrow' | 'autocomplete' | 'size' | 'onFocus' | 'selected' | 'closeOnSelect' | 'multiple' | 'fieldProps' | 'hint' | 'allowUnselect' | 'options'> & Pick<ButtonProps, 'view' | 'loading' | 'leftAddons' | 'rightAddons'> & {
|
|
9
|
+
options: Array<OptionShape & {
|
|
10
|
+
/**
|
|
11
|
+
* Иконка, отображающаяся слева от текстового представления пункта
|
|
12
|
+
*/
|
|
13
|
+
icon?: FC<SVGProps<SVGSVGElement>>;
|
|
14
|
+
}>;
|
|
7
15
|
/**
|
|
8
16
|
* Размер кнопки
|
|
9
17
|
*/
|
|
10
18
|
size?: PickerButtonSize;
|
|
19
|
+
/**
|
|
20
|
+
* Тип кнопки
|
|
21
|
+
*/
|
|
22
|
+
variant?: PickerButtonVariant;
|
|
11
23
|
};
|
|
12
|
-
declare const PickerButton: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "className" | "dataTestId" | "label" | "block" | "id" | "onBlur" | "onChange" | "onScroll" | "disabled" | "name" | "fieldClassName" | "error" | "preventFlip" | "popperClassName" | "open" | "
|
|
24
|
+
declare const PickerButton: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "className" | "dataTestId" | "label" | "block" | "id" | "onBlur" | "onChange" | "onScroll" | "disabled" | "name" | "fieldClassName" | "error" | "preventFlip" | "popperClassName" | "open" | "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" | "rightAddons" | "loading"> & {
|
|
25
|
+
options: (OptionShape & {
|
|
26
|
+
/**
|
|
27
|
+
* Иконка, отображающаяся слева от текстового представления пункта
|
|
28
|
+
*/
|
|
29
|
+
icon?: React.FC<React.SVGProps<SVGSVGElement>> | undefined;
|
|
30
|
+
})[];
|
|
13
31
|
/**
|
|
14
32
|
* Размер кнопки
|
|
15
33
|
*/
|
|
16
34
|
size?: "s" | "xxs" | "xs" | "m" | "l" | "xl" | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Тип кнопки
|
|
37
|
+
*/
|
|
38
|
+
variant?: "default" | "compact" | undefined;
|
|
17
39
|
} & React.RefAttributes<HTMLInputElement>>;
|
|
18
|
-
export { PickerButtonSize, PickerButtonProps, PickerButton };
|
|
40
|
+
export { PickerButtonSize, PickerButtonVariant, PickerButtonProps, PickerButton };
|
package/dist/cssm/Component.js
CHANGED
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var field_Component = require('./Component-
|
|
5
|
+
var field_Component = require('./Component-2bc0d9b7.js');
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var cn = require('classnames');
|
|
8
8
|
var coreComponentsSelect = require('@alfalab/core-components-select/dist/cssm');
|
|
9
9
|
require('@alfalab/core-components-button/dist/cssm');
|
|
10
|
-
require('@alfalab/icons-
|
|
11
|
-
require('@alfalab/icons-
|
|
10
|
+
require('@alfalab/icons-glyph/ChevronDownMIcon');
|
|
11
|
+
require('@alfalab/icons-glyph/ChevronDownCompactSIcon');
|
|
12
|
+
require('@alfalab/icons-glyph/MoreMIcon');
|
|
13
|
+
require('@alfalab/icons-glyph/MoreSIcon');
|
|
14
|
+
require('./utils/index.js');
|
|
12
15
|
require('./field/index.module.css');
|
|
13
16
|
var styles = require('./index.module.css');
|
|
14
17
|
|
|
@@ -21,18 +24,19 @@ var styles__default = /*#__PURE__*/_interopDefaultLegacy(styles);
|
|
|
21
24
|
var SIDE_POSITIONS = ['right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'];
|
|
22
25
|
var PickerButton = React.forwardRef(function (_a, ref) {
|
|
23
26
|
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, rightAddons = _a.rightAddons, popperClassName = _a.popperClassName, optionsListClassName = _a.optionsListClassName, restProps = field_Component.__rest(_a, ["OptionsList", "Optgroup", "Option", "view", "loading", "size", "className", "leftAddons", "rightAddons", "popperClassName", "optionsListClassName"]);
|
|
27
|
+
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, _g = _a.variant, variant = _g === void 0 ? 'default' : _g, className = _a.className, leftAddons = _a.leftAddons, rightAddons = _a.rightAddons, popperClassName = _a.popperClassName, optionsListClassName = _a.optionsListClassName, optionClassName = _a.optionClassName, restProps = field_Component.__rest(_a, ["OptionsList", "Optgroup", "Option", "view", "loading", "size", "variant", "className", "leftAddons", "rightAddons", "popperClassName", "optionsListClassName", "optionClassName"]);
|
|
25
28
|
var isSideGap = !!restProps.popoverPosition && SIDE_POSITIONS.includes(restProps.popoverPosition);
|
|
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: {
|
|
29
|
+
return (React__default['default'].createElement(coreComponentsSelect.BaseSelect, field_Component.__assign({}, restProps, { optionProps: { Checkmark: null }, ref: ref, Option: Option, Field: field_Component.Field, size: size === 'm' ? 'm' : 's', fieldProps: {
|
|
27
30
|
view: view,
|
|
28
31
|
loading: loading,
|
|
29
32
|
/** size у select, button несовместимы */
|
|
30
33
|
buttonSize: size,
|
|
34
|
+
buttonVariant: variant,
|
|
31
35
|
leftAddons: leftAddons,
|
|
32
36
|
rightAddons: rightAddons,
|
|
33
37
|
}, Optgroup: Optgroup, OptionsList: OptionsList, className: cn__default['default'](styles__default['default'].container, className), popperClassName: cn__default['default'](styles__default['default'].optionsPopover, popperClassName, (_b = {},
|
|
34
38
|
_b[styles__default['default'].sideGap] = isSideGap,
|
|
35
|
-
_b)), optionsListClassName: cn__default['default'](styles__default['default'].optionsListContainer, optionsListClassName), selected: [], closeOnSelect: true })));
|
|
39
|
+
_b)), optionsListClassName: cn__default['default'](styles__default['default'].optionsListContainer, optionsListClassName), optionClassName: cn__default['default'](styles__default['default'].option, optionClassName), selected: [], closeOnSelect: true })));
|
|
36
40
|
});
|
|
37
41
|
|
|
38
42
|
exports.PickerButton = PickerButton;
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var field_Component = require('../Component-
|
|
5
|
+
var field_Component = require('../Component-2bc0d9b7.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('@alfalab/core-components-button/dist/cssm');
|
|
9
|
-
require('@alfalab/icons-
|
|
10
|
-
require('@alfalab/icons-
|
|
9
|
+
require('@alfalab/icons-glyph/ChevronDownMIcon');
|
|
10
|
+
require('@alfalab/icons-glyph/ChevronDownCompactSIcon');
|
|
11
|
+
require('@alfalab/icons-glyph/MoreMIcon');
|
|
12
|
+
require('@alfalab/icons-glyph/MoreSIcon');
|
|
13
|
+
require('../utils/index.js');
|
|
11
14
|
require('./index.module.css');
|
|
12
15
|
|
|
13
16
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "../Component-
|
|
1
|
+
export * from "../Component-2bc0d9b7";
|
package/dist/cssm/field/index.js
CHANGED
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var field_Component = require('../Component-
|
|
5
|
+
var field_Component = require('../Component-2bc0d9b7.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('@alfalab/core-components-button/dist/cssm');
|
|
9
|
-
require('@alfalab/icons-
|
|
10
|
-
require('@alfalab/icons-
|
|
9
|
+
require('@alfalab/icons-glyph/ChevronDownMIcon');
|
|
10
|
+
require('@alfalab/icons-glyph/ChevronDownCompactSIcon');
|
|
11
|
+
require('@alfalab/icons-glyph/MoreMIcon');
|
|
12
|
+
require('@alfalab/icons-glyph/MoreSIcon');
|
|
13
|
+
require('../utils/index.js');
|
|
11
14
|
require('./index.module.css');
|
|
12
15
|
|
|
13
16
|
|
package/dist/cssm/index.js
CHANGED
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('./Component-
|
|
5
|
+
require('./Component-2bc0d9b7.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('@alfalab/core-components-select/dist/cssm');
|
|
9
9
|
require('@alfalab/core-components-button/dist/cssm');
|
|
10
|
-
require('@alfalab/icons-
|
|
11
|
-
require('@alfalab/icons-
|
|
10
|
+
require('@alfalab/icons-glyph/ChevronDownMIcon');
|
|
11
|
+
require('@alfalab/icons-glyph/ChevronDownCompactSIcon');
|
|
12
|
+
require('@alfalab/icons-glyph/MoreMIcon');
|
|
13
|
+
require('@alfalab/icons-glyph/MoreSIcon');
|
|
14
|
+
require('./utils/index.js');
|
|
12
15
|
require('./field/index.module.css');
|
|
13
16
|
require('./index.module.css');
|
|
14
17
|
var Component = require('./Component.js');
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var ChevronDownMIcon = require('@alfalab/icons-glyph/ChevronDownMIcon');
|
|
6
|
+
var ChevronDownCompactSIcon = require('@alfalab/icons-glyph/ChevronDownCompactSIcon');
|
|
7
|
+
var MoreMIcon = require('@alfalab/icons-glyph/MoreMIcon');
|
|
8
|
+
var MoreSIcon = require('@alfalab/icons-glyph/MoreSIcon');
|
|
9
|
+
|
|
10
|
+
var getIcon = function (variant, size) {
|
|
11
|
+
if (variant === 'compact') {
|
|
12
|
+
return size === 'xxs' ? MoreSIcon.MoreSIcon : MoreMIcon.MoreMIcon;
|
|
13
|
+
}
|
|
14
|
+
return size === 'xxs' ? ChevronDownCompactSIcon.ChevronDownCompactSIcon : ChevronDownMIcon.ChevronDownMIcon;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
exports.getIcon = getIcon;
|
|
@@ -5,7 +5,7 @@ import { ReactNode, FC, RefAttributes, AriaAttributes, FocusEvent, MouseEvent, R
|
|
|
5
5
|
import { CSSTransitionProps } from "react-transition-group/CSSTransition";
|
|
6
6
|
import { BasePlacement, VariationPlacement } from "@popperjs/core";
|
|
7
7
|
import { ButtonProps } from "@alfalab/core-components-button";
|
|
8
|
-
import { PickerButtonSize } from "./
|
|
8
|
+
import { PickerButtonSize, PickerButtonVariant } from "./Component";
|
|
9
9
|
declare function __extends(d: any, b: any): void;
|
|
10
10
|
declare function __rest(s: any, e: any): {};
|
|
11
11
|
declare function __decorate(decorators: any, target: any, key: any, desc: any, ...args: any[]): any;
|
|
@@ -869,6 +869,7 @@ declare const FormControl: React.ForwardRefExoticComponent<React.HTMLAttributes<
|
|
|
869
869
|
type BaseFieldProps = FieldProps;
|
|
870
870
|
type FieldProps$0 = Omit<BaseFieldProps, 'size' | 'hint' | 'success' | 'error' | 'placeholder'> & ButtonProps & {
|
|
871
871
|
buttonSize?: PickerButtonSize;
|
|
872
|
+
buttonVariant?: PickerButtonVariant;
|
|
872
873
|
};
|
|
873
|
-
declare const Field: ({ buttonSize, view, label, open, multiple, rightAddons, Arrow, innerProps, className, selected, selectedMultiple, valueRenderer, ...restProps }: FieldProps$0) => JSX.Element;
|
|
874
|
+
declare const Field: ({ buttonSize, buttonVariant, view, label, open, multiple, rightAddons, Arrow, innerProps, className, selected, selectedMultiple, valueRenderer, ...restProps }: FieldProps$0) => JSX.Element;
|
|
874
875
|
export { __extends, __rest, __decorate, __param, __metadata, __awaiter, __generator, __exportStar, __values, __read, __spread, __spreadArrays, __await, __asyncGenerator, __asyncDelegator, __asyncValues, __makeTemplateObject, __importStar, __importDefault, __classPrivateFieldGet, __classPrivateFieldSet, __assign, __createBinding, OptionShape, GroupShape, BaseSelectProps, FieldProps, ArrowProps, OptionsListProps, OptgroupProps, OptionProps, CheckmarkProps, stackingOrder, StackingContext, StackProps, Stack, PortalProps, Portal, PORTAL_CONTAINER_ATTRIBUTE, getDefaultPortalContainer, setRef, FormControlProps, FormControl, Field };
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
import { Button } from '@alfalab/core-components-button/dist/esm';
|
|
4
|
-
import {
|
|
5
|
-
import { ArrowDownSIcon } from '@alfalab/icons-classic/ArrowDownSIcon';
|
|
4
|
+
import { getIcon } from './utils/index.js';
|
|
6
5
|
|
|
7
6
|
/*! *****************************************************************************
|
|
8
7
|
Copyright (c) Microsoft Corporation.
|
|
@@ -43,17 +42,17 @@ function __rest(s, e) {
|
|
|
43
42
|
return t;
|
|
44
43
|
}
|
|
45
44
|
|
|
46
|
-
var styles = {"iconContainer":"picker-
|
|
45
|
+
var styles = {"iconContainer":"picker-button__iconContainer_h15km","open":"picker-button__open_h15km"};
|
|
47
46
|
require('./field/index.css')
|
|
48
47
|
|
|
49
48
|
var Field = function (_a) {
|
|
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
|
-
var Icon = buttonSize
|
|
49
|
+
var _b = _a.buttonSize, buttonSize = _b === void 0 ? 'm' : _b, _c = _a.buttonVariant, buttonVariant = _c === void 0 ? 'default' : _c, 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", "buttonVariant", "view", "label", "open", "multiple", "rightAddons", "Arrow", "innerProps", "className", "selected", "selectedMultiple", "valueRenderer"]);
|
|
50
|
+
var Icon = getIcon(buttonVariant, buttonSize);
|
|
52
51
|
var ref = innerProps.ref, restInnerProps = __rest(innerProps, ["ref"]);
|
|
53
52
|
var buttonProps = __assign(__assign({}, restProps), restInnerProps);
|
|
54
53
|
return (React.createElement("div", { ref: ref },
|
|
55
|
-
React.createElement(Button, __assign({}, buttonProps, { rightAddons: rightAddons !== null && rightAddons !== void 0 ? 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)));
|
|
54
|
+
React.createElement(Button, __assign({}, buttonProps, { rightAddons: rightAddons !== null && rightAddons !== void 0 ? rightAddons : (React.createElement("span", { className: cn(styles.iconContainer, buttonVariant !== 'compact' && open && styles.open) },
|
|
55
|
+
React.createElement(Icon, { "data-test-id": 'picker-button-icon' }))), block: true, view: view, size: buttonSize, className: cn(styles.component, view === 'primary' && styles.primary, className) }), buttonVariant !== 'compact' && label)));
|
|
57
56
|
};
|
|
58
57
|
|
|
59
58
|
export { Field as F, __rest as _, __assign as a };
|
package/dist/esm/Component.d.ts
CHANGED
|
@@ -1,18 +1,40 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from 'react';
|
|
3
|
+
import { FC, SVGProps } from "react";
|
|
3
4
|
import { ButtonProps } from "@alfalab/core-components-button";
|
|
4
|
-
import { BaseSelectProps } from "@alfalab/core-components-select";
|
|
5
|
+
import { BaseSelectProps, OptionShape } from "@alfalab/core-components-select";
|
|
5
6
|
type PickerButtonSize = 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl';
|
|
6
|
-
type
|
|
7
|
+
type PickerButtonVariant = 'default' | 'compact';
|
|
8
|
+
type PickerButtonProps = Omit<BaseSelectProps, 'Field' | 'placeholder' | 'Arrow' | 'autocomplete' | 'size' | 'onFocus' | 'selected' | 'closeOnSelect' | 'multiple' | 'fieldProps' | 'hint' | 'allowUnselect' | 'options'> & Pick<ButtonProps, 'view' | 'loading' | 'leftAddons' | 'rightAddons'> & {
|
|
9
|
+
options: Array<OptionShape & {
|
|
10
|
+
/**
|
|
11
|
+
* Иконка, отображающаяся слева от текстового представления пункта
|
|
12
|
+
*/
|
|
13
|
+
icon?: FC<SVGProps<SVGSVGElement>>;
|
|
14
|
+
}>;
|
|
7
15
|
/**
|
|
8
16
|
* Размер кнопки
|
|
9
17
|
*/
|
|
10
18
|
size?: PickerButtonSize;
|
|
19
|
+
/**
|
|
20
|
+
* Тип кнопки
|
|
21
|
+
*/
|
|
22
|
+
variant?: PickerButtonVariant;
|
|
11
23
|
};
|
|
12
|
-
declare const PickerButton: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "className" | "dataTestId" | "label" | "block" | "id" | "onBlur" | "onChange" | "onScroll" | "disabled" | "name" | "fieldClassName" | "error" | "preventFlip" | "popperClassName" | "open" | "
|
|
24
|
+
declare const PickerButton: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "className" | "dataTestId" | "label" | "block" | "id" | "onBlur" | "onChange" | "onScroll" | "disabled" | "name" | "fieldClassName" | "error" | "preventFlip" | "popperClassName" | "open" | "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" | "rightAddons" | "loading"> & {
|
|
25
|
+
options: (OptionShape & {
|
|
26
|
+
/**
|
|
27
|
+
* Иконка, отображающаяся слева от текстового представления пункта
|
|
28
|
+
*/
|
|
29
|
+
icon?: React.FC<React.SVGProps<SVGSVGElement>> | undefined;
|
|
30
|
+
})[];
|
|
13
31
|
/**
|
|
14
32
|
* Размер кнопки
|
|
15
33
|
*/
|
|
16
34
|
size?: "s" | "xxs" | "xs" | "m" | "l" | "xl" | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Тип кнопки
|
|
37
|
+
*/
|
|
38
|
+
variant?: "default" | "compact" | undefined;
|
|
17
39
|
} & React.RefAttributes<HTMLInputElement>>;
|
|
18
|
-
export { PickerButtonSize, PickerButtonProps, PickerButton };
|
|
40
|
+
export { PickerButtonSize, PickerButtonVariant, PickerButtonProps, PickerButton };
|
package/dist/esm/Component.js
CHANGED
|
@@ -1,29 +1,33 @@
|
|
|
1
|
-
import { _ as __rest, a as __assign, F as Field } from './Component-
|
|
1
|
+
import { _ as __rest, a as __assign, F as Field } from './Component-b141ddb0.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';
|
|
5
5
|
import '@alfalab/core-components-button/dist/esm';
|
|
6
|
-
import '@alfalab/icons-
|
|
7
|
-
import '@alfalab/icons-
|
|
6
|
+
import '@alfalab/icons-glyph/ChevronDownMIcon';
|
|
7
|
+
import '@alfalab/icons-glyph/ChevronDownCompactSIcon';
|
|
8
|
+
import '@alfalab/icons-glyph/MoreMIcon';
|
|
9
|
+
import '@alfalab/icons-glyph/MoreSIcon';
|
|
10
|
+
import './utils/index.js';
|
|
8
11
|
|
|
9
|
-
var styles = {"container":"picker-
|
|
12
|
+
var styles = {"container":"picker-button__container_lu5mb","optionsPopover":"picker-button__optionsPopover_lu5mb","sideGap":"picker-button__sideGap_lu5mb","optionsListContainer":"picker-button__optionsListContainer_lu5mb","option":"picker-button__option_lu5mb"};
|
|
10
13
|
require('./index.css')
|
|
11
14
|
|
|
12
15
|
var SIDE_POSITIONS = ['right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'];
|
|
13
16
|
var PickerButton = forwardRef(function (_a, ref) {
|
|
14
17
|
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, rightAddons = _a.rightAddons, popperClassName = _a.popperClassName, optionsListClassName = _a.optionsListClassName, restProps = __rest(_a, ["OptionsList", "Optgroup", "Option", "view", "loading", "size", "className", "leftAddons", "rightAddons", "popperClassName", "optionsListClassName"]);
|
|
18
|
+
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, _g = _a.variant, variant = _g === void 0 ? 'default' : _g, className = _a.className, leftAddons = _a.leftAddons, rightAddons = _a.rightAddons, popperClassName = _a.popperClassName, optionsListClassName = _a.optionsListClassName, optionClassName = _a.optionClassName, restProps = __rest(_a, ["OptionsList", "Optgroup", "Option", "view", "loading", "size", "variant", "className", "leftAddons", "rightAddons", "popperClassName", "optionsListClassName", "optionClassName"]);
|
|
16
19
|
var isSideGap = !!restProps.popoverPosition && SIDE_POSITIONS.includes(restProps.popoverPosition);
|
|
17
|
-
return (React.createElement(BaseSelect, __assign({}, restProps, { ref: ref, Option: Option$1, Field: Field, size: size === 'm' ? 'm' : 's', fieldProps: {
|
|
20
|
+
return (React.createElement(BaseSelect, __assign({}, restProps, { optionProps: { Checkmark: null }, ref: ref, Option: Option$1, Field: Field, size: size === 'm' ? 'm' : 's', fieldProps: {
|
|
18
21
|
view: view,
|
|
19
22
|
loading: loading,
|
|
20
23
|
/** size у select, button несовместимы */
|
|
21
24
|
buttonSize: size,
|
|
25
|
+
buttonVariant: variant,
|
|
22
26
|
leftAddons: leftAddons,
|
|
23
27
|
rightAddons: rightAddons,
|
|
24
28
|
}, Optgroup: Optgroup$1, OptionsList: OptionsList$1, className: cn(styles.container, className), popperClassName: cn(styles.optionsPopover, popperClassName, (_b = {},
|
|
25
29
|
_b[styles.sideGap] = isSideGap,
|
|
26
|
-
_b)), optionsListClassName: cn(styles.optionsListContainer, optionsListClassName), selected: [], closeOnSelect: true })));
|
|
30
|
+
_b)), optionsListClassName: cn(styles.optionsListContainer, optionsListClassName), optionClassName: cn(styles.option, optionClassName), selected: [], closeOnSelect: true })));
|
|
27
31
|
});
|
|
28
32
|
|
|
29
33
|
export { PickerButton };
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
export { F as Field } from '../Component-
|
|
1
|
+
export { F as Field } from '../Component-b141ddb0.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'classnames';
|
|
4
4
|
import '@alfalab/core-components-button/dist/esm';
|
|
5
|
-
import '@alfalab/icons-
|
|
6
|
-
import '@alfalab/icons-
|
|
5
|
+
import '@alfalab/icons-glyph/ChevronDownMIcon';
|
|
6
|
+
import '@alfalab/icons-glyph/ChevronDownCompactSIcon';
|
|
7
|
+
import '@alfalab/icons-glyph/MoreMIcon';
|
|
8
|
+
import '@alfalab/icons-glyph/MoreSIcon';
|
|
9
|
+
import '../utils/index.js';
|
package/dist/esm/field/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: a0xav */
|
|
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_h15km {
|
|
14
14
|
display: flex;
|
|
15
15
|
transition: transform 0.15s ease-in-out;
|
|
16
16
|
}
|
|
17
|
-
.picker-
|
|
17
|
+
.picker-button__open_h15km {
|
|
18
18
|
transform: var(--arrow-transform);
|
|
19
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export * from "../Component-
|
|
1
|
+
export * from "../Component-b141ddb0";
|
package/dist/esm/field/index.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
export { F as Field } from '../Component-
|
|
1
|
+
export { F as Field } from '../Component-b141ddb0.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'classnames';
|
|
4
4
|
import '@alfalab/core-components-button/dist/esm';
|
|
5
|
-
import '@alfalab/icons-
|
|
6
|
-
import '@alfalab/icons-
|
|
5
|
+
import '@alfalab/icons-glyph/ChevronDownMIcon';
|
|
6
|
+
import '@alfalab/icons-glyph/ChevronDownCompactSIcon';
|
|
7
|
+
import '@alfalab/icons-glyph/MoreMIcon';
|
|
8
|
+
import '@alfalab/icons-glyph/MoreSIcon';
|
|
9
|
+
import '../utils/index.js';
|
package/dist/esm/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 8bi4r */
|
|
2
2
|
:root {
|
|
3
3
|
|
|
4
4
|
/* Hard */
|
|
@@ -9,19 +9,23 @@
|
|
|
9
9
|
}
|
|
10
10
|
:root {
|
|
11
11
|
--gap-xs: 8px;
|
|
12
|
+
--gap-m: 16px;
|
|
12
13
|
}
|
|
13
14
|
:root {
|
|
14
15
|
--border-radius-s: 4px;
|
|
15
16
|
}
|
|
16
|
-
.picker-
|
|
17
|
+
.picker-button__container_lu5mb {
|
|
17
18
|
min-width: auto;
|
|
18
19
|
}
|
|
19
|
-
.picker-
|
|
20
|
+
.picker-button__optionsPopover_lu5mb {
|
|
20
21
|
padding: var(--gap-xs) 0
|
|
21
22
|
}
|
|
22
|
-
.picker-
|
|
23
|
+
.picker-button__optionsPopover_lu5mb.picker-button__sideGap_lu5mb {
|
|
23
24
|
padding: 0 var(--gap-xs);
|
|
24
25
|
}
|
|
25
|
-
.picker-
|
|
26
|
+
.picker-button__optionsListContainer_lu5mb {
|
|
26
27
|
border-radius: var(--border-radius-s);
|
|
27
28
|
}
|
|
29
|
+
.picker-button__option_lu5mb {
|
|
30
|
+
padding: 0 var(--gap-m);
|
|
31
|
+
}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import './Component-
|
|
1
|
+
import './Component-b141ddb0.js';
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'classnames';
|
|
4
4
|
import '@alfalab/core-components-select/dist/esm';
|
|
5
5
|
import '@alfalab/core-components-button/dist/esm';
|
|
6
|
-
import '@alfalab/icons-
|
|
7
|
-
import '@alfalab/icons-
|
|
6
|
+
import '@alfalab/icons-glyph/ChevronDownMIcon';
|
|
7
|
+
import '@alfalab/icons-glyph/ChevronDownCompactSIcon';
|
|
8
|
+
import '@alfalab/icons-glyph/MoreMIcon';
|
|
9
|
+
import '@alfalab/icons-glyph/MoreSIcon';
|
|
10
|
+
import './utils/index.js';
|
|
8
11
|
export { PickerButton } from './Component.js';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ChevronDownMIcon } from '@alfalab/icons-glyph/ChevronDownMIcon';
|
|
2
|
+
import { ChevronDownCompactSIcon } from '@alfalab/icons-glyph/ChevronDownCompactSIcon';
|
|
3
|
+
import { MoreMIcon } from '@alfalab/icons-glyph/MoreMIcon';
|
|
4
|
+
import { MoreSIcon } from '@alfalab/icons-glyph/MoreSIcon';
|
|
5
|
+
|
|
6
|
+
var getIcon = function (variant, size) {
|
|
7
|
+
if (variant === 'compact') {
|
|
8
|
+
return size === 'xxs' ? MoreSIcon : MoreMIcon;
|
|
9
|
+
}
|
|
10
|
+
return size === 'xxs' ? ChevronDownCompactSIcon : ChevronDownMIcon;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { getIcon };
|
package/dist/field/Component.js
CHANGED
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var field_Component = require('../Component-
|
|
5
|
+
var field_Component = require('../Component-6e9a8e09.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('@alfalab/core-components-button');
|
|
9
|
-
require('@alfalab/icons-
|
|
10
|
-
require('@alfalab/icons-
|
|
9
|
+
require('@alfalab/icons-glyph/ChevronDownMIcon');
|
|
10
|
+
require('@alfalab/icons-glyph/ChevronDownCompactSIcon');
|
|
11
|
+
require('@alfalab/icons-glyph/MoreMIcon');
|
|
12
|
+
require('@alfalab/icons-glyph/MoreSIcon');
|
|
13
|
+
require('../utils/index.js');
|
|
11
14
|
|
|
12
15
|
|
|
13
16
|
|
package/dist/field/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: a0xav */
|
|
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_h15km {
|
|
14
14
|
display: flex;
|
|
15
15
|
transition: transform 0.15s ease-in-out;
|
|
16
16
|
}
|
|
17
|
-
.picker-
|
|
17
|
+
.picker-button__open_h15km {
|
|
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-6e9a8e09";
|
package/dist/field/index.js
CHANGED
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var field_Component = require('../Component-
|
|
5
|
+
var field_Component = require('../Component-6e9a8e09.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('@alfalab/core-components-button');
|
|
9
|
-
require('@alfalab/icons-
|
|
10
|
-
require('@alfalab/icons-
|
|
9
|
+
require('@alfalab/icons-glyph/ChevronDownMIcon');
|
|
10
|
+
require('@alfalab/icons-glyph/ChevronDownCompactSIcon');
|
|
11
|
+
require('@alfalab/icons-glyph/MoreMIcon');
|
|
12
|
+
require('@alfalab/icons-glyph/MoreSIcon');
|
|
13
|
+
require('../utils/index.js');
|
|
11
14
|
|
|
12
15
|
|
|
13
16
|
|
package/dist/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 8bi4r */
|
|
2
2
|
:root {
|
|
3
3
|
|
|
4
4
|
/* Hard */
|
|
@@ -9,19 +9,23 @@
|
|
|
9
9
|
}
|
|
10
10
|
:root {
|
|
11
11
|
--gap-xs: 8px;
|
|
12
|
+
--gap-m: 16px;
|
|
12
13
|
}
|
|
13
14
|
:root {
|
|
14
15
|
--border-radius-s: 4px;
|
|
15
16
|
}
|
|
16
|
-
.picker-
|
|
17
|
+
.picker-button__container_lu5mb {
|
|
17
18
|
min-width: auto;
|
|
18
19
|
}
|
|
19
|
-
.picker-
|
|
20
|
+
.picker-button__optionsPopover_lu5mb {
|
|
20
21
|
padding: var(--gap-xs) 0
|
|
21
22
|
}
|
|
22
|
-
.picker-
|
|
23
|
+
.picker-button__optionsPopover_lu5mb.picker-button__sideGap_lu5mb {
|
|
23
24
|
padding: 0 var(--gap-xs);
|
|
24
25
|
}
|
|
25
|
-
.picker-
|
|
26
|
+
.picker-button__optionsListContainer_lu5mb {
|
|
26
27
|
border-radius: var(--border-radius-s);
|
|
27
28
|
}
|
|
29
|
+
.picker-button__option_lu5mb {
|
|
30
|
+
padding: 0 var(--gap-m);
|
|
31
|
+
}
|
package/dist/index.js
CHANGED
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
require('./Component-
|
|
5
|
+
require('./Component-6e9a8e09.js');
|
|
6
6
|
require('react');
|
|
7
7
|
require('classnames');
|
|
8
8
|
require('@alfalab/core-components-select');
|
|
9
9
|
require('@alfalab/core-components-button');
|
|
10
|
-
require('@alfalab/icons-
|
|
11
|
-
require('@alfalab/icons-
|
|
10
|
+
require('@alfalab/icons-glyph/ChevronDownMIcon');
|
|
11
|
+
require('@alfalab/icons-glyph/ChevronDownCompactSIcon');
|
|
12
|
+
require('@alfalab/icons-glyph/MoreMIcon');
|
|
13
|
+
require('@alfalab/icons-glyph/MoreSIcon');
|
|
14
|
+
require('./utils/index.js');
|
|
12
15
|
var Component = require('./Component.js');
|
|
13
16
|
|
|
14
17
|
|
|
@@ -1,18 +1,40 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import React from 'react';
|
|
3
|
+
import { FC, SVGProps } from "react";
|
|
3
4
|
import { ButtonProps } from "@alfalab/core-components-button";
|
|
4
|
-
import { BaseSelectProps } from "@alfalab/core-components-select";
|
|
5
|
+
import { BaseSelectProps, OptionShape } from "@alfalab/core-components-select";
|
|
5
6
|
type PickerButtonSize = 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl';
|
|
6
|
-
type
|
|
7
|
+
type PickerButtonVariant = 'default' | 'compact';
|
|
8
|
+
type PickerButtonProps = Omit<BaseSelectProps, 'Field' | 'placeholder' | 'Arrow' | 'autocomplete' | 'size' | 'onFocus' | 'selected' | 'closeOnSelect' | 'multiple' | 'fieldProps' | 'hint' | 'allowUnselect' | 'options'> & Pick<ButtonProps, 'view' | 'loading' | 'leftAddons' | 'rightAddons'> & {
|
|
9
|
+
options: Array<OptionShape & {
|
|
10
|
+
/**
|
|
11
|
+
* Иконка, отображающаяся слева от текстового представления пункта
|
|
12
|
+
*/
|
|
13
|
+
icon?: FC<SVGProps<SVGSVGElement>>;
|
|
14
|
+
}>;
|
|
7
15
|
/**
|
|
8
16
|
* Размер кнопки
|
|
9
17
|
*/
|
|
10
18
|
size?: PickerButtonSize;
|
|
19
|
+
/**
|
|
20
|
+
* Тип кнопки
|
|
21
|
+
*/
|
|
22
|
+
variant?: PickerButtonVariant;
|
|
11
23
|
};
|
|
12
|
-
declare const PickerButton: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "className" | "dataTestId" | "label" | "block" | "id" | "onBlur" | "onChange" | "onScroll" | "disabled" | "name" | "fieldClassName" | "error" | "preventFlip" | "popperClassName" | "open" | "
|
|
24
|
+
declare const PickerButton: React.ForwardRefExoticComponent<Pick<BaseSelectProps, "className" | "dataTestId" | "label" | "block" | "id" | "onBlur" | "onChange" | "onScroll" | "disabled" | "name" | "fieldClassName" | "error" | "preventFlip" | "popperClassName" | "open" | "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" | "rightAddons" | "loading"> & {
|
|
25
|
+
options: (OptionShape & {
|
|
26
|
+
/**
|
|
27
|
+
* Иконка, отображающаяся слева от текстового представления пункта
|
|
28
|
+
*/
|
|
29
|
+
icon?: React.FC<React.SVGProps<SVGSVGElement>> | undefined;
|
|
30
|
+
})[];
|
|
13
31
|
/**
|
|
14
32
|
* Размер кнопки
|
|
15
33
|
*/
|
|
16
34
|
size?: "s" | "xxs" | "xs" | "m" | "l" | "xl" | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Тип кнопки
|
|
37
|
+
*/
|
|
38
|
+
variant?: "default" | "compact" | undefined;
|
|
17
39
|
} & React.RefAttributes<HTMLInputElement>>;
|
|
18
|
-
export { PickerButtonSize, PickerButtonProps, PickerButton };
|
|
40
|
+
export { PickerButtonSize, PickerButtonVariant, PickerButtonProps, PickerButton };
|
package/dist/modern/Component.js
CHANGED
|
@@ -2,26 +2,30 @@ import React, { forwardRef } from 'react';
|
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
import { OptionsList, Optgroup, Option, BaseSelect } from '@alfalab/core-components-select/dist/modern';
|
|
4
4
|
import '@alfalab/core-components-button/dist/modern';
|
|
5
|
-
import '@alfalab/icons-
|
|
6
|
-
import '@alfalab/icons-
|
|
5
|
+
import '@alfalab/icons-glyph/ChevronDownMIcon';
|
|
6
|
+
import '@alfalab/icons-glyph/ChevronDownCompactSIcon';
|
|
7
|
+
import '@alfalab/icons-glyph/MoreMIcon';
|
|
8
|
+
import '@alfalab/icons-glyph/MoreSIcon';
|
|
9
|
+
import './utils/index.js';
|
|
7
10
|
import { Field } from './field/Component.js';
|
|
8
11
|
|
|
9
|
-
var styles = {"container":"picker-
|
|
12
|
+
var styles = {"container":"picker-button__container_lu5mb","optionsPopover":"picker-button__optionsPopover_lu5mb","sideGap":"picker-button__sideGap_lu5mb","optionsListContainer":"picker-button__optionsListContainer_lu5mb","option":"picker-button__option_lu5mb"};
|
|
10
13
|
require('./index.css')
|
|
11
14
|
|
|
12
15
|
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, rightAddons, popperClassName, optionsListClassName, ...restProps }, ref) => {
|
|
16
|
+
const PickerButton = forwardRef(({ OptionsList: OptionsList$1 = OptionsList, Optgroup: Optgroup$1 = Optgroup, Option: Option$1 = Option, view, loading, size = 'm', variant = 'default', className, leftAddons, rightAddons, popperClassName, optionsListClassName, optionClassName, ...restProps }, ref) => {
|
|
14
17
|
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: {
|
|
18
|
+
return (React.createElement(BaseSelect, Object.assign({}, restProps, { optionProps: { Checkmark: null }, ref: ref, Option: Option$1, Field: Field, size: size === 'm' ? 'm' : 's', fieldProps: {
|
|
16
19
|
view,
|
|
17
20
|
loading,
|
|
18
21
|
/** size у select, button несовместимы */
|
|
19
22
|
buttonSize: size,
|
|
23
|
+
buttonVariant: variant,
|
|
20
24
|
leftAddons,
|
|
21
25
|
rightAddons,
|
|
22
26
|
}, Optgroup: Optgroup$1, OptionsList: OptionsList$1, className: cn(styles.container, className), popperClassName: cn(styles.optionsPopover, popperClassName, {
|
|
23
27
|
[styles.sideGap]: isSideGap,
|
|
24
|
-
}), optionsListClassName: cn(styles.optionsListContainer, optionsListClassName), selected: [], closeOnSelect: true })));
|
|
28
|
+
}), optionsListClassName: cn(styles.optionsListContainer, optionsListClassName), optionClassName: cn(styles.option, optionClassName), selected: [], closeOnSelect: true })));
|
|
25
29
|
});
|
|
26
30
|
|
|
27
31
|
export { PickerButton };
|
|
@@ -5,7 +5,7 @@ import React from "react";
|
|
|
5
5
|
import { ReactNode, FC, RefAttributes, AriaAttributes, FocusEvent, MouseEvent, ReactElement, CSSProperties, MutableRefObject, InputHTMLAttributes, ChangeEvent } from "react";
|
|
6
6
|
import { CSSTransitionProps } from "react-transition-group/CSSTransition";
|
|
7
7
|
import { BasePlacement, VariationPlacement } from "@popperjs/core";
|
|
8
|
-
import { PickerButtonSize } from "../
|
|
8
|
+
import { PickerButtonSize, PickerButtonVariant } from "../Component";
|
|
9
9
|
type RefElement = HTMLElement | null;
|
|
10
10
|
type Position = BasePlacement | VariationPlacement;
|
|
11
11
|
type PopoverProps = {
|
|
@@ -707,6 +707,7 @@ type CheckmarkProps = {
|
|
|
707
707
|
type BaseFieldProps = FieldProps;
|
|
708
708
|
type FieldProps$0 = Omit<BaseFieldProps, 'size' | 'hint' | 'success' | 'error' | 'placeholder'> & ButtonProps & {
|
|
709
709
|
buttonSize?: PickerButtonSize;
|
|
710
|
+
buttonVariant?: PickerButtonVariant;
|
|
710
711
|
};
|
|
711
|
-
declare const Field: ({ buttonSize, view, label, open, multiple, rightAddons, Arrow, innerProps, className, selected, selectedMultiple, valueRenderer, ...restProps }: FieldProps$0) => JSX.Element;
|
|
712
|
+
declare const Field: ({ buttonSize, buttonVariant, view, label, open, multiple, rightAddons, Arrow, innerProps, className, selected, selectedMultiple, valueRenderer, ...restProps }: FieldProps$0) => JSX.Element;
|
|
712
713
|
export { Field };
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import cn from 'classnames';
|
|
3
3
|
import { Button } from '@alfalab/core-components-button/dist/modern';
|
|
4
|
-
import
|
|
5
|
-
import
|
|
4
|
+
import '@alfalab/icons-glyph/ChevronDownMIcon';
|
|
5
|
+
import '@alfalab/icons-glyph/ChevronDownCompactSIcon';
|
|
6
|
+
import '@alfalab/icons-glyph/MoreMIcon';
|
|
7
|
+
import '@alfalab/icons-glyph/MoreSIcon';
|
|
8
|
+
import { getIcon } from '../utils/index.js';
|
|
6
9
|
|
|
7
|
-
var styles = {"iconContainer":"picker-
|
|
10
|
+
var styles = {"iconContainer":"picker-button__iconContainer_h15km","open":"picker-button__open_h15km"};
|
|
8
11
|
require('./index.css')
|
|
9
12
|
|
|
10
|
-
const Field = ({ buttonSize = 'm', view, label, open, multiple, rightAddons, Arrow, innerProps, className, selected, selectedMultiple, valueRenderer, ...restProps }) => {
|
|
11
|
-
const Icon = buttonSize
|
|
13
|
+
const Field = ({ buttonSize = 'm', buttonVariant = 'default', view, label, open, multiple, rightAddons, Arrow, innerProps, className, selected, selectedMultiple, valueRenderer, ...restProps }) => {
|
|
14
|
+
const Icon = getIcon(buttonVariant, buttonSize);
|
|
12
15
|
const { ref, ...restInnerProps } = innerProps;
|
|
13
16
|
const buttonProps = {
|
|
14
17
|
...restProps,
|
|
15
18
|
...restInnerProps,
|
|
16
19
|
};
|
|
17
20
|
return (React.createElement("div", { ref: ref },
|
|
18
|
-
React.createElement(Button, Object.assign({}, buttonProps, { rightAddons: 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)));
|
|
21
|
+
React.createElement(Button, Object.assign({}, buttonProps, { rightAddons: rightAddons ?? (React.createElement("span", { className: cn(styles.iconContainer, buttonVariant !== 'compact' && open && styles.open) },
|
|
22
|
+
React.createElement(Icon, { "data-test-id": 'picker-button-icon' }))), block: true, view: view, size: buttonSize, className: cn(styles.component, view === 'primary' && styles.primary, className) }), buttonVariant !== 'compact' && label)));
|
|
20
23
|
};
|
|
21
24
|
|
|
22
25
|
export { Field };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: a0xav */
|
|
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_h15km {
|
|
14
14
|
display: flex;
|
|
15
15
|
transition: transform 0.15s ease-in-out;
|
|
16
16
|
}
|
|
17
|
-
.picker-
|
|
17
|
+
.picker-button__open_h15km {
|
|
18
18
|
transform: var(--arrow-transform);
|
|
19
19
|
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import 'react';
|
|
2
2
|
import 'classnames';
|
|
3
3
|
import '@alfalab/core-components-button/dist/modern';
|
|
4
|
-
import '@alfalab/icons-
|
|
5
|
-
import '@alfalab/icons-
|
|
4
|
+
import '@alfalab/icons-glyph/ChevronDownMIcon';
|
|
5
|
+
import '@alfalab/icons-glyph/ChevronDownCompactSIcon';
|
|
6
|
+
import '@alfalab/icons-glyph/MoreMIcon';
|
|
7
|
+
import '@alfalab/icons-glyph/MoreSIcon';
|
|
8
|
+
import '../utils/index.js';
|
|
6
9
|
export { Field } from './Component.js';
|
package/dist/modern/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 8bi4r */
|
|
2
2
|
:root {
|
|
3
3
|
|
|
4
4
|
/* Hard */
|
|
@@ -9,19 +9,23 @@
|
|
|
9
9
|
}
|
|
10
10
|
:root {
|
|
11
11
|
--gap-xs: 8px;
|
|
12
|
+
--gap-m: 16px;
|
|
12
13
|
}
|
|
13
14
|
:root {
|
|
14
15
|
--border-radius-s: 4px;
|
|
15
16
|
}
|
|
16
|
-
.picker-
|
|
17
|
+
.picker-button__container_lu5mb {
|
|
17
18
|
min-width: auto;
|
|
18
19
|
}
|
|
19
|
-
.picker-
|
|
20
|
+
.picker-button__optionsPopover_lu5mb {
|
|
20
21
|
padding: var(--gap-xs) 0
|
|
21
22
|
}
|
|
22
|
-
.picker-
|
|
23
|
+
.picker-button__optionsPopover_lu5mb.picker-button__sideGap_lu5mb {
|
|
23
24
|
padding: 0 var(--gap-xs);
|
|
24
25
|
}
|
|
25
|
-
.picker-
|
|
26
|
+
.picker-button__optionsListContainer_lu5mb {
|
|
26
27
|
border-radius: var(--border-radius-s);
|
|
27
28
|
}
|
|
29
|
+
.picker-button__option_lu5mb {
|
|
30
|
+
padding: 0 var(--gap-m);
|
|
31
|
+
}
|
package/dist/modern/index.js
CHANGED
|
@@ -2,7 +2,10 @@ import 'react';
|
|
|
2
2
|
import 'classnames';
|
|
3
3
|
import '@alfalab/core-components-select/dist/modern';
|
|
4
4
|
import '@alfalab/core-components-button/dist/modern';
|
|
5
|
-
import '@alfalab/icons-
|
|
6
|
-
import '@alfalab/icons-
|
|
5
|
+
import '@alfalab/icons-glyph/ChevronDownMIcon';
|
|
6
|
+
import '@alfalab/icons-glyph/ChevronDownCompactSIcon';
|
|
7
|
+
import '@alfalab/icons-glyph/MoreMIcon';
|
|
8
|
+
import '@alfalab/icons-glyph/MoreSIcon';
|
|
9
|
+
import './utils/index.js';
|
|
7
10
|
import './field/Component.js';
|
|
8
11
|
export { PickerButton } from './Component.js';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ChevronDownMIcon } from '@alfalab/icons-glyph/ChevronDownMIcon';
|
|
2
|
+
import { ChevronDownCompactSIcon } from '@alfalab/icons-glyph/ChevronDownCompactSIcon';
|
|
3
|
+
import { MoreMIcon } from '@alfalab/icons-glyph/MoreMIcon';
|
|
4
|
+
import { MoreSIcon } from '@alfalab/icons-glyph/MoreSIcon';
|
|
5
|
+
|
|
6
|
+
const getIcon = (variant, size) => {
|
|
7
|
+
if (variant === 'compact') {
|
|
8
|
+
return size === 'xxs' ? MoreSIcon : MoreMIcon;
|
|
9
|
+
}
|
|
10
|
+
return size === 'xxs' ? ChevronDownCompactSIcon : ChevronDownMIcon;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { getIcon };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var ChevronDownMIcon = require('@alfalab/icons-glyph/ChevronDownMIcon');
|
|
6
|
+
var ChevronDownCompactSIcon = require('@alfalab/icons-glyph/ChevronDownCompactSIcon');
|
|
7
|
+
var MoreMIcon = require('@alfalab/icons-glyph/MoreMIcon');
|
|
8
|
+
var MoreSIcon = require('@alfalab/icons-glyph/MoreSIcon');
|
|
9
|
+
|
|
10
|
+
var getIcon = function (variant, size) {
|
|
11
|
+
if (variant === 'compact') {
|
|
12
|
+
return size === 'xxs' ? MoreSIcon.MoreSIcon : MoreMIcon.MoreMIcon;
|
|
13
|
+
}
|
|
14
|
+
return size === 'xxs' ? ChevronDownCompactSIcon.ChevronDownCompactSIcon : ChevronDownMIcon.ChevronDownMIcon;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
exports.getIcon = getIcon;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfalab/core-components-picker-button",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.6.0",
|
|
4
4
|
"description": "Picker button component",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
22
|
"@alfalab/core-components-button": "^5.1.1",
|
|
23
|
-
"@alfalab/core-components-select": "^10.
|
|
23
|
+
"@alfalab/core-components-select": "^10.6.0",
|
|
24
24
|
"@alfalab/icons-classic": "^1.76.0",
|
|
25
|
-
"@alfalab/icons-glyph": "^2.
|
|
25
|
+
"@alfalab/icons-glyph": "^2.15.0",
|
|
26
26
|
"classnames": "^2.2.6"
|
|
27
27
|
},
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "e2a33a61248e7a64a8f7a857a59f8beaf7234f93"
|
|
29
29
|
}
|