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

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 (222) hide show
  1. package/dist/cds.css +1 -1
  2. package/dist/cds.d.ts +54 -24
  3. package/dist/cds.es.js +12619 -1577
  4. package/dist/cds.umd.js +18 -1
  5. package/dist/components/CdsBadge/index.d.ts +1 -0
  6. package/dist/components/CdsBreadcrumbs/CdsBreadcrumbs.vue.d.ts +64 -0
  7. package/dist/components/CdsBreadcrumbs/CdsBreadcrumbsItem.vue.d.ts +54 -0
  8. package/dist/components/CdsBreadcrumbs/index.d.ts +2 -0
  9. package/dist/components/CdsButton/CdsButton.vue.d.ts +28 -18
  10. package/dist/components/CdsButton/index.d.ts +1 -0
  11. package/dist/components/CdsCheckbox/CdsCheckbox.vue.d.ts +254 -0
  12. package/dist/components/CdsCheckbox/CdsCheckboxGroup.vue.d.ts +227 -0
  13. package/dist/components/CdsCheckbox/index.d.ts +2 -0
  14. package/dist/components/CdsCombobox/CdsCombobox.vue.d.ts +2457 -0
  15. package/dist/components/CdsCombobox/composable/highlight.d.ts +12 -0
  16. package/dist/components/CdsCombobox/index.d.ts +1 -0
  17. package/dist/components/CdsDatePicker/CdsDatePicker.vue.d.ts +249 -0
  18. package/dist/components/CdsDatePicker/composable/calendar.d.ts +317 -0
  19. package/dist/components/CdsDatePicker/composable/index.d.ts +1 -0
  20. package/dist/components/CdsDatePicker/index.d.ts +1 -0
  21. package/dist/components/CdsDrawer/CdsDrawer.vue.d.ts +22 -6
  22. package/dist/components/CdsDrawer/index.d.ts +1 -0
  23. package/dist/components/CdsDropdown/CdsDropdown.vue.d.ts +2413 -0
  24. package/dist/components/CdsDropdown/index.d.ts +1 -0
  25. package/dist/components/CdsEmptyState/CdsEmptyState.vue.d.ts +54 -0
  26. package/dist/components/CdsEmptyState/index.d.ts +1 -0
  27. package/dist/components/CdsForm/CdsForm.vue.d.ts +109 -0
  28. package/dist/components/CdsForm/index.d.ts +1 -0
  29. package/dist/components/CdsGrid/CdsCol.vue.d.ts +1 -1
  30. package/dist/components/CdsGrid/composable/grid.d.ts +2 -1
  31. package/dist/components/CdsGrid/index.d.ts +3 -0
  32. package/dist/components/CdsIcon/CdsIcon.vue.d.ts +4 -4
  33. package/dist/components/CdsInput/CdsInput.vue.d.ts +239 -0
  34. package/dist/components/CdsInput/CdsInputCounter.vue.d.ts +39 -0
  35. package/dist/components/CdsInput/CdsInputDescription.vue.d.ts +26 -0
  36. package/dist/components/CdsInput/CdsInputLabel.vue.d.ts +32 -0
  37. package/dist/components/CdsInput/CdsInputMessages.vue.d.ts +221 -0
  38. package/dist/components/CdsInput/index.d.ts +5 -0
  39. package/dist/components/CdsLink/CdsLink.vue.d.ts +10 -3
  40. package/dist/components/CdsLink/index.d.ts +1 -0
  41. package/dist/components/CdsList/CdsList.vue.d.ts +62 -33
  42. package/dist/components/CdsList/CdsListGroup.vue.d.ts +7 -7
  43. package/dist/components/CdsList/CdsListItem.vue.d.ts +35 -26
  44. package/dist/components/CdsList/composable/focus.d.ts +12 -0
  45. package/dist/components/CdsList/composable/index.d.ts +1 -0
  46. package/dist/components/CdsList/composable/list.d.ts +1 -1
  47. package/dist/components/CdsLoader/CdsLoader.vue.d.ts +1 -1
  48. package/dist/components/CdsMenu/CdsMenu.vue.d.ts +697 -0
  49. package/dist/components/CdsMenu/index.d.ts +1 -0
  50. package/dist/components/CdsMenu/shared.d.ts +10 -0
  51. package/dist/components/CdsOverlay/CdsOverlay.vue.d.ts +343 -0
  52. package/dist/components/CdsOverlay/composable/activator.d.ts +81 -0
  53. package/dist/components/CdsOverlay/composable/index.d.ts +6 -0
  54. package/dist/components/CdsOverlay/composable/locationStrategies.d.ts +78 -0
  55. package/dist/components/CdsOverlay/composable/scrim.d.ts +8 -0
  56. package/dist/components/CdsOverlay/composable/scrollStrategies.d.ts +33 -0
  57. package/dist/components/CdsOverlay/composable/stack.d.ts +9 -0
  58. package/dist/components/CdsOverlay/composable/teleport.d.ts +6 -0
  59. package/dist/components/CdsOverlay/index.d.ts +1 -0
  60. package/dist/components/CdsOverlay/utils/index.d.ts +2 -0
  61. package/dist/components/CdsOverlay/utils/point.d.ts +20 -0
  62. package/dist/components/CdsOverlay/utils/requestNewFrame.d.ts +5 -0
  63. package/dist/components/CdsPagination/CdsPagination.vue.d.ts +142 -0
  64. package/dist/components/CdsPagination/index.d.ts +1 -0
  65. package/dist/components/CdsRadioButton/CdsRadio.vue.d.ts +230 -0
  66. package/dist/components/CdsRadioButton/CdsRadioButton.vue.d.ts +228 -0
  67. package/dist/components/CdsRadioButton/index.d.ts +2 -0
  68. package/dist/components/CdsSelect/CdsSelect.vue.d.ts +775 -0
  69. package/dist/components/CdsSelect/index.d.ts +1 -0
  70. package/dist/components/CdsSidebar/CdsSidebar.vue.d.ts +66 -0
  71. package/dist/components/CdsSidebar/index.d.ts +1 -0
  72. package/dist/components/CdsStages/CdsStages.vue.d.ts +102 -0
  73. package/dist/components/CdsStages/index.d.ts +1 -0
  74. package/dist/components/CdsStatus/index.d.ts +1 -0
  75. package/dist/components/CdsTable/CdsTable.vue.d.ts +1147 -0
  76. package/dist/components/CdsTable/CdsTableColumn.vue.d.ts +10 -0
  77. package/dist/components/CdsTable/CdsTableColumnGroup.vue.d.ts +10 -0
  78. package/dist/components/CdsTable/components/Body/Body.d.ts +12 -0
  79. package/dist/components/CdsTable/components/Body/BodyRow.d.ts +22 -0
  80. package/dist/components/CdsTable/components/Body/ExpandedRow.d.ts +13 -0
  81. package/dist/components/CdsTable/components/Body/index.d.ts +1 -0
  82. package/dist/components/CdsTable/components/Cell/Cell.d.ts +34 -0
  83. package/dist/components/CdsTable/components/Cell/MeasureCell.d.ts +7 -0
  84. package/dist/components/CdsTable/components/Cell/index.d.ts +2 -0
  85. package/dist/components/CdsTable/components/ColGroup/ColGroup.d.ts +8 -0
  86. package/dist/components/CdsTable/components/ColGroup/index.d.ts +1 -0
  87. package/dist/components/CdsTable/components/Filter/FilterDropdown.d.ts +14 -0
  88. package/dist/components/CdsTable/components/Filter/FilterSearch.d.ts +9 -0
  89. package/dist/components/CdsTable/components/Filter/FilterWrapper.d.ts +4 -0
  90. package/dist/components/CdsTable/components/Filter/index.d.ts +1 -0
  91. package/dist/components/CdsTable/components/FixedHolder/FixedHolder.d.ts +21 -0
  92. package/dist/components/CdsTable/components/FixedHolder/index.d.ts +1 -0
  93. package/dist/components/CdsTable/components/Footer/Footer.d.ts +8 -0
  94. package/dist/components/CdsTable/components/Footer/index.d.ts +1 -0
  95. package/dist/components/CdsTable/components/Header/DragHandle.d.ts +44 -0
  96. package/dist/components/CdsTable/components/Header/Header.d.ts +11 -0
  97. package/dist/components/CdsTable/components/Header/HeaderRow.d.ts +15 -0
  98. package/dist/components/CdsTable/components/Header/index.d.ts +1 -0
  99. package/dist/components/CdsTable/components/Icons/ExpandIcon.d.ts +12 -0
  100. package/dist/components/CdsTable/components/Panel/Panel.d.ts +4 -0
  101. package/dist/components/CdsTable/components/Panel/index.d.ts +1 -0
  102. package/dist/components/CdsTable/components/ResizeObserver/ResizeObserver.d.ts +11 -0
  103. package/dist/components/CdsTable/components/ResizeObserver/index.d.ts +1 -0
  104. package/dist/components/CdsTable/components/StickyScrollbar/StickyScrollbar.d.ts +15 -0
  105. package/dist/components/CdsTable/components/StickyScrollbar/index.d.ts +1 -0
  106. package/dist/components/CdsTable/components/Table/InternalTable.d.ts +1139 -0
  107. package/dist/components/CdsTable/components/TableProvider.d.ts +1132 -0
  108. package/dist/components/CdsTable/composable/columns.d.ts +28 -0
  109. package/dist/components/CdsTable/composable/filter.d.ts +16 -0
  110. package/dist/components/CdsTable/composable/flat.d.ts +17 -0
  111. package/dist/components/CdsTable/composable/frame.d.ts +6 -0
  112. package/dist/components/CdsTable/composable/index.d.ts +10 -0
  113. package/dist/components/CdsTable/composable/pagination.d.ts +18 -0
  114. package/dist/components/CdsTable/composable/selection.d.ts +23 -0
  115. package/dist/components/CdsTable/composable/sorter.d.ts +21 -0
  116. package/dist/components/CdsTable/composable/sticky.d.ts +12 -0
  117. package/dist/components/CdsTable/composable/table.d.ts +640 -0
  118. package/dist/components/CdsTable/constants.d.ts +2 -0
  119. package/dist/components/CdsTable/context/body.d.ts +19 -0
  120. package/dist/components/CdsTable/context/expandedRow.d.ts +10 -0
  121. package/dist/components/CdsTable/context/hover.d.ts +9 -0
  122. package/dist/components/CdsTable/context/index.d.ts +8 -0
  123. package/dist/components/CdsTable/context/resize.d.ts +9 -0
  124. package/dist/components/CdsTable/context/slots.d.ts +17 -0
  125. package/dist/components/CdsTable/context/sticky.d.ts +2 -0
  126. package/dist/components/CdsTable/context/summary.d.ts +14 -0
  127. package/dist/components/CdsTable/context/table.d.ts +20 -0
  128. package/dist/components/CdsTable/index.d.ts +6 -0
  129. package/dist/components/CdsTable/interface.d.ts +323 -0
  130. package/dist/components/CdsTable/utils/column.d.ts +7 -0
  131. package/dist/components/CdsTable/utils/expand.d.ts +2 -0
  132. package/dist/components/CdsTable/utils/fixed.d.ts +13 -0
  133. package/dist/components/CdsTable/utils/index.d.ts +5 -0
  134. package/dist/components/CdsTable/utils/listener.d.ts +5 -0
  135. package/dist/components/CdsTable/utils/value.d.ts +10 -0
  136. package/dist/components/CdsTag/CdsTag.vue.d.ts +11 -6
  137. package/dist/components/CdsTag/index.d.ts +1 -0
  138. package/dist/components/CdsTextArea/CdsTextArea.vue.d.ts +782 -0
  139. package/dist/components/CdsTextArea/index.d.ts +1 -0
  140. package/dist/components/CdsTextInput/CdsTextInput.vue.d.ts +735 -0
  141. package/dist/components/CdsTextInput/index.d.ts +1 -0
  142. package/dist/components/CdsTimePicker/CdsTimePicker.vue.d.ts +144 -0
  143. package/dist/components/CdsTimePicker/composable/index.d.ts +1 -0
  144. package/dist/components/CdsTimePicker/composable/time.d.ts +134 -0
  145. package/dist/components/CdsTimePicker/index.d.ts +1 -0
  146. package/dist/components/CdsTooltip/CdsTooltip.vue.d.ts +765 -0
  147. package/dist/components/CdsTooltip/index.d.ts +1 -0
  148. package/dist/components/CdsTree/composable/index.d.ts +1 -0
  149. package/dist/components/CdsTree/composable/tree.d.ts +6 -0
  150. package/dist/components/CdsTree/interface.d.ts +60 -0
  151. package/dist/components/CdsTree/utils/conduct.d.ts +11 -0
  152. package/dist/components/CdsTree/utils/data.d.ts +36 -0
  153. package/dist/components/CdsTree/utils/index.d.ts +2 -0
  154. package/dist/components/index.d.ts +60 -1
  155. package/dist/composable/color.d.ts +4 -2
  156. package/dist/composable/datetime.d.ts +45 -0
  157. package/dist/composable/delay.d.ts +29 -0
  158. package/dist/composable/dimensions.d.ts +65 -0
  159. package/dist/composable/direction.d.ts +24 -0
  160. package/dist/composable/display.d.ts +59 -0
  161. package/dist/composable/field.d.ts +139 -0
  162. package/dist/composable/filter.d.ts +52 -0
  163. package/dist/composable/focus.d.ts +19 -9
  164. package/dist/composable/form.d.ts +128 -0
  165. package/dist/composable/hidration.d.ts +2 -0
  166. package/dist/composable/icon.d.ts +29 -4
  167. package/dist/composable/index.d.ts +24 -0
  168. package/dist/composable/input.d.ts +99 -0
  169. package/dist/composable/items.d.ts +12 -9
  170. package/dist/composable/lazy.d.ts +21 -0
  171. package/dist/composable/link.d.ts +1 -2
  172. package/dist/composable/loading.d.ts +1 -0
  173. package/dist/composable/locale.d.ts +18 -0
  174. package/dist/composable/menu.d.ts +37 -0
  175. package/dist/composable/nested/nested.d.ts +2 -2
  176. package/dist/composable/overlay.d.ts +98 -0
  177. package/dist/composable/readonly.d.ts +19 -0
  178. package/dist/composable/refs.d.ts +6 -0
  179. package/dist/composable/resizeObserver.d.ts +7 -0
  180. package/dist/composable/router.d.ts +3 -0
  181. package/dist/composable/scopeId.d.ts +5 -0
  182. package/dist/composable/select.d.ts +86 -0
  183. package/dist/composable/state.d.ts +13 -0
  184. package/dist/composable/title.d.ts +21 -0
  185. package/dist/composable/transition.d.ts +22 -0
  186. package/dist/composable/validation.d.ts +112 -0
  187. package/dist/create.d.ts +23 -0
  188. package/dist/directives/click-outside/index.d.ts +14 -0
  189. package/dist/directives/index.d.ts +1 -2
  190. package/dist/globals.d.ts +18 -0
  191. package/dist/locale/en.d.ts +3 -0
  192. package/dist/locale/index.d.ts +13 -0
  193. package/dist/locale/ru.d.ts +3 -0
  194. package/dist/transitions/createTransition.d.ts +31 -2
  195. package/dist/transitions/index.d.ts +240 -0
  196. package/dist/utils/date/date.d.ts +190 -0
  197. package/dist/utils/dom/anchor.d.ts +23 -0
  198. package/dist/utils/dom/animation.d.ts +6 -0
  199. package/dist/utils/dom/box.d.ts +26 -0
  200. package/dist/utils/dom/classNames.d.ts +1 -0
  201. package/dist/utils/dom/dom.d.ts +10 -0
  202. package/dist/utils/dom/getScrollParent.d.ts +12 -0
  203. package/dist/utils/dom/globals.d.ts +4 -0
  204. package/dist/utils/dom/scrollTo.d.ts +10 -0
  205. package/dist/utils/dom/warn.d.ts +1 -0
  206. package/dist/utils/dom/wrapperRaf.d.ts +4 -0
  207. package/dist/utils/helpers.d.ts +133 -20
  208. package/dist/utils/index.d.ts +16 -1
  209. package/dist/utils/use/cache.d.ts +4 -0
  210. package/dist/utils/use/eagerComputed.d.ts +3 -0
  211. package/dist/utils/use/pickAttrs.d.ts +11 -0
  212. package/dist/utils/use/reactiveComputed.d.ts +4 -0
  213. package/dist/utils/use/reactivePick.d.ts +8 -0
  214. package/dist/utils/use/toReactive.d.ts +8 -0
  215. package/dist/utils/use/toValue.d.ts +5 -0
  216. package/package.json +8 -5
  217. package/src/scss/mixins/layout/_shadow.scss +4 -0
  218. package/src/scss/mixins/layout/index.scss +1 -0
  219. package/src/scss/modules/_transition.scss +133 -3
  220. package/src/scss/themes/index.ts +1 -1
  221. package/src/scss/utility/lists.scss +1 -0
  222. package/dist/types/CdsOptions.d.ts +0 -3
@@ -0,0 +1,10 @@
1
+ import type { InjectionKey } from 'vue';
2
+ interface IMenuProvider {
3
+ register(): void;
4
+ unregister(): void;
5
+ closeParents(): void;
6
+ }
7
+ export declare const CdsMenuSymbol: InjectionKey<IMenuProvider>;
8
+ export declare const MENU_OPEN_DELAY = 300;
9
+ export declare const MENU_CLOSE_DELAY = 250;
10
+ export {};
@@ -0,0 +1,343 @@
1
+ import type { PropType } from 'vue';
2
+ export declare const componentName = "CdsOverlay";
3
+ declare const _sfc_main: import("vue").DefineComponent<{
4
+ transition: {
5
+ type: PropType<string | boolean | (import("vue").TransitionProps & {
6
+ component?: import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
7
+ })>;
8
+ default: string;
9
+ validator: (value: unknown) => boolean;
10
+ };
11
+ eager: {
12
+ type: PropType<boolean>;
13
+ default: boolean;
14
+ };
15
+ scrollStrategy: {
16
+ type: PropType<"none" | "close" | "block" | "reposition" | ((data: import("./composable").IScrollStrategyData, props: import("./composable").IScrollStrategyProps, scope: import("vue").EffectScope) => void)>;
17
+ default: string;
18
+ validator: (value: any) => boolean;
19
+ };
20
+ locationStrategy: {
21
+ type: PropType<"static" | "connected" | ((data: import("./composable").ILocationStrategyData, props: import("./composable").ILocationStrategyProps, contentStyles: import("vue").Ref<Record<string, string>>) => {
22
+ updateLocation: (event: Event) => void;
23
+ } | undefined)>;
24
+ default: string;
25
+ validator: (value: any) => boolean;
26
+ };
27
+ location: {
28
+ type: PropType<import('../../utils').TAnchor>;
29
+ default: string;
30
+ };
31
+ origin: {
32
+ type: PropType<import('../../utils').TAnchor | "auto" | "overlap">;
33
+ default: string;
34
+ };
35
+ offset: {
36
+ type: PropType<string | number | number[]>;
37
+ default: null;
38
+ };
39
+ height: {
40
+ type: PropType<string | number>;
41
+ default: string;
42
+ };
43
+ width: {
44
+ type: PropType<string | number>;
45
+ default: string;
46
+ };
47
+ maxHeight: {
48
+ type: PropType<string | number>;
49
+ default: string;
50
+ };
51
+ maxWidth: {
52
+ type: PropType<string | number>;
53
+ default: string;
54
+ };
55
+ minHeight: {
56
+ type: PropType<string | number>;
57
+ default: string;
58
+ };
59
+ minWidth: {
60
+ type: PropType<string | number>;
61
+ default: string;
62
+ };
63
+ closeDelay: {
64
+ type: PropType<string | number>;
65
+ default: null;
66
+ };
67
+ openDelay: {
68
+ type: PropType<string | number>;
69
+ default: null;
70
+ };
71
+ activator: {
72
+ type: PropType<string | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | Element>;
73
+ default: null;
74
+ };
75
+ activatorProps: {
76
+ type: PropType<Record<string, any>>;
77
+ default: () => {};
78
+ };
79
+ openOnClick: {
80
+ type: PropType<boolean | undefined>;
81
+ default: undefined;
82
+ };
83
+ openOnHover: {
84
+ type: PropType<boolean>;
85
+ default: boolean;
86
+ };
87
+ openOnFocus: {
88
+ type: PropType<boolean | undefined>;
89
+ default: undefined;
90
+ };
91
+ closeOnContentClick: {
92
+ type: PropType<boolean>;
93
+ default: boolean;
94
+ };
95
+ attach: {
96
+ type: PropType<string | boolean | Element>;
97
+ default: boolean;
98
+ };
99
+ contained: {
100
+ type: PropType<boolean>;
101
+ default: boolean;
102
+ };
103
+ disabled: {
104
+ type: PropType<boolean>;
105
+ default: boolean;
106
+ };
107
+ persistent: {
108
+ type: PropType<boolean>;
109
+ default: boolean;
110
+ };
111
+ scrim: {
112
+ type: PropType<string | boolean>;
113
+ default: boolean;
114
+ };
115
+ modelValue: {
116
+ type: PropType<boolean>;
117
+ default: boolean;
118
+ };
119
+ closeOnBack: {
120
+ type: PropType<boolean>;
121
+ default: boolean;
122
+ };
123
+ zIndex: {
124
+ type: PropType<string | number>;
125
+ default: number;
126
+ };
127
+ contentClasses: {
128
+ type: PropType<string | string[] | Record<string, boolean>>;
129
+ default: null;
130
+ };
131
+ contentProps: {
132
+ type: PropType<Record<string, unknown>>;
133
+ default: () => {};
134
+ };
135
+ /**
136
+ * Применяет position: absolute к содержимому оверлея
137
+ */
138
+ absolute: {
139
+ type: PropType<boolean>;
140
+ default: boolean;
141
+ };
142
+ }, {
143
+ activatorEl: import("vue").Ref<HTMLElement | undefined>;
144
+ contentEl: import("vue").Ref<HTMLElement | undefined>;
145
+ globalTop: Readonly<import("vue").Ref<boolean>>;
146
+ localTop: import("vue").ComputedRef<boolean>;
147
+ updateLocation: import("vue").Ref<((event: Event) => void) | undefined>;
148
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
149
+ /**
150
+ * Событие при изменении значения (v-model)
151
+ * @type { boolean }
152
+ */
153
+ 'update:modelValue': (value: boolean) => true;
154
+ /**
155
+ * Событие, которое срабатывает при клике вне оверлея.
156
+ */
157
+ 'click:outside': (event: MouseEvent) => true;
158
+ /**
159
+ * Событие после исчезновения оверлея
160
+ */
161
+ afterLeave: () => true;
162
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
163
+ transition: {
164
+ type: PropType<string | boolean | (import("vue").TransitionProps & {
165
+ component?: import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
166
+ })>;
167
+ default: string;
168
+ validator: (value: unknown) => boolean;
169
+ };
170
+ eager: {
171
+ type: PropType<boolean>;
172
+ default: boolean;
173
+ };
174
+ scrollStrategy: {
175
+ type: PropType<"none" | "close" | "block" | "reposition" | ((data: import("./composable").IScrollStrategyData, props: import("./composable").IScrollStrategyProps, scope: import("vue").EffectScope) => void)>;
176
+ default: string;
177
+ validator: (value: any) => boolean;
178
+ };
179
+ locationStrategy: {
180
+ type: PropType<"static" | "connected" | ((data: import("./composable").ILocationStrategyData, props: import("./composable").ILocationStrategyProps, contentStyles: import("vue").Ref<Record<string, string>>) => {
181
+ updateLocation: (event: Event) => void;
182
+ } | undefined)>;
183
+ default: string;
184
+ validator: (value: any) => boolean;
185
+ };
186
+ location: {
187
+ type: PropType<import('../../utils').TAnchor>;
188
+ default: string;
189
+ };
190
+ origin: {
191
+ type: PropType<import('../../utils').TAnchor | "auto" | "overlap">;
192
+ default: string;
193
+ };
194
+ offset: {
195
+ type: PropType<string | number | number[]>;
196
+ default: null;
197
+ };
198
+ height: {
199
+ type: PropType<string | number>;
200
+ default: string;
201
+ };
202
+ width: {
203
+ type: PropType<string | number>;
204
+ default: string;
205
+ };
206
+ maxHeight: {
207
+ type: PropType<string | number>;
208
+ default: string;
209
+ };
210
+ maxWidth: {
211
+ type: PropType<string | number>;
212
+ default: string;
213
+ };
214
+ minHeight: {
215
+ type: PropType<string | number>;
216
+ default: string;
217
+ };
218
+ minWidth: {
219
+ type: PropType<string | number>;
220
+ default: string;
221
+ };
222
+ closeDelay: {
223
+ type: PropType<string | number>;
224
+ default: null;
225
+ };
226
+ openDelay: {
227
+ type: PropType<string | number>;
228
+ default: null;
229
+ };
230
+ activator: {
231
+ type: PropType<string | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | Element>;
232
+ default: null;
233
+ };
234
+ activatorProps: {
235
+ type: PropType<Record<string, any>>;
236
+ default: () => {};
237
+ };
238
+ openOnClick: {
239
+ type: PropType<boolean | undefined>;
240
+ default: undefined;
241
+ };
242
+ openOnHover: {
243
+ type: PropType<boolean>;
244
+ default: boolean;
245
+ };
246
+ openOnFocus: {
247
+ type: PropType<boolean | undefined>;
248
+ default: undefined;
249
+ };
250
+ closeOnContentClick: {
251
+ type: PropType<boolean>;
252
+ default: boolean;
253
+ };
254
+ attach: {
255
+ type: PropType<string | boolean | Element>;
256
+ default: boolean;
257
+ };
258
+ contained: {
259
+ type: PropType<boolean>;
260
+ default: boolean;
261
+ };
262
+ disabled: {
263
+ type: PropType<boolean>;
264
+ default: boolean;
265
+ };
266
+ persistent: {
267
+ type: PropType<boolean>;
268
+ default: boolean;
269
+ };
270
+ scrim: {
271
+ type: PropType<string | boolean>;
272
+ default: boolean;
273
+ };
274
+ modelValue: {
275
+ type: PropType<boolean>;
276
+ default: boolean;
277
+ };
278
+ closeOnBack: {
279
+ type: PropType<boolean>;
280
+ default: boolean;
281
+ };
282
+ zIndex: {
283
+ type: PropType<string | number>;
284
+ default: number;
285
+ };
286
+ contentClasses: {
287
+ type: PropType<string | string[] | Record<string, boolean>>;
288
+ default: null;
289
+ };
290
+ contentProps: {
291
+ type: PropType<Record<string, unknown>>;
292
+ default: () => {};
293
+ };
294
+ /**
295
+ * Применяет position: absolute к содержимому оверлея
296
+ */
297
+ absolute: {
298
+ type: PropType<boolean>;
299
+ default: boolean;
300
+ };
301
+ }>> & {
302
+ onAfterLeave?: (() => any) | undefined;
303
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
304
+ "onClick:outside"?: ((event: MouseEvent) => any) | undefined;
305
+ }, {
306
+ disabled: boolean;
307
+ location: import('../../utils').TAnchor;
308
+ transition: string | boolean | (import("vue").TransitionProps & {
309
+ component?: import("vue").Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions> | undefined;
310
+ });
311
+ origin: import('../../utils').TAnchor | "auto" | "overlap";
312
+ modelValue: boolean;
313
+ attach: string | boolean | Element;
314
+ contained: boolean;
315
+ persistent: boolean;
316
+ scrim: string | boolean;
317
+ closeOnBack: boolean;
318
+ zIndex: string | number;
319
+ contentClasses: string | string[] | Record<string, boolean>;
320
+ contentProps: Record<string, unknown>;
321
+ activator: string | import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | Element;
322
+ activatorProps: Record<string, any>;
323
+ openOnClick: boolean | undefined;
324
+ openOnHover: boolean;
325
+ openOnFocus: boolean | undefined;
326
+ closeOnContentClick: boolean;
327
+ closeDelay: string | number;
328
+ openDelay: string | number;
329
+ locationStrategy: "static" | "connected" | ((data: import("./composable").ILocationStrategyData, props: import("./composable").ILocationStrategyProps, contentStyles: import("vue").Ref<Record<string, string>>) => {
330
+ updateLocation: (event: Event) => void;
331
+ } | undefined);
332
+ offset: string | number | number[];
333
+ scrollStrategy: "none" | "close" | "block" | "reposition" | ((data: import("./composable").IScrollStrategyData, props: import("./composable").IScrollStrategyProps, scope: import("vue").EffectScope) => void);
334
+ eager: boolean;
335
+ height: string | number;
336
+ width: string | number;
337
+ maxHeight: string | number;
338
+ maxWidth: string | number;
339
+ minHeight: string | number;
340
+ minWidth: string | number;
341
+ absolute: boolean;
342
+ }>;
343
+ export default _sfc_main;
@@ -0,0 +1,81 @@
1
+ import { ComputedRef } from 'vue';
2
+ import type { ComponentPublicInstance, PropType, Ref } from 'vue';
3
+ import type { IDelayProps } from '../../../composable';
4
+ export interface IActivatorProps extends IDelayProps {
5
+ activator: 'parent' | string | Element | ComponentPublicInstance;
6
+ activatorProps: Record<string, any>;
7
+ openOnClick: boolean | undefined;
8
+ openOnHover: boolean;
9
+ openOnFocus: boolean | undefined;
10
+ closeOnContentClick: boolean;
11
+ }
12
+ export interface IUseActivator {
13
+ activatorEl: Ref<HTMLElement | undefined>;
14
+ activatorRef: Ref<HTMLElement | undefined>;
15
+ activatorEvents: ComputedRef<Partial<TAvailableEvents>>;
16
+ contentEvents: ComputedRef<Partial<TAvailableEvents>>;
17
+ scrimEvents: ComputedRef<Partial<TAvailableEvents>>;
18
+ }
19
+ declare type TAvailableEvents = {
20
+ click: (event: MouseEvent) => void;
21
+ mouseenter: (event: MouseEvent) => void;
22
+ mouseleave: (event: MouseEvent) => void;
23
+ focus: (event: FocusEvent) => void;
24
+ blur: (event: FocusEvent) => void;
25
+ };
26
+ export declare const makeActivatorProps: <Defaults extends {
27
+ activator?: unknown;
28
+ activatorProps?: unknown;
29
+ openOnClick?: unknown;
30
+ openOnHover?: unknown;
31
+ openOnFocus?: unknown;
32
+ closeOnContentClick?: unknown;
33
+ } = {}>(defaults?: Defaults | undefined) => import('../../../utils').AppendDefault<{
34
+ /**
35
+ * Элемент, который будет активировать компонент
36
+ */
37
+ activator: {
38
+ type: PropType<string | ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | Element>;
39
+ default: null;
40
+ };
41
+ /**
42
+ * Свойства для элемента активатора
43
+ */
44
+ activatorProps: {
45
+ type: PropType<Record<string, any>>;
46
+ default: () => {};
47
+ };
48
+ /**
49
+ * Показать компонент по клику на активатор
50
+ */
51
+ openOnClick: {
52
+ type: PropType<boolean | undefined>;
53
+ default: undefined;
54
+ };
55
+ /**
56
+ * Показать компонент по наведению на активатор
57
+ */
58
+ openOnHover: {
59
+ type: PropType<boolean>;
60
+ default: boolean;
61
+ };
62
+ /**
63
+ * Показать компонент по фокусу на активатор
64
+ */
65
+ openOnFocus: {
66
+ type: PropType<boolean | undefined>;
67
+ default: undefined;
68
+ };
69
+ /**
70
+ * Скрыть компонент по клику на контент
71
+ */
72
+ closeOnContentClick: {
73
+ type: PropType<boolean>;
74
+ default: boolean;
75
+ };
76
+ }, Defaults>;
77
+ export declare function useActivator(props: IActivatorProps, { isActive, isTop }: {
78
+ isActive: Ref<boolean>;
79
+ isTop: Ref<boolean>;
80
+ }): IUseActivator;
81
+ export {};
@@ -0,0 +1,6 @@
1
+ export * from './teleport';
2
+ export * from './stack';
3
+ export * from './activator';
4
+ export * from './locationStrategies';
5
+ export * from './scrollStrategies';
6
+ export * from './scrim';
@@ -0,0 +1,78 @@
1
+ import { Box, TAnchor } from '../../../utils';
2
+ import type { PropType, Ref } from 'vue';
3
+ export interface ILocationStrategyData {
4
+ contentEl: Ref<HTMLElement | undefined>;
5
+ activatorEl: Ref<HTMLElement | undefined>;
6
+ isActive: Ref<boolean>;
7
+ }
8
+ declare type TLocationStrategyFn = (data: ILocationStrategyData, props: ILocationStrategyProps, contentStyles: Ref<Record<string, string>>) => undefined | {
9
+ updateLocation: (event: Event) => void;
10
+ };
11
+ declare const locationStrategies: {
12
+ static: typeof staticLocationStrategy;
13
+ connected: typeof connectedLocationStrategy;
14
+ };
15
+ export interface ILocationStrategyProps {
16
+ locationStrategy: keyof typeof locationStrategies | TLocationStrategyFn;
17
+ location: TAnchor;
18
+ origin: TAnchor | 'auto' | 'overlap';
19
+ offset?: number | string | number[];
20
+ maxHeight: number | string;
21
+ maxWidth: number | string;
22
+ minHeight: number | string;
23
+ minWidth: number | string;
24
+ }
25
+ export interface IUseLocationStrategies {
26
+ contentStyles: Ref<Record<string, string>>;
27
+ updateLocation: Ref<((event: Event) => void) | undefined>;
28
+ }
29
+ export declare const makeLocationStrategyProps: <Defaults extends {
30
+ locationStrategy?: unknown;
31
+ location?: unknown;
32
+ origin?: unknown;
33
+ offset?: unknown;
34
+ } = {}>(defaults?: Defaults | undefined) => import('../../../utils').AppendDefault<{
35
+ /**
36
+ * Стратегия позиционирования компонента
37
+ */
38
+ locationStrategy: {
39
+ type: PropType<"static" | "connected" | TLocationStrategyFn>;
40
+ default: string;
41
+ validator: (value: any) => boolean;
42
+ };
43
+ /**
44
+ * Выравнивание компонент по краям top, bottom, left, right. Можно комбинировать, например, top left
45
+ */
46
+ location: {
47
+ type: PropType<TAnchor>;
48
+ default: string;
49
+ };
50
+ /**
51
+ * Откуда будет рассчитываться появление компонента
52
+ */
53
+ origin: {
54
+ type: PropType<TAnchor | "auto" | "overlap">;
55
+ default: string;
56
+ };
57
+ /**
58
+ * Отступы компонента от активатора
59
+ */
60
+ offset: {
61
+ type: PropType<string | number | number[]>;
62
+ default: null;
63
+ };
64
+ }, Defaults>;
65
+ export declare function useLocationStrategies(props: ILocationStrategyProps, data: ILocationStrategyData): IUseLocationStrategies;
66
+ declare function staticLocationStrategy(): {
67
+ updateLocation: () => void;
68
+ };
69
+ declare function connectedLocationStrategy(data: ILocationStrategyData, props: ILocationStrategyProps, contentStyles: Ref<Record<string, string>>): {
70
+ updateLocation: () => {
71
+ available: {
72
+ x: number;
73
+ y: number;
74
+ };
75
+ contentBox: Box;
76
+ } | undefined;
77
+ };
78
+ export {};
@@ -0,0 +1,8 @@
1
+ interface IScrimProps {
2
+ [key: string]: unknown;
3
+ modelValue: boolean;
4
+ }
5
+ export declare function CdsScrim(props: IScrimProps): import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
6
+ [key: string]: any;
7
+ }>;
8
+ export {};
@@ -0,0 +1,33 @@
1
+ import type { EffectScope, PropType, Ref } from 'vue';
2
+ export interface IScrollStrategyData {
3
+ root: Ref<HTMLElement | undefined>;
4
+ contentEl: Ref<HTMLElement | undefined>;
5
+ activatorEl: Ref<HTMLElement | undefined>;
6
+ isActive: Ref<boolean>;
7
+ updateLocation: Ref<((event: Event) => void) | undefined>;
8
+ }
9
+ declare type TScrollStrategyFn = (data: IScrollStrategyData, props: IScrollStrategyProps, scope: EffectScope) => void;
10
+ declare const scrollStrategies: {
11
+ none: null;
12
+ close: typeof closeScrollStrategy;
13
+ block: typeof blockScrollStrategy;
14
+ reposition: typeof repositionScrollStrategy;
15
+ };
16
+ export interface IScrollStrategyProps {
17
+ scrollStrategy: keyof typeof scrollStrategies | TScrollStrategyFn;
18
+ contained: boolean | undefined;
19
+ }
20
+ export declare const makeScrollStrategyProps: <Defaults extends {
21
+ scrollStrategy?: unknown;
22
+ } = {}>(defaults?: Defaults | undefined) => import('../../../utils').AppendDefault<{
23
+ scrollStrategy: {
24
+ type: PropType<"none" | "close" | "block" | "reposition" | TScrollStrategyFn>;
25
+ default: string;
26
+ validator: (value: any) => boolean;
27
+ };
28
+ }, Defaults>;
29
+ export declare function useScrollStrategies(props: IScrollStrategyProps, data: IScrollStrategyData): void;
30
+ declare function closeScrollStrategy(data: IScrollStrategyData): void;
31
+ declare function blockScrollStrategy(data: IScrollStrategyData, props: IScrollStrategyProps): void;
32
+ declare function repositionScrollStrategy(data: IScrollStrategyData, props: IScrollStrategyProps, scope: EffectScope): void;
33
+ export {};
@@ -0,0 +1,9 @@
1
+ import type { ComputedRef, Ref } from 'vue';
2
+ export interface IUseStack {
3
+ globalTop: Readonly<Ref<boolean>>;
4
+ localTop: ComputedRef<boolean>;
5
+ stackStyles: ComputedRef<{
6
+ zIndex: number;
7
+ }>;
8
+ }
9
+ export declare function useStack(isActive: Readonly<Ref<boolean>>, zIndex: Readonly<Ref<string | number>>, disableGlobalStack?: boolean): IUseStack;
@@ -0,0 +1,6 @@
1
+ import { ComputedRef } from 'vue';
2
+ import type { Ref } from 'vue';
3
+ export interface IUseTeleport {
4
+ teleportTarget: ComputedRef<Element | undefined>;
5
+ }
6
+ export declare function useTeleport(target: Ref<boolean | string | Element>, overlayContainerClassName: string): IUseTeleport;
@@ -0,0 +1 @@
1
+ export { default as CdsOverlay } from './CdsOverlay.vue';
@@ -0,0 +1,2 @@
1
+ export * from './point';
2
+ export * from './requestNewFrame';
@@ -0,0 +1,20 @@
1
+ import { Box, ParsedAnchor } from '../../../utils';
2
+ declare type Point = {
3
+ x: number;
4
+ y: number;
5
+ };
6
+ declare class As<T extends string> {
7
+ private as;
8
+ }
9
+ declare type ElementPoint = Point & As<'element'>;
10
+ declare type ViewportPoint = Point & As<'viewport'>;
11
+ declare type Offset = Point & As<'offset'>;
12
+ /** Convert a point in local space to viewport space */
13
+ export declare function elementToViewport(point: ElementPoint, offset: Offset | Box): ViewportPoint;
14
+ /** Convert a point in viewport space to local space */
15
+ export declare function viewportToElement(point: ViewportPoint, offset: Offset | Box): ElementPoint;
16
+ /** Get the difference between two points */
17
+ export declare function getOffset<T extends Point>(a: T, b: T): Offset;
18
+ /** Convert an anchor object to a point in local space */
19
+ export declare function anchorToPoint(anchor: ParsedAnchor, box: Box): ViewportPoint;
20
+ export {};
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Schedule a task to run in an animation frame on its own
3
+ * This is useful for heavy tasks that may cause jank if all ran together
4
+ */
5
+ export declare function requestNewFrame(cb: () => void): void;