vuetify 3.1.11 → 3.1.12

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 (58) hide show
  1. package/dist/json/attributes.json +8 -12
  2. package/dist/json/importMap.json +84 -84
  3. package/dist/json/tags.json +0 -1
  4. package/dist/json/web-types.json +19 -25
  5. package/dist/vuetify-labs.css +129 -135
  6. package/dist/vuetify-labs.d.ts +73 -66
  7. package/dist/vuetify-labs.esm.js +65 -36
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +64 -35
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +53 -59
  12. package/dist/vuetify.d.ts +66 -75
  13. package/dist/vuetify.esm.js +44 -30
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +44 -30
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +326 -325
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VBadge/VBadge.css +1 -0
  21. package/lib/components/VBadge/VBadge.sass +1 -0
  22. package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
  23. package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
  24. package/lib/components/VCheckbox/index.d.ts +41 -50
  25. package/lib/components/VCombobox/VCombobox.mjs +9 -1
  26. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  27. package/lib/components/VDialog/VDialog.css +11 -18
  28. package/lib/components/VDialog/VDialog.mjs +2 -2
  29. package/lib/components/VDialog/VDialog.mjs.map +1 -1
  30. package/lib/components/VDialog/VDialog.sass +8 -15
  31. package/lib/components/VField/VField.mjs +5 -1
  32. package/lib/components/VField/VField.mjs.map +1 -1
  33. package/lib/components/VGrid/VCol.mjs +2 -2
  34. package/lib/components/VGrid/VCol.mjs.map +1 -1
  35. package/lib/components/VGrid/VRow.mjs +2 -2
  36. package/lib/components/VGrid/VRow.mjs.map +1 -1
  37. package/lib/components/VOverlay/VOverlay.css +1 -1
  38. package/lib/components/VOverlay/VOverlay.sass +1 -1
  39. package/lib/components/VTextField/VTextField.mjs +11 -6
  40. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  41. package/lib/components/index.d.ts +41 -50
  42. package/lib/composables/forwardRefs.mjs +12 -15
  43. package/lib/composables/forwardRefs.mjs.map +1 -1
  44. package/lib/entry-bundler.mjs +1 -1
  45. package/lib/framework.mjs +1 -1
  46. package/lib/index.d.ts +25 -25
  47. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  48. package/lib/labs/VDataTable/VDataTableRow.mjs +5 -4
  49. package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
  50. package/lib/labs/VDataTable/VDataTableServer.mjs +3 -1
  51. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  52. package/lib/labs/VDataTable/composables/items.mjs +14 -1
  53. package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
  54. package/lib/labs/VDataTable/index.d.ts +32 -16
  55. package/lib/labs/components.d.ts +32 -16
  56. package/lib/util/globals.mjs +1 -1
  57. package/lib/util/globals.mjs.map +1 -1
  58. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.1.11
2
+ * Vuetify v3.1.12
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -9,7 +9,7 @@ import { ref, onBeforeUnmount, watch, readonly, reactive, computed, watchEffect,
9
9
  const IN_BROWSER = typeof window !== 'undefined';
10
10
  const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
11
11
  const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);
12
- const SUPPORTS_FOCUS_VISIBLE = IN_BROWSER && typeof CSS !== 'undefined' && CSS.supports('selector(:focus-visible)');
12
+ const SUPPORTS_FOCUS_VISIBLE = IN_BROWSER && typeof CSS !== 'undefined' && typeof CSS.supports !== 'undefined' && CSS.supports('selector(:focus-visible)');
13
13
 
14
14
  // Utilities
15
15
  function useResizeObserver(callback) {
@@ -5505,7 +5505,11 @@ const VField = genericComponent()({
5505
5505
  "key": "clear"
5506
5506
  }, {
5507
5507
  default: () => [withDirectives(createVNode("div", {
5508
- "class": "v-field__clearable"
5508
+ "class": "v-field__clearable",
5509
+ "onMousedown": e => {
5510
+ e.preventDefault();
5511
+ e.stopPropagation();
5512
+ }
5509
5513
  }, [slots.clear ? slots.clear() : createVNode(InputIcon, {
5510
5514
  "name": "clear"
5511
5515
  }, null)]), [[vShow, props.dirty]])]
@@ -6011,6 +6015,15 @@ const Refs = Symbol('Forwarded refs');
6011
6015
 
6012
6016
  /** Omit properties starting with P */
6013
6017
 
6018
+ function getDescriptor(obj, key) {
6019
+ let currentObj = obj;
6020
+ while (currentObj) {
6021
+ const descriptor = Reflect.getOwnPropertyDescriptor(currentObj, key);
6022
+ if (descriptor) return descriptor;
6023
+ currentObj = Object.getPrototypeOf(currentObj);
6024
+ }
6025
+ return undefined;
6026
+ }
6014
6027
  function forwardRefs(target) {
6015
6028
  for (var _len = arguments.length, refs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
6016
6029
  refs[_key - 1] = arguments[_key];
@@ -6038,30 +6051,18 @@ function forwardRefs(target) {
6038
6051
  // Check each ref's own properties
6039
6052
  for (const ref of refs) {
6040
6053
  if (!ref.value) continue;
6041
- const descriptor = Reflect.getOwnPropertyDescriptor(ref.value, key);
6054
+ const descriptor = getDescriptor(ref.value, key) ?? ('_' in ref.value ? getDescriptor(ref.value._?.setupState, key) : undefined);
6042
6055
  if (descriptor) return descriptor;
6043
- if ('_' in ref.value && 'setupState' in ref.value._) {
6044
- const descriptor = Reflect.getOwnPropertyDescriptor(ref.value._.setupState, key);
6045
- if (descriptor) return descriptor;
6046
- }
6047
6056
  }
6057
+
6048
6058
  // Recursive search up each ref's prototype
6049
- for (const ref of refs) {
6050
- let obj = ref.value && Object.getPrototypeOf(ref.value);
6051
- while (obj) {
6052
- const descriptor = Reflect.getOwnPropertyDescriptor(obj, key);
6053
- if (descriptor) return descriptor;
6054
- obj = Object.getPrototypeOf(obj);
6055
- }
6056
- }
6057
- // Call forwarded refs' proxies
6058
6059
  for (const ref of refs) {
6059
6060
  const childRefs = ref.value && ref.value[Refs];
6060
6061
  if (!childRefs) continue;
6061
6062
  const queue = childRefs.slice();
6062
6063
  while (queue.length) {
6063
6064
  const ref = queue.shift();
6064
- const descriptor = Reflect.getOwnPropertyDescriptor(ref.value, key);
6065
+ const descriptor = getDescriptor(ref.value, key);
6065
6066
  if (descriptor) return descriptor;
6066
6067
  const childRefs = ref.value && ref.value[Refs];
6067
6068
  if (childRefs) queue.push(...childRefs);
@@ -6163,12 +6164,14 @@ const VTextField = genericComponent()({
6163
6164
  }
6164
6165
  function onInput(e) {
6165
6166
  const el = e.target;
6166
- const caretPosition = [el.selectionStart, el.selectionEnd];
6167
6167
  model.value = el.value;
6168
- nextTick(() => {
6169
- el.selectionStart = caretPosition[0];
6170
- el.selectionEnd = caretPosition[1];
6171
- });
6168
+ if (['text', 'search', 'password', 'tel', 'url'].includes(props.type)) {
6169
+ const caretPosition = [el.selectionStart, el.selectionEnd];
6170
+ nextTick(() => {
6171
+ el.selectionStart = caretPosition[0];
6172
+ el.selectionEnd = caretPosition[1];
6173
+ });
6174
+ }
6172
6175
  }
6173
6176
  useRender(() => {
6174
6177
  const hasCounter = !!(slots.counter || props.counter || props.counterValue);
@@ -6227,6 +6230,9 @@ const VTextField = genericComponent()({
6227
6230
  ...slotProps
6228
6231
  }
6229
6232
  } = _ref3;
6233
+ const placeholder = computed(() => {
6234
+ return (props.persistentPlaceholder || isFocused.value) && !isDirty.value ? props.placeholder : '';
6235
+ });
6230
6236
  const inputNode = withDirectives(createVNode("input", mergeProps({
6231
6237
  "ref": inputRef,
6232
6238
  "value": model.value,
@@ -6235,7 +6241,7 @@ const VTextField = genericComponent()({
6235
6241
  "readonly": isReadonly.value,
6236
6242
  "disabled": isDisabled.value,
6237
6243
  "name": props.name,
6238
- "placeholder": props.placeholder,
6244
+ "placeholder": placeholder.value,
6239
6245
  "size": 1,
6240
6246
  "type": props.type,
6241
6247
  "onFocus": onFocus,
@@ -6582,7 +6588,7 @@ const VCheckbox = genericComponent()({
6582
6588
  inheritAttrs: false,
6583
6589
  props: {
6584
6590
  ...makeVInputProps(),
6585
- ...makeVCheckboxBtnProps()
6591
+ ...omit(makeVCheckboxBtnProps(), ['inline'])
6586
6592
  },
6587
6593
  emits: {
6588
6594
  'update:focused': focused => true
@@ -13512,6 +13518,7 @@ const VCombobox = genericComponent()({
13512
13518
  }
13513
13519
  });
13514
13520
  const selectionIndex = ref(-1);
13521
+ let cleared = false;
13515
13522
  const color = computed(() => vTextFieldRef.value?.color);
13516
13523
  const {
13517
13524
  items,
@@ -13548,11 +13555,17 @@ const VCombobox = genericComponent()({
13548
13555
  }
13549
13556
  }
13550
13557
  if (!val) selectionIndex.value = -1;
13551
- if (isFocused.value) menu.value = true;
13552
13558
  isPristine.value = !val;
13553
13559
  }
13554
13560
  });
13555
13561
  watch(_search, value => {
13562
+ if (cleared) {
13563
+ // wait for clear to finish, VTextField sets _search to null
13564
+ // then search computed triggers and updates _search to ''
13565
+ nextTick(() => cleared = false);
13566
+ } else if (isFocused.value && !menu.value) {
13567
+ menu.value = true;
13568
+ }
13556
13569
  emit('update:search', value);
13557
13570
  });
13558
13571
  watch(model, value => {
@@ -13579,6 +13592,7 @@ const VCombobox = genericComponent()({
13579
13592
  const selection = computed(() => selections.value[selectionIndex.value]);
13580
13593
  const listRef = ref();
13581
13594
  function onClear(e) {
13595
+ cleared = true;
13582
13596
  if (props.openOnClear) {
13583
13597
  menu.value = true;
13584
13598
  }
@@ -13911,9 +13925,9 @@ const VDialog = genericComponent()({
13911
13925
  }, overlayProps, {
13912
13926
  "modelValue": isActive.value,
13913
13927
  "onUpdate:modelValue": $event => isActive.value = $event,
13914
- "aria-role": "dialog",
13915
13928
  "aria-modal": "true",
13916
- "activatorProps": activatorProps.value
13929
+ "activatorProps": activatorProps.value,
13930
+ "role": "dialog"
13917
13931
  }, scopeId), {
13918
13932
  activator: slots.activator,
13919
13933
  default: function () {
@@ -18313,7 +18327,7 @@ function createVuetify$1() {
18313
18327
  locale
18314
18328
  };
18315
18329
  }
18316
- const version$1 = "3.1.11";
18330
+ const version$1 = "3.1.12";
18317
18331
  createVuetify$1.version = version$1;
18318
18332
 
18319
18333
  // Vue's inject() can only be used in setup
@@ -18333,7 +18347,7 @@ const createVuetify = function () {
18333
18347
  ...options
18334
18348
  });
18335
18349
  };
18336
- const version = "3.1.11";
18350
+ const version = "3.1.12";
18337
18351
  createVuetify.version = version;
18338
18352
 
18339
18353
  export { components, createVuetify, directives, useDisplay, useLayout, useLocale, useRtl, useTheme, version };