@vuetify/nightly 3.2.0-dev-20230405.0 → 3.2.0-dev-20230407.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/CHANGELOG.md +3 -2
  2. package/dist/json/importMap-labs.json +0 -4
  3. package/dist/json/importMap.json +52 -48
  4. package/dist/json/web-types.json +1 -1
  5. package/dist/vuetify-labs.css +10 -10
  6. package/dist/vuetify-labs.d.ts +164 -164
  7. package/dist/vuetify-labs.esm.js +180 -180
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +179 -179
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +10 -1
  12. package/dist/vuetify.d.ts +166 -14
  13. package/dist/vuetify.esm.js +176 -4
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +175 -3
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +222 -206
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -0
  21. package/lib/components/VVirtualScroll/VVirtualScrollItem.mjs.map +1 -0
  22. package/lib/components/VVirtualScroll/index.mjs.map +1 -0
  23. package/lib/components/index.d.ts +150 -1
  24. package/lib/components/index.mjs +2 -1
  25. package/lib/components/index.mjs.map +1 -1
  26. package/lib/entry-bundler.mjs +1 -1
  27. package/lib/framework.mjs +1 -1
  28. package/lib/index.d.ts +15 -14
  29. package/lib/labs/VDataTable/index.d.ts +15 -15
  30. package/lib/labs/components.d.ts +16 -165
  31. package/lib/labs/components.mjs +0 -1
  32. package/lib/labs/components.mjs.map +1 -1
  33. package/package.json +1 -1
  34. package/lib/labs/VVirtualScroll/VVirtualScroll.mjs.map +0 -1
  35. package/lib/labs/VVirtualScroll/VVirtualScrollItem.mjs.map +0 -1
  36. package/lib/labs/VVirtualScroll/index.mjs.map +0 -1
  37. /package/lib/{labs → components}/VVirtualScroll/VVirtualScroll.css +0 -0
  38. /package/lib/{labs → components}/VVirtualScroll/VVirtualScroll.mjs +0 -0
  39. /package/lib/{labs → components}/VVirtualScroll/VVirtualScroll.sass +0 -0
  40. /package/lib/{labs → components}/VVirtualScroll/VVirtualScrollItem.mjs +0 -0
  41. /package/lib/{labs → components}/VVirtualScroll/index.d.ts +0 -0
  42. /package/lib/{labs → components}/VVirtualScroll/index.mjs +0 -0
package/dist/vuetify.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.2.0-dev-20230405.0
2
+ * Vuetify v3.2.0-dev-20230407.0
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -22341,6 +22341,15 @@ html.v-overlay-scroll-blocked {
22341
22341
  .v-tooltip > .v-overlay__content[class*=leave-active] {
22342
22342
  transition-timing-function: cubic-bezier(0.4, 0, 1, 1);
22343
22343
  transition-duration: 75ms;
22344
+ }.v-virtual-scroll {
22345
+ display: block;
22346
+ flex: 1 1 auto;
22347
+ max-width: 100%;
22348
+ overflow: auto;
22349
+ position: relative;
22350
+ }
22351
+ .v-virtual-scroll__container {
22352
+ display: block;
22344
22353
  }.v-window {
22345
22354
  overflow: hidden;
22346
22355
  }
package/dist/vuetify.d.ts CHANGED
@@ -56415,6 +56415,155 @@ declare const VValidation: {
56415
56415
  }>>;
56416
56416
  type VValidation = InstanceType<typeof VValidation>;
56417
56417
 
56418
+ interface VVirtualScrollSlot<T> {
56419
+ item: T;
56420
+ index: number;
56421
+ }
56422
+ declare const VVirtualScroll: {
56423
+ new (...args: any[]): {
56424
+ $: vue.ComponentInternalInstance;
56425
+ $data: {};
56426
+ $props: Partial<{}> & Omit<Readonly<vue.ExtractPropTypes<Omit<{
56427
+ height: (StringConstructor | NumberConstructor)[];
56428
+ maxHeight: (StringConstructor | NumberConstructor)[];
56429
+ maxWidth: (StringConstructor | NumberConstructor)[];
56430
+ minHeight: (StringConstructor | NumberConstructor)[];
56431
+ minWidth: (StringConstructor | NumberConstructor)[];
56432
+ width: (StringConstructor | NumberConstructor)[];
56433
+ items: {
56434
+ type: ArrayConstructor;
56435
+ default: () => never[];
56436
+ };
56437
+ itemHeight: (StringConstructor | NumberConstructor)[];
56438
+ visibleItems: (StringConstructor | NumberConstructor)[];
56439
+ }, "$children" | "v-slot:default" | "$slots" | "v-slots" | "items">>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, never>;
56440
+ $attrs: {
56441
+ [x: string]: unknown;
56442
+ };
56443
+ $refs: {
56444
+ [x: string]: unknown;
56445
+ };
56446
+ $slots: Readonly<{
56447
+ [name: string]: vue.Slot | undefined;
56448
+ }>;
56449
+ $root: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
56450
+ $parent: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null;
56451
+ $emit: (event: string, ...args: any[]) => void;
56452
+ $el: any;
56453
+ $options: vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<Omit<{
56454
+ height: (StringConstructor | NumberConstructor)[];
56455
+ maxHeight: (StringConstructor | NumberConstructor)[];
56456
+ maxWidth: (StringConstructor | NumberConstructor)[];
56457
+ minHeight: (StringConstructor | NumberConstructor)[];
56458
+ minWidth: (StringConstructor | NumberConstructor)[];
56459
+ width: (StringConstructor | NumberConstructor)[];
56460
+ items: {
56461
+ type: ArrayConstructor;
56462
+ default: () => never[];
56463
+ };
56464
+ itemHeight: (StringConstructor | NumberConstructor)[];
56465
+ visibleItems: (StringConstructor | NumberConstructor)[];
56466
+ }, "$children" | "v-slot:default" | "$slots" | "v-slots" | "items">>>, {
56467
+ scrollToIndex: (index: number) => void;
56468
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slot:default" | "$slots" | "v-slots" | "items">, string, {}, {}, string> & {
56469
+ beforeCreate?: ((() => void) | (() => void)[]) | undefined;
56470
+ created?: ((() => void) | (() => void)[]) | undefined;
56471
+ beforeMount?: ((() => void) | (() => void)[]) | undefined;
56472
+ mounted?: ((() => void) | (() => void)[]) | undefined;
56473
+ beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
56474
+ updated?: ((() => void) | (() => void)[]) | undefined;
56475
+ activated?: ((() => void) | (() => void)[]) | undefined;
56476
+ deactivated?: ((() => void) | (() => void)[]) | undefined;
56477
+ beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
56478
+ beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
56479
+ destroyed?: ((() => void) | (() => void)[]) | undefined;
56480
+ unmounted?: ((() => void) | (() => void)[]) | undefined;
56481
+ renderTracked?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined;
56482
+ renderTriggered?: (((e: vue.DebuggerEvent) => void) | ((e: vue.DebuggerEvent) => void)[]) | undefined;
56483
+ errorCaptured?: (((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void) | ((err: unknown, instance: vue.ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, vue.ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}> | null, info: string) => boolean | void)[]) | undefined;
56484
+ };
56485
+ $forceUpdate: () => void;
56486
+ $nextTick: typeof vue.nextTick;
56487
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: vue.WatchOptions<boolean> | undefined): vue.WatchStopHandle;
56488
+ } & Readonly<vue.ExtractPropTypes<Omit<{
56489
+ height: (StringConstructor | NumberConstructor)[];
56490
+ maxHeight: (StringConstructor | NumberConstructor)[];
56491
+ maxWidth: (StringConstructor | NumberConstructor)[];
56492
+ minHeight: (StringConstructor | NumberConstructor)[];
56493
+ minWidth: (StringConstructor | NumberConstructor)[];
56494
+ width: (StringConstructor | NumberConstructor)[];
56495
+ items: {
56496
+ type: ArrayConstructor;
56497
+ default: () => never[];
56498
+ };
56499
+ itemHeight: (StringConstructor | NumberConstructor)[];
56500
+ visibleItems: (StringConstructor | NumberConstructor)[];
56501
+ }, "$children" | "v-slot:default" | "$slots" | "v-slots" | "items">>> & vue.ShallowUnwrapRef<{
56502
+ scrollToIndex: (index: number) => void;
56503
+ }> & {} & vue.ComponentCustomProperties & {};
56504
+ __isFragment?: undefined;
56505
+ __isTeleport?: undefined;
56506
+ __isSuspense?: undefined;
56507
+ } & vue.ComponentOptionsBase<Readonly<vue.ExtractPropTypes<Omit<{
56508
+ height: (StringConstructor | NumberConstructor)[];
56509
+ maxHeight: (StringConstructor | NumberConstructor)[];
56510
+ maxWidth: (StringConstructor | NumberConstructor)[];
56511
+ minHeight: (StringConstructor | NumberConstructor)[];
56512
+ minWidth: (StringConstructor | NumberConstructor)[];
56513
+ width: (StringConstructor | NumberConstructor)[];
56514
+ items: {
56515
+ type: ArrayConstructor;
56516
+ default: () => never[];
56517
+ };
56518
+ itemHeight: (StringConstructor | NumberConstructor)[];
56519
+ visibleItems: (StringConstructor | NumberConstructor)[];
56520
+ }, "$children" | "v-slot:default" | "$slots" | "v-slots" | "items">>>, {
56521
+ scrollToIndex: (index: number) => void;
56522
+ }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Omit<Record<string, any>, "$children" | "v-slot:default" | "$slots" | "v-slots" | "items">, string, {}, {}, string> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new <T_1>() => {
56523
+ $props: {
56524
+ items: readonly T_1[];
56525
+ } & {
56526
+ $children?: vue.VNodeChild | ((args_0: VVirtualScrollSlot<T_1>) => vue.VNodeChild) | {
56527
+ default?: ((args_0: VVirtualScrollSlot<T_1>) => vue.VNodeChild) | undefined;
56528
+ };
56529
+ $slots?: {
56530
+ default?: ((args_0: VVirtualScrollSlot<T_1>) => vue.VNodeChild) | undefined;
56531
+ } | undefined;
56532
+ 'v-slots'?: {
56533
+ default?: false | ((args_0: VVirtualScrollSlot<T_1>) => vue.VNodeChild) | undefined;
56534
+ } | undefined;
56535
+ } & {
56536
+ "v-slot:default"?: false | ((args_0: VVirtualScrollSlot<T_1>) => vue.VNodeChild) | undefined;
56537
+ };
56538
+ }) & FilterPropsOptions<{
56539
+ height: (StringConstructor | NumberConstructor)[];
56540
+ maxHeight: (StringConstructor | NumberConstructor)[];
56541
+ maxWidth: (StringConstructor | NumberConstructor)[];
56542
+ minHeight: (StringConstructor | NumberConstructor)[];
56543
+ minWidth: (StringConstructor | NumberConstructor)[];
56544
+ width: (StringConstructor | NumberConstructor)[];
56545
+ items: {
56546
+ type: ArrayConstructor;
56547
+ default: () => never[];
56548
+ };
56549
+ itemHeight: (StringConstructor | NumberConstructor)[];
56550
+ visibleItems: (StringConstructor | NumberConstructor)[];
56551
+ }, vue.ExtractPropTypes<{
56552
+ height: (StringConstructor | NumberConstructor)[];
56553
+ maxHeight: (StringConstructor | NumberConstructor)[];
56554
+ maxWidth: (StringConstructor | NumberConstructor)[];
56555
+ minHeight: (StringConstructor | NumberConstructor)[];
56556
+ minWidth: (StringConstructor | NumberConstructor)[];
56557
+ width: (StringConstructor | NumberConstructor)[];
56558
+ items: {
56559
+ type: ArrayConstructor;
56560
+ default: () => never[];
56561
+ };
56562
+ itemHeight: (StringConstructor | NumberConstructor)[];
56563
+ visibleItems: (StringConstructor | NumberConstructor)[];
56564
+ }>>;
56565
+ type VVirtualScroll = InstanceType<typeof VVirtualScroll>;
56566
+
56418
56567
  type ControlProps = {
56419
56568
  icon: IconValue;
56420
56569
  class: string;
@@ -59816,6 +59965,7 @@ declare const index_d$1_VToolbarItems: typeof VToolbarItems;
59816
59965
  declare const index_d$1_VToolbarTitle: typeof VToolbarTitle;
59817
59966
  declare const index_d$1_VTooltip: typeof VTooltip;
59818
59967
  declare const index_d$1_VValidation: typeof VValidation;
59968
+ declare const index_d$1_VVirtualScroll: typeof VVirtualScroll;
59819
59969
  declare const index_d$1_VWindow: typeof VWindow;
59820
59970
  declare const index_d$1_VWindowItem: typeof VWindowItem;
59821
59971
  declare namespace index_d$1 {
@@ -59950,6 +60100,7 @@ declare namespace index_d$1 {
59950
60100
  index_d$1_VToolbarTitle as VToolbarTitle,
59951
60101
  index_d$1_VTooltip as VTooltip,
59952
60102
  index_d$1_VValidation as VValidation,
60103
+ index_d$1_VVirtualScroll as VVirtualScroll,
59953
60104
  index_d$1_VWindow as VWindow,
59954
60105
  index_d$1_VWindowItem as VWindowItem,
59955
60106
  };
@@ -60155,8 +60306,9 @@ declare module '@vue/runtime-core' {
60155
60306
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
60156
60307
  VAlert: typeof import('vuetify/components')['VAlert']
60157
60308
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
60158
- VBadge: typeof import('vuetify/components')['VBadge']
60309
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
60159
60310
  VAvatar: typeof import('vuetify/components')['VAvatar']
60311
+ VBadge: typeof import('vuetify/components')['VBadge']
60160
60312
  VBanner: typeof import('vuetify/components')['VBanner']
60161
60313
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
60162
60314
  VBannerText: typeof import('vuetify/components')['VBannerText']
@@ -60164,7 +60316,6 @@ declare module '@vue/runtime-core' {
60164
60316
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
60165
60317
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
60166
60318
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
60167
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
60168
60319
  VBtn: typeof import('vuetify/components')['VBtn']
60169
60320
  VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
60170
60321
  VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
@@ -60179,13 +60330,12 @@ declare module '@vue/runtime-core' {
60179
60330
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
60180
60331
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
60181
60332
  VChip: typeof import('vuetify/components')['VChip']
60182
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
60183
60333
  VCode: typeof import('vuetify/components')['VCode']
60184
60334
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
60185
60335
  VCombobox: typeof import('vuetify/components')['VCombobox']
60186
60336
  VCounter: typeof import('vuetify/components')['VCounter']
60187
- VDivider: typeof import('vuetify/components')['VDivider']
60188
60337
  VDialog: typeof import('vuetify/components')['VDialog']
60338
+ VDivider: typeof import('vuetify/components')['VDivider']
60189
60339
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
60190
60340
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
60191
60341
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
@@ -60193,19 +60343,18 @@ declare module '@vue/runtime-core' {
60193
60343
  VField: typeof import('vuetify/components')['VField']
60194
60344
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
60195
60345
  VFileInput: typeof import('vuetify/components')['VFileInput']
60346
+ VFooter: typeof import('vuetify/components')['VFooter']
60196
60347
  VIcon: typeof import('vuetify/components')['VIcon']
60197
60348
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
60198
60349
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
60199
60350
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
60200
60351
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
60201
60352
  VImg: typeof import('vuetify/components')['VImg']
60202
- VFooter: typeof import('vuetify/components')['VFooter']
60353
+ VInput: typeof import('vuetify/components')['VInput']
60203
60354
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
60204
60355
  VItem: typeof import('vuetify/components')['VItem']
60205
- VInput: typeof import('vuetify/components')['VInput']
60206
60356
  VKbd: typeof import('vuetify/components')['VKbd']
60207
60357
  VLabel: typeof import('vuetify/components')['VLabel']
60208
- VMain: typeof import('vuetify/components')['VMain']
60209
60358
  VList: typeof import('vuetify/components')['VList']
60210
60359
  VListGroup: typeof import('vuetify/components')['VListGroup']
60211
60360
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -60215,18 +60364,20 @@ declare module '@vue/runtime-core' {
60215
60364
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
60216
60365
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
60217
60366
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
60367
+ VMain: typeof import('vuetify/components')['VMain']
60218
60368
  VMenu: typeof import('vuetify/components')['VMenu']
60219
60369
  VMessages: typeof import('vuetify/components')['VMessages']
60220
60370
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
60221
- VPagination: typeof import('vuetify/components')['VPagination']
60222
60371
  VOverlay: typeof import('vuetify/components')['VOverlay']
60372
+ VPagination: typeof import('vuetify/components')['VPagination']
60223
60373
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
60224
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
60225
60374
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
60375
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
60226
60376
  VRating: typeof import('vuetify/components')['VRating']
60227
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
60228
60377
  VSelect: typeof import('vuetify/components')['VSelect']
60378
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
60229
60379
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
60380
+ VSheet: typeof import('vuetify/components')['VSheet']
60230
60381
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
60231
60382
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
60232
60383
  VSlider: typeof import('vuetify/components')['VSlider']
@@ -60235,9 +60386,9 @@ declare module '@vue/runtime-core' {
60235
60386
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
60236
60387
  VTabs: typeof import('vuetify/components')['VTabs']
60237
60388
  VTab: typeof import('vuetify/components')['VTab']
60389
+ VTextarea: typeof import('vuetify/components')['VTextarea']
60238
60390
  VTable: typeof import('vuetify/components')['VTable']
60239
60391
  VTextField: typeof import('vuetify/components')['VTextField']
60240
- VTextarea: typeof import('vuetify/components')['VTextarea']
60241
60392
  VTimeline: typeof import('vuetify/components')['VTimeline']
60242
60393
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
60243
60394
  VToolbar: typeof import('vuetify/components')['VToolbar']
@@ -60246,13 +60397,12 @@ declare module '@vue/runtime-core' {
60246
60397
  VTooltip: typeof import('vuetify/components')['VTooltip']
60247
60398
  VWindow: typeof import('vuetify/components')['VWindow']
60248
60399
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
60249
- VSheet: typeof import('vuetify/components')['VSheet']
60400
+ VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
60250
60401
  VForm: typeof import('vuetify/components')['VForm']
60251
60402
  VContainer: typeof import('vuetify/components')['VContainer']
60252
60403
  VCol: typeof import('vuetify/components')['VCol']
60253
60404
  VRow: typeof import('vuetify/components')['VRow']
60254
60405
  VSpacer: typeof import('vuetify/components')['VSpacer']
60255
- VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
60256
60406
  VHover: typeof import('vuetify/components')['VHover']
60257
60407
  VLayout: typeof import('vuetify/components')['VLayout']
60258
60408
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
@@ -60263,7 +60413,9 @@ declare module '@vue/runtime-core' {
60263
60413
  VRadio: typeof import('vuetify/components')['VRadio']
60264
60414
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
60265
60415
  VResponsive: typeof import('vuetify/components')['VResponsive']
60416
+ VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
60266
60417
  VValidation: typeof import('vuetify/components')['VValidation']
60418
+ VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
60267
60419
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
60268
60420
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
60269
60421
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -60280,6 +60432,6 @@ declare module '@vue/runtime-core' {
60280
60432
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
60281
60433
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
60282
60434
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
60283
- VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
60435
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
60284
60436
  }
60285
60437
  }
@@ -1,10 +1,10 @@
1
1
  /*!
2
- * Vuetify v3.2.0-dev-20230405.0
2
+ * Vuetify v3.2.0-dev-20230407.0
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
6
6
 
7
- import { ref, onBeforeUnmount, watch, readonly, reactive, computed, watchEffect, toRefs, capitalize, getCurrentInstance as getCurrentInstance$1, unref, provide, inject as inject$1, onScopeDispose, effectScope, shallowRef, defineComponent as defineComponent$1, camelize, h, onDeactivated, onActivated, onMounted, toRaw, createVNode, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives, Fragment, resolveDirective, vShow, isRef, toRef, Text, resolveDynamicComponent, cloneVNode, warn, toHandlers, Teleport, createTextVNode, onBeforeUpdate, vModelText } from 'vue';
7
+ import { ref, onBeforeUnmount, watch, readonly, reactive, computed, watchEffect, toRefs, capitalize, getCurrentInstance as getCurrentInstance$1, unref, provide, inject as inject$1, onScopeDispose, effectScope, shallowRef, defineComponent as defineComponent$1, camelize, h, onDeactivated, onActivated, onMounted, toRaw, createVNode, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives, Fragment, resolveDirective, vShow, isRef, toRef, Text, resolveDynamicComponent, cloneVNode, warn, toHandlers, Teleport, createTextVNode, onBeforeUpdate, vModelText, onUpdated } from 'vue';
8
8
 
9
9
  const IN_BROWSER = typeof window !== 'undefined';
10
10
  const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
@@ -17989,6 +17989,177 @@ const VValidation = genericComponent()({
17989
17989
  }
17990
17990
  });
17991
17991
 
17992
+ const VVirtualScrollItem = genericComponent()({
17993
+ name: 'VVirtualScrollItem',
17994
+ props: {
17995
+ dynamicHeight: Boolean
17996
+ },
17997
+ emits: {
17998
+ 'update:height': height => true
17999
+ },
18000
+ setup(props, _ref) {
18001
+ let {
18002
+ emit,
18003
+ slots
18004
+ } = _ref;
18005
+ const {
18006
+ resizeRef,
18007
+ contentRect
18008
+ } = useResizeObserver();
18009
+ useToggleScope(() => props.dynamicHeight, () => {
18010
+ watch(() => contentRect.value?.height, height => {
18011
+ if (height != null) emit('update:height', height);
18012
+ });
18013
+ });
18014
+ function updateHeight() {
18015
+ if (props.dynamicHeight && contentRect.value) {
18016
+ emit('update:height', contentRect.value.height);
18017
+ }
18018
+ }
18019
+ onUpdated(updateHeight);
18020
+ useRender(() => createVNode("div", {
18021
+ "ref": props.dynamicHeight ? resizeRef : undefined,
18022
+ "class": "v-virtual-scroll__item"
18023
+ }, [slots.default?.()]));
18024
+ }
18025
+ });
18026
+
18027
+ // Types
18028
+
18029
+ const UP = -1;
18030
+ const DOWN = 1;
18031
+ const VVirtualScroll = genericComponent()({
18032
+ name: 'VVirtualScroll',
18033
+ props: {
18034
+ items: {
18035
+ type: Array,
18036
+ default: () => []
18037
+ },
18038
+ itemHeight: [Number, String],
18039
+ visibleItems: [Number, String],
18040
+ ...makeDimensionProps()
18041
+ },
18042
+ setup(props, _ref) {
18043
+ let {
18044
+ slots
18045
+ } = _ref;
18046
+ const first = ref(0);
18047
+ const baseItemHeight = ref(props.itemHeight);
18048
+ const itemHeight = computed({
18049
+ get: () => parseInt(baseItemHeight.value ?? 0, 10),
18050
+ set(val) {
18051
+ baseItemHeight.value = val;
18052
+ }
18053
+ });
18054
+ const rootEl = ref();
18055
+ const {
18056
+ resizeRef,
18057
+ contentRect
18058
+ } = useResizeObserver();
18059
+ watchEffect(() => {
18060
+ resizeRef.value = rootEl.value;
18061
+ });
18062
+ const display = useDisplay();
18063
+ const sizeMap = new Map();
18064
+ let sizes = createRange(props.items.length).map(() => itemHeight.value);
18065
+ const visibleItems = computed(() => {
18066
+ return props.visibleItems ? parseInt(props.visibleItems, 10) : Math.max(12, Math.ceil((contentRect.value?.height ?? display.height.value) / itemHeight.value * 1.7 + 1));
18067
+ });
18068
+ function handleItemResize(index, height) {
18069
+ itemHeight.value = Math.max(itemHeight.value, height);
18070
+ sizes[index] = height;
18071
+ sizeMap.set(props.items[index], height);
18072
+ }
18073
+ function calculateOffset(index) {
18074
+ return sizes.slice(0, index).reduce((curr, value) => curr + (value || itemHeight.value), 0);
18075
+ }
18076
+ function calculateMidPointIndex(scrollTop) {
18077
+ let start = 0;
18078
+ let end = props.items.length;
18079
+ while (start <= end) {
18080
+ const middle = start + Math.floor((end - start) / 2);
18081
+ const middleOffset = calculateOffset(middle);
18082
+ if (middleOffset === scrollTop) {
18083
+ return middle;
18084
+ } else if (middleOffset < scrollTop) {
18085
+ start = middle + 1;
18086
+ } else if (middleOffset > scrollTop) {
18087
+ end = middle - 1;
18088
+ }
18089
+ }
18090
+ return start;
18091
+ }
18092
+ let lastScrollTop = 0;
18093
+ function handleScroll() {
18094
+ if (!rootEl.value || !contentRect.value) return;
18095
+ const height = contentRect.value.height;
18096
+ const scrollTop = rootEl.value.scrollTop;
18097
+ const direction = scrollTop < lastScrollTop ? UP : DOWN;
18098
+ const midPointIndex = calculateMidPointIndex(scrollTop + height / 2);
18099
+ const buffer = Math.round(visibleItems.value / 3);
18100
+ if (direction === UP && midPointIndex <= first.value + buffer * 2 - 1) {
18101
+ first.value = clamp(midPointIndex - buffer, 0, props.items.length);
18102
+ } else if (direction === DOWN && midPointIndex >= first.value + buffer * 2 - 1) {
18103
+ first.value = clamp(midPointIndex - buffer, 0, props.items.length - visibleItems.value);
18104
+ }
18105
+ lastScrollTop = rootEl.value.scrollTop;
18106
+ }
18107
+ function scrollToIndex(index) {
18108
+ if (!rootEl.value) return;
18109
+ const offset = calculateOffset(index);
18110
+ rootEl.value.scrollTop = offset;
18111
+ }
18112
+ const last = computed(() => Math.min(props.items.length, first.value + visibleItems.value));
18113
+ const computedItems = computed(() => props.items.slice(first.value, last.value));
18114
+ const paddingTop = computed(() => calculateOffset(first.value));
18115
+ const paddingBottom = computed(() => calculateOffset(props.items.length) - calculateOffset(last.value));
18116
+ const {
18117
+ dimensionStyles
18118
+ } = useDimension(props);
18119
+ onMounted(() => {
18120
+ if (!itemHeight.value) {
18121
+ // If itemHeight prop is not set, then calculate an estimated height from the average of inital items
18122
+ itemHeight.value = sizes.slice(first.value, last.value).reduce((curr, height) => curr + height, 0) / visibleItems.value;
18123
+ }
18124
+ });
18125
+ watch(() => props.items.length, () => {
18126
+ sizes = createRange(props.items.length).map(() => itemHeight.value);
18127
+ sizeMap.forEach((height, item) => {
18128
+ const index = props.items.indexOf(item);
18129
+ if (index === -1) {
18130
+ sizeMap.delete(item);
18131
+ } else {
18132
+ sizes[index] = height;
18133
+ }
18134
+ });
18135
+ });
18136
+ useRender(() => createVNode("div", {
18137
+ "ref": rootEl,
18138
+ "class": "v-virtual-scroll",
18139
+ "onScroll": handleScroll,
18140
+ "style": dimensionStyles.value
18141
+ }, [createVNode("div", {
18142
+ "class": "v-virtual-scroll__container",
18143
+ "style": {
18144
+ paddingTop: convertToUnit(paddingTop.value),
18145
+ paddingBottom: convertToUnit(paddingBottom.value)
18146
+ }
18147
+ }, [computedItems.value.map((item, index) => createVNode(VVirtualScrollItem, {
18148
+ "key": index,
18149
+ "dynamicHeight": !props.itemHeight,
18150
+ "onUpdate:height": height => handleItemResize(index + first.value, height)
18151
+ }, {
18152
+ default: () => [slots.default?.({
18153
+ item,
18154
+ index: index + first.value
18155
+ })]
18156
+ }))])]));
18157
+ return {
18158
+ scrollToIndex
18159
+ };
18160
+ }
18161
+ });
18162
+
17992
18163
  var components = /*#__PURE__*/Object.freeze({
17993
18164
  __proto__: null,
17994
18165
  VAlert: VAlert,
@@ -18121,6 +18292,7 @@ var components = /*#__PURE__*/Object.freeze({
18121
18292
  VToolbarTitle: VToolbarTitle,
18122
18293
  VTooltip: VTooltip,
18123
18294
  VValidation: VValidation,
18295
+ VVirtualScroll: VVirtualScroll,
18124
18296
  VWindow: VWindow,
18125
18297
  VWindowItem: VWindowItem
18126
18298
  });
@@ -18333,7 +18505,7 @@ function createVuetify$1() {
18333
18505
  locale
18334
18506
  };
18335
18507
  }
18336
- const version$1 = "3.2.0-dev-20230405.0";
18508
+ const version$1 = "3.2.0-dev-20230407.0";
18337
18509
  createVuetify$1.version = version$1;
18338
18510
 
18339
18511
  // Vue's inject() can only be used in setup
@@ -18353,7 +18525,7 @@ const createVuetify = function () {
18353
18525
  ...options
18354
18526
  });
18355
18527
  };
18356
- const version = "3.2.0-dev-20230405.0";
18528
+ const version = "3.2.0-dev-20230407.0";
18357
18529
  createVuetify.version = version;
18358
18530
 
18359
18531
  export { components, createVuetify, directives, useDisplay, useLayout, useLocale, useRtl, useTheme, version };