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

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 (45) hide show
  1. package/CHANGELOG.md +2 -10
  2. package/dist/json/attributes.json +4 -4
  3. package/dist/json/importMap-labs.json +24 -24
  4. package/dist/json/importMap.json +132 -132
  5. package/dist/json/web-types.json +12 -13
  6. package/dist/vuetify-labs.css +2088 -2088
  7. package/dist/vuetify-labs.d.ts +44 -45
  8. package/dist/vuetify-labs.esm.js +32 -19
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +32 -19
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +489 -489
  13. package/dist/vuetify.d.ts +84 -91
  14. package/dist/vuetify.esm.js +20 -13
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +20 -13
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +31 -28
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VFab/VFab.mjs +4 -7
  22. package/lib/components/VFab/VFab.mjs.map +1 -1
  23. package/lib/components/VFab/index.d.mts +46 -49
  24. package/lib/components/VList/VList.mjs +1 -0
  25. package/lib/components/VList/VList.mjs.map +1 -1
  26. package/lib/components/VList/index.d.mts +2 -0
  27. package/lib/components/VMenu/VMenu.mjs +1 -1
  28. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  29. package/lib/components/VOverlay/VOverlay.mjs +4 -3
  30. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  31. package/lib/components/index.d.mts +38 -45
  32. package/lib/composables/scroll.mjs +6 -0
  33. package/lib/composables/scroll.mjs.map +1 -1
  34. package/lib/entry-bundler.mjs +1 -1
  35. package/lib/framework.mjs +1 -1
  36. package/lib/index.d.mts +46 -46
  37. package/lib/labs/VTimePicker/VTimePickerClock.mjs +3 -1
  38. package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
  39. package/lib/labs/VTimePicker/VTimePickerControls.mjs +7 -2
  40. package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
  41. package/lib/labs/VTreeview/VTreeview.mjs +3 -4
  42. package/lib/labs/VTreeview/VTreeview.mjs.map +1 -1
  43. package/lib/labs/VTreeview/index.d.mts +6 -0
  44. package/lib/labs/components.d.mts +6 -0
  45. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.6.8-master.2024-06-11
2
+ * Vuetify v3.6.9-master.2024-06-12
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -3760,6 +3760,7 @@
3760
3760
  canScroll
3761
3761
  } = args;
3762
3762
  let previousScroll = 0;
3763
+ let previousScrollHeight = 0;
3763
3764
  const target = vue.ref(null);
3764
3765
  const currentScroll = vue.shallowRef(0);
3765
3766
  const savedScroll = vue.shallowRef(0);
@@ -3782,6 +3783,11 @@
3782
3783
  if (!targetEl || canScroll && !canScroll.value) return;
3783
3784
  previousScroll = currentScroll.value;
3784
3785
  currentScroll.value = 'window' in targetEl ? targetEl.pageYOffset : targetEl.scrollTop;
3786
+ const currentScrollHeight = targetEl instanceof Window ? document.documentElement.scrollHeight : targetEl.scrollHeight;
3787
+ if (previousScrollHeight !== currentScrollHeight) {
3788
+ previousScrollHeight = currentScrollHeight;
3789
+ return;
3790
+ }
3785
3791
  isScrollingUp.value = currentScroll.value < previousScroll;
3786
3792
  currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value);
3787
3793
  };
@@ -9388,6 +9394,7 @@
9388
9394
  nav: Boolean,
9389
9395
  'onClick:open': EventProp(),
9390
9396
  'onClick:select': EventProp(),
9397
+ 'onUpdate:opened': EventProp(),
9391
9398
  ...makeNestedProps({
9392
9399
  selectStrategy: 'single-leaf',
9393
9400
  openStrategy: 'list'
@@ -10791,9 +10798,6 @@
10791
10798
  if (!(v && props.disabled)) model.value = v;
10792
10799
  }
10793
10800
  });
10794
- const {
10795
- teleportTarget
10796
- } = useTeleport(vue.computed(() => props.attach || props.contained));
10797
10801
  const {
10798
10802
  themeClasses
10799
10803
  } = provideTheme(props);
@@ -10826,6 +10830,10 @@
10826
10830
  isActive,
10827
10831
  isTop: localTop
10828
10832
  });
10833
+ const potentialShadowDomRoot = vue.computed(() => activatorEl?.value?.getRootNode());
10834
+ const {
10835
+ teleportTarget
10836
+ } = useTeleport(vue.computed(() => props.attach || props.contained || potentialShadowDomRoot.value instanceof ShadowRoot ? potentialShadowDomRoot.value : false));
10829
10837
  const {
10830
10838
  dimensionStyles
10831
10839
  } = useDimension(props);
@@ -11168,7 +11176,7 @@
11168
11176
  function onKeydown(e) {
11169
11177
  if (props.disabled) return;
11170
11178
  if (e.key === 'Tab' || e.key === 'Enter' && !props.closeOnContentClick) {
11171
- if (e.key === 'Enter' && e.target instanceof HTMLTextAreaElement) return;
11179
+ if (e.key === 'Enter' && (e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLInputElement && !!e.target.closest('form'))) return;
11172
11180
  if (e.key === 'Enter') e.preventDefault();
11173
11181
  const nextElement = getNextElement(focusableChildren(overlay.value?.contentEl, false), e.shiftKey ? 'prev' : 'next', el => el.tabIndex >= 0);
11174
11182
  if (!nextElement) {
@@ -22516,15 +22524,13 @@
22516
22524
  }
22517
22525
  });
22518
22526
 
22527
+ // Types
22528
+
22519
22529
  const makeVFabProps = propsFactory({
22520
22530
  app: Boolean,
22521
22531
  appear: Boolean,
22522
22532
  extended: Boolean,
22523
22533
  layout: Boolean,
22524
- location: {
22525
- type: String,
22526
- default: 'bottom end'
22527
- },
22528
22534
  offset: Boolean,
22529
22535
  modelValue: {
22530
22536
  type: Boolean,
@@ -22534,6 +22540,7 @@
22534
22540
  active: true
22535
22541
  }), ['location']),
22536
22542
  ...makeLayoutItemProps(),
22543
+ ...makeLocationProps(),
22537
22544
  ...makeTransitionProps({
22538
22545
  transition: 'fab-transition'
22539
22546
  })
@@ -22560,11 +22567,11 @@
22560
22567
  const hasPosition = vue.computed(() => props.app || props.absolute);
22561
22568
  const position = vue.computed(() => {
22562
22569
  if (!hasPosition.value) return false;
22563
- return props.location.split(' ').shift();
22570
+ return props.location?.split(' ').shift() ?? 'bottom';
22564
22571
  });
22565
22572
  const orientation = vue.computed(() => {
22566
22573
  if (!hasPosition.value) return false;
22567
- return props.location.split(' ')[1] ?? 'end';
22574
+ return props.location?.split(' ')[1] ?? 'end';
22568
22575
  });
22569
22576
  useToggleScope(() => props.app, () => {
22570
22577
  const layout = useLayoutItem({
@@ -28764,6 +28771,7 @@
28764
28771
  return !props.allowedValues || props.allowedValues(value);
28765
28772
  }
28766
28773
  function wheel(e) {
28774
+ if (!props.scrollable || props.disabled) return;
28767
28775
  e.preventDefault();
28768
28776
  const delta = Math.sign(-e.deltaY || 1);
28769
28777
  let value = displayedValue.value;
@@ -28858,6 +28866,7 @@
28858
28866
  }
28859
28867
  }
28860
28868
  function onMouseDown(e) {
28869
+ if (props.disabled) return;
28861
28870
  e.preventDefault();
28862
28871
  window.addEventListener('mousemove', onDragMove);
28863
28872
  window.addEventListener('touchmove', onDragMove);
@@ -28888,7 +28897,7 @@
28888
28897
  }],
28889
28898
  "onMousedown": onMouseDown,
28890
28899
  "onTouchstart": onMouseDown,
28891
- "onWheel": e => props.scrollable && wheel(e),
28900
+ "onWheel": wheel,
28892
28901
  "ref": clockRef
28893
28902
  }, [vue.createVNode("div", {
28894
28903
  "class": "v-time-picker-clock__inner",
@@ -28990,6 +28999,7 @@
28990
28999
  }, [vue.createVNode(VBtn, {
28991
29000
  "active": props.selecting === 1,
28992
29001
  "color": props.selecting === 1 ? props.color : undefined,
29002
+ "disabled": props.disabled,
28993
29003
  "variant": "tonal",
28994
29004
  "class": {
28995
29005
  'v-time-picker-controls__time__btn': true,
@@ -29011,6 +29021,7 @@
29011
29021
  'v-time-picker-controls__time--with-ampm__btn': props.ampm,
29012
29022
  'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
29013
29023
  },
29024
+ "disabled": props.disabled,
29014
29025
  "variant": "tonal",
29015
29026
  "text": props.minute == null ? '--' : pad(props.minute),
29016
29027
  "onClick": () => emit('update:selecting', SelectingTimes.Minute)
@@ -29028,6 +29039,7 @@
29028
29039
  'v-time-picker-controls__time__btn__active': props.selecting === 3,
29029
29040
  'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
29030
29041
  },
29042
+ "disabled": props.disabled,
29031
29043
  "text": props.second == null ? '--' : pad(props.second)
29032
29044
  }, null), props.ampm && vue.createVNode("div", {
29033
29045
  "class": ['v-time-picker-controls__ampm', {
@@ -29041,8 +29053,9 @@
29041
29053
  'v-time-picker-controls__ampm__btn': true,
29042
29054
  'v-time-picker-controls__ampm__btn__active': props.period === 'am'
29043
29055
  },
29056
+ "disabled": props.disabled,
29044
29057
  "text": t('$vuetify.timePicker.am'),
29045
- "variant": "tonal",
29058
+ "variant": props.disabled && props.period === 'am' ? 'elevated' : 'tonal',
29046
29059
  "onClick": () => props.period !== 'am' ? emit('update:period', 'am') : null
29047
29060
  }, null), vue.createVNode(VBtn, {
29048
29061
  "active": props.period === 'pm',
@@ -29052,8 +29065,9 @@
29052
29065
  'v-time-picker-controls__ampm__btn': true,
29053
29066
  'v-time-picker-controls__ampm__btn__active': props.period === 'pm'
29054
29067
  },
29068
+ "disabled": props.disabled,
29055
29069
  "text": t('$vuetify.timePicker.pm'),
29056
- "variant": "tonal",
29070
+ "variant": props.disabled && props.period === 'pm' ? 'elevated' : 'tonal',
29057
29071
  "onClick": () => props.period !== 'pm' ? emit('update:period', 'pm') : null
29058
29072
  }, null)])])]);
29059
29073
  });
@@ -29637,6 +29651,7 @@
29637
29651
  let {
29638
29652
  slots
29639
29653
  } = _ref;
29654
+ const vm = getCurrentInstance('VTreeview');
29640
29655
  const {
29641
29656
  items
29642
29657
  } = useListItems(props);
@@ -29719,15 +29734,13 @@
29719
29734
  }
29720
29735
  });
29721
29736
  useRender(() => {
29722
- const listProps = VList.filterProps(props);
29737
+ const listProps = VList.filterProps(vm.vnode.props);
29723
29738
  const treeviewChildrenProps = VTreeviewChildren.filterProps(props);
29724
29739
  return vue.createVNode(VList, vue.mergeProps({
29725
29740
  "ref": vListRef
29726
29741
  }, listProps, {
29727
29742
  "class": ['v-treeview', props.class],
29728
29743
  "style": props.style,
29729
- "opened": opened.value,
29730
- "onUpdate:opened": $event => opened.value = $event,
29731
29744
  "activated": activated.value,
29732
29745
  "onUpdate:activated": $event => activated.value = $event,
29733
29746
  "selected": selected.value,
@@ -30239,7 +30252,7 @@
30239
30252
  goTo
30240
30253
  };
30241
30254
  }
30242
- const version$1 = "3.6.8-master.2024-06-11";
30255
+ const version$1 = "3.6.9-master.2024-06-12";
30243
30256
  createVuetify$1.version = version$1;
30244
30257
 
30245
30258
  // Vue's inject() can only be used in setup
@@ -30492,7 +30505,7 @@
30492
30505
 
30493
30506
  /* eslint-disable local-rules/sort-imports */
30494
30507
 
30495
- const version = "3.6.8-master.2024-06-11";
30508
+ const version = "3.6.9-master.2024-06-12";
30496
30509
 
30497
30510
  /* eslint-disable local-rules/sort-imports */
30498
30511