@vuetify/nightly 3.7.12-master.2025-02-18 → 3.7.12-master.2025-02-19

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 (46) hide show
  1. package/CHANGELOG.md +12 -3
  2. package/dist/json/attributes.json +2555 -2555
  3. package/dist/json/importMap-labs.json +38 -38
  4. package/dist/json/importMap.json +152 -152
  5. package/dist/json/web-types.json +4785 -4785
  6. package/dist/vuetify-labs.css +4769 -4769
  7. package/dist/vuetify-labs.d.ts +17 -8
  8. package/dist/vuetify-labs.esm.js +23 -30
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +23 -30
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +5007 -5007
  13. package/dist/vuetify.d.ts +74 -65
  14. package/dist/vuetify.esm.js +14 -20
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +14 -20
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +1056 -1057
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VInput/VInput.mjs +2 -2
  22. package/lib/components/VInput/VInput.mjs.map +1 -1
  23. package/lib/components/VList/VList.mjs +1 -1
  24. package/lib/components/VList/VList.mjs.map +1 -1
  25. package/lib/components/VList/VListItem.mjs +2 -1
  26. package/lib/components/VList/VListItem.mjs.map +1 -1
  27. package/lib/components/VList/index.d.mts +13 -1
  28. package/lib/components/VOtpInput/VOtpInput.mjs +2 -2
  29. package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
  30. package/lib/components/VStepper/VStepper.mjs +2 -2
  31. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  32. package/lib/components/VTimeline/VTimeline.mjs +2 -2
  33. package/lib/components/VTimeline/VTimeline.mjs.map +1 -1
  34. package/lib/components/index.d.mts +17 -8
  35. package/lib/composables/list-items.mjs +2 -3
  36. package/lib/composables/list-items.mjs.map +1 -1
  37. package/lib/entry-bundler.mjs +1 -1
  38. package/lib/framework.mjs +1 -1
  39. package/lib/index.d.mts +57 -57
  40. package/lib/labs/VFileUpload/VFileUpload.mjs +2 -2
  41. package/lib/labs/VFileUpload/VFileUpload.mjs.map +1 -1
  42. package/lib/labs/VTreeview/VTreeviewItem.mjs +9 -11
  43. package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
  44. package/lib/util/helpers.mjs +3 -9
  45. package/lib/util/helpers.mjs.map +1 -1
  46. package/package.json +1 -1
@@ -3,7 +3,7 @@ import { Ref, DeepReadonly, ComponentPropsOptions, ExtractPropTypes, VNodeChild,
3
3
  // @ts-ignore
4
4
  import * as vue_router from 'vue-router';
5
5
  // @ts-ignore
6
- import { RouteLocationRaw } from 'vue-router';
6
+ import { RouteLocationRaw, useLink } from 'vue-router';
7
7
 
8
8
  interface DateAdapter<T = unknown> {
9
9
  date(value?: any): T | null;
@@ -4083,6 +4083,19 @@ declare function connectedLocationStrategy(data: LocationStrategyData, props: St
4083
4083
  } | undefined;
4084
4084
  };
4085
4085
 
4086
+ interface LinkProps {
4087
+ href: string | undefined;
4088
+ replace: boolean | undefined;
4089
+ to: RouteLocationRaw | undefined;
4090
+ exact: boolean | undefined;
4091
+ }
4092
+ interface UseLink extends Omit<Partial<ReturnType<typeof useLink>>, 'href'> {
4093
+ isLink: ComputedRef<boolean>;
4094
+ isClickable: ComputedRef<boolean>;
4095
+ href: Ref<string | undefined>;
4096
+ linkProps: Record<string, string | undefined>;
4097
+ }
4098
+
4086
4099
  type ListItemSlot = {
4087
4100
  isActive: boolean;
4088
4101
  isOpen: boolean;
@@ -4199,6 +4212,7 @@ declare const VListItem: {
4199
4212
  getPath: (id: unknown) => unknown[];
4200
4213
  };
4201
4214
  id: vue.ComputedRef<{} | null>;
4215
+ link: UseLink;
4202
4216
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
4203
4217
  click: (e: MouseEvent | KeyboardEvent) => true;
4204
4218
  }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
@@ -4393,6 +4407,7 @@ declare const VListItem: {
4393
4407
  getPath: (id: unknown) => unknown[];
4394
4408
  };
4395
4409
  id: vue.ComputedRef<{} | null>;
4410
+ link: UseLink;
4396
4411
  }, {}, {}, {}, {
4397
4412
  replace: boolean;
4398
4413
  link: boolean;
@@ -4509,6 +4524,7 @@ declare const VListItem: {
4509
4524
  getPath: (id: unknown) => unknown[];
4510
4525
  };
4511
4526
  id: vue.ComputedRef<{} | null>;
4527
+ link: UseLink;
4512
4528
  }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
4513
4529
  click: (e: MouseEvent | KeyboardEvent) => true;
4514
4530
  }, string, {
@@ -13203,13 +13219,6 @@ declare const VBottomSheet: {
13203
13219
  }>>;
13204
13220
  type VBottomSheet = InstanceType<typeof VBottomSheet>;
13205
13221
 
13206
- interface LinkProps {
13207
- href: string | undefined;
13208
- replace: boolean | undefined;
13209
- to: RouteLocationRaw | undefined;
13210
- exact: boolean | undefined;
13211
- }
13212
-
13213
13222
  type InternalBreadcrumbItem = Partial<LinkProps> & {
13214
13223
  title: string;
13215
13224
  disabled?: boolean;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.12-master.2025-02-18
2
+ * Vuetify v3.7.12-master.2025-02-19
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -226,10 +226,9 @@ function has(obj, key) {
226
226
  // Array of keys
227
227
  function pick(obj, paths) {
228
228
  const found = {};
229
- const keys = new Set(Object.keys(obj));
230
- for (const path of paths) {
231
- if (keys.has(path)) {
232
- found[path] = obj[path];
229
+ for (const key of paths) {
230
+ if (Object.hasOwn(obj, key)) {
231
+ found[key] = obj[key];
233
232
  }
234
233
  }
235
234
  return found;
@@ -258,11 +257,6 @@ function omit(obj, exclude) {
258
257
  exclude.forEach(prop => delete clone[prop]);
259
258
  return clone;
260
259
  }
261
- function only(obj, include) {
262
- const clone = {};
263
- include.forEach(prop => clone[prop] = obj[prop]);
264
- return clone;
265
- }
266
260
  const onRE = /^on[^a-z]/;
267
261
  const isOn = key => onRE.test(key);
268
262
  const bubblingEvents = ['onAfterscriptexecute', 'onAnimationcancel', 'onAnimationend', 'onAnimationiteration', 'onAnimationstart', 'onAuxclick', 'onBeforeinput', 'onBeforescriptexecute', 'onChange', 'onClick', 'onCompositionend', 'onCompositionstart', 'onCompositionupdate', 'onContextmenu', 'onCopy', 'onCut', 'onDblclick', 'onFocusin', 'onFocusout', 'onFullscreenchange', 'onFullscreenerror', 'onGesturechange', 'onGestureend', 'onGesturestart', 'onGotpointercapture', 'onInput', 'onKeydown', 'onKeypress', 'onKeyup', 'onLostpointercapture', 'onMousedown', 'onMousemove', 'onMouseout', 'onMouseover', 'onMouseup', 'onMousewheel', 'onPaste', 'onPointercancel', 'onPointerdown', 'onPointerenter', 'onPointerleave', 'onPointermove', 'onPointerout', 'onPointerover', 'onPointerup', 'onReset', 'onSelect', 'onSubmit', 'onTouchcancel', 'onTouchend', 'onTouchmove', 'onTouchstart', 'onTransitioncancel', 'onTransitionend', 'onTransitionrun', 'onTransitionstart', 'onWheel'];
@@ -6893,7 +6887,7 @@ const makeVInputProps = propsFactory({
6893
6887
  'onClick:append': EventProp(),
6894
6888
  ...makeComponentProps(),
6895
6889
  ...makeDensityProps(),
6896
- ...only(makeDimensionProps(), ['maxWidth', 'minWidth', 'width']),
6890
+ ...pick(makeDimensionProps(), ['maxWidth', 'minWidth', 'width']),
6897
6891
  ...makeThemeProps(),
6898
6892
  ...makeValidationProps()
6899
6893
  }, 'VInput');
@@ -9183,7 +9177,8 @@ const VListItem = genericComponent()({
9183
9177
  list,
9184
9178
  select,
9185
9179
  root,
9186
- id: uid
9180
+ id: uid,
9181
+ link
9187
9182
  };
9188
9183
  }
9189
9184
  });
@@ -9451,7 +9446,6 @@ function useItems(props) {
9451
9446
  function transformIn(value) {
9452
9447
  // Cache unrefed values outside the loop,
9453
9448
  // proxy getters can be slow when you call them a billion times
9454
- const _value = toRaw(value);
9455
9449
  const _items = itemsMap.value;
9456
9450
  const _allItems = items.value;
9457
9451
  const _keylessItems = keylessItems.value;
@@ -9461,7 +9455,7 @@ function useItems(props) {
9461
9455
  const valueComparator = props.valueComparator || deepEqual;
9462
9456
  const _props = pick(props, ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'returnObject', 'valueComparator']);
9463
9457
  const returnValue = [];
9464
- main: for (const v of _value) {
9458
+ main: for (const v of value) {
9465
9459
  // When the model value is null, return an InternalItem
9466
9460
  // based on null only if null is one of the items
9467
9461
  if (!_hasNullItem && v === null) continue;
@@ -9707,7 +9701,7 @@ const VList = genericComponent()({
9707
9701
  'v-list--slim': props.slim
9708
9702
  }, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class],
9709
9703
  "style": [backgroundColorStyles.value, dimensionStyles.value, props.style],
9710
- "tabindex": props.disabled || isFocused.value ? -1 : 0,
9704
+ "tabindex": props.disabled ? -1 : 0,
9711
9705
  "role": "listbox",
9712
9706
  "aria-activedescendant": undefined,
9713
9707
  "onFocusin": onFocusin,
@@ -24438,7 +24432,7 @@ const makeVOtpInputProps = propsFactory({
24438
24432
  },
24439
24433
  ...makeDimensionProps(),
24440
24434
  ...makeFocusProps(),
24441
- ...only(makeVFieldProps({
24435
+ ...pick(makeVFieldProps({
24442
24436
  variant: 'outlined'
24443
24437
  }), ['baseColor', 'bgColor', 'class', 'color', 'disabled', 'error', 'loading', 'rounded', 'style', 'theme', 'variant'])
24444
24438
  }, 'VOtpInput');
@@ -26426,7 +26420,7 @@ const makeVStepperProps = propsFactory({
26426
26420
  selectedClass: 'v-stepper-item--selected'
26427
26421
  }),
26428
26422
  ...makeVSheetProps(),
26429
- ...only(makeVStepperActionsProps(), ['prevText', 'nextText'])
26423
+ ...pick(makeVStepperActionsProps(), ['prevText', 'nextText'])
26430
26424
  }, 'VStepper');
26431
26425
  const VStepper = genericComponent()({
26432
26426
  name: 'VStepper',
@@ -27508,7 +27502,7 @@ const makeVTimelineProps = propsFactory({
27508
27502
  type: String,
27509
27503
  validator: v => ['start', 'end', 'both'].includes(v)
27510
27504
  },
27511
- ...only(makeVTimelineItemProps({
27505
+ ...pick(makeVTimelineItemProps({
27512
27506
  lineInset: 0
27513
27507
  }), ['dotColor', 'fillDot', 'hideOpposite', 'iconColor', 'lineInset', 'size']),
27514
27508
  ...makeComponentProps(),
@@ -28468,7 +28462,7 @@ const makeVFileUploadProps = propsFactory({
28468
28462
  name: String,
28469
28463
  ...makeDelayProps(),
28470
28464
  ...makeDensityProps(),
28471
- ...only(makeVDividerProps({
28465
+ ...pick(makeVDividerProps({
28472
28466
  length: 150
28473
28467
  }), ['length', 'thickness', 'opacity']),
28474
28468
  ...makeVSheetProps()
@@ -30139,22 +30133,21 @@ const VTreeviewItem = genericComponent()({
30139
30133
  props: makeVTreeviewItemProps(),
30140
30134
  setup(props, _ref) {
30141
30135
  let {
30142
- attrs,
30143
- slots,
30144
- emit
30136
+ slots
30145
30137
  } = _ref;
30146
- const link = useLink(props, attrs);
30138
+ const visibleIds = inject$1(VTreeviewSymbol, {
30139
+ visibleIds: ref()
30140
+ }).visibleIds;
30147
30141
  const vListItemRef = ref();
30148
30142
  const isActivatableGroupActivator = computed(() => vListItemRef.value?.root.activatable.value && vListItemRef.value?.isGroupActivator);
30149
- const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!vListItemRef.value?.list || isActivatableGroupActivator.value));
30143
+ const vListItemRefIsClickable = computed(() => vListItemRef.value?.link.isClickable.value || props.value != null && !!vListItemRef.value?.list);
30144
+ const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || vListItemRefIsClickable.value || isActivatableGroupActivator.value));
30145
+ const isFiltered = computed(() => visibleIds.value && !visibleIds.value.has(toRaw(vListItemRef.value?.id)));
30150
30146
  function activateGroupActivator(e) {
30151
30147
  if (isClickable.value && isActivatableGroupActivator.value) {
30152
30148
  vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
30153
30149
  }
30154
30150
  }
30155
- const visibleIds = inject$1(VTreeviewSymbol, {
30156
- visibleIds: ref()
30157
- }).visibleIds;
30158
30151
  useRender(() => {
30159
30152
  const listItemProps = omit(VListItem.filterProps(props), ['onClick']);
30160
30153
  const hasPrepend = slots.prepend || props.toggleIcon;
@@ -30164,7 +30157,7 @@ const VTreeviewItem = genericComponent()({
30164
30157
  "active": vListItemRef.value?.isActivated,
30165
30158
  "class": ['v-treeview-item', {
30166
30159
  'v-treeview-item--activatable-group-activator': isActivatableGroupActivator.value,
30167
- 'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(toRaw(vListItemRef.value?.id))
30160
+ 'v-treeview-item--filtered': isFiltered.value
30168
30161
  }, props.class],
30169
30162
  "ripple": false,
30170
30163
  "onClick": props.onClick ?? activateGroupActivator
@@ -30966,7 +30959,7 @@ function createVuetify$1() {
30966
30959
  goTo
30967
30960
  };
30968
30961
  }
30969
- const version$1 = "3.7.12-master.2025-02-18";
30962
+ const version$1 = "3.7.12-master.2025-02-19";
30970
30963
  createVuetify$1.version = version$1;
30971
30964
 
30972
30965
  // Vue's inject() can only be used in setup
@@ -31219,7 +31212,7 @@ var index = /*#__PURE__*/Object.freeze({
31219
31212
 
31220
31213
  /* eslint-disable local-rules/sort-imports */
31221
31214
 
31222
- const version = "3.7.12-master.2025-02-18";
31215
+ const version = "3.7.12-master.2025-02-19";
31223
31216
 
31224
31217
  /* eslint-disable local-rules/sort-imports */
31225
31218