@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
package/dist/vuetify.js CHANGED
@@ -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
  */
@@ -4200,6 +4200,7 @@
4200
4200
  canScroll
4201
4201
  } = args;
4202
4202
  let previousScroll = 0;
4203
+ let previousScrollHeight = 0;
4203
4204
  const target = vue.ref(null);
4204
4205
  const currentScroll = vue.shallowRef(0);
4205
4206
  const savedScroll = vue.shallowRef(0);
@@ -4222,6 +4223,11 @@
4222
4223
  if (!targetEl || canScroll && !canScroll.value) return;
4223
4224
  previousScroll = currentScroll.value;
4224
4225
  currentScroll.value = 'window' in targetEl ? targetEl.pageYOffset : targetEl.scrollTop;
4226
+ const currentScrollHeight = targetEl instanceof Window ? document.documentElement.scrollHeight : targetEl.scrollHeight;
4227
+ if (previousScrollHeight !== currentScrollHeight) {
4228
+ previousScrollHeight = currentScrollHeight;
4229
+ return;
4230
+ }
4225
4231
  isScrollingUp.value = currentScroll.value < previousScroll;
4226
4232
  currentThreshold.value = Math.abs(currentScroll.value - scrollThreshold.value);
4227
4233
  };
@@ -9621,6 +9627,7 @@
9621
9627
  nav: Boolean,
9622
9628
  'onClick:open': EventProp(),
9623
9629
  'onClick:select': EventProp(),
9630
+ 'onUpdate:opened': EventProp(),
9624
9631
  ...makeNestedProps({
9625
9632
  selectStrategy: 'single-leaf',
9626
9633
  openStrategy: 'list'
@@ -11024,9 +11031,6 @@
11024
11031
  if (!(v && props.disabled)) model.value = v;
11025
11032
  }
11026
11033
  });
11027
- const {
11028
- teleportTarget
11029
- } = useTeleport(vue.computed(() => props.attach || props.contained));
11030
11034
  const {
11031
11035
  themeClasses
11032
11036
  } = provideTheme(props);
@@ -11059,6 +11063,10 @@
11059
11063
  isActive,
11060
11064
  isTop: localTop
11061
11065
  });
11066
+ const potentialShadowDomRoot = vue.computed(() => activatorEl?.value?.getRootNode());
11067
+ const {
11068
+ teleportTarget
11069
+ } = useTeleport(vue.computed(() => props.attach || props.contained || potentialShadowDomRoot.value instanceof ShadowRoot ? potentialShadowDomRoot.value : false));
11062
11070
  const {
11063
11071
  dimensionStyles
11064
11072
  } = useDimension(props);
@@ -11401,7 +11409,7 @@
11401
11409
  function onKeydown(e) {
11402
11410
  if (props.disabled) return;
11403
11411
  if (e.key === 'Tab' || e.key === 'Enter' && !props.closeOnContentClick) {
11404
- if (e.key === 'Enter' && e.target instanceof HTMLTextAreaElement) return;
11412
+ if (e.key === 'Enter' && (e.target instanceof HTMLTextAreaElement || e.target instanceof HTMLInputElement && !!e.target.closest('form'))) return;
11405
11413
  if (e.key === 'Enter') e.preventDefault();
11406
11414
  const nextElement = getNextElement(focusableChildren(overlay.value?.contentEl, false), e.shiftKey ? 'prev' : 'next', el => el.tabIndex >= 0);
11407
11415
  if (!nextElement) {
@@ -22580,6 +22588,7 @@
22580
22588
  expandIcon: props.expandIcon,
22581
22589
  readonly: props.readonly
22582
22590
  }));
22591
+ const icon = vue.computed(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon);
22583
22592
  useRender(() => vue.withDirectives(vue.createVNode("button", {
22584
22593
  "class": ['v-expansion-panel-title', {
22585
22594
  'v-expansion-panel-title--active': expansionPanel.isSelected.value,
@@ -22594,11 +22603,17 @@
22594
22603
  "onClick": !props.readonly ? expansionPanel.toggle : undefined
22595
22604
  }, [vue.createVNode("span", {
22596
22605
  "class": "v-expansion-panel-title__overlay"
22597
- }, null), slots.default?.(slotProps.value), !props.hideActions && vue.createVNode("span", {
22598
- "class": "v-expansion-panel-title__icon"
22599
- }, [slots.actions ? slots.actions(slotProps.value) : vue.createVNode(VIcon, {
22600
- "icon": expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon
22601
- }, null)])]), [[vue.resolveDirective("ripple"), props.ripple]]));
22606
+ }, null), slots.default?.(slotProps.value), !props.hideActions && vue.createVNode(VDefaultsProvider, {
22607
+ "defaults": {
22608
+ VIcon: {
22609
+ icon: icon.value
22610
+ }
22611
+ }
22612
+ }, {
22613
+ default: () => [vue.createVNode("span", {
22614
+ "class": "v-expansion-panel-title__icon"
22615
+ }, [slots.actions?.(slotProps.value) ?? vue.createVNode(VIcon, null, null)])]
22616
+ })]), [[vue.resolveDirective("ripple"), props.ripple]]));
22602
22617
  return {};
22603
22618
  }
22604
22619
  });
@@ -22665,15 +22680,26 @@
22665
22680
  }, {
22666
22681
  default: () => [vue.createVNode("div", {
22667
22682
  "class": ['v-expansion-panel__shadow', ...elevationClasses.value]
22668
- }, null), hasTitle && vue.createVNode(VExpansionPanelTitle, vue.mergeProps({
22669
- "key": "title"
22670
- }, expansionPanelTitleProps), {
22671
- default: () => [slots.title ? slots.title() : props.title]
22672
- }), hasText && vue.createVNode(VExpansionPanelText, vue.mergeProps({
22673
- "key": "text"
22674
- }, expansionPanelTextProps), {
22675
- default: () => [slots.text ? slots.text() : props.text]
22676
- }), slots.default?.()]
22683
+ }, null), vue.createVNode(VDefaultsProvider, {
22684
+ "defaults": {
22685
+ VExpansionPanelTitle: {
22686
+ ...expansionPanelTitleProps
22687
+ },
22688
+ VExpansionPanelText: {
22689
+ ...expansionPanelTextProps
22690
+ }
22691
+ }
22692
+ }, {
22693
+ default: () => [hasTitle && vue.createVNode(VExpansionPanelTitle, {
22694
+ "key": "title"
22695
+ }, {
22696
+ default: () => [slots.title ? slots.title() : props.title]
22697
+ }), hasText && vue.createVNode(VExpansionPanelText, {
22698
+ "key": "text"
22699
+ }, {
22700
+ default: () => [slots.text ? slots.text() : props.text]
22701
+ }), slots.default?.()]
22702
+ })]
22677
22703
  });
22678
22704
  });
22679
22705
  return {
@@ -22749,15 +22775,13 @@
22749
22775
  }
22750
22776
  });
22751
22777
 
22778
+ // Types
22779
+
22752
22780
  const makeVFabProps = propsFactory({
22753
22781
  app: Boolean,
22754
22782
  appear: Boolean,
22755
22783
  extended: Boolean,
22756
22784
  layout: Boolean,
22757
- location: {
22758
- type: String,
22759
- default: 'bottom end'
22760
- },
22761
22785
  offset: Boolean,
22762
22786
  modelValue: {
22763
22787
  type: Boolean,
@@ -22767,6 +22791,7 @@
22767
22791
  active: true
22768
22792
  }), ['location']),
22769
22793
  ...makeLayoutItemProps(),
22794
+ ...makeLocationProps(),
22770
22795
  ...makeTransitionProps({
22771
22796
  transition: 'fab-transition'
22772
22797
  })
@@ -22793,11 +22818,11 @@
22793
22818
  const hasPosition = vue.computed(() => props.app || props.absolute);
22794
22819
  const position = vue.computed(() => {
22795
22820
  if (!hasPosition.value) return false;
22796
- return props.location.split(' ').shift();
22821
+ return props.location?.split(' ').shift() ?? 'bottom';
22797
22822
  });
22798
22823
  const orientation = vue.computed(() => {
22799
22824
  if (!hasPosition.value) return false;
22800
- return props.location.split(' ')[1] ?? 'end';
22825
+ return props.location?.split(' ')[1] ?? 'end';
22801
22826
  });
22802
22827
  useToggleScope(() => props.app, () => {
22803
22828
  const layout = useLayoutItem({
@@ -28071,7 +28096,7 @@
28071
28096
  goTo
28072
28097
  };
28073
28098
  }
28074
- const version$1 = "3.6.8-master.2024-06-11";
28099
+ const version$1 = "3.6.9-master.2024-06-15";
28075
28100
  createVuetify$1.version = version$1;
28076
28101
 
28077
28102
  // Vue's inject() can only be used in setup
@@ -28096,7 +28121,7 @@
28096
28121
  ...options
28097
28122
  });
28098
28123
  };
28099
- const version = "3.6.8-master.2024-06-11";
28124
+ const version = "3.6.9-master.2024-06-15";
28100
28125
  createVuetify.version = version;
28101
28126
 
28102
28127
  exports.blueprints = index;