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
package/dist/vuetify.js CHANGED
@@ -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
  */
@@ -13,7 +13,7 @@
13
13
  const IN_BROWSER = typeof window !== 'undefined';
14
14
  const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
15
15
  const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);
16
- const SUPPORTS_FOCUS_VISIBLE = IN_BROWSER && typeof CSS !== 'undefined' && CSS.supports('selector(:focus-visible)');
16
+ const SUPPORTS_FOCUS_VISIBLE = IN_BROWSER && typeof CSS !== 'undefined' && typeof CSS.supports !== 'undefined' && CSS.supports('selector(:focus-visible)');
17
17
 
18
18
  // Utilities
19
19
  function useResizeObserver(callback) {
@@ -5509,7 +5509,11 @@
5509
5509
  "key": "clear"
5510
5510
  }, {
5511
5511
  default: () => [vue.withDirectives(vue.createVNode("div", {
5512
- "class": "v-field__clearable"
5512
+ "class": "v-field__clearable",
5513
+ "onMousedown": e => {
5514
+ e.preventDefault();
5515
+ e.stopPropagation();
5516
+ }
5513
5517
  }, [slots.clear ? slots.clear() : vue.createVNode(InputIcon, {
5514
5518
  "name": "clear"
5515
5519
  }, null)]), [[vue.vShow, props.dirty]])]
@@ -6015,6 +6019,15 @@
6015
6019
 
6016
6020
  /** Omit properties starting with P */
6017
6021
 
6022
+ function getDescriptor(obj, key) {
6023
+ let currentObj = obj;
6024
+ while (currentObj) {
6025
+ const descriptor = Reflect.getOwnPropertyDescriptor(currentObj, key);
6026
+ if (descriptor) return descriptor;
6027
+ currentObj = Object.getPrototypeOf(currentObj);
6028
+ }
6029
+ return undefined;
6030
+ }
6018
6031
  function forwardRefs(target) {
6019
6032
  for (var _len = arguments.length, refs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
6020
6033
  refs[_key - 1] = arguments[_key];
@@ -6042,30 +6055,18 @@
6042
6055
  // Check each ref's own properties
6043
6056
  for (const ref of refs) {
6044
6057
  if (!ref.value) continue;
6045
- const descriptor = Reflect.getOwnPropertyDescriptor(ref.value, key);
6058
+ const descriptor = getDescriptor(ref.value, key) ?? ('_' in ref.value ? getDescriptor(ref.value._?.setupState, key) : undefined);
6046
6059
  if (descriptor) return descriptor;
6047
- if ('_' in ref.value && 'setupState' in ref.value._) {
6048
- const descriptor = Reflect.getOwnPropertyDescriptor(ref.value._.setupState, key);
6049
- if (descriptor) return descriptor;
6050
- }
6051
6060
  }
6061
+
6052
6062
  // Recursive search up each ref's prototype
6053
- for (const ref of refs) {
6054
- let obj = ref.value && Object.getPrototypeOf(ref.value);
6055
- while (obj) {
6056
- const descriptor = Reflect.getOwnPropertyDescriptor(obj, key);
6057
- if (descriptor) return descriptor;
6058
- obj = Object.getPrototypeOf(obj);
6059
- }
6060
- }
6061
- // Call forwarded refs' proxies
6062
6063
  for (const ref of refs) {
6063
6064
  const childRefs = ref.value && ref.value[Refs];
6064
6065
  if (!childRefs) continue;
6065
6066
  const queue = childRefs.slice();
6066
6067
  while (queue.length) {
6067
6068
  const ref = queue.shift();
6068
- const descriptor = Reflect.getOwnPropertyDescriptor(ref.value, key);
6069
+ const descriptor = getDescriptor(ref.value, key);
6069
6070
  if (descriptor) return descriptor;
6070
6071
  const childRefs = ref.value && ref.value[Refs];
6071
6072
  if (childRefs) queue.push(...childRefs);
@@ -6167,12 +6168,14 @@
6167
6168
  }
6168
6169
  function onInput(e) {
6169
6170
  const el = e.target;
6170
- const caretPosition = [el.selectionStart, el.selectionEnd];
6171
6171
  model.value = el.value;
6172
- vue.nextTick(() => {
6173
- el.selectionStart = caretPosition[0];
6174
- el.selectionEnd = caretPosition[1];
6175
- });
6172
+ if (['text', 'search', 'password', 'tel', 'url'].includes(props.type)) {
6173
+ const caretPosition = [el.selectionStart, el.selectionEnd];
6174
+ vue.nextTick(() => {
6175
+ el.selectionStart = caretPosition[0];
6176
+ el.selectionEnd = caretPosition[1];
6177
+ });
6178
+ }
6176
6179
  }
6177
6180
  useRender(() => {
6178
6181
  const hasCounter = !!(slots.counter || props.counter || props.counterValue);
@@ -6231,6 +6234,9 @@
6231
6234
  ...slotProps
6232
6235
  }
6233
6236
  } = _ref3;
6237
+ const placeholder = vue.computed(() => {
6238
+ return (props.persistentPlaceholder || isFocused.value) && !isDirty.value ? props.placeholder : '';
6239
+ });
6234
6240
  const inputNode = vue.withDirectives(vue.createVNode("input", vue.mergeProps({
6235
6241
  "ref": inputRef,
6236
6242
  "value": model.value,
@@ -6239,7 +6245,7 @@
6239
6245
  "readonly": isReadonly.value,
6240
6246
  "disabled": isDisabled.value,
6241
6247
  "name": props.name,
6242
- "placeholder": props.placeholder,
6248
+ "placeholder": placeholder.value,
6243
6249
  "size": 1,
6244
6250
  "type": props.type,
6245
6251
  "onFocus": onFocus,
@@ -6586,7 +6592,7 @@
6586
6592
  inheritAttrs: false,
6587
6593
  props: {
6588
6594
  ...makeVInputProps(),
6589
- ...makeVCheckboxBtnProps()
6595
+ ...omit(makeVCheckboxBtnProps(), ['inline'])
6590
6596
  },
6591
6597
  emits: {
6592
6598
  'update:focused': focused => true
@@ -13516,6 +13522,7 @@
13516
13522
  }
13517
13523
  });
13518
13524
  const selectionIndex = vue.ref(-1);
13525
+ let cleared = false;
13519
13526
  const color = vue.computed(() => vTextFieldRef.value?.color);
13520
13527
  const {
13521
13528
  items,
@@ -13552,11 +13559,17 @@
13552
13559
  }
13553
13560
  }
13554
13561
  if (!val) selectionIndex.value = -1;
13555
- if (isFocused.value) menu.value = true;
13556
13562
  isPristine.value = !val;
13557
13563
  }
13558
13564
  });
13559
13565
  vue.watch(_search, value => {
13566
+ if (cleared) {
13567
+ // wait for clear to finish, VTextField sets _search to null
13568
+ // then search computed triggers and updates _search to ''
13569
+ vue.nextTick(() => cleared = false);
13570
+ } else if (isFocused.value && !menu.value) {
13571
+ menu.value = true;
13572
+ }
13560
13573
  emit('update:search', value);
13561
13574
  });
13562
13575
  vue.watch(model, value => {
@@ -13583,6 +13596,7 @@
13583
13596
  const selection = vue.computed(() => selections.value[selectionIndex.value]);
13584
13597
  const listRef = vue.ref();
13585
13598
  function onClear(e) {
13599
+ cleared = true;
13586
13600
  if (props.openOnClear) {
13587
13601
  menu.value = true;
13588
13602
  }
@@ -13915,9 +13929,9 @@
13915
13929
  }, overlayProps, {
13916
13930
  "modelValue": isActive.value,
13917
13931
  "onUpdate:modelValue": $event => isActive.value = $event,
13918
- "aria-role": "dialog",
13919
13932
  "aria-modal": "true",
13920
- "activatorProps": activatorProps.value
13933
+ "activatorProps": activatorProps.value,
13934
+ "role": "dialog"
13921
13935
  }, scopeId), {
13922
13936
  activator: slots.activator,
13923
13937
  default: function () {
@@ -18317,7 +18331,7 @@
18317
18331
  locale
18318
18332
  };
18319
18333
  }
18320
- const version$1 = "3.1.11";
18334
+ const version$1 = "3.1.12";
18321
18335
  createVuetify$1.version = version$1;
18322
18336
 
18323
18337
  // Vue's inject() can only be used in setup
@@ -18337,7 +18351,7 @@
18337
18351
  ...options
18338
18352
  });
18339
18353
  };
18340
- const version = "3.1.11";
18354
+ const version = "3.1.12";
18341
18355
  createVuetify.version = version;
18342
18356
 
18343
18357
  exports.components = components;