@alfalab/core-components-picker-button 11.7.18 → 11.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cssm/fnUtils-e793ac44.d.ts +15 -0
- package/cssm/index-2f466837.d.ts +3 -15
- package/cssm/index.module.css +3 -2
- package/cssm/transformSize-ebda875c.d.ts +3 -0
- package/cssm/use-skeleton-1328ead9.d.ts +5 -0
- package/cssm/useIsMounted-e793ac44.d.ts +3 -0
- package/cssm/{utils-3942b092.d.ts → utils-1132e887.d.ts} +1 -1
- package/desktop/Component.desktop.js +1 -1
- package/esm/desktop/Component.desktop.js +1 -1
- package/esm/field/Component.js +1 -1
- package/esm/field/index.css +6 -6
- package/esm/fnUtils-e793ac44.d.ts +15 -0
- package/esm/index-2f466837.d.ts +3 -15
- package/esm/index.css +8 -7
- package/esm/option/Component.js +1 -1
- package/esm/option/index.css +4 -4
- package/esm/transformSize-ebda875c.d.ts +3 -0
- package/esm/use-skeleton-1328ead9.d.ts +5 -0
- package/esm/useIsMounted-e793ac44.d.ts +3 -0
- package/esm/{utils-3942b092.d.ts → utils-1132e887.d.ts} +1 -1
- package/field/Component.js +1 -1
- package/field/index.css +6 -6
- package/fnUtils-e793ac44.d.ts +15 -0
- package/index-2f466837.d.ts +3 -15
- package/index.css +8 -7
- package/modern/desktop/Component.desktop.js +1 -1
- package/modern/field/Component.js +1 -1
- package/modern/field/index.css +6 -6
- package/modern/fnUtils-e793ac44.d.ts +15 -0
- package/modern/index-2f466837.d.ts +3 -15
- package/modern/index.css +8 -7
- package/modern/option/Component.js +1 -1
- package/modern/option/index.css +4 -4
- package/modern/transformSize-ebda875c.d.ts +3 -0
- package/modern/use-skeleton-1328ead9.d.ts +5 -0
- package/modern/useIsMounted-e793ac44.d.ts +3 -0
- package/modern/{utils-3942b092.d.ts → utils-1132e887.d.ts} +1 -1
- package/moderncssm/Component-11f20b2e.d.ts +13 -0
- package/moderncssm/Component-2f466837.d.ts +171 -0
- package/moderncssm/Component-7d83ec1e.d.ts +5 -0
- package/moderncssm/Component-c44170fe.d.ts +291 -0
- package/moderncssm/Component.desktop-63dec22f.d.ts +6 -0
- package/moderncssm/Component.desktop-ebda875c.d.ts +6 -0
- package/moderncssm/Component.mobile-96988a65.d.ts +6 -0
- package/moderncssm/Component.mobile-ebda875c.d.ts +6 -0
- package/moderncssm/Component.responsive.d.ts +27 -0
- package/moderncssm/Component.responsive.js +15 -0
- package/moderncssm/Context-c2e6f1b2.d.ts +4 -0
- package/moderncssm/ResponsiveContext-d6bfd5b7.d.ts +5 -0
- package/moderncssm/browser-a216f694.d.ts +6 -0
- package/moderncssm/colors-facf1d2a.d.ts +3 -0
- package/moderncssm/component-03d088c4.d.ts +32 -0
- package/moderncssm/component-eb15729d.d.ts +123 -0
- package/moderncssm/consts-6c9aad46.d.ts +12 -0
- package/moderncssm/consts-ef43bf1b.d.ts +12 -0
- package/moderncssm/desktop/Component.desktop.d.ts +59 -0
- package/moderncssm/desktop/Component.desktop.js +32 -0
- package/moderncssm/desktop/index.d.ts +2 -0
- package/moderncssm/desktop/index.js +1 -0
- package/moderncssm/field/Component.d.ts +14 -0
- package/moderncssm/field/Component.js +39 -0
- package/moderncssm/field/index.d.ts +1 -0
- package/moderncssm/field/index.js +1 -0
- package/moderncssm/field/index.module.css +22 -0
- package/moderncssm/fnUtils-e793ac44.d.ts +15 -0
- package/moderncssm/iconMap-09d2f9c9.d.ts +4 -0
- package/moderncssm/index-03d088c4.d.ts +20 -0
- package/moderncssm/index-064acd29.d.ts +13 -0
- package/moderncssm/index-09d2f9c9.d.ts +38 -0
- package/moderncssm/index-11f20b2e.d.ts +215 -0
- package/moderncssm/index-281accb7.d.ts +19 -0
- package/moderncssm/index-2f466837.d.ts +62 -0
- package/moderncssm/index-3109f463.d.ts +66 -0
- package/moderncssm/index-63dec22f.d.ts +2 -0
- package/moderncssm/index-96988a65.d.ts +2 -0
- package/moderncssm/index-c44170fe.d.ts +19 -0
- package/moderncssm/index-d691530f.d.ts +1 -0
- package/moderncssm/index-ebda875c.d.ts +3 -0
- package/moderncssm/index.d.ts +2 -0
- package/moderncssm/index.js +1 -0
- package/moderncssm/index.module.css +18 -0
- package/moderncssm/mobile/Component.mobile.d.ts +19 -0
- package/moderncssm/mobile/Component.mobile.js +30 -0
- package/moderncssm/mobile/index.d.ts +2 -0
- package/moderncssm/mobile/index.js +1 -0
- package/moderncssm/option/Component.d.ts +12 -0
- package/moderncssm/option/Component.js +14 -0
- package/moderncssm/option/index.d.ts +1 -0
- package/moderncssm/option/index.js +1 -0
- package/moderncssm/option/index.module.css +17 -0
- package/moderncssm/shared/index.d.ts +2 -0
- package/moderncssm/shared/index.js +1 -0
- package/moderncssm/transformSize-ebda875c.d.ts +3 -0
- package/moderncssm/types-1328ead9.d.ts +21 -0
- package/moderncssm/types-a870d1f8.d.ts +117 -0
- package/moderncssm/types.d.ts +3 -0
- package/moderncssm/types.js +1 -0
- package/moderncssm/typings-7d83ec1e.d.ts +1160 -0
- package/moderncssm/typings-d6bfd5b7.d.ts +62 -0
- package/moderncssm/use-skeleton-1328ead9.d.ts +49 -0
- package/moderncssm/use-visualviewport-size-2f466837.d.ts +3 -0
- package/moderncssm/useCustomWebkitScrollbar-a216f694.d.ts +2 -0
- package/moderncssm/useIsMounted-e793ac44.d.ts +3 -0
- package/moderncssm/usePortalContainer-2f466837.d.ts +2 -0
- package/moderncssm/utils/index.d.ts +6 -0
- package/moderncssm/utils/index.js +19 -0
- package/{utils-3942b092.d.ts → moderncssm/utils-1132e887.d.ts} +1 -1
- package/moderncssm/utils-ed29dc0e.d.ts +5 -0
- package/option/Component.js +1 -1
- package/option/index.css +4 -4
- package/package.json +6 -6
- package/src/field/index.module.css +1 -1
- package/src/index.module.css +3 -3
- package/src/option/index.module.css +1 -1
- package/transformSize-ebda875c.d.ts +3 -0
- package/use-skeleton-1328ead9.d.ts +5 -0
- package/useIsMounted-e793ac44.d.ts +3 -0
- package/utils-1132e887.d.ts +81 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { BaseModalProps } from "./index-11f20b2e";
|
|
3
|
+
type ModalDesktopProps = BaseModalProps & {
|
|
4
|
+
/**
|
|
5
|
+
* Ширина модального окна
|
|
6
|
+
* @default 600
|
|
7
|
+
* @description s, m, l, xl deprecated, используйте вместо них 500, 600, 800, 1140 соответственно
|
|
8
|
+
*/
|
|
9
|
+
size?: 's' | 'm' | 'l' | 'xl' | 'fullscreen' | 500 | 600 | 800 | 1140;
|
|
10
|
+
/**
|
|
11
|
+
* Растягивает модальное окно на весь экран
|
|
12
|
+
* @deprecated Используйте размер fullscreen
|
|
13
|
+
*/
|
|
14
|
+
fullscreen?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Фиксирует позицию модального окна после открытия,
|
|
17
|
+
* предотвращая скачки, если контент внутри будет меняться
|
|
18
|
+
*/
|
|
19
|
+
fixedPosition?: boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Управление наличием закрывающего крестика
|
|
22
|
+
* @default false
|
|
23
|
+
*/
|
|
24
|
+
hasCloser?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Блокирует скролл когда модальное окно открыто. Работает только на iOS.
|
|
27
|
+
*/
|
|
28
|
+
iOSLock?: boolean;
|
|
29
|
+
};
|
|
30
|
+
type ModalMobileProps = Omit<ModalDesktopProps, 'size' | 'fixedPosition' | 'fullscreen'>;
|
|
31
|
+
type ModalResponsiveProps = ModalDesktopProps & {
|
|
32
|
+
/**
|
|
33
|
+
* Контрольная точка, с нее начинается desktop версия
|
|
34
|
+
* @default 1024
|
|
35
|
+
*/
|
|
36
|
+
breakpoint?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Значение по-умолчанию для хука useMatchMedia
|
|
39
|
+
*/
|
|
40
|
+
defaultMatchMediaValue?: boolean | (() => boolean);
|
|
41
|
+
};
|
|
42
|
+
type View = 'desktop' | 'mobile';
|
|
43
|
+
type TResponsiveModalContext = {
|
|
44
|
+
view: View;
|
|
45
|
+
size: NonNullable<ModalDesktopProps['size']>;
|
|
46
|
+
dataTestId?: string;
|
|
47
|
+
};
|
|
48
|
+
type ContentProps = {
|
|
49
|
+
/**
|
|
50
|
+
* Контент
|
|
51
|
+
*/
|
|
52
|
+
children?: ReactNode;
|
|
53
|
+
/**
|
|
54
|
+
* Дополнительный класс
|
|
55
|
+
*/
|
|
56
|
+
className?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Растягивает контент на всю высоту
|
|
59
|
+
*/
|
|
60
|
+
flex?: boolean;
|
|
61
|
+
};
|
|
62
|
+
export { ModalDesktopProps, ModalMobileProps, ModalResponsiveProps, View, TResponsiveModalContext, ContentProps };
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { ReactNode } from "react";
|
|
4
|
+
import { TextSkeletonProps } from "./types-1328ead9";
|
|
5
|
+
type SkeletonProps = {
|
|
6
|
+
/**
|
|
7
|
+
* Флаг, явно задающий состояние, при котором контент закрывается прелоадером
|
|
8
|
+
*/
|
|
9
|
+
visible?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Флаг явного включения анимации скелета
|
|
12
|
+
*/
|
|
13
|
+
animate?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Дополнительный класс
|
|
16
|
+
*/
|
|
17
|
+
className?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Дополнительные инлайн стили
|
|
20
|
+
*/
|
|
21
|
+
style?: React.CSSProperties;
|
|
22
|
+
/**
|
|
23
|
+
* Включает размытие фона
|
|
24
|
+
*/
|
|
25
|
+
allowBackdropBlur?: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Идентификатор для систем автоматизированного тестирования
|
|
28
|
+
*/
|
|
29
|
+
dataTestId?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Дочерние элементы.
|
|
32
|
+
*/
|
|
33
|
+
children?: ReactNode;
|
|
34
|
+
/**
|
|
35
|
+
* Набор цветов для компонента
|
|
36
|
+
* @default default
|
|
37
|
+
*/
|
|
38
|
+
colors?: "default" | "inverted";
|
|
39
|
+
};
|
|
40
|
+
declare const Skeleton: React.FC<SkeletonProps>;
|
|
41
|
+
type SkeletonProps$0 = {
|
|
42
|
+
wrapperClassName?: string;
|
|
43
|
+
dataTestId?: string;
|
|
44
|
+
};
|
|
45
|
+
declare function useSkeleton(showSkeleton?: boolean, skeletonProps?: TextSkeletonProps): {
|
|
46
|
+
renderSkeleton: (props: SkeletonProps$0) => React.JSX.Element | null;
|
|
47
|
+
textRef: React.RefObject<HTMLElement>;
|
|
48
|
+
};
|
|
49
|
+
export { SkeletonProps, Skeleton, useSkeleton };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ComponentType, SVGProps } from 'react';
|
|
3
|
+
import { PickerButtonVariant } from "../types";
|
|
4
|
+
declare const getCompactIcon: (size: string, Icon?: ComponentType<SVGProps<SVGSVGElement>>) => import("react").FC<SVGProps<SVGSVGElement>> | import("react").ComponentClass<SVGProps<SVGSVGElement>, any>;
|
|
5
|
+
declare const getIcon: (variant: PickerButtonVariant, size: string, Icon?: ComponentType<SVGProps<SVGSVGElement>>) => ComponentType<SVGProps<SVGSVGElement>>;
|
|
6
|
+
export { getCompactIcon, getIcon };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ChevronDownCompactSIcon } from '@alfalab/icons-glyph/ChevronDownCompactSIcon';
|
|
2
|
+
import { ChevronDownMIcon } from '@alfalab/icons-glyph/ChevronDownMIcon';
|
|
3
|
+
import { MoreMIcon } from '@alfalab/icons-glyph/MoreMIcon';
|
|
4
|
+
import { MoreSIcon } from '@alfalab/icons-glyph/MoreSIcon';
|
|
5
|
+
|
|
6
|
+
const getCompactIcon = (size, Icon) => {
|
|
7
|
+
if (Icon) {
|
|
8
|
+
return Icon;
|
|
9
|
+
}
|
|
10
|
+
return size === 'size-32' ? MoreSIcon : MoreMIcon;
|
|
11
|
+
};
|
|
12
|
+
const getIcon = (variant, size, Icon) => {
|
|
13
|
+
if (variant === 'compact') {
|
|
14
|
+
return getCompactIcon(size, Icon);
|
|
15
|
+
}
|
|
16
|
+
return ['size-40', 'size-32'].includes(size) ? ChevronDownCompactSIcon : ChevronDownMIcon;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export { getCompactIcon, getIcon };
|
|
@@ -45,7 +45,7 @@ type useVisibleOptionsArgs = {
|
|
|
45
45
|
*/
|
|
46
46
|
actualOptionsCount?: boolean;
|
|
47
47
|
};
|
|
48
|
-
declare function useVisibleOptions({ visibleOptions, listRef, styleTargetRef, open, invalidate, options, size, actualOptionsCount, }: useVisibleOptionsArgs):
|
|
48
|
+
declare function useVisibleOptions({ visibleOptions, listRef, styleTargetRef, open, invalidate, options, size, actualOptionsCount, }: useVisibleOptionsArgs): boolean;
|
|
49
49
|
declare function defaultFilterFn(optionText: string, search: string): boolean;
|
|
50
50
|
declare function defaultGroupAccessor(option: GroupShape): string | undefined;
|
|
51
51
|
declare function defaultAccessor(option: OptionShape): string;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
declare const PORTAL_CONTAINER_ATTRIBUTE = "alfa-portal-container";
|
|
3
|
+
declare const getDefaultPortalContainer: () => Element;
|
|
4
|
+
declare function setRef<T>(ref: RefObject<T> | ((instance: T | null) => void) | null | undefined, value: T | null): void;
|
|
5
|
+
export { PORTAL_CONTAINER_ATTRIBUTE, getDefaultPortalContainer, setRef };
|
package/option/Component.js
CHANGED
|
@@ -10,7 +10,7 @@ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'defau
|
|
|
10
10
|
|
|
11
11
|
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
|
|
12
12
|
|
|
13
|
-
var styles = {"container":"picker-
|
|
13
|
+
var styles = {"container":"picker-button__container_8z86i","icon":"picker-button__icon_8z86i","content":"picker-button__content_8z86i"};
|
|
14
14
|
require('./index.css')
|
|
15
15
|
|
|
16
16
|
var Option = function (_a) {
|
package/option/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* hash:
|
|
1
|
+
/* hash: 1kmoq */
|
|
2
2
|
:root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
3
3
|
} /* deprecated */ :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
4
4
|
} :root { /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */ /* deprecated */
|
|
@@ -20,13 +20,13 @@
|
|
|
20
20
|
--gap-12: var(--gap-s);
|
|
21
21
|
} :root {
|
|
22
22
|
} :root {
|
|
23
|
-
} .picker-
|
|
23
|
+
} .picker-button__container_8z86i {
|
|
24
24
|
display: flex;
|
|
25
25
|
align-items: center;
|
|
26
|
-
} .picker-
|
|
26
|
+
} .picker-button__icon_8z86i {
|
|
27
27
|
display: flex;
|
|
28
28
|
margin-right: var(--gap-12);
|
|
29
|
-
} .picker-
|
|
29
|
+
} .picker-button__content_8z86i {
|
|
30
30
|
overflow: hidden;
|
|
31
31
|
flex: 1;
|
|
32
32
|
text-overflow: ellipsis;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alfalab/core-components-picker-button",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.9.0",
|
|
4
4
|
"description": "Picker button component",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -15,14 +15,14 @@
|
|
|
15
15
|
"react-dom": "^16.9.0 || ^17.0.1 || ^18.0.0"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@alfalab/core-components-button": "^11.
|
|
19
|
-
"@alfalab/core-components-select": "^17.
|
|
20
|
-
"@alfalab/core-components-popover": "^6.
|
|
18
|
+
"@alfalab/core-components-button": "^11.7.0",
|
|
19
|
+
"@alfalab/core-components-select": "^17.12.0",
|
|
20
|
+
"@alfalab/core-components-popover": "^6.3.1",
|
|
21
21
|
"@alfalab/hooks": "^1.13.0",
|
|
22
22
|
"@alfalab/icons-glyph": "^2.139.0",
|
|
23
23
|
"classnames": "^2.3.1",
|
|
24
24
|
"tslib": "^2.4.0"
|
|
25
25
|
},
|
|
26
|
-
"themesVersion": "13.0
|
|
27
|
-
"varsVersion": "9.
|
|
26
|
+
"themesVersion": "13.2.0",
|
|
27
|
+
"varsVersion": "9.13.0"
|
|
28
28
|
}
|
package/src/index.module.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@import '@alfalab/core-components-
|
|
1
|
+
@import '@alfalab/core-components-vars/src/index.css';
|
|
2
2
|
|
|
3
3
|
.container {
|
|
4
4
|
min-width: auto;
|
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
:global(.cc-picker-button) {
|
|
8
8
|
&.optionsPopover {
|
|
9
9
|
&.sideGap {
|
|
10
|
-
padding: 0 var(--gap-8);
|
|
10
|
+
padding: var(--gap-0) var(--gap-8);
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
& .option {
|
|
15
|
-
padding: 0 var(--gap-16);
|
|
15
|
+
padding: var(--gap-0) var(--gap-16);
|
|
16
16
|
|
|
17
17
|
&:before {
|
|
18
18
|
/* Удаляем разделители у опций выпадающего списка. */
|
|
@@ -31,6 +31,11 @@ type SkeletonProps = {
|
|
|
31
31
|
* Дочерние элементы.
|
|
32
32
|
*/
|
|
33
33
|
children?: ReactNode;
|
|
34
|
+
/**
|
|
35
|
+
* Набор цветов для компонента
|
|
36
|
+
* @default default
|
|
37
|
+
*/
|
|
38
|
+
colors?: "default" | "inverted";
|
|
34
39
|
};
|
|
35
40
|
declare const Skeleton: React.FC<SkeletonProps>;
|
|
36
41
|
type SkeletonProps$0 = {
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { ReactNode, RefObject } from 'react';
|
|
2
|
+
import { BaseSelectProps, GroupShape, OptionShape, OptionsListProps } from "./typings-7d83ec1e";
|
|
3
|
+
declare const isGroup: (item: OptionShape | GroupShape) => item is GroupShape;
|
|
4
|
+
declare const isOptionShape: (item: OptionShape | string | null) => item is OptionShape;
|
|
5
|
+
declare const joinOptions: ({ selected, selectedMultiple, }: {
|
|
6
|
+
selected?: OptionShape | undefined;
|
|
7
|
+
selectedMultiple?: OptionShape[] | undefined;
|
|
8
|
+
}) => ReactNode[] | null;
|
|
9
|
+
declare function processOptions(options: BaseSelectProps['options'], selected?: BaseSelectProps['selected'], filterFn?: (option: OptionShape | GroupShape) => boolean, filterGroup?: boolean): {
|
|
10
|
+
filteredOptions: (OptionShape | GroupShape)[];
|
|
11
|
+
flatOptions: OptionShape[];
|
|
12
|
+
selectedOptions: OptionShape[];
|
|
13
|
+
};
|
|
14
|
+
type useVisibleOptionsArgs = {
|
|
15
|
+
/**
|
|
16
|
+
* Количество видимых пунктов
|
|
17
|
+
*/
|
|
18
|
+
visibleOptions: number;
|
|
19
|
+
/**
|
|
20
|
+
* Реф на контейнер с пунтами меню
|
|
21
|
+
*/
|
|
22
|
+
listRef: RefObject<HTMLElement>;
|
|
23
|
+
/**
|
|
24
|
+
* Реф на контейнер, которому нужно установить высоту
|
|
25
|
+
*/
|
|
26
|
+
styleTargetRef?: RefObject<HTMLElement>;
|
|
27
|
+
/**
|
|
28
|
+
* Флаг открытия меню
|
|
29
|
+
*/
|
|
30
|
+
open?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Позволяет вызвать пересчет высоты
|
|
33
|
+
*/
|
|
34
|
+
invalidate?: unknown;
|
|
35
|
+
/**
|
|
36
|
+
* Список вариантов выбора
|
|
37
|
+
*/
|
|
38
|
+
options?: Array<OptionShape | GroupShape>;
|
|
39
|
+
/**
|
|
40
|
+
* Максимальный размер варианта выбора
|
|
41
|
+
*/
|
|
42
|
+
size?: Extract<OptionsListProps['size'], number>;
|
|
43
|
+
/**
|
|
44
|
+
* Учитывать действительное число вариантов выбора
|
|
45
|
+
*/
|
|
46
|
+
actualOptionsCount?: boolean;
|
|
47
|
+
};
|
|
48
|
+
declare function useVisibleOptions({ visibleOptions, listRef, styleTargetRef, open, invalidate, options, size, actualOptionsCount, }: useVisibleOptionsArgs): boolean;
|
|
49
|
+
declare function defaultFilterFn(optionText: string, search: string): boolean;
|
|
50
|
+
declare function defaultGroupAccessor(option: GroupShape): string | undefined;
|
|
51
|
+
declare function defaultAccessor(option: OptionShape): string;
|
|
52
|
+
declare function usePrevious<T>(value: T): T | undefined;
|
|
53
|
+
declare const lastIndexOf: <T>(array: T[], predicate: (item: T) => boolean) => number;
|
|
54
|
+
declare function getSelectTestIds(dataTestId: string): {
|
|
55
|
+
select: string;
|
|
56
|
+
option: string;
|
|
57
|
+
optionsList: string;
|
|
58
|
+
clearButton: string;
|
|
59
|
+
applyButton: string;
|
|
60
|
+
field: string;
|
|
61
|
+
fieldFormControl: string;
|
|
62
|
+
fieldLeftAddons: string;
|
|
63
|
+
fieldRightAddons: string;
|
|
64
|
+
fieldError: string;
|
|
65
|
+
fieldHint: string;
|
|
66
|
+
fieldClearIcon: string;
|
|
67
|
+
searchInput: string;
|
|
68
|
+
searchFormControl: string;
|
|
69
|
+
searchInner: string;
|
|
70
|
+
searchLeftAddons: string;
|
|
71
|
+
searchRightAddons: string;
|
|
72
|
+
searchError: string;
|
|
73
|
+
searchHint: string;
|
|
74
|
+
bottomSheet: string;
|
|
75
|
+
bottomSheetHeader: string;
|
|
76
|
+
bottomSheetContent: string;
|
|
77
|
+
modal: string;
|
|
78
|
+
modalHeader: string;
|
|
79
|
+
modalContent: string;
|
|
80
|
+
};
|
|
81
|
+
export { isGroup, isOptionShape, joinOptions, processOptions, useVisibleOptions, defaultFilterFn, defaultGroupAccessor, defaultAccessor, usePrevious, lastIndexOf, getSelectTestIds };
|