@alfalab/core-components-picker-button 12.0.1 → 12.0.3
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/Component.responsive.d.ts +2 -2
- package/Component.responsive.js.map +1 -1
- package/cssm/Component.responsive.d.ts +2 -2
- package/cssm/Component.responsive.js.map +1 -1
- package/cssm/desktop/Component.desktop.d.ts +4 -4
- package/cssm/desktop/Component.desktop.js.map +1 -1
- package/cssm/field/Component.d.ts +4 -4
- package/cssm/field/Component.js.map +1 -1
- package/cssm/field/index.module.css +1 -1
- package/cssm/index.module.css +2 -2
- package/cssm/mobile/Component.mobile.d.ts +2 -2
- package/cssm/mobile/Component.mobile.js.map +1 -1
- package/cssm/option/Component.d.ts +2 -2
- package/cssm/option/Component.js.map +1 -1
- package/cssm/utils/index.d.ts +2 -2
- package/cssm/utils/index.js.map +1 -1
- package/desktop/Component.desktop.d.ts +4 -4
- package/desktop/Component.desktop.js.map +1 -1
- package/esm/Component.responsive.d.ts +2 -2
- package/esm/Component.responsive.js.map +1 -1
- package/esm/desktop/Component.desktop.d.ts +4 -4
- package/esm/desktop/Component.desktop.js.map +1 -1
- package/esm/field/Component.d.ts +4 -4
- package/esm/field/Component.js.map +1 -1
- package/esm/field/index.css +6 -6
- package/esm/field/index.module.css.js +1 -1
- package/esm/field/index.module.css.js.map +1 -1
- package/esm/index.css +5 -5
- package/esm/index.module.css.js +1 -1
- package/esm/index.module.css.js.map +1 -1
- package/esm/mobile/Component.mobile.d.ts +2 -2
- package/esm/mobile/Component.mobile.js.map +1 -1
- package/esm/option/Component.d.ts +2 -2
- package/esm/option/Component.js.map +1 -1
- package/esm/option/index.css +3 -3
- package/esm/option/index.module.css.js +1 -1
- package/esm/option/index.module.css.js.map +1 -1
- package/esm/utils/index.d.ts +2 -2
- package/esm/utils/index.js.map +1 -1
- package/field/Component.d.ts +4 -4
- package/field/Component.js.map +1 -1
- package/field/index.css +6 -6
- package/field/index.module.css.js +1 -1
- package/field/index.module.css.js.map +1 -1
- package/index.css +5 -5
- package/index.module.css.js +1 -1
- package/index.module.css.js.map +1 -1
- package/mobile/Component.mobile.d.ts +2 -2
- package/mobile/Component.mobile.js.map +1 -1
- package/modern/Component.responsive.d.ts +2 -2
- package/modern/Component.responsive.js.map +1 -1
- package/modern/desktop/Component.desktop.d.ts +4 -4
- package/modern/desktop/Component.desktop.js.map +1 -1
- package/modern/field/Component.d.ts +4 -4
- package/modern/field/Component.js.map +1 -1
- package/modern/field/index.css +6 -6
- package/modern/field/index.module.css.js +1 -1
- package/modern/field/index.module.css.js.map +1 -1
- package/modern/index.css +5 -5
- package/modern/index.module.css.js +1 -1
- package/modern/index.module.css.js.map +1 -1
- package/modern/mobile/Component.mobile.d.ts +2 -2
- package/modern/mobile/Component.mobile.js.map +1 -1
- package/modern/option/Component.d.ts +2 -2
- package/modern/option/Component.js.map +1 -1
- package/modern/option/index.css +3 -3
- package/modern/option/index.module.css.js +1 -1
- package/modern/option/index.module.css.js.map +1 -1
- package/modern/utils/index.d.ts +2 -2
- package/modern/utils/index.js.map +1 -1
- package/moderncssm/Component.responsive.d.ts +2 -2
- package/moderncssm/Component.responsive.js.map +1 -1
- package/moderncssm/desktop/Component.desktop.d.ts +4 -4
- package/moderncssm/desktop/Component.desktop.js.map +1 -1
- package/moderncssm/field/Component.d.ts +4 -4
- package/moderncssm/field/Component.js.map +1 -1
- package/moderncssm/field/index.module.css +3 -1
- package/moderncssm/index.module.css +4 -2
- package/moderncssm/mobile/Component.mobile.d.ts +2 -2
- package/moderncssm/mobile/Component.mobile.js.map +1 -1
- package/moderncssm/option/Component.d.ts +2 -2
- package/moderncssm/option/Component.js.map +1 -1
- package/moderncssm/option/index.module.css +2 -0
- package/moderncssm/utils/index.d.ts +2 -2
- package/moderncssm/utils/index.js.map +1 -1
- package/option/Component.d.ts +2 -2
- package/option/Component.js.map +1 -1
- package/option/index.css +3 -3
- package/option/index.module.css.js +1 -1
- package/option/index.module.css.js.map +1 -1
- package/package.json +3 -3
- package/src/Component.responsive.tsx +4 -4
- package/src/desktop/Component.desktop.tsx +4 -4
- package/src/field/Component.tsx +9 -4
- package/src/field/index.module.css +1 -1
- package/src/index.module.css +1 -1
- package/src/mobile/Component.mobile.tsx +3 -3
- package/src/option/Component.tsx +3 -3
- package/src/option/index.module.css +1 -1
- package/src/utils/index.ts +2 -2
- package/utils/index.d.ts +2 -2
- package/utils/index.js.map +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type
|
|
3
|
-
import { PickerButtonDesktopProps } from './desktop';
|
|
2
|
+
import { type AdditionalMobileProps, type BottomSheetSelectMobileProps } from '@alfalab/core-components-select/shared';
|
|
3
|
+
import { type PickerButtonDesktopProps } from './desktop';
|
|
4
4
|
export declare type PickerButtonResponsiveProps = PickerButtonDesktopProps & AdditionalMobileProps & BottomSheetSelectMobileProps & {
|
|
5
5
|
/**
|
|
6
6
|
* Контрольная точка, с нее начинается desktop версия
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.responsive.js","sources":["src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\nimport
|
|
1
|
+
{"version":3,"file":"Component.responsive.js","sources":["src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\nimport {\n type AdditionalMobileProps,\n type BottomSheetSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\n\nimport { PickerButtonDesktop, type PickerButtonDesktopProps } from './desktop';\nimport { PickerButtonMobile } from './mobile';\n\nexport type PickerButtonResponsiveProps = PickerButtonDesktopProps &\n AdditionalMobileProps &\n BottomSheetSelectMobileProps & {\n /**\n * Контрольная точка, с нее начинается desktop версия\n * @default 1024\n */\n breakpoint?: number;\n\n /**\n * Версия, которая будет использоваться при серверном рендеринге\n */\n client?: 'desktop' | 'mobile';\n };\n\nexport const PickerButtonResponsive = forwardRef<HTMLInputElement, PickerButtonResponsiveProps>(\n (\n {\n OptionsList,\n onScroll,\n footer,\n swipeable,\n bottomSheetProps,\n breakpoint,\n client,\n ...restProps\n },\n ref,\n ) => {\n const isDesktop = useIsDesktop(breakpoint, client === 'desktop');\n\n return isDesktop ? (\n <PickerButtonDesktop\n ref={ref}\n OptionsList={OptionsList}\n onScroll={onScroll}\n {...restProps}\n />\n ) : (\n <PickerButtonMobile\n ref={ref}\n footer={footer}\n swipeable={swipeable}\n bottomSheetProps={bottomSheetProps}\n breakpoint={breakpoint}\n {...restProps}\n />\n );\n },\n);\n\nPickerButtonResponsive.displayName = 'PickerButtonResponsive';\n"],"names":["forwardRef","__rest","useIsDesktop","React","PickerButtonDesktop","__assign","PickerButtonMobile"],"mappings":";;;;;;;;;;;;;;IA0Ba,sBAAsB,GAAGA,gBAAU,CAC5C,UACI,EASC,EACD,GAAG,EAAA;IATC,IAAA,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,MAAM,YAAA,EACH,SAAS,GARhBC,YAAA,CAAA,EAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,QAAA,CASC,CADe;IAIhB,IAAM,SAAS,GAAGC,6BAAY,CAAC,UAAU,EAAE,MAAM,KAAK,SAAS,CAAC;IAEhE,OAAO,SAAS,IACZC,qCAACC,qCAAmB,EAAAC,cAAA,CAAA,EAChB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,IACd,SAAS,CAAA,CACf,KAEFF,sBAAC,CAAA,aAAA,CAAAG,mCAAkB,EACfD,cAAA,CAAA,EAAA,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EAClB,EAAA,SAAS,CACf,CAAA,CACL;AACL,CAAC;AAGL,sBAAsB,CAAC,WAAW,GAAG,wBAAwB;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type
|
|
3
|
-
import { PickerButtonDesktopProps } from './desktop';
|
|
2
|
+
import { type AdditionalMobileProps, type BottomSheetSelectMobileProps } from '@alfalab/core-components-select/cssm/shared';
|
|
3
|
+
import { type PickerButtonDesktopProps } from './desktop';
|
|
4
4
|
export declare type PickerButtonResponsiveProps = PickerButtonDesktopProps & AdditionalMobileProps & BottomSheetSelectMobileProps & {
|
|
5
5
|
/**
|
|
6
6
|
* Контрольная точка, с нее начинается desktop версия
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\nimport
|
|
1
|
+
{"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\nimport {\n type AdditionalMobileProps,\n type BottomSheetSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\n\nimport { PickerButtonDesktop, type PickerButtonDesktopProps } from './desktop';\nimport { PickerButtonMobile } from './mobile';\n\nexport type PickerButtonResponsiveProps = PickerButtonDesktopProps &\n AdditionalMobileProps &\n BottomSheetSelectMobileProps & {\n /**\n * Контрольная точка, с нее начинается desktop версия\n * @default 1024\n */\n breakpoint?: number;\n\n /**\n * Версия, которая будет использоваться при серверном рендеринге\n */\n client?: 'desktop' | 'mobile';\n };\n\nexport const PickerButtonResponsive = forwardRef<HTMLInputElement, PickerButtonResponsiveProps>(\n (\n {\n OptionsList,\n onScroll,\n footer,\n swipeable,\n bottomSheetProps,\n breakpoint,\n client,\n ...restProps\n },\n ref,\n ) => {\n const isDesktop = useIsDesktop(breakpoint, client === 'desktop');\n\n return isDesktop ? (\n <PickerButtonDesktop\n ref={ref}\n OptionsList={OptionsList}\n onScroll={onScroll}\n {...restProps}\n />\n ) : (\n <PickerButtonMobile\n ref={ref}\n footer={footer}\n swipeable={swipeable}\n bottomSheetProps={bottomSheetProps}\n breakpoint={breakpoint}\n {...restProps}\n />\n );\n },\n);\n\nPickerButtonResponsive.displayName = 'PickerButtonResponsive';\n"],"names":["forwardRef","__rest","useIsDesktop","React","PickerButtonDesktop","__assign","PickerButtonMobile"],"mappings":";;;;;;;;;;;;;;IA0Ba,sBAAsB,GAAGA,gBAAU,CAC5C,UACI,EASC,EACD,GAAG,EAAA;IATC,IAAA,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,MAAM,YAAA,EACH,SAAS,GARhBC,YAAA,CAAA,EAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,QAAA,CASC,CADe;IAIhB,IAAM,SAAS,GAAGC,iBAAY,CAAC,UAAU,EAAE,MAAM,KAAK,SAAS,CAAC;IAEhE,OAAO,SAAS,IACZC,qCAACC,qCAAmB,EAAAC,cAAA,CAAA,EAChB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,IACd,SAAS,CAAA,CACf,KAEFF,sBAAC,CAAA,aAAA,CAAAG,mCAAkB,EACfD,cAAA,CAAA,EAAA,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EAClB,EAAA,SAAS,CACf,CAAA,CACL;AACL,CAAC;AAGL,sBAAsB,CAAC,WAAW,GAAG,wBAAwB;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React, { ComponentType, SVGProps } from 'react';
|
|
2
|
-
import type
|
|
3
|
-
import { BaseSelectProps } from '@alfalab/core-components-select/cssm/shared';
|
|
4
|
-
import type
|
|
1
|
+
import React, { type ComponentType, type SVGProps } from 'react';
|
|
2
|
+
import { type ButtonProps } from '@alfalab/core-components-button/cssm';
|
|
3
|
+
import { type BaseSelectProps } from '@alfalab/core-components-select/cssm/shared';
|
|
4
|
+
import { type PickerButtonSize, type PickerButtonVariant } from '../types';
|
|
5
5
|
export declare type PickerButtonDesktopProps = Omit<BaseSelectProps, 'placeholder' | 'Arrow' | 'autocomplete' | 'size' | 'onFocus' | 'selected' | 'closeOnSelect' | 'multiple' | 'hint' | 'allowUnselect' | 'options' | 'searchProps' | 'showSearch' | 'Search'> & Pick<ButtonProps, 'view' | 'loading' | 'leftAddons' | 'rightAddons'> & {
|
|
6
6
|
options: Array<BaseSelectProps['options'][0] & {
|
|
7
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { ComponentType, forwardRef, SVGProps } from 'react';\nimport cn from 'classnames';\n\nimport type
|
|
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 * @description xxs, xs, s, m, l, xl deprecated, используйте вместо них 32, 40, 48, 56, 64, 72 соответственно\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 === 'm' || 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","Popover","__assign","cn","styles"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React, { ComponentType, SVGProps } from 'react';
|
|
2
|
-
import { ButtonProps } from '@alfalab/core-components-button/cssm';
|
|
3
|
-
import { FieldProps as BaseFieldProps } from '@alfalab/core-components-select/cssm/typings';
|
|
4
|
-
import type
|
|
1
|
+
import React, { type ComponentType, type SVGProps } from 'react';
|
|
2
|
+
import { type ButtonProps } from '@alfalab/core-components-button/cssm';
|
|
3
|
+
import { type FieldProps as BaseFieldProps } from '@alfalab/core-components-select/cssm/typings';
|
|
4
|
+
import { type PickerButtonSize, type PickerButtonVariant } from '../types';
|
|
5
5
|
declare type FieldProps = Omit<BaseFieldProps, 'size' | 'hint' | 'success' | 'error' | 'placeholder'> & ButtonProps & {
|
|
6
6
|
buttonSize?: PickerButtonSize;
|
|
7
7
|
buttonVariant?: PickerButtonVariant;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../src/field/Component.tsx"],"sourcesContent":["import React, { ButtonHTMLAttributes
|
|
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\nconst SIZE_TO_CLASSNAME_MAP = {\n xxs: 'size-32',\n xs: 'size-40',\n s: 'size-48',\n m: 'size-56',\n l: 'size-64',\n xl: 'size-72',\n 32: 'size-32',\n 40: 'size-40',\n 48: 'size-48',\n 56: 'size-56',\n 64: 'size-64',\n 72: 'size-72',\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_TO_CLASSNAME_MAP[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 === 'link' && open,\n })}\n >\n {buttonVariant !== 'compact' && label}\n </Button>\n </div>\n );\n};\n"],"names":["__rest","getIcon","__assign","React","Button","Fragment","cn","styles"],"mappings":"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"}
|
package/cssm/index.module.css
CHANGED
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
--gap-16: var(--gap-m);
|
|
7
7
|
} .container {
|
|
8
8
|
min-width: auto;
|
|
9
|
-
} :global(.cc-picker-button)
|
|
9
|
+
} .optionsPopover.sideGap:global(.cc-picker-button) {
|
|
10
10
|
padding: var(--gap-0) var(--gap-8);
|
|
11
11
|
} :global(.cc-picker-button) .option {
|
|
12
|
-
padding: var(--gap-0) var(--gap-16)
|
|
12
|
+
padding: var(--gap-0) var(--gap-16);
|
|
13
13
|
} :global(.cc-picker-button) .option:before {
|
|
14
14
|
display: none;
|
|
15
15
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { AdditionalMobileProps, BottomSheetSelectMobileProps } from '@alfalab/core-components-select/cssm/shared';
|
|
3
|
-
import type
|
|
2
|
+
import { type AdditionalMobileProps, type BottomSheetSelectMobileProps } from '@alfalab/core-components-select/cssm/shared';
|
|
3
|
+
import { type PickerButtonDesktopProps } from '../desktop';
|
|
4
4
|
export declare type PickerButtonMobileProps = Omit<PickerButtonDesktopProps, 'OptionsList' | 'Checkmark' | 'onScroll'> & AdditionalMobileProps & BottomSheetSelectMobileProps & {
|
|
5
5
|
/**
|
|
6
6
|
* Контрольная точка для кнопки, с нее начинается desktop версия
|
|
@@ -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 AdditionalMobileProps,\n BottomSheetSelectMobileProps,\n Optgroup as DefaultOptgroup,\n} from '@alfalab/core-components-select/shared';\n\nimport type
|
|
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 === 'm' || 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,sBAAC,CAAA,aAAA,CAAAC,mBAAY,EACLC,cAAA,CAAA,EAAA,EAAA,SAAS,IACb,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,gBAAgB,mBACZ,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,IAAI,EAClB,eAAe,EAAE,KAAK,EAAA,EACnB,gBAAgB,CAAA,EAEvB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAC3C,aAAa,EAAE,IAAI,EACnB,UAAU,EAAAA,cAAA,CAAAA,cAAA,CAAA,EAAA,EACH,iBAAiB,CAChB,EAAA,UAAqB,CAE7B,EAAA,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,EAAE,EAAA,CAAA,CACd;AAEV,CAAC;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React, { FC, SVGProps } from 'react';
|
|
2
|
-
import { OptionProps as BaseOptionProps, OptionShape } from '@alfalab/core-components-select/cssm/shared';
|
|
1
|
+
import React, { type FC, type SVGProps } from 'react';
|
|
2
|
+
import { type OptionProps as BaseOptionProps, type OptionShape } from '@alfalab/core-components-select/cssm/shared';
|
|
3
3
|
declare type OptionProps = Omit<BaseOptionProps, 'option'> & {
|
|
4
4
|
option: OptionShape & {
|
|
5
5
|
icon?: FC<SVGProps<SVGSVGElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../src/option/Component.tsx"],"sourcesContent":["import React, { FC, SVGProps } from 'react';\n\nimport {\n Option as BaseOption,\n OptionProps as BaseOptionProps,\n OptionShape,\n} from '@alfalab/core-components-select/shared';\n\nimport styles from './index.module.css';\n\ntype OptionProps = Omit<BaseOptionProps, 'option'> & {\n option: OptionShape & {\n icon?: FC<SVGProps<SVGSVGElement>>;\n };\n};\n\nexport const Option = ({ option, children, ...restProps }: OptionProps) => {\n const content = children || option.content || option.key;\n\n const Icon = option.icon;\n\n return (\n <BaseOption option={option} {...restProps}>\n <div className={styles.container}>\n {Icon && <Icon className={styles.icon} />}\n <div className={styles.content}>{content}</div>\n </div>\n </BaseOption>\n );\n};\n"],"names":["__rest","React","BaseOption","__assign","styles"],"mappings":";;;;;;;;;;;;;;AAgBO,IAAM,MAAM,GAAG,UAAC,EAA+C,EAAA;IAA7C,IAAA,MAAM,YAAA,EAAE,QAAQ,cAAA,EAAK,SAAS,GAAhCA,YAAA,CAAA,EAAA,EAAA,CAAA,QAAA,EAAA,UAAA,CAAkC,CAAF;IACnD,IAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG;AAExD,IAAA,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI;IAExB,QACIC,qCAACC,aAAU,EAAAC,cAAA,CAAA,EAAC,MAAM,EAAE,MAAM,IAAM,SAAS,CAAA;AACrC,QAAAF,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEG,uBAAM,CAAC,SAAS,EAAA;YAC3B,IAAI,IAAIH,qCAAC,IAAI,EAAA,EAAC,SAAS,EAAEG,uBAAM,CAAC,IAAI,EAAI,CAAA;YACzCH,sBAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEG,uBAAM,CAAC,OAAO,EAAG,EAAA,OAAO,CAAO,CAC7C,CACG;AAErB;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../src/option/Component.tsx"],"sourcesContent":["import React, { type FC, type SVGProps } from 'react';\n\nimport {\n Option as BaseOption,\n type OptionProps as BaseOptionProps,\n type OptionShape,\n} from '@alfalab/core-components-select/shared';\n\nimport styles from './index.module.css';\n\ntype OptionProps = Omit<BaseOptionProps, 'option'> & {\n option: OptionShape & {\n icon?: FC<SVGProps<SVGSVGElement>>;\n };\n};\n\nexport const Option = ({ option, children, ...restProps }: OptionProps) => {\n const content = children || option.content || option.key;\n\n const Icon = option.icon;\n\n return (\n <BaseOption option={option} {...restProps}>\n <div className={styles.container}>\n {Icon && <Icon className={styles.icon} />}\n <div className={styles.content}>{content}</div>\n </div>\n </BaseOption>\n );\n};\n"],"names":["__rest","React","BaseOption","__assign","styles"],"mappings":";;;;;;;;;;;;;;AAgBO,IAAM,MAAM,GAAG,UAAC,EAA+C,EAAA;IAA7C,IAAA,MAAM,YAAA,EAAE,QAAQ,cAAA,EAAK,SAAS,GAAhCA,YAAA,CAAA,EAAA,EAAA,CAAA,QAAA,EAAA,UAAA,CAAkC,CAAF;IACnD,IAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG;AAExD,IAAA,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI;IAExB,QACIC,qCAACC,aAAU,EAAAC,cAAA,CAAA,EAAC,MAAM,EAAE,MAAM,IAAM,SAAS,CAAA;AACrC,QAAAF,sBAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEG,uBAAM,CAAC,SAAS,EAAA;YAC3B,IAAI,IAAIH,qCAAC,IAAI,EAAA,EAAC,SAAS,EAAEG,uBAAM,CAAC,IAAI,EAAI,CAAA;YACzCH,sBAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEG,uBAAM,CAAC,OAAO,EAAG,EAAA,OAAO,CAAO,CAC7C,CACG;AAErB;;;;"}
|
package/cssm/utils/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ComponentType, SVGProps } from 'react';
|
|
2
|
-
import { PickerButtonVariant } from '../types';
|
|
1
|
+
import { type ComponentType, type SVGProps } from 'react';
|
|
2
|
+
import { type PickerButtonVariant } from '../types';
|
|
3
3
|
export declare const getCompactIcon: (size: string, Icon?: ComponentType<SVGProps<SVGSVGElement>>) => ComponentType<SVGProps<SVGSVGElement>>;
|
|
4
4
|
export declare const getIcon: (variant: PickerButtonVariant, size: string, Icon?: ComponentType<SVGProps<SVGSVGElement>>) => ComponentType<SVGProps<SVGSVGElement>>;
|
package/cssm/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import { ComponentType, SVGProps } from 'react';\n\nimport { ChevronDownCompactSIcon } from '@alfalab/icons-glyph/ChevronDownCompactSIcon';\nimport { ChevronDownMIcon } from '@alfalab/icons-glyph/ChevronDownMIcon';\nimport { MoreMIcon } from '@alfalab/icons-glyph/MoreMIcon';\nimport { MoreSIcon } from '@alfalab/icons-glyph/MoreSIcon';\n\nimport { PickerButtonVariant } from '../types';\n\nexport const getCompactIcon = (size: string, Icon?: ComponentType<SVGProps<SVGSVGElement>>) => {\n if (Icon) {\n return Icon;\n }\n\n return size === 'size-32' ? MoreSIcon : MoreMIcon;\n};\n\nexport const getIcon = (\n variant: PickerButtonVariant,\n size: string,\n Icon?: ComponentType<SVGProps<SVGSVGElement>>,\n): ComponentType<SVGProps<SVGSVGElement>> => {\n if (variant === 'compact') {\n return getCompactIcon(size, Icon);\n }\n\n return ['size-40', 'size-32'].includes(size) ? ChevronDownCompactSIcon : ChevronDownMIcon;\n};\n"],"names":["MoreSIcon","MoreMIcon","ChevronDownCompactSIcon","ChevronDownMIcon"],"mappings":";;;;;;;;;AASa,IAAA,cAAc,GAAG,UAAC,IAAY,EAAE,IAA6C,EAAA;AACtF,IAAA,IAAI,IAAI,EAAE;AACN,QAAA,OAAO,IAAI;AACd;IAED,OAAO,IAAI,KAAK,SAAS,GAAGA,mBAAS,GAAGC,mBAAS;AACrD;IAEa,OAAO,GAAG,UACnB,OAA4B,EAC5B,IAAY,EACZ,IAA6C,EAAA;IAE7C,IAAI,OAAO,KAAK,SAAS,EAAE;AACvB,QAAA,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;AACpC;AAED,IAAA,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAGC,+CAAuB,GAAGC,iCAAgB;AAC7F;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import { type ComponentType, type SVGProps } from 'react';\n\nimport { ChevronDownCompactSIcon } from '@alfalab/icons-glyph/ChevronDownCompactSIcon';\nimport { ChevronDownMIcon } from '@alfalab/icons-glyph/ChevronDownMIcon';\nimport { MoreMIcon } from '@alfalab/icons-glyph/MoreMIcon';\nimport { MoreSIcon } from '@alfalab/icons-glyph/MoreSIcon';\n\nimport { type PickerButtonVariant } from '../types';\n\nexport const getCompactIcon = (size: string, Icon?: ComponentType<SVGProps<SVGSVGElement>>) => {\n if (Icon) {\n return Icon;\n }\n\n return size === 'size-32' ? MoreSIcon : MoreMIcon;\n};\n\nexport const getIcon = (\n variant: PickerButtonVariant,\n size: string,\n Icon?: ComponentType<SVGProps<SVGSVGElement>>,\n): ComponentType<SVGProps<SVGSVGElement>> => {\n if (variant === 'compact') {\n return getCompactIcon(size, Icon);\n }\n\n return ['size-40', 'size-32'].includes(size) ? ChevronDownCompactSIcon : ChevronDownMIcon;\n};\n"],"names":["MoreSIcon","MoreMIcon","ChevronDownCompactSIcon","ChevronDownMIcon"],"mappings":";;;;;;;;;AASa,IAAA,cAAc,GAAG,UAAC,IAAY,EAAE,IAA6C,EAAA;AACtF,IAAA,IAAI,IAAI,EAAE;AACN,QAAA,OAAO,IAAI;AACd;IAED,OAAO,IAAI,KAAK,SAAS,GAAGA,mBAAS,GAAGC,mBAAS;AACrD;IAEa,OAAO,GAAG,UACnB,OAA4B,EAC5B,IAAY,EACZ,IAA6C,EAAA;IAE7C,IAAI,OAAO,KAAK,SAAS,EAAE;AACvB,QAAA,OAAO,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC;AACpC;AAED,IAAA,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAGC,+CAAuB,GAAGC,iCAAgB;AAC7F;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React, { ComponentType, SVGProps } from 'react';
|
|
2
|
-
import type
|
|
3
|
-
import { BaseSelectProps } from '@alfalab/core-components-select/shared';
|
|
4
|
-
import type
|
|
1
|
+
import React, { type ComponentType, type SVGProps } from 'react';
|
|
2
|
+
import { type ButtonProps } from '@alfalab/core-components-button';
|
|
3
|
+
import { type BaseSelectProps } from '@alfalab/core-components-select/shared';
|
|
4
|
+
import { type PickerButtonSize, type PickerButtonVariant } from '../types';
|
|
5
5
|
export declare type PickerButtonDesktopProps = Omit<BaseSelectProps, 'placeholder' | 'Arrow' | 'autocomplete' | 'size' | 'onFocus' | 'selected' | 'closeOnSelect' | 'multiple' | 'hint' | 'allowUnselect' | 'options' | 'searchProps' | 'showSearch' | 'Search'> & Pick<ButtonProps, 'view' | 'loading' | 'leftAddons' | 'rightAddons'> & {
|
|
6
6
|
options: Array<BaseSelectProps['options'][0] & {
|
|
7
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.desktop.js","sources":["../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { ComponentType, forwardRef, SVGProps } from 'react';\nimport cn from 'classnames';\n\nimport type
|
|
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 * @description xxs, xs, s, m, l, xl deprecated, используйте вместо них 32, 40, 48, 56, 64, 72 соответственно\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 === 'm' || 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","Popover","__assign","cn","styles"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type
|
|
3
|
-
import { PickerButtonDesktopProps } from './desktop';
|
|
2
|
+
import { type AdditionalMobileProps, type BottomSheetSelectMobileProps } from '@alfalab/core-components-select/esm/shared';
|
|
3
|
+
import { type PickerButtonDesktopProps } from './desktop';
|
|
4
4
|
export declare type PickerButtonResponsiveProps = PickerButtonDesktopProps & AdditionalMobileProps & BottomSheetSelectMobileProps & {
|
|
5
5
|
/**
|
|
6
6
|
* Контрольная точка, с нее начинается desktop версия
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\nimport
|
|
1
|
+
{"version":3,"file":"Component.responsive.js","sources":["../src/Component.responsive.tsx"],"sourcesContent":["import React, { forwardRef } from 'react';\n\nimport { useIsDesktop } from '@alfalab/core-components-mq';\nimport {\n type AdditionalMobileProps,\n type BottomSheetSelectMobileProps,\n} from '@alfalab/core-components-select/shared';\n\nimport { PickerButtonDesktop, type PickerButtonDesktopProps } from './desktop';\nimport { PickerButtonMobile } from './mobile';\n\nexport type PickerButtonResponsiveProps = PickerButtonDesktopProps &\n AdditionalMobileProps &\n BottomSheetSelectMobileProps & {\n /**\n * Контрольная точка, с нее начинается desktop версия\n * @default 1024\n */\n breakpoint?: number;\n\n /**\n * Версия, которая будет использоваться при серверном рендеринге\n */\n client?: 'desktop' | 'mobile';\n };\n\nexport const PickerButtonResponsive = forwardRef<HTMLInputElement, PickerButtonResponsiveProps>(\n (\n {\n OptionsList,\n onScroll,\n footer,\n swipeable,\n bottomSheetProps,\n breakpoint,\n client,\n ...restProps\n },\n ref,\n ) => {\n const isDesktop = useIsDesktop(breakpoint, client === 'desktop');\n\n return isDesktop ? (\n <PickerButtonDesktop\n ref={ref}\n OptionsList={OptionsList}\n onScroll={onScroll}\n {...restProps}\n />\n ) : (\n <PickerButtonMobile\n ref={ref}\n footer={footer}\n swipeable={swipeable}\n bottomSheetProps={bottomSheetProps}\n breakpoint={breakpoint}\n {...restProps}\n />\n );\n },\n);\n\nPickerButtonResponsive.displayName = 'PickerButtonResponsive';\n"],"names":[],"mappings":";;;;;;IA0Ba,sBAAsB,GAAG,UAAU,CAC5C,UACI,EASC,EACD,GAAG,EAAA;IATC,IAAA,WAAW,GAAA,EAAA,CAAA,WAAA,EACX,QAAQ,GAAA,EAAA,CAAA,QAAA,EACR,MAAM,GAAA,EAAA,CAAA,MAAA,EACN,SAAS,GAAA,EAAA,CAAA,SAAA,EACT,gBAAgB,GAAA,EAAA,CAAA,gBAAA,EAChB,UAAU,GAAA,EAAA,CAAA,UAAA,EACV,MAAM,YAAA,EACH,SAAS,GARhB,MAAA,CAAA,EAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,QAAA,EAAA,WAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,QAAA,CASC,CADe;IAIhB,IAAM,SAAS,GAAG,YAAY,CAAC,UAAU,EAAE,MAAM,KAAK,SAAS,CAAC;IAEhE,OAAO,SAAS,IACZ,oBAAC,mBAAmB,EAAA,QAAA,CAAA,EAChB,GAAG,EAAE,GAAG,EACR,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,QAAQ,IACd,SAAS,CAAA,CACf,KAEF,KAAC,CAAA,aAAA,CAAA,kBAAkB,EACf,QAAA,CAAA,EAAA,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,SAAS,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,EAClB,EAAA,SAAS,CACf,CAAA,CACL;AACL,CAAC;AAGL,sBAAsB,CAAC,WAAW,GAAG,wBAAwB;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React, { ComponentType, SVGProps } from 'react';
|
|
2
|
-
import type
|
|
3
|
-
import { BaseSelectProps } from '@alfalab/core-components-select/esm/shared';
|
|
4
|
-
import type
|
|
1
|
+
import React, { type ComponentType, type SVGProps } from 'react';
|
|
2
|
+
import { type ButtonProps } from '@alfalab/core-components-button/esm';
|
|
3
|
+
import { type BaseSelectProps } from '@alfalab/core-components-select/esm/shared';
|
|
4
|
+
import { type PickerButtonSize, type PickerButtonVariant } from '../types';
|
|
5
5
|
export declare type PickerButtonDesktopProps = Omit<BaseSelectProps, 'placeholder' | 'Arrow' | 'autocomplete' | 'size' | 'onFocus' | 'selected' | 'closeOnSelect' | 'multiple' | 'hint' | 'allowUnselect' | 'options' | 'searchProps' | 'showSearch' | 'Search'> & Pick<ButtonProps, 'view' | 'loading' | 'leftAddons' | 'rightAddons'> & {
|
|
6
6
|
options: Array<BaseSelectProps['options'][0] & {
|
|
7
7
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.desktop.js","sources":["../../src/desktop/Component.desktop.tsx"],"sourcesContent":["import React, { ComponentType, forwardRef, SVGProps } from 'react';\nimport cn from 'classnames';\n\nimport type
|
|
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 * @description xxs, xs, s, m, l, xl deprecated, используйте вместо них 32, 40, 48, 56, 64, 72 соответственно\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 === 'm' || 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,SAAS,EAAA,EACb,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,GAAG,IAAI,IAAI,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAC3C,UAAU,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACH,iBAAiB,CAChB,EAAA,UAAqB,GAE7B,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.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import React, { ComponentType, SVGProps } from 'react';
|
|
2
|
-
import { ButtonProps } from '@alfalab/core-components-button/esm';
|
|
3
|
-
import { FieldProps as BaseFieldProps } from '@alfalab/core-components-select/esm/typings';
|
|
4
|
-
import type
|
|
1
|
+
import React, { type ComponentType, type SVGProps } from 'react';
|
|
2
|
+
import { type ButtonProps } from '@alfalab/core-components-button/esm';
|
|
3
|
+
import { type FieldProps as BaseFieldProps } from '@alfalab/core-components-select/esm/typings';
|
|
4
|
+
import { type PickerButtonSize, type PickerButtonVariant } from '../types';
|
|
5
5
|
declare type FieldProps = Omit<BaseFieldProps, 'size' | 'hint' | 'success' | 'error' | 'placeholder'> & ButtonProps & {
|
|
6
6
|
buttonSize?: PickerButtonSize;
|
|
7
7
|
buttonVariant?: PickerButtonVariant;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../src/field/Component.tsx"],"sourcesContent":["import React, { ButtonHTMLAttributes
|
|
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\nconst SIZE_TO_CLASSNAME_MAP = {\n xxs: 'size-32',\n xs: 'size-40',\n s: 'size-48',\n m: 'size-56',\n l: 'size-64',\n xl: 'size-72',\n 32: 'size-32',\n 40: 'size-40',\n 48: 'size-48',\n 56: 'size-56',\n 64: 'size-64',\n 72: 'size-72',\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_TO_CLASSNAME_MAP[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 === 'link' && open,\n })}\n >\n {buttonVariant !== 'compact' && label}\n </Button>\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
|
package/esm/field/index.css
CHANGED
|
@@ -5,15 +5,15 @@
|
|
|
5
5
|
--gap-4: var(--gap-2xs);
|
|
6
6
|
} :root {
|
|
7
7
|
--arrow-transform: rotate(180deg);
|
|
8
|
-
} .picker-
|
|
8
|
+
} .picker-button__iconContainer_f64vr {
|
|
9
9
|
display: flex;
|
|
10
10
|
transition: transform 0.15s ease-in-out;
|
|
11
|
-
} .picker-
|
|
12
|
-
display: flex
|
|
13
|
-
} .picker-
|
|
11
|
+
} .picker-button__addonsContainer_f64vr {
|
|
12
|
+
display: flex;
|
|
13
|
+
} .picker-button__addonsContainer_f64vr.picker-button__showControlIcon_f64vr {
|
|
14
14
|
margin-right: var(--gap-4);
|
|
15
|
-
} .picker-
|
|
15
|
+
} .picker-button__open_f64vr {
|
|
16
16
|
transform: var(--arrow-transform);
|
|
17
|
-
} .picker-
|
|
17
|
+
} .picker-button__linkOpen_f64vr:not(:hover) {
|
|
18
18
|
background-color: var(--color-light-transparent-default-hover);
|
|
19
19
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import './index.css';
|
|
2
2
|
|
|
3
|
-
var styles = {"iconContainer":"picker-
|
|
3
|
+
var styles = {"iconContainer":"picker-button__iconContainer_f64vr","addonsContainer":"picker-button__addonsContainer_f64vr","showControlIcon":"picker-button__showControlIcon_f64vr","open":"picker-button__open_f64vr","linkOpen":"picker-button__linkOpen_f64vr"};
|
|
4
4
|
|
|
5
5
|
export { styles as default };
|
|
6
6
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.module.css.js","sources":["../src/field/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.iconContainer {\n display: flex;\n transition: transform 0.15s ease-in-out;\n}\n\n.addonsContainer {\n display: flex;\n\n &.showControlIcon {\n margin-right: var(--gap-4);\n }\n}\n\n.open {\n transform: var(--arrow-transform);\n}\n\n.linkOpen:not(:hover) {\n background-color: var(--color-light-transparent-default-hover);\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,eAAe,CAAC,oCAAoC,CAAC,iBAAiB,CAAC,sCAAsC,CAAC,iBAAiB,CAAC,sCAAsC,CAAC,MAAM,CAAC,2BAA2B,CAAC,UAAU,CAAC,+BAA+B,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"index.module.css.js","sources":["../src/field/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.iconContainer {\n display: flex;\n transition: transform 0.15s ease-in-out;\n}\n\n.addonsContainer {\n display: flex;\n\n &.showControlIcon {\n margin-right: var(--gap-4);\n }\n}\n\n.open {\n transform: var(--arrow-transform);\n}\n\n.linkOpen:not(:hover) {\n background-color: var(--color-light-transparent-default-hover);\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,eAAe,CAAC,oCAAoC,CAAC,iBAAiB,CAAC,sCAAsC,CAAC,iBAAiB,CAAC,sCAAsC,CAAC,MAAM,CAAC,2BAA2B,CAAC,UAAU,CAAC,+BAA+B,CAAC;;;;"}
|
package/esm/index.css
CHANGED
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
--gap-0: 0px;
|
|
5
5
|
--gap-8: var(--gap-xs);
|
|
6
6
|
--gap-16: var(--gap-m);
|
|
7
|
-
} .picker-
|
|
7
|
+
} .picker-button__container_1m1te {
|
|
8
8
|
min-width: auto;
|
|
9
|
-
} .
|
|
9
|
+
} .picker-button__optionsPopover_1m1te.picker-button__sideGap_1m1te.cc-picker-button {
|
|
10
10
|
padding: var(--gap-0) var(--gap-8);
|
|
11
|
-
} .cc-picker-button .picker-
|
|
12
|
-
padding: var(--gap-0) var(--gap-16)
|
|
13
|
-
} .cc-picker-button .picker-
|
|
11
|
+
} .cc-picker-button .picker-button__option_1m1te {
|
|
12
|
+
padding: var(--gap-0) var(--gap-16);
|
|
13
|
+
} .cc-picker-button .picker-button__option_1m1te:before {
|
|
14
14
|
display: none;
|
|
15
15
|
}
|
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_1m1te","optionsPopover":"picker-button__optionsPopover_1m1te","sideGap":"picker-button__sideGap_1m1te","option":"picker-button__option_1m1te"};
|
|
4
4
|
|
|
5
5
|
export { styles as default };
|
|
6
6
|
//# sourceMappingURL=index.module.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.module.css.js","sources":["src/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.container {\n min-width: auto;\n}\n\n:global(.cc-picker-button) {\n &.optionsPopover {\n &.sideGap {\n padding: var(--gap-0) var(--gap-8);\n }\n }\n\n & .option {\n padding: var(--gap-0) var(--gap-16);\n\n &:before {\n /* Удаляем разделители у опций выпадающего списка. */\n display: none;\n }\n }\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,WAAW,CAAC,gCAAgC,CAAC,gBAAgB,CAAC,qCAAqC,CAAC,SAAS,CAAC,8BAA8B,CAAC,QAAQ,CAAC,6BAA6B,CAAC;;;;"}
|
|
1
|
+
{"version":3,"file":"index.module.css.js","sources":["src/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.container {\n min-width: auto;\n}\n\n:global(.cc-picker-button) {\n &.optionsPopover {\n &.sideGap {\n padding: var(--gap-0) var(--gap-8);\n }\n }\n\n & .option {\n padding: var(--gap-0) var(--gap-16);\n\n &:before {\n /* Удаляем разделители у опций выпадающего списка. */\n display: none;\n }\n }\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,WAAW,CAAC,gCAAgC,CAAC,gBAAgB,CAAC,qCAAqC,CAAC,SAAS,CAAC,8BAA8B,CAAC,QAAQ,CAAC,6BAA6B,CAAC;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { AdditionalMobileProps, BottomSheetSelectMobileProps } from '@alfalab/core-components-select/esm/shared';
|
|
3
|
-
import type
|
|
2
|
+
import { type AdditionalMobileProps, type BottomSheetSelectMobileProps } from '@alfalab/core-components-select/esm/shared';
|
|
3
|
+
import { type PickerButtonDesktopProps } from '../desktop';
|
|
4
4
|
export declare type PickerButtonMobileProps = Omit<PickerButtonDesktopProps, 'OptionsList' | 'Checkmark' | 'onScroll'> & AdditionalMobileProps & BottomSheetSelectMobileProps & {
|
|
5
5
|
/**
|
|
6
6
|
* Контрольная точка для кнопки, с нее начинается desktop версия
|
|
@@ -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 AdditionalMobileProps,\n BottomSheetSelectMobileProps,\n Optgroup as DefaultOptgroup,\n} from '@alfalab/core-components-select/shared';\n\nimport type
|
|
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 === 'm' || 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,KAAC,CAAA,aAAA,CAAA,YAAY,EACL,QAAA,CAAA,EAAA,EAAA,SAAS,IACb,KAAK,EAAE,KAAK,EACZ,MAAM,EAAEL,QAAM,EACd,gBAAgB,aACZ,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,IAAI,EAClB,eAAe,EAAE,KAAK,EAAA,EACnB,gBAAgB,CAAA,EAEvB,KAAK,EAAEI,OAAK,EACZ,QAAQ,EAAEF,UAAQ,EAClB,IAAI,EAAE,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAC3C,aAAa,EAAE,IAAI,EACnB,UAAU,EAAA,QAAA,CAAA,QAAA,CAAA,EAAA,EACH,iBAAiB,CAChB,EAAA,UAAqB,CAE7B,EAAA,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,EAAE,EAAA,CAAA,CACd;AAEV,CAAC;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React, { FC, SVGProps } from 'react';
|
|
2
|
-
import { OptionProps as BaseOptionProps, OptionShape } from '@alfalab/core-components-select/esm/shared';
|
|
1
|
+
import React, { type FC, type SVGProps } from 'react';
|
|
2
|
+
import { type OptionProps as BaseOptionProps, type OptionShape } from '@alfalab/core-components-select/esm/shared';
|
|
3
3
|
declare type OptionProps = Omit<BaseOptionProps, 'option'> & {
|
|
4
4
|
option: OptionShape & {
|
|
5
5
|
icon?: FC<SVGProps<SVGSVGElement>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Component.js","sources":["../../src/option/Component.tsx"],"sourcesContent":["import React, { FC, SVGProps } from 'react';\n\nimport {\n Option as BaseOption,\n OptionProps as BaseOptionProps,\n OptionShape,\n} from '@alfalab/core-components-select/shared';\n\nimport styles from './index.module.css';\n\ntype OptionProps = Omit<BaseOptionProps, 'option'> & {\n option: OptionShape & {\n icon?: FC<SVGProps<SVGSVGElement>>;\n };\n};\n\nexport const Option = ({ option, children, ...restProps }: OptionProps) => {\n const content = children || option.content || option.key;\n\n const Icon = option.icon;\n\n return (\n <BaseOption option={option} {...restProps}>\n <div className={styles.container}>\n {Icon && <Icon className={styles.icon} />}\n <div className={styles.content}>{content}</div>\n </div>\n </BaseOption>\n );\n};\n"],"names":["BaseOption"],"mappings":";;;;;AAgBO,IAAM,MAAM,GAAG,UAAC,EAA+C,EAAA;IAA7C,IAAA,MAAM,YAAA,EAAE,QAAQ,cAAA,EAAK,SAAS,GAAhC,MAAA,CAAA,EAAA,EAAA,CAAA,QAAA,EAAA,UAAA,CAAkC,CAAF;IACnD,IAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG;AAExD,IAAA,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI;IAExB,QACI,oBAACA,QAAU,EAAA,QAAA,CAAA,EAAC,MAAM,EAAE,MAAM,IAAM,SAAS,CAAA;AACrC,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,SAAS,EAAA;YAC3B,IAAI,IAAI,oBAAC,IAAI,EAAA,EAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAI,CAAA;YACzC,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,OAAO,EAAG,EAAA,OAAO,CAAO,CAC7C,CACG;AAErB;;;;"}
|
|
1
|
+
{"version":3,"file":"Component.js","sources":["../../src/option/Component.tsx"],"sourcesContent":["import React, { type FC, type SVGProps } from 'react';\n\nimport {\n Option as BaseOption,\n type OptionProps as BaseOptionProps,\n type OptionShape,\n} from '@alfalab/core-components-select/shared';\n\nimport styles from './index.module.css';\n\ntype OptionProps = Omit<BaseOptionProps, 'option'> & {\n option: OptionShape & {\n icon?: FC<SVGProps<SVGSVGElement>>;\n };\n};\n\nexport const Option = ({ option, children, ...restProps }: OptionProps) => {\n const content = children || option.content || option.key;\n\n const Icon = option.icon;\n\n return (\n <BaseOption option={option} {...restProps}>\n <div className={styles.container}>\n {Icon && <Icon className={styles.icon} />}\n <div className={styles.content}>{content}</div>\n </div>\n </BaseOption>\n );\n};\n"],"names":["BaseOption"],"mappings":";;;;;AAgBO,IAAM,MAAM,GAAG,UAAC,EAA+C,EAAA;IAA7C,IAAA,MAAM,YAAA,EAAE,QAAQ,cAAA,EAAK,SAAS,GAAhC,MAAA,CAAA,EAAA,EAAA,CAAA,QAAA,EAAA,UAAA,CAAkC,CAAF;IACnD,IAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG;AAExD,IAAA,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI;IAExB,QACI,oBAACA,QAAU,EAAA,QAAA,CAAA,EAAC,MAAM,EAAE,MAAM,IAAM,SAAS,CAAA;AACrC,QAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,SAAS,EAAA;YAC3B,IAAI,IAAI,oBAAC,IAAI,EAAA,EAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAI,CAAA;YACzC,KAAK,CAAA,aAAA,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,OAAO,EAAG,EAAA,OAAO,CAAO,CAC7C,CACG;AAErB;;;;"}
|
package/esm/option/index.css
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
:root {
|
|
2
2
|
--gap-s: 12px;
|
|
3
3
|
--gap-12: var(--gap-s);
|
|
4
|
-
} .picker-
|
|
4
|
+
} .picker-button__container_107kp {
|
|
5
5
|
display: flex;
|
|
6
6
|
align-items: center;
|
|
7
|
-
} .picker-
|
|
7
|
+
} .picker-button__icon_107kp {
|
|
8
8
|
display: flex;
|
|
9
9
|
margin-right: var(--gap-12);
|
|
10
|
-
} .picker-
|
|
10
|
+
} .picker-button__content_107kp {
|
|
11
11
|
overflow: hidden;
|
|
12
12
|
flex: 1;
|
|
13
13
|
text-overflow: ellipsis;
|