@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
  */
@@ -5931,12 +5931,9 @@ function createForm(props) {
5931
5931
  }
5932
5932
  function reset() {
5933
5933
  items.value.forEach(item => item.reset());
5934
- model.value = null;
5935
5934
  }
5936
5935
  function resetValidation() {
5937
5936
  items.value.forEach(item => item.resetValidation());
5938
- errors.value = [];
5939
- model.value = null;
5940
5937
  }
5941
5938
  watch(items, () => {
5942
5939
  let valid = 0;
@@ -5990,6 +5987,7 @@ function createForm(props) {
5990
5987
  isDisabled,
5991
5988
  isReadonly,
5992
5989
  isValidating,
5990
+ isValid: model,
5993
5991
  items,
5994
5992
  validateOn: toRef(props, 'validateOn')
5995
5993
  });
@@ -5998,6 +5996,7 @@ function createForm(props) {
5998
5996
  isDisabled,
5999
5997
  isReadonly,
6000
5998
  isValidating,
5999
+ isValid: model,
6001
6000
  items,
6002
6001
  validate,
6003
6002
  reset,
@@ -6049,10 +6048,25 @@ function useValidation(props) {
6049
6048
  const errorMessages = computed(() => {
6050
6049
  return props.errorMessages.length ? wrapInArray(props.errorMessages).slice(0, Math.max(0, +props.maxErrors)) : internalErrorMessages.value;
6051
6050
  });
6051
+ const validateOn = computed(() => {
6052
+ let value = (props.validateOn ?? form?.validateOn.value) || 'input';
6053
+ if (value === 'lazy') value = 'input lazy';
6054
+ const set = new Set(value?.split(' ') ?? []);
6055
+ return {
6056
+ blur: set.has('blur') || set.has('input'),
6057
+ input: set.has('input'),
6058
+ submit: set.has('submit'),
6059
+ lazy: set.has('lazy')
6060
+ };
6061
+ });
6052
6062
  const isValid = computed(() => {
6053
- if (props.error || errorMessages.value.length) return false;
6063
+ if (props.error || props.errorMessages.length) return false;
6054
6064
  if (!props.rules.length) return true;
6055
- return isPristine.value ? null : true;
6065
+ if (isPristine.value) {
6066
+ return internalErrorMessages.value.length || validateOn.value.lazy ? null : true;
6067
+ } else {
6068
+ return !internalErrorMessages.value.length;
6069
+ }
6056
6070
  });
6057
6071
  const isValidating = shallowRef(false);
6058
6072
  const validationClasses = computed(() => {
@@ -6075,11 +6089,13 @@ function useValidation(props) {
6075
6089
  onBeforeUnmount(() => {
6076
6090
  form?.unregister(uid.value);
6077
6091
  });
6078
- const validateOn = computed(() => props.validateOn || form?.validateOn.value || 'input');
6079
-
6080
- // Set initial valid state, for inputs that might not have rules
6081
- onMounted(() => form?.update(uid.value, isValid.value, errorMessages.value));
6082
- useToggleScope(() => validateOn.value === 'input', () => {
6092
+ onMounted(async () => {
6093
+ if (!validateOn.value.lazy) {
6094
+ await validate(true);
6095
+ }
6096
+ form?.update(uid.value, isValid.value, errorMessages.value);
6097
+ });
6098
+ useToggleScope(() => validateOn.value.input, () => {
6083
6099
  watch(validationModel, () => {
6084
6100
  if (validationModel.value != null) {
6085
6101
  validate();
@@ -6091,7 +6107,7 @@ function useValidation(props) {
6091
6107
  }
6092
6108
  });
6093
6109
  });
6094
- useToggleScope(() => validateOn.value === 'blur', () => {
6110
+ useToggleScope(() => validateOn.value.blur, () => {
6095
6111
  watch(() => props.focused, val => {
6096
6112
  if (!val) validate();
6097
6113
  });
@@ -6100,14 +6116,19 @@ function useValidation(props) {
6100
6116
  form?.update(uid.value, isValid.value, errorMessages.value);
6101
6117
  });
6102
6118
  function reset() {
6103
- resetValidation();
6104
6119
  model.value = null;
6120
+ nextTick(resetValidation);
6105
6121
  }
6106
6122
  function resetValidation() {
6107
6123
  isPristine.value = true;
6108
- internalErrorMessages.value = [];
6124
+ if (!validateOn.value.lazy) {
6125
+ validate(true);
6126
+ } else {
6127
+ internalErrorMessages.value = [];
6128
+ }
6109
6129
  }
6110
6130
  async function validate() {
6131
+ let silent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
6111
6132
  const results = [];
6112
6133
  isValidating.value = true;
6113
6134
  for (const rule of props.rules) {
@@ -6126,7 +6147,7 @@ function useValidation(props) {
6126
6147
  }
6127
6148
  internalErrorMessages.value = results;
6128
6149
  isValidating.value = false;
6129
- isPristine.value = false;
6150
+ isPristine.value = silent;
6130
6151
  return internalErrorMessages.value;
6131
6152
  }
6132
6153
  return {
@@ -6216,7 +6237,7 @@ const VInput = genericComponent()({
6216
6237
  validate
6217
6238
  }));
6218
6239
  const messages = computed(() => {
6219
- if (errorMessages.value.length > 0) {
6240
+ if (!isPristine.value && errorMessages.value.length > 0) {
6220
6241
  return errorMessages.value;
6221
6242
  } else if (props.hint && (props.persistentHint || props.focused)) {
6222
6243
  return props.hint;
@@ -6869,10 +6890,10 @@ const VCheckboxBtn = genericComponent()({
6869
6890
  }
6870
6891
  }
6871
6892
  const falseIcon = computed(() => {
6872
- return props.indeterminate ? props.indeterminateIcon : props.falseIcon;
6893
+ return indeterminate.value ? props.indeterminateIcon : props.falseIcon;
6873
6894
  });
6874
6895
  const trueIcon = computed(() => {
6875
- return props.indeterminate ? props.indeterminateIcon : props.trueIcon;
6896
+ return indeterminate.value ? props.indeterminateIcon : props.trueIcon;
6876
6897
  });
6877
6898
  useRender(() => createVNode(VSelectionControl, mergeProps(props, {
6878
6899
  "modelValue": model.value,
@@ -6882,7 +6903,7 @@ const VCheckboxBtn = genericComponent()({
6882
6903
  "type": "checkbox",
6883
6904
  "falseIcon": falseIcon.value,
6884
6905
  "trueIcon": trueIcon.value,
6885
- "aria-checked": props.indeterminate ? 'mixed' : undefined
6906
+ "aria-checked": indeterminate.value ? 'mixed' : undefined
6886
6907
  }), slots));
6887
6908
  return {};
6888
6909
  }
@@ -21711,7 +21732,7 @@ function createVuetify$1() {
21711
21732
  date
21712
21733
  };
21713
21734
  }
21714
- const version$1 = "4.0.0-dev-20230515.0";
21735
+ const version$1 = "4.0.0-dev-20230516.0";
21715
21736
  createVuetify$1.version = version$1;
21716
21737
 
21717
21738
  // Vue's inject() can only be used in setup
@@ -21723,7 +21744,7 @@ function inject(key) {
21723
21744
  }
21724
21745
  }
21725
21746
 
21726
- const version = "4.0.0-dev-20230515.0";
21747
+ const version = "4.0.0-dev-20230516.0";
21727
21748
 
21728
21749
  const createVuetify = function () {
21729
21750
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};