@vuetify/nightly 3.7.0-beta.1-dev.2024-07-29 → 3.7.0-beta.1-dev.2024-08-01

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 (135) hide show
  1. package/dist/json/attributes.json +17 -5
  2. package/dist/json/importMap-labs.json +12 -12
  3. package/dist/json/importMap.json +112 -112
  4. package/dist/json/tags.json +3 -0
  5. package/dist/json/web-types.json +44 -14
  6. package/dist/vuetify-labs.css +4400 -3677
  7. package/dist/vuetify-labs.d.ts +219 -117
  8. package/dist/vuetify-labs.esm.js +125 -77
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +125 -77
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +3534 -2811
  13. package/dist/vuetify.d.ts +230 -146
  14. package/dist/vuetify.esm.js +62 -39
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +62 -39
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +52 -51
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAlert/VAlert.css +5 -1
  22. package/lib/components/VAutocomplete/VAutocomplete.css +4 -0
  23. package/lib/components/VAutocomplete/index.d.mts +42 -24
  24. package/lib/components/VAvatar/VAvatar.css +8 -4
  25. package/lib/components/VAvatar/VAvatar.mjs +1 -1
  26. package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
  27. package/lib/components/VBadge/VBadge.css +2 -0
  28. package/lib/components/VBanner/VBanner.css +12 -4
  29. package/lib/components/VBottomNavigation/VBottomNavigation.css +11 -3
  30. package/lib/components/VBottomSheet/VBottomSheet.css +2 -0
  31. package/lib/components/VBtn/VBtn.css +16 -9
  32. package/lib/components/VBtn/VBtn.mjs +1 -1
  33. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  34. package/lib/components/VBtn/VBtn.sass +4 -4
  35. package/lib/components/VBtnGroup/VBtnGroup.css +12 -4
  36. package/lib/components/VCard/VCard.css +9 -1
  37. package/lib/components/VCarousel/VCarousel.css +2 -0
  38. package/lib/components/VChip/VChip.css +15 -9
  39. package/lib/components/VChip/VChip.sass +1 -1
  40. package/lib/components/VColorPicker/VColorPicker.css +2 -0
  41. package/lib/components/VColorPicker/VColorPicker.sass +4 -4
  42. package/lib/components/VColorPicker/VColorPickerPreview.sass +4 -4
  43. package/lib/components/VCombobox/VCombobox.css +4 -0
  44. package/lib/components/VCombobox/index.d.mts +42 -24
  45. package/lib/components/VDialog/VDialog.css +5 -0
  46. package/lib/components/VDialog/index.d.mts +3 -3
  47. package/lib/components/VDivider/VDivider.css +2 -0
  48. package/lib/components/VExpansionPanel/VExpansionPanel.css +11 -5
  49. package/lib/components/VExpansionPanel/VExpansionPanel.sass +3 -3
  50. package/lib/components/VField/VField.css +13 -1
  51. package/lib/components/VField/VField.sass +5 -8
  52. package/lib/components/VFooter/VFooter.css +12 -4
  53. package/lib/components/VFooter/VFooter.mjs +20 -14
  54. package/lib/components/VFooter/VFooter.mjs.map +1 -1
  55. package/lib/components/VFooter/index.d.mts +3 -3
  56. package/lib/components/VGrid/VGrid.sass +1 -1
  57. package/lib/components/VGrid/_mixins.sass +4 -4
  58. package/lib/components/VImg/VImg.css +6 -0
  59. package/lib/components/VKbd/VKbd.css +2 -0
  60. package/lib/components/VList/VList.css +12 -4
  61. package/lib/components/VList/VListItem.css +21 -11
  62. package/lib/components/VList/VListItem.mjs +1 -1
  63. package/lib/components/VList/VListItem.mjs.map +1 -1
  64. package/lib/components/VList/VListItem.sass +1 -1
  65. package/lib/components/VMain/VMain.css +2 -0
  66. package/lib/components/VMenu/VMenu.css +6 -0
  67. package/lib/components/VMenu/VMenu.mjs +20 -4
  68. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  69. package/lib/components/VMenu/index.d.mts +27 -12
  70. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +9 -3
  71. package/lib/components/VOtpInput/VOtpInput.css +3 -1
  72. package/lib/components/VOtpInput/VOtpInput.sass +1 -2
  73. package/lib/components/VOverflowBtn/VOverflowBtn.sass +1 -1
  74. package/lib/components/VOverlay/VOverlay.mjs +5 -4
  75. package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
  76. package/lib/components/VOverlay/useActivator.mjs +3 -2
  77. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  78. package/lib/components/VSelect/VSelect.css +4 -0
  79. package/lib/components/VSelect/index.d.mts +42 -24
  80. package/lib/components/VSelectionControl/VSelectionControl.css +6 -4
  81. package/lib/components/VSelectionControl/VSelectionControl.sass +1 -1
  82. package/lib/components/VSheet/VSheet.css +12 -4
  83. package/lib/components/VSkeletonLoader/VSkeletonLoader.css +6 -4
  84. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs +9 -8
  85. package/lib/components/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
  86. package/lib/components/VSkeletonLoader/VSkeletonLoader.sass +1 -2
  87. package/lib/components/VSlider/VSliderThumb.sass +2 -2
  88. package/lib/components/VSnackbar/VSnackbar.css +2 -0
  89. package/lib/components/VSnackbar/VSnackbar.mjs +4 -4
  90. package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
  91. package/lib/components/VSnackbar/index.d.mts +3 -3
  92. package/lib/components/VSpeedDial/index.d.mts +28 -13
  93. package/lib/components/VStepper/VStepper.css +8 -2
  94. package/lib/components/VStepper/VStepper.sass +2 -4
  95. package/lib/components/VStepper/VStepperItem.css +4 -1
  96. package/lib/components/VStepper/VStepperItem.sass +1 -1
  97. package/lib/components/VSwitch/VSwitch.css +2 -0
  98. package/lib/components/VSwitch/VSwitch.sass +10 -10
  99. package/lib/components/VSystemBar/VSystemBar.css +14 -8
  100. package/lib/components/VTable/VTable.css +8 -4
  101. package/lib/components/VTable/VTable.sass +2 -3
  102. package/lib/components/VTimeline/VTimeline.css +2 -0
  103. package/lib/components/VToolbar/VToolbar.css +21 -7
  104. package/lib/components/VToolbar/VToolbar.sass +1 -2
  105. package/lib/components/VTooltip/index.d.mts +3 -3
  106. package/lib/components/VTreeview/VTreeview.sass +9 -9
  107. package/lib/components/index.d.mts +193 -109
  108. package/lib/entry-bundler.mjs +1 -1
  109. package/lib/framework.mjs +1 -1
  110. package/lib/index.d.mts +37 -37
  111. package/lib/labs/VNumberInput/VNumberInput.mjs +60 -36
  112. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  113. package/lib/labs/VNumberInput/index.d.mts +17 -8
  114. package/lib/labs/VPicker/VPicker.css +6 -2
  115. package/lib/labs/VPicker/VPicker.sass +2 -3
  116. package/lib/labs/VPullToRefresh/VPullToRefresh.mjs +4 -3
  117. package/lib/labs/VPullToRefresh/VPullToRefresh.mjs.map +1 -1
  118. package/lib/labs/VPullToRefresh/index.d.mts +9 -0
  119. package/lib/labs/VSnackbarQueue/index.d.mts +3 -3
  120. package/lib/labs/components.d.mts +29 -11
  121. package/lib/styles/generic/_colors.scss +9 -3
  122. package/lib/styles/main.css +520 -0
  123. package/lib/styles/tools/_absolute.sass +8 -7
  124. package/lib/styles/tools/_border.sass +4 -3
  125. package/lib/styles/tools/_display.sass +8 -7
  126. package/lib/styles/tools/_elevation.sass +4 -2
  127. package/lib/styles/tools/_index.sass +0 -1
  128. package/lib/styles/tools/_radius.sass +6 -5
  129. package/lib/styles/tools/_rounded.sass +2 -1
  130. package/lib/styles/tools/_theme.sass +3 -2
  131. package/lib/styles/tools/_typography.sass +6 -5
  132. package/lib/styles/tools/_utilities.sass +5 -5
  133. package/lib/styles/utilities/_index.sass +7 -7
  134. package/package.json +1 -1
  135. package/lib/styles/tools/_sheet.sass +0 -14
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.0-beta.1-dev.2024-07-29
2
+ * Vuetify v3.7.0-beta.1-dev.2024-08-01
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -5949,7 +5949,7 @@ const VBtn = genericComponent()({
5949
5949
  "indeterminate": true,
5950
5950
  "width": "2"
5951
5951
  }, null)])]
5952
- }), [[Ripple, !isDisabled.value && !!props.ripple, '', {
5952
+ }), [[Ripple, !isDisabled.value && props.ripple, '', {
5953
5953
  center: !!props.icon
5954
5954
  }]]);
5955
5955
  });
@@ -6247,7 +6247,7 @@ const VAvatar = genericComponent()({
6247
6247
  "defaults": {
6248
6248
  VImg: {
6249
6249
  cover: true,
6250
- image: props.image
6250
+ src: props.image
6251
6251
  },
6252
6252
  VIcon: {
6253
6253
  icon: props.icon
@@ -9191,7 +9191,7 @@ const VListItem = genericComponent()({
9191
9191
  function onKeyDown(e) {
9192
9192
  if (e.key === 'Enter' || e.key === ' ') {
9193
9193
  e.preventDefault();
9194
- onClick(e);
9194
+ e.target.dispatchEvent(new MouseEvent('click', e));
9195
9195
  }
9196
9196
  }
9197
9197
  useRender(() => {
@@ -10508,7 +10508,8 @@ const makeActivatorProps = propsFactory({
10508
10508
  function useActivator(props, _ref) {
10509
10509
  let {
10510
10510
  isActive,
10511
- isTop
10511
+ isTop,
10512
+ contentEl
10512
10513
  } = _ref;
10513
10514
  const vm = getCurrentInstance('useActivator');
10514
10515
  const activatorEl = ref();
@@ -10625,7 +10626,7 @@ function useActivator(props, _ref) {
10625
10626
  return events;
10626
10627
  });
10627
10628
  watch(isTop, val => {
10628
- if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered))) {
10629
+ if (val && (props.openOnHover && !isHovered && (!openOnFocus.value || !isFocused) || openOnFocus.value && !isFocused && (!props.openOnHover || !isHovered)) && !contentEl.value?.contains(document.activeElement)) {
10629
10630
  isActive.value = false;
10630
10631
  }
10631
10632
  });
@@ -11031,6 +11032,9 @@ const VOverlay = genericComponent()({
11031
11032
  attrs,
11032
11033
  emit
11033
11034
  } = _ref;
11035
+ const root = ref();
11036
+ const scrimEl = ref();
11037
+ const contentEl = ref();
11034
11038
  const model = useProxiedModel(props, 'modelValue');
11035
11039
  const isActive = computed({
11036
11040
  get: () => model.value,
@@ -11068,7 +11072,8 @@ const VOverlay = genericComponent()({
11068
11072
  scrimEvents
11069
11073
  } = useActivator(props, {
11070
11074
  isActive,
11071
- isTop: localTop
11075
+ isTop: localTop,
11076
+ contentEl
11072
11077
  });
11073
11078
  const {
11074
11079
  teleportTarget
@@ -11089,9 +11094,6 @@ const VOverlay = genericComponent()({
11089
11094
  watch(() => props.disabled, v => {
11090
11095
  if (v) isActive.value = false;
11091
11096
  });
11092
- const root = ref();
11093
- const scrimEl = ref();
11094
- const contentEl = ref();
11095
11097
  const {
11096
11098
  contentStyles,
11097
11099
  updateLocation
@@ -11342,10 +11344,12 @@ const makeVMenuProps = propsFactory({
11342
11344
  // TODO
11343
11345
  // disableKeys: Boolean,
11344
11346
  id: String,
11347
+ submenu: Boolean,
11345
11348
  ...omit(makeVOverlayProps({
11346
11349
  closeDelay: 250,
11347
11350
  closeOnContentClick: true,
11348
11351
  locationStrategy: 'connected',
11352
+ location: undefined,
11349
11353
  openDelay: 300,
11350
11354
  scrim: false,
11351
11355
  scrollStrategy: 'reposition',
@@ -11368,6 +11372,9 @@ const VMenu = genericComponent()({
11368
11372
  const {
11369
11373
  scopeId
11370
11374
  } = useScopeId();
11375
+ const {
11376
+ isRtl
11377
+ } = useRtl();
11371
11378
  const uid = getUid();
11372
11379
  const id = computed(() => props.id || `v-menu-${uid}`);
11373
11380
  const overlay = ref();
@@ -11382,7 +11389,7 @@ const VMenu = genericComponent()({
11382
11389
  },
11383
11390
  closeParents(e) {
11384
11391
  setTimeout(() => {
11385
- if (!openChildren.value.size && !props.persistent && (e == null || e && !isClickInsideElement(e, overlay.value.contentEl))) {
11392
+ if (!openChildren.value.size && !props.persistent && (e == null || overlay.value?.contentEl && !isClickInsideElement(e, overlay.value.contentEl))) {
11386
11393
  isActive.value = false;
11387
11394
  parent?.closeParents();
11388
11395
  }
@@ -11430,9 +11437,9 @@ const VMenu = genericComponent()({
11430
11437
  isActive.value = false;
11431
11438
  overlay.value?.activatorEl?.focus();
11432
11439
  }
11433
- } else if (['Enter', ' '].includes(e.key) && props.closeOnContentClick) {
11440
+ } else if (props.submenu && e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11434
11441
  isActive.value = false;
11435
- parent?.closeParents();
11442
+ overlay.value?.activatorEl?.focus();
11436
11443
  }
11437
11444
  }
11438
11445
  function onActivatorKeydown(e) {
@@ -11441,12 +11448,21 @@ const VMenu = genericComponent()({
11441
11448
  if (el && isActive.value) {
11442
11449
  if (e.key === 'ArrowDown') {
11443
11450
  e.preventDefault();
11451
+ e.stopImmediatePropagation();
11444
11452
  focusChild(el, 'next');
11445
11453
  } else if (e.key === 'ArrowUp') {
11446
11454
  e.preventDefault();
11455
+ e.stopImmediatePropagation();
11447
11456
  focusChild(el, 'prev');
11457
+ } else if (props.submenu) {
11458
+ if (e.key === (isRtl.value ? 'ArrowRight' : 'ArrowLeft')) {
11459
+ isActive.value = false;
11460
+ } else if (e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight')) {
11461
+ e.preventDefault();
11462
+ focusChild(el, 'first');
11463
+ }
11448
11464
  }
11449
- } else if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
11465
+ } else if (props.submenu ? e.key === (isRtl.value ? 'ArrowLeft' : 'ArrowRight') : ['ArrowDown', 'ArrowUp'].includes(e.key)) {
11450
11466
  isActive.value = true;
11451
11467
  e.preventDefault();
11452
11468
  setTimeout(() => setTimeout(() => onActivatorKeydown(e)));
@@ -11470,6 +11486,7 @@ const VMenu = genericComponent()({
11470
11486
  "onUpdate:modelValue": $event => isActive.value = $event,
11471
11487
  "absolute": true,
11472
11488
  "activatorProps": activatorProps.value,
11489
+ "location": props.location ?? (props.submenu ? 'end' : 'bottom'),
11473
11490
  "onClick:outside": onClickOutside,
11474
11491
  "onKeydown": onKeydown
11475
11492
  }, scopeId), {
@@ -23191,6 +23208,8 @@ const VFooter = genericComponent()({
23191
23208
  let {
23192
23209
  slots
23193
23210
  } = _ref;
23211
+ const layoutItemStyles = ref();
23212
+ const layoutIsReady = shallowRef();
23194
23213
  const {
23195
23214
  themeClasses
23196
23215
  } = provideTheme(props);
@@ -23215,17 +23234,20 @@ const VFooter = genericComponent()({
23215
23234
  autoHeight.value = entries[0].target.clientHeight;
23216
23235
  });
23217
23236
  const height = computed(() => props.height === 'auto' ? autoHeight.value : parseInt(props.height, 10));
23218
- const {
23219
- layoutItemStyles,
23220
- layoutIsReady
23221
- } = useLayoutItem({
23222
- id: props.name,
23223
- order: computed(() => parseInt(props.order, 10)),
23224
- position: computed(() => 'bottom'),
23225
- layoutSize: height,
23226
- elementSize: computed(() => props.height === 'auto' ? undefined : height.value),
23227
- active: computed(() => props.app),
23228
- absolute: toRef(props, 'absolute')
23237
+ useToggleScope(() => props.app, () => {
23238
+ const layout = useLayoutItem({
23239
+ id: props.name,
23240
+ order: computed(() => parseInt(props.order, 10)),
23241
+ position: computed(() => 'bottom'),
23242
+ layoutSize: height,
23243
+ elementSize: computed(() => props.height === 'auto' ? undefined : height.value),
23244
+ active: computed(() => props.app),
23245
+ absolute: toRef(props, 'absolute')
23246
+ });
23247
+ watchEffect(() => {
23248
+ layoutItemStyles.value = layout.layoutItemStyles.value;
23249
+ layoutIsReady.value = layout.layoutIsReady;
23250
+ });
23229
23251
  });
23230
23252
  useRender(() => createVNode(props.tag, {
23231
23253
  "ref": resizeRef,
@@ -23234,7 +23256,7 @@ const VFooter = genericComponent()({
23234
23256
  height: convertToUnit(props.height)
23235
23257
  }, props.style]
23236
23258
  }, slots));
23237
- return props.app ? layoutIsReady : {};
23259
+ return props.app ? layoutIsReady.value : {};
23238
23260
  }
23239
23261
  });
23240
23262
 
@@ -25375,16 +25397,17 @@ const VSkeletonLoader = genericComponent()({
25375
25397
  const items = computed(() => genStructure(wrapInArray(props.type).join(',')));
25376
25398
  useRender(() => {
25377
25399
  const isLoading = !slots.default || props.loading;
25378
- return createVNode("div", {
25400
+ const loadingProps = props.boilerplate || !isLoading ? {} : {
25401
+ ariaLive: 'polite',
25402
+ ariaLabel: t(props.loadingText),
25403
+ role: 'alert'
25404
+ };
25405
+ return createVNode("div", mergeProps({
25379
25406
  "class": ['v-skeleton-loader', {
25380
25407
  'v-skeleton-loader--boilerplate': props.boilerplate
25381
25408
  }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value],
25382
- "style": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}],
25383
- "aria-busy": !props.boilerplate ? isLoading : undefined,
25384
- "aria-live": !props.boilerplate ? 'polite' : undefined,
25385
- "aria-label": !props.boilerplate ? t(props.loadingText) : undefined,
25386
- "role": !props.boilerplate ? 'alert' : undefined
25387
- }, [isLoading ? items.value : slots.default?.()]);
25409
+ "style": [backgroundColorStyles.value, isLoading ? dimensionStyles.value : {}]
25410
+ }, loadingProps), [isLoading ? items.value : slots.default?.()]);
25388
25411
  });
25389
25412
  return {};
25390
25413
  }
@@ -25417,14 +25440,14 @@ const VSlideGroupItem = genericComponent()({
25417
25440
  // Types
25418
25441
 
25419
25442
  function useCountdown(milliseconds) {
25420
- const time = shallowRef(milliseconds);
25443
+ const time = shallowRef(milliseconds());
25421
25444
  let timer = -1;
25422
25445
  function clear() {
25423
25446
  clearInterval(timer);
25424
25447
  }
25425
25448
  function reset() {
25426
25449
  clear();
25427
- nextTick(() => time.value = milliseconds);
25450
+ nextTick(() => time.value = milliseconds());
25428
25451
  }
25429
25452
  function start(el) {
25430
25453
  const style = el ? getComputedStyle(el) : {
@@ -25436,7 +25459,7 @@ function useCountdown(milliseconds) {
25436
25459
  const startTime = performance.now();
25437
25460
  timer = window.setInterval(() => {
25438
25461
  const elapsed = performance.now() - startTime + interval;
25439
- time.value = Math.max(milliseconds - elapsed, 0);
25462
+ time.value = Math.max(milliseconds() - elapsed, 0);
25440
25463
  if (time.value <= 0) clear();
25441
25464
  }, interval);
25442
25465
  }
@@ -25496,7 +25519,7 @@ const VSnackbar = genericComponent()({
25496
25519
  const {
25497
25520
  roundedClasses
25498
25521
  } = useRounded(props);
25499
- const countdown = useCountdown(Number(props.timeout));
25522
+ const countdown = useCountdown(() => Number(props.timeout));
25500
25523
  const overlay = ref();
25501
25524
  const timerRef = ref();
25502
25525
  const isHovering = shallowRef(false);
@@ -28175,7 +28198,7 @@ function createVuetify$1() {
28175
28198
  goTo
28176
28199
  };
28177
28200
  }
28178
- const version$1 = "3.7.0-beta.1-dev.2024-07-29";
28201
+ const version$1 = "3.7.0-beta.1-dev.2024-08-01";
28179
28202
  createVuetify$1.version = version$1;
28180
28203
 
28181
28204
  // Vue's inject() can only be used in setup
@@ -28200,7 +28223,7 @@ const createVuetify = function () {
28200
28223
  ...options
28201
28224
  });
28202
28225
  };
28203
- const version = "3.7.0-beta.1-dev.2024-07-29";
28226
+ const version = "3.7.0-beta.1-dev.2024-08-01";
28204
28227
  createVuetify.version = version;
28205
28228
 
28206
28229
  export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };