@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.
- package/CHANGELOG.md +2 -2
- package/dist/json/attributes.json +24 -8
- package/dist/json/importMap.json +14 -14
- package/dist/json/tags.json +5 -1
- package/dist/json/web-types.json +83 -47
- package/dist/vuetify-labs.css +2299 -2280
- package/dist/vuetify-labs.d.ts +548 -498
- package/dist/vuetify-labs.esm.js +92 -50
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +92 -50
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +23 -4
- package/dist/vuetify.d.ts +430 -406
- package/dist/vuetify.esm.js +74 -33
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +74 -33
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +280 -270
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +5 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.ts +38 -32
- package/lib/components/VCheckbox/index.d.ts +14 -14
- package/lib/components/VChip/VChip.mjs +2 -2
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.ts +14 -14
- package/lib/components/VCombobox/VCombobox.mjs +6 -3
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.ts +38 -32
- package/lib/components/VField/VField.mjs +3 -3
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/index.d.ts +20 -20
- package/lib/components/VFileInput/VFileInput.mjs +0 -1
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +50 -56
- package/lib/components/VImg/VImg.mjs +3 -3
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.ts +19 -19
- package/lib/components/VInput/VInput.mjs +2 -2
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +14 -14
- package/lib/components/VList/VList.mjs +2 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +12 -0
- package/lib/components/VList/VListItem.mjs +2 -2
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +5 -0
- package/lib/components/VList/index.d.ts +14 -14
- package/lib/components/VOverlay/useActivator.mjs +1 -0
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VProgressCircular/VProgressCircular.css +3 -1
- package/lib/components/VProgressCircular/VProgressCircular.sass +3 -1
- package/lib/components/VProgressCircular/_variables.scss +1 -0
- package/lib/components/VProgressLinear/VProgressLinear.css +5 -2
- package/lib/components/VProgressLinear/VProgressLinear.sass +3 -0
- package/lib/components/VProgressLinear/_variables.scss +1 -1
- package/lib/components/VRadioGroup/index.d.ts +14 -14
- package/lib/components/VRangeSlider/index.d.ts +14 -14
- package/lib/components/VSelect/VSelect.mjs +31 -2
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +38 -32
- package/lib/components/VSlider/index.d.ts +14 -14
- package/lib/components/VSwitch/index.d.ts +14 -14
- package/lib/components/VTextField/VTextField.mjs +2 -2
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +83 -77
- package/lib/components/VTextarea/VTextarea.mjs +8 -5
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +56 -50
- package/lib/components/VToolbar/VToolbar.css +2 -0
- package/lib/components/VToolbar/VToolbar.sass +2 -0
- package/lib/components/index.d.ts +426 -402
- package/lib/composables/proxiedModel.mjs +2 -1
- package/lib/composables/proxiedModel.mjs.map +1 -1
- package/lib/composables/theme.mjs +1 -1
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +4 -4
- package/lib/labs/VDataTable/VDataTable.mjs +4 -4
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +5 -7
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +4 -3
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +5 -3
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +122 -96
- package/lib/labs/components.d.ts +122 -96
- package/lib/util/helpers.mjs +1 -1
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +2 -2
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.2.0-dev-
|
|
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
|
-
|
|
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:
|
|
2723
|
-
load:
|
|
2724
|
-
error:
|
|
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
|
|
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":
|
|
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":
|
|
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
|
|
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":
|
|
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
|
-
|
|
17509
|
-
el.selectionStart
|
|
17510
|
-
|
|
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
|
-
|
|
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":
|
|
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': (
|
|
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
|
-
"
|
|
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":
|
|
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': (
|
|
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":
|
|
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-
|
|
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-
|
|
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] : {};
|