@vuetify/nightly 3.6.8-master.2024-06-11 → 3.6.9-master.2024-06-15

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 (49) hide show
  1. package/CHANGELOG.md +5 -6
  2. package/dist/json/attributes.json +4 -4
  3. package/dist/json/importMap-labs.json +18 -18
  4. package/dist/json/importMap.json +138 -138
  5. package/dist/json/web-types.json +13 -14
  6. package/dist/vuetify-labs.css +3435 -3435
  7. package/dist/vuetify-labs.d.ts +44 -45
  8. package/dist/vuetify-labs.esm.js +64 -33
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +64 -33
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +955 -955
  13. package/dist/vuetify.d.ts +86 -93
  14. package/dist/vuetify.esm.js +52 -27
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +52 -27
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +34 -31
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VExpansionPanel/VExpansionPanel.mjs +23 -11
  22. package/lib/components/VExpansionPanel/VExpansionPanel.mjs.map +1 -1
  23. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs +13 -5
  24. package/lib/components/VExpansionPanel/VExpansionPanelTitle.mjs.map +1 -1
  25. package/lib/components/VFab/VFab.mjs +4 -7
  26. package/lib/components/VFab/VFab.mjs.map +1 -1
  27. package/lib/components/VFab/index.d.mts +46 -49
  28. package/lib/components/VList/VList.mjs +1 -0
  29. package/lib/components/VList/VList.mjs.map +1 -1
  30. package/lib/components/VList/index.d.mts +2 -0
  31. package/lib/components/VMenu/VMenu.mjs +1 -1
  32. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  33. package/lib/components/VOverlay/VOverlay.mjs +4 -3
  34. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  35. package/lib/components/index.d.mts +38 -45
  36. package/lib/composables/scroll.mjs +6 -0
  37. package/lib/composables/scroll.mjs.map +1 -1
  38. package/lib/entry-bundler.mjs +1 -1
  39. package/lib/framework.mjs +1 -1
  40. package/lib/index.d.mts +48 -48
  41. package/lib/labs/VTimePicker/VTimePickerClock.mjs +3 -1
  42. package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
  43. package/lib/labs/VTimePicker/VTimePickerControls.mjs +7 -2
  44. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  45. package/lib/labs/VTreeview/VTreeview.mjs +3 -4
  46. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  47. package/lib/labs/VTreeview/index.d.mts +6 -0
  48. package/lib/labs/components.d.mts +6 -0
  49. package/package.json +1 -1
@@ -32984,7 +32984,6 @@ declare const VFab: {
32984
32984
  appear: boolean;
32985
32985
  density: Density;
32986
32986
  extended: boolean;
32987
- location: "left" | "right" | "end" | "top" | "bottom" | "start";
32988
32987
  slim: boolean;
32989
32988
  stacked: boolean;
32990
32989
  ripple: boolean | {
@@ -33012,6 +33011,7 @@ declare const VFab: {
33012
33011
  minHeight?: string | number | undefined;
33013
33012
  minWidth?: string | number | undefined;
33014
33013
  elevation?: string | number | undefined;
33014
+ location?: Anchor | undefined;
33015
33015
  baseColor?: string | undefined;
33016
33016
  selectedClass?: string | undefined;
33017
33017
  prependIcon?: IconValue | undefined;
@@ -33054,7 +33054,6 @@ declare const VFab: {
33054
33054
  appear: boolean;
33055
33055
  density: Density;
33056
33056
  extended: boolean;
33057
- location: "left" | "right" | "end" | "top" | "bottom" | "start";
33058
33057
  slim: boolean;
33059
33058
  stacked: boolean;
33060
33059
  ripple: boolean | {
@@ -33082,6 +33081,7 @@ declare const VFab: {
33082
33081
  minHeight?: string | number | undefined;
33083
33082
  minWidth?: string | number | undefined;
33084
33083
  elevation?: string | number | undefined;
33084
+ location?: Anchor | undefined;
33085
33085
  baseColor?: string | undefined;
33086
33086
  selectedClass?: string | undefined;
33087
33087
  prependIcon?: IconValue | undefined;
@@ -33123,7 +33123,6 @@ declare const VFab: {
33123
33123
  appear: boolean;
33124
33124
  density: Density;
33125
33125
  extended: boolean;
33126
- location: "left" | "right" | "end" | "top" | "bottom" | "start";
33127
33126
  slim: boolean;
33128
33127
  stacked: boolean;
33129
33128
  ripple: boolean | {
@@ -33166,7 +33165,6 @@ declare const VFab: {
33166
33165
  appear: boolean;
33167
33166
  density: Density;
33168
33167
  extended: boolean;
33169
- location: "left" | "right" | "end" | "top" | "bottom" | "start";
33170
33168
  slim: boolean;
33171
33169
  stacked: boolean;
33172
33170
  ripple: boolean | {
@@ -33194,6 +33192,7 @@ declare const VFab: {
33194
33192
  minHeight?: string | number | undefined;
33195
33193
  minWidth?: string | number | undefined;
33196
33194
  elevation?: string | number | undefined;
33195
+ location?: Anchor | undefined;
33197
33196
  baseColor?: string | undefined;
33198
33197
  selectedClass?: string | undefined;
33199
33198
  prependIcon?: IconValue | undefined;
@@ -33235,7 +33234,6 @@ declare const VFab: {
33235
33234
  appear: boolean;
33236
33235
  density: Density;
33237
33236
  extended: boolean;
33238
- location: "left" | "right" | "end" | "top" | "bottom" | "start";
33239
33237
  slim: boolean;
33240
33238
  stacked: boolean;
33241
33239
  ripple: boolean | {
@@ -33271,7 +33269,6 @@ declare const VFab: {
33271
33269
  appear: boolean;
33272
33270
  density: Density;
33273
33271
  extended: boolean;
33274
- location: "left" | "right" | "end" | "top" | "bottom" | "start";
33275
33272
  slim: boolean;
33276
33273
  stacked: boolean;
33277
33274
  ripple: boolean | {
@@ -33299,6 +33296,7 @@ declare const VFab: {
33299
33296
  minHeight?: string | number | undefined;
33300
33297
  minWidth?: string | number | undefined;
33301
33298
  elevation?: string | number | undefined;
33299
+ location?: Anchor | undefined;
33302
33300
  baseColor?: string | undefined;
33303
33301
  selectedClass?: string | undefined;
33304
33302
  prependIcon?: IconValue | undefined;
@@ -33342,7 +33340,6 @@ declare const VFab: {
33342
33340
  appear: boolean;
33343
33341
  density: Density;
33344
33342
  extended: boolean;
33345
- location: "left" | "right" | "end" | "top" | "bottom" | "start";
33346
33343
  slim: boolean;
33347
33344
  stacked: boolean;
33348
33345
  ripple: boolean | {
@@ -33355,19 +33352,20 @@ declare const VFab: {
33355
33352
  }>[];
33356
33353
  }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
33357
33354
  transition: Omit<{
33358
- type: PropType<string | boolean | (vue.TransitionProps & {
33355
+ type: vue.PropType<string | boolean | (vue.TransitionProps & {
33359
33356
  component?: vue.Component | undefined;
33360
33357
  })>;
33361
33358
  default: string;
33362
33359
  validator: (val: unknown) => boolean;
33363
33360
  }, "default" | "type"> & {
33364
- type: PropType<NonNullable<string | boolean | (vue.TransitionProps & {
33361
+ type: vue.PropType<NonNullable<string | boolean | (vue.TransitionProps & {
33365
33362
  component?: vue.Component | undefined;
33366
33363
  })>>;
33367
33364
  default: NonNullable<string | boolean | (vue.TransitionProps & {
33368
33365
  component?: vue.Component | undefined;
33369
33366
  })>;
33370
33367
  };
33368
+ location: vue.PropType<Anchor>;
33371
33369
  name: {
33372
33370
  type: StringConstructor;
33373
33371
  };
@@ -33382,9 +33380,9 @@ declare const VFab: {
33382
33380
  };
33383
33381
  flat: BooleanConstructor;
33384
33382
  replace: BooleanConstructor;
33385
- class: PropType<any>;
33383
+ class: vue.PropType<any>;
33386
33384
  style: {
33387
- type: PropType<vue.StyleValue>;
33385
+ type: vue.PropType<vue.StyleValue>;
33388
33386
  default: null;
33389
33387
  };
33390
33388
  size: {
@@ -33399,7 +33397,7 @@ declare const VFab: {
33399
33397
  type: BooleanConstructor;
33400
33398
  default: undefined;
33401
33399
  }, "default" | "type"> & {
33402
- type: PropType<boolean>;
33400
+ type: vue.PropType<boolean>;
33403
33401
  default: boolean;
33404
33402
  };
33405
33403
  theme: StringConstructor;
@@ -33410,15 +33408,15 @@ declare const VFab: {
33410
33408
  type: StringConstructor;
33411
33409
  default: string;
33412
33410
  }, "default" | "type"> & {
33413
- type: PropType<string>;
33411
+ type: vue.PropType<string>;
33414
33412
  default: string;
33415
33413
  };
33416
33414
  loading: (StringConstructor | BooleanConstructor)[];
33417
- icon: PropType<boolean | IconValue>;
33418
- to: PropType<vue_router.RouteLocationRaw>;
33415
+ icon: vue.PropType<boolean | IconValue>;
33416
+ to: vue.PropType<vue_router.RouteLocationRaw>;
33419
33417
  border: (StringConstructor | NumberConstructor | BooleanConstructor)[];
33420
33418
  position: {
33421
- type: PropType<"fixed" | "absolute" | "relative" | "static" | "sticky">;
33419
+ type: vue.PropType<"fixed" | "absolute" | "relative" | "static" | "sticky">;
33422
33420
  validator: (v: any) => boolean;
33423
33421
  };
33424
33422
  readonly: BooleanConstructor;
@@ -33427,11 +33425,11 @@ declare const VFab: {
33427
33425
  default: undefined;
33428
33426
  };
33429
33427
  variant: Omit<{
33430
- type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
33428
+ type: vue.PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
33431
33429
  default: string;
33432
33430
  validator: (v: any) => boolean;
33433
33431
  }, "default" | "type"> & {
33434
- type: PropType<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
33432
+ type: vue.PropType<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
33435
33433
  default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
33436
33434
  };
33437
33435
  maxHeight: (StringConstructor | NumberConstructor)[];
@@ -33446,18 +33444,18 @@ declare const VFab: {
33446
33444
  validator(v: any): boolean;
33447
33445
  };
33448
33446
  density: {
33449
- type: PropType<Density>;
33447
+ type: vue.PropType<Density>;
33450
33448
  default: string;
33451
33449
  validator: (v: any) => boolean;
33452
33450
  };
33453
33451
  baseColor: StringConstructor;
33454
33452
  selectedClass: StringConstructor;
33455
- prependIcon: PropType<IconValue>;
33456
- appendIcon: PropType<IconValue>;
33453
+ prependIcon: vue.PropType<IconValue>;
33454
+ appendIcon: vue.PropType<IconValue>;
33457
33455
  slim: BooleanConstructor;
33458
33456
  stacked: BooleanConstructor;
33459
33457
  ripple: {
33460
- type: PropType<boolean | {
33458
+ type: vue.PropType<boolean | {
33461
33459
  class: string;
33462
33460
  } | undefined>;
33463
33461
  default: boolean;
@@ -33466,10 +33464,6 @@ declare const VFab: {
33466
33464
  appear: BooleanConstructor;
33467
33465
  extended: BooleanConstructor;
33468
33466
  layout: BooleanConstructor;
33469
- location: {
33470
- type: PropType<"left" | "right" | "end" | "top" | "bottom" | "start">;
33471
- default: string;
33472
- };
33473
33467
  offset: BooleanConstructor;
33474
33468
  modelValue: {
33475
33469
  type: BooleanConstructor;
@@ -33477,19 +33471,20 @@ declare const VFab: {
33477
33471
  };
33478
33472
  }, vue.ExtractPropTypes<{
33479
33473
  transition: Omit<{
33480
- type: PropType<string | boolean | (vue.TransitionProps & {
33474
+ type: vue.PropType<string | boolean | (vue.TransitionProps & {
33481
33475
  component?: vue.Component | undefined;
33482
33476
  })>;
33483
33477
  default: string;
33484
33478
  validator: (val: unknown) => boolean;
33485
33479
  }, "default" | "type"> & {
33486
- type: PropType<NonNullable<string | boolean | (vue.TransitionProps & {
33480
+ type: vue.PropType<NonNullable<string | boolean | (vue.TransitionProps & {
33487
33481
  component?: vue.Component | undefined;
33488
33482
  })>>;
33489
33483
  default: NonNullable<string | boolean | (vue.TransitionProps & {
33490
33484
  component?: vue.Component | undefined;
33491
33485
  })>;
33492
33486
  };
33487
+ location: vue.PropType<Anchor>;
33493
33488
  name: {
33494
33489
  type: StringConstructor;
33495
33490
  };
@@ -33504,9 +33499,9 @@ declare const VFab: {
33504
33499
  };
33505
33500
  flat: BooleanConstructor;
33506
33501
  replace: BooleanConstructor;
33507
- class: PropType<any>;
33502
+ class: vue.PropType<any>;
33508
33503
  style: {
33509
- type: PropType<vue.StyleValue>;
33504
+ type: vue.PropType<vue.StyleValue>;
33510
33505
  default: null;
33511
33506
  };
33512
33507
  size: {
@@ -33521,7 +33516,7 @@ declare const VFab: {
33521
33516
  type: BooleanConstructor;
33522
33517
  default: undefined;
33523
33518
  }, "default" | "type"> & {
33524
- type: PropType<boolean>;
33519
+ type: vue.PropType<boolean>;
33525
33520
  default: boolean;
33526
33521
  };
33527
33522
  theme: StringConstructor;
@@ -33532,15 +33527,15 @@ declare const VFab: {
33532
33527
  type: StringConstructor;
33533
33528
  default: string;
33534
33529
  }, "default" | "type"> & {
33535
- type: PropType<string>;
33530
+ type: vue.PropType<string>;
33536
33531
  default: string;
33537
33532
  };
33538
33533
  loading: (StringConstructor | BooleanConstructor)[];
33539
- icon: PropType<boolean | IconValue>;
33540
- to: PropType<vue_router.RouteLocationRaw>;
33534
+ icon: vue.PropType<boolean | IconValue>;
33535
+ to: vue.PropType<vue_router.RouteLocationRaw>;
33541
33536
  border: (StringConstructor | NumberConstructor | BooleanConstructor)[];
33542
33537
  position: {
33543
- type: PropType<"fixed" | "absolute" | "relative" | "static" | "sticky">;
33538
+ type: vue.PropType<"fixed" | "absolute" | "relative" | "static" | "sticky">;
33544
33539
  validator: (v: any) => boolean;
33545
33540
  };
33546
33541
  readonly: BooleanConstructor;
@@ -33549,11 +33544,11 @@ declare const VFab: {
33549
33544
  default: undefined;
33550
33545
  };
33551
33546
  variant: Omit<{
33552
- type: PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
33547
+ type: vue.PropType<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
33553
33548
  default: string;
33554
33549
  validator: (v: any) => boolean;
33555
33550
  }, "default" | "type"> & {
33556
- type: PropType<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
33551
+ type: vue.PropType<NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">>;
33557
33552
  default: NonNullable<"flat" | "text" | "elevated" | "tonal" | "outlined" | "plain">;
33558
33553
  };
33559
33554
  maxHeight: (StringConstructor | NumberConstructor)[];
@@ -33568,18 +33563,18 @@ declare const VFab: {
33568
33563
  validator(v: any): boolean;
33569
33564
  };
33570
33565
  density: {
33571
- type: PropType<Density>;
33566
+ type: vue.PropType<Density>;
33572
33567
  default: string;
33573
33568
  validator: (v: any) => boolean;
33574
33569
  };
33575
33570
  baseColor: StringConstructor;
33576
33571
  selectedClass: StringConstructor;
33577
- prependIcon: PropType<IconValue>;
33578
- appendIcon: PropType<IconValue>;
33572
+ prependIcon: vue.PropType<IconValue>;
33573
+ appendIcon: vue.PropType<IconValue>;
33579
33574
  slim: BooleanConstructor;
33580
33575
  stacked: BooleanConstructor;
33581
33576
  ripple: {
33582
- type: PropType<boolean | {
33577
+ type: vue.PropType<boolean | {
33583
33578
  class: string;
33584
33579
  } | undefined>;
33585
33580
  default: boolean;
@@ -33588,10 +33583,6 @@ declare const VFab: {
33588
33583
  appear: BooleanConstructor;
33589
33584
  extended: BooleanConstructor;
33590
33585
  layout: BooleanConstructor;
33591
- location: {
33592
- type: PropType<"left" | "right" | "end" | "top" | "bottom" | "start">;
33593
- default: string;
33594
- };
33595
33586
  offset: BooleanConstructor;
33596
33587
  modelValue: {
33597
33588
  type: BooleanConstructor;
@@ -39738,6 +39729,7 @@ declare const VList: {
39738
39729
  value: boolean;
39739
39730
  path: unknown[];
39740
39731
  }) => void>;
39732
+ 'onUpdate:opened': PropType<() => void>;
39741
39733
  }, vue.ExtractPropTypes<{
39742
39734
  color: StringConstructor;
39743
39735
  variant: Omit<{
@@ -39846,6 +39838,7 @@ declare const VList: {
39846
39838
  value: boolean;
39847
39839
  path: unknown[];
39848
39840
  }) => void>;
39841
+ 'onUpdate:opened': PropType<() => void>;
39849
39842
  }>>;
39850
39843
  type VList = InstanceType<typeof VList>;
39851
39844
 
@@ -17,6 +17,7 @@ export function useScroll(props) {
17
17
  canScroll
18
18
  } = args;
19
19
  let previousScroll = 0;
20
+ let previousScrollHeight = 0;
20
21
  const target = ref(null);
21
22
  const currentScroll = shallowRef(0);
22
23
  const savedScroll = shallowRef(0);
@@ -39,6 +40,11 @@ export function useScroll(props) {
39
40
  if (!targetEl || canScroll && !canScroll.value) return;
40
41
  previousScroll = currentScroll.value;
41
42
  currentScroll.value = 'window' in targetEl ? targetEl.pageYOffset : targetEl.scrollTop;
43
+ const currentScrollHeight = targetEl instanceof Window ? document.documentElement.scrollHeight : targetEl.scrollHeight;
44
+ if (previousScrollHeight !== currentScrollHeight) {
45
+ previousScrollHeight = currentScrollHeight;
46
+ return;
47
+ }
42
48
  isScrollingUp.value = currentScroll.value < previousScroll;
43
49
  currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value);
44
50
  };
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.mjs","names":["computed","onBeforeUnmount","onMounted","ref","shallowRef","watch","clamp","consoleWarn","propsFactory","makeScrollProps","scrollTarget","type","String","scrollThreshold","Number","default","useScroll","props","args","arguments","length","undefined","canScroll","previousScroll","target","currentScroll","savedScroll","currentThreshold","isScrollActive","isScrollingUp","scrollRatio","value","onScroll","targetEl","pageYOffset","scrollTop","Math","abs","newTarget","document","querySelector","window","removeEventListener","addEventListener","passive","immediate"],"sources":["../../src/composables/scroll.ts"],"sourcesContent":["// Utilities\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n shallowRef,\n watch,\n} from 'vue'\nimport { clamp, consoleWarn, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport interface ScrollProps {\n scrollTarget?: string\n scrollThreshold?: string | number\n}\n\nexport interface ThresholdMetCallbackData {\n isScrollingUp: boolean\n currentThreshold: number\n savedScroll: Ref<number>\n}\n\n// Composables\nexport const makeScrollProps = propsFactory({\n scrollTarget: {\n type: String,\n },\n scrollThreshold: {\n type: [String, Number],\n default: 300,\n },\n}, 'scroll')\n\nexport interface ScrollArguments {\n canScroll?: Readonly<Ref<boolean>>\n}\n\nexport function useScroll (\n props: ScrollProps,\n args: ScrollArguments = {},\n) {\n const { canScroll } = args\n let previousScroll = 0\n const target = ref<Element | Window | null>(null)\n const currentScroll = shallowRef(0)\n const savedScroll = shallowRef(0)\n const currentThreshold = shallowRef(0)\n const isScrollActive = shallowRef(false)\n const isScrollingUp = shallowRef(false)\n\n const scrollThreshold = computed(() => {\n return Number(props.scrollThreshold)\n })\n\n /**\n * 1: at top\n * 0: at threshold\n */\n const scrollRatio = computed(() => {\n return clamp(((scrollThreshold.value - currentScroll.value) / scrollThreshold.value) || 0)\n })\n\n const onScroll = () => {\n const targetEl = target.value\n\n if (!targetEl || (canScroll && !canScroll.value)) return\n\n previousScroll = currentScroll.value\n currentScroll.value = ('window' in targetEl) ? targetEl.pageYOffset : targetEl.scrollTop\n\n isScrollingUp.value = currentScroll.value < previousScroll\n currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value)\n }\n\n watch(isScrollingUp, () => {\n savedScroll.value = savedScroll.value || currentScroll.value\n })\n\n watch(isScrollActive, () => {\n savedScroll.value = 0\n })\n\n onMounted(() => {\n watch(() => props.scrollTarget, scrollTarget => {\n const newTarget = scrollTarget ? document.querySelector(scrollTarget) : window\n\n if (!newTarget) {\n consoleWarn(`Unable to locate element with identifier ${scrollTarget}`)\n return\n }\n\n if (newTarget === target.value) return\n\n target.value?.removeEventListener('scroll', onScroll)\n target.value = newTarget\n target.value.addEventListener('scroll', onScroll, { passive: true })\n }, { immediate: true })\n })\n\n onBeforeUnmount(() => {\n target.value?.removeEventListener('scroll', onScroll)\n })\n\n // Do we need this? If yes - seems that\n // there's no need to expose onScroll\n canScroll && watch(canScroll, onScroll, { immediate: true })\n\n return {\n scrollThreshold,\n currentScroll,\n currentThreshold,\n isScrollActive,\n scrollRatio,\n\n // required only for testing\n // probably can be removed\n // later (2 chars chlng)\n isScrollingUp,\n savedScroll,\n }\n}\n"],"mappings":"AAAA;AACA,SACEA,QAAQ,EACRC,eAAe,EACfC,SAAS,EACTC,GAAG,EACHC,UAAU,EACVC,KAAK,QACA,KAAK;AAAA,SACHC,KAAK,EAAEC,WAAW,EAAEC,YAAY,6BAEzC;AAcA;AACA,OAAO,MAAMC,eAAe,GAAGD,YAAY,CAAC;EAC1CE,YAAY,EAAE;IACZC,IAAI,EAAEC;EACR,CAAC;EACDC,eAAe,EAAE;IACfF,IAAI,EAAE,CAACC,MAAM,EAAEE,MAAM,CAAC;IACtBC,OAAO,EAAE;EACX;AACF,CAAC,EAAE,QAAQ,CAAC;AAMZ,OAAO,SAASC,SAASA,CACvBC,KAAkB,EAElB;EAAA,IADAC,IAAqB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAAC,CAAC;EAE1B,MAAM;IAAEG;EAAU,CAAC,GAAGJ,IAAI;EAC1B,IAAIK,cAAc,GAAG,CAAC;EACtB,MAAMC,MAAM,GAAGrB,GAAG,CAA0B,IAAI,CAAC;EACjD,MAAMsB,aAAa,GAAGrB,UAAU,CAAC,CAAC,CAAC;EACnC,MAAMsB,WAAW,GAAGtB,UAAU,CAAC,CAAC,CAAC;EACjC,MAAMuB,gBAAgB,GAAGvB,UAAU,CAAC,CAAC,CAAC;EACtC,MAAMwB,cAAc,GAAGxB,UAAU,CAAC,KAAK,CAAC;EACxC,MAAMyB,aAAa,GAAGzB,UAAU,CAAC,KAAK,CAAC;EAEvC,MAAMS,eAAe,GAAGb,QAAQ,CAAC,MAAM;IACrC,OAAOc,MAAM,CAACG,KAAK,CAACJ,eAAe,CAAC;EACtC,CAAC,CAAC;;EAEF;AACF;AACA;AACA;EACE,MAAMiB,WAAW,GAAG9B,QAAQ,CAAC,MAAM;IACjC,OAAOM,KAAK,CAAE,CAACO,eAAe,CAACkB,KAAK,GAAGN,aAAa,CAACM,KAAK,IAAIlB,eAAe,CAACkB,KAAK,IAAK,CAAC,CAAC;EAC5F,CAAC,CAAC;EAEF,MAAMC,QAAQ,GAAGA,CAAA,KAAM;IACrB,MAAMC,QAAQ,GAAGT,MAAM,CAACO,KAAK;IAE7B,IAAI,CAACE,QAAQ,IAAKX,SAAS,IAAI,CAACA,SAAS,CAACS,KAAM,EAAE;IAElDR,cAAc,GAAGE,aAAa,CAACM,KAAK;IACpCN,aAAa,CAACM,KAAK,GAAI,QAAQ,IAAIE,QAAQ,GAAIA,QAAQ,CAACC,WAAW,GAAGD,QAAQ,CAACE,SAAS;IAExFN,aAAa,CAACE,KAAK,GAAGN,aAAa,CAACM,KAAK,GAAGR,cAAc;IAC1DI,gBAAgB,CAACI,KAAK,GAAGK,IAAI,CAACC,GAAG,CAACZ,aAAa,CAACM,KAAK,GAAGlB,eAAe,CAACkB,KAAK,CAAC;EAChF,CAAC;EAED1B,KAAK,CAACwB,aAAa,EAAE,MAAM;IACzBH,WAAW,CAACK,KAAK,GAAGL,WAAW,CAACK,KAAK,IAAIN,aAAa,CAACM,KAAK;EAC9D,CAAC,CAAC;EAEF1B,KAAK,CAACuB,cAAc,EAAE,MAAM;IAC1BF,WAAW,CAACK,KAAK,GAAG,CAAC;EACvB,CAAC,CAAC;EAEF7B,SAAS,CAAC,MAAM;IACdG,KAAK,CAAC,MAAMY,KAAK,CAACP,YAAY,EAAEA,YAAY,IAAI;MAC9C,MAAM4B,SAAS,GAAG5B,YAAY,GAAG6B,QAAQ,CAACC,aAAa,CAAC9B,YAAY,CAAC,GAAG+B,MAAM;MAE9E,IAAI,CAACH,SAAS,EAAE;QACd/B,WAAW,CAAE,4CAA2CG,YAAa,EAAC,CAAC;QACvE;MACF;MAEA,IAAI4B,SAAS,KAAKd,MAAM,CAACO,KAAK,EAAE;MAEhCP,MAAM,CAACO,KAAK,EAAEW,mBAAmB,CAAC,QAAQ,EAAEV,QAAQ,CAAC;MACrDR,MAAM,CAACO,KAAK,GAAGO,SAAS;MACxBd,MAAM,CAACO,KAAK,CAACY,gBAAgB,CAAC,QAAQ,EAAEX,QAAQ,EAAE;QAAEY,OAAO,EAAE;MAAK,CAAC,CAAC;IACtE,CAAC,EAAE;MAAEC,SAAS,EAAE;IAAK,CAAC,CAAC;EACzB,CAAC,CAAC;EAEF5C,eAAe,CAAC,MAAM;IACpBuB,MAAM,CAACO,KAAK,EAAEW,mBAAmB,CAAC,QAAQ,EAAEV,QAAQ,CAAC;EACvD,CAAC,CAAC;;EAEF;EACA;EACAV,SAAS,IAAIjB,KAAK,CAACiB,SAAS,EAAEU,QAAQ,EAAE;IAAEa,SAAS,EAAE;EAAK,CAAC,CAAC;EAE5D,OAAO;IACLhC,eAAe;IACfY,aAAa;IACbE,gBAAgB;IAChBC,cAAc;IACdE,WAAW;IAEX;IACA;IACA;IACAD,aAAa;IACbH;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"scroll.mjs","names":["computed","onBeforeUnmount","onMounted","ref","shallowRef","watch","clamp","consoleWarn","propsFactory","makeScrollProps","scrollTarget","type","String","scrollThreshold","Number","default","useScroll","props","args","arguments","length","undefined","canScroll","previousScroll","previousScrollHeight","target","currentScroll","savedScroll","currentThreshold","isScrollActive","isScrollingUp","scrollRatio","value","onScroll","targetEl","pageYOffset","scrollTop","currentScrollHeight","Window","document","documentElement","scrollHeight","Math","abs","newTarget","querySelector","window","removeEventListener","addEventListener","passive","immediate"],"sources":["../../src/composables/scroll.ts"],"sourcesContent":["// Utilities\nimport {\n computed,\n onBeforeUnmount,\n onMounted,\n ref,\n shallowRef,\n watch,\n} from 'vue'\nimport { clamp, consoleWarn, propsFactory } from '@/util'\n\n// Types\nimport type { Ref } from 'vue'\n\nexport interface ScrollProps {\n scrollTarget?: string\n scrollThreshold?: string | number\n}\n\nexport interface ThresholdMetCallbackData {\n isScrollingUp: boolean\n currentThreshold: number\n savedScroll: Ref<number>\n}\n\n// Composables\nexport const makeScrollProps = propsFactory({\n scrollTarget: {\n type: String,\n },\n scrollThreshold: {\n type: [String, Number],\n default: 300,\n },\n}, 'scroll')\n\nexport interface ScrollArguments {\n canScroll?: Readonly<Ref<boolean>>\n}\n\nexport function useScroll (\n props: ScrollProps,\n args: ScrollArguments = {},\n) {\n const { canScroll } = args\n let previousScroll = 0\n let previousScrollHeight = 0\n const target = ref<Element | Window | null>(null)\n const currentScroll = shallowRef(0)\n const savedScroll = shallowRef(0)\n const currentThreshold = shallowRef(0)\n const isScrollActive = shallowRef(false)\n const isScrollingUp = shallowRef(false)\n\n const scrollThreshold = computed(() => {\n return Number(props.scrollThreshold)\n })\n\n /**\n * 1: at top\n * 0: at threshold\n */\n const scrollRatio = computed(() => {\n return clamp(((scrollThreshold.value - currentScroll.value) / scrollThreshold.value) || 0)\n })\n\n const onScroll = () => {\n const targetEl = target.value\n\n if (!targetEl || (canScroll && !canScroll.value)) return\n\n previousScroll = currentScroll.value\n currentScroll.value = ('window' in targetEl) ? targetEl.pageYOffset : targetEl.scrollTop\n\n const currentScrollHeight = targetEl instanceof Window ? document.documentElement.scrollHeight : targetEl.scrollHeight\n if (previousScrollHeight !== currentScrollHeight) {\n previousScrollHeight = currentScrollHeight\n return\n }\n\n isScrollingUp.value = currentScroll.value < previousScroll\n currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value)\n }\n\n watch(isScrollingUp, () => {\n savedScroll.value = savedScroll.value || currentScroll.value\n })\n\n watch(isScrollActive, () => {\n savedScroll.value = 0\n })\n\n onMounted(() => {\n watch(() => props.scrollTarget, scrollTarget => {\n const newTarget = scrollTarget ? document.querySelector(scrollTarget) : window\n\n if (!newTarget) {\n consoleWarn(`Unable to locate element with identifier ${scrollTarget}`)\n return\n }\n\n if (newTarget === target.value) return\n\n target.value?.removeEventListener('scroll', onScroll)\n target.value = newTarget\n target.value.addEventListener('scroll', onScroll, { passive: true })\n }, { immediate: true })\n })\n\n onBeforeUnmount(() => {\n target.value?.removeEventListener('scroll', onScroll)\n })\n\n // Do we need this? If yes - seems that\n // there's no need to expose onScroll\n canScroll && watch(canScroll, onScroll, { immediate: true })\n\n return {\n scrollThreshold,\n currentScroll,\n currentThreshold,\n isScrollActive,\n scrollRatio,\n\n // required only for testing\n // probably can be removed\n // later (2 chars chlng)\n isScrollingUp,\n savedScroll,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.6.8-master.2024-06-11";
19
+ export const version = "3.6.9-master.2024-06-15";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.mjs";
package/lib/framework.mjs CHANGED
@@ -97,7 +97,7 @@ export function createVuetify() {
97
97
  goTo
98
98
  };
99
99
  }
100
- export const version = "3.6.8-master.2024-06-11";
100
+ export const version = "3.6.9-master.2024-06-15";
101
101
  createVuetify.version = version;
102
102
 
103
103
  // Vue's inject() can only be used in setup
package/lib/index.d.mts CHANGED
@@ -493,78 +493,79 @@ declare module '@vue/runtime-core' {
493
493
 
494
494
  export interface GlobalComponents {
495
495
  VApp: typeof import('vuetify/components')['VApp']
496
- VAlert: typeof import('vuetify/components')['VAlert']
497
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
498
- VAvatar: typeof import('vuetify/components')['VAvatar']
499
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
500
496
  VAppBar: typeof import('vuetify/components')['VAppBar']
501
497
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
502
498
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
499
+ VAvatar: typeof import('vuetify/components')['VAvatar']
500
+ VAlert: typeof import('vuetify/components')['VAlert']
501
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
502
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
503
503
  VBadge: typeof import('vuetify/components')['VBadge']
504
504
  VBanner: typeof import('vuetify/components')['VBanner']
505
505
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
506
506
  VBannerText: typeof import('vuetify/components')['VBannerText']
507
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
508
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
507
509
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
508
510
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
509
511
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
510
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
512
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
511
513
  VBtn: typeof import('vuetify/components')['VBtn']
512
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
513
514
  VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
514
- VCarousel: typeof import('vuetify/components')['VCarousel']
515
- VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
516
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
515
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
516
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
517
517
  VChip: typeof import('vuetify/components')['VChip']
518
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
519
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
520
518
  VCard: typeof import('vuetify/components')['VCard']
521
519
  VCardActions: typeof import('vuetify/components')['VCardActions']
522
520
  VCardItem: typeof import('vuetify/components')['VCardItem']
523
521
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
524
522
  VCardText: typeof import('vuetify/components')['VCardText']
525
523
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
526
- VCombobox: typeof import('vuetify/components')['VCombobox']
527
- VDataTable: typeof import('vuetify/components')['VDataTable']
528
- VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
529
- VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
530
- VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
531
- VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
532
- VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
533
- VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
534
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
535
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
536
524
  VCode: typeof import('vuetify/components')['VCode']
525
+ VCarousel: typeof import('vuetify/components')['VCarousel']
526
+ VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
527
+ VCombobox: typeof import('vuetify/components')['VCombobox']
528
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
529
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
537
530
  VCounter: typeof import('vuetify/components')['VCounter']
538
- VDialog: typeof import('vuetify/components')['VDialog']
539
531
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
540
532
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
541
533
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
542
534
  VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
543
535
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
544
536
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
537
+ VDialog: typeof import('vuetify/components')['VDialog']
538
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
539
+ VDataTable: typeof import('vuetify/components')['VDataTable']
540
+ VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
541
+ VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
542
+ VDataTableRows: typeof import('vuetify/components')['VDataTableRows']
543
+ VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
544
+ VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
545
+ VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
546
+ VDivider: typeof import('vuetify/components')['VDivider']
547
+ VFileInput: typeof import('vuetify/components')['VFileInput']
545
548
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
546
549
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
547
550
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
548
551
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
549
- VDivider: typeof import('vuetify/components')['VDivider']
550
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
552
+ VFab: typeof import('vuetify/components')['VFab']
551
553
  VField: typeof import('vuetify/components')['VField']
552
554
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
553
- VFab: typeof import('vuetify/components')['VFab']
554
- VFileInput: typeof import('vuetify/components')['VFileInput']
555
+ VFooter: typeof import('vuetify/components')['VFooter']
555
556
  VIcon: typeof import('vuetify/components')['VIcon']
556
557
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
557
558
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
558
559
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
559
560
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
560
- VFooter: typeof import('vuetify/components')['VFooter']
561
561
  VImg: typeof import('vuetify/components')['VImg']
562
562
  VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
563
+ VKbd: typeof import('vuetify/components')['VKbd']
563
564
  VInput: typeof import('vuetify/components')['VInput']
564
565
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
565
566
  VItem: typeof import('vuetify/components')['VItem']
566
567
  VLabel: typeof import('vuetify/components')['VLabel']
567
- VKbd: typeof import('vuetify/components')['VKbd']
568
+ VMain: typeof import('vuetify/components')['VMain']
568
569
  VList: typeof import('vuetify/components')['VList']
569
570
  VListGroup: typeof import('vuetify/components')['VListGroup']
570
571
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -575,12 +576,11 @@ declare module '@vue/runtime-core' {
575
576
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
576
577
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
577
578
  VMenu: typeof import('vuetify/components')['VMenu']
579
+ VOtpInput: typeof import('vuetify/components')['VOtpInput']
578
580
  VMessages: typeof import('vuetify/components')['VMessages']
579
581
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
580
- VPagination: typeof import('vuetify/components')['VPagination']
581
- VOtpInput: typeof import('vuetify/components')['VOtpInput']
582
- VMain: typeof import('vuetify/components')['VMain']
583
582
  VOverlay: typeof import('vuetify/components')['VOverlay']
583
+ VPagination: typeof import('vuetify/components')['VPagination']
584
584
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
585
585
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
586
586
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
@@ -588,11 +588,11 @@ declare module '@vue/runtime-core' {
588
588
  VSelect: typeof import('vuetify/components')['VSelect']
589
589
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
590
590
  VSheet: typeof import('vuetify/components')['VSheet']
591
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
591
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
592
592
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
593
593
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
594
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
594
595
  VSlider: typeof import('vuetify/components')['VSlider']
595
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
596
596
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
597
597
  VStepper: typeof import('vuetify/components')['VStepper']
598
598
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
@@ -600,23 +600,23 @@ declare module '@vue/runtime-core' {
600
600
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
601
601
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
602
602
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
603
- VSwitch: typeof import('vuetify/components')['VSwitch']
604
- VTable: typeof import('vuetify/components')['VTable']
605
603
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
604
+ VSwitch: typeof import('vuetify/components')['VSwitch']
606
605
  VTab: typeof import('vuetify/components')['VTab']
607
606
  VTabs: typeof import('vuetify/components')['VTabs']
608
607
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
609
608
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
610
- VTextField: typeof import('vuetify/components')['VTextField']
609
+ VTable: typeof import('vuetify/components')['VTable']
610
+ VTextarea: typeof import('vuetify/components')['VTextarea']
611
611
  VTimeline: typeof import('vuetify/components')['VTimeline']
612
612
  VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
613
+ VTextField: typeof import('vuetify/components')['VTextField']
613
614
  VToolbar: typeof import('vuetify/components')['VToolbar']
614
615
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
615
616
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
616
- VTextarea: typeof import('vuetify/components')['VTextarea']
617
+ VTooltip: typeof import('vuetify/components')['VTooltip']
617
618
  VWindow: typeof import('vuetify/components')['VWindow']
618
619
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
619
- VTooltip: typeof import('vuetify/components')['VTooltip']
620
620
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
621
621
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
622
622
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
@@ -626,20 +626,20 @@ declare module '@vue/runtime-core' {
626
626
  VRow: typeof import('vuetify/components')['VRow']
627
627
  VSpacer: typeof import('vuetify/components')['VSpacer']
628
628
  VHover: typeof import('vuetify/components')['VHover']
629
- VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
630
629
  VLayout: typeof import('vuetify/components')['VLayout']
631
630
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
632
631
  VLazy: typeof import('vuetify/components')['VLazy']
633
- VParallax: typeof import('vuetify/components')['VParallax']
632
+ VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
634
633
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
634
+ VParallax: typeof import('vuetify/components')['VParallax']
635
635
  VRadio: typeof import('vuetify/components')['VRadio']
636
- VResponsive: typeof import('vuetify/components')['VResponsive']
637
636
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
637
+ VResponsive: typeof import('vuetify/components')['VResponsive']
638
638
  VSparkline: typeof import('vuetify/components')['VSparkline']
639
639
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
640
640
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
641
- VValidation: typeof import('vuetify/components')['VValidation']
642
641
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
642
+ VValidation: typeof import('vuetify/components')['VValidation']
643
643
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
644
644
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
645
645
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -662,18 +662,18 @@ declare module '@vue/runtime-core' {
662
662
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
663
663
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
664
664
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
665
- VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
666
- VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
667
- VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
668
665
  VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
669
666
  VPicker: typeof import('vuetify/labs/components')['VPicker']
670
667
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
671
- VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
672
- VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
673
- VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
674
668
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
675
669
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
676
670
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
671
+ VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
672
+ VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
673
+ VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
674
+ VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
675
+ VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
676
+ VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
677
677
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
678
678
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
679
679
  VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
@@ -91,6 +91,7 @@ export const VTimePickerClock = genericComponent()({
91
91
  return !props.allowedValues || props.allowedValues(value);
92
92
  }
93
93
  function wheel(e) {
94
+ if (!props.scrollable || props.disabled) return;
94
95
  e.preventDefault();
95
96
  const delta = Math.sign(-e.deltaY || 1);
96
97
  let value = displayedValue.value;
@@ -185,6 +186,7 @@ export const VTimePickerClock = genericComponent()({
185
186
  }
186
187
  }
187
188
  function onMouseDown(e) {
189
+ if (props.disabled) return;
188
190
  e.preventDefault();
189
191
  window.addEventListener('mousemove', onDragMove);
190
192
  window.addEventListener('touchmove', onDragMove);
@@ -215,7 +217,7 @@ export const VTimePickerClock = genericComponent()({
215
217
  }],
216
218
  "onMousedown": onMouseDown,
217
219
  "onTouchstart": onMouseDown,
218
- "onWheel": e => props.scrollable && wheel(e),
220
+ "onWheel": wheel,
219
221
  "ref": clockRef
220
222
  }, [_createVNode("div", {
221
223
  "class": "v-time-picker-clock__inner",