vuetify 3.2.3 → 3.2.5
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/json/attributes.json +9 -9
- package/dist/json/web-types.json +11 -11
- package/dist/vuetify-labs.css +505 -502
- package/dist/vuetify-labs.d.ts +4918 -437
- package/dist/vuetify-labs.esm.js +142 -124
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +142 -124
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +10 -7
- package/dist/vuetify.d.ts +3796 -248
- package/dist/vuetify.esm.js +131 -115
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +131 -115
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +469 -469
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.mjs +1 -2
- package/lib/components/VAlert/VAlert.mjs.map +1 -1
- package/lib/components/VAlert/index.d.ts +52 -0
- package/lib/components/VApp/index.d.ts +16 -0
- package/lib/components/VAppBar/VAppBar.mjs +2 -2
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarNavIcon.mjs +1 -2
- package/lib/components/VAppBar/VAppBarNavIcon.mjs.map +1 -1
- package/lib/components/VAppBar/VAppBarTitle.mjs +1 -2
- package/lib/components/VAppBar/VAppBarTitle.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.ts +84 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +5 -5
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +76 -12
- package/lib/components/VAvatar/index.d.ts +16 -0
- package/lib/components/VBadge/index.d.ts +20 -0
- package/lib/components/VBanner/index.d.ts +60 -0
- package/lib/components/VBottomNavigation/index.d.ts +16 -0
- package/lib/components/VBreadcrumbs/index.d.ts +39 -3
- package/lib/components/VBtn/index.d.ts +28 -0
- package/lib/components/VBtnGroup/index.d.ts +16 -0
- package/lib/components/VBtnToggle/index.d.ts +16 -0
- package/lib/components/VCard/index.d.ts +144 -0
- package/lib/components/VCarousel/index.d.ts +128 -0
- package/lib/components/VCheckbox/index.d.ts +84 -0
- package/lib/components/VChip/VChip.css +4 -3
- package/lib/components/VChip/VChip.sass +3 -3
- package/lib/components/VChip/index.d.ts +28 -0
- package/lib/components/VChipGroup/index.d.ts +16 -0
- package/lib/components/VCode/index.d.ts +16 -0
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs +5 -5
- package/lib/components/VColorPicker/VColorPickerCanvas.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +5 -5
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +76 -12
- package/lib/components/VCounter/index.d.ts +16 -0
- package/lib/components/VDefaultsProvider/index.d.ts +16 -0
- package/lib/components/VDialog/index.d.ts +133 -3
- package/lib/components/VDivider/index.d.ts +16 -0
- package/lib/components/VExpansionPanel/index.d.ts +76 -0
- package/lib/components/VField/index.d.ts +23 -3
- package/lib/components/VFileInput/index.d.ts +118 -3
- package/lib/components/VFooter/VFooter.mjs +2 -2
- package/lib/components/VFooter/VFooter.mjs.map +1 -1
- package/lib/components/VFooter/index.d.ts +16 -0
- package/lib/components/VForm/index.d.ts +19 -3
- package/lib/components/VGrid/index.d.ts +64 -0
- package/lib/components/VHover/index.d.ts +28 -0
- package/lib/components/VIcon/index.d.ts +32 -0
- package/lib/components/VImg/VImg.mjs +6 -6
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.ts +40 -12
- package/lib/components/VInput/index.d.ts +28 -0
- package/lib/components/VItemGroup/index.d.ts +32 -0
- package/lib/components/VKbd/index.d.ts +16 -0
- package/lib/components/VLabel/index.d.ts +16 -0
- package/lib/components/VLayout/index.d.ts +32 -0
- package/lib/components/VLazy/index.d.ts +16 -0
- package/lib/components/VList/VList.mjs +2 -2
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/index.d.ts +176 -12
- package/lib/components/VList/list.mjs +4 -4
- package/lib/components/VList/list.mjs.map +1 -1
- package/lib/components/VLocaleProvider/index.d.ts +16 -0
- package/lib/components/VMain/index.d.ts +16 -0
- package/lib/components/VMenu/VMenu.mjs +3 -3
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.ts +136 -6
- package/lib/components/VMessages/index.d.ts +16 -0
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +2 -0
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +2 -2
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +2 -0
- package/lib/components/VNavigationDrawer/index.d.ts +31 -3
- package/lib/components/VNavigationDrawer/sticky.mjs +5 -4
- package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/touch.mjs +4 -4
- package/lib/components/VNavigationDrawer/touch.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.ts +40 -0
- package/lib/components/VOverlay/locationStrategies.mjs +1 -1
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VPagination/VPagination.mjs +2 -2
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VPagination/index.d.ts +32 -0
- package/lib/components/VParallax/index.d.ts +28 -0
- package/lib/components/VProgressCircular/index.d.ts +16 -0
- package/lib/components/VProgressLinear/index.d.ts +28 -0
- package/lib/components/VRadio/index.d.ts +36 -0
- package/lib/components/VRadioGroup/index.d.ts +48 -0
- package/lib/components/VRangeSlider/index.d.ts +36 -0
- package/lib/components/VRating/VRating.mjs +6 -3
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VRating/index.d.ts +20 -0
- package/lib/components/VResponsive/index.d.ts +20 -0
- package/lib/components/VSelect/VSelect.mjs +2 -2
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +76 -12
- package/lib/components/VSelectionControl/VSelectionControl.mjs +3 -3
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.ts +10 -6
- package/lib/components/VSelectionControlGroup/index.d.ts +16 -0
- package/lib/components/VSheet/index.d.ts +16 -0
- package/lib/components/VSlideGroup/VSlideGroup.mjs +7 -7
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.ts +63 -3
- package/lib/components/VSlider/index.d.ts +36 -0
- package/lib/components/VSlider/slider.mjs +3 -3
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.ts +129 -3
- package/lib/components/VSwitch/VSwitch.css +3 -3
- package/lib/components/VSwitch/VSwitch.sass +4 -3
- package/lib/components/VSwitch/index.d.ts +52 -0
- package/lib/components/VSystemBar/VSystemBar.mjs +2 -2
- package/lib/components/VSystemBar/VSystemBar.mjs.map +1 -1
- package/lib/components/VSystemBar/index.d.ts +16 -0
- package/lib/components/VTable/index.d.ts +28 -0
- package/lib/components/VTabs/VTab.mjs +4 -5
- package/lib/components/VTabs/VTab.mjs.map +1 -1
- package/lib/components/VTabs/index.d.ts +32 -0
- package/lib/components/VTextField/index.d.ts +121 -6
- package/lib/components/VTextarea/VTextarea.mjs +6 -3
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +110 -3
- package/lib/components/VThemeProvider/index.d.ts +16 -0
- package/lib/components/VTimeline/VTimelineItem.mjs +2 -2
- package/lib/components/VTimeline/VTimelineItem.mjs.map +1 -1
- package/lib/components/VTimeline/index.d.ts +40 -0
- package/lib/components/VToolbar/VToolbar.mjs +2 -2
- package/lib/components/VToolbar/VToolbar.mjs.map +1 -1
- package/lib/components/VToolbar/index.d.ts +72 -0
- package/lib/components/VTooltip/index.d.ts +133 -3
- package/lib/components/VValidation/index.d.ts +16 -0
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +3 -3
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/index.d.ts +7 -3
- package/lib/components/VWindow/VWindow.mjs +3 -3
- package/lib/components/VWindow/VWindow.mjs.map +1 -1
- package/lib/components/VWindow/VWindowItem.mjs +3 -3
- package/lib/components/VWindow/VWindowItem.mjs.map +1 -1
- package/lib/components/VWindow/index.d.ts +76 -0
- package/lib/components/index.d.ts +3786 -245
- package/lib/components/transitions/index.d.ts +256 -0
- package/lib/composables/display.mjs +3 -3
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/form.mjs +4 -4
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/hydration.mjs +6 -6
- package/lib/composables/hydration.mjs.map +1 -1
- package/lib/composables/intersectionObserver.mjs +2 -2
- package/lib/composables/intersectionObserver.mjs.map +1 -1
- package/lib/composables/layout.mjs +3 -3
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/lazy.mjs +2 -2
- package/lib/composables/lazy.mjs.map +1 -1
- package/lib/composables/nested/nested.mjs +5 -4
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/scroll.mjs +6 -6
- package/lib/composables/scroll.mjs.map +1 -1
- package/lib/composables/ssrBoot.mjs +2 -2
- package/lib/composables/ssrBoot.mjs.map +1 -1
- package/lib/composables/stack.mjs +5 -4
- package/lib/composables/stack.mjs.map +1 -1
- package/lib/composables/transition.mjs +5 -2
- package/lib/composables/transition.mjs.map +1 -1
- package/lib/composables/validation.mjs +3 -3
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +9 -2
- package/lib/labs/VDataTable/VDataTable.mjs +2 -1
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +2 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +6 -6
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/virtual.mjs +3 -3
- package/lib/labs/VDataTable/composables/virtual.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +894 -2
- package/lib/labs/VInfiniteScroll/index.d.ts +32 -0
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/labs/VSkeletonLoader/index.d.ts +25 -9
- package/lib/labs/components.d.ts +951 -11
- package/lib/locale/adapters/vuetify.mjs +8 -5
- package/lib/locale/adapters/vuetify.mjs.map +1 -1
- package/lib/styles/settings/_variables.scss +3 -3
- package/lib/util/defineComponent.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -66,6 +66,15 @@ declare const VToolbar: {
|
|
|
66
66
|
"v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
|
|
67
67
|
"v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
|
|
68
68
|
"v-slot:extension"?: false | (() => vue.VNodeChild) | undefined;
|
|
69
|
+
} & {
|
|
70
|
+
$slots?: {
|
|
71
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
72
|
+
image?: (() => vue.VNodeChild) | undefined;
|
|
73
|
+
prepend?: (() => vue.VNodeChild) | undefined;
|
|
74
|
+
append?: (() => vue.VNodeChild) | undefined;
|
|
75
|
+
title?: (() => vue.VNodeChild) | undefined;
|
|
76
|
+
extension?: (() => vue.VNodeChild) | undefined;
|
|
77
|
+
} | undefined;
|
|
69
78
|
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "flat" | "absolute" | "height" | "style" | "tag" | "collapse" | "rounded" | "density" | "extended" | "extensionHeight" | "floating">;
|
|
70
79
|
$attrs: {
|
|
71
80
|
[x: string]: unknown;
|
|
@@ -124,6 +133,15 @@ declare const VToolbar: {
|
|
|
124
133
|
"v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
|
|
125
134
|
"v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
|
|
126
135
|
"v-slot:extension"?: false | (() => vue.VNodeChild) | undefined;
|
|
136
|
+
} & {
|
|
137
|
+
$slots?: {
|
|
138
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
139
|
+
image?: (() => vue.VNodeChild) | undefined;
|
|
140
|
+
prepend?: (() => vue.VNodeChild) | undefined;
|
|
141
|
+
append?: (() => vue.VNodeChild) | undefined;
|
|
142
|
+
title?: (() => vue.VNodeChild) | undefined;
|
|
143
|
+
extension?: (() => vue.VNodeChild) | undefined;
|
|
144
|
+
} | undefined;
|
|
127
145
|
}, {
|
|
128
146
|
contentHeight: vue.ComputedRef<number>;
|
|
129
147
|
extensionHeight: vue.ComputedRef<number>;
|
|
@@ -203,6 +221,15 @@ declare const VToolbar: {
|
|
|
203
221
|
"v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
|
|
204
222
|
"v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
|
|
205
223
|
"v-slot:extension"?: false | (() => vue.VNodeChild) | undefined;
|
|
224
|
+
} & {
|
|
225
|
+
$slots?: {
|
|
226
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
227
|
+
image?: (() => vue.VNodeChild) | undefined;
|
|
228
|
+
prepend?: (() => vue.VNodeChild) | undefined;
|
|
229
|
+
append?: (() => vue.VNodeChild) | undefined;
|
|
230
|
+
title?: (() => vue.VNodeChild) | undefined;
|
|
231
|
+
extension?: (() => vue.VNodeChild) | undefined;
|
|
232
|
+
} | undefined;
|
|
206
233
|
} & vue.ShallowUnwrapRef<{
|
|
207
234
|
contentHeight: vue.ComputedRef<number>;
|
|
208
235
|
extensionHeight: vue.ComputedRef<number>;
|
|
@@ -254,6 +281,15 @@ declare const VToolbar: {
|
|
|
254
281
|
"v-slot:append"?: false | (() => vue.VNodeChild) | undefined;
|
|
255
282
|
"v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
|
|
256
283
|
"v-slot:extension"?: false | (() => vue.VNodeChild) | undefined;
|
|
284
|
+
} & {
|
|
285
|
+
$slots?: {
|
|
286
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
287
|
+
image?: (() => vue.VNodeChild) | undefined;
|
|
288
|
+
prepend?: (() => vue.VNodeChild) | undefined;
|
|
289
|
+
append?: (() => vue.VNodeChild) | undefined;
|
|
290
|
+
title?: (() => vue.VNodeChild) | undefined;
|
|
291
|
+
extension?: (() => vue.VNodeChild) | undefined;
|
|
292
|
+
} | undefined;
|
|
257
293
|
}, {
|
|
258
294
|
contentHeight: vue.ComputedRef<number>;
|
|
259
295
|
extensionHeight: vue.ComputedRef<number>;
|
|
@@ -385,6 +421,11 @@ declare const VToolbarTitle: {
|
|
|
385
421
|
} & {
|
|
386
422
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
387
423
|
"v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
|
|
424
|
+
} & {
|
|
425
|
+
$slots?: {
|
|
426
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
427
|
+
text?: (() => vue.VNodeChild) | undefined;
|
|
428
|
+
} | undefined;
|
|
388
429
|
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "style" | "tag">;
|
|
389
430
|
$attrs: {
|
|
390
431
|
[x: string]: unknown;
|
|
@@ -417,6 +458,11 @@ declare const VToolbarTitle: {
|
|
|
417
458
|
} & {
|
|
418
459
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
419
460
|
"v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
|
|
461
|
+
} & {
|
|
462
|
+
$slots?: {
|
|
463
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
464
|
+
text?: (() => vue.VNodeChild) | undefined;
|
|
465
|
+
} | undefined;
|
|
420
466
|
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
|
|
421
467
|
style: vue.StyleValue;
|
|
422
468
|
tag: string;
|
|
@@ -458,6 +504,11 @@ declare const VToolbarTitle: {
|
|
|
458
504
|
} & {
|
|
459
505
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
460
506
|
"v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
|
|
507
|
+
} & {
|
|
508
|
+
$slots?: {
|
|
509
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
510
|
+
text?: (() => vue.VNodeChild) | undefined;
|
|
511
|
+
} | undefined;
|
|
461
512
|
} & vue.ShallowUnwrapRef<{}> & {} & vue.ComponentCustomProperties & {};
|
|
462
513
|
__isFragment?: undefined;
|
|
463
514
|
__isTeleport?: undefined;
|
|
@@ -480,6 +531,11 @@ declare const VToolbarTitle: {
|
|
|
480
531
|
} & {
|
|
481
532
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
482
533
|
"v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
|
|
534
|
+
} & {
|
|
535
|
+
$slots?: {
|
|
536
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
537
|
+
text?: (() => vue.VNodeChild) | undefined;
|
|
538
|
+
} | undefined;
|
|
483
539
|
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
|
|
484
540
|
style: vue.StyleValue;
|
|
485
541
|
tag: string;
|
|
@@ -530,6 +586,10 @@ declare const VToolbarItems: {
|
|
|
530
586
|
} | undefined;
|
|
531
587
|
} & {
|
|
532
588
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
589
|
+
} & {
|
|
590
|
+
$slots?: {
|
|
591
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
592
|
+
} | undefined;
|
|
533
593
|
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "style" | "variant">;
|
|
534
594
|
$attrs: {
|
|
535
595
|
[x: string]: unknown;
|
|
@@ -559,6 +619,10 @@ declare const VToolbarItems: {
|
|
|
559
619
|
} | undefined;
|
|
560
620
|
} & {
|
|
561
621
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
622
|
+
} & {
|
|
623
|
+
$slots?: {
|
|
624
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
625
|
+
} | undefined;
|
|
562
626
|
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
|
|
563
627
|
style: vue.StyleValue;
|
|
564
628
|
variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
|
|
@@ -597,6 +661,10 @@ declare const VToolbarItems: {
|
|
|
597
661
|
} | undefined;
|
|
598
662
|
} & {
|
|
599
663
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
664
|
+
} & {
|
|
665
|
+
$slots?: {
|
|
666
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
667
|
+
} | undefined;
|
|
600
668
|
} & vue.ShallowUnwrapRef<{}> & {} & vue.ComponentCustomProperties & {};
|
|
601
669
|
__isFragment?: undefined;
|
|
602
670
|
__isTeleport?: undefined;
|
|
@@ -616,6 +684,10 @@ declare const VToolbarItems: {
|
|
|
616
684
|
} | undefined;
|
|
617
685
|
} & {
|
|
618
686
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
687
|
+
} & {
|
|
688
|
+
$slots?: {
|
|
689
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
690
|
+
} | undefined;
|
|
619
691
|
}, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
|
|
620
692
|
style: vue.StyleValue;
|
|
621
693
|
variant: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
|
|
@@ -185,6 +185,16 @@ declare const VTooltip: {
|
|
|
185
185
|
isActive: boolean;
|
|
186
186
|
props: Record<string, any>;
|
|
187
187
|
}) => vue.VNodeChild) | undefined;
|
|
188
|
+
} & {
|
|
189
|
+
$slots?: {
|
|
190
|
+
default?: ((args_0: {
|
|
191
|
+
isActive: vue.Ref<boolean>;
|
|
192
|
+
}) => vue.VNodeChild) | undefined;
|
|
193
|
+
activator?: ((args_0: {
|
|
194
|
+
isActive: boolean;
|
|
195
|
+
props: Record<string, any>;
|
|
196
|
+
}) => vue.VNodeChild) | undefined;
|
|
197
|
+
} | undefined;
|
|
188
198
|
} & {
|
|
189
199
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
190
200
|
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "offset" | "location" | "origin" | "minWidth" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "scrim">;
|
|
@@ -272,6 +282,16 @@ declare const VTooltip: {
|
|
|
272
282
|
isActive: boolean;
|
|
273
283
|
props: Record<string, any>;
|
|
274
284
|
}) => vue.VNodeChild) | undefined;
|
|
285
|
+
} & {
|
|
286
|
+
$slots?: {
|
|
287
|
+
default?: ((args_0: {
|
|
288
|
+
isActive: vue.Ref<boolean>;
|
|
289
|
+
}) => vue.VNodeChild) | undefined;
|
|
290
|
+
activator?: ((args_0: {
|
|
291
|
+
isActive: boolean;
|
|
292
|
+
props: Record<string, any>;
|
|
293
|
+
}) => vue.VNodeChild) | undefined;
|
|
294
|
+
} | undefined;
|
|
275
295
|
} & {
|
|
276
296
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
277
297
|
}, Omit<Omit<{
|
|
@@ -376,6 +396,16 @@ declare const VTooltip: {
|
|
|
376
396
|
isActive: boolean;
|
|
377
397
|
props: Record<string, any>;
|
|
378
398
|
}) => vue.VNodeChild) | undefined;
|
|
399
|
+
} & {
|
|
400
|
+
$slots?: {
|
|
401
|
+
default?: ((args_0: {
|
|
402
|
+
isActive: vue.Ref<boolean>;
|
|
403
|
+
}) => vue.VNodeChild) | undefined;
|
|
404
|
+
activator?: ((args_0: {
|
|
405
|
+
isActive: boolean;
|
|
406
|
+
props: Record<string, any>;
|
|
407
|
+
}) => vue.VNodeChild) | undefined;
|
|
408
|
+
} | undefined;
|
|
379
409
|
} & {
|
|
380
410
|
onAfterLeave?: (() => any) | undefined;
|
|
381
411
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
@@ -466,6 +496,16 @@ declare const VTooltip: {
|
|
|
466
496
|
isActive: boolean;
|
|
467
497
|
props: Record<string, any>;
|
|
468
498
|
}) => vue.VNodeChild) | undefined;
|
|
499
|
+
} & {
|
|
500
|
+
$slots?: {
|
|
501
|
+
default?: ((args_0: {
|
|
502
|
+
isActive: vue.Ref<boolean>;
|
|
503
|
+
}) => vue.VNodeChild) | undefined;
|
|
504
|
+
activator?: ((args_0: {
|
|
505
|
+
isActive: boolean;
|
|
506
|
+
props: Record<string, any>;
|
|
507
|
+
}) => vue.VNodeChild) | undefined;
|
|
508
|
+
} | undefined;
|
|
469
509
|
} & {
|
|
470
510
|
onAfterLeave?: (() => any) | undefined;
|
|
471
511
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
@@ -600,6 +640,16 @@ declare const VTooltip: {
|
|
|
600
640
|
isActive: boolean;
|
|
601
641
|
props: Record<string, any>;
|
|
602
642
|
}) => vue.VNodeChild) | undefined;
|
|
643
|
+
} & {
|
|
644
|
+
$slots?: {
|
|
645
|
+
default?: ((args_0: {
|
|
646
|
+
isActive: vue.Ref<boolean>;
|
|
647
|
+
}) => vue.VNodeChild) | undefined;
|
|
648
|
+
activator?: ((args_0: {
|
|
649
|
+
isActive: boolean;
|
|
650
|
+
props: Record<string, any>;
|
|
651
|
+
}) => vue.VNodeChild) | undefined;
|
|
652
|
+
} | undefined;
|
|
603
653
|
} & {
|
|
604
654
|
onAfterLeave?: (() => any) | undefined;
|
|
605
655
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
@@ -611,7 +661,7 @@ declare const VTooltip: {
|
|
|
611
661
|
globalTop: Readonly<vue.Ref<boolean>>;
|
|
612
662
|
localTop: vue.ComputedRef<boolean>;
|
|
613
663
|
updateLocation: vue.Ref<((e: Event) => void) | undefined>;
|
|
614
|
-
}> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "v-slot:default" | "v-slots" | "contentClass" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
664
|
+
}> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "v-slot:default" | "v-slots" | "contentClass" | "$slots" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
615
665
|
'update:modelValue': (value: boolean) => boolean;
|
|
616
666
|
}, string, {
|
|
617
667
|
offset: NonNullable<string | number | number[] | undefined>;
|
|
@@ -730,6 +780,16 @@ declare const VTooltip: {
|
|
|
730
780
|
isActive: boolean;
|
|
731
781
|
props: Record<string, any>;
|
|
732
782
|
}) => vue.VNodeChild) | undefined;
|
|
783
|
+
} & {
|
|
784
|
+
$slots?: {
|
|
785
|
+
default?: ((args_0: {
|
|
786
|
+
isActive: vue.Ref<boolean>;
|
|
787
|
+
}) => vue.VNodeChild) | undefined;
|
|
788
|
+
activator?: ((args_0: {
|
|
789
|
+
isActive: boolean;
|
|
790
|
+
props: Record<string, any>;
|
|
791
|
+
}) => vue.VNodeChild) | undefined;
|
|
792
|
+
} | undefined;
|
|
733
793
|
} & {
|
|
734
794
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
735
795
|
} & vue.ShallowUnwrapRef<Omit<Omit<{
|
|
@@ -834,6 +894,16 @@ declare const VTooltip: {
|
|
|
834
894
|
isActive: boolean;
|
|
835
895
|
props: Record<string, any>;
|
|
836
896
|
}) => vue.VNodeChild) | undefined;
|
|
897
|
+
} & {
|
|
898
|
+
$slots?: {
|
|
899
|
+
default?: ((args_0: {
|
|
900
|
+
isActive: vue.Ref<boolean>;
|
|
901
|
+
}) => vue.VNodeChild) | undefined;
|
|
902
|
+
activator?: ((args_0: {
|
|
903
|
+
isActive: boolean;
|
|
904
|
+
props: Record<string, any>;
|
|
905
|
+
}) => vue.VNodeChild) | undefined;
|
|
906
|
+
} | undefined;
|
|
837
907
|
} & {
|
|
838
908
|
onAfterLeave?: (() => any) | undefined;
|
|
839
909
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
@@ -924,6 +994,16 @@ declare const VTooltip: {
|
|
|
924
994
|
isActive: boolean;
|
|
925
995
|
props: Record<string, any>;
|
|
926
996
|
}) => vue.VNodeChild) | undefined;
|
|
997
|
+
} & {
|
|
998
|
+
$slots?: {
|
|
999
|
+
default?: ((args_0: {
|
|
1000
|
+
isActive: vue.Ref<boolean>;
|
|
1001
|
+
}) => vue.VNodeChild) | undefined;
|
|
1002
|
+
activator?: ((args_0: {
|
|
1003
|
+
isActive: boolean;
|
|
1004
|
+
props: Record<string, any>;
|
|
1005
|
+
}) => vue.VNodeChild) | undefined;
|
|
1006
|
+
} | undefined;
|
|
927
1007
|
} & {
|
|
928
1008
|
onAfterLeave?: (() => any) | undefined;
|
|
929
1009
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
@@ -1058,6 +1138,16 @@ declare const VTooltip: {
|
|
|
1058
1138
|
isActive: boolean;
|
|
1059
1139
|
props: Record<string, any>;
|
|
1060
1140
|
}) => vue.VNodeChild) | undefined;
|
|
1141
|
+
} & {
|
|
1142
|
+
$slots?: {
|
|
1143
|
+
default?: ((args_0: {
|
|
1144
|
+
isActive: vue.Ref<boolean>;
|
|
1145
|
+
}) => vue.VNodeChild) | undefined;
|
|
1146
|
+
activator?: ((args_0: {
|
|
1147
|
+
isActive: boolean;
|
|
1148
|
+
props: Record<string, any>;
|
|
1149
|
+
}) => vue.VNodeChild) | undefined;
|
|
1150
|
+
} | undefined;
|
|
1061
1151
|
} & {
|
|
1062
1152
|
onAfterLeave?: (() => any) | undefined;
|
|
1063
1153
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
@@ -1069,7 +1159,7 @@ declare const VTooltip: {
|
|
|
1069
1159
|
globalTop: Readonly<vue.Ref<boolean>>;
|
|
1070
1160
|
localTop: vue.ComputedRef<boolean>;
|
|
1071
1161
|
updateLocation: vue.Ref<((e: Event) => void) | undefined>;
|
|
1072
|
-
}> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "v-slot:default" | "v-slots" | "contentClass" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>> & {} & vue.ComponentCustomProperties & {};
|
|
1162
|
+
}> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "v-slot:default" | "v-slots" | "contentClass" | "$slots" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>> & {} & vue.ComponentCustomProperties & {};
|
|
1073
1163
|
__isFragment?: undefined;
|
|
1074
1164
|
__isTeleport?: undefined;
|
|
1075
1165
|
__isSuspense?: undefined;
|
|
@@ -1144,6 +1234,16 @@ declare const VTooltip: {
|
|
|
1144
1234
|
isActive: boolean;
|
|
1145
1235
|
props: Record<string, any>;
|
|
1146
1236
|
}) => vue.VNodeChild) | undefined;
|
|
1237
|
+
} & {
|
|
1238
|
+
$slots?: {
|
|
1239
|
+
default?: ((args_0: {
|
|
1240
|
+
isActive: vue.Ref<boolean>;
|
|
1241
|
+
}) => vue.VNodeChild) | undefined;
|
|
1242
|
+
activator?: ((args_0: {
|
|
1243
|
+
isActive: boolean;
|
|
1244
|
+
props: Record<string, any>;
|
|
1245
|
+
}) => vue.VNodeChild) | undefined;
|
|
1246
|
+
} | undefined;
|
|
1147
1247
|
} & {
|
|
1148
1248
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
1149
1249
|
}, Omit<Omit<{
|
|
@@ -1248,6 +1348,16 @@ declare const VTooltip: {
|
|
|
1248
1348
|
isActive: boolean;
|
|
1249
1349
|
props: Record<string, any>;
|
|
1250
1350
|
}) => vue.VNodeChild) | undefined;
|
|
1351
|
+
} & {
|
|
1352
|
+
$slots?: {
|
|
1353
|
+
default?: ((args_0: {
|
|
1354
|
+
isActive: vue.Ref<boolean>;
|
|
1355
|
+
}) => vue.VNodeChild) | undefined;
|
|
1356
|
+
activator?: ((args_0: {
|
|
1357
|
+
isActive: boolean;
|
|
1358
|
+
props: Record<string, any>;
|
|
1359
|
+
}) => vue.VNodeChild) | undefined;
|
|
1360
|
+
} | undefined;
|
|
1251
1361
|
} & {
|
|
1252
1362
|
onAfterLeave?: (() => any) | undefined;
|
|
1253
1363
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
@@ -1338,6 +1448,16 @@ declare const VTooltip: {
|
|
|
1338
1448
|
isActive: boolean;
|
|
1339
1449
|
props: Record<string, any>;
|
|
1340
1450
|
}) => vue.VNodeChild) | undefined;
|
|
1451
|
+
} & {
|
|
1452
|
+
$slots?: {
|
|
1453
|
+
default?: ((args_0: {
|
|
1454
|
+
isActive: vue.Ref<boolean>;
|
|
1455
|
+
}) => vue.VNodeChild) | undefined;
|
|
1456
|
+
activator?: ((args_0: {
|
|
1457
|
+
isActive: boolean;
|
|
1458
|
+
props: Record<string, any>;
|
|
1459
|
+
}) => vue.VNodeChild) | undefined;
|
|
1460
|
+
} | undefined;
|
|
1341
1461
|
} & {
|
|
1342
1462
|
onAfterLeave?: (() => any) | undefined;
|
|
1343
1463
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
@@ -1472,6 +1592,16 @@ declare const VTooltip: {
|
|
|
1472
1592
|
isActive: boolean;
|
|
1473
1593
|
props: Record<string, any>;
|
|
1474
1594
|
}) => vue.VNodeChild) | undefined;
|
|
1595
|
+
} & {
|
|
1596
|
+
$slots?: {
|
|
1597
|
+
default?: ((args_0: {
|
|
1598
|
+
isActive: vue.Ref<boolean>;
|
|
1599
|
+
}) => vue.VNodeChild) | undefined;
|
|
1600
|
+
activator?: ((args_0: {
|
|
1601
|
+
isActive: boolean;
|
|
1602
|
+
props: Record<string, any>;
|
|
1603
|
+
}) => vue.VNodeChild) | undefined;
|
|
1604
|
+
} | undefined;
|
|
1475
1605
|
} & {
|
|
1476
1606
|
onAfterLeave?: (() => any) | undefined;
|
|
1477
1607
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
@@ -1483,7 +1613,7 @@ declare const VTooltip: {
|
|
|
1483
1613
|
globalTop: Readonly<vue.Ref<boolean>>;
|
|
1484
1614
|
localTop: vue.ComputedRef<boolean>;
|
|
1485
1615
|
updateLocation: vue.Ref<((e: Event) => void) | undefined>;
|
|
1486
|
-
}> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "v-slot:default" | "v-slots" | "contentClass" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
1616
|
+
}> & {} & vue.ComponentCustomProperties & {}, "offset" | "key" | "height" | "width" | "maxHeight" | "maxWidth" | "minHeight" | "minWidth" | "class" | "onAfterLeave" | "$children" | "ref" | "ref_for" | "ref_key" | "theme" | "onVnodeBeforeMount" | "onVnodeMounted" | "onVnodeBeforeUpdate" | "onVnodeUpdated" | "onVnodeBeforeUnmount" | "onVnodeUnmounted" | "v-slot:default" | "v-slots" | "contentClass" | "$slots" | "onUpdate:modelValue" | "activator" | "v-slot:activator" | "closeDelay" | "openDelay" | "contentProps" | "attach" | "onClick:outside" | ("absolute" | "location" | "origin" | "transition" | "zIndex" | "style" | "eager" | "disabled" | "modelValue" | "activatorProps" | "openOnClick" | "openOnHover" | "openOnFocus" | "closeOnContentClick" | "locationStrategy" | "scrollStrategy" | "closeOnBack" | "contained" | "noClickAnimation" | "persistent" | "scrim" | "_disableGlobalStack")>, `$${any}`>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
1487
1617
|
'update:modelValue': (value: boolean) => boolean;
|
|
1488
1618
|
}, string, {
|
|
1489
1619
|
offset: NonNullable<string | number | number[] | undefined>;
|
|
@@ -47,6 +47,10 @@ declare const VValidation: {
|
|
|
47
47
|
} | undefined;
|
|
48
48
|
} & {
|
|
49
49
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
50
|
+
} & {
|
|
51
|
+
$slots?: {
|
|
52
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
53
|
+
} | undefined;
|
|
50
54
|
} & {
|
|
51
55
|
"onUpdate:modelValue"?: ((val: any) => any) | undefined;
|
|
52
56
|
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "error" | "disabled" | "readonly" | "focused" | "errorMessages" | "maxErrors" | "rules">;
|
|
@@ -87,6 +91,10 @@ declare const VValidation: {
|
|
|
87
91
|
} | undefined;
|
|
88
92
|
} & {
|
|
89
93
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
94
|
+
} & {
|
|
95
|
+
$slots?: {
|
|
96
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
97
|
+
} | undefined;
|
|
90
98
|
} & {
|
|
91
99
|
"onUpdate:modelValue"?: ((val: any) => any) | undefined;
|
|
92
100
|
}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
@@ -145,6 +153,10 @@ declare const VValidation: {
|
|
|
145
153
|
} | undefined;
|
|
146
154
|
} & {
|
|
147
155
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
156
|
+
} & {
|
|
157
|
+
$slots?: {
|
|
158
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
159
|
+
} | undefined;
|
|
148
160
|
} & {
|
|
149
161
|
"onUpdate:modelValue"?: ((val: any) => any) | undefined;
|
|
150
162
|
} & vue.ShallowUnwrapRef<() => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
@@ -177,6 +189,10 @@ declare const VValidation: {
|
|
|
177
189
|
} | undefined;
|
|
178
190
|
} & {
|
|
179
191
|
"v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
|
|
192
|
+
} & {
|
|
193
|
+
$slots?: {
|
|
194
|
+
default?: (() => vue.VNodeChild) | undefined;
|
|
195
|
+
} | undefined;
|
|
180
196
|
} & {
|
|
181
197
|
"onUpdate:modelValue"?: ((val: any) => any) | undefined;
|
|
182
198
|
}, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
|
|
@@ -8,7 +8,7 @@ import { makeComponentProps } from "../../composables/component.mjs";
|
|
|
8
8
|
import { makeDimensionProps, useDimension } from "../../composables/dimensions.mjs";
|
|
9
9
|
import { useDisplay } from "../../composables/display.mjs";
|
|
10
10
|
import { useResizeObserver } from "../../composables/resizeObserver.mjs"; // Utilities
|
|
11
|
-
import { computed, onMounted, ref, watch, watchEffect } from 'vue';
|
|
11
|
+
import { computed, onMounted, ref, shallowRef, watch, watchEffect } from 'vue';
|
|
12
12
|
import { clamp, convertToUnit, createRange, genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
13
13
|
const UP = -1;
|
|
14
14
|
const DOWN = 1;
|
|
@@ -28,8 +28,8 @@ export const VVirtualScroll = genericComponent()({
|
|
|
28
28
|
let {
|
|
29
29
|
slots
|
|
30
30
|
} = _ref;
|
|
31
|
-
const first =
|
|
32
|
-
const baseItemHeight =
|
|
31
|
+
const first = shallowRef(0);
|
|
32
|
+
const baseItemHeight = shallowRef(props.itemHeight);
|
|
33
33
|
const itemHeight = computed({
|
|
34
34
|
get: () => parseInt(baseItemHeight.value ?? 0, 10),
|
|
35
35
|
set(val) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VVirtualScroll.mjs","names":["VVirtualScrollItem","makeComponentProps","makeDimensionProps","useDimension","useDisplay","useResizeObserver","computed","onMounted","ref","watch","watchEffect","clamp","convertToUnit","createRange","genericComponent","propsFactory","useRender","UP","DOWN","makeVVirtualScrollProps","items","type","Array","default","itemHeight","Number","String","VVirtualScroll","name","props","setup","_ref","slots","first","baseItemHeight","get","parseInt","value","set","val","rootEl","resizeRef","contentRect","display","sizeMap","Map","sizes","length","map","visibleItems","Math","max","ceil","height","handleItemResize","index","calculateOffset","slice","reduce","curr","calculateMidPointIndex","scrollTop","end","middle","middleOffset","lastScrollTop","handleScroll","direction","midPointIndex","buffer","round","scrollToIndex","offset","item","raw","last","min","computedItems","paddingTop","paddingBottom","dimensionStyles","forEach","indexOf","delete","_createVNode","class","style"],"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.tsx"],"sourcesContent":["// Styles\nimport './VVirtualScroll.sass'\n\n// Components\nimport { VVirtualScrollItem } from './VVirtualScrollItem'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useDisplay } from '@/composables/display'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, onMounted, ref, watch, watchEffect } from 'vue'\nimport {\n clamp,\n convertToUnit,\n createRange,\n genericComponent,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { GenericProps } from '@/util'\n\nconst UP = -1\nconst DOWN = 1\n\nexport interface VVirtualScrollSlot<T> {\n item: T\n index: number\n}\n\nexport const makeVVirtualScrollProps = propsFactory({\n items: {\n type: Array,\n default: () => ([]),\n },\n itemHeight: [Number, String],\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'v-virtual-scroll')\n\nexport const VVirtualScroll = genericComponent<new <T>(props: {\n items?: readonly T[]\n}) => GenericProps<typeof props, {\n default: [VVirtualScrollSlot<T>]\n}>>()({\n name: 'VVirtualScroll',\n\n props: makeVVirtualScrollProps(),\n\n setup (props, { slots }) {\n const first = ref(0)\n const baseItemHeight = ref(props.itemHeight)\n const itemHeight = computed({\n get: () => parseInt(baseItemHeight.value ?? 0, 10),\n set (val) {\n baseItemHeight.value = val\n },\n })\n const rootEl = ref<HTMLDivElement>()\n const { resizeRef, contentRect } = useResizeObserver()\n watchEffect(() => {\n resizeRef.value = rootEl.value\n })\n const display = useDisplay()\n\n const sizeMap = new Map<any, number>()\n let sizes = createRange(props.items.length).map(() => itemHeight.value)\n const visibleItems = computed(() => {\n return Math.max(12,\n Math.ceil(((contentRect.value?.height ?? display.height.value) / itemHeight.value) * 1.7 + 1)\n )\n })\n\n function handleItemResize (index: number, height: number) {\n itemHeight.value = Math.max(itemHeight.value, height)\n sizes[index] = height\n sizeMap.set(props.items[index], height)\n }\n\n function calculateOffset (index: number) {\n return sizes.slice(0, index).reduce((curr, value) => curr + (value || itemHeight.value), 0)\n }\n\n function calculateMidPointIndex (scrollTop: number) {\n const end = props.items.length\n\n let middle = 0\n let middleOffset = 0\n while (middleOffset < scrollTop && middle < end) {\n middleOffset += sizes[middle++] || itemHeight.value\n }\n\n return middle - 1\n }\n\n let lastScrollTop = 0\n function handleScroll () {\n if (!rootEl.value || !contentRect.value) return\n\n const height = contentRect.value.height\n const scrollTop = rootEl.value.scrollTop\n const direction = scrollTop < lastScrollTop ? UP : DOWN\n\n const midPointIndex = calculateMidPointIndex(scrollTop + height / 2)\n const buffer = Math.round(visibleItems.value / 3)\n if (direction === UP && midPointIndex <= first.value + (buffer * 2) - 1) {\n first.value = clamp(midPointIndex - buffer, 0, props.items.length)\n } else if (direction === DOWN && midPointIndex >= first.value + (buffer * 2) - 1) {\n first.value = clamp(midPointIndex - buffer, 0, props.items.length - visibleItems.value)\n }\n\n lastScrollTop = rootEl.value.scrollTop\n }\n\n function scrollToIndex (index: number) {\n if (!rootEl.value) return\n\n const offset = calculateOffset(index)\n rootEl.value.scrollTop = offset\n }\n\n const items = computed(() => props.items.map((item, index) => ({\n raw: item,\n index,\n })))\n const last = computed(() => Math.min(props.items.length, first.value + visibleItems.value))\n const computedItems = computed(() => items.value.slice(first.value, last.value))\n const paddingTop = computed(() => calculateOffset(first.value))\n const paddingBottom = computed(() => calculateOffset(props.items.length) - calculateOffset(last.value))\n\n const { dimensionStyles } = useDimension(props)\n\n onMounted(() => {\n if (!itemHeight.value) {\n // If itemHeight prop is not set, then calculate an estimated height from the average of inital items\n itemHeight.value = sizes.slice(first.value, last.value).reduce((curr, height) => curr + height, 0) / (visibleItems.value)\n }\n })\n\n watch(() => props.items.length, () => {\n sizes = createRange(props.items.length).map(() => itemHeight.value)\n sizeMap.forEach((height, item) => {\n const index = props.items.indexOf(item)\n if (index === -1) {\n sizeMap.delete(item)\n } else {\n sizes[index] = height\n }\n })\n })\n\n useRender(() => (\n <div\n ref={ rootEl }\n class={[\n 'v-virtual-scroll',\n props.class,\n ]}\n onScroll={ handleScroll }\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n <div\n class=\"v-virtual-scroll__container\"\n style={{\n paddingTop: convertToUnit(paddingTop.value),\n paddingBottom: convertToUnit(paddingBottom.value),\n }}\n >\n { computedItems.value.map(item => (\n <VVirtualScrollItem\n key={ item.index }\n dynamicHeight={ !props.itemHeight }\n onUpdate:height={ height => handleItemResize(item.index, height) }\n >\n { slots.default?.({ item: item.raw, index: item.index }) }\n </VVirtualScrollItem>\n ))}\n </div>\n </div>\n ))\n\n return {\n scrollToIndex,\n }\n },\n})\n\nexport type VVirtualScroll = InstanceType<typeof VVirtualScroll>\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VVirtualScroll.mjs","names":["VVirtualScrollItem","makeComponentProps","makeDimensionProps","useDimension","useDisplay","useResizeObserver","computed","onMounted","ref","shallowRef","watch","watchEffect","clamp","convertToUnit","createRange","genericComponent","propsFactory","useRender","UP","DOWN","makeVVirtualScrollProps","items","type","Array","default","itemHeight","Number","String","VVirtualScroll","name","props","setup","_ref","slots","first","baseItemHeight","get","parseInt","value","set","val","rootEl","resizeRef","contentRect","display","sizeMap","Map","sizes","length","map","visibleItems","Math","max","ceil","height","handleItemResize","index","calculateOffset","slice","reduce","curr","calculateMidPointIndex","scrollTop","end","middle","middleOffset","lastScrollTop","handleScroll","direction","midPointIndex","buffer","round","scrollToIndex","offset","item","raw","last","min","computedItems","paddingTop","paddingBottom","dimensionStyles","forEach","indexOf","delete","_createVNode","class","style"],"sources":["../../../src/components/VVirtualScroll/VVirtualScroll.tsx"],"sourcesContent":["// Styles\nimport './VVirtualScroll.sass'\n\n// Components\nimport { VVirtualScrollItem } from './VVirtualScrollItem'\n\n// Composables\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useDisplay } from '@/composables/display'\nimport { useResizeObserver } from '@/composables/resizeObserver'\n\n// Utilities\nimport { computed, onMounted, ref, shallowRef, watch, watchEffect } from 'vue'\nimport {\n clamp,\n convertToUnit,\n createRange,\n genericComponent,\n propsFactory,\n useRender,\n} from '@/util'\n\n// Types\nimport type { GenericProps } from '@/util'\n\nconst UP = -1\nconst DOWN = 1\n\nexport interface VVirtualScrollSlot<T> {\n item: T\n index: number\n}\n\nexport const makeVVirtualScrollProps = propsFactory({\n items: {\n type: Array,\n default: () => ([]),\n },\n itemHeight: [Number, String],\n\n ...makeComponentProps(),\n ...makeDimensionProps(),\n}, 'v-virtual-scroll')\n\nexport const VVirtualScroll = genericComponent<new <T>(props: {\n items?: readonly T[]\n}) => GenericProps<typeof props, {\n default: [VVirtualScrollSlot<T>]\n}>>()({\n name: 'VVirtualScroll',\n\n props: makeVVirtualScrollProps(),\n\n setup (props, { slots }) {\n const first = shallowRef(0)\n const baseItemHeight = shallowRef(props.itemHeight)\n const itemHeight = computed({\n get: () => parseInt(baseItemHeight.value ?? 0, 10),\n set (val) {\n baseItemHeight.value = val\n },\n })\n const rootEl = ref<HTMLDivElement>()\n const { resizeRef, contentRect } = useResizeObserver()\n watchEffect(() => {\n resizeRef.value = rootEl.value\n })\n const display = useDisplay()\n\n const sizeMap = new Map<any, number>()\n let sizes = createRange(props.items.length).map(() => itemHeight.value)\n const visibleItems = computed(() => {\n return Math.max(12,\n Math.ceil(((contentRect.value?.height ?? display.height.value) / itemHeight.value) * 1.7 + 1)\n )\n })\n\n function handleItemResize (index: number, height: number) {\n itemHeight.value = Math.max(itemHeight.value, height)\n sizes[index] = height\n sizeMap.set(props.items[index], height)\n }\n\n function calculateOffset (index: number) {\n return sizes.slice(0, index).reduce((curr, value) => curr + (value || itemHeight.value), 0)\n }\n\n function calculateMidPointIndex (scrollTop: number) {\n const end = props.items.length\n\n let middle = 0\n let middleOffset = 0\n while (middleOffset < scrollTop && middle < end) {\n middleOffset += sizes[middle++] || itemHeight.value\n }\n\n return middle - 1\n }\n\n let lastScrollTop = 0\n function handleScroll () {\n if (!rootEl.value || !contentRect.value) return\n\n const height = contentRect.value.height\n const scrollTop = rootEl.value.scrollTop\n const direction = scrollTop < lastScrollTop ? UP : DOWN\n\n const midPointIndex = calculateMidPointIndex(scrollTop + height / 2)\n const buffer = Math.round(visibleItems.value / 3)\n if (direction === UP && midPointIndex <= first.value + (buffer * 2) - 1) {\n first.value = clamp(midPointIndex - buffer, 0, props.items.length)\n } else if (direction === DOWN && midPointIndex >= first.value + (buffer * 2) - 1) {\n first.value = clamp(midPointIndex - buffer, 0, props.items.length - visibleItems.value)\n }\n\n lastScrollTop = rootEl.value.scrollTop\n }\n\n function scrollToIndex (index: number) {\n if (!rootEl.value) return\n\n const offset = calculateOffset(index)\n rootEl.value.scrollTop = offset\n }\n\n const items = computed(() => props.items.map((item, index) => ({\n raw: item,\n index,\n })))\n const last = computed(() => Math.min(props.items.length, first.value + visibleItems.value))\n const computedItems = computed(() => items.value.slice(first.value, last.value))\n const paddingTop = computed(() => calculateOffset(first.value))\n const paddingBottom = computed(() => calculateOffset(props.items.length) - calculateOffset(last.value))\n\n const { dimensionStyles } = useDimension(props)\n\n onMounted(() => {\n if (!itemHeight.value) {\n // If itemHeight prop is not set, then calculate an estimated height from the average of inital items\n itemHeight.value = sizes.slice(first.value, last.value).reduce((curr, height) => curr + height, 0) / (visibleItems.value)\n }\n })\n\n watch(() => props.items.length, () => {\n sizes = createRange(props.items.length).map(() => itemHeight.value)\n sizeMap.forEach((height, item) => {\n const index = props.items.indexOf(item)\n if (index === -1) {\n sizeMap.delete(item)\n } else {\n sizes[index] = height\n }\n })\n })\n\n useRender(() => (\n <div\n ref={ rootEl }\n class={[\n 'v-virtual-scroll',\n props.class,\n ]}\n onScroll={ handleScroll }\n style={[\n dimensionStyles.value,\n props.style,\n ]}\n >\n <div\n class=\"v-virtual-scroll__container\"\n style={{\n paddingTop: convertToUnit(paddingTop.value),\n paddingBottom: convertToUnit(paddingBottom.value),\n }}\n >\n { computedItems.value.map(item => (\n <VVirtualScrollItem\n key={ item.index }\n dynamicHeight={ !props.itemHeight }\n onUpdate:height={ height => handleItemResize(item.index, height) }\n >\n { slots.default?.({ item: item.raw, index: item.index }) }\n </VVirtualScrollItem>\n ))}\n </div>\n </div>\n ))\n\n return {\n scrollToIndex,\n }\n },\n})\n\nexport type VVirtualScroll = InstanceType<typeof VVirtualScroll>\n"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as vue from 'vue';
|
|
2
2
|
import { ComponentPropsOptions, ExtractPropTypes, VNodeChild } from 'vue';
|
|
3
3
|
|
|
4
|
-
type SlotsToProps<U extends Record<string, any[]> | Record<string, Slot>, T = U extends Record<string, any[]> ? MakeSlots<U> : U> = {
|
|
4
|
+
type SlotsToProps<U extends Record<string, any[]> | Record<string, Slot>, Generic extends boolean = false, T = U extends Record<string, any[]> ? MakeSlots<U> : U> = {
|
|
5
5
|
$children?: (VNodeChild | (T extends {
|
|
6
6
|
default: infer V;
|
|
7
7
|
} ? V : {}) | {
|
|
@@ -12,13 +12,17 @@ type SlotsToProps<U extends Record<string, any[]> | Record<string, Slot>, T = U
|
|
|
12
12
|
};
|
|
13
13
|
} & {
|
|
14
14
|
[K in keyof T as `v-slot:${K & string}`]?: T[K] | false;
|
|
15
|
-
}
|
|
15
|
+
} & (Generic extends false ? {
|
|
16
|
+
$slots?: {
|
|
17
|
+
[K in keyof T]?: T[K];
|
|
18
|
+
};
|
|
19
|
+
} : {});
|
|
16
20
|
type Slot<T extends any[] = any[]> = (...args: T) => VNodeChild;
|
|
17
21
|
type MakeSlots<T extends Record<string, any[]> | Record<string, Slot>> = {
|
|
18
22
|
[K in keyof T]: T[K] extends any[] ? Slot<T[K]> : T[K];
|
|
19
23
|
};
|
|
20
24
|
type GenericProps<Props, Slots extends Record<string, any[]>> = {
|
|
21
|
-
$props: Props & SlotsToProps<Slots>;
|
|
25
|
+
$props: Props & SlotsToProps<Slots, true>;
|
|
22
26
|
$slots: MakeSlots<Slots>;
|
|
23
27
|
};
|
|
24
28
|
interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
|
|
@@ -10,7 +10,7 @@ import { makeTagProps } from "../../composables/tag.mjs";
|
|
|
10
10
|
import { makeThemeProps, provideTheme } from "../../composables/theme.mjs";
|
|
11
11
|
import { useGroup } from "../../composables/group.mjs";
|
|
12
12
|
import { useLocale, useRtl } from "../../composables/locale.mjs"; // Utilities
|
|
13
|
-
import { computed, provide, ref, watch } from 'vue';
|
|
13
|
+
import { computed, provide, ref, shallowRef, watch } from 'vue';
|
|
14
14
|
import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; // Types
|
|
15
15
|
export const VWindowSymbol = Symbol.for('vuetify:v-window');
|
|
16
16
|
export const VWindowGroupSymbol = Symbol.for('vuetify:v-window-group');
|
|
@@ -76,14 +76,14 @@ export const VWindow = genericComponent()({
|
|
|
76
76
|
const group = useGroup(props, VWindowGroupSymbol);
|
|
77
77
|
const rootRef = ref();
|
|
78
78
|
const isRtlReverse = computed(() => isRtl.value ? !props.reverse : props.reverse);
|
|
79
|
-
const isReversed =
|
|
79
|
+
const isReversed = shallowRef(false);
|
|
80
80
|
const transition = computed(() => {
|
|
81
81
|
const axis = props.direction === 'vertical' ? 'y' : 'x';
|
|
82
82
|
const reverse = isRtlReverse.value ? !isReversed.value : isReversed.value;
|
|
83
83
|
const direction = reverse ? '-reverse' : '';
|
|
84
84
|
return `v-window-${axis}${direction}-transition`;
|
|
85
85
|
});
|
|
86
|
-
const transitionCount =
|
|
86
|
+
const transitionCount = shallowRef(0);
|
|
87
87
|
const transitionHeight = ref(undefined);
|
|
88
88
|
const activeIndex = computed(() => {
|
|
89
89
|
return group.items.value.findIndex(item => group.selected.value.includes(item.id));
|