@vuetify/nightly 3.7.1-master.2024-09-01 → 3.7.1-master.2024-09-03

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 (41) hide show
  1. package/dist/json/importMap-labs.json +12 -12
  2. package/dist/json/importMap.json +144 -144
  3. package/dist/json/web-types.json +1 -1
  4. package/dist/vuetify-labs.css +2674 -2671
  5. package/dist/vuetify-labs.esm.js +34 -31
  6. package/dist/vuetify-labs.esm.js.map +1 -1
  7. package/dist/vuetify-labs.js +34 -31
  8. package/dist/vuetify-labs.min.css +2 -2
  9. package/dist/vuetify.css +3427 -3424
  10. package/dist/vuetify.d.ts +48 -48
  11. package/dist/vuetify.esm.js +34 -31
  12. package/dist/vuetify.esm.js.map +1 -1
  13. package/dist/vuetify.js +34 -31
  14. package/dist/vuetify.js.map +1 -1
  15. package/dist/vuetify.min.css +2 -2
  16. package/dist/vuetify.min.js +267 -267
  17. package/dist/vuetify.min.js.map +1 -1
  18. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs +3 -5
  19. package/lib/components/VBreadcrumbs/VBreadcrumbsItem.mjs.map +1 -1
  20. package/lib/components/VBtn/VBtn.mjs +3 -4
  21. package/lib/components/VBtn/VBtn.mjs.map +1 -1
  22. package/lib/components/VCard/VCard.mjs +3 -4
  23. package/lib/components/VCard/VCard.mjs.map +1 -1
  24. package/lib/components/VChip/VChip.mjs +2 -3
  25. package/lib/components/VChip/VChip.mjs.map +1 -1
  26. package/lib/components/VDialog/VDialog.css +4 -1
  27. package/lib/components/VDialog/VDialog.mjs +1 -2
  28. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  29. package/lib/components/VDialog/VDialog.sass +2 -1
  30. package/lib/components/VList/VListItem.mjs +3 -4
  31. package/lib/components/VList/VListItem.mjs.map +1 -1
  32. package/lib/composables/directiveComponent.mjs +1 -1
  33. package/lib/composables/directiveComponent.mjs.map +1 -1
  34. package/lib/composables/router.mjs +19 -9
  35. package/lib/composables/router.mjs.map +1 -1
  36. package/lib/directives/tooltip/index.mjs +1 -1
  37. package/lib/directives/tooltip/index.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/package.json +1 -1
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.1-master.2024-09-01
2
+ * Vuetify v3.7.1-master.2024-09-03
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -5393,10 +5393,14 @@
5393
5393
  return isLink?.value || hasEvent(attrs, 'click') || hasEvent(props, 'click');
5394
5394
  });
5395
5395
  if (typeof RouterLink === 'string' || !('useLink' in RouterLink)) {
5396
+ const href = vue.toRef(props, 'href');
5396
5397
  return {
5397
5398
  isLink,
5398
5399
  isClickable,
5399
- href: vue.toRef(props, 'href')
5400
+ href,
5401
+ linkProps: vue.reactive({
5402
+ href
5403
+ })
5400
5404
  };
5401
5405
  }
5402
5406
  // vue-router useLink `to` prop needs to be reactive and useLink will crash if undefined
@@ -5408,18 +5412,24 @@
5408
5412
  // Actual link needs to be undefined when to prop is not used
5409
5413
  const link = vue.computed(() => props.to ? routerLink : undefined);
5410
5414
  const route = useRoute();
5415
+ const isActive = vue.computed(() => {
5416
+ if (!link.value) return false;
5417
+ if (!props.exact) return link.value.isActive?.value ?? false;
5418
+ if (!route.value) return link.value.isExactActive?.value ?? false;
5419
+ return link.value.isExactActive?.value && deepEqual(link.value.route.value.query, route.value.query);
5420
+ });
5421
+ const href = vue.computed(() => props.to ? link.value?.route.value.href : props.href);
5411
5422
  return {
5412
5423
  isLink,
5413
5424
  isClickable,
5425
+ isActive,
5414
5426
  route: link.value?.route,
5415
5427
  navigate: link.value?.navigate,
5416
- isActive: vue.computed(() => {
5417
- if (!link.value) return false;
5418
- if (!props.exact) return link.value.isActive?.value ?? false;
5419
- if (!route.value) return link.value.isExactActive?.value ?? false;
5420
- return link.value.isExactActive?.value && deepEqual(link.value.route.value.query, route.value.query);
5421
- }),
5422
- href: vue.computed(() => props.to ? link.value?.route.value.href : props.href)
5428
+ href,
5429
+ linkProps: vue.reactive({
5430
+ href,
5431
+ 'aria-current': vue.computed(() => isActive.value ? 'page' : undefined)
5432
+ })
5423
5433
  };
5424
5434
  }
5425
5435
  const makeRouterProps = propsFactory({
@@ -5894,7 +5904,7 @@
5894
5904
  const hasPrepend = !!(props.prependIcon || slots.prepend);
5895
5905
  const hasAppend = !!(props.appendIcon || slots.append);
5896
5906
  const hasIcon = !!(props.icon && props.icon !== true);
5897
- return vue.withDirectives(vue.createVNode(Tag, {
5907
+ return vue.withDirectives(vue.createVNode(Tag, vue.mergeProps({
5898
5908
  "type": Tag === 'a' ? undefined : 'button',
5899
5909
  "class": ['v-btn', group?.selectedClass.value, {
5900
5910
  'v-btn--active': isActive.value,
@@ -5911,11 +5921,10 @@
5911
5921
  "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
5912
5922
  "aria-busy": props.loading ? true : undefined,
5913
5923
  "disabled": isDisabled.value || undefined,
5914
- "href": link.href.value,
5915
5924
  "tabindex": props.loading || props.readonly ? -1 : undefined,
5916
5925
  "onClick": onClick,
5917
5926
  "value": valueAttr.value
5918
- }, {
5927
+ }, link.linkProps), {
5919
5928
  default: () => [genOverlays(true, 'v-btn'), !props.icon && hasPrepend && vue.createVNode("span", {
5920
5929
  "key": "prepend",
5921
5930
  "class": "v-btn__prepend"
@@ -8178,7 +8187,7 @@
8178
8187
  const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);
8179
8188
  const hasPrepend = !!(hasPrependMedia || slots.prepend);
8180
8189
  const hasColor = !group || group.isSelected.value;
8181
- return isActive.value && vue.withDirectives(vue.createVNode(Tag, {
8190
+ return isActive.value && vue.withDirectives(vue.createVNode(Tag, vue.mergeProps({
8182
8191
  "class": ['v-chip', {
8183
8192
  'v-chip--disabled': props.disabled,
8184
8193
  'v-chip--label': props.label,
@@ -8189,11 +8198,10 @@
8189
8198
  "style": [hasColor ? colorStyles.value : undefined, props.style],
8190
8199
  "disabled": props.disabled || undefined,
8191
8200
  "draggable": props.draggable,
8192
- "href": link.href.value,
8193
8201
  "tabindex": isClickable.value ? 0 : undefined,
8194
8202
  "onClick": onClick,
8195
8203
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
8196
- }, {
8204
+ }, link.linkProps), {
8197
8205
  default: () => [genOverlays(isClickable.value, 'v-chip'), hasFilter && vue.createVNode(VExpandXTransition, {
8198
8206
  "key": "filter"
8199
8207
  }, {
@@ -9238,7 +9246,7 @@
9238
9246
  if (props.activeColor) {
9239
9247
  deprecate('active-color', ['color', 'base-color']);
9240
9248
  }
9241
- return vue.withDirectives(vue.createVNode(Tag, {
9249
+ return vue.withDirectives(vue.createVNode(Tag, vue.mergeProps({
9242
9250
  "class": ['v-list-item', {
9243
9251
  'v-list-item--active': isActive.value,
9244
9252
  'v-list-item--disabled': props.disabled,
@@ -9249,11 +9257,10 @@
9249
9257
  [`${props.activeClass}`]: props.activeClass && isActive.value
9250
9258
  }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
9251
9259
  "style": [colorStyles.value, dimensionStyles.value, props.style],
9252
- "href": link.href.value,
9253
9260
  "tabindex": isClickable.value ? list ? -2 : 0 : undefined,
9254
9261
  "onClick": onClick,
9255
9262
  "onKeydown": isClickable.value && !isLink.value && onKeyDown
9256
- }, {
9263
+ }, link.linkProps), {
9257
9264
  default: () => [genOverlays(isClickable.value || isActive.value, 'v-list-item'), hasPrepend && vue.createVNode("div", {
9258
9265
  "key": "prepend",
9259
9266
  "class": "v-list-item__prepend"
@@ -14009,8 +14016,7 @@
14009
14016
  useRender(() => {
14010
14017
  const overlayProps = VOverlay.filterProps(props);
14011
14018
  const activatorProps = vue.mergeProps({
14012
- 'aria-haspopup': 'dialog',
14013
- 'aria-expanded': String(isActive.value)
14019
+ 'aria-haspopup': 'dialog'
14014
14020
  }, props.activatorProps);
14015
14021
  const contentProps = vue.mergeProps({
14016
14022
  tabindex: -1
@@ -14141,12 +14147,10 @@
14141
14147
  "style": [textColorStyles.value, props.style],
14142
14148
  "aria-current": isActive.value ? 'page' : undefined
14143
14149
  }, {
14144
- default: () => [!link.isLink.value ? slots.default?.() ?? props.title : vue.createVNode("a", {
14150
+ default: () => [!link.isLink.value ? slots.default?.() ?? props.title : vue.createVNode("a", vue.mergeProps({
14145
14151
  "class": "v-breadcrumbs-item--link",
14146
- "href": link.href.value,
14147
- "aria-current": isActive.value ? 'page' : undefined,
14148
14152
  "onClick": link.navigate
14149
- }, [slots.default?.() ?? props.title])]
14153
+ }, link.linkProps), [slots.default?.() ?? props.title])]
14150
14154
  });
14151
14155
  });
14152
14156
  return {};
@@ -14522,7 +14526,7 @@
14522
14526
  const hasImage = !!(slots.image || props.image);
14523
14527
  const hasCardItem = hasHeader || hasPrepend || hasAppend;
14524
14528
  const hasText = !!(slots.text || props.text != null);
14525
- return vue.withDirectives(vue.createVNode(Tag, {
14529
+ return vue.withDirectives(vue.createVNode(Tag, vue.mergeProps({
14526
14530
  "class": ['v-card', {
14527
14531
  'v-card--disabled': props.disabled,
14528
14532
  'v-card--flat': props.flat,
@@ -14530,10 +14534,9 @@
14530
14534
  'v-card--link': isClickable.value
14531
14535
  }, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, variantClasses.value, props.class],
14532
14536
  "style": [colorStyles.value, dimensionStyles.value, locationStyles.value, props.style],
14533
- "href": link.href.value,
14534
14537
  "onClick": isClickable.value && link.navigate,
14535
14538
  "tabindex": props.disabled ? -1 : undefined
14536
- }, {
14539
+ }, link.linkProps), {
14537
14540
  default: () => [hasImage && vue.createVNode("div", {
14538
14541
  "key": "image",
14539
14542
  "class": "v-card__image"
@@ -28071,7 +28074,7 @@
28071
28074
  const value = isObject(binding.value) ? binding.value : {};
28072
28075
 
28073
28076
  // Get the children from the props or directive value, or the element's children
28074
- const children = () => text ?? el.innerHTML;
28077
+ const children = () => text ?? el.textContent;
28075
28078
 
28076
28079
  // If vnode.ctx is the same as the instance, then we're bound to a plain element
28077
28080
  // and need to find the nearest parent component instance to inherit provides from
@@ -28129,7 +28132,7 @@
28129
28132
  const Tooltip = useDirectiveComponent(VTooltip, binding => {
28130
28133
  return {
28131
28134
  activator: 'parent',
28132
- location: binding.arg?.replace('-', ' ') ?? 'top',
28135
+ location: binding.arg?.replace('-', ' '),
28133
28136
  text: typeof binding.value === 'boolean' ? undefined : binding.value
28134
28137
  };
28135
28138
  });
@@ -28235,7 +28238,7 @@
28235
28238
  goTo
28236
28239
  };
28237
28240
  }
28238
- const version$1 = "3.7.1-master.2024-09-01";
28241
+ const version$1 = "3.7.1-master.2024-09-03";
28239
28242
  createVuetify$1.version = version$1;
28240
28243
 
28241
28244
  // Vue's inject() can only be used in setup
@@ -28260,7 +28263,7 @@
28260
28263
  ...options
28261
28264
  });
28262
28265
  };
28263
- const version = "3.7.1-master.2024-09-01";
28266
+ const version = "3.7.1-master.2024-09-03";
28264
28267
  createVuetify.version = version;
28265
28268
 
28266
28269
  exports.blueprints = index;