@destyler/popover 0.0.1-beta.6 → 0.0.1-beta.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,167 +1,1411 @@
1
- import { Ref, VNode, ComputedRef, PropType } from 'vue';
2
- import { MaybeArray, ExtractPublicPropTypes } from '@destyler/shared';
1
+ import * as vue from 'vue';
2
+ import { Ref, PropType, Component } from 'vue';
3
+ import * as _destyler_primitive from '@destyler/primitive';
4
+ import { AsTag } from '@destyler/primitive';
5
+ import * as _vue_shared from '@vue/shared';
6
+ import * as _destyler_shared from '@destyler/shared';
3
7
  import { ComponentResolver } from 'unplugin-vue-components';
4
8
 
5
- type PopoverTrigger = 'click' | 'hover' | 'focus' | 'manual';
6
- type InternalRenderBody = (ref: Ref<HTMLElement | null>, onMouseenter: (e: MouseEvent) => void, onMouseleave: (e: MouseEvent) => void) => VNode;
7
- interface PopoverInst {
8
- syncPosition: () => void;
9
- setShow: (value: boolean) => void;
10
- }
11
- type InternalPopoverInst = PopoverInst & {
12
- getMergedShow: () => boolean;
9
+ declare const destylerPopoverAnchorProps: {
10
+ as: {
11
+ type: vue.PropType<_destyler_primitive.AsTag | vue.Component>;
12
+ required: boolean;
13
+ default: string;
14
+ };
15
+ width: {
16
+ type: vue.PropType<number>;
17
+ required: boolean;
18
+ default: number;
19
+ };
20
+ height: {
21
+ type: vue.PropType<number>;
22
+ required: boolean;
23
+ default: number;
24
+ };
25
+ asChild: {
26
+ type: vue.PropType<boolean>;
27
+ required: boolean;
28
+ default: boolean;
29
+ };
13
30
  };
31
+ declare const DestylerPopoverAnchor: vue.DefineComponent<{
32
+ as: {
33
+ type: vue.PropType<_destyler_primitive.AsTag | vue.Component>;
34
+ required: boolean;
35
+ default: string;
36
+ };
37
+ width: {
38
+ type: vue.PropType<number>;
39
+ required: boolean;
40
+ default: number;
41
+ };
42
+ height: {
43
+ type: vue.PropType<number>;
44
+ required: boolean;
45
+ default: number;
46
+ };
47
+ asChild: {
48
+ type: vue.PropType<boolean>;
49
+ required: boolean;
50
+ default: boolean;
51
+ };
52
+ }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
53
+ as: {
54
+ type: vue.PropType<_destyler_primitive.AsTag | vue.Component>;
55
+ required: boolean;
56
+ default: string;
57
+ };
58
+ width: {
59
+ type: vue.PropType<number>;
60
+ required: boolean;
61
+ default: number;
62
+ };
63
+ height: {
64
+ type: vue.PropType<number>;
65
+ required: boolean;
66
+ default: number;
67
+ };
68
+ asChild: {
69
+ type: vue.PropType<boolean>;
70
+ required: boolean;
71
+ default: boolean;
72
+ };
73
+ }>>, {
74
+ as: _destyler_primitive.AsTag | vue.Component;
75
+ width: number;
76
+ height: number;
77
+ asChild: boolean;
78
+ }, {}>;
14
79
 
15
- interface TriggerEventHandlers {
16
- onClick: (e: MouseEvent) => void;
17
- onMouseenter: (e: MouseEvent) => void;
18
- onMouseleave: (e: MouseEvent) => void;
19
- onFocus: (e: FocusEvent) => void;
20
- onBlur: (e: FocusEvent) => void;
21
- }
22
- interface PopoverInjection {
23
- getTriggerElement: () => HTMLElement;
24
- handleMouseEnter: (e: MouseEvent) => void;
25
- handleMouseLeave: (e: MouseEvent) => void;
26
- handleClickOutside: (e: MouseEvent) => void;
27
- handleMouseMoveOutside: (e: MouseEvent) => void;
28
- setBodyInstance: (value: BodyInstance | null) => void;
29
- positionManually: ComputedRef<boolean>;
30
- isMounted: Ref<boolean>;
31
- zIndex: Ref<number | undefined>;
32
- internalRenderBody: Ref<InternalRenderBody | undefined>;
33
- }
34
- declare const destylerPopoverProps: {
35
- name: {
36
- type: PropType<string>;
80
+ declare const destylerPopoverArrowProps: {
81
+ as: {
82
+ type: vue.PropType<_destyler_primitive.AsTag | vue.Component>;
83
+ required: boolean;
84
+ default: string;
85
+ };
86
+ width: {
87
+ type: vue.PropType<number>;
88
+ required: boolean;
89
+ default: number;
90
+ };
91
+ height: {
92
+ type: vue.PropType<number>;
93
+ required: boolean;
94
+ default: number;
95
+ };
96
+ asChild: {
97
+ type: vue.PropType<boolean>;
98
+ required: boolean;
99
+ default: boolean;
100
+ };
101
+ };
102
+ declare const DestylerPopoverArrow: vue.DefineComponent<{
103
+ as: {
104
+ type: vue.PropType<_destyler_primitive.AsTag | vue.Component>;
37
105
  required: boolean;
38
106
  default: string;
39
107
  };
40
- show: {
108
+ width: {
109
+ type: vue.PropType<number>;
110
+ required: boolean;
111
+ default: number;
112
+ };
113
+ height: {
114
+ type: vue.PropType<number>;
115
+ required: boolean;
116
+ default: number;
117
+ };
118
+ asChild: {
119
+ type: vue.PropType<boolean>;
120
+ required: boolean;
121
+ default: boolean;
122
+ };
123
+ }, unknown, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
124
+ as: {
125
+ type: vue.PropType<_destyler_primitive.AsTag | vue.Component>;
126
+ required: boolean;
127
+ default: string;
128
+ };
129
+ width: {
130
+ type: vue.PropType<number>;
131
+ required: boolean;
132
+ default: number;
133
+ };
134
+ height: {
135
+ type: vue.PropType<number>;
136
+ required: boolean;
137
+ default: number;
138
+ };
139
+ asChild: {
140
+ type: vue.PropType<boolean>;
141
+ required: boolean;
142
+ default: boolean;
143
+ };
144
+ }>>, {
145
+ as: _destyler_primitive.AsTag | vue.Component;
146
+ width: number;
147
+ height: number;
148
+ asChild: boolean;
149
+ }, {}>;
150
+
151
+ interface PopoverRootContext {
152
+ triggerElement: Ref<HTMLElement | undefined>;
153
+ contentId: string;
154
+ open: Ref<boolean>;
155
+ modal: Ref<boolean>;
156
+ onOpenChange(value: boolean): void;
157
+ onOpenToggle(): void;
158
+ hasCustomAnchor: Ref<boolean>;
159
+ }
160
+ declare const injectPopoverRootContext: <T extends PopoverRootContext | null | undefined = PopoverRootContext>(fallback?: T | undefined) => T extends null ? PopoverRootContext | null : PopoverRootContext;
161
+ declare const providePopoverRootContext: (contextValue: PopoverRootContext) => PopoverRootContext;
162
+ declare const destylerPopoverRootProps: {
163
+ defaultOpen: {
164
+ type: PropType<boolean>;
165
+ required: boolean;
166
+ default: boolean;
167
+ };
168
+ open: {
169
+ type: PropType<boolean | undefined>;
170
+ required: boolean;
171
+ default: undefined;
172
+ };
173
+ modal: {
174
+ type: PropType<boolean>;
175
+ required: boolean;
176
+ default: boolean;
177
+ };
178
+ };
179
+ declare const DestylerPopoverRoot: vue.DefineComponent<{
180
+ defaultOpen: {
181
+ type: PropType<boolean>;
182
+ required: boolean;
183
+ default: boolean;
184
+ };
185
+ open: {
186
+ type: PropType<boolean | undefined>;
187
+ required: boolean;
188
+ default: undefined;
189
+ };
190
+ modal: {
191
+ type: PropType<boolean>;
192
+ required: boolean;
193
+ default: boolean;
194
+ };
195
+ }, {
196
+ openRef: Ref<boolean>;
197
+ modalRef: Ref<false> | Ref<true>;
198
+ triggerElement: Ref<HTMLElement | undefined>;
199
+ hasCustomAnchor: Ref<boolean>;
200
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, "update:open"[], "update:open", vue.PublicProps, Readonly<vue.ExtractPropTypes<{
201
+ defaultOpen: {
202
+ type: PropType<boolean>;
203
+ required: boolean;
204
+ default: boolean;
205
+ };
206
+ open: {
41
207
  type: PropType<boolean | undefined>;
208
+ required: boolean;
42
209
  default: undefined;
43
210
  };
44
- defaultShow: {
211
+ modal: {
212
+ type: PropType<boolean>;
213
+ required: boolean;
214
+ default: boolean;
215
+ };
216
+ }>> & {
217
+ "onUpdate:open"?: ((...args: any[]) => any) | undefined;
218
+ }, {
219
+ defaultOpen: boolean;
220
+ open: boolean | undefined;
221
+ modal: boolean;
222
+ }, {}>;
223
+
224
+ declare const destylerPopoverCloseProps: {
225
+ as: {
226
+ type: PropType<AsTag | Component>;
227
+ required: boolean;
228
+ default: string;
229
+ };
230
+ asChild: {
231
+ type: PropType<boolean>;
232
+ required: boolean;
233
+ default: boolean;
234
+ };
235
+ };
236
+ declare const DestylerPopoverClose: vue.DefineComponent<{
237
+ as: {
238
+ type: PropType<AsTag | Component>;
239
+ required: boolean;
240
+ default: string;
241
+ };
242
+ asChild: {
45
243
  type: PropType<boolean>;
244
+ required: boolean;
245
+ default: boolean;
46
246
  };
47
- trigger: {
48
- type: PropType<PopoverTrigger>;
247
+ }, {
248
+ rootContext: PopoverRootContext;
249
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
250
+ as: {
251
+ type: PropType<AsTag | Component>;
252
+ required: boolean;
49
253
  default: string;
50
254
  };
51
- delay: {
52
- type: NumberConstructor;
53
- default: number;
255
+ asChild: {
256
+ type: PropType<boolean>;
257
+ required: boolean;
258
+ default: boolean;
259
+ };
260
+ }>>, {
261
+ as: AsTag | Component;
262
+ asChild: boolean;
263
+ }, {}>;
264
+
265
+ declare const destylerPopoverContentProps: {
266
+ forceMount: {
267
+ type: PropType<boolean>;
268
+ required: boolean;
269
+ default: boolean;
270
+ };
271
+ trapFocus: {
272
+ type: PropType<boolean>;
273
+ required: boolean;
274
+ default: boolean;
275
+ };
276
+ disableOutsidePointerEvents: {
277
+ type: PropType<boolean>;
278
+ required: boolean;
279
+ default: boolean;
280
+ };
281
+ as: {
282
+ type: PropType<vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag>;
283
+ required: boolean;
284
+ default: string;
285
+ };
286
+ asChild: {
287
+ type: PropType<boolean>;
288
+ required: boolean;
289
+ default: boolean;
290
+ };
291
+ side: {
292
+ type: PropType<"top" | "right" | "bottom" | "left">;
293
+ required: boolean;
294
+ default: string;
54
295
  };
55
- duration: {
56
- type: NumberConstructor;
296
+ sideOffset: {
297
+ type: PropType<number>;
298
+ required: boolean;
57
299
  default: number;
58
300
  };
59
- x: {
301
+ align: {
302
+ type: PropType<"start" | "center" | "end">;
303
+ required: boolean;
304
+ default: string;
305
+ };
306
+ alignOffset: {
60
307
  type: PropType<number>;
308
+ required: boolean;
309
+ default: number;
310
+ };
311
+ avoidCollisions: {
312
+ type: PropType<boolean>;
313
+ required: boolean;
314
+ default: boolean;
315
+ };
316
+ collisionBoundary: {
317
+ type: PropType<Element | (Element | null)[] | null>;
318
+ required: boolean;
319
+ default: () => never[];
320
+ };
321
+ collisionPadding: {
322
+ type: PropType<number | Partial<Record<"top" | "right" | "bottom" | "left", number>>>;
323
+ required: boolean;
324
+ default: number;
61
325
  };
62
- y: {
326
+ arrowPadding: {
63
327
  type: PropType<number>;
328
+ required: boolean;
329
+ default: number;
64
330
  };
65
- disabled: {
331
+ sticky: {
332
+ type: PropType<"partial" | "always">;
333
+ required: boolean;
334
+ default: string;
335
+ };
336
+ hideWhenDetached: {
337
+ type: PropType<boolean>;
338
+ required: boolean;
339
+ default: boolean;
340
+ };
341
+ updatePositionStrategy: {
342
+ type: PropType<"always" | "optimized">;
343
+ required: boolean;
344
+ default: string;
345
+ };
346
+ onPlaced: {
347
+ type: PropType<() => void>;
348
+ required: boolean;
349
+ };
350
+ prioritizePosition: {
351
+ type: PropType<boolean>;
352
+ required: boolean;
353
+ default: boolean;
354
+ };
355
+ };
356
+ declare const destylerPopoverContentEmits: string[];
357
+ declare const DestylerPopoverContent: vue.DefineComponent<{
358
+ forceMount: {
359
+ type: PropType<boolean>;
360
+ required: boolean;
361
+ default: boolean;
362
+ };
363
+ trapFocus: {
364
+ type: PropType<boolean>;
365
+ required: boolean;
366
+ default: boolean;
367
+ };
368
+ disableOutsidePointerEvents: {
369
+ type: PropType<boolean>;
370
+ required: boolean;
371
+ default: boolean;
372
+ };
373
+ as: {
374
+ type: PropType<vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag>;
375
+ required: boolean;
376
+ default: string;
377
+ };
378
+ asChild: {
66
379
  type: PropType<boolean>;
380
+ required: boolean;
381
+ default: boolean;
382
+ };
383
+ side: {
384
+ type: PropType<"top" | "right" | "bottom" | "left">;
385
+ required: boolean;
386
+ default: string;
67
387
  };
68
- getDisabled: {
69
- type: PropType<() => boolean>;
388
+ sideOffset: {
389
+ type: PropType<number>;
390
+ required: boolean;
391
+ default: number;
70
392
  };
71
- displayDirective: {
72
- type: PropType<"show" | "if">;
393
+ align: {
394
+ type: PropType<"start" | "center" | "end">;
395
+ required: boolean;
73
396
  default: string;
74
397
  };
75
- zIndex: {
398
+ alignOffset: {
76
399
  type: PropType<number>;
400
+ required: boolean;
401
+ default: number;
77
402
  };
78
- internalSyncTargetWithParent: {
403
+ avoidCollisions: {
79
404
  type: PropType<boolean>;
405
+ required: boolean;
406
+ default: boolean;
80
407
  };
81
- internalInheritedEventHandlers: {
82
- type: PropType<TriggerEventHandlers[]>;
408
+ collisionBoundary: {
409
+ type: PropType<Element | (Element | null)[] | null>;
410
+ required: boolean;
83
411
  default: () => never[];
84
412
  };
85
- internalTrapFocus: {
413
+ collisionPadding: {
414
+ type: PropType<number | Partial<Record<"top" | "right" | "bottom" | "left", number>>>;
415
+ required: boolean;
416
+ default: number;
417
+ };
418
+ arrowPadding: {
419
+ type: PropType<number>;
420
+ required: boolean;
421
+ default: number;
422
+ };
423
+ sticky: {
424
+ type: PropType<"partial" | "always">;
425
+ required: boolean;
426
+ default: string;
427
+ };
428
+ hideWhenDetached: {
86
429
  type: PropType<boolean>;
430
+ required: boolean;
431
+ default: boolean;
87
432
  };
88
- onClickoutside: {
89
- type: PropType<(e: MouseEvent) => void>;
433
+ updatePositionStrategy: {
434
+ type: PropType<"always" | "optimized">;
435
+ required: boolean;
436
+ default: string;
90
437
  };
91
- 'onUpdate:show': {
92
- type: PropType<MaybeArray<(value: boolean) => void>>;
438
+ onPlaced: {
439
+ type: PropType<() => void>;
440
+ required: boolean;
93
441
  };
94
- onUpdateShow: {
95
- type: PropType<MaybeArray<(value: boolean) => void>>;
442
+ prioritizePosition: {
443
+ type: PropType<boolean>;
444
+ required: boolean;
445
+ default: boolean;
96
446
  };
97
- onShow: {
98
- type: PropType<MaybeArray<(value: boolean) => void> | undefined>;
447
+ }, {
448
+ rootContext: PopoverRootContext;
449
+ forwarded: vue.ComputedRef<_vue_shared.LooseRequired<{
450
+ readonly [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
451
+ readonly as: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag;
452
+ readonly asChild: boolean;
453
+ readonly trapFocus: boolean;
454
+ readonly disableOutsidePointerEvents: boolean;
455
+ readonly side: "top" | "right" | "bottom" | "left";
456
+ readonly sideOffset: number;
457
+ readonly align: "start" | "center" | "end";
458
+ readonly alignOffset: number;
459
+ readonly avoidCollisions: boolean;
460
+ readonly collisionBoundary: Element | (Element | null)[] | null;
461
+ readonly collisionPadding: number | Partial<Record<"top" | "right" | "bottom" | "left", number>>;
462
+ readonly arrowPadding: number;
463
+ readonly sticky: "partial" | "always";
464
+ readonly hideWhenDetached: boolean;
465
+ readonly updatePositionStrategy: "always" | "optimized";
466
+ readonly prioritizePosition: boolean;
467
+ readonly forceMount: boolean;
468
+ readonly onPlaced?: (() => void) | undefined;
469
+ } & {}> & Record<string, any>>;
470
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, string[], string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
471
+ forceMount: {
472
+ type: PropType<boolean>;
473
+ required: boolean;
474
+ default: boolean;
99
475
  };
100
- onHide: {
101
- type: PropType<MaybeArray<(value: boolean) => void> | undefined>;
476
+ trapFocus: {
477
+ type: PropType<boolean>;
478
+ required: boolean;
479
+ default: boolean;
102
480
  };
103
- internalRenderBody: {
104
- type: PropType<InternalRenderBody>;
481
+ disableOutsidePointerEvents: {
482
+ type: PropType<boolean>;
483
+ required: boolean;
484
+ default: boolean;
105
485
  };
106
- };
107
- type PopoverProps = ExtractPublicPropTypes<typeof destylerPopoverProps>;
108
- interface BodyInstance {
109
- syncPosition: () => void;
110
- [key: string]: unknown;
111
- }
112
- declare const DestylerPopover: any;
113
-
114
- declare const popoverBodyProps: {
115
- name: {
116
- type: PropType<string>;
486
+ as: {
487
+ type: PropType<vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag>;
117
488
  required: boolean;
118
489
  default: string;
119
490
  };
120
- show: {
491
+ asChild: {
121
492
  type: PropType<boolean>;
493
+ required: boolean;
494
+ default: boolean;
122
495
  };
123
- trigger: {
124
- type: PropType<PopoverTrigger>;
496
+ side: {
497
+ type: PropType<"top" | "right" | "bottom" | "left">;
498
+ required: boolean;
499
+ default: string;
125
500
  };
126
- delay: {
501
+ sideOffset: {
127
502
  type: PropType<number>;
503
+ required: boolean;
504
+ default: number;
128
505
  };
129
- duration: {
506
+ align: {
507
+ type: PropType<"start" | "center" | "end">;
508
+ required: boolean;
509
+ default: string;
510
+ };
511
+ alignOffset: {
130
512
  type: PropType<number>;
513
+ required: boolean;
514
+ default: number;
131
515
  };
132
- displayDirective: {
133
- type: PropType<"show" | "if">;
516
+ avoidCollisions: {
517
+ type: PropType<boolean>;
518
+ required: boolean;
519
+ default: boolean;
134
520
  };
135
- x: {
136
- type: PropType<number>;
521
+ collisionBoundary: {
522
+ type: PropType<Element | (Element | null)[] | null>;
523
+ required: boolean;
524
+ default: () => never[];
525
+ };
526
+ collisionPadding: {
527
+ type: PropType<number | Partial<Record<"top" | "right" | "bottom" | "left", number>>>;
528
+ required: boolean;
529
+ default: number;
137
530
  };
138
- y: {
531
+ arrowPadding: {
139
532
  type: PropType<number>;
533
+ required: boolean;
534
+ default: number;
140
535
  };
141
- flip: {
142
- type: PropType<boolean>;
536
+ sticky: {
537
+ type: PropType<"partial" | "always">;
538
+ required: boolean;
539
+ default: string;
143
540
  };
144
- internalTrapFocus: {
541
+ hideWhenDetached: {
145
542
  type: PropType<boolean>;
543
+ required: boolean;
544
+ default: boolean;
545
+ };
546
+ updatePositionStrategy: {
547
+ type: PropType<"always" | "optimized">;
548
+ required: boolean;
549
+ default: string;
550
+ };
551
+ onPlaced: {
552
+ type: PropType<() => void>;
553
+ required: boolean;
146
554
  };
147
- overlap: {
555
+ prioritizePosition: {
148
556
  type: PropType<boolean>;
557
+ required: boolean;
558
+ default: boolean;
149
559
  };
150
- keepAliveOnHover: {
560
+ }>> & {
561
+ [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
562
+ }, {
563
+ as: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag;
564
+ asChild: boolean;
565
+ trapFocus: boolean;
566
+ disableOutsidePointerEvents: boolean;
567
+ side: "top" | "right" | "bottom" | "left";
568
+ sideOffset: number;
569
+ align: "start" | "center" | "end";
570
+ alignOffset: number;
571
+ avoidCollisions: boolean;
572
+ collisionBoundary: Element | (Element | null)[] | null;
573
+ collisionPadding: number | Partial<Record<"top" | "right" | "bottom" | "left", number>>;
574
+ arrowPadding: number;
575
+ sticky: "partial" | "always";
576
+ hideWhenDetached: boolean;
577
+ updatePositionStrategy: "always" | "optimized";
578
+ prioritizePosition: boolean;
579
+ forceMount: boolean;
580
+ }, {}>;
581
+
582
+ declare const destylerPopoverContentImplProps: {
583
+ trapFocus: {
151
584
  type: PropType<boolean>;
585
+ required: boolean;
586
+ default: boolean;
152
587
  };
153
- scrollable: {
588
+ disableOutsidePointerEvents: {
154
589
  type: PropType<boolean>;
590
+ required: boolean;
591
+ default: boolean;
155
592
  };
156
- internalDeactivateImmediately: {
593
+ as: {
594
+ type: PropType<vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag>;
595
+ required: boolean;
596
+ default: string;
597
+ };
598
+ asChild: {
157
599
  type: PropType<boolean>;
600
+ required: boolean;
601
+ default: boolean;
158
602
  };
159
- onClickoutside: {
160
- type: PropType<(e: MouseEvent) => void>;
603
+ side: {
604
+ type: PropType<"top" | "right" | "bottom" | "left">;
605
+ required: boolean;
606
+ default: string;
161
607
  };
162
- };
163
- declare const DestylerPopoverBody: any;
608
+ sideOffset: {
609
+ type: PropType<number>;
610
+ required: boolean;
611
+ default: number;
612
+ };
613
+ align: {
614
+ type: PropType<"start" | "center" | "end">;
615
+ required: boolean;
616
+ default: string;
617
+ };
618
+ alignOffset: {
619
+ type: PropType<number>;
620
+ required: boolean;
621
+ default: number;
622
+ };
623
+ avoidCollisions: {
624
+ type: PropType<boolean>;
625
+ required: boolean;
626
+ default: boolean;
627
+ };
628
+ collisionBoundary: {
629
+ type: PropType<Element | (Element | null)[] | null>;
630
+ required: boolean;
631
+ default: () => never[];
632
+ };
633
+ collisionPadding: {
634
+ type: PropType<number | Partial<Record<"top" | "right" | "bottom" | "left", number>>>;
635
+ required: boolean;
636
+ default: number;
637
+ };
638
+ arrowPadding: {
639
+ type: PropType<number>;
640
+ required: boolean;
641
+ default: number;
642
+ };
643
+ sticky: {
644
+ type: PropType<"partial" | "always">;
645
+ required: boolean;
646
+ default: string;
647
+ };
648
+ hideWhenDetached: {
649
+ type: PropType<boolean>;
650
+ required: boolean;
651
+ default: boolean;
652
+ };
653
+ updatePositionStrategy: {
654
+ type: PropType<"always" | "optimized">;
655
+ required: boolean;
656
+ default: string;
657
+ };
658
+ onPlaced: {
659
+ type: PropType<() => void>;
660
+ required: boolean;
661
+ };
662
+ prioritizePosition: {
663
+ type: PropType<boolean>;
664
+ required: boolean;
665
+ default: boolean;
666
+ };
667
+ };
668
+ declare const destylerPopoverContentImplEmits: string[];
669
+ declare const DestylerPopoverContentImpl: vue.DefineComponent<{
670
+ trapFocus: {
671
+ type: PropType<boolean>;
672
+ required: boolean;
673
+ default: boolean;
674
+ };
675
+ disableOutsidePointerEvents: {
676
+ type: PropType<boolean>;
677
+ required: boolean;
678
+ default: boolean;
679
+ };
680
+ as: {
681
+ type: PropType<vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag>;
682
+ required: boolean;
683
+ default: string;
684
+ };
685
+ asChild: {
686
+ type: PropType<boolean>;
687
+ required: boolean;
688
+ default: boolean;
689
+ };
690
+ side: {
691
+ type: PropType<"top" | "right" | "bottom" | "left">;
692
+ required: boolean;
693
+ default: string;
694
+ };
695
+ sideOffset: {
696
+ type: PropType<number>;
697
+ required: boolean;
698
+ default: number;
699
+ };
700
+ align: {
701
+ type: PropType<"start" | "center" | "end">;
702
+ required: boolean;
703
+ default: string;
704
+ };
705
+ alignOffset: {
706
+ type: PropType<number>;
707
+ required: boolean;
708
+ default: number;
709
+ };
710
+ avoidCollisions: {
711
+ type: PropType<boolean>;
712
+ required: boolean;
713
+ default: boolean;
714
+ };
715
+ collisionBoundary: {
716
+ type: PropType<Element | (Element | null)[] | null>;
717
+ required: boolean;
718
+ default: () => never[];
719
+ };
720
+ collisionPadding: {
721
+ type: PropType<number | Partial<Record<"top" | "right" | "bottom" | "left", number>>>;
722
+ required: boolean;
723
+ default: number;
724
+ };
725
+ arrowPadding: {
726
+ type: PropType<number>;
727
+ required: boolean;
728
+ default: number;
729
+ };
730
+ sticky: {
731
+ type: PropType<"partial" | "always">;
732
+ required: boolean;
733
+ default: string;
734
+ };
735
+ hideWhenDetached: {
736
+ type: PropType<boolean>;
737
+ required: boolean;
738
+ default: boolean;
739
+ };
740
+ updatePositionStrategy: {
741
+ type: PropType<"always" | "optimized">;
742
+ required: boolean;
743
+ default: string;
744
+ };
745
+ onPlaced: {
746
+ type: PropType<() => void>;
747
+ required: boolean;
748
+ };
749
+ prioritizePosition: {
750
+ type: PropType<boolean>;
751
+ required: boolean;
752
+ default: boolean;
753
+ };
754
+ }, {
755
+ rootContext: PopoverRootContext;
756
+ forwarded: _destyler_shared.ComputedRefWithControl<_vue_shared.LooseRequired<{
757
+ readonly [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
758
+ readonly as: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag;
759
+ readonly asChild: boolean;
760
+ readonly trapFocus: boolean;
761
+ readonly disableOutsidePointerEvents: boolean;
762
+ readonly side: "top" | "right" | "bottom" | "left";
763
+ readonly sideOffset: number;
764
+ readonly align: "start" | "center" | "end";
765
+ readonly alignOffset: number;
766
+ readonly avoidCollisions: boolean;
767
+ readonly collisionBoundary: Element | (Element | null)[] | null;
768
+ readonly collisionPadding: number | Partial<Record<"top" | "right" | "bottom" | "left", number>>;
769
+ readonly arrowPadding: number;
770
+ readonly sticky: "partial" | "always";
771
+ readonly hideWhenDetached: boolean;
772
+ readonly updatePositionStrategy: "always" | "optimized";
773
+ readonly prioritizePosition: boolean;
774
+ readonly onPlaced?: (() => void) | undefined;
775
+ } & {}>>;
776
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, string[], string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
777
+ trapFocus: {
778
+ type: PropType<boolean>;
779
+ required: boolean;
780
+ default: boolean;
781
+ };
782
+ disableOutsidePointerEvents: {
783
+ type: PropType<boolean>;
784
+ required: boolean;
785
+ default: boolean;
786
+ };
787
+ as: {
788
+ type: PropType<vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag>;
789
+ required: boolean;
790
+ default: string;
791
+ };
792
+ asChild: {
793
+ type: PropType<boolean>;
794
+ required: boolean;
795
+ default: boolean;
796
+ };
797
+ side: {
798
+ type: PropType<"top" | "right" | "bottom" | "left">;
799
+ required: boolean;
800
+ default: string;
801
+ };
802
+ sideOffset: {
803
+ type: PropType<number>;
804
+ required: boolean;
805
+ default: number;
806
+ };
807
+ align: {
808
+ type: PropType<"start" | "center" | "end">;
809
+ required: boolean;
810
+ default: string;
811
+ };
812
+ alignOffset: {
813
+ type: PropType<number>;
814
+ required: boolean;
815
+ default: number;
816
+ };
817
+ avoidCollisions: {
818
+ type: PropType<boolean>;
819
+ required: boolean;
820
+ default: boolean;
821
+ };
822
+ collisionBoundary: {
823
+ type: PropType<Element | (Element | null)[] | null>;
824
+ required: boolean;
825
+ default: () => never[];
826
+ };
827
+ collisionPadding: {
828
+ type: PropType<number | Partial<Record<"top" | "right" | "bottom" | "left", number>>>;
829
+ required: boolean;
830
+ default: number;
831
+ };
832
+ arrowPadding: {
833
+ type: PropType<number>;
834
+ required: boolean;
835
+ default: number;
836
+ };
837
+ sticky: {
838
+ type: PropType<"partial" | "always">;
839
+ required: boolean;
840
+ default: string;
841
+ };
842
+ hideWhenDetached: {
843
+ type: PropType<boolean>;
844
+ required: boolean;
845
+ default: boolean;
846
+ };
847
+ updatePositionStrategy: {
848
+ type: PropType<"always" | "optimized">;
849
+ required: boolean;
850
+ default: string;
851
+ };
852
+ onPlaced: {
853
+ type: PropType<() => void>;
854
+ required: boolean;
855
+ };
856
+ prioritizePosition: {
857
+ type: PropType<boolean>;
858
+ required: boolean;
859
+ default: boolean;
860
+ };
861
+ }>> & {
862
+ [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
863
+ }, {
864
+ as: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag;
865
+ asChild: boolean;
866
+ trapFocus: boolean;
867
+ disableOutsidePointerEvents: boolean;
868
+ side: "top" | "right" | "bottom" | "left";
869
+ sideOffset: number;
870
+ align: "start" | "center" | "end";
871
+ alignOffset: number;
872
+ avoidCollisions: boolean;
873
+ collisionBoundary: Element | (Element | null)[] | null;
874
+ collisionPadding: number | Partial<Record<"top" | "right" | "bottom" | "left", number>>;
875
+ arrowPadding: number;
876
+ sticky: "partial" | "always";
877
+ hideWhenDetached: boolean;
878
+ updatePositionStrategy: "always" | "optimized";
879
+ prioritizePosition: boolean;
880
+ }, {}>;
881
+
882
+ declare const DestylerPopoverContentModal: vue.DefineComponent<{
883
+ trapFocus: {
884
+ type: vue.PropType<boolean>;
885
+ required: boolean;
886
+ default: boolean;
887
+ };
888
+ disableOutsidePointerEvents: {
889
+ type: vue.PropType<boolean>;
890
+ required: boolean;
891
+ default: boolean;
892
+ };
893
+ as: {
894
+ type: vue.PropType<vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag>;
895
+ required: boolean;
896
+ default: string;
897
+ };
898
+ asChild: {
899
+ type: vue.PropType<boolean>;
900
+ required: boolean;
901
+ default: boolean;
902
+ };
903
+ side: {
904
+ type: vue.PropType<"top" | "right" | "bottom" | "left">;
905
+ required: boolean;
906
+ default: string;
907
+ };
908
+ sideOffset: {
909
+ type: vue.PropType<number>;
910
+ required: boolean;
911
+ default: number;
912
+ };
913
+ align: {
914
+ type: vue.PropType<"start" | "center" | "end">;
915
+ required: boolean;
916
+ default: string;
917
+ };
918
+ alignOffset: {
919
+ type: vue.PropType<number>;
920
+ required: boolean;
921
+ default: number;
922
+ };
923
+ avoidCollisions: {
924
+ type: vue.PropType<boolean>;
925
+ required: boolean;
926
+ default: boolean;
927
+ };
928
+ collisionBoundary: {
929
+ type: vue.PropType<Element | (Element | null)[] | null>;
930
+ required: boolean;
931
+ default: () => never[];
932
+ };
933
+ collisionPadding: {
934
+ type: vue.PropType<number | Partial<Record<"top" | "right" | "bottom" | "left", number>>>;
935
+ required: boolean;
936
+ default: number;
937
+ };
938
+ arrowPadding: {
939
+ type: vue.PropType<number>;
940
+ required: boolean;
941
+ default: number;
942
+ };
943
+ sticky: {
944
+ type: vue.PropType<"partial" | "always">;
945
+ required: boolean;
946
+ default: string;
947
+ };
948
+ hideWhenDetached: {
949
+ type: vue.PropType<boolean>;
950
+ required: boolean;
951
+ default: boolean;
952
+ };
953
+ updatePositionStrategy: {
954
+ type: vue.PropType<"always" | "optimized">;
955
+ required: boolean;
956
+ default: string;
957
+ };
958
+ onPlaced: {
959
+ type: vue.PropType<() => void>;
960
+ required: boolean;
961
+ };
962
+ prioritizePosition: {
963
+ type: vue.PropType<boolean>;
964
+ required: boolean;
965
+ default: boolean;
966
+ };
967
+ }, {
968
+ rootContext: PopoverRootContext;
969
+ forwarded: vue.ComputedRef<_vue_shared.LooseRequired<{
970
+ readonly [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
971
+ readonly as: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag;
972
+ readonly asChild: boolean;
973
+ readonly trapFocus: boolean;
974
+ readonly disableOutsidePointerEvents: boolean;
975
+ readonly side: "top" | "right" | "bottom" | "left";
976
+ readonly sideOffset: number;
977
+ readonly align: "start" | "center" | "end";
978
+ readonly alignOffset: number;
979
+ readonly avoidCollisions: boolean;
980
+ readonly collisionBoundary: Element | (Element | null)[] | null;
981
+ readonly collisionPadding: number | Partial<Record<"top" | "right" | "bottom" | "left", number>>;
982
+ readonly arrowPadding: number;
983
+ readonly sticky: "partial" | "always";
984
+ readonly hideWhenDetached: boolean;
985
+ readonly updatePositionStrategy: "always" | "optimized";
986
+ readonly prioritizePosition: boolean;
987
+ readonly onPlaced?: (() => void) | undefined;
988
+ } & {}> & Record<string, any>>;
989
+ isRightClickOutsideRef: vue.Ref<boolean>;
990
+ customElement: vue.Ref<vue.ComponentPublicInstance | undefined>;
991
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, string[], string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
992
+ trapFocus: {
993
+ type: vue.PropType<boolean>;
994
+ required: boolean;
995
+ default: boolean;
996
+ };
997
+ disableOutsidePointerEvents: {
998
+ type: vue.PropType<boolean>;
999
+ required: boolean;
1000
+ default: boolean;
1001
+ };
1002
+ as: {
1003
+ type: vue.PropType<vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag>;
1004
+ required: boolean;
1005
+ default: string;
1006
+ };
1007
+ asChild: {
1008
+ type: vue.PropType<boolean>;
1009
+ required: boolean;
1010
+ default: boolean;
1011
+ };
1012
+ side: {
1013
+ type: vue.PropType<"top" | "right" | "bottom" | "left">;
1014
+ required: boolean;
1015
+ default: string;
1016
+ };
1017
+ sideOffset: {
1018
+ type: vue.PropType<number>;
1019
+ required: boolean;
1020
+ default: number;
1021
+ };
1022
+ align: {
1023
+ type: vue.PropType<"start" | "center" | "end">;
1024
+ required: boolean;
1025
+ default: string;
1026
+ };
1027
+ alignOffset: {
1028
+ type: vue.PropType<number>;
1029
+ required: boolean;
1030
+ default: number;
1031
+ };
1032
+ avoidCollisions: {
1033
+ type: vue.PropType<boolean>;
1034
+ required: boolean;
1035
+ default: boolean;
1036
+ };
1037
+ collisionBoundary: {
1038
+ type: vue.PropType<Element | (Element | null)[] | null>;
1039
+ required: boolean;
1040
+ default: () => never[];
1041
+ };
1042
+ collisionPadding: {
1043
+ type: vue.PropType<number | Partial<Record<"top" | "right" | "bottom" | "left", number>>>;
1044
+ required: boolean;
1045
+ default: number;
1046
+ };
1047
+ arrowPadding: {
1048
+ type: vue.PropType<number>;
1049
+ required: boolean;
1050
+ default: number;
1051
+ };
1052
+ sticky: {
1053
+ type: vue.PropType<"partial" | "always">;
1054
+ required: boolean;
1055
+ default: string;
1056
+ };
1057
+ hideWhenDetached: {
1058
+ type: vue.PropType<boolean>;
1059
+ required: boolean;
1060
+ default: boolean;
1061
+ };
1062
+ updatePositionStrategy: {
1063
+ type: vue.PropType<"always" | "optimized">;
1064
+ required: boolean;
1065
+ default: string;
1066
+ };
1067
+ onPlaced: {
1068
+ type: vue.PropType<() => void>;
1069
+ required: boolean;
1070
+ };
1071
+ prioritizePosition: {
1072
+ type: vue.PropType<boolean>;
1073
+ required: boolean;
1074
+ default: boolean;
1075
+ };
1076
+ }>> & {
1077
+ [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
1078
+ }, {
1079
+ as: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag;
1080
+ asChild: boolean;
1081
+ trapFocus: boolean;
1082
+ disableOutsidePointerEvents: boolean;
1083
+ side: "top" | "right" | "bottom" | "left";
1084
+ sideOffset: number;
1085
+ align: "start" | "center" | "end";
1086
+ alignOffset: number;
1087
+ avoidCollisions: boolean;
1088
+ collisionBoundary: Element | (Element | null)[] | null;
1089
+ collisionPadding: number | Partial<Record<"top" | "right" | "bottom" | "left", number>>;
1090
+ arrowPadding: number;
1091
+ sticky: "partial" | "always";
1092
+ hideWhenDetached: boolean;
1093
+ updatePositionStrategy: "always" | "optimized";
1094
+ prioritizePosition: boolean;
1095
+ }, {}>;
1096
+
1097
+ declare const DestylerPopoverContentNonModal: vue.DefineComponent<{
1098
+ trapFocus: {
1099
+ type: vue.PropType<boolean>;
1100
+ required: boolean;
1101
+ default: boolean;
1102
+ };
1103
+ disableOutsidePointerEvents: {
1104
+ type: vue.PropType<boolean>;
1105
+ required: boolean;
1106
+ default: boolean;
1107
+ };
1108
+ as: {
1109
+ type: vue.PropType<vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag>;
1110
+ required: boolean;
1111
+ default: string;
1112
+ };
1113
+ asChild: {
1114
+ type: vue.PropType<boolean>;
1115
+ required: boolean;
1116
+ default: boolean;
1117
+ };
1118
+ side: {
1119
+ type: vue.PropType<"top" | "right" | "bottom" | "left">;
1120
+ required: boolean;
1121
+ default: string;
1122
+ };
1123
+ sideOffset: {
1124
+ type: vue.PropType<number>;
1125
+ required: boolean;
1126
+ default: number;
1127
+ };
1128
+ align: {
1129
+ type: vue.PropType<"start" | "center" | "end">;
1130
+ required: boolean;
1131
+ default: string;
1132
+ };
1133
+ alignOffset: {
1134
+ type: vue.PropType<number>;
1135
+ required: boolean;
1136
+ default: number;
1137
+ };
1138
+ avoidCollisions: {
1139
+ type: vue.PropType<boolean>;
1140
+ required: boolean;
1141
+ default: boolean;
1142
+ };
1143
+ collisionBoundary: {
1144
+ type: vue.PropType<Element | (Element | null)[] | null>;
1145
+ required: boolean;
1146
+ default: () => never[];
1147
+ };
1148
+ collisionPadding: {
1149
+ type: vue.PropType<number | Partial<Record<"top" | "right" | "bottom" | "left", number>>>;
1150
+ required: boolean;
1151
+ default: number;
1152
+ };
1153
+ arrowPadding: {
1154
+ type: vue.PropType<number>;
1155
+ required: boolean;
1156
+ default: number;
1157
+ };
1158
+ sticky: {
1159
+ type: vue.PropType<"partial" | "always">;
1160
+ required: boolean;
1161
+ default: string;
1162
+ };
1163
+ hideWhenDetached: {
1164
+ type: vue.PropType<boolean>;
1165
+ required: boolean;
1166
+ default: boolean;
1167
+ };
1168
+ updatePositionStrategy: {
1169
+ type: vue.PropType<"always" | "optimized">;
1170
+ required: boolean;
1171
+ default: string;
1172
+ };
1173
+ onPlaced: {
1174
+ type: vue.PropType<() => void>;
1175
+ required: boolean;
1176
+ };
1177
+ prioritizePosition: {
1178
+ type: vue.PropType<boolean>;
1179
+ required: boolean;
1180
+ default: boolean;
1181
+ };
1182
+ }, {
1183
+ forwarded: vue.ComputedRef<_vue_shared.LooseRequired<{
1184
+ readonly [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
1185
+ readonly as: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag;
1186
+ readonly asChild: boolean;
1187
+ readonly trapFocus: boolean;
1188
+ readonly disableOutsidePointerEvents: boolean;
1189
+ readonly side: "top" | "right" | "bottom" | "left";
1190
+ readonly sideOffset: number;
1191
+ readonly align: "start" | "center" | "end";
1192
+ readonly alignOffset: number;
1193
+ readonly avoidCollisions: boolean;
1194
+ readonly collisionBoundary: Element | (Element | null)[] | null;
1195
+ readonly collisionPadding: number | Partial<Record<"top" | "right" | "bottom" | "left", number>>;
1196
+ readonly arrowPadding: number;
1197
+ readonly sticky: "partial" | "always";
1198
+ readonly hideWhenDetached: boolean;
1199
+ readonly updatePositionStrategy: "always" | "optimized";
1200
+ readonly prioritizePosition: boolean;
1201
+ readonly onPlaced?: (() => void) | undefined;
1202
+ } & {}> & Record<string, any>>;
1203
+ rootContext: PopoverRootContext;
1204
+ hasInteractedOutsideRef: vue.Ref<boolean>;
1205
+ hasPointerDownOutsideRef: vue.Ref<boolean>;
1206
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, string[], string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
1207
+ trapFocus: {
1208
+ type: vue.PropType<boolean>;
1209
+ required: boolean;
1210
+ default: boolean;
1211
+ };
1212
+ disableOutsidePointerEvents: {
1213
+ type: vue.PropType<boolean>;
1214
+ required: boolean;
1215
+ default: boolean;
1216
+ };
1217
+ as: {
1218
+ type: vue.PropType<vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag>;
1219
+ required: boolean;
1220
+ default: string;
1221
+ };
1222
+ asChild: {
1223
+ type: vue.PropType<boolean>;
1224
+ required: boolean;
1225
+ default: boolean;
1226
+ };
1227
+ side: {
1228
+ type: vue.PropType<"top" | "right" | "bottom" | "left">;
1229
+ required: boolean;
1230
+ default: string;
1231
+ };
1232
+ sideOffset: {
1233
+ type: vue.PropType<number>;
1234
+ required: boolean;
1235
+ default: number;
1236
+ };
1237
+ align: {
1238
+ type: vue.PropType<"start" | "center" | "end">;
1239
+ required: boolean;
1240
+ default: string;
1241
+ };
1242
+ alignOffset: {
1243
+ type: vue.PropType<number>;
1244
+ required: boolean;
1245
+ default: number;
1246
+ };
1247
+ avoidCollisions: {
1248
+ type: vue.PropType<boolean>;
1249
+ required: boolean;
1250
+ default: boolean;
1251
+ };
1252
+ collisionBoundary: {
1253
+ type: vue.PropType<Element | (Element | null)[] | null>;
1254
+ required: boolean;
1255
+ default: () => never[];
1256
+ };
1257
+ collisionPadding: {
1258
+ type: vue.PropType<number | Partial<Record<"top" | "right" | "bottom" | "left", number>>>;
1259
+ required: boolean;
1260
+ default: number;
1261
+ };
1262
+ arrowPadding: {
1263
+ type: vue.PropType<number>;
1264
+ required: boolean;
1265
+ default: number;
1266
+ };
1267
+ sticky: {
1268
+ type: vue.PropType<"partial" | "always">;
1269
+ required: boolean;
1270
+ default: string;
1271
+ };
1272
+ hideWhenDetached: {
1273
+ type: vue.PropType<boolean>;
1274
+ required: boolean;
1275
+ default: boolean;
1276
+ };
1277
+ updatePositionStrategy: {
1278
+ type: vue.PropType<"always" | "optimized">;
1279
+ required: boolean;
1280
+ default: string;
1281
+ };
1282
+ onPlaced: {
1283
+ type: vue.PropType<() => void>;
1284
+ required: boolean;
1285
+ };
1286
+ prioritizePosition: {
1287
+ type: vue.PropType<boolean>;
1288
+ required: boolean;
1289
+ default: boolean;
1290
+ };
1291
+ }>> & {
1292
+ [x: `on${Capitalize<string>}`]: ((...args: any[]) => any) | undefined;
1293
+ }, {
1294
+ as: vue.Component<any, any, any, vue.ComputedOptions, vue.MethodOptions, {}, any> | _destyler_primitive.AsTag;
1295
+ asChild: boolean;
1296
+ trapFocus: boolean;
1297
+ disableOutsidePointerEvents: boolean;
1298
+ side: "top" | "right" | "bottom" | "left";
1299
+ sideOffset: number;
1300
+ align: "start" | "center" | "end";
1301
+ alignOffset: number;
1302
+ avoidCollisions: boolean;
1303
+ collisionBoundary: Element | (Element | null)[] | null;
1304
+ collisionPadding: number | Partial<Record<"top" | "right" | "bottom" | "left", number>>;
1305
+ arrowPadding: number;
1306
+ sticky: "partial" | "always";
1307
+ hideWhenDetached: boolean;
1308
+ updatePositionStrategy: "always" | "optimized";
1309
+ prioritizePosition: boolean;
1310
+ }, {}>;
1311
+
1312
+ declare const destylerPopoverPortalProps: {
1313
+ to: {
1314
+ type: vue.PropType<string | HTMLElement>;
1315
+ required: boolean;
1316
+ default: string;
1317
+ };
1318
+ disabled: {
1319
+ type: vue.PropType<boolean>;
1320
+ required: boolean;
1321
+ default: boolean;
1322
+ };
1323
+ forceMount: {
1324
+ type: vue.PropType<boolean>;
1325
+ required: boolean;
1326
+ default: boolean;
1327
+ };
1328
+ };
1329
+ declare const DestylerPopoverPortal: vue.DefineComponent<{
1330
+ to: {
1331
+ type: vue.PropType<string | HTMLElement>;
1332
+ required: boolean;
1333
+ default: string;
1334
+ };
1335
+ disabled: {
1336
+ type: vue.PropType<boolean>;
1337
+ required: boolean;
1338
+ default: boolean;
1339
+ };
1340
+ forceMount: {
1341
+ type: vue.PropType<boolean>;
1342
+ required: boolean;
1343
+ default: boolean;
1344
+ };
1345
+ }, unknown, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
1346
+ to: {
1347
+ type: vue.PropType<string | HTMLElement>;
1348
+ required: boolean;
1349
+ default: string;
1350
+ };
1351
+ disabled: {
1352
+ type: vue.PropType<boolean>;
1353
+ required: boolean;
1354
+ default: boolean;
1355
+ };
1356
+ forceMount: {
1357
+ type: vue.PropType<boolean>;
1358
+ required: boolean;
1359
+ default: boolean;
1360
+ };
1361
+ }>>, {
1362
+ forceMount: boolean;
1363
+ to: string | HTMLElement;
1364
+ disabled: boolean;
1365
+ }, {}>;
1366
+
1367
+ declare const destylerPopoverTriggerProps: {
1368
+ as: {
1369
+ type: PropType<AsTag | Component>;
1370
+ required: boolean;
1371
+ default: string;
1372
+ };
1373
+ asChild: {
1374
+ type: PropType<boolean>;
1375
+ required: boolean;
1376
+ default: boolean;
1377
+ };
1378
+ };
1379
+ declare const DestylerPopoverTrigger: vue.DefineComponent<{
1380
+ as: {
1381
+ type: PropType<AsTag | Component>;
1382
+ required: boolean;
1383
+ default: string;
1384
+ };
1385
+ asChild: {
1386
+ type: PropType<boolean>;
1387
+ required: boolean;
1388
+ default: boolean;
1389
+ };
1390
+ }, {
1391
+ rootContext: PopoverRootContext;
1392
+ customElement: vue.Ref<vue.ComponentPublicInstance | undefined>;
1393
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
1394
+ as: {
1395
+ type: PropType<AsTag | Component>;
1396
+ required: boolean;
1397
+ default: string;
1398
+ };
1399
+ asChild: {
1400
+ type: PropType<boolean>;
1401
+ required: boolean;
1402
+ default: boolean;
1403
+ };
1404
+ }>>, {
1405
+ as: AsTag | Component;
1406
+ asChild: boolean;
1407
+ }, {}>;
164
1408
 
165
1409
  declare function DestylerPopoverResolver(): ComponentResolver;
166
1410
 
167
- export { DestylerPopover, DestylerPopoverBody, DestylerPopoverResolver, type InternalPopoverInst, type InternalRenderBody, type PopoverInjection, type PopoverInst, type PopoverProps, type PopoverTrigger, type TriggerEventHandlers, destylerPopoverProps, popoverBodyProps };
1411
+ export { DestylerPopoverAnchor, DestylerPopoverArrow, DestylerPopoverClose, DestylerPopoverContent, DestylerPopoverContentImpl, DestylerPopoverContentModal, DestylerPopoverContentNonModal, DestylerPopoverPortal, DestylerPopoverResolver, DestylerPopoverRoot, DestylerPopoverTrigger, type PopoverRootContext, destylerPopoverAnchorProps, destylerPopoverArrowProps, destylerPopoverCloseProps, destylerPopoverContentEmits, destylerPopoverContentImplEmits, destylerPopoverContentImplProps, destylerPopoverContentProps, destylerPopoverPortalProps, destylerPopoverRootProps, destylerPopoverTriggerProps, injectPopoverRootContext, providePopoverRootContext };