@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.
Files changed (80) hide show
  1. package/dist/cds.css +1 -1
  2. package/dist/cds.d.ts +20 -3
  3. package/dist/cds.es.js +4649 -1354
  4. package/dist/cds.umd.js +1 -1
  5. package/dist/components/CdsButton/CdsButton.vue.d.ts +10 -10
  6. package/dist/components/CdsCheckbox/CdsCheckbox.vue.d.ts +222 -0
  7. package/dist/components/CdsCheckbox/CdsCheckboxGroup.vue.d.ts +205 -0
  8. package/dist/components/CdsDrawer/CdsDrawer.vue.d.ts +2 -2
  9. package/dist/components/CdsForm/CdsForm.vue.d.ts +99 -0
  10. package/dist/components/CdsIcon/CdsIcon.vue.d.ts +4 -4
  11. package/dist/components/CdsInput/CdsInput.vue.d.ts +219 -0
  12. package/dist/components/CdsInput/CdsInputCounter.vue.d.ts +39 -0
  13. package/dist/components/CdsInput/CdsInputDescription.vue.d.ts +26 -0
  14. package/dist/components/CdsInput/CdsInputLabel.vue.d.ts +32 -0
  15. package/dist/components/CdsInput/CdsInputMessages.vue.d.ts +221 -0
  16. package/dist/components/CdsInput/index.d.ts +5 -0
  17. package/dist/components/CdsList/CdsList.vue.d.ts +15 -27
  18. package/dist/components/CdsList/CdsListGroup.vue.d.ts +8 -8
  19. package/dist/components/CdsList/CdsListItem.vue.d.ts +24 -18
  20. package/dist/components/CdsList/composable/focus.d.ts +12 -0
  21. package/dist/components/CdsList/composable/index.d.ts +1 -0
  22. package/dist/components/CdsList/composable/list.d.ts +1 -1
  23. package/dist/components/CdsMenu/CdsMenu.vue.d.ts +592 -0
  24. package/dist/components/CdsMenu/shared.d.ts +10 -0
  25. package/dist/components/CdsOverlay/CdsOverlay.vue.d.ts +324 -0
  26. package/dist/components/CdsOverlay/composable/activator.d.ts +81 -0
  27. package/dist/components/CdsOverlay/composable/index.d.ts +6 -0
  28. package/dist/components/CdsOverlay/composable/locationStrategies.d.ts +75 -0
  29. package/dist/components/CdsOverlay/composable/scrim.d.ts +8 -0
  30. package/dist/components/CdsOverlay/composable/scrollStrategies.d.ts +33 -0
  31. package/dist/components/CdsOverlay/composable/stack.d.ts +9 -0
  32. package/dist/components/CdsOverlay/composable/teleport.d.ts +6 -0
  33. package/dist/components/CdsOverlay/utils/index.d.ts +2 -0
  34. package/dist/components/CdsOverlay/utils/point.d.ts +20 -0
  35. package/dist/components/CdsOverlay/utils/requestNewFrame.d.ts +5 -0
  36. package/dist/components/CdsRadioButton/CdsRadio.vue.d.ts +201 -0
  37. package/dist/components/CdsRadioButton/CdsRadioButton.vue.d.ts +200 -0
  38. package/dist/components/CdsSelect/CdsSelect.vue.d.ts +664 -0
  39. package/dist/components/CdsSidebar/CdsSidebar.vue.d.ts +61 -0
  40. package/dist/components/CdsStages/CdsStages.vue.d.ts +102 -0
  41. package/dist/components/CdsTextArea/CdsTextArea.vue.d.ts +681 -0
  42. package/dist/components/CdsTextInput/CdsTextInput.vue.d.ts +600 -0
  43. package/dist/components/index.d.ts +18 -1
  44. package/dist/composable/delay.d.ts +29 -0
  45. package/dist/composable/dimensions.d.ts +47 -0
  46. package/dist/composable/direction.d.ts +24 -0
  47. package/dist/composable/field.d.ts +138 -0
  48. package/dist/composable/focus.d.ts +19 -9
  49. package/dist/composable/form.d.ts +126 -0
  50. package/dist/composable/hidration.d.ts +1 -0
  51. package/dist/composable/icon.d.ts +29 -4
  52. package/dist/composable/index.d.ts +12 -0
  53. package/dist/composable/input.d.ts +97 -0
  54. package/dist/composable/items.d.ts +10 -9
  55. package/dist/composable/lazy.d.ts +11 -0
  56. package/dist/composable/link.d.ts +1 -2
  57. package/dist/composable/loading.d.ts +1 -0
  58. package/dist/composable/nested/nested.d.ts +2 -2
  59. package/dist/composable/overlay.d.ts +99 -0
  60. package/dist/composable/scopeId.d.ts +5 -0
  61. package/dist/composable/transition.d.ts +22 -0
  62. package/dist/composable/validation.d.ts +136 -0
  63. package/dist/directives/click-outside/index.d.ts +14 -0
  64. package/dist/directives/index.d.ts +1 -2
  65. package/dist/globals.d.ts +16 -0
  66. package/dist/transitions/createTransition.d.ts +31 -2
  67. package/dist/transitions/index.d.ts +90 -0
  68. package/dist/utils/anchor.d.ts +23 -0
  69. package/dist/utils/animation.d.ts +6 -0
  70. package/dist/utils/box.d.ts +26 -0
  71. package/dist/utils/dom.d.ts +6 -0
  72. package/dist/utils/getScrollParent.d.ts +3 -0
  73. package/dist/utils/globals.d.ts +4 -0
  74. package/dist/utils/helpers.d.ts +26 -2
  75. package/dist/utils/index.d.ts +6 -0
  76. package/package.json +3 -3
  77. package/src/scss/mixins/layout/_shadow.scss +4 -0
  78. package/src/scss/mixins/layout/index.scss +1 -0
  79. package/src/scss/modules/_transition.scss +31 -3
  80. 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: SelectItemKey;
17
- itemValue: SelectItemKey;
18
- itemChildren: SelectItemKey;
19
- itemProps: SelectItemKey;
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<SelectItemKey>;
45
+ type: PropType<TItemKey>;
45
46
  default: string;
46
47
  };
47
48
  /**
48
49
  * Ключ для значения элемента
49
50
  */
50
51
  itemValue: {
51
- type: PropType<SelectItemKey>;
52
+ type: PropType<TItemKey>;
52
53
  default: string;
53
54
  };
54
55
  /**
55
56
  * Ключ для дочерних элементов
56
57
  */
57
58
  itemChildren: {
58
- type: PropType<SelectItemKey>;
59
+ type: PropType<TItemKey>;
59
60
  default: string;
60
61
  };
61
62
  /**
62
63
  * Ключ для дополнительных свойств элемента
63
64
  */
64
65
  itemProps: {
65
- type: PropType<SelectItemKey>;
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, context: SetupContext<any>): IUseLink;
35
+ export declare function useLink(props: ILinkProps, emit: Function): IUseLink;
@@ -4,6 +4,7 @@ export interface ILoadingProp {
4
4
  }
5
5
  export interface IUseLoading {
6
6
  loadingClasses: ComputedRef<string | undefined>;
7
+ hasLoading: ComputedRef<boolean>;
7
8
  }
8
9
  export declare const makeLoadingProps: <Defaults extends {
9
10
  loading?: unknown;
@@ -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 VNestedSymbol: InjectionKey<TNestedProvide>;
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,5 @@
1
+ export declare function useScopeId(): {
2
+ scopeId: {
3
+ [x: string]: string;
4
+ };
5
+ };
@@ -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
- declare const _default: {};
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(): void;
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
+ };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Returns:
3
+ * - 'null' if the node is not attached to the DOM
4
+ * - the root node (HTMLDocument | ShadowRoot) otherwise
5
+ */
6
+ export declare function attachedRoot(node: Node): null | HTMLDocument | ShadowRoot;
@@ -0,0 +1,3 @@
1
+ export declare function getScrollParent(el?: HTMLElement): HTMLElement;
2
+ export declare function getScrollParents(el?: Element | null, stopAt?: Element | null): HTMLElement[];
3
+ export declare function hasScrollbar(el?: Element | null): boolean;
@@ -0,0 +1,4 @@
1
+ export declare const IN_BROWSER: boolean;
2
+ export declare const SUPPORTS_INTERSECTION: boolean;
3
+ export declare const SUPPORTS_TOUCH: boolean;
4
+ export declare const SUPPORTS_FOCUS_VISIBLE: boolean;
@@ -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 = boolean | string | (string | number)[] | ((item: Record<string, any>, fallback?: any) => any);
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 {};