@vuetify/nightly 4.0.0-dev-20230515.0 → 4.0.0-dev-20230516.0

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 (120) hide show
  1. package/CHANGELOG.md +5 -4
  2. package/dist/json/attributes.json +14 -14
  3. package/dist/json/importMap.json +4 -4
  4. package/dist/json/web-types.json +21 -17
  5. package/dist/vuetify-labs.css +7 -3
  6. package/dist/vuetify-labs.d.ts +6549 -1557
  7. package/dist/vuetify-labs.esm.js +42 -21
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +42 -21
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +204 -200
  12. package/dist/vuetify.d.ts +4883 -968
  13. package/dist/vuetify.esm.js +42 -21
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +42 -21
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +182 -180
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VAlert/index.d.mts +58 -0
  21. package/lib/components/VApp/index.d.mts +15 -0
  22. package/lib/components/VAppBar/index.d.mts +81 -0
  23. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  24. package/lib/components/VAutocomplete/index.d.mts +68 -10
  25. package/lib/components/VAvatar/index.d.mts +15 -0
  26. package/lib/components/VBadge/index.d.mts +19 -0
  27. package/lib/components/VBanner/index.d.mts +57 -0
  28. package/lib/components/VBottomNavigation/index.d.mts +15 -0
  29. package/lib/components/VBreadcrumbs/index.d.mts +37 -3
  30. package/lib/components/VBtn/index.d.mts +27 -0
  31. package/lib/components/VBtnGroup/index.d.mts +15 -0
  32. package/lib/components/VBtnToggle/index.d.mts +15 -0
  33. package/lib/components/VCard/index.d.mts +142 -0
  34. package/lib/components/VCarousel/index.d.mts +158 -0
  35. package/lib/components/VCheckbox/VCheckboxBtn.mjs +3 -3
  36. package/lib/components/VCheckbox/VCheckboxBtn.mjs.map +1 -1
  37. package/lib/components/VCheckbox/index.d.mts +92 -6
  38. package/lib/components/VChip/VChip.css +4 -2
  39. package/lib/components/VChip/VChip.sass +3 -2
  40. package/lib/components/VChip/index.d.mts +63 -0
  41. package/lib/components/VChipGroup/index.d.mts +39 -0
  42. package/lib/components/VCode/index.d.mts +15 -0
  43. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  44. package/lib/components/VCombobox/index.d.mts +68 -10
  45. package/lib/components/VCounter/index.d.mts +15 -0
  46. package/lib/components/VDefaultsProvider/index.d.mts +15 -0
  47. package/lib/components/VDialog/index.d.mts +129 -3
  48. package/lib/components/VDivider/index.d.mts +15 -0
  49. package/lib/components/VExpansionPanel/index.d.mts +72 -0
  50. package/lib/components/VField/index.d.mts +22 -3
  51. package/lib/components/VFileInput/index.d.mts +180 -24
  52. package/lib/components/VFooter/index.d.mts +15 -0
  53. package/lib/components/VForm/index.d.mts +201 -8
  54. package/lib/components/VGrid/index.d.mts +60 -0
  55. package/lib/components/VHover/index.d.mts +27 -0
  56. package/lib/components/VIcon/index.d.mts +30 -0
  57. package/lib/components/VImg/index.d.mts +27 -0
  58. package/lib/components/VInput/VInput.mjs +1 -1
  59. package/lib/components/VInput/VInput.mjs.map +1 -1
  60. package/lib/components/VInput/index.d.mts +40 -9
  61. package/lib/components/VItemGroup/index.d.mts +82 -0
  62. package/lib/components/VKbd/index.d.mts +15 -0
  63. package/lib/components/VLabel/index.d.mts +15 -0
  64. package/lib/components/VLayout/index.d.mts +30 -0
  65. package/lib/components/VLazy/index.d.mts +15 -0
  66. package/lib/components/VList/index.d.mts +159 -3
  67. package/lib/components/VLocaleProvider/index.d.mts +15 -0
  68. package/lib/components/VMain/index.d.mts +15 -0
  69. package/lib/components/VMenu/index.d.mts +129 -3
  70. package/lib/components/VMessages/index.d.mts +15 -0
  71. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +2 -0
  72. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +2 -0
  73. package/lib/components/VNavigationDrawer/index.d.mts +27 -0
  74. package/lib/components/VOverlay/index.d.mts +39 -0
  75. package/lib/components/VPagination/index.d.mts +31 -0
  76. package/lib/components/VParallax/index.d.mts +27 -0
  77. package/lib/components/VProgressCircular/index.d.mts +23 -0
  78. package/lib/components/VProgressLinear/index.d.mts +27 -0
  79. package/lib/components/VRadio/index.d.mts +35 -0
  80. package/lib/components/VRadioGroup/index.d.mts +57 -6
  81. package/lib/components/VRangeSlider/index.d.mts +49 -6
  82. package/lib/components/VRating/index.d.mts +19 -0
  83. package/lib/components/VResponsive/index.d.mts +19 -0
  84. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  85. package/lib/components/VSelect/index.d.mts +68 -10
  86. package/lib/components/VSelectionControl/index.d.mts +7 -3
  87. package/lib/components/VSelectionControlGroup/index.d.mts +15 -0
  88. package/lib/components/VSheet/index.d.mts +15 -0
  89. package/lib/components/VSlideGroup/index.d.mts +58 -0
  90. package/lib/components/VSlider/index.d.mts +49 -6
  91. package/lib/components/VSnackbar/index.d.mts +125 -3
  92. package/lib/components/VSwitch/index.d.mts +61 -6
  93. package/lib/components/VSystemBar/index.d.mts +15 -0
  94. package/lib/components/VTable/index.d.mts +27 -0
  95. package/lib/components/VTabs/index.d.mts +30 -0
  96. package/lib/components/VTextField/index.d.mts +167 -27
  97. package/lib/components/VTextarea/index.d.mts +156 -24
  98. package/lib/components/VThemeProvider/index.d.mts +15 -0
  99. package/lib/components/VTimeline/index.d.mts +38 -0
  100. package/lib/components/VToolbar/index.d.mts +69 -0
  101. package/lib/components/VTooltip/index.d.mts +129 -3
  102. package/lib/components/VValidation/index.d.mts +96 -25
  103. package/lib/components/VVirtualScroll/index.d.mts +7 -3
  104. package/lib/components/VWindow/index.d.mts +74 -0
  105. package/lib/components/index.d.mts +4673 -758
  106. package/lib/components/transitions/index.d.mts +240 -0
  107. package/lib/composables/form.mjs +2 -3
  108. package/lib/composables/form.mjs.map +1 -1
  109. package/lib/composables/validation.mjs +34 -12
  110. package/lib/composables/validation.mjs.map +1 -1
  111. package/lib/entry-bundler.mjs +1 -1
  112. package/lib/framework.mjs +1 -1
  113. package/lib/index.d.mts +1 -1
  114. package/lib/labs/VDataTable/index.d.mts +1056 -25
  115. package/lib/labs/VInfiniteScroll/index.d.mts +31 -0
  116. package/lib/labs/VSkeletonLoader/index.d.mts +15 -0
  117. package/lib/labs/components.d.mts +1099 -22
  118. package/lib/styles/settings/_variables.scss +3 -3
  119. package/lib/util/defineComponent.mjs.map +1 -1
  120. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v4.0.0-dev-20230515.0
2
+ * Vuetify v4.0.0-dev-20230516.0
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -5927,12 +5927,9 @@ function createForm(props) {
5927
5927
  }
5928
5928
  function reset() {
5929
5929
  items.value.forEach(item => item.reset());
5930
- model.value = null;
5931
5930
  }
5932
5931
  function resetValidation() {
5933
5932
  items.value.forEach(item => item.resetValidation());
5934
- errors.value = [];
5935
- model.value = null;
5936
5933
  }
5937
5934
  watch(items, () => {
5938
5935
  let valid = 0;
@@ -5986,6 +5983,7 @@ function createForm(props) {
5986
5983
  isDisabled,
5987
5984
  isReadonly,
5988
5985
  isValidating,
5986
+ isValid: model,
5989
5987
  items,
5990
5988
  validateOn: toRef(props, 'validateOn')
5991
5989
  });
@@ -5994,6 +5992,7 @@ function createForm(props) {
5994
5992
  isDisabled,
5995
5993
  isReadonly,
5996
5994
  isValidating,
5995
+ isValid: model,
5997
5996
  items,
5998
5997
  validate,
5999
5998
  reset,
@@ -6045,10 +6044,25 @@ function useValidation(props) {
6045
6044
  const errorMessages = computed(() => {
6046
6045
  return props.errorMessages.length ? wrapInArray(props.errorMessages).slice(0, Math.max(0, +props.maxErrors)) : internalErrorMessages.value;
6047
6046
  });
6047
+ const validateOn = computed(() => {
6048
+ let value = (props.validateOn ?? form?.validateOn.value) || 'input';
6049
+ if (value === 'lazy') value = 'input lazy';
6050
+ const set = new Set(value?.split(' ') ?? []);
6051
+ return {
6052
+ blur: set.has('blur') || set.has('input'),
6053
+ input: set.has('input'),
6054
+ submit: set.has('submit'),
6055
+ lazy: set.has('lazy')
6056
+ };
6057
+ });
6048
6058
  const isValid = computed(() => {
6049
- if (props.error || errorMessages.value.length) return false;
6059
+ if (props.error || props.errorMessages.length) return false;
6050
6060
  if (!props.rules.length) return true;
6051
- return isPristine.value ? null : true;
6061
+ if (isPristine.value) {
6062
+ return internalErrorMessages.value.length || validateOn.value.lazy ? null : true;
6063
+ } else {
6064
+ return !internalErrorMessages.value.length;
6065
+ }
6052
6066
  });
6053
6067
  const isValidating = shallowRef(false);
6054
6068
  const validationClasses = computed(() => {
@@ -6071,11 +6085,13 @@ function useValidation(props) {
6071
6085
  onBeforeUnmount(() => {
6072
6086
  form?.unregister(uid.value);
6073
6087
  });
6074
- const validateOn = computed(() => props.validateOn || form?.validateOn.value || 'input');
6075
-
6076
- // Set initial valid state, for inputs that might not have rules
6077
- onMounted(() => form?.update(uid.value, isValid.value, errorMessages.value));
6078
- useToggleScope(() => validateOn.value === 'input', () => {
6088
+ onMounted(async () => {
6089
+ if (!validateOn.value.lazy) {
6090
+ await validate(true);
6091
+ }
6092
+ form?.update(uid.value, isValid.value, errorMessages.value);
6093
+ });
6094
+ useToggleScope(() => validateOn.value.input, () => {
6079
6095
  watch(validationModel, () => {
6080
6096
  if (validationModel.value != null) {
6081
6097
  validate();
@@ -6087,7 +6103,7 @@ function useValidation(props) {
6087
6103
  }
6088
6104
  });
6089
6105
  });
6090
- useToggleScope(() => validateOn.value === 'blur', () => {
6106
+ useToggleScope(() => validateOn.value.blur, () => {
6091
6107
  watch(() => props.focused, val => {
6092
6108
  if (!val) validate();
6093
6109
  });
@@ -6096,14 +6112,19 @@ function useValidation(props) {
6096
6112
  form?.update(uid.value, isValid.value, errorMessages.value);
6097
6113
  });
6098
6114
  function reset() {
6099
- resetValidation();
6100
6115
  model.value = null;
6116
+ nextTick(resetValidation);
6101
6117
  }
6102
6118
  function resetValidation() {
6103
6119
  isPristine.value = true;
6104
- internalErrorMessages.value = [];
6120
+ if (!validateOn.value.lazy) {
6121
+ validate(true);
6122
+ } else {
6123
+ internalErrorMessages.value = [];
6124
+ }
6105
6125
  }
6106
6126
  async function validate() {
6127
+ let silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
6107
6128
  const results = [];
6108
6129
  isValidating.value = true;
6109
6130
  for (const rule of props.rules) {
@@ -6122,7 +6143,7 @@ function useValidation(props) {
6122
6143
  }
6123
6144
  internalErrorMessages.value = results;
6124
6145
  isValidating.value = false;
6125
- isPristine.value = false;
6146
+ isPristine.value = silent;
6126
6147
  return internalErrorMessages.value;
6127
6148
  }
6128
6149
  return {
@@ -6212,7 +6233,7 @@ const VInput = genericComponent()({
6212
6233
  validate
6213
6234
  }));
6214
6235
  const messages = computed(() => {
6215
- if (errorMessages.value.length > 0) {
6236
+ if (!isPristine.value && errorMessages.value.length > 0) {
6216
6237
  return errorMessages.value;
6217
6238
  } else if (props.hint && (props.persistentHint || props.focused)) {
6218
6239
  return props.hint;
@@ -6865,10 +6886,10 @@ const VCheckboxBtn = genericComponent()({
6865
6886
  }
6866
6887
  }
6867
6888
  const falseIcon = computed(() => {
6868
- return props.indeterminate ? props.indeterminateIcon : props.falseIcon;
6889
+ return indeterminate.value ? props.indeterminateIcon : props.falseIcon;
6869
6890
  });
6870
6891
  const trueIcon = computed(() => {
6871
- return props.indeterminate ? props.indeterminateIcon : props.trueIcon;
6892
+ return indeterminate.value ? props.indeterminateIcon : props.trueIcon;
6872
6893
  });
6873
6894
  useRender(() => createVNode(VSelectionControl, mergeProps(props, {
6874
6895
  "modelValue": model.value,
@@ -6878,7 +6899,7 @@ const VCheckboxBtn = genericComponent()({
6878
6899
  "type": "checkbox",
6879
6900
  "falseIcon": falseIcon.value,
6880
6901
  "trueIcon": trueIcon.value,
6881
- "aria-checked": props.indeterminate ? 'mixed' : undefined
6902
+ "aria-checked": indeterminate.value ? 'mixed' : undefined
6882
6903
  }), slots));
6883
6904
  return {};
6884
6905
  }
@@ -19597,7 +19618,7 @@ function createVuetify$1() {
19597
19618
  date
19598
19619
  };
19599
19620
  }
19600
- const version$1 = "4.0.0-dev-20230515.0";
19621
+ const version$1 = "4.0.0-dev-20230516.0";
19601
19622
  createVuetify$1.version = version$1;
19602
19623
 
19603
19624
  // Vue's inject() can only be used in setup
@@ -19617,7 +19638,7 @@ const createVuetify = function () {
19617
19638
  ...options
19618
19639
  });
19619
19640
  };
19620
- const version = "4.0.0-dev-20230515.0";
19641
+ const version = "4.0.0-dev-20230516.0";
19621
19642
  createVuetify.version = version;
19622
19643
 
19623
19644
  export { components, createVuetify, directives, useDefaults, useDisplay, useLayout, useLocale, useRtl, useTheme, version };