@vuetify/nightly 3.2.0-dev-20230407.0 → 3.2.0-dev-20230415.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 (93) hide show
  1. package/CHANGELOG.md +2 -2
  2. package/dist/json/attributes.json +24 -8
  3. package/dist/json/importMap.json +14 -14
  4. package/dist/json/tags.json +5 -1
  5. package/dist/json/web-types.json +83 -47
  6. package/dist/vuetify-labs.css +2299 -2280
  7. package/dist/vuetify-labs.d.ts +548 -498
  8. package/dist/vuetify-labs.esm.js +92 -50
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +92 -50
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +23 -4
  13. package/dist/vuetify.d.ts +430 -406
  14. package/dist/vuetify.esm.js +74 -33
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +74 -33
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +280 -270
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAutocomplete/VAutocomplete.mjs +5 -2
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  23. package/lib/components/VAutocomplete/index.d.ts +38 -32
  24. package/lib/components/VCheckbox/index.d.ts +14 -14
  25. package/lib/components/VChip/VChip.mjs +2 -2
  26. package/lib/components/VChip/VChip.mjs.map +1 -1
  27. package/lib/components/VChip/index.d.ts +14 -14
  28. package/lib/components/VCombobox/VCombobox.mjs +6 -3
  29. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  30. package/lib/components/VCombobox/index.d.ts +38 -32
  31. package/lib/components/VField/VField.mjs +3 -3
  32. package/lib/components/VField/VField.mjs.map +1 -1
  33. package/lib/components/VField/index.d.ts +20 -20
  34. package/lib/components/VFileInput/VFileInput.mjs +0 -1
  35. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  36. package/lib/components/VFileInput/index.d.ts +50 -56
  37. package/lib/components/VImg/VImg.mjs +3 -3
  38. package/lib/components/VImg/VImg.mjs.map +1 -1
  39. package/lib/components/VImg/index.d.ts +19 -19
  40. package/lib/components/VInput/VInput.mjs +2 -2
  41. package/lib/components/VInput/VInput.mjs.map +1 -1
  42. package/lib/components/VInput/index.d.ts +14 -14
  43. package/lib/components/VList/VList.mjs +2 -1
  44. package/lib/components/VList/VList.mjs.map +1 -1
  45. package/lib/components/VList/VListItem.css +12 -0
  46. package/lib/components/VList/VListItem.mjs +2 -2
  47. package/lib/components/VList/VListItem.mjs.map +1 -1
  48. package/lib/components/VList/VListItem.sass +5 -0
  49. package/lib/components/VList/index.d.ts +14 -14
  50. package/lib/components/VOverlay/useActivator.mjs +1 -0
  51. package/lib/components/VOverlay/useActivator.mjs.map +1 -1
  52. package/lib/components/VProgressCircular/VProgressCircular.css +3 -1
  53. package/lib/components/VProgressCircular/VProgressCircular.sass +3 -1
  54. package/lib/components/VProgressCircular/_variables.scss +1 -0
  55. package/lib/components/VProgressLinear/VProgressLinear.css +5 -2
  56. package/lib/components/VProgressLinear/VProgressLinear.sass +3 -0
  57. package/lib/components/VProgressLinear/_variables.scss +1 -1
  58. package/lib/components/VRadioGroup/index.d.ts +14 -14
  59. package/lib/components/VRangeSlider/index.d.ts +14 -14
  60. package/lib/components/VSelect/VSelect.mjs +31 -2
  61. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  62. package/lib/components/VSelect/index.d.ts +38 -32
  63. package/lib/components/VSlider/index.d.ts +14 -14
  64. package/lib/components/VSwitch/index.d.ts +14 -14
  65. package/lib/components/VTextField/VTextField.mjs +2 -2
  66. package/lib/components/VTextField/VTextField.mjs.map +1 -1
  67. package/lib/components/VTextField/index.d.ts +83 -77
  68. package/lib/components/VTextarea/VTextarea.mjs +8 -5
  69. package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
  70. package/lib/components/VTextarea/index.d.ts +56 -50
  71. package/lib/components/VToolbar/VToolbar.css +2 -0
  72. package/lib/components/VToolbar/VToolbar.sass +2 -0
  73. package/lib/components/index.d.ts +426 -402
  74. package/lib/composables/proxiedModel.mjs +2 -1
  75. package/lib/composables/proxiedModel.mjs.map +1 -1
  76. package/lib/composables/theme.mjs +1 -1
  77. package/lib/composables/theme.mjs.map +1 -1
  78. package/lib/entry-bundler.mjs +1 -1
  79. package/lib/framework.mjs +1 -1
  80. package/lib/index.d.ts +4 -4
  81. package/lib/labs/VDataTable/VDataTable.mjs +4 -4
  82. package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
  83. package/lib/labs/VDataTable/VDataTableRows.mjs +5 -7
  84. package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
  85. package/lib/labs/VDataTable/VDataTableServer.mjs +4 -3
  86. package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
  87. package/lib/labs/VDataTable/VDataTableVirtual.mjs +5 -3
  88. package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
  89. package/lib/labs/VDataTable/index.d.ts +122 -96
  90. package/lib/labs/components.d.ts +122 -96
  91. package/lib/util/helpers.mjs +1 -1
  92. package/lib/util/helpers.mjs.map +1 -1
  93. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.2.0-dev-20230407.0
2
+ * Vuetify v3.2.0-dev-20230415.0
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -343,7 +343,7 @@
343
343
  }
344
344
  const onRE = /^on[^a-z]/;
345
345
  const isOn = key => onRE.test(key);
346
- const EventProp = [Function, Array];
346
+ const EventProp = () => [Function, Array];
347
347
  function hasEvent(props, name) {
348
348
  name = 'on' + vue.capitalize(name);
349
349
  return !!(props[name] || props[`${name}Once`] || props[`${name}Capture`] || props[`${name}OnceCapture`] || props[`${name}CaptureOnce`]);
@@ -1707,7 +1707,7 @@
1707
1707
  if (/^on-[a-z]/.test(key)) {
1708
1708
  createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
1709
1709
  } else {
1710
- createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background: rgb(var(--v-theme-${key})) !important`, `color: rgb(var(--v-theme-on-${key})) !important`]);
1710
+ createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--v-theme-${key})) !important`, `color: rgb(var(--v-theme-on-${key})) !important`]);
1711
1711
  createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
1712
1712
  createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]);
1713
1713
  }
@@ -1845,7 +1845,8 @@
1845
1845
  });
1846
1846
  const model = vue.computed({
1847
1847
  get() {
1848
- return transformIn(isControlled.value ? props[prop] : internal.value);
1848
+ const externalValue = props[prop];
1849
+ return transformIn(isControlled.value ? externalValue : internal.value);
1849
1850
  },
1850
1851
  set(internalValue) {
1851
1852
  const newValue = transformOut(internalValue);
@@ -2719,9 +2720,9 @@
2719
2720
  ...makeTransitionProps()
2720
2721
  },
2721
2722
  emits: {
2722
- loadstart: event => true,
2723
- load: event => true,
2724
- error: event => true
2723
+ loadstart: value => true,
2724
+ load: value => true,
2725
+ error: value => true
2725
2726
  },
2726
2727
  setup(props, _ref) {
2727
2728
  let {
@@ -5346,9 +5347,9 @@
5346
5347
  default: 'filled',
5347
5348
  validator: v => allowedVariants$1.includes(v)
5348
5349
  },
5349
- 'onClick:clear': EventProp,
5350
- 'onClick:appendInner': EventProp,
5351
- 'onClick:prependInner': EventProp,
5350
+ 'onClick:clear': EventProp(),
5351
+ 'onClick:appendInner': EventProp(),
5352
+ 'onClick:prependInner': EventProp(),
5352
5353
  ...makeThemeProps(),
5353
5354
  ...makeLoaderProps()
5354
5355
  }, 'v-field');
@@ -5894,8 +5895,8 @@
5894
5895
  default: 'horizontal',
5895
5896
  validator: v => ['horizontal', 'vertical'].includes(v)
5896
5897
  },
5897
- 'onClick:prepend': EventProp,
5898
- 'onClick:append': EventProp,
5898
+ 'onClick:prepend': EventProp(),
5899
+ 'onClick:append': EventProp(),
5899
5900
  ...makeDensityProps(),
5900
5901
  ...makeValidationProps()
5901
5902
  }, 'v-input');
@@ -6126,6 +6127,7 @@
6126
6127
  type: String,
6127
6128
  default: 'text'
6128
6129
  },
6130
+ modelModifiers: Object,
6129
6131
  ...makeVInputProps(),
6130
6132
  ...makeVFieldProps()
6131
6133
  }, 'v-text-field');
@@ -6200,7 +6202,7 @@
6200
6202
  function onInput(e) {
6201
6203
  const el = e.target;
6202
6204
  model.value = el.value;
6203
- if (['text', 'search', 'password', 'tel', 'url'].includes(props.type)) {
6205
+ if (props.modelModifiers?.trim && ['text', 'search', 'password', 'tel', 'url'].includes(props.type)) {
6204
6206
  const caretPosition = [el.selectionStart, el.selectionEnd];
6205
6207
  vue.nextTick(() => {
6206
6208
  el.selectionStart = caretPosition[0];
@@ -6837,8 +6839,8 @@
6837
6839
  type: Boolean,
6838
6840
  default: true
6839
6841
  },
6840
- onClick: EventProp,
6841
- onClickOnce: EventProp,
6842
+ onClick: EventProp(),
6843
+ onClickOnce: EventProp(),
6842
6844
  ...makeBorderProps(),
6843
6845
  ...makeDensityProps(),
6844
6846
  ...makeElevationProps(),
@@ -7682,8 +7684,8 @@
7682
7684
  subtitle: [String, Number, Boolean],
7683
7685
  title: [String, Number, Boolean],
7684
7686
  value: null,
7685
- onClick: EventProp,
7686
- onClickOnce: EventProp,
7687
+ onClick: EventProp(),
7688
+ onClickOnce: EventProp(),
7687
7689
  ...makeBorderProps(),
7688
7690
  ...makeDensityProps(),
7689
7691
  ...makeDimensionProps(),
@@ -8225,7 +8227,8 @@
8225
8227
  }
8226
8228
  function focus(location) {
8227
8229
  if (!contentRef.value) return;
8228
- const focusable = [...contentRef.value.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')].filter(el => !el.hasAttribute('disabled'));
8230
+ const targets = ['button', '[href]', 'input', 'select', 'textarea', '[tabindex]'].map(s => `${s}:not([tabindex="-1"])`).join(', ');
8231
+ const focusable = [...contentRef.value.querySelectorAll(targets)].filter(el => !el.hasAttribute('disabled'));
8229
8232
  const idx = focusable.indexOf(document.activeElement);
8230
8233
  if (!location) {
8231
8234
  if (!contentRef.value.contains(document.activeElement)) {
@@ -8406,6 +8409,7 @@
8406
8409
  isActive.value = !isActive.value;
8407
8410
  },
8408
8411
  mouseenter: e => {
8412
+ if (e.sourceCapabilities?.firesTouchEvents) return;
8409
8413
  isHovered = true;
8410
8414
  activatorEl.value = e.currentTarget || e.target;
8411
8415
  runOpenDelay();
@@ -9932,6 +9936,9 @@
9932
9936
  });
9933
9937
  });
9934
9938
  const selected = vue.computed(() => selections.value.map(selection => selection.props.value));
9939
+ const isFocused = vue.ref(false);
9940
+ let keyboardLookupPrefix = '';
9941
+ let keyboardLookupLastTime;
9935
9942
  const displayItems = vue.computed(() => {
9936
9943
  if (props.hideSelected) {
9937
9944
  return items.value.filter(item => !selections.value.some(s => s === item));
@@ -9968,6 +9975,26 @@
9968
9975
  } else if (e.key === 'End') {
9969
9976
  listRef.value?.focus('last');
9970
9977
  }
9978
+
9979
+ // html select hotkeys
9980
+ const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds
9981
+
9982
+ function checkPrintable(e) {
9983
+ const isPrintableChar = e.key.length === 1;
9984
+ const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
9985
+ return isPrintableChar && noModifier;
9986
+ }
9987
+ if (props.multiple || !checkPrintable(e)) return;
9988
+ const now = performance.now();
9989
+ if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
9990
+ keyboardLookupPrefix = '';
9991
+ }
9992
+ keyboardLookupPrefix += e.key.toLowerCase();
9993
+ keyboardLookupLastTime = now;
9994
+ const item = items.value.find(item => item.title.toLowerCase().startsWith(keyboardLookupPrefix));
9995
+ if (item !== undefined) {
9996
+ model.value = [item];
9997
+ }
9971
9998
  }
9972
9999
  function select(item) {
9973
10000
  if (props.multiple) {
@@ -9997,7 +10024,9 @@
9997
10024
  useRender(() => {
9998
10025
  const hasChips = !!(props.chips || slots.chip);
9999
10026
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
10027
+ const isDirty = model.value.length > 0;
10000
10028
  const [textFieldProps] = VTextField.filterProps(props);
10029
+ const placeholder = isDirty || !isFocused.value && props.label && !props.persistentPlaceholder ? undefined : props.placeholder;
10001
10030
  return vue.createVNode(VTextField, vue.mergeProps({
10002
10031
  "ref": vTextFieldRef
10003
10032
  }, textFieldProps, {
@@ -10005,8 +10034,10 @@
10005
10034
  "onUpdate:modelValue": v => {
10006
10035
  if (v == null) model.value = [];
10007
10036
  },
10037
+ "focused": isFocused.value,
10038
+ "onUpdate:focused": $event => isFocused.value = $event,
10008
10039
  "validationValue": model.externalValue,
10009
- "dirty": model.value.length > 0,
10040
+ "dirty": isDirty,
10010
10041
  "class": ['v-select', {
10011
10042
  'v-select--active-menu': menu.value,
10012
10043
  'v-select--chips': !!props.chips,
@@ -10015,6 +10046,7 @@
10015
10046
  }],
10016
10047
  "appendInnerIcon": props.menuIcon,
10017
10048
  "readonly": true,
10049
+ "placeholder": placeholder,
10018
10050
  "onClick:clear": onClear,
10019
10051
  "onMousedown:control": onMousedownControl,
10020
10052
  "onBlur": onBlur,
@@ -10063,7 +10095,8 @@
10063
10095
  } = _ref2;
10064
10096
  return props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
10065
10097
  "modelValue": isSelected,
10066
- "ripple": false
10098
+ "ripple": false,
10099
+ "tabindex": "-1"
10067
10100
  }, null) : undefined;
10068
10101
  }
10069
10102
  });
@@ -10390,6 +10423,7 @@
10390
10423
  useRender(() => {
10391
10424
  const hasChips = !!(props.chips || slots.chip);
10392
10425
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
10426
+ const isDirty = model.value.length > 0;
10393
10427
  const [textFieldProps] = VTextField.filterProps(props);
10394
10428
  return vue.createVNode(VTextField, vue.mergeProps({
10395
10429
  "ref": vTextFieldRef
@@ -10399,7 +10433,7 @@
10399
10433
  if (v == null) model.value = [];
10400
10434
  },
10401
10435
  "validationValue": model.externalValue,
10402
- "dirty": model.value.length > 0,
10436
+ "dirty": isDirty,
10403
10437
  "onInput": onInput,
10404
10438
  "class": ['v-autocomplete', {
10405
10439
  'v-autocomplete--active-menu': menu.value,
@@ -10409,6 +10443,7 @@
10409
10443
  }],
10410
10444
  "appendInnerIcon": props.menuIcon,
10411
10445
  "readonly": props.readonly,
10446
+ "placeholder": isDirty ? undefined : props.placeholder,
10412
10447
  "onClick:clear": onClear,
10413
10448
  "onMousedown:control": onMousedownControl,
10414
10449
  "onFocus": () => isFocused.value = true,
@@ -10455,7 +10490,8 @@
10455
10490
  } = _ref2;
10456
10491
  return props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
10457
10492
  "modelValue": isSelected,
10458
- "ripple": false
10493
+ "ripple": false,
10494
+ "tabindex": "-1"
10459
10495
  }, null) : undefined;
10460
10496
  },
10461
10497
  title: () => {
@@ -13571,7 +13607,7 @@
13571
13607
  textColorClasses,
13572
13608
  textColorStyles
13573
13609
  } = useTextColor(color);
13574
- const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v || [])), v => {
13610
+ const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v)), v => {
13575
13611
  const transformed = transformOut(v);
13576
13612
  return props.multiple ? transformed : transformed[0] ?? null;
13577
13613
  });
@@ -13749,6 +13785,7 @@
13749
13785
  useRender(() => {
13750
13786
  const hasChips = !!(props.chips || slots.chip);
13751
13787
  const hasList = !!(!props.hideNoData || displayItems.value.length || slots.prepend || slots.append || slots['no-data']);
13788
+ const isDirty = model.value.length > 0;
13752
13789
  const [textFieldProps] = VTextField.filterProps(props);
13753
13790
  return vue.createVNode(VTextField, vue.mergeProps({
13754
13791
  "ref": vTextFieldRef
@@ -13758,7 +13795,7 @@
13758
13795
  if (v == null) model.value = [];
13759
13796
  }],
13760
13797
  "validationValue": model.externalValue,
13761
- "dirty": model.value.length > 0,
13798
+ "dirty": isDirty,
13762
13799
  "class": ['v-combobox', {
13763
13800
  'v-combobox--active-menu': menu.value,
13764
13801
  'v-combobox--chips': !!props.chips,
@@ -13767,6 +13804,7 @@
13767
13804
  }],
13768
13805
  "appendInnerIcon": props.items.length ? props.menuIcon : undefined,
13769
13806
  "readonly": props.readonly,
13807
+ "placeholder": isDirty ? undefined : props.placeholder,
13770
13808
  "onClick:clear": onClear,
13771
13809
  "onMousedown:control": onMousedownControl,
13772
13810
  "onFocus": () => isFocused.value = true,
@@ -13813,7 +13851,8 @@
13813
13851
  } = _ref2;
13814
13852
  return props.multiple && !props.hideSelected ? vue.createVNode(VCheckboxBtn, {
13815
13853
  "modelValue": isSelected,
13816
- "ripple": false
13854
+ "ripple": false,
13855
+ "tabindex": "-1"
13817
13856
  }, null) : undefined;
13818
13857
  },
13819
13858
  title: () => {
@@ -14223,7 +14262,6 @@
14223
14262
  multiple: Boolean,
14224
14263
  hint: String,
14225
14264
  persistentHint: Boolean,
14226
- placeholder: String,
14227
14265
  showSize: {
14228
14266
  type: [Boolean, Number],
14229
14267
  default: false,
@@ -17439,6 +17477,7 @@
17439
17477
  validator: v => !isNaN(parseFloat(v))
17440
17478
  },
17441
17479
  suffix: String,
17480
+ modelModifiers: Object,
17442
17481
  ...makeVInputProps(),
17443
17482
  ...makeVFieldProps()
17444
17483
  },
@@ -17503,12 +17542,14 @@
17503
17542
  }
17504
17543
  function onInput(e) {
17505
17544
  const el = e.target;
17506
- const caretPosition = [el.selectionStart, el.selectionEnd];
17507
17545
  model.value = el.value;
17508
- vue.nextTick(() => {
17509
- el.selectionStart = caretPosition[0];
17510
- el.selectionEnd = caretPosition[1];
17511
- });
17546
+ if (props.modelModifiers?.trim) {
17547
+ const caretPosition = [el.selectionStart, el.selectionEnd];
17548
+ vue.nextTick(() => {
17549
+ el.selectionStart = caretPosition[0];
17550
+ el.selectionEnd = caretPosition[1];
17551
+ });
17552
+ }
17512
17553
  }
17513
17554
  const sizerRef = vue.ref();
17514
17555
  function calculateInputHeight() {
@@ -19023,10 +19064,8 @@
19023
19064
  type: String,
19024
19065
  default: '$vuetify.noDataText'
19025
19066
  },
19026
- rowHeight: Number
19027
- },
19028
- emits: {
19029
- 'click:row': (event, value) => true
19067
+ rowHeight: Number,
19068
+ 'onClick:row': Function
19030
19069
  },
19031
19070
  setup(props, _ref) {
19032
19071
  let {
@@ -19090,14 +19129,14 @@
19090
19129
  };
19091
19130
  return vue.createVNode(vue.Fragment, null, [slots.item ? slots.item(slotProps) : vue.createVNode(VDataTableRow, {
19092
19131
  "key": `item_${item.value}`,
19093
- "onClick": event => {
19132
+ "onClick": expandOnClick.value || props['onClick:row'] ? event => {
19094
19133
  if (expandOnClick.value) {
19095
19134
  toggleExpand(item);
19096
19135
  }
19097
- emit('click:row', event, {
19136
+ props['onClick:row']?.(event, {
19098
19137
  item
19099
19138
  });
19100
- },
19139
+ } : undefined,
19101
19140
  "index": index,
19102
19141
  "item": item
19103
19142
  }, slots), isExpanded(item) && slots['expanded-row']?.(slotProps)]);
@@ -19408,7 +19447,8 @@
19408
19447
  height: [String, Number],
19409
19448
  width: [String, Number],
19410
19449
  fixedHeader: Boolean,
19411
- fixedFooter: Boolean
19450
+ fixedFooter: Boolean,
19451
+ 'onClick:row': Function
19412
19452
  }, 'v-data-table');
19413
19453
  const VDataTable = genericComponent()({
19414
19454
  name: 'VDataTable',
@@ -19429,8 +19469,7 @@
19429
19469
  'update:sortBy': value => true,
19430
19470
  'update:options': value => true,
19431
19471
  'update:groupBy': value => true,
19432
- 'update:expanded': value => true,
19433
- 'click:row': (event, value) => true
19472
+ 'update:expanded': value => true
19434
19473
  },
19435
19474
  setup(props, _ref) {
19436
19475
  let {
@@ -19536,7 +19575,7 @@
19536
19575
  "multiSort": props.multiSort
19537
19576
  }, slots)]), slots.thead?.(), vue.createVNode("tbody", null, [slots.body ? slots.body() : vue.createVNode(VDataTableRows, {
19538
19577
  "items": paginatedItems.value,
19539
- "onClick:row": (event, value) => emit('click:row', event, value)
19578
+ "onClick:row": props['onClick:row']
19540
19579
  }, slots)]), slots.tbody?.(), slots.tfoot?.()])),
19541
19580
  bottom: slots.bottom ?? (() => vue.createVNode(VDataTableFooter, null, {
19542
19581
  prepend: slots['footer.prepend']
@@ -19647,7 +19686,7 @@
19647
19686
  'update:options': value => true,
19648
19687
  'update:groupBy': value => true,
19649
19688
  'update:expanded': value => true,
19650
- 'click:row': (event, value) => true
19689
+ 'click:row': (e, value) => true
19651
19690
  },
19652
19691
  setup(props, _ref) {
19653
19692
  let {
@@ -19731,8 +19770,10 @@
19731
19770
  "style": {
19732
19771
  '--v-table-row-height': convertToUnit(itemHeight.value)
19733
19772
  },
19773
+ "fixedHeader": props.fixedHeader,
19774
+ "fixedFooter": props.fixedFooter,
19734
19775
  "height": props.height,
19735
- "fixedHeader": props.fixedHeader
19776
+ "hover": props.hover
19736
19777
  }, {
19737
19778
  top: slots.top,
19738
19779
  wrapper: () => vue.createVNode("div", {
@@ -19758,7 +19799,7 @@
19758
19799
  }
19759
19800
  }, null)]), vue.createVNode(VDataTableRows, {
19760
19801
  "items": visibleItems.value,
19761
- "onClick:row": (event, value) => emit('click:row', event, value)
19802
+ "onClick:row": props['onClick:row']
19762
19803
  }, slots), vue.createVNode("tr", {
19763
19804
  "style": {
19764
19805
  height: convertToUnit(paddingBottom.value),
@@ -19808,7 +19849,7 @@
19808
19849
  'update:options': options => true,
19809
19850
  'update:expanded': options => true,
19810
19851
  'update:groupBy': value => true,
19811
- 'click:row': (event, value) => true
19852
+ 'click:row': (e, value) => true
19812
19853
  },
19813
19854
  setup(props, _ref) {
19814
19855
  let {
@@ -19886,7 +19927,8 @@
19886
19927
  }],
19887
19928
  "fixedHeader": props.fixedHeader,
19888
19929
  "fixedFooter": props.fixedFooter,
19889
- "height": props.height
19930
+ "height": props.height,
19931
+ "hover": props.hover
19890
19932
  }, {
19891
19933
  top: slots.top,
19892
19934
  default: slots.default ?? (() => vue.createVNode(vue.Fragment, null, [slots.colgroup?.({
@@ -19903,7 +19945,7 @@
19903
19945
  "role": "rowgroup"
19904
19946
  }, [slots.body ? slots.body() : vue.createVNode(VDataTableRows, {
19905
19947
  "items": flatItems.value,
19906
- "onClick:row": (event, value) => emit('click:row', event, value)
19948
+ "onClick:row": props['onClick:row']
19907
19949
  }, slots)]), slots.tbody?.(), slots.tfoot?.()])),
19908
19950
  bottom: slots.bottom ?? (() => vue.createVNode(VDataTableFooter, null, {
19909
19951
  prepend: slots['footer.prepend']
@@ -20395,7 +20437,7 @@
20395
20437
  locale
20396
20438
  };
20397
20439
  }
20398
- const version$1 = "3.2.0-dev-20230407.0";
20440
+ const version$1 = "3.2.0-dev-20230415.0";
20399
20441
  createVuetify$1.version = version$1;
20400
20442
 
20401
20443
  // Vue's inject() can only be used in setup
@@ -20407,7 +20449,7 @@
20407
20449
  }
20408
20450
  }
20409
20451
 
20410
- const version = "3.2.0-dev-20230407.0";
20452
+ const version = "3.2.0-dev-20230415.0";
20411
20453
 
20412
20454
  const createVuetify = function () {
20413
20455
  let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};