@maltjoy/core-vue 3.17.2 → 3.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,5 @@
1
+ export interface IDialogOpenOption {
2
+ callback?: (...args: any) => void;
3
+ preventBodyScroll?: boolean;
4
+ patternConfirm?: boolean;
5
+ }
@@ -0,0 +1,144 @@
1
+ import { PropType } from 'vue';
2
+ import { TJoyButtonSizes } from '../JoyButton/JoyButton.types';
3
+ import { IDialogOpenOption } from './JoyDialog.types';
4
+ declare function hideOverlay(): Promise<void>;
5
+ declare function openOverlay(options?: IDialogOpenOption): Promise<void>;
6
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
7
+ /** By default a focus-trap is activated. It means you can loop over all interactive elements within the open dialog. */
8
+ focusTrap: {
9
+ type: BooleanConstructor;
10
+ default: boolean;
11
+ };
12
+ /** By default the dialog is teleported to the end of body tag */
13
+ teleport: {
14
+ type: PropType<string | import("vue").RendererElement | null | undefined>;
15
+ default: string;
16
+ };
17
+ open: {
18
+ type: BooleanConstructor;
19
+ default: boolean;
20
+ };
21
+ /** **For accessibility purpose**. Label associated with the top right corner icon. */
22
+ closeLabel: {
23
+ type: StringConstructor;
24
+ default: string;
25
+ };
26
+ /** Display the dialog without the top right icon to close it.
27
+ * Click on backdrop is disabled and pressing Escape does not trigger anything.
28
+ */
29
+ patternConfirm: {
30
+ type: BooleanConstructor;
31
+ default: boolean;
32
+ };
33
+ /** Use this property to directly create a cancel CTA (VJoyButton), if you don't need to customize the CTA. */
34
+ cancelText: {
35
+ type: StringConstructor;
36
+ };
37
+ /** Use this property to directly create a confirm CTA (VJoyButton), if you don't need to customize the CTA. */
38
+ confirmText: {
39
+ type: StringConstructor;
40
+ };
41
+ buttonSize: {
42
+ type: PropType<TJoyButtonSizes>;
43
+ default: string;
44
+ };
45
+ /** Link to inject an image on top of the dialog */
46
+ bannerSrc: {
47
+ type: StringConstructor;
48
+ };
49
+ /** Based on CSS propetty background-position. https://developer.mozilla.org/en-US/docs/Web/CSS/background-position */
50
+ bannerPosition: {
51
+ type: StringConstructor;
52
+ };
53
+ bannerHeight: {
54
+ type: NumberConstructor;
55
+ default: number;
56
+ };
57
+ }, {
58
+ openOverlay: typeof openOverlay;
59
+ hasFooterSlots: import("vue").ComputedRef<boolean>;
60
+ hideOverlay: typeof hideOverlay;
61
+ isOpen: import("vue").Ref<boolean>;
62
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
63
+ "dialog:open": () => void;
64
+ "dialog:after-open": () => void;
65
+ "dialog:hide": () => void;
66
+ "dialog:after-hide": () => void;
67
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
68
+ /** By default a focus-trap is activated. It means you can loop over all interactive elements within the open dialog. */
69
+ focusTrap: {
70
+ type: BooleanConstructor;
71
+ default: boolean;
72
+ };
73
+ /** By default the dialog is teleported to the end of body tag */
74
+ teleport: {
75
+ type: PropType<string | import("vue").RendererElement | null | undefined>;
76
+ default: string;
77
+ };
78
+ open: {
79
+ type: BooleanConstructor;
80
+ default: boolean;
81
+ };
82
+ /** **For accessibility purpose**. Label associated with the top right corner icon. */
83
+ closeLabel: {
84
+ type: StringConstructor;
85
+ default: string;
86
+ };
87
+ /** Display the dialog without the top right icon to close it.
88
+ * Click on backdrop is disabled and pressing Escape does not trigger anything.
89
+ */
90
+ patternConfirm: {
91
+ type: BooleanConstructor;
92
+ default: boolean;
93
+ };
94
+ /** Use this property to directly create a cancel CTA (VJoyButton), if you don't need to customize the CTA. */
95
+ cancelText: {
96
+ type: StringConstructor;
97
+ };
98
+ /** Use this property to directly create a confirm CTA (VJoyButton), if you don't need to customize the CTA. */
99
+ confirmText: {
100
+ type: StringConstructor;
101
+ };
102
+ buttonSize: {
103
+ type: PropType<TJoyButtonSizes>;
104
+ default: string;
105
+ };
106
+ /** Link to inject an image on top of the dialog */
107
+ bannerSrc: {
108
+ type: StringConstructor;
109
+ };
110
+ /** Based on CSS propetty background-position. https://developer.mozilla.org/en-US/docs/Web/CSS/background-position */
111
+ bannerPosition: {
112
+ type: StringConstructor;
113
+ };
114
+ bannerHeight: {
115
+ type: NumberConstructor;
116
+ default: number;
117
+ };
118
+ }>> & {
119
+ "onDialog:open"?: (() => any) | undefined;
120
+ "onDialog:after-open"?: (() => any) | undefined;
121
+ "onDialog:hide"?: (() => any) | undefined;
122
+ "onDialog:after-hide"?: (() => any) | undefined;
123
+ }, {
124
+ focusTrap: boolean;
125
+ teleport: string | import("vue").RendererElement | null | undefined;
126
+ open: boolean;
127
+ closeLabel: string;
128
+ patternConfirm: boolean;
129
+ buttonSize: TJoyButtonSizes;
130
+ bannerHeight: number;
131
+ }, {}>, {
132
+ "dialog-header"?(_: {}): any;
133
+ "dialog-subheader"?(_: {}): any;
134
+ "dialog-body"?(_: {}): any;
135
+ "dialog-cancel"?(_: {}): any;
136
+ "dialog-confirm"?(_: {}): any;
137
+ "dialog-indicators"?(_: {}): any;
138
+ }>;
139
+ export default _default;
140
+ type __VLS_WithTemplateSlots<T, S> = T & {
141
+ new (): {
142
+ $slots: S;
143
+ };
144
+ };
@@ -0,0 +1,463 @@
1
+ import { VNode } from 'vue';
2
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
3
+ dialog: {
4
+ type: import("vue").PropType<({
5
+ $: import("vue").ComponentInternalInstance;
6
+ $data: {};
7
+ $props: {
8
+ focusTrap?: boolean | undefined;
9
+ teleport?: string | import("vue").RendererElement | null | undefined;
10
+ open?: boolean | undefined;
11
+ closeLabel?: string | undefined;
12
+ patternConfirm?: boolean | undefined;
13
+ buttonSize?: import("../components.types").TJoyButtonSizes | undefined;
14
+ bannerHeight?: number | undefined;
15
+ style?: unknown;
16
+ class?: unknown;
17
+ key?: string | number | symbol | undefined;
18
+ ref?: import("vue").VNodeRef | undefined;
19
+ ref_for?: boolean | undefined;
20
+ ref_key?: string | undefined;
21
+ onVnodeBeforeMount?: ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
22
+ [key: string]: any;
23
+ }>) => void) | ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
24
+ [key: string]: any;
25
+ }>) => void)[] | undefined;
26
+ onVnodeMounted?: ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
27
+ [key: string]: any;
28
+ }>) => void) | ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
29
+ [key: string]: any;
30
+ }>) => void)[] | undefined;
31
+ onVnodeBeforeUpdate?: ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
32
+ [key: string]: any;
33
+ }>, oldVNode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
34
+ [key: string]: any;
35
+ }>) => void) | ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
36
+ [key: string]: any;
37
+ }>, oldVNode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
38
+ [key: string]: any;
39
+ }>) => void)[] | undefined;
40
+ onVnodeUpdated?: ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
41
+ [key: string]: any;
42
+ }>, oldVNode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
43
+ [key: string]: any;
44
+ }>) => void) | ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
45
+ [key: string]: any;
46
+ }>, oldVNode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
47
+ [key: string]: any;
48
+ }>) => void)[] | undefined;
49
+ onVnodeBeforeUnmount?: ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
50
+ [key: string]: any;
51
+ }>) => void) | ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
52
+ [key: string]: any;
53
+ }>) => void)[] | undefined;
54
+ onVnodeUnmounted?: ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
55
+ [key: string]: any;
56
+ }>) => void) | ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
57
+ [key: string]: any;
58
+ }>) => void)[] | undefined;
59
+ readonly cancelText?: string | undefined;
60
+ readonly confirmText?: string | undefined;
61
+ readonly bannerSrc?: string | undefined;
62
+ readonly bannerPosition?: string | undefined;
63
+ "onDialog:open"?: (() => any) | undefined;
64
+ "onDialog:after-open"?: (() => any) | undefined;
65
+ "onDialog:hide"?: (() => any) | undefined;
66
+ "onDialog:after-hide"?: (() => any) | undefined;
67
+ };
68
+ $attrs: {
69
+ [x: string]: unknown;
70
+ };
71
+ $refs: {
72
+ [x: string]: unknown;
73
+ };
74
+ $slots: Readonly<{
75
+ [name: string]: import("vue").Slot<any> | undefined;
76
+ }>;
77
+ $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
78
+ $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
79
+ $emit: ((event: "dialog:open") => void) & ((event: "dialog:after-open") => void) & ((event: "dialog:hide") => void) & ((event: "dialog:after-hide") => void);
80
+ $el: any;
81
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
82
+ focusTrap: {
83
+ type: BooleanConstructor;
84
+ default: boolean;
85
+ };
86
+ teleport: {
87
+ type: import("vue").PropType<string | import("vue").RendererElement | null | undefined>;
88
+ default: string;
89
+ };
90
+ open: {
91
+ type: BooleanConstructor;
92
+ default: boolean;
93
+ };
94
+ closeLabel: {
95
+ type: StringConstructor;
96
+ default: string;
97
+ };
98
+ patternConfirm: {
99
+ type: BooleanConstructor;
100
+ default: boolean;
101
+ };
102
+ cancelText: {
103
+ type: StringConstructor;
104
+ };
105
+ confirmText: {
106
+ type: StringConstructor;
107
+ };
108
+ buttonSize: {
109
+ type: import("vue").PropType<import("../components.types").TJoyButtonSizes>;
110
+ default: string;
111
+ };
112
+ bannerSrc: {
113
+ type: StringConstructor;
114
+ };
115
+ bannerPosition: {
116
+ type: StringConstructor;
117
+ };
118
+ bannerHeight: {
119
+ type: NumberConstructor;
120
+ default: number;
121
+ };
122
+ }>> & {
123
+ "onDialog:open"?: (() => any) | undefined;
124
+ "onDialog:after-open"?: (() => any) | undefined;
125
+ "onDialog:hide"?: (() => any) | undefined;
126
+ "onDialog:after-hide"?: (() => any) | undefined;
127
+ }, {
128
+ openOverlay: (options?: import("../components.types").IDialogOpenOption | undefined) => Promise<void>;
129
+ hasFooterSlots: import("vue").ComputedRef<boolean>;
130
+ hideOverlay: () => Promise<void>;
131
+ isOpen: import("vue").Ref<boolean>;
132
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
133
+ "dialog:open": () => void;
134
+ "dialog:after-open": () => void;
135
+ "dialog:hide": () => void;
136
+ "dialog:after-hide": () => void;
137
+ }, string, {
138
+ focusTrap: boolean;
139
+ teleport: string | import("vue").RendererElement | null | undefined;
140
+ open: boolean;
141
+ closeLabel: string;
142
+ patternConfirm: boolean;
143
+ buttonSize: import("../components.types").TJoyButtonSizes;
144
+ bannerHeight: number;
145
+ }, {}, string, {}> & {
146
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
147
+ created?: ((() => void) | (() => void)[]) | undefined;
148
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
149
+ mounted?: ((() => void) | (() => void)[]) | undefined;
150
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
151
+ updated?: ((() => void) | (() => void)[]) | undefined;
152
+ activated?: ((() => void) | (() => void)[]) | undefined;
153
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
154
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
155
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
156
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
157
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
158
+ renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
159
+ renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
160
+ errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined;
161
+ };
162
+ $forceUpdate: () => void;
163
+ $nextTick: typeof import("vue").nextTick;
164
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
165
+ } & Readonly<import("vue").ExtractPropTypes<{
166
+ focusTrap: {
167
+ type: BooleanConstructor;
168
+ default: boolean;
169
+ };
170
+ teleport: {
171
+ type: import("vue").PropType<string | import("vue").RendererElement | null | undefined>;
172
+ default: string;
173
+ };
174
+ open: {
175
+ type: BooleanConstructor;
176
+ default: boolean;
177
+ };
178
+ closeLabel: {
179
+ type: StringConstructor;
180
+ default: string;
181
+ };
182
+ patternConfirm: {
183
+ type: BooleanConstructor;
184
+ default: boolean;
185
+ };
186
+ cancelText: {
187
+ type: StringConstructor;
188
+ };
189
+ confirmText: {
190
+ type: StringConstructor;
191
+ };
192
+ buttonSize: {
193
+ type: import("vue").PropType<import("../components.types").TJoyButtonSizes>;
194
+ default: string;
195
+ };
196
+ bannerSrc: {
197
+ type: StringConstructor;
198
+ };
199
+ bannerPosition: {
200
+ type: StringConstructor;
201
+ };
202
+ bannerHeight: {
203
+ type: NumberConstructor;
204
+ default: number;
205
+ };
206
+ }>> & {
207
+ "onDialog:open"?: (() => any) | undefined;
208
+ "onDialog:after-open"?: (() => any) | undefined;
209
+ "onDialog:hide"?: (() => any) | undefined;
210
+ "onDialog:after-hide"?: (() => any) | undefined;
211
+ } & import("vue").ShallowUnwrapRef<{
212
+ openOverlay: (options?: import("../components.types").IDialogOpenOption | undefined) => Promise<void>;
213
+ hasFooterSlots: import("vue").ComputedRef<boolean>;
214
+ hideOverlay: () => Promise<void>;
215
+ isOpen: import("vue").Ref<boolean>;
216
+ }> & {} & import("vue").ComponentCustomProperties & {} & {
217
+ $slots: {
218
+ "dialog-header"?(_: {}): any;
219
+ "dialog-subheader"?(_: {}): any;
220
+ "dialog-body"?(_: {}): any;
221
+ "dialog-cancel"?(_: {}): any;
222
+ "dialog-confirm"?(_: {}): any;
223
+ "dialog-indicators"?(_: {}): any;
224
+ };
225
+ }) | null | undefined>;
226
+ required: true;
227
+ };
228
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
229
+ dialog: {
230
+ type: import("vue").PropType<({
231
+ $: import("vue").ComponentInternalInstance;
232
+ $data: {};
233
+ $props: {
234
+ focusTrap?: boolean | undefined;
235
+ teleport?: string | import("vue").RendererElement | null | undefined;
236
+ open?: boolean | undefined;
237
+ closeLabel?: string | undefined;
238
+ patternConfirm?: boolean | undefined;
239
+ buttonSize?: import("../components.types").TJoyButtonSizes | undefined;
240
+ bannerHeight?: number | undefined;
241
+ style?: unknown;
242
+ class?: unknown;
243
+ key?: string | number | symbol | undefined;
244
+ ref?: import("vue").VNodeRef | undefined;
245
+ ref_for?: boolean | undefined;
246
+ ref_key?: string | undefined;
247
+ onVnodeBeforeMount?: ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
248
+ [key: string]: any;
249
+ }>) => void) | ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
250
+ [key: string]: any;
251
+ }>) => void)[] | undefined;
252
+ onVnodeMounted?: ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
253
+ [key: string]: any;
254
+ }>) => void) | ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
255
+ [key: string]: any;
256
+ }>) => void)[] | undefined;
257
+ onVnodeBeforeUpdate?: ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
258
+ [key: string]: any;
259
+ }>, oldVNode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
260
+ [key: string]: any;
261
+ }>) => void) | ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
262
+ [key: string]: any;
263
+ }>, oldVNode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
264
+ [key: string]: any;
265
+ }>) => void)[] | undefined;
266
+ onVnodeUpdated?: ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
267
+ [key: string]: any;
268
+ }>, oldVNode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
269
+ [key: string]: any;
270
+ }>) => void) | ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
271
+ [key: string]: any;
272
+ }>, oldVNode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
273
+ [key: string]: any;
274
+ }>) => void)[] | undefined;
275
+ onVnodeBeforeUnmount?: ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
276
+ [key: string]: any;
277
+ }>) => void) | ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
278
+ [key: string]: any;
279
+ }>) => void)[] | undefined;
280
+ onVnodeUnmounted?: ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
281
+ [key: string]: any;
282
+ }>) => void) | ((vnode: VNode<import("vue").RendererNode, import("vue").RendererElement, {
283
+ [key: string]: any;
284
+ }>) => void)[] | undefined;
285
+ readonly cancelText?: string | undefined;
286
+ readonly confirmText?: string | undefined;
287
+ readonly bannerSrc?: string | undefined;
288
+ readonly bannerPosition?: string | undefined;
289
+ "onDialog:open"?: (() => any) | undefined;
290
+ "onDialog:after-open"?: (() => any) | undefined;
291
+ "onDialog:hide"?: (() => any) | undefined;
292
+ "onDialog:after-hide"?: (() => any) | undefined;
293
+ };
294
+ $attrs: {
295
+ [x: string]: unknown;
296
+ };
297
+ $refs: {
298
+ [x: string]: unknown;
299
+ };
300
+ $slots: Readonly<{
301
+ [name: string]: import("vue").Slot<any> | undefined;
302
+ }>;
303
+ $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
304
+ $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null;
305
+ $emit: ((event: "dialog:open") => void) & ((event: "dialog:after-open") => void) & ((event: "dialog:hide") => void) & ((event: "dialog:after-hide") => void);
306
+ $el: any;
307
+ $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
308
+ focusTrap: {
309
+ type: BooleanConstructor;
310
+ default: boolean;
311
+ };
312
+ teleport: {
313
+ type: import("vue").PropType<string | import("vue").RendererElement | null | undefined>;
314
+ default: string;
315
+ };
316
+ open: {
317
+ type: BooleanConstructor;
318
+ default: boolean;
319
+ };
320
+ closeLabel: {
321
+ type: StringConstructor;
322
+ default: string;
323
+ };
324
+ patternConfirm: {
325
+ type: BooleanConstructor;
326
+ default: boolean;
327
+ };
328
+ cancelText: {
329
+ type: StringConstructor;
330
+ };
331
+ confirmText: {
332
+ type: StringConstructor;
333
+ };
334
+ buttonSize: {
335
+ type: import("vue").PropType<import("../components.types").TJoyButtonSizes>;
336
+ default: string;
337
+ };
338
+ bannerSrc: {
339
+ type: StringConstructor;
340
+ };
341
+ bannerPosition: {
342
+ type: StringConstructor;
343
+ };
344
+ bannerHeight: {
345
+ type: NumberConstructor;
346
+ default: number;
347
+ };
348
+ }>> & {
349
+ "onDialog:open"?: (() => any) | undefined;
350
+ "onDialog:after-open"?: (() => any) | undefined;
351
+ "onDialog:hide"?: (() => any) | undefined;
352
+ "onDialog:after-hide"?: (() => any) | undefined;
353
+ }, {
354
+ openOverlay: (options?: import("../components.types").IDialogOpenOption | undefined) => Promise<void>;
355
+ hasFooterSlots: import("vue").ComputedRef<boolean>;
356
+ hideOverlay: () => Promise<void>;
357
+ isOpen: import("vue").Ref<boolean>;
358
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
359
+ "dialog:open": () => void;
360
+ "dialog:after-open": () => void;
361
+ "dialog:hide": () => void;
362
+ "dialog:after-hide": () => void;
363
+ }, string, {
364
+ focusTrap: boolean;
365
+ teleport: string | import("vue").RendererElement | null | undefined;
366
+ open: boolean;
367
+ closeLabel: string;
368
+ patternConfirm: boolean;
369
+ buttonSize: import("../components.types").TJoyButtonSizes;
370
+ bannerHeight: number;
371
+ }, {}, string, {}> & {
372
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
373
+ created?: ((() => void) | (() => void)[]) | undefined;
374
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
375
+ mounted?: ((() => void) | (() => void)[]) | undefined;
376
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
377
+ updated?: ((() => void) | (() => void)[]) | undefined;
378
+ activated?: ((() => void) | (() => void)[]) | undefined;
379
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
380
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
381
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
382
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
383
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
384
+ renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
385
+ renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
386
+ errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}> | null, info: string) => boolean | void)[]) | undefined;
387
+ };
388
+ $forceUpdate: () => void;
389
+ $nextTick: typeof import("vue").nextTick;
390
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
391
+ } & Readonly<import("vue").ExtractPropTypes<{
392
+ focusTrap: {
393
+ type: BooleanConstructor;
394
+ default: boolean;
395
+ };
396
+ teleport: {
397
+ type: import("vue").PropType<string | import("vue").RendererElement | null | undefined>;
398
+ default: string;
399
+ };
400
+ open: {
401
+ type: BooleanConstructor;
402
+ default: boolean;
403
+ };
404
+ closeLabel: {
405
+ type: StringConstructor;
406
+ default: string;
407
+ };
408
+ patternConfirm: {
409
+ type: BooleanConstructor;
410
+ default: boolean;
411
+ };
412
+ cancelText: {
413
+ type: StringConstructor;
414
+ };
415
+ confirmText: {
416
+ type: StringConstructor;
417
+ };
418
+ buttonSize: {
419
+ type: import("vue").PropType<import("../components.types").TJoyButtonSizes>;
420
+ default: string;
421
+ };
422
+ bannerSrc: {
423
+ type: StringConstructor;
424
+ };
425
+ bannerPosition: {
426
+ type: StringConstructor;
427
+ };
428
+ bannerHeight: {
429
+ type: NumberConstructor;
430
+ default: number;
431
+ };
432
+ }>> & {
433
+ "onDialog:open"?: (() => any) | undefined;
434
+ "onDialog:after-open"?: (() => any) | undefined;
435
+ "onDialog:hide"?: (() => any) | undefined;
436
+ "onDialog:after-hide"?: (() => any) | undefined;
437
+ } & import("vue").ShallowUnwrapRef<{
438
+ openOverlay: (options?: import("../components.types").IDialogOpenOption | undefined) => Promise<void>;
439
+ hasFooterSlots: import("vue").ComputedRef<boolean>;
440
+ hideOverlay: () => Promise<void>;
441
+ isOpen: import("vue").Ref<boolean>;
442
+ }> & {} & import("vue").ComponentCustomProperties & {} & {
443
+ $slots: {
444
+ "dialog-header"?(_: {}): any;
445
+ "dialog-subheader"?(_: {}): any;
446
+ "dialog-body"?(_: {}): any;
447
+ "dialog-cancel"?(_: {}): any;
448
+ "dialog-confirm"?(_: {}): any;
449
+ "dialog-indicators"?(_: {}): any;
450
+ };
451
+ }) | null | undefined>;
452
+ required: true;
453
+ };
454
+ }>>, {}, {}>, Readonly<{
455
+ /** @slot Default slot where you can render anything you need. */
456
+ default: () => any;
457
+ }>>;
458
+ export default _default;
459
+ type __VLS_WithTemplateSlots<T, S> = T & {
460
+ new (): {
461
+ $slots: S;
462
+ };
463
+ };
@@ -198,12 +198,12 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
198
198
  height: string;
199
199
  modelValue: string;
200
200
  reset: boolean;
201
+ justify: "left" | "right";
202
+ direction: "up" | "down";
201
203
  options: Option[];
202
204
  appendTo: string | import("vue").RendererElement | null | undefined;
203
205
  disableTeleport: boolean;
204
206
  closeOnSelect: boolean;
205
- direction: "up" | "down";
206
- justify: "left" | "right";
207
207
  dropdownGap: string;
208
208
  }, {}>, {
209
209
  "dropdown-button"?(_: {}): any;
@@ -0,0 +1,19 @@
1
+ import { App } from 'vue';
2
+ import { Emitter } from 'mitt';
3
+ import VJoySnackbar from './VJoySnackbar.vue';
4
+ import { LEVELS } from '../../types';
5
+ export type TJoySnackbarLevels = Exclude<(typeof LEVELS)[number], 'neutral'>;
6
+ export declare const SNACKBAR_LEVELS: ("neutral" | "success" | "info" | "warning" | "error")[];
7
+ export type TJoySnackbarEvents = {
8
+ 'snackbar:hide': undefined;
9
+ 'snackbar:show': undefined;
10
+ 'snackbar:action-click': undefined;
11
+ };
12
+ export interface IJoynackbarServiceOptions {
13
+ snackbarHostId?: string;
14
+ props: InstanceType<typeof VJoySnackbar>['$props'];
15
+ }
16
+ export interface IJoynackbarServiceReturn {
17
+ snackbarEventBus: Emitter<TJoySnackbarEvents>;
18
+ snackbarApp: App<Element>;
19
+ }