@central-design-system/components 3.0.0-alpha.0 → 3.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cds.css +1 -1
- package/dist/cds.d.ts +20 -3
- package/dist/cds.es.js +4649 -1354
- package/dist/cds.umd.js +1 -1
- package/dist/components/CdsButton/CdsButton.vue.d.ts +10 -10
- package/dist/components/CdsCheckbox/CdsCheckbox.vue.d.ts +222 -0
- package/dist/components/CdsCheckbox/CdsCheckboxGroup.vue.d.ts +205 -0
- package/dist/components/CdsDrawer/CdsDrawer.vue.d.ts +2 -2
- package/dist/components/CdsForm/CdsForm.vue.d.ts +99 -0
- package/dist/components/CdsIcon/CdsIcon.vue.d.ts +4 -4
- package/dist/components/CdsInput/CdsInput.vue.d.ts +219 -0
- package/dist/components/CdsInput/CdsInputCounter.vue.d.ts +39 -0
- package/dist/components/CdsInput/CdsInputDescription.vue.d.ts +26 -0
- package/dist/components/CdsInput/CdsInputLabel.vue.d.ts +32 -0
- package/dist/components/CdsInput/CdsInputMessages.vue.d.ts +221 -0
- package/dist/components/CdsInput/index.d.ts +5 -0
- package/dist/components/CdsList/CdsList.vue.d.ts +15 -27
- package/dist/components/CdsList/CdsListGroup.vue.d.ts +8 -8
- package/dist/components/CdsList/CdsListItem.vue.d.ts +24 -18
- package/dist/components/CdsList/composable/focus.d.ts +12 -0
- package/dist/components/CdsList/composable/index.d.ts +1 -0
- package/dist/components/CdsList/composable/list.d.ts +1 -1
- package/dist/components/CdsMenu/CdsMenu.vue.d.ts +592 -0
- package/dist/components/CdsMenu/shared.d.ts +10 -0
- package/dist/components/CdsOverlay/CdsOverlay.vue.d.ts +324 -0
- package/dist/components/CdsOverlay/composable/activator.d.ts +81 -0
- package/dist/components/CdsOverlay/composable/index.d.ts +6 -0
- package/dist/components/CdsOverlay/composable/locationStrategies.d.ts +75 -0
- package/dist/components/CdsOverlay/composable/scrim.d.ts +8 -0
- package/dist/components/CdsOverlay/composable/scrollStrategies.d.ts +33 -0
- package/dist/components/CdsOverlay/composable/stack.d.ts +9 -0
- package/dist/components/CdsOverlay/composable/teleport.d.ts +6 -0
- package/dist/components/CdsOverlay/utils/index.d.ts +2 -0
- package/dist/components/CdsOverlay/utils/point.d.ts +20 -0
- package/dist/components/CdsOverlay/utils/requestNewFrame.d.ts +5 -0
- package/dist/components/CdsRadioButton/CdsRadio.vue.d.ts +201 -0
- package/dist/components/CdsRadioButton/CdsRadioButton.vue.d.ts +200 -0
- package/dist/components/CdsSelect/CdsSelect.vue.d.ts +664 -0
- package/dist/components/CdsSidebar/CdsSidebar.vue.d.ts +61 -0
- package/dist/components/CdsStages/CdsStages.vue.d.ts +102 -0
- package/dist/components/CdsTextArea/CdsTextArea.vue.d.ts +681 -0
- package/dist/components/CdsTextInput/CdsTextInput.vue.d.ts +600 -0
- package/dist/components/index.d.ts +18 -1
- package/dist/composable/delay.d.ts +29 -0
- package/dist/composable/dimensions.d.ts +47 -0
- package/dist/composable/direction.d.ts +24 -0
- package/dist/composable/field.d.ts +138 -0
- package/dist/composable/focus.d.ts +19 -9
- package/dist/composable/form.d.ts +126 -0
- package/dist/composable/hidration.d.ts +1 -0
- package/dist/composable/icon.d.ts +29 -4
- package/dist/composable/index.d.ts +12 -0
- package/dist/composable/input.d.ts +97 -0
- package/dist/composable/items.d.ts +10 -9
- package/dist/composable/lazy.d.ts +11 -0
- package/dist/composable/link.d.ts +1 -2
- package/dist/composable/loading.d.ts +1 -0
- package/dist/composable/nested/nested.d.ts +2 -2
- package/dist/composable/overlay.d.ts +99 -0
- package/dist/composable/scopeId.d.ts +5 -0
- package/dist/composable/transition.d.ts +22 -0
- package/dist/composable/validation.d.ts +136 -0
- package/dist/directives/click-outside/index.d.ts +14 -0
- package/dist/directives/index.d.ts +1 -2
- package/dist/globals.d.ts +16 -0
- package/dist/transitions/createTransition.d.ts +31 -2
- package/dist/transitions/index.d.ts +90 -0
- package/dist/utils/anchor.d.ts +23 -0
- package/dist/utils/animation.d.ts +6 -0
- package/dist/utils/box.d.ts +26 -0
- package/dist/utils/dom.d.ts +6 -0
- package/dist/utils/getScrollParent.d.ts +3 -0
- package/dist/utils/globals.d.ts +4 -0
- package/dist/utils/helpers.d.ts +26 -2
- package/dist/utils/index.d.ts +6 -0
- package/package.json +3 -3
- package/src/scss/mixins/layout/_shadow.scss +4 -0
- package/src/scss/mixins/layout/index.scss +1 -0
- package/src/scss/modules/_transition.scss +31 -3
- package/src/scss/themes/index.ts +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SelectItemKey } from '../utils';
|
|
2
1
|
import type { PropType, ComputedRef } from 'vue';
|
|
2
|
+
export declare type TItemKey = boolean | string | (string | number)[] | ((item: Record<string, any>, fallback?: any) => any);
|
|
3
3
|
export interface IInternalItem<T = any> {
|
|
4
4
|
title: string;
|
|
5
5
|
value: any;
|
|
@@ -13,14 +13,15 @@ export interface IInternalItem<T = any> {
|
|
|
13
13
|
}
|
|
14
14
|
export interface IItemsProps {
|
|
15
15
|
items: any[];
|
|
16
|
-
itemTitle:
|
|
17
|
-
itemValue:
|
|
18
|
-
itemChildren:
|
|
19
|
-
itemProps:
|
|
16
|
+
itemTitle: TItemKey;
|
|
17
|
+
itemValue: TItemKey;
|
|
18
|
+
itemChildren: TItemKey;
|
|
19
|
+
itemProps: TItemKey;
|
|
20
20
|
returnObject: boolean;
|
|
21
21
|
}
|
|
22
22
|
export interface IUseItems {
|
|
23
23
|
items: ComputedRef<IInternalItem[]>;
|
|
24
|
+
itemsProps: string[];
|
|
24
25
|
}
|
|
25
26
|
export declare const makeItemsProps: <Defaults extends {
|
|
26
27
|
items?: unknown;
|
|
@@ -41,28 +42,28 @@ export declare const makeItemsProps: <Defaults extends {
|
|
|
41
42
|
* Ключ для заголовка элемента
|
|
42
43
|
*/
|
|
43
44
|
itemTitle: {
|
|
44
|
-
type: PropType<
|
|
45
|
+
type: PropType<TItemKey>;
|
|
45
46
|
default: string;
|
|
46
47
|
};
|
|
47
48
|
/**
|
|
48
49
|
* Ключ для значения элемента
|
|
49
50
|
*/
|
|
50
51
|
itemValue: {
|
|
51
|
-
type: PropType<
|
|
52
|
+
type: PropType<TItemKey>;
|
|
52
53
|
default: string;
|
|
53
54
|
};
|
|
54
55
|
/**
|
|
55
56
|
* Ключ для дочерних элементов
|
|
56
57
|
*/
|
|
57
58
|
itemChildren: {
|
|
58
|
-
type: PropType<
|
|
59
|
+
type: PropType<TItemKey>;
|
|
59
60
|
default: string;
|
|
60
61
|
};
|
|
61
62
|
/**
|
|
62
63
|
* Ключ для дополнительных свойств элемента
|
|
63
64
|
*/
|
|
64
65
|
itemProps: {
|
|
65
|
-
type: PropType<
|
|
66
|
+
type: PropType<TItemKey>;
|
|
66
67
|
default: string;
|
|
67
68
|
};
|
|
68
69
|
/**
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ComputedRef } from 'vue';
|
|
2
|
+
import type { Ref } from 'vue';
|
|
3
|
+
export interface ILazyProps {
|
|
4
|
+
eager: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface IUseLazy {
|
|
7
|
+
isBooted: Ref<boolean>;
|
|
8
|
+
hasContent: ComputedRef<boolean>;
|
|
9
|
+
onAfterLeave: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function useLazy(props: ILazyProps, active: Ref<boolean>): IUseLazy;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { SetupContext } from 'vue';
|
|
2
1
|
import type { ComputedRef, PropType } from 'vue';
|
|
3
2
|
import type { RouteLocationRaw, useLink as TUseLink } from 'vue-router';
|
|
4
3
|
export interface ILinkProps {
|
|
@@ -33,4 +32,4 @@ export declare const makeLinkProps: <Defaults extends {
|
|
|
33
32
|
default: undefined;
|
|
34
33
|
};
|
|
35
34
|
}, Defaults>;
|
|
36
|
-
export declare function useLink(props: ILinkProps,
|
|
35
|
+
export declare function useLink(props: ILinkProps, emit: Function): IUseLink;
|
|
@@ -26,7 +26,7 @@ export interface INestedProps {
|
|
|
26
26
|
'onUpdate:selected'?: ((val: unknown[]) => void) | undefined;
|
|
27
27
|
'onUpdate:opened'?: ((val: unknown[]) => void) | undefined;
|
|
28
28
|
}
|
|
29
|
-
export declare const
|
|
29
|
+
export declare const NestedKey: InjectionKey<TNestedProvide>;
|
|
30
30
|
export declare const emptyNested: TNestedProvide;
|
|
31
31
|
export declare const makeNestedProps: <Defaults extends {
|
|
32
32
|
selectStrategy?: unknown;
|
|
@@ -56,7 +56,7 @@ export declare const makeNestedProps: <Defaults extends {
|
|
|
56
56
|
*/
|
|
57
57
|
required: BooleanConstructor;
|
|
58
58
|
}, Defaults>;
|
|
59
|
-
export declare const useNested: (props: INestedProps, ctx: SetupContext<any>) => TNestedProvide['root'];
|
|
59
|
+
export declare const useNested: (props: INestedProps, ctx: SetupContext<any[]>) => TNestedProvide['root'];
|
|
60
60
|
export declare const useNestedItem: (id: Ref<unknown>, isGroup: boolean) => {
|
|
61
61
|
id: import("vue").ComputedRef<{}>;
|
|
62
62
|
open: (open: boolean, event: Event) => void;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
export interface IOverlayProps {
|
|
3
|
+
attach: boolean | string | Element | undefined;
|
|
4
|
+
contained: boolean | undefined;
|
|
5
|
+
eager: boolean | undefined;
|
|
6
|
+
disabled: boolean | undefined;
|
|
7
|
+
persistent: boolean | undefined;
|
|
8
|
+
scrim: boolean | string | undefined;
|
|
9
|
+
modelValue: boolean | undefined;
|
|
10
|
+
zIndex: number | string | undefined;
|
|
11
|
+
contentClasses: string | string[] | Record<string, boolean> | undefined;
|
|
12
|
+
contentProps: Record<string, unknown> | undefined;
|
|
13
|
+
}
|
|
14
|
+
export declare const makeOverlayProps: <Defaults extends {
|
|
15
|
+
attach?: unknown;
|
|
16
|
+
contained?: unknown;
|
|
17
|
+
eager?: unknown;
|
|
18
|
+
disabled?: unknown;
|
|
19
|
+
persistent?: unknown;
|
|
20
|
+
scrim?: unknown;
|
|
21
|
+
modelValue?: unknown;
|
|
22
|
+
zIndex?: unknown;
|
|
23
|
+
contentClasses?: unknown;
|
|
24
|
+
contentProps?: unknown;
|
|
25
|
+
} = {}>(defaults?: Defaults | undefined) => import('../utils').AppendDefault<{
|
|
26
|
+
/**
|
|
27
|
+
* Указывает, к какому DOM элементу будет прикреплен компонент.
|
|
28
|
+
* По умолчанию прикрепляется к body.
|
|
29
|
+
* Если передана строка, то ищет элемент по querySelector.
|
|
30
|
+
* Если передан объект, то считает его допустимым Node элементом.
|
|
31
|
+
*/
|
|
32
|
+
attach: {
|
|
33
|
+
type: PropType<string | boolean | Element>;
|
|
34
|
+
default: boolean;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Указывает, что компонент будет прикреплен к родительскому элементу. Подразумевает absolute и attach
|
|
38
|
+
*/
|
|
39
|
+
contained: {
|
|
40
|
+
type: PropType<boolean>;
|
|
41
|
+
default: boolean;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Принудительно рендерит контент компонента в DOM, даже если компонент скрыт. Полезно для SEO оптимизации.
|
|
45
|
+
*/
|
|
46
|
+
eager: {
|
|
47
|
+
type: PropType<boolean>;
|
|
48
|
+
default: boolean;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Блокирует возможность клика или фокуса всплывающего компонента
|
|
52
|
+
*/
|
|
53
|
+
disabled: {
|
|
54
|
+
type: PropType<boolean>;
|
|
55
|
+
default: boolean;
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Клик за пределами компонента или esc не будет закрывать его
|
|
59
|
+
*/
|
|
60
|
+
persistent: {
|
|
61
|
+
type: PropType<boolean>;
|
|
62
|
+
default: boolean;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* Фон для компонента. Строкой можно передать цвет фона.
|
|
66
|
+
*/
|
|
67
|
+
scrim: {
|
|
68
|
+
type: PropType<string | boolean>;
|
|
69
|
+
default: boolean;
|
|
70
|
+
};
|
|
71
|
+
/**
|
|
72
|
+
* Значение v-model. Управляет видимостью компонента.
|
|
73
|
+
*/
|
|
74
|
+
modelValue: {
|
|
75
|
+
type: PropType<boolean>;
|
|
76
|
+
default: boolean;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Значение z-index для оверлея
|
|
80
|
+
*/
|
|
81
|
+
zIndex: {
|
|
82
|
+
type: PropType<string | number>;
|
|
83
|
+
default: number;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Классы для контента компонента
|
|
87
|
+
*/
|
|
88
|
+
contentClasses: {
|
|
89
|
+
type: PropType<string | string[] | Record<string, boolean>>;
|
|
90
|
+
default: null;
|
|
91
|
+
};
|
|
92
|
+
/**
|
|
93
|
+
* Свойства для контента компонента
|
|
94
|
+
*/
|
|
95
|
+
contentProps: {
|
|
96
|
+
type: PropType<Record<string, unknown>>;
|
|
97
|
+
default: () => {};
|
|
98
|
+
};
|
|
99
|
+
}, Defaults>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Component, FunctionalComponent, PropType, TransitionProps } from 'vue';
|
|
2
|
+
interface ITransitionProps extends TransitionProps {
|
|
3
|
+
transition: string | boolean | (TransitionProps & {
|
|
4
|
+
component?: Component;
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
export declare const makeTransitionProps: <Defaults extends {
|
|
8
|
+
transition?: unknown;
|
|
9
|
+
} = {}>(defaults?: Defaults | undefined) => import('../utils').AppendDefault<{
|
|
10
|
+
/**
|
|
11
|
+
* Анимация компонента
|
|
12
|
+
*/
|
|
13
|
+
transition: {
|
|
14
|
+
type: PropType<string | boolean | (TransitionProps & {
|
|
15
|
+
component?: Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
|
|
16
|
+
})>;
|
|
17
|
+
default: string;
|
|
18
|
+
validator: (value: unknown) => boolean;
|
|
19
|
+
};
|
|
20
|
+
}, Defaults>;
|
|
21
|
+
export declare const CdsTransition: FunctionalComponent<ITransitionProps>;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import type { PropType, ComputedRef, Ref } from 'vue';
|
|
2
|
+
import type { MaybeRef } from '../utils';
|
|
3
|
+
export declare type TValidationResult = string | boolean;
|
|
4
|
+
export declare type TValidationRule = TValidationResult | PromiseLike<TValidationResult> | ((value: any) => TValidationResult) | ((value: any) => PromiseLike<TValidationResult>);
|
|
5
|
+
export declare type TValidationOn = typeof allowedValidationOn[number];
|
|
6
|
+
export interface IValidationProps {
|
|
7
|
+
disabled: boolean;
|
|
8
|
+
error: boolean;
|
|
9
|
+
errorMessages: string | string[];
|
|
10
|
+
focused: boolean;
|
|
11
|
+
maxErrors: string | number;
|
|
12
|
+
name: string | undefined;
|
|
13
|
+
label: string | undefined;
|
|
14
|
+
readonly: boolean;
|
|
15
|
+
rules: TValidationRule[];
|
|
16
|
+
modelValue: any;
|
|
17
|
+
validateOn?: TValidationOn;
|
|
18
|
+
validationValue: any;
|
|
19
|
+
hideMessages: boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface IUseValidation {
|
|
22
|
+
errorMessages: ComputedRef<string[]>;
|
|
23
|
+
isDisabled: ComputedRef<boolean>;
|
|
24
|
+
isReadonly: ComputedRef<boolean>;
|
|
25
|
+
isDirty: ComputedRef<boolean>;
|
|
26
|
+
isPure: Ref<boolean>;
|
|
27
|
+
isValid: ComputedRef<boolean | null>;
|
|
28
|
+
isValidating: Ref<boolean>;
|
|
29
|
+
validate: () => Promise<string[]>;
|
|
30
|
+
reset: () => void;
|
|
31
|
+
resetValidation: () => void;
|
|
32
|
+
validationClasses: ComputedRef<Record<string, boolean>>;
|
|
33
|
+
}
|
|
34
|
+
export declare const allowedValidationOn: readonly ["blur", "input", "submit"];
|
|
35
|
+
export declare const makeValidationProps: <Defaults extends {
|
|
36
|
+
disabled?: unknown;
|
|
37
|
+
error?: unknown;
|
|
38
|
+
errorMessages?: unknown;
|
|
39
|
+
maxErrors?: unknown;
|
|
40
|
+
name?: unknown;
|
|
41
|
+
label?: unknown;
|
|
42
|
+
readonly?: unknown;
|
|
43
|
+
rules?: unknown;
|
|
44
|
+
modelValue?: unknown;
|
|
45
|
+
validateOn?: unknown;
|
|
46
|
+
validationValue?: unknown;
|
|
47
|
+
hideMessages?: unknown;
|
|
48
|
+
} = {}>(defaults?: Defaults | undefined) => import('../utils').AppendDefault<{
|
|
49
|
+
/**
|
|
50
|
+
* Заблокированное состояние
|
|
51
|
+
*/
|
|
52
|
+
disabled: {
|
|
53
|
+
type: PropType<boolean>;
|
|
54
|
+
default: boolean;
|
|
55
|
+
};
|
|
56
|
+
/**
|
|
57
|
+
* Состояние ошибки
|
|
58
|
+
*/
|
|
59
|
+
error: {
|
|
60
|
+
type: PropType<boolean>;
|
|
61
|
+
default: boolean;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* Сообщения об ошибках
|
|
65
|
+
*/
|
|
66
|
+
errorMessages: {
|
|
67
|
+
type: PropType<string | string[]>;
|
|
68
|
+
default: () => never[];
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Максимально количество выводимых ошибок
|
|
72
|
+
*/
|
|
73
|
+
maxErrors: {
|
|
74
|
+
type: PropType<string | number>;
|
|
75
|
+
default: number;
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Имя поля
|
|
79
|
+
*/
|
|
80
|
+
name: {
|
|
81
|
+
type: PropType<string | undefined>;
|
|
82
|
+
default: undefined;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Лейбл поля
|
|
86
|
+
*/
|
|
87
|
+
label: {
|
|
88
|
+
type: PropType<string | undefined>;
|
|
89
|
+
default: undefined;
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Только для чтения
|
|
93
|
+
*/
|
|
94
|
+
readonly: {
|
|
95
|
+
type: PropType<boolean>;
|
|
96
|
+
default: boolean;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Правила валидации
|
|
100
|
+
*/
|
|
101
|
+
rules: {
|
|
102
|
+
type: PropType<TValidationRule[]>;
|
|
103
|
+
default: () => never[];
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Значение модели
|
|
107
|
+
*/
|
|
108
|
+
modelValue: {
|
|
109
|
+
type: PropType<any>;
|
|
110
|
+
default: null;
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Событие для валидации
|
|
114
|
+
*/
|
|
115
|
+
validateOn: {
|
|
116
|
+
type: PropType<"input" | "blur" | "submit">;
|
|
117
|
+
default: string;
|
|
118
|
+
available: readonly ["blur", "input", "submit"];
|
|
119
|
+
validator: (value: TValidationOn) => boolean;
|
|
120
|
+
};
|
|
121
|
+
/**
|
|
122
|
+
* Значение для валидации
|
|
123
|
+
*/
|
|
124
|
+
validationValue: {
|
|
125
|
+
type: PropType<any>;
|
|
126
|
+
default: undefined;
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* Убирает слот для сообщений об ошибках, если ошибок нет
|
|
130
|
+
*/
|
|
131
|
+
hideMessages: {
|
|
132
|
+
type: PropType<boolean>;
|
|
133
|
+
default: boolean;
|
|
134
|
+
};
|
|
135
|
+
}, Defaults>;
|
|
136
|
+
export declare function useValidation(props: IValidationProps, name: string, id?: MaybeRef<string | number>): IUseValidation;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { DirectiveBinding } from 'vue';
|
|
2
|
+
interface IClickOutsideBindingArgs {
|
|
3
|
+
handler: (event: MouseEvent) => void;
|
|
4
|
+
closeConditional?: (event: Event) => boolean;
|
|
5
|
+
include?: () => HTMLElement[];
|
|
6
|
+
}
|
|
7
|
+
interface IClickOutsideDirectiveBinding extends DirectiveBinding {
|
|
8
|
+
value: ((event: MouseEvent) => void) | IClickOutsideBindingArgs;
|
|
9
|
+
}
|
|
10
|
+
export declare const ClickOutside: {
|
|
11
|
+
mounted(el: HTMLElement, binding: IClickOutsideDirectiveBinding): void;
|
|
12
|
+
unmounted(el: HTMLElement, binding: IClickOutsideDirectiveBinding): void;
|
|
13
|
+
};
|
|
14
|
+
export default ClickOutside;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export default _default;
|
|
1
|
+
export { ClickOutside } from './click-outside';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
interface HTMLCollection {
|
|
3
|
+
[Symbol.iterator](): IterableIterator<Element>;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
interface HTMLElement {
|
|
7
|
+
_clickOutside?: Record<
|
|
8
|
+
number,
|
|
9
|
+
| {
|
|
10
|
+
onClick: EventListener;
|
|
11
|
+
onMousedown: EventListener;
|
|
12
|
+
}
|
|
13
|
+
| undefined
|
|
14
|
+
> & { lastMousedownWasOutside: boolean };
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -1,5 +1,34 @@
|
|
|
1
|
-
import type { Prop } from 'vue';
|
|
2
|
-
export declare function createCssTransition():
|
|
1
|
+
import type { PropType, Prop } from 'vue';
|
|
2
|
+
export declare function createCssTransition(name: string, origin?: string, mode?: string): import("vue").DefineComponent<{
|
|
3
|
+
group: PropType<boolean>;
|
|
4
|
+
hideOnLeave: PropType<boolean>;
|
|
5
|
+
leaveAbsolute: PropType<boolean>;
|
|
6
|
+
mode: {
|
|
7
|
+
type: PropType<string>;
|
|
8
|
+
default: string | undefined;
|
|
9
|
+
};
|
|
10
|
+
origin: {
|
|
11
|
+
type: PropType<string>;
|
|
12
|
+
default: string;
|
|
13
|
+
};
|
|
14
|
+
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
17
|
+
group: PropType<boolean>;
|
|
18
|
+
hideOnLeave: PropType<boolean>;
|
|
19
|
+
leaveAbsolute: PropType<boolean>;
|
|
20
|
+
mode: {
|
|
21
|
+
type: PropType<string>;
|
|
22
|
+
default: string | undefined;
|
|
23
|
+
};
|
|
24
|
+
origin: {
|
|
25
|
+
type: PropType<string>;
|
|
26
|
+
default: string;
|
|
27
|
+
};
|
|
28
|
+
}>>, {
|
|
29
|
+
mode: string;
|
|
30
|
+
origin: string;
|
|
31
|
+
}>;
|
|
3
32
|
export declare function createJSTransition(name: string, functions: Record<string, any>, mode?: string): import("vue").DefineComponent<{
|
|
4
33
|
mode: Prop<"default" | "in-out" | "out-in", "default" | "in-out" | "out-in">;
|
|
5
34
|
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
@@ -12,3 +12,93 @@ export declare const CdsTransitionExpandX: import("vue").DefineComponent<{
|
|
|
12
12
|
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
13
13
|
mode: import("vue").Prop<"default" | "in-out" | "out-in", "default" | "in-out" | "out-in">;
|
|
14
14
|
}>>, {}>;
|
|
15
|
+
export declare const CdsTransitionFade: import("vue").DefineComponent<{
|
|
16
|
+
group: import("vue").PropType<boolean>;
|
|
17
|
+
hideOnLeave: import("vue").PropType<boolean>;
|
|
18
|
+
leaveAbsolute: import("vue").PropType<boolean>;
|
|
19
|
+
mode: {
|
|
20
|
+
type: import("vue").PropType<string>;
|
|
21
|
+
default: string | undefined;
|
|
22
|
+
};
|
|
23
|
+
origin: {
|
|
24
|
+
type: import("vue").PropType<string>;
|
|
25
|
+
default: string;
|
|
26
|
+
};
|
|
27
|
+
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
28
|
+
[key: string]: any;
|
|
29
|
+
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
30
|
+
group: import("vue").PropType<boolean>;
|
|
31
|
+
hideOnLeave: import("vue").PropType<boolean>;
|
|
32
|
+
leaveAbsolute: import("vue").PropType<boolean>;
|
|
33
|
+
mode: {
|
|
34
|
+
type: import("vue").PropType<string>;
|
|
35
|
+
default: string | undefined;
|
|
36
|
+
};
|
|
37
|
+
origin: {
|
|
38
|
+
type: import("vue").PropType<string>;
|
|
39
|
+
default: string;
|
|
40
|
+
};
|
|
41
|
+
}>>, {
|
|
42
|
+
mode: string;
|
|
43
|
+
origin: string;
|
|
44
|
+
}>;
|
|
45
|
+
export declare const CdsTransitionSlideY: import("vue").DefineComponent<{
|
|
46
|
+
group: import("vue").PropType<boolean>;
|
|
47
|
+
hideOnLeave: import("vue").PropType<boolean>;
|
|
48
|
+
leaveAbsolute: import("vue").PropType<boolean>;
|
|
49
|
+
mode: {
|
|
50
|
+
type: import("vue").PropType<string>;
|
|
51
|
+
default: string | undefined;
|
|
52
|
+
};
|
|
53
|
+
origin: {
|
|
54
|
+
type: import("vue").PropType<string>;
|
|
55
|
+
default: string;
|
|
56
|
+
};
|
|
57
|
+
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
58
|
+
[key: string]: any;
|
|
59
|
+
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
60
|
+
group: import("vue").PropType<boolean>;
|
|
61
|
+
hideOnLeave: import("vue").PropType<boolean>;
|
|
62
|
+
leaveAbsolute: import("vue").PropType<boolean>;
|
|
63
|
+
mode: {
|
|
64
|
+
type: import("vue").PropType<string>;
|
|
65
|
+
default: string | undefined;
|
|
66
|
+
};
|
|
67
|
+
origin: {
|
|
68
|
+
type: import("vue").PropType<string>;
|
|
69
|
+
default: string;
|
|
70
|
+
};
|
|
71
|
+
}>>, {
|
|
72
|
+
mode: string;
|
|
73
|
+
origin: string;
|
|
74
|
+
}>;
|
|
75
|
+
export declare const CdsTransitionSlideX: import("vue").DefineComponent<{
|
|
76
|
+
group: import("vue").PropType<boolean>;
|
|
77
|
+
hideOnLeave: import("vue").PropType<boolean>;
|
|
78
|
+
leaveAbsolute: import("vue").PropType<boolean>;
|
|
79
|
+
mode: {
|
|
80
|
+
type: import("vue").PropType<string>;
|
|
81
|
+
default: string | undefined;
|
|
82
|
+
};
|
|
83
|
+
origin: {
|
|
84
|
+
type: import("vue").PropType<string>;
|
|
85
|
+
default: string;
|
|
86
|
+
};
|
|
87
|
+
}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
88
|
+
[key: string]: any;
|
|
89
|
+
}>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
90
|
+
group: import("vue").PropType<boolean>;
|
|
91
|
+
hideOnLeave: import("vue").PropType<boolean>;
|
|
92
|
+
leaveAbsolute: import("vue").PropType<boolean>;
|
|
93
|
+
mode: {
|
|
94
|
+
type: import("vue").PropType<string>;
|
|
95
|
+
default: string | undefined;
|
|
96
|
+
};
|
|
97
|
+
origin: {
|
|
98
|
+
type: import("vue").PropType<string>;
|
|
99
|
+
default: string;
|
|
100
|
+
};
|
|
101
|
+
}>>, {
|
|
102
|
+
mode: string;
|
|
103
|
+
origin: string;
|
|
104
|
+
}>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
declare const block: readonly ["top", "bottom"];
|
|
2
|
+
declare const inline: readonly ["start", "end", "left", "right"];
|
|
3
|
+
declare type Tblock = typeof block[number];
|
|
4
|
+
declare type Tinline = typeof inline[number];
|
|
5
|
+
export declare type TAnchor = Tblock | Tinline | 'center' | 'center center' | `${Tblock} ${Tinline | 'center'}` | `${Tinline} ${Tblock | 'center'}`;
|
|
6
|
+
export declare type ParsedAnchor = {
|
|
7
|
+
side: 'center';
|
|
8
|
+
align: 'center';
|
|
9
|
+
} | {
|
|
10
|
+
side: Tblock;
|
|
11
|
+
align: 'left' | 'right' | 'center';
|
|
12
|
+
} | {
|
|
13
|
+
side: 'left' | 'right';
|
|
14
|
+
align: Tblock | 'center';
|
|
15
|
+
};
|
|
16
|
+
/** Parse a raw anchor string into an object */
|
|
17
|
+
export declare function parseAnchor(anchor: TAnchor): ParsedAnchor;
|
|
18
|
+
export declare function toPhysical(str: 'center' | Tblock | Tinline): "right" | "top" | "bottom" | "left" | "center";
|
|
19
|
+
export declare function flipSide(anchor: ParsedAnchor): ParsedAnchor;
|
|
20
|
+
export declare function flipAlign(anchor: ParsedAnchor): ParsedAnchor;
|
|
21
|
+
export declare function flipCorner(anchor: ParsedAnchor): ParsedAnchor;
|
|
22
|
+
export declare function getAxis(anchor: ParsedAnchor): "y" | "x";
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Box } from './box';
|
|
2
|
+
/** @see https://stackoverflow.com/a/57876601/2074736 */
|
|
3
|
+
export declare function nullifyTransforms(el: HTMLElement): Box;
|
|
4
|
+
export declare function animate(el: Element, keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation | {
|
|
5
|
+
finished: Promise<void>;
|
|
6
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare class Box {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
constructor({ x, y, width, height }: {
|
|
7
|
+
x: number;
|
|
8
|
+
y: number;
|
|
9
|
+
width: number;
|
|
10
|
+
height: number;
|
|
11
|
+
});
|
|
12
|
+
get top(): number;
|
|
13
|
+
get bottom(): number;
|
|
14
|
+
get left(): number;
|
|
15
|
+
get right(): number;
|
|
16
|
+
}
|
|
17
|
+
export declare function getOverflow(a: Box, b: Box): {
|
|
18
|
+
x: {
|
|
19
|
+
before: number;
|
|
20
|
+
after: number;
|
|
21
|
+
};
|
|
22
|
+
y: {
|
|
23
|
+
before: number;
|
|
24
|
+
after: number;
|
|
25
|
+
};
|
|
26
|
+
};
|
package/dist/utils/helpers.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { Ref } from 'vue';
|
|
1
|
+
import type { ComponentPublicInstance, ComputedGetter, PropType, Ref, ToRefs } from 'vue';
|
|
2
|
+
import type { TItemKey } from '../composable';
|
|
2
3
|
export declare const keyCodes: Readonly<{
|
|
3
4
|
enter: 13;
|
|
4
5
|
tab: 9;
|
|
@@ -32,6 +33,11 @@ export declare const classesStates: Readonly<{
|
|
|
32
33
|
}>;
|
|
33
34
|
export declare function isObject(obj: any): obj is object;
|
|
34
35
|
export declare function mergeDeep(source?: Record<string, any>, target?: Record<string, any>, arrayFn?: (a: unknown[], b: unknown[]) => unknown[]): Record<string, any>;
|
|
36
|
+
/**
|
|
37
|
+
* Wrap value in array if it's not already an array
|
|
38
|
+
* @param value
|
|
39
|
+
*/
|
|
40
|
+
export declare function wrapInArray<T>(value: T | T[] | null | undefined): T[];
|
|
35
41
|
export declare function getNestedValue(obj: any, path: (string | number)[], fallback?: any): any;
|
|
36
42
|
export declare function getObjectValueByPath(obj: any, path: string, fallback?: any): any;
|
|
37
43
|
export declare function getPropertyFromItem(item: any, property: SelectItemKey, fallback?: any): any;
|
|
@@ -41,9 +47,27 @@ export declare function getPropertyFromItem(item: any, property: SelectItemKey,
|
|
|
41
47
|
* @param paths
|
|
42
48
|
*/
|
|
43
49
|
export declare function pick<T extends object, U extends Extract<keyof T, string>>(obj: T, paths: U[]): [yes: MaybePick<T, U>, no: Omit<T, U>];
|
|
50
|
+
/**
|
|
51
|
+
* Convert a computed ref to a record of refs.
|
|
52
|
+
* The getter function must always return an object with the same keys.
|
|
53
|
+
*/
|
|
54
|
+
export declare function destructComputed<T extends object>(getter: ComputedGetter<T & NotAUnion<T>>): ToRefs<T>;
|
|
55
|
+
/** Array.includes but value can be any type */
|
|
56
|
+
export declare function includes(arr: readonly any[], val: any): boolean;
|
|
57
|
+
export declare function convertToUnit(str: number, unit?: string): string;
|
|
58
|
+
export declare function convertToUnit(str: string | number | null | undefined, unit?: string): string | undefined;
|
|
59
|
+
export declare function clamp(value: number, min?: number, max?: number): number;
|
|
60
|
+
export declare const isOn: (key: string) => boolean;
|
|
61
|
+
export declare const EventProp: PropType<(...args: any[]) => any>;
|
|
62
|
+
export declare function isComponentInstance(obj: any): obj is ComponentPublicInstance;
|
|
63
|
+
export declare function isFixedPosition(el?: HTMLElement): boolean;
|
|
44
64
|
/**
|
|
45
65
|
* Types
|
|
46
66
|
*/
|
|
47
67
|
export declare type MaybeRef<T> = T | Ref<T>;
|
|
48
|
-
export declare type SelectItemKey =
|
|
68
|
+
export declare type SelectItemKey = TItemKey;
|
|
49
69
|
export declare type MaybePick<T extends object, U extends Extract<keyof T, string>> = Record<string, unknown> extends T ? Partial<Pick<T, U>> : Pick<T, U>;
|
|
70
|
+
export declare type EventProp<T = (...args: any[]) => any> = T;
|
|
71
|
+
declare type NotAUnion<T> = [T] extends [infer U] ? _NotAUnion<U, U> : never;
|
|
72
|
+
declare type _NotAUnion<T, U> = U extends any ? ([T] extends [U] ? unknown : never) : never;
|
|
73
|
+
export {};
|