@vuetify/nightly 3.7.4-master.2024-11-24 → 3.7.4-master.2024-11-28

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 (56) hide show
  1. package/dist/json/attributes.json +2929 -2929
  2. package/dist/json/importMap-labs.json +18 -18
  3. package/dist/json/importMap.json +144 -144
  4. package/dist/json/web-types.json +5611 -5611
  5. package/dist/vuetify-labs.css +2603 -2603
  6. package/dist/vuetify-labs.d.ts +199 -199
  7. package/dist/vuetify-labs.esm.js +45 -42
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +45 -42
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +1011 -1011
  12. package/dist/vuetify.d.ts +177 -177
  13. package/dist/vuetify.esm.js +42 -39
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +42 -39
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +26 -25
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VAutocomplete/VAutocomplete.mjs +4 -4
  21. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  22. package/lib/components/VAutocomplete/index.d.mts +28 -28
  23. package/lib/components/VChip/VChip.mjs +1 -1
  24. package/lib/components/VChip/VChip.mjs.map +1 -1
  25. package/lib/components/VChip/index.d.mts +9 -9
  26. package/lib/components/VCombobox/VCombobox.mjs +4 -4
  27. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  28. package/lib/components/VCombobox/index.d.mts +28 -28
  29. package/lib/components/VDatePicker/VDatePickerHeader.mjs +2 -1
  30. package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
  31. package/lib/components/VDatePicker/index.d.mts +6 -6
  32. package/lib/components/VList/VList.mjs +3 -2
  33. package/lib/components/VList/VList.mjs.map +1 -1
  34. package/lib/components/VList/index.d.mts +12 -12
  35. package/lib/components/VSelect/VSelect.mjs +3 -3
  36. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  37. package/lib/components/VSelect/index.d.mts +28 -28
  38. package/lib/components/VStepper/VStepper.mjs +5 -4
  39. package/lib/components/VStepper/VStepper.mjs.map +1 -1
  40. package/lib/components/VStepper/VStepperItem.mjs +5 -4
  41. package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
  42. package/lib/components/VStepper/index.d.mts +58 -52
  43. package/lib/components/index.d.mts +126 -126
  44. package/lib/composables/form.mjs +7 -2
  45. package/lib/composables/form.mjs.map +1 -1
  46. package/lib/composables/validation.mjs +10 -12
  47. package/lib/composables/validation.mjs.map +1 -1
  48. package/lib/entry-bundler.mjs +1 -1
  49. package/lib/framework.mjs +1 -1
  50. package/lib/index.d.mts +51 -51
  51. package/lib/labs/VNumberInput/VNumberInput.mjs +3 -3
  52. package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
  53. package/lib/labs/VStepperVertical/index.d.mts +51 -51
  54. package/lib/labs/VTreeview/index.d.mts +22 -22
  55. package/lib/labs/components.d.mts +73 -73
  56. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.4-master.2024-11-24
2
+ * Vuetify v3.7.4-master.2024-11-28
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -6668,8 +6668,13 @@ function createForm(props) {
6668
6668
  resetValidation
6669
6669
  };
6670
6670
  }
6671
- function useForm() {
6672
- return inject$1(FormKey, null);
6671
+ function useForm(props) {
6672
+ const form = inject$1(FormKey, null);
6673
+ return {
6674
+ ...form,
6675
+ isReadonly: computed(() => !!(props?.readonly ?? form?.isReadonly.value)),
6676
+ isDisabled: computed(() => !!(props?.disabled ?? form?.isDisabled.value))
6677
+ };
6673
6678
  }
6674
6679
 
6675
6680
  // Composables
@@ -6710,17 +6715,15 @@ function useValidation(props) {
6710
6715
  let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getUid();
6711
6716
  const model = useProxiedModel(props, 'modelValue');
6712
6717
  const validationModel = computed(() => props.validationValue === undefined ? model.value : props.validationValue);
6713
- const form = useForm();
6718
+ const form = useForm(props);
6714
6719
  const internalErrorMessages = ref([]);
6715
6720
  const isPristine = shallowRef(true);
6716
6721
  const isDirty = computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));
6717
- const isDisabled = computed(() => !!(props.disabled ?? form?.isDisabled.value));
6718
- const isReadonly = computed(() => !!(props.readonly ?? form?.isReadonly.value));
6719
6722
  const errorMessages = computed(() => {
6720
6723
  return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, +props.maxErrors)) : internalErrorMessages.value;
6721
6724
  });
6722
6725
  const validateOn = computed(() => {
6723
- let value = (props.validateOn ?? form?.validateOn.value) || 'input';
6726
+ let value = (props.validateOn ?? form.validateOn?.value) || 'input';
6724
6727
  if (value === 'lazy') value = 'input lazy';
6725
6728
  if (value === 'eager') value = 'input eager';
6726
6729
  const set = new Set(value?.split(' ') ?? []);
@@ -6746,14 +6749,14 @@ function useValidation(props) {
6746
6749
  return {
6747
6750
  [`${name}--error`]: isValid.value === false,
6748
6751
  [`${name}--dirty`]: isDirty.value,
6749
- [`${name}--disabled`]: isDisabled.value,
6750
- [`${name}--readonly`]: isReadonly.value
6752
+ [`${name}--disabled`]: form.isDisabled.value,
6753
+ [`${name}--readonly`]: form.isReadonly.value
6751
6754
  };
6752
6755
  });
6753
6756
  const vm = getCurrentInstance('validation');
6754
6757
  const uid = computed(() => props.name ?? unref(id));
6755
6758
  onBeforeMount(() => {
6756
- form?.register({
6759
+ form.register?.({
6757
6760
  id: uid.value,
6758
6761
  vm,
6759
6762
  validate,
@@ -6762,13 +6765,13 @@ function useValidation(props) {
6762
6765
  });
6763
6766
  });
6764
6767
  onBeforeUnmount(() => {
6765
- form?.unregister(uid.value);
6768
+ form.unregister?.(uid.value);
6766
6769
  });
6767
6770
  onMounted(async () => {
6768
6771
  if (!validateOn.value.lazy) {
6769
6772
  await validate(!validateOn.value.eager);
6770
6773
  }
6771
- form?.update(uid.value, isValid.value, errorMessages.value);
6774
+ form.update?.(uid.value, isValid.value, errorMessages.value);
6772
6775
  });
6773
6776
  useToggleScope(() => validateOn.value.input || validateOn.value.invalidInput && isValid.value === false, () => {
6774
6777
  watch(validationModel, () => {
@@ -6788,7 +6791,7 @@ function useValidation(props) {
6788
6791
  });
6789
6792
  });
6790
6793
  watch([isValid, errorMessages], () => {
6791
- form?.update(uid.value, isValid.value, errorMessages.value);
6794
+ form.update?.(uid.value, isValid.value, errorMessages.value);
6792
6795
  });
6793
6796
  async function reset() {
6794
6797
  model.value = null;
@@ -6829,8 +6832,8 @@ function useValidation(props) {
6829
6832
  return {
6830
6833
  errorMessages,
6831
6834
  isDirty,
6832
- isDisabled,
6833
- isReadonly,
6835
+ isDisabled: form.isDisabled,
6836
+ isReadonly: form.isReadonly,
6834
6837
  isPristine,
6835
6838
  isValid,
6836
6839
  isValidating,
@@ -7833,7 +7836,7 @@ const makeVChipProps = propsFactory({
7833
7836
  draggable: Boolean,
7834
7837
  filter: Boolean,
7835
7838
  filterIcon: {
7836
- type: String,
7839
+ type: IconValue,
7837
7840
  default: '$complete'
7838
7841
  },
7839
7842
  label: Boolean,
@@ -9439,8 +9442,8 @@ const makeVListProps = propsFactory({
9439
9442
  activeClass: String,
9440
9443
  bgColor: String,
9441
9444
  disabled: Boolean,
9442
- expandIcon: String,
9443
- collapseIcon: String,
9445
+ expandIcon: IconValue,
9446
+ collapseIcon: IconValue,
9444
9447
  lines: {
9445
9448
  type: [Boolean, String],
9446
9449
  default: 'one'
@@ -12440,7 +12443,7 @@ const VSelect = genericComponent()({
12440
12443
  const counterValue = computed(() => {
12441
12444
  return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;
12442
12445
  });
12443
- const form = useForm();
12446
+ const form = useForm(props);
12444
12447
  const selectedValues = computed(() => model.value.map(selection => selection.value));
12445
12448
  const isFocused = shallowRef(false);
12446
12449
  const label = computed(() => menu.value ? props.closeText : props.openText);
@@ -12452,7 +12455,7 @@ const VSelect = genericComponent()({
12452
12455
  }
12453
12456
  return items.value;
12454
12457
  });
12455
- const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
12458
+ const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
12456
12459
  const computedMenuProps = computed(() => {
12457
12460
  return {
12458
12461
  ...props.menuProps,
@@ -12479,7 +12482,7 @@ const VSelect = genericComponent()({
12479
12482
  }
12480
12483
  }
12481
12484
  function onKeydown(e) {
12482
- if (!e.key || props.readonly || form?.isReadonly.value) return;
12485
+ if (!e.key || form.isReadonly.value) return;
12483
12486
  if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
12484
12487
  e.preventDefault();
12485
12488
  }
@@ -12957,7 +12960,7 @@ const VAutocomplete = genericComponent()({
12957
12960
  const counterValue = computed(() => {
12958
12961
  return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;
12959
12962
  });
12960
- const form = useForm();
12963
+ const form = useForm(props);
12961
12964
  const {
12962
12965
  filteredItems,
12963
12966
  getMatches
@@ -12975,7 +12978,7 @@ const VAutocomplete = genericComponent()({
12975
12978
  const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
12976
12979
  return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
12977
12980
  });
12978
- const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
12981
+ const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
12979
12982
  const listRef = ref();
12980
12983
  const listEvents = useScrolling(listRef, vTextFieldRef);
12981
12984
  function onClear(e) {
@@ -13002,7 +13005,7 @@ const VAutocomplete = genericComponent()({
13002
13005
  }
13003
13006
  }
13004
13007
  function onKeydown(e) {
13005
- if (props.readonly || form?.isReadonly.value) return;
13008
+ if (form.isReadonly.value) return;
13006
13009
  const selectionStart = vTextFieldRef.value.selectionStart;
13007
13010
  const length = model.value.length;
13008
13011
  if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
@@ -13179,7 +13182,7 @@ const VAutocomplete = genericComponent()({
13179
13182
  'v-autocomplete--selecting-index': selectionIndex.value > -1
13180
13183
  }, props.class],
13181
13184
  "style": props.style,
13182
- "readonly": props.readonly,
13185
+ "readonly": form.isReadonly.value,
13183
13186
  "placeholder": isDirty ? undefined : props.placeholder,
13184
13187
  "onClick:clear": onClear,
13185
13188
  "onMousedown:control": onMousedownControl,
@@ -16798,7 +16801,7 @@ const VCombobox = genericComponent()({
16798
16801
  const transformed = transformOut(v);
16799
16802
  return props.multiple ? transformed : transformed[0] ?? null;
16800
16803
  });
16801
- const form = useForm();
16804
+ const form = useForm(props);
16802
16805
  const hasChips = computed(() => !!(props.chips || slots.chip));
16803
16806
  const hasSelectionSlot = computed(() => hasChips.value || !!slots.selection);
16804
16807
  const _search = shallowRef(!props.multiple && !hasSelectionSlot.value ? model.value[0]?.title ?? '' : '');
@@ -16858,7 +16861,7 @@ const VCombobox = genericComponent()({
16858
16861
  const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
16859
16862
  return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
16860
16863
  });
16861
- const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
16864
+ const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
16862
16865
  const listRef = ref();
16863
16866
  const listEvents = useScrolling(listRef, vTextFieldRef);
16864
16867
  function onClear(e) {
@@ -16886,7 +16889,7 @@ const VCombobox = genericComponent()({
16886
16889
  }
16887
16890
  // eslint-disable-next-line complexity
16888
16891
  function onKeydown(e) {
16889
- if (isComposingIgnoreKey(e) || props.readonly || form?.isReadonly.value) return;
16892
+ if (isComposingIgnoreKey(e) || form.isReadonly.value) return;
16890
16893
  const selectionStart = vTextFieldRef.value.selectionStart;
16891
16894
  const length = model.value.length;
16892
16895
  if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
@@ -17058,7 +17061,7 @@ const VCombobox = genericComponent()({
17058
17061
  [`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
17059
17062
  }, props.class],
17060
17063
  "style": props.style,
17061
- "readonly": props.readonly,
17064
+ "readonly": form.isReadonly.value,
17062
17065
  "placeholder": isDirty ? undefined : props.placeholder,
17063
17066
  "onClick:clear": onClear,
17064
17067
  "onMousedown:control": onMousedownControl,
@@ -21418,7 +21421,7 @@ const VDatePickerControls = genericComponent()({
21418
21421
  // Types
21419
21422
 
21420
21423
  const makeVDatePickerHeaderProps = propsFactory({
21421
- appendIcon: String,
21424
+ appendIcon: IconValue,
21422
21425
  color: String,
21423
21426
  header: String,
21424
21427
  transition: String,
@@ -26070,20 +26073,20 @@ const makeStepperItemProps = propsFactory({
26070
26073
  subtitle: String,
26071
26074
  complete: Boolean,
26072
26075
  completeIcon: {
26073
- type: String,
26076
+ type: IconValue,
26074
26077
  default: '$complete'
26075
26078
  },
26076
26079
  editable: Boolean,
26077
26080
  editIcon: {
26078
- type: String,
26081
+ type: IconValue,
26079
26082
  default: '$edit'
26080
26083
  },
26081
26084
  error: Boolean,
26082
26085
  errorIcon: {
26083
- type: String,
26086
+ type: IconValue,
26084
26087
  default: '$error'
26085
26088
  },
26086
- icon: String,
26089
+ icon: IconValue,
26087
26090
  ripple: {
26088
26091
  type: [Boolean, Object],
26089
26092
  default: true
@@ -26244,10 +26247,10 @@ const VStepperWindowItem = genericComponent()({
26244
26247
  const makeStepperProps = propsFactory({
26245
26248
  altLabels: Boolean,
26246
26249
  bgColor: String,
26247
- completeIcon: String,
26248
- editIcon: String,
26250
+ completeIcon: IconValue,
26251
+ editIcon: IconValue,
26249
26252
  editable: Boolean,
26250
- errorIcon: String,
26253
+ errorIcon: IconValue,
26251
26254
  hideActions: Boolean,
26252
26255
  items: {
26253
26256
  type: Array,
@@ -28210,8 +28213,8 @@ const VNumberInput = genericComponent()({
28210
28213
  const vTextFieldRef = ref();
28211
28214
  const stepDecimals = computed(() => getDecimals(props.step));
28212
28215
  const modelDecimals = computed(() => typeof model.value === 'number' ? getDecimals(model.value) : 0);
28213
- const form = useForm();
28214
- const controlsDisabled = computed(() => props.disabled || props.readonly || form?.isReadonly.value);
28216
+ const form = useForm(props);
28217
+ const controlsDisabled = computed(() => form.isDisabled.value || form.isReadonly.value);
28215
28218
  const canIncrease = computed(() => {
28216
28219
  if (controlsDisabled.value) return false;
28217
28220
  return (model.value ?? 0) + props.step <= props.max;
@@ -28234,7 +28237,7 @@ const VNumberInput = genericComponent()({
28234
28237
  click: onClickDown
28235
28238
  }));
28236
28239
  onMounted(() => {
28237
- if (!props.readonly && !props.disabled) {
28240
+ if (!controlsDisabled.value) {
28238
28241
  clampModel();
28239
28242
  }
28240
28243
  });
@@ -30402,7 +30405,7 @@ function createVuetify$1() {
30402
30405
  goTo
30403
30406
  };
30404
30407
  }
30405
- const version$1 = "3.7.4-master.2024-11-24";
30408
+ const version$1 = "3.7.4-master.2024-11-28";
30406
30409
  createVuetify$1.version = version$1;
30407
30410
 
30408
30411
  // Vue's inject() can only be used in setup
@@ -30655,7 +30658,7 @@ var index = /*#__PURE__*/Object.freeze({
30655
30658
 
30656
30659
  /* eslint-disable local-rules/sort-imports */
30657
30660
 
30658
- const version = "3.7.4-master.2024-11-24";
30661
+ const version = "3.7.4-master.2024-11-28";
30659
30662
 
30660
30663
  /* eslint-disable local-rules/sort-imports */
30661
30664