@central-design-system/components 3.0.0-alpha.0 → 3.0.0-alpha.2

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 (112) hide show
  1. package/dist/cds.css +1 -1
  2. package/dist/cds.d.ts +26 -3
  3. package/dist/cds.es.js +7821 -1449
  4. package/dist/cds.umd.js +1 -1
  5. package/dist/components/CdsBreadcrumbs/CdsBreadcrumbs.vue.d.ts +64 -0
  6. package/dist/components/CdsBreadcrumbs/CdsBreadcrumbsItem.vue.d.ts +54 -0
  7. package/dist/components/CdsBreadcrumbs/index.d.ts +2 -0
  8. package/dist/components/CdsButton/CdsButton.vue.d.ts +13 -13
  9. package/dist/components/CdsButton/index.d.ts +1 -0
  10. package/dist/components/CdsCheckbox/CdsCheckbox.vue.d.ts +238 -0
  11. package/dist/components/CdsCheckbox/CdsCheckboxGroup.vue.d.ts +227 -0
  12. package/dist/components/CdsCheckbox/index.d.ts +2 -0
  13. package/dist/components/CdsCombobox/CdsCombobox.vue.d.ts +2454 -0
  14. package/dist/components/CdsCombobox/composable/highlight.d.ts +12 -0
  15. package/dist/components/CdsDatePicker/CdsDatePicker.vue.d.ts +246 -0
  16. package/dist/components/CdsDatePicker/composable/calendar.d.ts +315 -0
  17. package/dist/components/CdsDatePicker/composable/index.d.ts +1 -0
  18. package/dist/components/CdsDrawer/CdsDrawer.vue.d.ts +4 -4
  19. package/dist/components/CdsDropdown/CdsDropdown.vue.d.ts +2317 -0
  20. package/dist/components/CdsEmptyState/CdsEmptyState.vue.d.ts +54 -0
  21. package/dist/components/CdsForm/CdsForm.vue.d.ts +99 -0
  22. package/dist/components/CdsGrid/CdsCol.vue.d.ts +1 -1
  23. package/dist/components/CdsIcon/CdsIcon.vue.d.ts +4 -4
  24. package/dist/components/CdsInput/CdsInput.vue.d.ts +219 -0
  25. package/dist/components/CdsInput/CdsInputCounter.vue.d.ts +39 -0
  26. package/dist/components/CdsInput/CdsInputDescription.vue.d.ts +26 -0
  27. package/dist/components/CdsInput/CdsInputLabel.vue.d.ts +32 -0
  28. package/dist/components/CdsInput/CdsInputMessages.vue.d.ts +221 -0
  29. package/dist/components/CdsInput/index.d.ts +5 -0
  30. package/dist/components/CdsLink/CdsLink.vue.d.ts +1 -1
  31. package/dist/components/CdsLink/index.d.ts +1 -0
  32. package/dist/components/CdsList/CdsList.vue.d.ts +20 -24
  33. package/dist/components/CdsList/CdsListGroup.vue.d.ts +7 -7
  34. package/dist/components/CdsList/CdsListItem.vue.d.ts +27 -24
  35. package/dist/components/CdsList/composable/focus.d.ts +12 -0
  36. package/dist/components/CdsList/composable/index.d.ts +1 -0
  37. package/dist/components/CdsList/composable/list.d.ts +1 -1
  38. package/dist/components/CdsLoader/CdsLoader.vue.d.ts +1 -1
  39. package/dist/components/CdsMenu/CdsMenu.vue.d.ts +681 -0
  40. package/dist/components/CdsMenu/index.d.ts +1 -0
  41. package/dist/components/CdsMenu/shared.d.ts +10 -0
  42. package/dist/components/CdsOverlay/CdsOverlay.vue.d.ts +337 -0
  43. package/dist/components/CdsOverlay/composable/activator.d.ts +81 -0
  44. package/dist/components/CdsOverlay/composable/index.d.ts +6 -0
  45. package/dist/components/CdsOverlay/composable/locationStrategies.d.ts +75 -0
  46. package/dist/components/CdsOverlay/composable/scrim.d.ts +8 -0
  47. package/dist/components/CdsOverlay/composable/scrollStrategies.d.ts +33 -0
  48. package/dist/components/CdsOverlay/composable/stack.d.ts +9 -0
  49. package/dist/components/CdsOverlay/composable/teleport.d.ts +6 -0
  50. package/dist/components/CdsOverlay/index.d.ts +1 -0
  51. package/dist/components/CdsOverlay/utils/index.d.ts +2 -0
  52. package/dist/components/CdsOverlay/utils/point.d.ts +20 -0
  53. package/dist/components/CdsOverlay/utils/requestNewFrame.d.ts +5 -0
  54. package/dist/components/CdsRadioButton/CdsRadio.vue.d.ts +223 -0
  55. package/dist/components/CdsRadioButton/CdsRadioButton.vue.d.ts +222 -0
  56. package/dist/components/CdsSelect/CdsSelect.vue.d.ts +722 -0
  57. package/dist/components/CdsSidebar/CdsSidebar.vue.d.ts +56 -0
  58. package/dist/components/CdsStages/CdsStages.vue.d.ts +102 -0
  59. package/dist/components/CdsTag/CdsTag.vue.d.ts +2 -4
  60. package/dist/components/CdsTag/index.d.ts +1 -0
  61. package/dist/components/CdsTextArea/CdsTextArea.vue.d.ts +723 -0
  62. package/dist/components/CdsTextInput/CdsTextInput.vue.d.ts +660 -0
  63. package/dist/components/CdsTextInput/index.d.ts +1 -0
  64. package/dist/components/index.d.ts +24 -1
  65. package/dist/composable/color.d.ts +4 -2
  66. package/dist/composable/datetime.d.ts +76 -0
  67. package/dist/composable/delay.d.ts +29 -0
  68. package/dist/composable/dimensions.d.ts +47 -0
  69. package/dist/composable/direction.d.ts +24 -0
  70. package/dist/composable/field.d.ts +139 -0
  71. package/dist/composable/filter.d.ts +52 -0
  72. package/dist/composable/focus.d.ts +19 -9
  73. package/dist/composable/form.d.ts +128 -0
  74. package/dist/composable/hidration.d.ts +2 -0
  75. package/dist/composable/icon.d.ts +29 -4
  76. package/dist/composable/index.d.ts +18 -0
  77. package/dist/composable/input.d.ts +99 -0
  78. package/dist/composable/items.d.ts +12 -9
  79. package/dist/composable/lazy.d.ts +21 -0
  80. package/dist/composable/link.d.ts +1 -2
  81. package/dist/composable/loading.d.ts +1 -0
  82. package/dist/composable/menu.d.ts +37 -0
  83. package/dist/composable/nested/nested.d.ts +2 -2
  84. package/dist/composable/overlay.d.ts +98 -0
  85. package/dist/composable/router.d.ts +3 -0
  86. package/dist/composable/scopeId.d.ts +5 -0
  87. package/dist/composable/select.d.ts +86 -0
  88. package/dist/composable/title.d.ts +21 -0
  89. package/dist/composable/transition.d.ts +22 -0
  90. package/dist/composable/validation.d.ts +128 -0
  91. package/dist/directives/click-outside/index.d.ts +14 -0
  92. package/dist/directives/index.d.ts +1 -2
  93. package/dist/globals.d.ts +16 -0
  94. package/dist/locale/index.d.ts +12 -0
  95. package/dist/locale/ru.d.ts +3 -0
  96. package/dist/transitions/createTransition.d.ts +31 -2
  97. package/dist/transitions/index.d.ts +240 -0
  98. package/dist/utils/anchor.d.ts +23 -0
  99. package/dist/utils/animation.d.ts +6 -0
  100. package/dist/utils/box.d.ts +26 -0
  101. package/dist/utils/cache.d.ts +4 -0
  102. package/dist/utils/date.d.ts +181 -0
  103. package/dist/utils/dom.d.ts +6 -0
  104. package/dist/utils/getScrollParent.d.ts +3 -0
  105. package/dist/utils/globals.d.ts +4 -0
  106. package/dist/utils/helpers.d.ts +93 -20
  107. package/dist/utils/index.d.ts +8 -0
  108. package/package.json +5 -4
  109. package/src/scss/mixins/layout/_shadow.scss +4 -0
  110. package/src/scss/mixins/layout/index.scss +1 -0
  111. package/src/scss/modules/_transition.scss +133 -3
  112. package/src/scss/themes/index.ts +1 -1
@@ -1,12 +1,18 @@
1
- import type { PropType, ComputedRef, SetupContext } from 'vue';
1
+ import { EventProp } from '../utils';
2
+ import type { PropType, ComputedRef } from 'vue';
2
3
  import type { TCdsIconsName } from '@central-design-system/icons';
3
4
  export interface IIconProps {
4
5
  prependIcon: TCdsIconsName | undefined;
5
6
  appendIcon: TCdsIconsName | undefined;
7
+ 'onClick:prepend'?: EventProp | undefined;
8
+ 'onClick:append'?: EventProp | undefined;
6
9
  }
7
10
  export interface IUseIcon {
8
11
  hasPrepend: ComputedRef<boolean>;
9
12
  hasAppend: ComputedRef<boolean>;
13
+ iconClasses: ComputedRef<Record<string, boolean>>;
14
+ handleClickPrepend: (event: MouseEvent) => void;
15
+ handleClickAppend: (event: MouseEvent) => void;
10
16
  }
11
17
  export declare const makeIconProps: <Defaults extends {
12
18
  prependIcon?: unknown;
@@ -16,7 +22,7 @@ export declare const makeIconProps: <Defaults extends {
16
22
  * Иконка в начале элемента
17
23
  */
18
24
  prependIcon: {
19
- type: PropType<"add" | "alert-fill" | "alert" | "analog" | "arrow-down" | "arrow-left-bottom" | "arrow-left-top" | "arrow-left" | "arrow-right-bottom" | "arrow-right-top" | "arrow-right" | "arrow-up" | "arrows-vertical" | "calendar" | "card-bank" | "category" | "check-fill" | "check" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chocolate-menu" | "clock" | "comment" | "company" | "compare" | "copy" | "data-cards" | "delete" | "directory" | "doc-download" | "doc" | "download" | "draggable" | "edit" | "enter" | "error-fill" | "error" | "external" | "facebook-fill" | "facebook" | "filters" | "flag" | "globe" | "infinity" | "info-fill" | "info" | "link" | "list-search" | "list" | "loader" | "location" | "locked" | "login" | "logout" | "menu" | "minus" | "notification" | "overflow-menu-horizontal" | "overflow-menu-vertical" | "password" | "pin" | "plus" | "printer" | "question-fill" | "question" | "refresh" | "remove" | "sandglass" | "search" | "settings" | "shopping-cart" | "sort-date" | "star-fill" | "star" | "telegram" | "timer" | "tool" | "truck" | "unlocked" | "upload" | "user-avatar" | "user-group" | "visibility-off" | "visibility-on" | "vk" | "winner" | "workspace" | "youtube">;
25
+ type: PropType<"link" | "filters" | "search" | "add" | "alert-fill" | "alert" | "analog" | "arrow-down" | "arrow-left-bottom" | "arrow-left-top" | "arrow-left" | "arrow-right-bottom" | "arrow-right-top" | "arrow-right" | "arrow-up" | "arrows-vertical" | "calendar" | "card-bank" | "category" | "check-fill" | "check" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chocolate-menu" | "clock" | "comment" | "company" | "compare" | "copy" | "data-cards" | "delete" | "directory" | "doc-download" | "doc" | "download" | "draggable" | "edit" | "enter" | "error-fill" | "error" | "external" | "facebook-fill" | "facebook" | "flag" | "globe" | "infinity" | "info-fill" | "info" | "list-search" | "list" | "loader" | "location" | "locked" | "login" | "logout" | "menu" | "minus" | "notification" | "overflow-menu-horizontal" | "overflow-menu-vertical" | "password" | "pin" | "plus" | "printer" | "question-fill" | "question" | "refresh" | "remove" | "sandglass" | "save" | "settings" | "shopping-cart" | "sort-date" | "star-fill" | "star" | "telegram" | "timer" | "tool" | "truck" | "unlocked" | "upload" | "user-avatar" | "user-group" | "visibility-off" | "visibility-on" | "vk" | "winner" | "workspace" | "youtube">;
20
26
  default: undefined;
21
27
  validator: (value: TCdsIconsName) => boolean;
22
28
  };
@@ -24,9 +30,28 @@ export declare const makeIconProps: <Defaults extends {
24
30
  * Иконка в конце элемента
25
31
  */
26
32
  appendIcon: {
27
- type: PropType<"add" | "alert-fill" | "alert" | "analog" | "arrow-down" | "arrow-left-bottom" | "arrow-left-top" | "arrow-left" | "arrow-right-bottom" | "arrow-right-top" | "arrow-right" | "arrow-up" | "arrows-vertical" | "calendar" | "card-bank" | "category" | "check-fill" | "check" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chocolate-menu" | "clock" | "comment" | "company" | "compare" | "copy" | "data-cards" | "delete" | "directory" | "doc-download" | "doc" | "download" | "draggable" | "edit" | "enter" | "error-fill" | "error" | "external" | "facebook-fill" | "facebook" | "filters" | "flag" | "globe" | "infinity" | "info-fill" | "info" | "link" | "list-search" | "list" | "loader" | "location" | "locked" | "login" | "logout" | "menu" | "minus" | "notification" | "overflow-menu-horizontal" | "overflow-menu-vertical" | "password" | "pin" | "plus" | "printer" | "question-fill" | "question" | "refresh" | "remove" | "sandglass" | "search" | "settings" | "shopping-cart" | "sort-date" | "star-fill" | "star" | "telegram" | "timer" | "tool" | "truck" | "unlocked" | "upload" | "user-avatar" | "user-group" | "visibility-off" | "visibility-on" | "vk" | "winner" | "workspace" | "youtube">;
33
+ type: PropType<"link" | "filters" | "search" | "add" | "alert-fill" | "alert" | "analog" | "arrow-down" | "arrow-left-bottom" | "arrow-left-top" | "arrow-left" | "arrow-right-bottom" | "arrow-right-top" | "arrow-right" | "arrow-up" | "arrows-vertical" | "calendar" | "card-bank" | "category" | "check-fill" | "check" | "chevron-down" | "chevron-left" | "chevron-right" | "chevron-up" | "chocolate-menu" | "clock" | "comment" | "company" | "compare" | "copy" | "data-cards" | "delete" | "directory" | "doc-download" | "doc" | "download" | "draggable" | "edit" | "enter" | "error-fill" | "error" | "external" | "facebook-fill" | "facebook" | "flag" | "globe" | "infinity" | "info-fill" | "info" | "list-search" | "list" | "loader" | "location" | "locked" | "login" | "logout" | "menu" | "minus" | "notification" | "overflow-menu-horizontal" | "overflow-menu-vertical" | "password" | "pin" | "plus" | "printer" | "question-fill" | "question" | "refresh" | "remove" | "sandglass" | "save" | "settings" | "shopping-cart" | "sort-date" | "star-fill" | "star" | "telegram" | "timer" | "tool" | "truck" | "unlocked" | "upload" | "user-avatar" | "user-group" | "visibility-off" | "visibility-on" | "vk" | "winner" | "workspace" | "youtube">;
28
34
  default: undefined;
29
35
  validator: (value: TCdsIconsName) => boolean;
30
36
  };
31
37
  }, Defaults>;
32
- export declare function useIcon(props: IIconProps, context: SetupContext<any>): IUseIcon;
38
+ export declare const makeIconEvents: <Defaults extends {
39
+ 'onClick:prepend'?: unknown;
40
+ 'onClick:append'?: unknown;
41
+ } = {}>(defaults?: Defaults | undefined) => import('../utils').AppendDefault<{
42
+ /**
43
+ * Событие клика по иконке перед значением поля
44
+ */
45
+ 'onClick:prepend': {
46
+ type: PropType<(...args: any[]) => any>;
47
+ default: undefined;
48
+ };
49
+ /**
50
+ * Событие клика по иконке после значения поля
51
+ */
52
+ 'onClick:append': {
53
+ type: PropType<(...args: any[]) => any>;
54
+ default: undefined;
55
+ };
56
+ }, Defaults>;
57
+ export declare function useIcon(props: IIconProps, slots: Record<string, unknown>, name: string): IUseIcon;
@@ -1,4 +1,5 @@
1
1
  export * from './text';
2
+ export * from './title';
2
3
  export * from './link';
3
4
  export * from './icon';
4
5
  export * from './loading';
@@ -15,3 +16,20 @@ export * from './proxyModel';
15
16
  export * from './toggleScope';
16
17
  export * from './nested/nested';
17
18
  export * from './render';
19
+ export * from './input';
20
+ export * from './form';
21
+ export * from './validation';
22
+ export * from './direction';
23
+ export * from './field';
24
+ export * from './transition';
25
+ export * from './overlay';
26
+ export * from './lazy';
27
+ export * from './delay';
28
+ export * from './dimensions';
29
+ export * from './hidration';
30
+ export * from './scopeId';
31
+ export * from './router';
32
+ export * from './select';
33
+ export * from './filter';
34
+ export * from './menu';
35
+ export * from './datetime';
@@ -0,0 +1,99 @@
1
+ import type { ComputedRef, PropType, Ref } from 'vue';
2
+ export interface IInputSlot {
3
+ id: ComputedRef<string>;
4
+ isDirty: ComputedRef<boolean>;
5
+ isDisabled: ComputedRef<boolean>;
6
+ isReadonly: ComputedRef<boolean>;
7
+ isPure: Ref<boolean>;
8
+ isValid: ComputedRef<boolean | null>;
9
+ isValidating: Ref<boolean>;
10
+ reset: () => void;
11
+ resetValidation: () => void;
12
+ validate: () => Promise<string[]>;
13
+ }
14
+ export interface IInputProps {
15
+ id: string | undefined;
16
+ label: string | undefined;
17
+ description: string | undefined;
18
+ value: any;
19
+ messages: string[] | string;
20
+ persistentMessages: boolean;
21
+ }
22
+ export interface IUseInput {
23
+ id: ComputedRef<string>;
24
+ hasLabel: ComputedRef<boolean>;
25
+ hasDescription: ComputedRef<boolean>;
26
+ }
27
+ export declare const makeInputProps: <Defaults extends {
28
+ id?: unknown;
29
+ label?: unknown;
30
+ description?: unknown;
31
+ value?: unknown;
32
+ messages?: unknown;
33
+ persistentMessages?: unknown;
34
+ } = {}>(defaults?: Defaults | undefined) => import('../utils').AppendDefault<{
35
+ /**
36
+ * Идентификатор
37
+ */
38
+ id: {
39
+ type: PropType<string>;
40
+ default: undefined;
41
+ };
42
+ /**
43
+ * Лейбл
44
+ */
45
+ label: {
46
+ type: PropType<string>;
47
+ default: undefined;
48
+ };
49
+ /**
50
+ * Описание
51
+ */
52
+ description: {
53
+ type: PropType<string>;
54
+ default: undefined;
55
+ };
56
+ /**
57
+ * Значение
58
+ */
59
+ value: {
60
+ type: PropType<any>;
61
+ default: null;
62
+ };
63
+ /**
64
+ * Сообщения подсказки
65
+ */
66
+ messages: {
67
+ type: PropType<string | string[]>;
68
+ default: () => never[];
69
+ };
70
+ /**
71
+ * Всегда показывать сообщения и подсказки
72
+ */
73
+ persistentMessages: {
74
+ type: PropType<boolean>;
75
+ default: boolean;
76
+ };
77
+ }, Defaults>;
78
+ export declare function useInput(props: IInputProps, slots: Record<string, unknown>, name?: string): IUseInput;
79
+ export declare function useFilteredInputProps<T extends Record<string, unknown>>(props: T, exclude: string[]): {
80
+ inputProps: [Partial<T>] extends [Ref<any>] ? Ref<any> & Partial<T> : Ref<import("vue").UnwrapRef<Partial<T>>>;
81
+ excludedProps: [Partial<T>] extends [Ref<any>] ? Ref<any> & Partial<T> : Ref<import("vue").UnwrapRef<Partial<T>>>;
82
+ };
83
+ export declare function useFilteredInputAttrs(attrs: Record<string, unknown>): {
84
+ rootAttrs: Ref<{}>;
85
+ inputAttrs: Ref<{}>;
86
+ };
87
+ /**
88
+ * Filter attributes that should be applied to
89
+ * the root element of a an input component. Remaining
90
+ * attributes should be passed to the <input> element inside.
91
+ */
92
+ export declare function filterInputAttrs(attrs: Record<string, unknown>): [yes: Partial<Pick<Record<string, unknown>, any>>, no: Omit<Record<string, unknown>, any>];
93
+ /**
94
+ * Filter props for input controls
95
+ * @param props
96
+ * @param exclude
97
+ */
98
+ export declare function filterInputProps(props: Record<string, unknown>, exclude: string[]): (Partial<Pick<Record<string, unknown>, string>> | Omit<Record<string, unknown>, string>)[];
99
+ export declare const excludeControls: RegExp;
@@ -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,17 @@ 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[];
25
+ transformIn: (value: any[]) => IInternalItem[];
26
+ transformOut: (value: any[]) => any[];
24
27
  }
25
28
  export declare const makeItemsProps: <Defaults extends {
26
29
  items?: unknown;
@@ -41,28 +44,28 @@ export declare const makeItemsProps: <Defaults extends {
41
44
  * Ключ для заголовка элемента
42
45
  */
43
46
  itemTitle: {
44
- type: PropType<SelectItemKey>;
47
+ type: PropType<TItemKey>;
45
48
  default: string;
46
49
  };
47
50
  /**
48
51
  * Ключ для значения элемента
49
52
  */
50
53
  itemValue: {
51
- type: PropType<SelectItemKey>;
54
+ type: PropType<TItemKey>;
52
55
  default: string;
53
56
  };
54
57
  /**
55
58
  * Ключ для дочерних элементов
56
59
  */
57
60
  itemChildren: {
58
- type: PropType<SelectItemKey>;
61
+ type: PropType<TItemKey>;
59
62
  default: string;
60
63
  };
61
64
  /**
62
65
  * Ключ для дополнительных свойств элемента
63
66
  */
64
67
  itemProps: {
65
- type: PropType<SelectItemKey>;
68
+ type: PropType<TItemKey>;
66
69
  default: string;
67
70
  };
68
71
  /**
@@ -0,0 +1,21 @@
1
+ import type { Ref, ComputedRef, PropType } from 'vue';
2
+ export interface ILazyProps {
3
+ eager: boolean;
4
+ }
5
+ export interface IUseLazy {
6
+ isBooted: Ref<boolean>;
7
+ hasContent: ComputedRef<boolean>;
8
+ onAfterLeave: () => void;
9
+ }
10
+ export declare const makeLazyProps: <Defaults extends {
11
+ eager?: unknown;
12
+ } = {}>(defaults?: Defaults | undefined) => import('../utils').AppendDefault<{
13
+ /**
14
+ * Принудительно рендерит контент компонента в DOM, даже если компонент скрыт. Полезно для SEO оптимизации.
15
+ */
16
+ eager: {
17
+ type: PropType<boolean>;
18
+ default: boolean;
19
+ };
20
+ }, Defaults>;
21
+ 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;
@@ -0,0 +1,37 @@
1
+ import type { Ref, PropType, WritableComputedRef } from 'vue';
2
+ import type { IDisabledProps } from './disabled';
3
+ export interface IMenuProps extends IDisabledProps {
4
+ menu: boolean | undefined;
5
+ }
6
+ export interface IUseMenu<MenuRef> {
7
+ internalMenu: WritableComputedRef<boolean | undefined>;
8
+ menuRef: Ref<MenuRef | undefined>;
9
+ }
10
+ export declare const makeMenuProps: <Defaults extends {
11
+ menu?: unknown;
12
+ menuProps?: unknown;
13
+ menuHeight?: unknown;
14
+ } = {}>(defaults?: Defaults | undefined) => import('../utils').AppendDefault<{
15
+ /**
16
+ * Состояние выпадающего меню (открыто/закрыто)
17
+ */
18
+ menu: {
19
+ type: PropType<boolean | undefined>;
20
+ default: undefined;
21
+ };
22
+ /**
23
+ * Свойства для компонент CdsMenu
24
+ */
25
+ menuProps: {
26
+ type: PropType<any>;
27
+ default: null;
28
+ };
29
+ /**
30
+ * Максимальная высота выпадающего меню (10rem по умолчанию)
31
+ */
32
+ menuHeight: {
33
+ type: PropType<string | number>;
34
+ default: number;
35
+ };
36
+ }, Defaults>;
37
+ export declare function useMenu<MenuRef>(props: IMenuProps): IUseMenu<MenuRef>;
@@ -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,98 @@
1
+ import { PropType } from 'vue';
2
+ export interface IOverlayProps {
3
+ attach: boolean | string | Element | undefined;
4
+ contained: boolean | undefined;
5
+ disabled: boolean | undefined;
6
+ persistent: boolean | undefined;
7
+ scrim: boolean | string | undefined;
8
+ modelValue: boolean | undefined;
9
+ zIndex: number | string | undefined;
10
+ contentClasses: string | string[] | Record<string, boolean> | undefined;
11
+ contentProps: Record<string, unknown> | undefined;
12
+ }
13
+ export declare const makeOverlayProps: <Defaults extends {
14
+ attach?: unknown;
15
+ contained?: unknown;
16
+ disabled?: unknown;
17
+ persistent?: unknown;
18
+ scrim?: unknown;
19
+ modelValue?: unknown;
20
+ closeOnBack?: unknown;
21
+ zIndex?: unknown;
22
+ contentClasses?: unknown;
23
+ contentProps?: unknown;
24
+ } = {}>(defaults?: Defaults | undefined) => import('../utils').AppendDefault<{
25
+ /**
26
+ * Указывает, к какому DOM элементу будет прикреплен компонент.
27
+ * По умолчанию прикрепляется к body.
28
+ * Если передана строка, то ищет элемент по querySelector.
29
+ * Если передан объект, то считает его допустимым Node элементом.
30
+ */
31
+ attach: {
32
+ type: PropType<string | boolean | Element>;
33
+ default: boolean;
34
+ };
35
+ /**
36
+ * Указывает, что компонент будет прикреплен к родительскому элементу. Подразумевает absolute и attach
37
+ */
38
+ contained: {
39
+ type: PropType<boolean>;
40
+ default: boolean;
41
+ };
42
+ /**
43
+ * Блокирует возможность клика или фокуса всплывающего компонента
44
+ */
45
+ disabled: {
46
+ type: PropType<boolean>;
47
+ default: boolean;
48
+ };
49
+ /**
50
+ * Клик за пределами компонента или esc не будет закрывать его
51
+ */
52
+ persistent: {
53
+ type: PropType<boolean>;
54
+ default: boolean;
55
+ };
56
+ /**
57
+ * Фон для компонента. Строкой можно передать цвет фона.
58
+ */
59
+ scrim: {
60
+ type: PropType<string | boolean>;
61
+ default: boolean;
62
+ };
63
+ /**
64
+ * Значение v-model. Управляет видимостью компонента.
65
+ */
66
+ modelValue: {
67
+ type: PropType<boolean>;
68
+ default: boolean;
69
+ };
70
+ /**
71
+ * Закрывать ли компонент при навигации назад
72
+ */
73
+ closeOnBack: {
74
+ type: PropType<boolean>;
75
+ default: boolean;
76
+ };
77
+ /**
78
+ * Значение z-index для оверлея
79
+ */
80
+ zIndex: {
81
+ type: PropType<string | number>;
82
+ default: number;
83
+ };
84
+ /**
85
+ * Классы для контента компонента
86
+ */
87
+ contentClasses: {
88
+ type: PropType<string | string[] | Record<string, boolean>>;
89
+ default: null;
90
+ };
91
+ /**
92
+ * Свойства для контента компонента
93
+ */
94
+ contentProps: {
95
+ type: PropType<Record<string, unknown>>;
96
+ default: () => {};
97
+ };
98
+ }, Defaults>;
@@ -0,0 +1,3 @@
1
+ import type { NavigationGuardNext, Router } from 'vue-router';
2
+ export declare function useRouter(): Router | undefined;
3
+ export declare function useBackButton(router: Router | undefined, cb: (next: NavigationGuardNext) => void): void;
@@ -0,0 +1,5 @@
1
+ export declare function useScopeId(): {
2
+ scopeId: {
3
+ [x: string]: string;
4
+ };
5
+ };
@@ -0,0 +1,86 @@
1
+ import { MaybePick } from '../utils';
2
+ import type { PropType, ComputedRef, Ref } from 'vue';
3
+ import type { IInternalItem, IUseItems } from './items';
4
+ export interface ISelectProps {
5
+ multiple: boolean;
6
+ openOnClear: boolean;
7
+ hideSelected: boolean;
8
+ noDataText: string;
9
+ hideNoData: boolean;
10
+ isSelectAll: boolean;
11
+ selectAllText: string;
12
+ modelValue: any;
13
+ }
14
+ export declare const makeSelectProps: <Defaults extends {
15
+ multiple?: unknown;
16
+ openOnClear?: unknown;
17
+ hideSelected?: unknown;
18
+ noDataText?: unknown;
19
+ hideNoData?: unknown;
20
+ isSelectAll?: unknown;
21
+ selectAllText?: unknown;
22
+ } = {}>(defaults?: Defaults | undefined) => import('../utils').AppendDefault<{
23
+ /**
24
+ * Множественный выбор элементов
25
+ */
26
+ multiple: {
27
+ type: PropType<boolean>;
28
+ default: boolean;
29
+ };
30
+ /**
31
+ * Открывать при очистке поля ввода
32
+ */
33
+ openOnClear: {
34
+ type: PropType<boolean>;
35
+ default: boolean;
36
+ };
37
+ /**
38
+ * Скрывать выбранные элементы из списка
39
+ */
40
+ hideSelected: {
41
+ type: PropType<boolean>;
42
+ default: boolean;
43
+ };
44
+ /**
45
+ * Текст, который будет отображаться, если нет данных
46
+ */
47
+ noDataText: {
48
+ type: PropType<string>;
49
+ default: string;
50
+ };
51
+ /**
52
+ * Скрывать отображаемый текст, если нет данных
53
+ */
54
+ hideNoData: {
55
+ type: PropType<boolean>;
56
+ default: boolean;
57
+ };
58
+ /**
59
+ * Добавляет возможность выбора всех элементов. Только для мультивыбора (multiple)
60
+ */
61
+ isSelectAll: {
62
+ type: PropType<boolean>;
63
+ default: boolean;
64
+ };
65
+ /**
66
+ * Текст для выбора всех элементов
67
+ */
68
+ selectAllText: {
69
+ type: PropType<string>;
70
+ default: string;
71
+ };
72
+ }, Defaults>;
73
+ export declare function useSelect(props: ISelectProps, items: ComputedRef<IInternalItem[]> | Ref<IInternalItem[]>, transformIn: IUseItems['transformIn'], transformOut: IUseItems['transformOut']): {
74
+ model: Ref<readonly IInternalItem<any>[]> & {
75
+ readonly externalValue: any;
76
+ };
77
+ selections: ComputedRef<IInternalItem<any>[]>;
78
+ selected: ComputedRef<any[]>;
79
+ selectedAll: ComputedRef<boolean>;
80
+ selectedIndeterminate: ComputedRef<boolean>;
81
+ selectStrategy: ComputedRef<"independent" | "single-independent">;
82
+ displayItems: ComputedRef<IInternalItem<any>[]>;
83
+ };
84
+ export declare function useFilteredSelectProps<Props extends Record<string, unknown>>(props: Props, filteredProps: Partial<Props>, excludes: Extract<keyof MaybePick<Props, Extract<keyof Props, string>>, string>[]): {
85
+ inputProps: [Partial<Props>] extends [Ref<any>] ? Ref<any> & Partial<Props> : Ref<import("vue").UnwrapRef<Partial<Props>>>;
86
+ };
@@ -0,0 +1,21 @@
1
+ import type { ComputedRef, PropType } from 'vue';
2
+ export interface ITitleProps {
3
+ title: string;
4
+ }
5
+ export interface IUseTitle {
6
+ }
7
+ export interface IUseTitle {
8
+ hasTitle: ComputedRef<boolean>;
9
+ }
10
+ export declare const makeTitleProps: <Defaults extends {
11
+ title?: unknown;
12
+ } = {}>(defaults?: Defaults | undefined) => import('../utils').AppendDefault<{
13
+ /**
14
+ * Заголовок
15
+ */
16
+ title: {
17
+ type: PropType<string>;
18
+ default: string;
19
+ };
20
+ }, Defaults>;
21
+ export declare function useTitle(props: ITitleProps, slots: Record<string, unknown>): IUseTitle;
@@ -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 {};