@vuetify/nightly 3.3.9-master.2023-07-19 → 3.3.9-master.2023-07-21

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.
@@ -219,7 +219,8 @@ type DefaultsInstance = undefined | {
219
219
  global?: Record<string, unknown>;
220
220
  };
221
221
  type DefaultsOptions = Partial<DefaultsInstance>;
222
- declare function useDefaults(props?: Record<string, any>, name?: string): Record<string, any>;
222
+ declare function useDefaults<T extends Record<string, any>>(props: T, name?: string): T;
223
+ declare function useDefaults(props?: undefined, name?: string): Record<string, any>;
223
224
 
224
225
  type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
225
226
  declare const IconValue: PropType<IconValue>;
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.3.9-master.2023-07-19
2
+ * Vuetify v3.3.9-master.2023-07-21
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -9721,6 +9721,20 @@ function forwardRefs(target) {
9721
9721
  }
9722
9722
  return false;
9723
9723
  },
9724
+ set(target, key, value) {
9725
+ if (Reflect.has(target, key)) {
9726
+ return Reflect.set(target, key, value);
9727
+ }
9728
+
9729
+ // Skip internal properties
9730
+ if (typeof key === 'symbol' || key.startsWith('__')) return false;
9731
+ for (const ref of refs) {
9732
+ if (ref.value && Reflect.has(ref.value, key)) {
9733
+ return Reflect.set(ref.value, key, value);
9734
+ }
9735
+ }
9736
+ return false;
9737
+ },
9724
9738
  getOwnPropertyDescriptor(target, key) {
9725
9739
  const descriptor = Reflect.getOwnPropertyDescriptor(target, key);
9726
9740
  if (descriptor) return descriptor;
@@ -10811,7 +10825,7 @@ const VSelect = genericComponent()({
10811
10825
  menu.value = !menu.value;
10812
10826
  }
10813
10827
  function onKeydown(e) {
10814
- if (props.readonly || form?.isReadonly.value) return;
10828
+ if (!e.key || props.readonly || form?.isReadonly.value) return;
10815
10829
  if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
10816
10830
  e.preventDefault();
10817
10831
  }
@@ -10875,6 +10889,16 @@ const VSelect = genericComponent()({
10875
10889
  function onFocusin(e) {
10876
10890
  isFocused.value = true;
10877
10891
  }
10892
+ function onModelUpdate(v) {
10893
+ if (v == null) model.value = [];else if (vTextFieldRef.value?.matches(':autofill') || vTextFieldRef.value?.matches(':-webkit-autofill')) {
10894
+ const item = items.value.find(item => item.title === v);
10895
+ if (item) {
10896
+ select(item);
10897
+ }
10898
+ } else if (vTextFieldRef.value) {
10899
+ vTextFieldRef.value.value = '';
10900
+ }
10901
+ }
10878
10902
  useRender(() => {
10879
10903
  const hasChips = !!(props.chips || slots.chip);
10880
10904
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots['prepend-item'] || slots['append-item'] || slots['no-data']);
@@ -10885,9 +10909,7 @@ const VSelect = genericComponent()({
10885
10909
  "ref": vTextFieldRef
10886
10910
  }, textFieldProps, {
10887
10911
  "modelValue": model.value.map(v => v.props.value).join(', '),
10888
- "onUpdate:modelValue": v => {
10889
- if (v == null) model.value = [];
10890
- },
10912
+ "onUpdate:modelValue": onModelUpdate,
10891
10913
  "focused": isFocused.value,
10892
10914
  "onUpdate:focused": $event => isFocused.value = $event,
10893
10915
  "validationValue": model.externalValue,
@@ -10900,7 +10922,7 @@ const VSelect = genericComponent()({
10900
10922
  'v-select--selection-slot': !!slots.selection
10901
10923
  }, props.class],
10902
10924
  "style": props.style,
10903
- "readonly": true,
10925
+ "inputmode": "none",
10904
10926
  "placeholder": placeholder,
10905
10927
  "onClick:clear": onClear,
10906
10928
  "onMousedown:control": onMousedownControl,
@@ -11322,6 +11344,14 @@ const VAutocomplete = genericComponent()({
11322
11344
  function onInput(e) {
11323
11345
  search.value = e.target.value;
11324
11346
  }
11347
+ function onChange(e) {
11348
+ if (vTextFieldRef.value?.matches(':autofill') || vTextFieldRef.value?.matches(':-webkit-autofill')) {
11349
+ const item = items.value.find(item => item.title === e.target.value);
11350
+ if (item) {
11351
+ select(item);
11352
+ }
11353
+ }
11354
+ }
11325
11355
  function onAfterLeave() {
11326
11356
  if (isFocused.value) {
11327
11357
  isPristine.value = true;
@@ -11401,6 +11431,7 @@ const VAutocomplete = genericComponent()({
11401
11431
  "validationValue": model.externalValue,
11402
11432
  "dirty": isDirty,
11403
11433
  "onInput": onInput,
11434
+ "onChange": onChange,
11404
11435
  "class": ['v-autocomplete', `v-autocomplete--${props.multiple ? 'multiple' : 'single'}`, {
11405
11436
  'v-autocomplete--active-menu': menu.value,
11406
11437
  'v-autocomplete--chips': !!props.chips,
@@ -16390,7 +16421,7 @@ function useSticky(_ref) {
16390
16421
  });
16391
16422
  });
16392
16423
  onBeforeUnmount(() => {
16393
- document.removeEventListener('scroll', onScroll);
16424
+ window.removeEventListener('scroll', onScroll);
16394
16425
  });
16395
16426
  let lastScrollTop = 0;
16396
16427
  function onScroll() {
@@ -23663,7 +23694,7 @@ function createVuetify$1() {
23663
23694
  date
23664
23695
  };
23665
23696
  }
23666
- const version$1 = "3.3.9-master.2023-07-19";
23697
+ const version$1 = "3.3.9-master.2023-07-21";
23667
23698
  createVuetify$1.version = version$1;
23668
23699
 
23669
23700
  // Vue's inject() can only be used in setup
@@ -23677,7 +23708,7 @@ function inject(key) {
23677
23708
 
23678
23709
  /* eslint-disable local-rules/sort-imports */
23679
23710
 
23680
- const version = "3.3.9-master.2023-07-19";
23711
+ const version = "3.3.9-master.2023-07-21";
23681
23712
 
23682
23713
  /* eslint-disable local-rules/sort-imports */
23683
23714