@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
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.6.8-master.2024-06-11
2
+ * Vuetify v3.6.9-master.2024-06-15
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -4196,6 +4196,7 @@ function useScroll(props) {
4196
4196
  canScroll
4197
4197
  } = args;
4198
4198
  let previousScroll = 0;
4199
+ let previousScrollHeight = 0;
4199
4200
  const target = ref(null);
4200
4201
  const currentScroll = shallowRef(0);
4201
4202
  const savedScroll = shallowRef(0);
@@ -4218,6 +4219,11 @@ function useScroll(props) {
4218
4219
  if (!targetEl || canScroll && !canScroll.value) return;
4219
4220
  previousScroll = currentScroll.value;
4220
4221
  currentScroll.value = 'window' in targetEl ? targetEl.pageYOffset : targetEl.scrollTop;
4222
+ const currentScrollHeight = targetEl instanceof Window ? document.documentElement.scrollHeight : targetEl.scrollHeight;
4223
+ if (previousScrollHeight !== currentScrollHeight) {
4224
+ previousScrollHeight = currentScrollHeight;
4225
+ return;
4226
+ }
4221
4227
  isScrollingUp.value = currentScroll.value < previousScroll;
4222
4228
  currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value);
4223
4229
  };
@@ -9617,6 +9623,7 @@ const makeVListProps = propsFactory({
9617
9623
  nav: Boolean,
9618
9624
  'onClick:open': EventProp(),
9619
9625
  'onClick:select': EventProp(),
9626
+ 'onUpdate:opened': EventProp(),
9620
9627
  ...makeNestedProps({
9621
9628
  selectStrategy: 'single-leaf',
9622
9629
  openStrategy: 'list'
@@ -11020,9 +11027,6 @@ const VOverlay = genericComponent()({
11020
11027
  if (!(v && props.disabled)) model.value = v;
11021
11028
  }
11022
11029
  });
11023
- const {
11024
- teleportTarget
11025
- } = useTeleport(computed(() => props.attach || props.contained));
11026
11030
  const {
11027
11031
  themeClasses
11028
11032
  } = provideTheme(props);
@@ -11055,6 +11059,10 @@ const VOverlay = genericComponent()({
11055
11059
  isActive,
11056
11060
  isTop: localTop
11057
11061
  });
11062
+ const potentialShadowDomRoot = computed(() => activatorEl?.value?.getRootNode());
11063
+ const {
11064
+ teleportTarget
11065
+ } = useTeleport(computed(() => props.attach || props.contained || potentialShadowDomRoot.value instanceof ShadowRoot ? potentialShadowDomRoot.value : false));
11058
11066
  const {
11059
11067
  dimensionStyles
11060
11068
  } = useDimension(props);
@@ -11397,7 +11405,7 @@ const VMenu = genericComponent()({
11397
11405
  function onKeydown(e) {
11398
11406
  if (props.disabled) return;
11399
11407
  if (e.key === 'Tab' || e.key === 'Enter' && !props.closeOnContentClick) {
11400
- if (e.key === 'Enter' && e.target instanceof HTMLTextAreaElement) return;
11408
+ if (e.key === 'Enter' && (e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLInputElement && !!e.target.closest('form'))) return;
11401
11409
  if (e.key === 'Enter') e.preventDefault();
11402
11410
  const nextElement = getNextElement(focusableChildren(overlay.value?.contentEl, false), e.shiftKey ? 'prev' : 'next', el => el.tabIndex >= 0);
11403
11411
  if (!nextElement) {
@@ -22576,6 +22584,7 @@ const VExpansionPanelTitle = genericComponent()({
22576
22584
  expandIcon: props.expandIcon,
22577
22585
  readonly: props.readonly
22578
22586
  }));
22587
+ const icon = computed(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon);
22579
22588
  useRender(() => withDirectives(createVNode("button", {
22580
22589
  "class": ['v-expansion-panel-title', {
22581
22590
  'v-expansion-panel-title--active': expansionPanel.isSelected.value,
@@ -22590,11 +22599,17 @@ const VExpansionPanelTitle = genericComponent()({
22590
22599
  "onClick": !props.readonly ? expansionPanel.toggle : undefined
22591
22600
  }, [createVNode("span", {
22592
22601
  "class": "v-expansion-panel-title__overlay"
22593
- }, null), slots.default?.(slotProps.value), !props.hideActions && createVNode("span", {
22594
- "class": "v-expansion-panel-title__icon"
22595
- }, [slots.actions ? slots.actions(slotProps.value) : createVNode(VIcon, {
22596
- "icon": expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon
22597
- }, null)])]), [[resolveDirective("ripple"), props.ripple]]));
22602
+ }, null), slots.default?.(slotProps.value), !props.hideActions && createVNode(VDefaultsProvider, {
22603
+ "defaults": {
22604
+ VIcon: {
22605
+ icon: icon.value
22606
+ }
22607
+ }
22608
+ }, {
22609
+ default: () => [createVNode("span", {
22610
+ "class": "v-expansion-panel-title__icon"
22611
+ }, [slots.actions?.(slotProps.value) ?? createVNode(VIcon, null, null)])]
22612
+ })]), [[resolveDirective("ripple"), props.ripple]]));
22598
22613
  return {};
22599
22614
  }
22600
22615
  });
@@ -22661,15 +22676,26 @@ const VExpansionPanel = genericComponent()({
22661
22676
  }, {
22662
22677
  default: () => [createVNode("div", {
22663
22678
  "class": ['v-expansion-panel__shadow', ...elevationClasses.value]
22664
- }, null), hasTitle && createVNode(VExpansionPanelTitle, mergeProps({
22665
- "key": "title"
22666
- }, expansionPanelTitleProps), {
22667
- default: () => [slots.title ? slots.title() : props.title]
22668
- }), hasText && createVNode(VExpansionPanelText, mergeProps({
22669
- "key": "text"
22670
- }, expansionPanelTextProps), {
22671
- default: () => [slots.text ? slots.text() : props.text]
22672
- }), slots.default?.()]
22679
+ }, null), createVNode(VDefaultsProvider, {
22680
+ "defaults": {
22681
+ VExpansionPanelTitle: {
22682
+ ...expansionPanelTitleProps
22683
+ },
22684
+ VExpansionPanelText: {
22685
+ ...expansionPanelTextProps
22686
+ }
22687
+ }
22688
+ }, {
22689
+ default: () => [hasTitle && createVNode(VExpansionPanelTitle, {
22690
+ "key": "title"
22691
+ }, {
22692
+ default: () => [slots.title ? slots.title() : props.title]
22693
+ }), hasText && createVNode(VExpansionPanelText, {
22694
+ "key": "text"
22695
+ }, {
22696
+ default: () => [slots.text ? slots.text() : props.text]
22697
+ }), slots.default?.()]
22698
+ })]
22673
22699
  });
22674
22700
  });
22675
22701
  return {
@@ -22745,15 +22771,13 @@ const VExpansionPanels = genericComponent()({
22745
22771
  }
22746
22772
  });
22747
22773
 
22774
+ // Types
22775
+
22748
22776
  const makeVFabProps = propsFactory({
22749
22777
  app: Boolean,
22750
22778
  appear: Boolean,
22751
22779
  extended: Boolean,
22752
22780
  layout: Boolean,
22753
- location: {
22754
- type: String,
22755
- default: 'bottom end'
22756
- },
22757
22781
  offset: Boolean,
22758
22782
  modelValue: {
22759
22783
  type: Boolean,
@@ -22763,6 +22787,7 @@ const makeVFabProps = propsFactory({
22763
22787
  active: true
22764
22788
  }), ['location']),
22765
22789
  ...makeLayoutItemProps(),
22790
+ ...makeLocationProps(),
22766
22791
  ...makeTransitionProps({
22767
22792
  transition: 'fab-transition'
22768
22793
  })
@@ -22789,11 +22814,11 @@ const VFab = genericComponent()({
22789
22814
  const hasPosition = computed(() => props.app || props.absolute);
22790
22815
  const position = computed(() => {
22791
22816
  if (!hasPosition.value) return false;
22792
- return props.location.split(' ').shift();
22817
+ return props.location?.split(' ').shift() ?? 'bottom';
22793
22818
  });
22794
22819
  const orientation = computed(() => {
22795
22820
  if (!hasPosition.value) return false;
22796
- return props.location.split(' ')[1] ?? 'end';
22821
+ return props.location?.split(' ')[1] ?? 'end';
22797
22822
  });
22798
22823
  useToggleScope(() => props.app, () => {
22799
22824
  const layout = useLayoutItem({
@@ -28067,7 +28092,7 @@ function createVuetify$1() {
28067
28092
  goTo
28068
28093
  };
28069
28094
  }
28070
- const version$1 = "3.6.8-master.2024-06-11";
28095
+ const version$1 = "3.6.9-master.2024-06-15";
28071
28096
  createVuetify$1.version = version$1;
28072
28097
 
28073
28098
  // Vue's inject() can only be used in setup
@@ -28092,7 +28117,7 @@ const createVuetify = function () {
28092
28117
  ...options
28093
28118
  });
28094
28119
  };
28095
- const version = "3.6.8-master.2024-06-11";
28120
+ const version = "3.6.9-master.2024-06-15";
28096
28121
  createVuetify.version = version;
28097
28122
 
28098
28123
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };