@alfalab/core-components-picker-button 12.1.0 → 13.0.0-8406faee42e08c133fbcbb0de3e6eb2df6766dd2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cssm/desktop/Component.desktop.d.ts +2 -2
- package/cssm/desktop/Component.desktop.js +1 -1
- package/cssm/desktop/Component.desktop.js.map +1 -1
- package/cssm/field/Component.js +2 -16
- package/cssm/field/Component.js.map +1 -1
- package/cssm/field/index.module.css +14 -7
- package/cssm/index.module.css +8 -4
- package/cssm/mobile/Component.mobile.js +1 -1
- package/cssm/mobile/Component.mobile.js.map +1 -1
- package/cssm/option/index.module.css +6 -3
- package/cssm/types.d.ts +1 -1
- package/desktop/Component.desktop.d.ts +2 -2
- package/desktop/Component.desktop.js +1 -1
- package/desktop/Component.desktop.js.map +1 -1
- package/esm/desktop/Component.desktop.d.ts +2 -2
- package/esm/desktop/Component.desktop.js +1 -1
- package/esm/desktop/Component.desktop.js.map +1 -1
- package/esm/field/Component.js +2 -16
- package/esm/field/Component.js.map +1 -1
- package/esm/field/index.css +14 -7
- package/esm/field/index.module.css.js +1 -1
- package/esm/index.css +8 -4
- package/esm/index.module.css.js +1 -1
- package/esm/mobile/Component.mobile.js +1 -1
- package/esm/mobile/Component.mobile.js.map +1 -1
- package/esm/option/index.css +6 -3
- package/esm/option/index.module.css.js +1 -1
- package/esm/types.d.ts +1 -1
- package/field/Component.js +2 -16
- package/field/Component.js.map +1 -1
- package/field/index.css +14 -7
- package/field/index.module.css.js +1 -1
- package/index.css +8 -4
- package/index.module.css.js +1 -1
- package/mobile/Component.mobile.js +1 -1
- package/mobile/Component.mobile.js.map +1 -1
- package/modern/desktop/Component.desktop.d.ts +2 -2
- package/modern/desktop/Component.desktop.js +1 -1
- package/modern/desktop/Component.desktop.js.map +1 -1
- package/modern/field/Component.js +2 -16
- package/modern/field/Component.js.map +1 -1
- package/modern/field/index.css +14 -7
- package/modern/field/index.module.css.js +1 -1
- package/modern/index.css +8 -4
- package/modern/index.module.css.js +1 -1
- package/modern/mobile/Component.mobile.js +1 -1
- package/modern/mobile/Component.mobile.js.map +1 -1
- package/modern/option/index.css +6 -3
- package/modern/option/index.module.css.js +1 -1
- package/modern/types.d.ts +1 -1
- package/moderncssm/desktop/Component.desktop.d.ts +2 -2
- package/moderncssm/desktop/Component.desktop.js +1 -1
- package/moderncssm/desktop/Component.desktop.js.map +1 -1
- package/moderncssm/field/Component.js +2 -16
- package/moderncssm/field/Component.js.map +1 -1
- package/moderncssm/mobile/Component.mobile.js +1 -1
- package/moderncssm/mobile/Component.mobile.js.map +1 -1
- package/moderncssm/types.d.ts +1 -1
- package/option/index.css +6 -3
- package/option/index.module.css.js +1 -1
- package/package.json +10 -10
- package/src/desktop/Component.desktop.tsx +2 -2
- package/src/field/Component.tsx +2 -17
- package/src/mobile/Component.mobile.tsx +1 -1
- package/src/types.ts +1 -1
- package/types.d.ts +1 -1
|
@@ -11,7 +11,7 @@ export declare type PickerButtonDesktopProps = Omit<BaseSelectProps, 'placeholde
|
|
|
11
11
|
}>;
|
|
12
12
|
/**
|
|
13
13
|
* Размер кнопки
|
|
14
|
-
* @
|
|
14
|
+
* @default 56
|
|
15
15
|
*/
|
|
16
16
|
size?: PickerButtonSize;
|
|
17
17
|
/**
|
|
@@ -37,7 +37,7 @@ export declare const PickerButtonDesktop: React.ForwardRefExoticComponent<Omit<B
|
|
|
37
37
|
}>;
|
|
38
38
|
/**
|
|
39
39
|
* Размер кнопки
|
|
40
|
-
* @
|
|
40
|
+
* @default 56
|
|
41
41
|
*/
|
|
42
42
|
size?: PickerButtonSize | undefined;
|
|
43
43
|
/**
|
|
@@ -34,7 +34,7 @@ var PickerButtonDesktop = React.forwardRef(function (_a, ref) {
|
|
|
34
34
|
breakpoint: 1,
|
|
35
35
|
icon: icon,
|
|
36
36
|
};
|
|
37
|
-
return (React__default.default.createElement(shared.BaseSelect, tslib.__assign({}, restProps, { Popover: cssm.Popover, view: 'desktop', optionProps: { Checkmark: null }, ref: ref, Option: Option, Field: Field, size: size ===
|
|
37
|
+
return (React__default.default.createElement(shared.BaseSelect, tslib.__assign({}, restProps, { Popover: cssm.Popover, view: 'desktop', optionProps: { Checkmark: null }, ref: ref, Option: Option, Field: Field, size: size === 56 ? 56 : 48, fieldProps: tslib.__assign(tslib.__assign({}, fieldDefaultProps), fieldProps), Optgroup: Optgroup, OptionsList: OptionsList, className: cn__default.default(styles__default.default.container, className), popperClassName: cn__default.default('cc-picker-button', styles__default.default.optionsPopover, popperClassName, (_b = {},
|
|
38
38
|
_b[styles__default.default.sideGap] = isSideGap,
|
|
39
39
|
_b)), optionClassName: cn__default.default(styles__default.default.option, optionClassName), selected: [], closeOnSelect: true })));
|
|
40
40
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { type ComponentType, forwardRef, type SVGProps } from 'react';\nimport cn from 'classnames';\n\nimport { type ButtonProps } from '@alfalab/core-components-button';\nimport { Popover } from '@alfalab/core-components-popover';\nimport {\n BaseSelect,\n type BaseSelectProps,\n Optgroup as DefaultOptgroup,\n OptionsList as DefaultOptionsList,\n} from '@alfalab/core-components-select/shared';\n\nimport { Field as DefaultField } from '../field';\nimport { Option as DefaultOption } from '../option';\nimport { type PickerButtonSize, type PickerButtonVariant } from '../types';\n\nimport styles from '../index.module.css';\n\nconst SIDE_POSITIONS = ['right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'];\n\nexport type PickerButtonDesktopProps = Omit<\n BaseSelectProps,\n | 'placeholder'\n | 'Arrow'\n | 'autocomplete'\n | 'size'\n | 'onFocus'\n | 'selected'\n | 'closeOnSelect'\n | 'multiple'\n | 'hint'\n | 'allowUnselect'\n | 'options'\n | 'searchProps'\n | 'showSearch'\n | 'Search'\n> &\n Pick<ButtonProps, 'view' | 'loading' | 'leftAddons' | 'rightAddons'> & {\n options: Array<\n BaseSelectProps['options'][0] & {\n /**\n * Иконка, отображающаяся слева от текстового представления пункта\n */\n icon?: ComponentType<SVGProps<SVGSVGElement>>;\n }\n >;\n\n /**\n * Размер кнопки\n * @
|
|
1
|
+
{"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { type ComponentType, forwardRef, type SVGProps } from 'react';\nimport cn from 'classnames';\n\nimport { type ButtonProps } from '@alfalab/core-components-button';\nimport { Popover } from '@alfalab/core-components-popover';\nimport {\n BaseSelect,\n type BaseSelectProps,\n Optgroup as DefaultOptgroup,\n OptionsList as DefaultOptionsList,\n} from '@alfalab/core-components-select/shared';\n\nimport { Field as DefaultField } from '../field';\nimport { Option as DefaultOption } from '../option';\nimport { type PickerButtonSize, type PickerButtonVariant } from '../types';\n\nimport styles from '../index.module.css';\n\nconst SIDE_POSITIONS = ['right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'];\n\nexport type PickerButtonDesktopProps = Omit<\n BaseSelectProps,\n | 'placeholder'\n | 'Arrow'\n | 'autocomplete'\n | 'size'\n | 'onFocus'\n | 'selected'\n | 'closeOnSelect'\n | 'multiple'\n | 'hint'\n | 'allowUnselect'\n | 'options'\n | 'searchProps'\n | 'showSearch'\n | 'Search'\n> &\n Pick<ButtonProps, 'view' | 'loading' | 'leftAddons' | 'rightAddons'> & {\n options: Array<\n BaseSelectProps['options'][0] & {\n /**\n * Иконка, отображающаяся слева от текстового представления пункта\n */\n icon?: ComponentType<SVGProps<SVGSVGElement>>;\n }\n >;\n\n /**\n * Размер кнопки\n * @default 56\n */\n size?: PickerButtonSize;\n\n /**\n * Тип кнопки\n */\n variant?: PickerButtonVariant;\n\n /**\n * Показывать стрелку\n * @default true\n */\n showArrow?: boolean;\n\n /**\n * Кастомная иконка при variant = compact\n */\n icon?: ComponentType<SVGProps<SVGSVGElement>>;\n };\n\nexport const PickerButtonDesktop = forwardRef<HTMLInputElement, PickerButtonDesktopProps>(\n (\n {\n OptionsList = DefaultOptionsList,\n Optgroup = DefaultOptgroup,\n Option = DefaultOption,\n view,\n loading,\n size = 56,\n variant = 'default',\n className,\n leftAddons,\n rightAddons,\n popperClassName,\n optionClassName,\n showArrow,\n Field = DefaultField,\n fieldProps = {},\n icon,\n ...restProps\n },\n ref,\n ) => {\n const isSideGap =\n !!restProps.popoverPosition && SIDE_POSITIONS.includes(restProps.popoverPosition);\n\n const fieldDefaultProps = {\n view,\n loading,\n /** size у select, button несовместимы */\n buttonSize: size,\n buttonVariant: variant,\n leftAddons,\n rightAddons,\n showArrow,\n breakpoint: 1,\n icon,\n };\n\n return (\n <BaseSelect\n {...restProps}\n Popover={Popover}\n view='desktop'\n optionProps={{ Checkmark: null }}\n ref={ref}\n Option={Option}\n Field={Field}\n size={size === 56 ? 56 : 48}\n fieldProps={{\n ...fieldDefaultProps,\n ...(fieldProps as object),\n }}\n Optgroup={Optgroup}\n OptionsList={OptionsList}\n className={cn(styles.container, className)}\n popperClassName={cn('cc-picker-button', styles.optionsPopover, popperClassName, {\n [styles.sideGap]: isSideGap,\n })}\n optionClassName={cn(styles.option, optionClassName)}\n selected={[]}\n closeOnSelect={true}\n />\n );\n },\n);\n"],"names":["forwardRef","DefaultOptionsList","DefaultOptgroup","DefaultOption","DefaultField","__rest","React","BaseSelect","__assign","Popover","cn","styles"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,IAAM,cAAc,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC;IAoDjF,mBAAmB,GAAGA,gBAAU,CACzC,UACI,EAkBC,EACD,GAAG,EAAA;;AAlBC,IAAA,IAAA,mBAAgC,EAAhC,WAAW,GAAG,EAAA,KAAA,MAAA,GAAAC,kBAAkB,KAAA,EAChC,EAAA,GAAA,EAAA,CAAA,QAA0B,EAA1B,QAAQ,mBAAGC,eAAe,GAAA,EAAA,EAC1B,EAAA,GAAA,EAAA,CAAA,MAAsB,EAAtB,MAAM,GAAA,EAAA,KAAA,MAAA,GAAGC,kBAAa,GAAA,EAAA,EACtB,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,OAAO,aAAA,EACP,EAAA,GAAA,EAAA,CAAA,IAAS,EAAT,IAAI,mBAAG,EAAE,GAAA,EAAA,EACT,EAAmB,GAAA,EAAA,CAAA,OAAA,EAAnB,OAAO,GAAG,EAAA,KAAA,MAAA,GAAA,SAAS,GAAA,EAAA,EACnB,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,eAAe,qBAAA,EACf,eAAe,qBAAA,EACf,SAAS,eAAA,EACT,EAAA,GAAA,EAAA,CAAA,KAAoB,EAApB,KAAK,mBAAGC,eAAY,GAAA,EAAA,EACpB,EAAA,GAAA,EAAA,CAAA,UAAe,EAAf,UAAU,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EACf,IAAI,GAAA,EAAA,CAAA,IAAA,EACD,SAAS,GAAAC,YAAA,CAAA,EAAA,EAjBhB,uMAkBC,CADe;AAIhB,IAAA,IAAM,SAAS,GACX,CAAC,CAAC,SAAS,CAAC,eAAe,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC;AAErF,IAAA,IAAM,iBAAiB,GAAG;AACtB,QAAA,IAAI,EAAA,IAAA;AACJ,QAAA,OAAO,EAAA,OAAA;;AAEP,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,aAAa,EAAE,OAAO;AACtB,QAAA,UAAU,EAAA,UAAA;AACV,QAAA,WAAW,EAAA,WAAA;AACX,QAAA,SAAS,EAAA,SAAA;AACT,QAAA,UAAU,EAAE,CAAC;AACb,QAAA,IAAI,EAAA,IAAA;KACP;AAED,IAAA,QACIC,sBAAC,CAAA,aAAA,CAAAC,iBAAU,EACHC,cAAA,CAAA,EAAA,EAAA,SAAS,IACb,OAAO,EAAEC,YAAO,EAChB,IAAI,EAAC,SAAS,EACd,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAChC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAC3B,UAAU,oCACH,iBAAiB,CAAA,EAChB,UAAqB,CAAA,EAE7B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAEC,mBAAE,CAACC,uBAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAC1C,eAAe,EAAED,mBAAE,CAAC,kBAAkB,EAAEC,uBAAM,CAAC,cAAc,EAAE,eAAe,GAAA,EAAA,GAAA,EAAA;AAC1E,YAAA,EAAA,CAACA,uBAAM,CAAC,OAAO,CAAA,GAAG,SAAS;gBAC7B,EACF,eAAe,EAAED,mBAAE,CAACC,uBAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACnD,QAAQ,EAAE,EAAE,EACZ,aAAa,EAAE,IAAI,EAAA,CAAA,CACrB;AAEV,CAAC;;;;"}
|
package/cssm/field/Component.js
CHANGED
|
@@ -15,24 +15,10 @@ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
|
15
15
|
var cn__default = /*#__PURE__*/_interopDefaultCompat(cn);
|
|
16
16
|
var styles__default = /*#__PURE__*/_interopDefaultCompat(styles);
|
|
17
17
|
|
|
18
|
-
var SIZE_TO_CLASSNAME_MAP = {
|
|
19
|
-
xxs: 'size-32',
|
|
20
|
-
xs: 'size-40',
|
|
21
|
-
s: 'size-48',
|
|
22
|
-
m: 'size-56',
|
|
23
|
-
l: 'size-64',
|
|
24
|
-
xl: 'size-72',
|
|
25
|
-
32: 'size-32',
|
|
26
|
-
40: 'size-40',
|
|
27
|
-
48: 'size-48',
|
|
28
|
-
56: 'size-56',
|
|
29
|
-
64: 'size-64',
|
|
30
|
-
72: 'size-72',
|
|
31
|
-
};
|
|
32
18
|
var Field = function (_a) {
|
|
33
19
|
var _b, _c;
|
|
34
20
|
var _d = _a.buttonSize, buttonSize = _d === void 0 ? 56 : _d, _e = _a.buttonVariant, buttonVariant = _e === void 0 ? 'default' : _e, view = _a.view, label = _a.label, open = _a.open; _a.multiple; var rightAddons = _a.rightAddons; _a.Arrow; var innerProps = _a.innerProps, className = _a.className; _a.selected; _a.selectedMultiple; _a.setSelectedItems; _a.toggleMenu; _a.valueRenderer; var _f = _a.showArrow, showArrow = _f === void 0 ? true : _f; _a.labelView; _a.FormControlComponent; var icon = _a.icon; _a.onClear; var restProps = tslib.__rest(_a, ["buttonSize", "buttonVariant", "view", "label", "open", "multiple", "rightAddons", "Arrow", "innerProps", "className", "selected", "selectedMultiple", "setSelectedItems", "toggleMenu", "valueRenderer", "showArrow", "labelView", "FormControlComponent", "icon", "onClear"]);
|
|
35
|
-
var Icon = index.getIcon(buttonVariant,
|
|
21
|
+
var Icon = index.getIcon(buttonVariant, "size-".concat(buttonSize), icon);
|
|
36
22
|
var ref = innerProps.ref, restInnerProps = tslib.__rest(innerProps, ["ref"]);
|
|
37
23
|
var buttonProps = tslib.__assign(tslib.__assign({}, restProps), restInnerProps);
|
|
38
24
|
return (React__default.default.createElement("div", { ref: ref },
|
|
@@ -42,7 +28,7 @@ var Field = function (_a) {
|
|
|
42
28
|
_b)) }, rightAddons)),
|
|
43
29
|
(showArrow || buttonVariant === 'compact') && (React__default.default.createElement("span", { className: cn__default.default(styles__default.default.iconContainer, buttonVariant !== 'compact' && open && styles__default.default.open) },
|
|
44
30
|
React__default.default.createElement(Icon, { "data-test-id": 'picker-button-icon' })))), block: true, view: view, size: buttonSize, className: cn__default.default(className, (_c = {},
|
|
45
|
-
_c[styles__default.default.linkOpen] = view === '
|
|
31
|
+
_c[styles__default.default.linkOpen] = view === 'transparent' && open,
|
|
46
32
|
_c)) }), buttonVariant !== 'compact' && label)));
|
|
47
33
|
};
|
|
48
34
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../src/field/Component.tsx"],"sourcesContent":["import React, {\n type ButtonHTMLAttributes,\n type ComponentType,\n Fragment,\n type SVGProps,\n} from 'react';\nimport cn from 'classnames';\n\nimport { Button, type ButtonProps } from '@alfalab/core-components-button';\nimport { type FieldProps as BaseFieldProps } from '@alfalab/core-components-select/typings';\n\nimport { type PickerButtonSize, type PickerButtonVariant } from '../types';\nimport { getIcon } from '../utils';\n\nimport styles from './index.module.css';\n\ntype FieldProps = Omit<BaseFieldProps, 'size' | 'hint' | 'success' | 'error' | 'placeholder'> &\n ButtonProps & {\n buttonSize?: PickerButtonSize;\n buttonVariant?: PickerButtonVariant;\n showArrow?: boolean;\n icon?: ComponentType<SVGProps<SVGSVGElement>>;\n };\n\
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../src/field/Component.tsx"],"sourcesContent":["import React, {\n type ButtonHTMLAttributes,\n type ComponentType,\n Fragment,\n type SVGProps,\n} from 'react';\nimport cn from 'classnames';\n\nimport { Button, type ButtonProps } from '@alfalab/core-components-button';\nimport { type FieldProps as BaseFieldProps } from '@alfalab/core-components-select/typings';\n\nimport { type PickerButtonSize, type PickerButtonVariant } from '../types';\nimport { getIcon } from '../utils';\n\nimport styles from './index.module.css';\n\ntype FieldProps = Omit<BaseFieldProps, 'size' | 'hint' | 'success' | 'error' | 'placeholder'> &\n ButtonProps & {\n buttonSize?: PickerButtonSize;\n buttonVariant?: PickerButtonVariant;\n showArrow?: boolean;\n icon?: ComponentType<SVGProps<SVGSVGElement>>;\n };\n\nexport const Field = ({\n buttonSize = 56,\n buttonVariant = 'default',\n view,\n label,\n open,\n multiple,\n rightAddons,\n Arrow,\n innerProps,\n className,\n selected,\n selectedMultiple,\n setSelectedItems,\n toggleMenu,\n valueRenderer,\n showArrow = true,\n labelView,\n FormControlComponent,\n icon,\n onClear,\n ...restProps\n}: FieldProps) => {\n const Icon: ComponentType<SVGProps<SVGSVGElement>> = getIcon(\n buttonVariant,\n `size-${buttonSize}`,\n icon,\n );\n\n const { ref, ...restInnerProps } = innerProps;\n\n const buttonProps = {\n ...restProps,\n ...restInnerProps,\n } as ButtonHTMLAttributes<HTMLButtonElement>;\n\n return (\n <div ref={ref}>\n <Button\n {...buttonProps}\n rightAddons={\n <Fragment>\n {rightAddons && (\n <span\n className={cn(styles.addonsContainer, {\n [styles.showControlIcon]:\n showArrow || buttonVariant === 'compact',\n })}\n >\n {rightAddons}\n </span>\n )}\n\n {(showArrow || buttonVariant === 'compact') && (\n <span\n className={cn(\n styles.iconContainer,\n buttonVariant !== 'compact' && open && styles.open,\n )}\n >\n <Icon data-test-id='picker-button-icon' />\n </span>\n )}\n </Fragment>\n }\n block={true}\n view={view}\n size={buttonSize}\n className={cn(className, {\n [styles.linkOpen]: view === 'transparent' && open,\n })}\n >\n {buttonVariant !== 'compact' && label}\n </Button>\n </div>\n );\n};\n"],"names":["__rest","getIcon","__assign","React","Button","Fragment","cn","styles"],"mappings":";;;;;;;;;;;;;;;;;AAwBO,IAAM,KAAK,GAAG,UAAC,EAsBT,EAAA;;AArBT,IAAA,IAAA,EAAe,GAAA,EAAA,CAAA,UAAA,CAAA,CAAf,UAAU,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,CAAA,CACf,EAAyB,GAAA,EAAA,CAAA,aAAA,CAAA,CAAzB,aAAa,GAAG,EAAA,KAAA,MAAA,GAAA,SAAS,GAAA,EAAA,CAAA,CACzB,IAAI,GAAA,EAAA,CAAA,IAAA,CAAA,CACJ,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,IAAI,GAAA,EAAA,CAAA,IAAA,CACJ,YAAQ,CACR,KAAA,WAAW,GAAA,EAAA,CAAA,WAAA,CAAA,CACN,EAAA,CAAA,KAAA,CAAA,KACL,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,SAAS,GAAA,EAAA,CAAA,SAAA,CACT,YAAQ,CACR,CAAgB,EAAA,CAAA,gBAAA,CAAA,CACA,EAAA,CAAA,gBAAA,CAAA,CACN,EAAA,CAAA,UAAA,EACG,EAAA,CAAA,aAAA,CACb,KAAA,EAAA,GAAA,EAAA,CAAA,SAAgB,EAAhB,SAAS,GAAA,EAAA,KAAA,MAAA,GAAG,IAAI,GAAA,EAAA,EACP,EAAA,CAAA,SAAA,CACT,wBAAoB,CACpB,KAAA,IAAI,GAAA,EAAA,CAAA,IAAA,CAAA,CACG,EAAA,CAAA,OAAA,CAAA,KACJ,SAAS,GAAAA,YAAA,CAAA,EAAA,EArBM,+QAsBrB;AACG,IAAA,IAAM,IAAI,GAA2CC,aAAO,CACxD,aAAa,EACb,OAAQ,CAAA,MAAA,CAAA,UAAU,CAAE,EACpB,IAAI,CACP;IAEO,IAAA,GAAG,GAAwB,UAAU,CAAlC,GAAA,EAAK,cAAc,GAAAD,YAAA,CAAK,UAAU,EAAvC,CAA0B,KAAA,CAAA,CAAF;AAE9B,IAAA,IAAM,WAAW,GAAGE,cAAA,CAAAA,cAAA,CAAA,EAAA,EACb,SAAS,CACT,EAAA,cAAc,CACuB;AAE5C,IAAA,QACIC,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAA;AACT,QAAAA,sBAAA,CAAA,aAAA,CAACC,WAAM,EACCF,cAAA,CAAA,EAAA,EAAA,WAAW,IACf,WAAW,EACPC,qCAACE,cAAQ,EAAA,IAAA;gBACJ,WAAW,KACRF,sBACI,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAEG,mBAAE,CAACC,uBAAM,CAAC,eAAe,GAAA,EAAA,GAAA,EAAA;wBAChC,EAAC,CAAAA,uBAAM,CAAC,eAAe,CAAA,GACnB,SAAS,IAAI,aAAa,KAAK,SAAS;4BAC9C,EAED,EAAA,WAAW,CACT,CACV;gBAEA,CAAC,SAAS,IAAI,aAAa,KAAK,SAAS,MACtCJ,sBAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EACI,SAAS,EAAEG,mBAAE,CACTC,uBAAM,CAAC,aAAa,EACpB,aAAa,KAAK,SAAS,IAAI,IAAI,IAAIA,uBAAM,CAAC,IAAI,CACrD,EAAA;oBAEDJ,sBAAC,CAAA,aAAA,CAAA,IAAI,EAAc,EAAA,cAAA,EAAA,oBAAoB,EAAG,CAAA,CACvC,CACV,CACM,EAEf,KAAK,EAAE,IAAI,EACX,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,UAAU,EAChB,SAAS,EAAEG,mBAAE,CAAC,SAAS,GAAA,EAAA,GAAA,EAAA;gBACnB,EAAC,CAAAC,uBAAM,CAAC,QAAQ,CAAA,GAAG,IAAI,KAAK,aAAa,IAAI,IAAI;oBACnD,EAED,CAAA,EAAA,aAAa,KAAK,SAAS,IAAI,KAAK,CAChC,CACP;AAEd;;;;"}
|
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--color-light-transparent-default-hover: rgba(38, 55, 88, 0.06);
|
|
3
|
-
}
|
|
3
|
+
}
|
|
4
|
+
:root {
|
|
4
5
|
--gap-2xs: 4px;
|
|
5
6
|
--gap-4: var(--gap-2xs);
|
|
6
|
-
}
|
|
7
|
+
}
|
|
8
|
+
:root {
|
|
7
9
|
--arrow-transform: rotate(180deg);
|
|
8
|
-
}
|
|
10
|
+
}
|
|
11
|
+
.iconContainer {
|
|
9
12
|
display: flex;
|
|
10
13
|
transition: transform 0.15s ease-in-out;
|
|
11
|
-
}
|
|
14
|
+
}
|
|
15
|
+
.addonsContainer {
|
|
12
16
|
display: flex;
|
|
13
|
-
}
|
|
17
|
+
}
|
|
18
|
+
.addonsContainer.showControlIcon {
|
|
14
19
|
margin-right: var(--gap-4);
|
|
15
|
-
}
|
|
20
|
+
}
|
|
21
|
+
.open {
|
|
16
22
|
transform: var(--arrow-transform);
|
|
17
|
-
}
|
|
23
|
+
}
|
|
24
|
+
.linkOpen:not(:hover) {
|
|
18
25
|
background-color: var(--color-light-transparent-default-hover);
|
|
19
26
|
}
|
package/cssm/index.module.css
CHANGED
|
@@ -4,12 +4,16 @@
|
|
|
4
4
|
--gap-0: 0px;
|
|
5
5
|
--gap-8: var(--gap-xs);
|
|
6
6
|
--gap-16: var(--gap-m);
|
|
7
|
-
}
|
|
7
|
+
}
|
|
8
|
+
.container {
|
|
8
9
|
min-width: auto;
|
|
9
|
-
}
|
|
10
|
+
}
|
|
11
|
+
.optionsPopover.sideGap:global(.cc-picker-button) {
|
|
10
12
|
padding: var(--gap-0) var(--gap-8);
|
|
11
|
-
}
|
|
13
|
+
}
|
|
14
|
+
:global(.cc-picker-button) .option {
|
|
12
15
|
padding: var(--gap-0) var(--gap-16);
|
|
13
|
-
}
|
|
16
|
+
}
|
|
17
|
+
:global(.cc-picker-button) .option:before {
|
|
14
18
|
display: none;
|
|
15
19
|
}
|
|
@@ -27,7 +27,7 @@ var PickerButtonMobile = React.forwardRef(function (_a, ref) {
|
|
|
27
27
|
breakpoint: breakpoint,
|
|
28
28
|
icon: icon,
|
|
29
29
|
};
|
|
30
|
-
return (React__default.default.createElement(mobile.SelectMobile, tslib.__assign({}, restProps, { label: label, Option: Option, bottomSheetProps: tslib.__assign({ title: label, stickyHeader: true, showSwipeMarker: false }, bottomSheetProps), Field: Field, Optgroup: Optgroup, size: size ===
|
|
30
|
+
return (React__default.default.createElement(mobile.SelectMobile, tslib.__assign({}, restProps, { label: label, Option: Option, bottomSheetProps: tslib.__assign({ title: label, stickyHeader: true, showSwipeMarker: false }, bottomSheetProps), Field: Field, Optgroup: Optgroup, size: size === 56 ? 56 : 48, closeOnSelect: true, fieldProps: tslib.__assign(tslib.__assign({}, fieldDefaultProps), fieldProps), ref: ref, options: options, selected: [] })));
|
|
31
31
|
});
|
|
32
32
|
|
|
33
33
|
exports.PickerButtonMobile = PickerButtonMobile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { SelectMobile } from '@alfalab/core-components-select/mobile';\nimport {\n type AdditionalMobileProps,\n type BottomSheetSelectMobileProps,\n Optgroup as DefaultOptgroup,\n} from '@alfalab/core-components-select/shared';\n\nimport { type PickerButtonDesktopProps } from '../desktop';\nimport { Field as DefaultField } from '../field';\nimport { Option as DefaultOption } from '../option';\n\nexport type PickerButtonMobileProps = Omit<\n PickerButtonDesktopProps,\n 'OptionsList' | 'Checkmark' | 'onScroll'\n> &\n AdditionalMobileProps &\n BottomSheetSelectMobileProps & {\n /**\n * Контрольная точка для кнопки, с нее начинается desktop версия\n * @default 1024\n */\n breakpoint?: number;\n };\n\nexport const PickerButtonMobile = forwardRef<HTMLInputElement, PickerButtonMobileProps>(\n (\n {\n options,\n label,\n Option = DefaultOption,\n Optgroup = DefaultOptgroup,\n view,\n loading,\n variant = 'default',\n leftAddons,\n rightAddons,\n size,\n bottomSheetProps,\n showArrow,\n Field = DefaultField,\n fieldProps = {},\n icon,\n breakpoint,\n ...restProps\n },\n ref,\n ) => {\n const fieldDefaultProps = {\n view,\n loading,\n /** size у select, button несовместимы */\n buttonSize: size,\n buttonVariant: variant,\n leftAddons,\n rightAddons,\n showArrow,\n breakpoint,\n icon,\n };\n\n return (\n <SelectMobile\n {...restProps}\n label={label}\n Option={Option}\n bottomSheetProps={{\n title: label,\n stickyHeader: true,\n showSwipeMarker: false,\n ...bottomSheetProps,\n }}\n Field={Field}\n Optgroup={Optgroup}\n size={size ===
|
|
1
|
+
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { SelectMobile } from '@alfalab/core-components-select/mobile';\nimport {\n type AdditionalMobileProps,\n type BottomSheetSelectMobileProps,\n Optgroup as DefaultOptgroup,\n} from '@alfalab/core-components-select/shared';\n\nimport { type PickerButtonDesktopProps } from '../desktop';\nimport { Field as DefaultField } from '../field';\nimport { Option as DefaultOption } from '../option';\n\nexport type PickerButtonMobileProps = Omit<\n PickerButtonDesktopProps,\n 'OptionsList' | 'Checkmark' | 'onScroll'\n> &\n AdditionalMobileProps &\n BottomSheetSelectMobileProps & {\n /**\n * Контрольная точка для кнопки, с нее начинается desktop версия\n * @default 1024\n */\n breakpoint?: number;\n };\n\nexport const PickerButtonMobile = forwardRef<HTMLInputElement, PickerButtonMobileProps>(\n (\n {\n options,\n label,\n Option = DefaultOption,\n Optgroup = DefaultOptgroup,\n view,\n loading,\n variant = 'default',\n leftAddons,\n rightAddons,\n size,\n bottomSheetProps,\n showArrow,\n Field = DefaultField,\n fieldProps = {},\n icon,\n breakpoint,\n ...restProps\n },\n ref,\n ) => {\n const fieldDefaultProps = {\n view,\n loading,\n /** size у select, button несовместимы */\n buttonSize: size,\n buttonVariant: variant,\n leftAddons,\n rightAddons,\n showArrow,\n breakpoint,\n icon,\n };\n\n return (\n <SelectMobile\n {...restProps}\n label={label}\n Option={Option}\n bottomSheetProps={{\n title: label,\n stickyHeader: true,\n showSwipeMarker: false,\n ...bottomSheetProps,\n }}\n Field={Field}\n Optgroup={Optgroup}\n size={size === 56 ? 56 : 48}\n closeOnSelect={true}\n fieldProps={{\n ...fieldDefaultProps,\n ...(fieldProps as object),\n }}\n ref={ref}\n options={options}\n selected={[]}\n />\n );\n },\n);\n"],"names":["forwardRef","DefaultOption","DefaultOptgroup","DefaultField","__rest","React","SelectMobile","__assign"],"mappings":";;;;;;;;;;;;;;;IA0Ba,kBAAkB,GAAGA,gBAAU,CACxC,UACI,EAkBC,EACD,GAAG,EAAA;AAlBC,IAAA,IAAA,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,KAAK,WAAA,EACL,EAAA,GAAA,EAAA,CAAA,MAAsB,EAAtB,MAAM,GAAG,EAAA,KAAA,MAAA,GAAAC,kBAAa,GAAA,EAAA,EACtB,gBAA0B,EAA1B,QAAQ,GAAG,EAAA,KAAA,MAAA,GAAAC,eAAe,GAAA,EAAA,EAC1B,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,EAAA,GAAA,EAAA,CAAA,OAAmB,EAAnB,OAAO,GAAA,EAAA,KAAA,MAAA,GAAG,SAAS,GAAA,EAAA,EACnB,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,SAAS,eAAA,EACT,EAAA,GAAA,EAAA,CAAA,KAAoB,EAApB,KAAK,mBAAGC,eAAY,GAAA,EAAA,EACpB,EAAA,GAAA,EAAA,CAAA,UAAe,EAAf,UAAU,GAAG,EAAA,KAAA,MAAA,GAAA,EAAE,KAAA,EACf,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,UAAU,GAAA,EAAA,CAAA,UAAA,EACP,SAAS,GAAAC,YAAA,CAAA,EAAA,EAjBhB,2LAkBC,CADe;AAIhB,IAAA,IAAM,iBAAiB,GAAG;AACtB,QAAA,IAAI,EAAA,IAAA;AACJ,QAAA,OAAO,EAAA,OAAA;;AAEP,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,aAAa,EAAE,OAAO;AACtB,QAAA,UAAU,EAAA,UAAA;AACV,QAAA,WAAW,EAAA,WAAA;AACX,QAAA,SAAS,EAAA,SAAA;AACT,QAAA,UAAU,EAAA,UAAA;AACV,QAAA,IAAI,EAAA,IAAA;KACP;AAED,IAAA,QACIC,sBAAA,CAAA,aAAA,CAACC,mBAAY,EAAAC,cAAA,CAAA,EAAA,EACL,SAAS,EACb,EAAA,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,gBAAgB,EACZA,cAAA,CAAA,EAAA,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,IAAI,EAClB,eAAe,EAAE,KAAK,EACnB,EAAA,gBAAgB,GAEvB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAC3B,aAAa,EAAE,IAAI,EACnB,UAAU,EACHA,cAAA,CAAAA,cAAA,CAAA,EAAA,EAAA,iBAAiB,GAChB,UAAqB,CAAA,EAE7B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,EAAE,EAAA,CAAA,CACd;AAEV,CAAC;;;;"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--gap-s: 12px;
|
|
3
3
|
--gap-12: var(--gap-s);
|
|
4
|
-
}
|
|
4
|
+
}
|
|
5
|
+
.container {
|
|
5
6
|
display: flex;
|
|
6
7
|
align-items: center;
|
|
7
|
-
}
|
|
8
|
+
}
|
|
9
|
+
.icon {
|
|
8
10
|
display: flex;
|
|
9
11
|
margin-right: var(--gap-12);
|
|
10
|
-
}
|
|
12
|
+
}
|
|
13
|
+
.content {
|
|
11
14
|
overflow: hidden;
|
|
12
15
|
flex: 1;
|
|
13
16
|
text-overflow: ellipsis;
|
package/cssm/types.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare type PickerButtonSize =
|
|
1
|
+
export declare type PickerButtonSize = 32 | 40 | 48 | 56 | 64 | 72;
|
|
2
2
|
export declare type PickerButtonVariant = 'default' | 'compact';
|
|
@@ -11,7 +11,7 @@ export declare type PickerButtonDesktopProps = Omit<BaseSelectProps, 'placeholde
|
|
|
11
11
|
}>;
|
|
12
12
|
/**
|
|
13
13
|
* Размер кнопки
|
|
14
|
-
* @
|
|
14
|
+
* @default 56
|
|
15
15
|
*/
|
|
16
16
|
size?: PickerButtonSize;
|
|
17
17
|
/**
|
|
@@ -37,7 +37,7 @@ export declare const PickerButtonDesktop: React.ForwardRefExoticComponent<Omit<B
|
|
|
37
37
|
}>;
|
|
38
38
|
/**
|
|
39
39
|
* Размер кнопки
|
|
40
|
-
* @
|
|
40
|
+
* @default 56
|
|
41
41
|
*/
|
|
42
42
|
size?: PickerButtonSize | undefined;
|
|
43
43
|
/**
|
|
@@ -33,7 +33,7 @@ var PickerButtonDesktop = React.forwardRef(function (_a, ref) {
|
|
|
33
33
|
breakpoint: 1,
|
|
34
34
|
icon: icon,
|
|
35
35
|
};
|
|
36
|
-
return (React__default.default.createElement(shared.BaseSelect, tslib.__assign({}, restProps, { Popover: coreComponentsPopover.Popover, view: 'desktop', optionProps: { Checkmark: null }, ref: ref, Option: Option, Field: Field, size: size ===
|
|
36
|
+
return (React__default.default.createElement(shared.BaseSelect, tslib.__assign({}, restProps, { Popover: coreComponentsPopover.Popover, view: 'desktop', optionProps: { Checkmark: null }, ref: ref, Option: Option, Field: Field, size: size === 56 ? 56 : 48, fieldProps: tslib.__assign(tslib.__assign({}, fieldDefaultProps), fieldProps), Optgroup: Optgroup, OptionsList: OptionsList, className: cn__default.default(index_module.container, className), popperClassName: cn__default.default('cc-picker-button', index_module.optionsPopover, popperClassName, (_b = {},
|
|
37
37
|
_b[index_module.sideGap] = isSideGap,
|
|
38
38
|
_b)), optionClassName: cn__default.default(index_module.option, optionClassName), selected: [], closeOnSelect: true })));
|
|
39
39
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.desktop.js","sources":["../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { type ComponentType, forwardRef, type SVGProps } from 'react';\nimport cn from 'classnames';\n\nimport { type ButtonProps } from '@alfalab/core-components-button';\nimport { Popover } from '@alfalab/core-components-popover';\nimport {\n BaseSelect,\n type BaseSelectProps,\n Optgroup as DefaultOptgroup,\n OptionsList as DefaultOptionsList,\n} from '@alfalab/core-components-select/shared';\n\nimport { Field as DefaultField } from '../field';\nimport { Option as DefaultOption } from '../option';\nimport { type PickerButtonSize, type PickerButtonVariant } from '../types';\n\nimport styles from '../index.module.css';\n\nconst SIDE_POSITIONS = ['right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'];\n\nexport type PickerButtonDesktopProps = Omit<\n BaseSelectProps,\n | 'placeholder'\n | 'Arrow'\n | 'autocomplete'\n | 'size'\n | 'onFocus'\n | 'selected'\n | 'closeOnSelect'\n | 'multiple'\n | 'hint'\n | 'allowUnselect'\n | 'options'\n | 'searchProps'\n | 'showSearch'\n | 'Search'\n> &\n Pick<ButtonProps, 'view' | 'loading' | 'leftAddons' | 'rightAddons'> & {\n options: Array<\n BaseSelectProps['options'][0] & {\n /**\n * Иконка, отображающаяся слева от текстового представления пункта\n */\n icon?: ComponentType<SVGProps<SVGSVGElement>>;\n }\n >;\n\n /**\n * Размер кнопки\n * @
|
|
1
|
+
{"version":3,"file":"Component.desktop.js","sources":["../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { type ComponentType, forwardRef, type SVGProps } from 'react';\nimport cn from 'classnames';\n\nimport { type ButtonProps } from '@alfalab/core-components-button';\nimport { Popover } from '@alfalab/core-components-popover';\nimport {\n BaseSelect,\n type BaseSelectProps,\n Optgroup as DefaultOptgroup,\n OptionsList as DefaultOptionsList,\n} from '@alfalab/core-components-select/shared';\n\nimport { Field as DefaultField } from '../field';\nimport { Option as DefaultOption } from '../option';\nimport { type PickerButtonSize, type PickerButtonVariant } from '../types';\n\nimport styles from '../index.module.css';\n\nconst SIDE_POSITIONS = ['right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'];\n\nexport type PickerButtonDesktopProps = Omit<\n BaseSelectProps,\n | 'placeholder'\n | 'Arrow'\n | 'autocomplete'\n | 'size'\n | 'onFocus'\n | 'selected'\n | 'closeOnSelect'\n | 'multiple'\n | 'hint'\n | 'allowUnselect'\n | 'options'\n | 'searchProps'\n | 'showSearch'\n | 'Search'\n> &\n Pick<ButtonProps, 'view' | 'loading' | 'leftAddons' | 'rightAddons'> & {\n options: Array<\n BaseSelectProps['options'][0] & {\n /**\n * Иконка, отображающаяся слева от текстового представления пункта\n */\n icon?: ComponentType<SVGProps<SVGSVGElement>>;\n }\n >;\n\n /**\n * Размер кнопки\n * @default 56\n */\n size?: PickerButtonSize;\n\n /**\n * Тип кнопки\n */\n variant?: PickerButtonVariant;\n\n /**\n * Показывать стрелку\n * @default true\n */\n showArrow?: boolean;\n\n /**\n * Кастомная иконка при variant = compact\n */\n icon?: ComponentType<SVGProps<SVGSVGElement>>;\n };\n\nexport const PickerButtonDesktop = forwardRef<HTMLInputElement, PickerButtonDesktopProps>(\n (\n {\n OptionsList = DefaultOptionsList,\n Optgroup = DefaultOptgroup,\n Option = DefaultOption,\n view,\n loading,\n size = 56,\n variant = 'default',\n className,\n leftAddons,\n rightAddons,\n popperClassName,\n optionClassName,\n showArrow,\n Field = DefaultField,\n fieldProps = {},\n icon,\n ...restProps\n },\n ref,\n ) => {\n const isSideGap =\n !!restProps.popoverPosition && SIDE_POSITIONS.includes(restProps.popoverPosition);\n\n const fieldDefaultProps = {\n view,\n loading,\n /** size у select, button несовместимы */\n buttonSize: size,\n buttonVariant: variant,\n leftAddons,\n rightAddons,\n showArrow,\n breakpoint: 1,\n icon,\n };\n\n return (\n <BaseSelect\n {...restProps}\n Popover={Popover}\n view='desktop'\n optionProps={{ Checkmark: null }}\n ref={ref}\n Option={Option}\n Field={Field}\n size={size === 56 ? 56 : 48}\n fieldProps={{\n ...fieldDefaultProps,\n ...(fieldProps as object),\n }}\n Optgroup={Optgroup}\n OptionsList={OptionsList}\n className={cn(styles.container, className)}\n popperClassName={cn('cc-picker-button', styles.optionsPopover, popperClassName, {\n [styles.sideGap]: isSideGap,\n })}\n optionClassName={cn(styles.option, optionClassName)}\n selected={[]}\n closeOnSelect={true}\n />\n );\n },\n);\n"],"names":["forwardRef","DefaultOptionsList","DefaultOptgroup","DefaultOption","DefaultField","__rest","React","BaseSelect","__assign","Popover","cn","styles"],"mappings":";;;;;;;;;;;;;;;;;;AAkBA,IAAM,cAAc,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC;IAoDjF,mBAAmB,GAAGA,gBAAU,CACzC,UACI,EAkBC,EACD,GAAG,EAAA;;AAlBC,IAAA,IAAA,mBAAgC,EAAhC,WAAW,GAAG,EAAA,KAAA,MAAA,GAAAC,kBAAkB,KAAA,EAChC,EAAA,GAAA,EAAA,CAAA,QAA0B,EAA1B,QAAQ,mBAAGC,eAAe,GAAA,EAAA,EAC1B,EAAA,GAAA,EAAA,CAAA,MAAsB,EAAtB,MAAM,GAAA,EAAA,KAAA,MAAA,GAAGC,kBAAa,GAAA,EAAA,EACtB,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,OAAO,aAAA,EACP,EAAA,GAAA,EAAA,CAAA,IAAS,EAAT,IAAI,mBAAG,EAAE,GAAA,EAAA,EACT,EAAmB,GAAA,EAAA,CAAA,OAAA,EAAnB,OAAO,GAAG,EAAA,KAAA,MAAA,GAAA,SAAS,GAAA,EAAA,EACnB,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,eAAe,qBAAA,EACf,eAAe,qBAAA,EACf,SAAS,eAAA,EACT,EAAA,GAAA,EAAA,CAAA,KAAoB,EAApB,KAAK,mBAAGC,eAAY,GAAA,EAAA,EACpB,EAAA,GAAA,EAAA,CAAA,UAAe,EAAf,UAAU,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EACf,IAAI,GAAA,EAAA,CAAA,IAAA,EACD,SAAS,GAAAC,YAAA,CAAA,EAAA,EAjBhB,uMAkBC,CADe;AAIhB,IAAA,IAAM,SAAS,GACX,CAAC,CAAC,SAAS,CAAC,eAAe,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC;AAErF,IAAA,IAAM,iBAAiB,GAAG;AACtB,QAAA,IAAI,EAAA,IAAA;AACJ,QAAA,OAAO,EAAA,OAAA;;AAEP,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,aAAa,EAAE,OAAO;AACtB,QAAA,UAAU,EAAA,UAAA;AACV,QAAA,WAAW,EAAA,WAAA;AACX,QAAA,SAAS,EAAA,SAAA;AACT,QAAA,UAAU,EAAE,CAAC;AACb,QAAA,IAAI,EAAA,IAAA;KACP;AAED,IAAA,QACIC,sBAAC,CAAA,aAAA,CAAAC,iBAAU,EACHC,cAAA,CAAA,EAAA,EAAA,SAAS,IACb,OAAO,EAAEC,6BAAO,EAChB,IAAI,EAAC,SAAS,EACd,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAChC,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAC3B,UAAU,oCACH,iBAAiB,CAAA,EAChB,UAAqB,CAAA,EAE7B,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAEC,mBAAE,CAACC,YAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAC1C,eAAe,EAAED,mBAAE,CAAC,kBAAkB,EAAEC,YAAM,CAAC,cAAc,EAAE,eAAe,GAAA,EAAA,GAAA,EAAA;AAC1E,YAAA,EAAA,CAACA,YAAM,CAAC,OAAO,CAAA,GAAG,SAAS;gBAC7B,EACF,eAAe,EAAED,mBAAE,CAACC,YAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACnD,QAAQ,EAAE,EAAE,EACZ,aAAa,EAAE,IAAI,EAAA,CAAA,CACrB;AAEV,CAAC;;;;"}
|
|
@@ -11,7 +11,7 @@ export declare type PickerButtonDesktopProps = Omit<BaseSelectProps, 'placeholde
|
|
|
11
11
|
}>;
|
|
12
12
|
/**
|
|
13
13
|
* Размер кнопки
|
|
14
|
-
* @
|
|
14
|
+
* @default 56
|
|
15
15
|
*/
|
|
16
16
|
size?: PickerButtonSize;
|
|
17
17
|
/**
|
|
@@ -37,7 +37,7 @@ export declare const PickerButtonDesktop: React.ForwardRefExoticComponent<Omit<B
|
|
|
37
37
|
}>;
|
|
38
38
|
/**
|
|
39
39
|
* Размер кнопки
|
|
40
|
-
* @
|
|
40
|
+
* @default 56
|
|
41
41
|
*/
|
|
42
42
|
size?: PickerButtonSize | undefined;
|
|
43
43
|
/**
|
|
@@ -24,7 +24,7 @@ var PickerButtonDesktop = forwardRef(function (_a, ref) {
|
|
|
24
24
|
breakpoint: 1,
|
|
25
25
|
icon: icon,
|
|
26
26
|
};
|
|
27
|
-
return (React.createElement(BaseSelect, __assign({}, restProps, { Popover: Popover, view: 'desktop', optionProps: { Checkmark: null }, ref: ref, Option: Option$1, Field: Field$1, size: size ===
|
|
27
|
+
return (React.createElement(BaseSelect, __assign({}, restProps, { Popover: Popover, view: 'desktop', optionProps: { Checkmark: null }, ref: ref, Option: Option$1, Field: Field$1, size: size === 56 ? 56 : 48, fieldProps: __assign(__assign({}, fieldDefaultProps), fieldProps), Optgroup: Optgroup$1, OptionsList: OptionsList$1, className: cn(styles.container, className), popperClassName: cn('cc-picker-button', styles.optionsPopover, popperClassName, (_b = {},
|
|
28
28
|
_b[styles.sideGap] = isSideGap,
|
|
29
29
|
_b)), optionClassName: cn(styles.option, optionClassName), selected: [], closeOnSelect: true })));
|
|
30
30
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { type ComponentType, forwardRef, type SVGProps } from 'react';\nimport cn from 'classnames';\n\nimport { type ButtonProps } from '@alfalab/core-components-button';\nimport { Popover } from '@alfalab/core-components-popover';\nimport {\n BaseSelect,\n type BaseSelectProps,\n Optgroup as DefaultOptgroup,\n OptionsList as DefaultOptionsList,\n} from '@alfalab/core-components-select/shared';\n\nimport { Field as DefaultField } from '../field';\nimport { Option as DefaultOption } from '../option';\nimport { type PickerButtonSize, type PickerButtonVariant } from '../types';\n\nimport styles from '../index.module.css';\n\nconst SIDE_POSITIONS = ['right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'];\n\nexport type PickerButtonDesktopProps = Omit<\n BaseSelectProps,\n | 'placeholder'\n | 'Arrow'\n | 'autocomplete'\n | 'size'\n | 'onFocus'\n | 'selected'\n | 'closeOnSelect'\n | 'multiple'\n | 'hint'\n | 'allowUnselect'\n | 'options'\n | 'searchProps'\n | 'showSearch'\n | 'Search'\n> &\n Pick<ButtonProps, 'view' | 'loading' | 'leftAddons' | 'rightAddons'> & {\n options: Array<\n BaseSelectProps['options'][0] & {\n /**\n * Иконка, отображающаяся слева от текстового представления пункта\n */\n icon?: ComponentType<SVGProps<SVGSVGElement>>;\n }\n >;\n\n /**\n * Размер кнопки\n * @
|
|
1
|
+
{"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { type ComponentType, forwardRef, type SVGProps } from 'react';\nimport cn from 'classnames';\n\nimport { type ButtonProps } from '@alfalab/core-components-button';\nimport { Popover } from '@alfalab/core-components-popover';\nimport {\n BaseSelect,\n type BaseSelectProps,\n Optgroup as DefaultOptgroup,\n OptionsList as DefaultOptionsList,\n} from '@alfalab/core-components-select/shared';\n\nimport { Field as DefaultField } from '../field';\nimport { Option as DefaultOption } from '../option';\nimport { type PickerButtonSize, type PickerButtonVariant } from '../types';\n\nimport styles from '../index.module.css';\n\nconst SIDE_POSITIONS = ['right', 'right-start', 'right-end', 'left', 'left-start', 'left-end'];\n\nexport type PickerButtonDesktopProps = Omit<\n BaseSelectProps,\n | 'placeholder'\n | 'Arrow'\n | 'autocomplete'\n | 'size'\n | 'onFocus'\n | 'selected'\n | 'closeOnSelect'\n | 'multiple'\n | 'hint'\n | 'allowUnselect'\n | 'options'\n | 'searchProps'\n | 'showSearch'\n | 'Search'\n> &\n Pick<ButtonProps, 'view' | 'loading' | 'leftAddons' | 'rightAddons'> & {\n options: Array<\n BaseSelectProps['options'][0] & {\n /**\n * Иконка, отображающаяся слева от текстового представления пункта\n */\n icon?: ComponentType<SVGProps<SVGSVGElement>>;\n }\n >;\n\n /**\n * Размер кнопки\n * @default 56\n */\n size?: PickerButtonSize;\n\n /**\n * Тип кнопки\n */\n variant?: PickerButtonVariant;\n\n /**\n * Показывать стрелку\n * @default true\n */\n showArrow?: boolean;\n\n /**\n * Кастомная иконка при variant = compact\n */\n icon?: ComponentType<SVGProps<SVGSVGElement>>;\n };\n\nexport const PickerButtonDesktop = forwardRef<HTMLInputElement, PickerButtonDesktopProps>(\n (\n {\n OptionsList = DefaultOptionsList,\n Optgroup = DefaultOptgroup,\n Option = DefaultOption,\n view,\n loading,\n size = 56,\n variant = 'default',\n className,\n leftAddons,\n rightAddons,\n popperClassName,\n optionClassName,\n showArrow,\n Field = DefaultField,\n fieldProps = {},\n icon,\n ...restProps\n },\n ref,\n ) => {\n const isSideGap =\n !!restProps.popoverPosition && SIDE_POSITIONS.includes(restProps.popoverPosition);\n\n const fieldDefaultProps = {\n view,\n loading,\n /** size у select, button несовместимы */\n buttonSize: size,\n buttonVariant: variant,\n leftAddons,\n rightAddons,\n showArrow,\n breakpoint: 1,\n icon,\n };\n\n return (\n <BaseSelect\n {...restProps}\n Popover={Popover}\n view='desktop'\n optionProps={{ Checkmark: null }}\n ref={ref}\n Option={Option}\n Field={Field}\n size={size === 56 ? 56 : 48}\n fieldProps={{\n ...fieldDefaultProps,\n ...(fieldProps as object),\n }}\n Optgroup={Optgroup}\n OptionsList={OptionsList}\n className={cn(styles.container, className)}\n popperClassName={cn('cc-picker-button', styles.optionsPopover, popperClassName, {\n [styles.sideGap]: isSideGap,\n })}\n optionClassName={cn(styles.option, optionClassName)}\n selected={[]}\n closeOnSelect={true}\n />\n );\n },\n);\n"],"names":["OptionsList","DefaultOptionsList","Optgroup","DefaultOptgroup","Option","DefaultOption","Field","DefaultField"],"mappings":";;;;;;;;;AAkBA,IAAM,cAAc,GAAG,CAAC,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC;IAoDjF,mBAAmB,GAAG,UAAU,CACzC,UACI,EAkBC,EACD,GAAG,EAAA;;AAlBC,IAAA,IAAA,mBAAgC,EAAhCA,aAAW,GAAG,EAAA,KAAA,MAAA,GAAAC,WAAkB,KAAA,EAChC,EAAA,GAAA,EAAA,CAAA,QAA0B,EAA1BC,UAAQ,mBAAGC,QAAe,GAAA,EAAA,EAC1B,EAAA,GAAA,EAAA,CAAA,MAAsB,EAAtBC,QAAM,GAAA,EAAA,KAAA,MAAA,GAAGC,MAAa,GAAA,EAAA,EACtB,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,OAAO,aAAA,EACP,EAAA,GAAA,EAAA,CAAA,IAAS,EAAT,IAAI,mBAAG,EAAE,GAAA,EAAA,EACT,EAAmB,GAAA,EAAA,CAAA,OAAA,EAAnB,OAAO,GAAG,EAAA,KAAA,MAAA,GAAA,SAAS,GAAA,EAAA,EACnB,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,eAAe,qBAAA,EACf,eAAe,qBAAA,EACf,SAAS,eAAA,EACT,EAAA,GAAA,EAAA,CAAA,KAAoB,EAApBC,OAAK,mBAAGC,KAAY,GAAA,EAAA,EACpB,EAAA,GAAA,EAAA,CAAA,UAAe,EAAf,UAAU,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,EACf,IAAI,GAAA,EAAA,CAAA,IAAA,EACD,SAAS,GAAA,MAAA,CAAA,EAAA,EAjBhB,uMAkBC,CADe;AAIhB,IAAA,IAAM,SAAS,GACX,CAAC,CAAC,SAAS,CAAC,eAAe,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,eAAe,CAAC;AAErF,IAAA,IAAM,iBAAiB,GAAG;AACtB,QAAA,IAAI,EAAA,IAAA;AACJ,QAAA,OAAO,EAAA,OAAA;;AAEP,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,aAAa,EAAE,OAAO;AACtB,QAAA,UAAU,EAAA,UAAA;AACV,QAAA,WAAW,EAAA,WAAA;AACX,QAAA,SAAS,EAAA,SAAA;AACT,QAAA,UAAU,EAAE,CAAC;AACb,QAAA,IAAI,EAAA,IAAA;KACP;AAED,IAAA,QACI,KAAC,CAAA,aAAA,CAAA,UAAU,EACH,QAAA,CAAA,EAAA,EAAA,SAAS,IACb,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,SAAS,EACd,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAChC,GAAG,EAAE,GAAG,EACR,MAAM,EAAEH,QAAM,EACd,KAAK,EAAEE,OAAK,EACZ,IAAI,EAAE,IAAI,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAC3B,UAAU,wBACH,iBAAiB,CAAA,EAChB,UAAqB,CAAA,EAE7B,QAAQ,EAAEJ,UAAQ,EAClB,WAAW,EAAEF,aAAW,EACxB,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,EAC1C,eAAe,EAAE,EAAE,CAAC,kBAAkB,EAAE,MAAM,CAAC,cAAc,EAAE,eAAe,GAAA,EAAA,GAAA,EAAA;AAC1E,YAAA,EAAA,CAAC,MAAM,CAAC,OAAO,CAAA,GAAG,SAAS;gBAC7B,EACF,eAAe,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EACnD,QAAQ,EAAE,EAAE,EACZ,aAAa,EAAE,IAAI,EAAA,CAAA,CACrB;AAEV,CAAC;;;;"}
|
package/esm/field/Component.js
CHANGED
|
@@ -5,24 +5,10 @@ import { Button } from '@alfalab/core-components-button/esm';
|
|
|
5
5
|
import { getIcon } from '../utils/index.js';
|
|
6
6
|
import styles from './index.module.css.js';
|
|
7
7
|
|
|
8
|
-
var SIZE_TO_CLASSNAME_MAP = {
|
|
9
|
-
xxs: 'size-32',
|
|
10
|
-
xs: 'size-40',
|
|
11
|
-
s: 'size-48',
|
|
12
|
-
m: 'size-56',
|
|
13
|
-
l: 'size-64',
|
|
14
|
-
xl: 'size-72',
|
|
15
|
-
32: 'size-32',
|
|
16
|
-
40: 'size-40',
|
|
17
|
-
48: 'size-48',
|
|
18
|
-
56: 'size-56',
|
|
19
|
-
64: 'size-64',
|
|
20
|
-
72: 'size-72',
|
|
21
|
-
};
|
|
22
8
|
var Field = function (_a) {
|
|
23
9
|
var _b, _c;
|
|
24
10
|
var _d = _a.buttonSize, buttonSize = _d === void 0 ? 56 : _d, _e = _a.buttonVariant, buttonVariant = _e === void 0 ? 'default' : _e, view = _a.view, label = _a.label, open = _a.open; _a.multiple; var rightAddons = _a.rightAddons; _a.Arrow; var innerProps = _a.innerProps, className = _a.className; _a.selected; _a.selectedMultiple; _a.setSelectedItems; _a.toggleMenu; _a.valueRenderer; var _f = _a.showArrow, showArrow = _f === void 0 ? true : _f; _a.labelView; _a.FormControlComponent; var icon = _a.icon; _a.onClear; var restProps = __rest(_a, ["buttonSize", "buttonVariant", "view", "label", "open", "multiple", "rightAddons", "Arrow", "innerProps", "className", "selected", "selectedMultiple", "setSelectedItems", "toggleMenu", "valueRenderer", "showArrow", "labelView", "FormControlComponent", "icon", "onClear"]);
|
|
25
|
-
var Icon = getIcon(buttonVariant,
|
|
11
|
+
var Icon = getIcon(buttonVariant, "size-".concat(buttonSize), icon);
|
|
26
12
|
var ref = innerProps.ref, restInnerProps = __rest(innerProps, ["ref"]);
|
|
27
13
|
var buttonProps = __assign(__assign({}, restProps), restInnerProps);
|
|
28
14
|
return (React.createElement("div", { ref: ref },
|
|
@@ -32,7 +18,7 @@ var Field = function (_a) {
|
|
|
32
18
|
_b)) }, rightAddons)),
|
|
33
19
|
(showArrow || buttonVariant === 'compact') && (React.createElement("span", { className: cn(styles.iconContainer, buttonVariant !== 'compact' && open && styles.open) },
|
|
34
20
|
React.createElement(Icon, { "data-test-id": 'picker-button-icon' })))), block: true, view: view, size: buttonSize, className: cn(className, (_c = {},
|
|
35
|
-
_c[styles.linkOpen] = view === '
|
|
21
|
+
_c[styles.linkOpen] = view === 'transparent' && open,
|
|
36
22
|
_c)) }), buttonVariant !== 'compact' && label)));
|
|
37
23
|
};
|
|
38
24
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../src/field/Component.tsx"],"sourcesContent":["import React, {\n type ButtonHTMLAttributes,\n type ComponentType,\n Fragment,\n type SVGProps,\n} from 'react';\nimport cn from 'classnames';\n\nimport { Button, type ButtonProps } from '@alfalab/core-components-button';\nimport { type FieldProps as BaseFieldProps } from '@alfalab/core-components-select/typings';\n\nimport { type PickerButtonSize, type PickerButtonVariant } from '../types';\nimport { getIcon } from '../utils';\n\nimport styles from './index.module.css';\n\ntype FieldProps = Omit<BaseFieldProps, 'size' | 'hint' | 'success' | 'error' | 'placeholder'> &\n ButtonProps & {\n buttonSize?: PickerButtonSize;\n buttonVariant?: PickerButtonVariant;\n showArrow?: boolean;\n icon?: ComponentType<SVGProps<SVGSVGElement>>;\n };\n\
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../src/field/Component.tsx"],"sourcesContent":["import React, {\n type ButtonHTMLAttributes,\n type ComponentType,\n Fragment,\n type SVGProps,\n} from 'react';\nimport cn from 'classnames';\n\nimport { Button, type ButtonProps } from '@alfalab/core-components-button';\nimport { type FieldProps as BaseFieldProps } from '@alfalab/core-components-select/typings';\n\nimport { type PickerButtonSize, type PickerButtonVariant } from '../types';\nimport { getIcon } from '../utils';\n\nimport styles from './index.module.css';\n\ntype FieldProps = Omit<BaseFieldProps, 'size' | 'hint' | 'success' | 'error' | 'placeholder'> &\n ButtonProps & {\n buttonSize?: PickerButtonSize;\n buttonVariant?: PickerButtonVariant;\n showArrow?: boolean;\n icon?: ComponentType<SVGProps<SVGSVGElement>>;\n };\n\nexport const Field = ({\n buttonSize = 56,\n buttonVariant = 'default',\n view,\n label,\n open,\n multiple,\n rightAddons,\n Arrow,\n innerProps,\n className,\n selected,\n selectedMultiple,\n setSelectedItems,\n toggleMenu,\n valueRenderer,\n showArrow = true,\n labelView,\n FormControlComponent,\n icon,\n onClear,\n ...restProps\n}: FieldProps) => {\n const Icon: ComponentType<SVGProps<SVGSVGElement>> = getIcon(\n buttonVariant,\n `size-${buttonSize}`,\n icon,\n );\n\n const { ref, ...restInnerProps } = innerProps;\n\n const buttonProps = {\n ...restProps,\n ...restInnerProps,\n } as ButtonHTMLAttributes<HTMLButtonElement>;\n\n return (\n <div ref={ref}>\n <Button\n {...buttonProps}\n rightAddons={\n <Fragment>\n {rightAddons && (\n <span\n className={cn(styles.addonsContainer, {\n [styles.showControlIcon]:\n showArrow || buttonVariant === 'compact',\n })}\n >\n {rightAddons}\n </span>\n )}\n\n {(showArrow || buttonVariant === 'compact') && (\n <span\n className={cn(\n styles.iconContainer,\n buttonVariant !== 'compact' && open && styles.open,\n )}\n >\n <Icon data-test-id='picker-button-icon' />\n </span>\n )}\n </Fragment>\n }\n block={true}\n view={view}\n size={buttonSize}\n className={cn(className, {\n [styles.linkOpen]: view === 'transparent' && open,\n })}\n >\n {buttonVariant !== 'compact' && label}\n </Button>\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;AAwBO,IAAM,KAAK,GAAG,UAAC,EAsBT,EAAA;;AArBT,IAAA,IAAA,EAAe,GAAA,EAAA,CAAA,UAAA,CAAA,CAAf,UAAU,GAAA,EAAA,KAAA,MAAA,GAAG,EAAE,GAAA,EAAA,CAAA,CACf,EAAyB,GAAA,EAAA,CAAA,aAAA,CAAA,CAAzB,aAAa,GAAG,EAAA,KAAA,MAAA,GAAA,SAAS,GAAA,EAAA,CAAA,CACzB,IAAI,GAAA,EAAA,CAAA,IAAA,CAAA,CACJ,KAAK,GAAA,EAAA,CAAA,KAAA,EACL,IAAI,GAAA,EAAA,CAAA,IAAA,CACJ,YAAQ,CACR,KAAA,WAAW,GAAA,EAAA,CAAA,WAAA,CAAA,CACN,EAAA,CAAA,KAAA,CAAA,KACL,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,SAAS,GAAA,EAAA,CAAA,SAAA,CACT,YAAQ,CACR,CAAgB,EAAA,CAAA,gBAAA,CAAA,CACA,EAAA,CAAA,gBAAA,CAAA,CACN,EAAA,CAAA,UAAA,EACG,EAAA,CAAA,aAAA,CACb,KAAA,EAAA,GAAA,EAAA,CAAA,SAAgB,EAAhB,SAAS,GAAA,EAAA,KAAA,MAAA,GAAG,IAAI,GAAA,EAAA,EACP,EAAA,CAAA,SAAA,CACT,wBAAoB,CACpB,KAAA,IAAI,GAAA,EAAA,CAAA,IAAA,CAAA,CACG,EAAA,CAAA,OAAA,CAAA,KACJ,SAAS,GAAA,MAAA,CAAA,EAAA,EArBM,+QAsBrB;AACG,IAAA,IAAM,IAAI,GAA2C,OAAO,CACxD,aAAa,EACb,OAAQ,CAAA,MAAA,CAAA,UAAU,CAAE,EACpB,IAAI,CACP;IAEO,IAAA,GAAG,GAAwB,UAAU,CAAlC,GAAA,EAAK,cAAc,GAAA,MAAA,CAAK,UAAU,EAAvC,CAA0B,KAAA,CAAA,CAAF;AAE9B,IAAA,IAAM,WAAW,GAAG,QAAA,CAAA,QAAA,CAAA,EAAA,EACb,SAAS,CACT,EAAA,cAAc,CACuB;AAE5C,IAAA,QACI,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,GAAG,EAAA;AACT,QAAA,KAAA,CAAA,aAAA,CAAC,MAAM,EACC,QAAA,CAAA,EAAA,EAAA,WAAW,IACf,WAAW,EACP,oBAAC,QAAQ,EAAA,IAAA;gBACJ,WAAW,KACR,KACI,CAAA,aAAA,CAAA,MAAA,EAAA,EAAA,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,GAAA,EAAA,GAAA,EAAA;wBAChC,EAAC,CAAA,MAAM,CAAC,eAAe,CAAA,GACnB,SAAS,IAAI,aAAa,KAAK,SAAS;4BAC9C,EAED,EAAA,WAAW,CACT,CACV;gBAEA,CAAC,SAAS,IAAI,aAAa,KAAK,SAAS,MACtC,KAAA,CAAA,aAAA,CAAA,MAAA,EAAA,EACI,SAAS,EAAE,EAAE,CACT,MAAM,CAAC,aAAa,EACpB,aAAa,KAAK,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CACrD,EAAA;oBAED,KAAC,CAAA,aAAA,CAAA,IAAI,EAAc,EAAA,cAAA,EAAA,oBAAoB,EAAG,CAAA,CACvC,CACV,CACM,EAEf,KAAK,EAAE,IAAI,EACX,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,UAAU,EAChB,SAAS,EAAE,EAAE,CAAC,SAAS,GAAA,EAAA,GAAA,EAAA;gBACnB,EAAC,CAAA,MAAM,CAAC,QAAQ,CAAA,GAAG,IAAI,KAAK,aAAa,IAAI,IAAI;oBACnD,EAED,CAAA,EAAA,aAAa,KAAK,SAAS,IAAI,KAAK,CAChC,CACP;AAEd;;;;"}
|
package/esm/field/index.css
CHANGED
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--color-light-transparent-default-hover: rgba(38, 55, 88, 0.06);
|
|
3
|
-
}
|
|
3
|
+
}
|
|
4
|
+
:root {
|
|
4
5
|
--gap-2xs: 4px;
|
|
5
6
|
--gap-4: var(--gap-2xs);
|
|
6
|
-
}
|
|
7
|
+
}
|
|
8
|
+
:root {
|
|
7
9
|
--arrow-transform: rotate(180deg);
|
|
8
|
-
}
|
|
10
|
+
}
|
|
11
|
+
.picker-button__iconContainer_wvgdn {
|
|
9
12
|
display: flex;
|
|
10
13
|
transition: transform 0.15s ease-in-out;
|
|
11
|
-
}
|
|
14
|
+
}
|
|
15
|
+
.picker-button__addonsContainer_wvgdn {
|
|
12
16
|
display: flex;
|
|
13
|
-
}
|
|
17
|
+
}
|
|
18
|
+
.picker-button__addonsContainer_wvgdn.picker-button__showControlIcon_wvgdn {
|
|
14
19
|
margin-right: var(--gap-4);
|
|
15
|
-
}
|
|
20
|
+
}
|
|
21
|
+
.picker-button__open_wvgdn {
|
|
16
22
|
transform: var(--arrow-transform);
|
|
17
|
-
}
|
|
23
|
+
}
|
|
24
|
+
.picker-button__linkOpen_wvgdn:not(:hover) {
|
|
18
25
|
background-color: var(--color-light-transparent-default-hover);
|
|
19
26
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './index.css';
|
|
2
2
|
|
|
3
|
-
var styles = {"iconContainer":"picker-
|
|
3
|
+
var styles = {"iconContainer":"picker-button__iconContainer_wvgdn","addonsContainer":"picker-button__addonsContainer_wvgdn","showControlIcon":"picker-button__showControlIcon_wvgdn","open":"picker-button__open_wvgdn","linkOpen":"picker-button__linkOpen_wvgdn"};
|
|
4
4
|
|
|
5
5
|
export { styles as default };
|
|
6
6
|
//# sourceMappingURL=index.module.css.js.map
|
package/esm/index.css
CHANGED
|
@@ -4,12 +4,16 @@
|
|
|
4
4
|
--gap-0: 0px;
|
|
5
5
|
--gap-8: var(--gap-xs);
|
|
6
6
|
--gap-16: var(--gap-m);
|
|
7
|
-
}
|
|
7
|
+
}
|
|
8
|
+
.picker-button__container_1oeic {
|
|
8
9
|
min-width: auto;
|
|
9
|
-
}
|
|
10
|
+
}
|
|
11
|
+
.picker-button__optionsPopover_1oeic.picker-button__sideGap_1oeic.cc-picker-button {
|
|
10
12
|
padding: var(--gap-0) var(--gap-8);
|
|
11
|
-
}
|
|
13
|
+
}
|
|
14
|
+
.cc-picker-button .picker-button__option_1oeic {
|
|
12
15
|
padding: var(--gap-0) var(--gap-16);
|
|
13
|
-
}
|
|
16
|
+
}
|
|
17
|
+
.cc-picker-button .picker-button__option_1oeic:before {
|
|
14
18
|
display: none;
|
|
15
19
|
}
|
package/esm/index.module.css.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './index.css';
|
|
2
2
|
|
|
3
|
-
var styles = {"container":"picker-
|
|
3
|
+
var styles = {"container":"picker-button__container_1oeic","optionsPopover":"picker-button__optionsPopover_1oeic","sideGap":"picker-button__sideGap_1oeic","option":"picker-button__option_1oeic"};
|
|
4
4
|
|
|
5
5
|
export { styles as default };
|
|
6
6
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -19,7 +19,7 @@ var PickerButtonMobile = forwardRef(function (_a, ref) {
|
|
|
19
19
|
breakpoint: breakpoint,
|
|
20
20
|
icon: icon,
|
|
21
21
|
};
|
|
22
|
-
return (React.createElement(SelectMobile, __assign({}, restProps, { label: label, Option: Option$1, bottomSheetProps: __assign({ title: label, stickyHeader: true, showSwipeMarker: false }, bottomSheetProps), Field: Field$1, Optgroup: Optgroup$1, size: size ===
|
|
22
|
+
return (React.createElement(SelectMobile, __assign({}, restProps, { label: label, Option: Option$1, bottomSheetProps: __assign({ title: label, stickyHeader: true, showSwipeMarker: false }, bottomSheetProps), Field: Field$1, Optgroup: Optgroup$1, size: size === 56 ? 56 : 48, closeOnSelect: true, fieldProps: __assign(__assign({}, fieldDefaultProps), fieldProps), ref: ref, options: options, selected: [] })));
|
|
23
23
|
});
|
|
24
24
|
|
|
25
25
|
export { PickerButtonMobile };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { SelectMobile } from '@alfalab/core-components-select/mobile';\nimport {\n type AdditionalMobileProps,\n type BottomSheetSelectMobileProps,\n Optgroup as DefaultOptgroup,\n} from '@alfalab/core-components-select/shared';\n\nimport { type PickerButtonDesktopProps } from '../desktop';\nimport { Field as DefaultField } from '../field';\nimport { Option as DefaultOption } from '../option';\n\nexport type PickerButtonMobileProps = Omit<\n PickerButtonDesktopProps,\n 'OptionsList' | 'Checkmark' | 'onScroll'\n> &\n AdditionalMobileProps &\n BottomSheetSelectMobileProps & {\n /**\n * Контрольная точка для кнопки, с нее начинается desktop версия\n * @default 1024\n */\n breakpoint?: number;\n };\n\nexport const PickerButtonMobile = forwardRef<HTMLInputElement, PickerButtonMobileProps>(\n (\n {\n options,\n label,\n Option = DefaultOption,\n Optgroup = DefaultOptgroup,\n view,\n loading,\n variant = 'default',\n leftAddons,\n rightAddons,\n size,\n bottomSheetProps,\n showArrow,\n Field = DefaultField,\n fieldProps = {},\n icon,\n breakpoint,\n ...restProps\n },\n ref,\n ) => {\n const fieldDefaultProps = {\n view,\n loading,\n /** size у select, button несовместимы */\n buttonSize: size,\n buttonVariant: variant,\n leftAddons,\n rightAddons,\n showArrow,\n breakpoint,\n icon,\n };\n\n return (\n <SelectMobile\n {...restProps}\n label={label}\n Option={Option}\n bottomSheetProps={{\n title: label,\n stickyHeader: true,\n showSwipeMarker: false,\n ...bottomSheetProps,\n }}\n Field={Field}\n Optgroup={Optgroup}\n size={size ===
|
|
1
|
+
{"version":3,"file":"Component.mobile.js","sources":["../../src/mobile/Component.mobile.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { SelectMobile } from '@alfalab/core-components-select/mobile';\nimport {\n type AdditionalMobileProps,\n type BottomSheetSelectMobileProps,\n Optgroup as DefaultOptgroup,\n} from '@alfalab/core-components-select/shared';\n\nimport { type PickerButtonDesktopProps } from '../desktop';\nimport { Field as DefaultField } from '../field';\nimport { Option as DefaultOption } from '../option';\n\nexport type PickerButtonMobileProps = Omit<\n PickerButtonDesktopProps,\n 'OptionsList' | 'Checkmark' | 'onScroll'\n> &\n AdditionalMobileProps &\n BottomSheetSelectMobileProps & {\n /**\n * Контрольная точка для кнопки, с нее начинается desktop версия\n * @default 1024\n */\n breakpoint?: number;\n };\n\nexport const PickerButtonMobile = forwardRef<HTMLInputElement, PickerButtonMobileProps>(\n (\n {\n options,\n label,\n Option = DefaultOption,\n Optgroup = DefaultOptgroup,\n view,\n loading,\n variant = 'default',\n leftAddons,\n rightAddons,\n size,\n bottomSheetProps,\n showArrow,\n Field = DefaultField,\n fieldProps = {},\n icon,\n breakpoint,\n ...restProps\n },\n ref,\n ) => {\n const fieldDefaultProps = {\n view,\n loading,\n /** size у select, button несовместимы */\n buttonSize: size,\n buttonVariant: variant,\n leftAddons,\n rightAddons,\n showArrow,\n breakpoint,\n icon,\n };\n\n return (\n <SelectMobile\n {...restProps}\n label={label}\n Option={Option}\n bottomSheetProps={{\n title: label,\n stickyHeader: true,\n showSwipeMarker: false,\n ...bottomSheetProps,\n }}\n Field={Field}\n Optgroup={Optgroup}\n size={size === 56 ? 56 : 48}\n closeOnSelect={true}\n fieldProps={{\n ...fieldDefaultProps,\n ...(fieldProps as object),\n }}\n ref={ref}\n options={options}\n selected={[]}\n />\n );\n },\n);\n"],"names":["Option","DefaultOption","Optgroup","DefaultOptgroup","Field","DefaultField"],"mappings":";;;;;;;IA0Ba,kBAAkB,GAAG,UAAU,CACxC,UACI,EAkBC,EACD,GAAG,EAAA;AAlBC,IAAA,IAAA,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,KAAK,WAAA,EACL,EAAA,GAAA,EAAA,CAAA,MAAsB,EAAtBA,QAAM,GAAG,EAAA,KAAA,MAAA,GAAAC,MAAa,GAAA,EAAA,EACtB,gBAA0B,EAA1BC,UAAQ,GAAG,EAAA,KAAA,MAAA,GAAAC,QAAe,GAAA,EAAA,EAC1B,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,OAAO,GAAA,EAAA,CAAA,OAAA,EACP,EAAA,GAAA,EAAA,CAAA,OAAmB,EAAnB,OAAO,GAAA,EAAA,KAAA,MAAA,GAAG,SAAS,GAAA,EAAA,EACnB,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,SAAS,eAAA,EACT,EAAA,GAAA,EAAA,CAAA,KAAoB,EAApBC,OAAK,mBAAGC,KAAY,GAAA,EAAA,EACpB,EAAA,GAAA,EAAA,CAAA,UAAe,EAAf,UAAU,GAAG,EAAA,KAAA,MAAA,GAAA,EAAE,KAAA,EACf,IAAI,GAAA,EAAA,CAAA,IAAA,EACJ,UAAU,GAAA,EAAA,CAAA,UAAA,EACP,SAAS,GAAA,MAAA,CAAA,EAAA,EAjBhB,2LAkBC,CADe;AAIhB,IAAA,IAAM,iBAAiB,GAAG;AACtB,QAAA,IAAI,EAAA,IAAA;AACJ,QAAA,OAAO,EAAA,OAAA;;AAEP,QAAA,UAAU,EAAE,IAAI;AAChB,QAAA,aAAa,EAAE,OAAO;AACtB,QAAA,UAAU,EAAA,UAAA;AACV,QAAA,WAAW,EAAA,WAAA;AACX,QAAA,SAAS,EAAA,SAAA;AACT,QAAA,UAAU,EAAA,UAAA;AACV,QAAA,IAAI,EAAA,IAAA;KACP;AAED,IAAA,QACI,KAAA,CAAA,aAAA,CAAC,YAAY,EAAA,QAAA,CAAA,EAAA,EACL,SAAS,EACb,EAAA,KAAK,EAAE,KAAK,EACZ,MAAM,EAAEL,QAAM,EACd,gBAAgB,EACZ,QAAA,CAAA,EAAA,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,IAAI,EAClB,eAAe,EAAE,KAAK,EACnB,EAAA,gBAAgB,GAEvB,KAAK,EAAEI,OAAK,EACZ,QAAQ,EAAEF,UAAQ,EAClB,IAAI,EAAE,IAAI,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAC3B,aAAa,EAAE,IAAI,EACnB,UAAU,EACH,QAAA,CAAA,QAAA,CAAA,EAAA,EAAA,iBAAiB,GAChB,UAAqB,CAAA,EAE7B,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,EAAE,EAAA,CAAA,CACd;AAEV,CAAC;;;;"}
|
package/esm/option/index.css
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--gap-s: 12px;
|
|
3
3
|
--gap-12: var(--gap-s);
|
|
4
|
-
}
|
|
4
|
+
}
|
|
5
|
+
.picker-button__container_7zi1d {
|
|
5
6
|
display: flex;
|
|
6
7
|
align-items: center;
|
|
7
|
-
}
|
|
8
|
+
}
|
|
9
|
+
.picker-button__icon_7zi1d {
|
|
8
10
|
display: flex;
|
|
9
11
|
margin-right: var(--gap-12);
|
|
10
|
-
}
|
|
12
|
+
}
|
|
13
|
+
.picker-button__content_7zi1d {
|
|
11
14
|
overflow: hidden;
|
|
12
15
|
flex: 1;
|
|
13
16
|
text-overflow: ellipsis;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './index.css';
|
|
2
2
|
|
|
3
|
-
var styles = {"container":"picker-
|
|
3
|
+
var styles = {"container":"picker-button__container_7zi1d","icon":"picker-button__icon_7zi1d","content":"picker-button__content_7zi1d"};
|
|
4
4
|
|
|
5
5
|
export { styles as default };
|
|
6
6
|
//# sourceMappingURL=index.module.css.js.map
|
package/esm/types.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare type PickerButtonSize =
|
|
1
|
+
export declare type PickerButtonSize = 32 | 40 | 48 | 56 | 64 | 72;
|
|
2
2
|
export declare type PickerButtonVariant = 'default' | 'compact';
|