@vuetify/nightly 3.8.8-master.2025-06-06 → 3.8.8-master.2025-06-07
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 +9 -3
- package/dist/json/attributes.json +2176 -2176
- package/dist/json/importMap-labs.json +28 -28
- package/dist/json/importMap.json +148 -148
- package/dist/json/web-types.json +4180 -4180
- package/dist/vuetify-labs.cjs +29 -35
- package/dist/vuetify-labs.css +4211 -4211
- package/dist/vuetify-labs.d.ts +64 -54
- package/dist/vuetify-labs.esm.js +29 -35
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +29 -35
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +23 -20
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3951 -3951
- package/dist/vuetify.d.ts +59 -54
- package/dist/vuetify.esm.js +23 -20
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +23 -20
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +30 -30
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/VDataTableFooter.js +3 -1
- package/lib/components/VDataTable/VDataTableFooter.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.d.ts +5 -0
- package/lib/components/VNumberInput/VNumberInput.js +7 -11
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +5 -2
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +5 -4
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +54 -54
- package/lib/framework.js +1 -1
- package/lib/labs/VColorInput/VColorInput.js +3 -8
- package/lib/labs/VColorInput/VColorInput.js.map +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +5 -0
- package/lib/labs/VDateInput/VDateInput.js +5 -9
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/package.json +1 -1
package/dist/vuetify-labs.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.8.8-master.2025-06-
|
2
|
+
* Vuetify v3.8.8-master.2025-06-07
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -12118,10 +12118,12 @@
|
|
12118
12118
|
const inputRef = vue.ref();
|
12119
12119
|
const isActive = vue.computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value || props.active);
|
12120
12120
|
function onFocus() {
|
12121
|
-
if (inputRef.value !== document.activeElement) {
|
12122
|
-
inputRef.value?.focus();
|
12123
|
-
}
|
12124
12121
|
if (!isFocused.value) focus();
|
12122
|
+
vue.nextTick(() => {
|
12123
|
+
if (inputRef.value !== document.activeElement) {
|
12124
|
+
inputRef.value?.focus();
|
12125
|
+
}
|
12126
|
+
});
|
12125
12127
|
}
|
12126
12128
|
function onControlMousedown(e) {
|
12127
12129
|
emit('mousedown:control', e);
|
@@ -12130,7 +12132,6 @@
|
|
12130
12132
|
e.preventDefault();
|
12131
12133
|
}
|
12132
12134
|
function onControlClick(e) {
|
12133
|
-
onFocus();
|
12134
12135
|
emit('click:control', e);
|
12135
12136
|
}
|
12136
12137
|
function onClear(e, reset) {
|
@@ -19943,7 +19944,9 @@
|
|
19943
19944
|
"class": "v-data-table-footer"
|
19944
19945
|
}, [slots.prepend?.(), vue.createElementVNode("div", {
|
19945
19946
|
"class": "v-data-table-footer__items-per-page"
|
19946
|
-
}, [vue.createElementVNode("span",
|
19947
|
+
}, [vue.createElementVNode("span", {
|
19948
|
+
"aria-label": t(props.itemsPerPageText)
|
19949
|
+
}, [t(props.itemsPerPageText)]), vue.createVNode(VSelect, {
|
19947
19950
|
"items": itemsPerPageOptions.value,
|
19948
19951
|
"modelValue": itemsPerPage.value,
|
19949
19952
|
"onUpdate:modelValue": v => setItemsPerPage(Number(v)),
|
@@ -24889,6 +24892,7 @@
|
|
24889
24892
|
...makeVNumberInputProps()
|
24890
24893
|
},
|
24891
24894
|
emits: {
|
24895
|
+
'update:focused': val => true,
|
24892
24896
|
'update:modelValue': val => true
|
24893
24897
|
},
|
24894
24898
|
setup(props, _ref) {
|
@@ -24904,11 +24908,7 @@
|
|
24904
24908
|
});
|
24905
24909
|
const form = useForm(props);
|
24906
24910
|
const controlsDisabled = vue.computed(() => form.isDisabled.value || form.isReadonly.value);
|
24907
|
-
const
|
24908
|
-
isFocused,
|
24909
|
-
focus,
|
24910
|
-
blur
|
24911
|
-
} = useFocus(props);
|
24911
|
+
const isFocused = vue.shallowRef(props.focused);
|
24912
24912
|
function correctPrecision(val) {
|
24913
24913
|
let precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : props.precision;
|
24914
24914
|
const fixed = precision == null ? String(val) : val.toFixed(precision);
|
@@ -25093,11 +25093,9 @@
|
|
25093
25093
|
inputText.value = model.value.toString();
|
25094
25094
|
}
|
25095
25095
|
function onFocus() {
|
25096
|
-
focus();
|
25097
25096
|
trimDecimalZeros();
|
25098
25097
|
}
|
25099
25098
|
function onBlur() {
|
25100
|
-
blur();
|
25101
25099
|
clampModel();
|
25102
25100
|
}
|
25103
25101
|
useRender(() => {
|
@@ -25190,9 +25188,12 @@
|
|
25190
25188
|
}, null)]) : props.reverse && controlVariant.value !== 'hidden' ? vue.createElementVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined;
|
25191
25189
|
const hasPrependInner = slots['prepend-inner'] || prependInnerControl;
|
25192
25190
|
return vue.createVNode(VTextField, vue.mergeProps({
|
25193
|
-
"ref": vTextFieldRef
|
25191
|
+
"ref": vTextFieldRef
|
25192
|
+
}, textFieldProps, {
|
25194
25193
|
"modelValue": inputText.value,
|
25195
25194
|
"onUpdate:modelValue": $event => inputText.value = $event,
|
25195
|
+
"focused": isFocused.value,
|
25196
|
+
"onUpdate:focused": $event => isFocused.value = $event,
|
25196
25197
|
"validationValue": model.value,
|
25197
25198
|
"onBeforeinput": onBeforeinput,
|
25198
25199
|
"onFocus": onFocus,
|
@@ -25205,8 +25206,7 @@
|
|
25205
25206
|
'v-number-input--reverse': props.reverse,
|
25206
25207
|
'v-number-input--split': controlVariant.value === 'split',
|
25207
25208
|
'v-number-input--stacked': controlVariant.value === 'stacked'
|
25208
|
-
}, props.class]
|
25209
|
-
}, textFieldProps, {
|
25209
|
+
}, props.class],
|
25210
25210
|
"style": props.style,
|
25211
25211
|
"inputmode": "decimal"
|
25212
25212
|
}), {
|
@@ -25341,7 +25341,7 @@
|
|
25341
25341
|
function onPaste(index, e) {
|
25342
25342
|
e.preventDefault();
|
25343
25343
|
e.stopPropagation();
|
25344
|
-
const clipboardText = e?.clipboardData?.getData('Text').slice(0, length.value) ?? '';
|
25344
|
+
const clipboardText = e?.clipboardData?.getData('Text').trim().slice(0, length.value) ?? '';
|
25345
25345
|
if (isValidNumber(clipboardText)) return;
|
25346
25346
|
model.value = clipboardText.split('');
|
25347
25347
|
inputRef.value?.[index].blur();
|
@@ -25373,7 +25373,10 @@
|
|
25373
25373
|
scoped: true
|
25374
25374
|
});
|
25375
25375
|
vue.watch(model, val => {
|
25376
|
-
if (val.length === length.value)
|
25376
|
+
if (val.length === length.value) {
|
25377
|
+
focusIndex.value = length.value - 1;
|
25378
|
+
emit('finish', val.join(''));
|
25379
|
+
}
|
25377
25380
|
}, {
|
25378
25381
|
deep: true
|
25379
25382
|
});
|
@@ -29264,13 +29267,9 @@
|
|
29264
29267
|
let {
|
29265
29268
|
slots
|
29266
29269
|
} = _ref;
|
29267
|
-
const {
|
29268
|
-
isFocused,
|
29269
|
-
focus,
|
29270
|
-
blur
|
29271
|
-
} = useFocus(props);
|
29272
29270
|
const model = useProxiedModel(props, 'modelValue');
|
29273
29271
|
const menu = vue.shallowRef(false);
|
29272
|
+
const isFocused = vue.shallowRef(props.focused);
|
29274
29273
|
const isInteractive = vue.computed(() => !props.disabled && !props.readonly);
|
29275
29274
|
const display = vue.computed(() => model.value || null);
|
29276
29275
|
function onKeydown(e) {
|
@@ -29301,10 +29300,9 @@
|
|
29301
29300
|
"modelValue": display.value,
|
29302
29301
|
"onKeydown": isInteractive.value ? onKeydown : undefined,
|
29303
29302
|
"focused": menu.value || isFocused.value,
|
29304
|
-
"onFocus": focus,
|
29305
|
-
"onBlur": blur,
|
29306
29303
|
"onClick:control": isInteractive.value ? onClick : undefined,
|
29307
29304
|
"onClick:prependInner": isInteractive.value ? onClick : undefined,
|
29305
|
+
"onUpdate:focused": event => isFocused.value = event,
|
29308
29306
|
"onClick:appendInner": isInteractive.value ? onClick : undefined,
|
29309
29307
|
"onUpdate:modelValue": val => {
|
29310
29308
|
model.value = val;
|
@@ -29508,6 +29506,7 @@
|
|
29508
29506
|
emits: {
|
29509
29507
|
save: value => true,
|
29510
29508
|
cancel: () => true,
|
29509
|
+
'update:focused': val => true,
|
29511
29510
|
'update:modelValue': val => true,
|
29512
29511
|
'update:menu': val => true
|
29513
29512
|
},
|
@@ -29530,15 +29529,11 @@
|
|
29530
29529
|
const {
|
29531
29530
|
mobile
|
29532
29531
|
} = useDisplay(props);
|
29533
|
-
const {
|
29534
|
-
isFocused,
|
29535
|
-
focus,
|
29536
|
-
blur
|
29537
|
-
} = useFocus(props);
|
29538
29532
|
const emptyModelValue = () => props.multiple ? [] : null;
|
29539
29533
|
const model = useProxiedModel(props, 'modelValue', emptyModelValue(), val => Array.isArray(val) ? val.map(item => adapter.toJsDate(item)) : val ? adapter.toJsDate(val) : val, val => Array.isArray(val) ? val.map(item => adapter.date(item)) : val ? adapter.date(val) : val);
|
29540
29534
|
const menu = useProxiedModel(props, 'menu');
|
29541
29535
|
const isEditingInput = vue.shallowRef(false);
|
29536
|
+
const isFocused = vue.shallowRef(props.focused);
|
29542
29537
|
const vTextFieldRef = vue.ref();
|
29543
29538
|
const disabledActions = vue.ref(['save']);
|
29544
29539
|
function format(date) {
|
@@ -29614,7 +29609,6 @@
|
|
29614
29609
|
if (props.updateOn.includes('blur')) {
|
29615
29610
|
onUserInput(e.target);
|
29616
29611
|
}
|
29617
|
-
blur();
|
29618
29612
|
|
29619
29613
|
// When in mobile mode and editing is done (due to keyboard dismissal), close the menu
|
29620
29614
|
if (mobile.value && isEditingInput.value && !isFocused.value) {
|
@@ -29659,12 +29653,12 @@
|
|
29659
29653
|
"readonly": isReadonly.value,
|
29660
29654
|
"onKeydown": isInteractive.value ? onKeydown : undefined,
|
29661
29655
|
"focused": menu.value || isFocused.value,
|
29662
|
-
"onFocus": focus,
|
29663
29656
|
"onBlur": onBlur,
|
29664
29657
|
"validationValue": model.value,
|
29665
29658
|
"onClick:control": isInteractive.value ? onClick : undefined,
|
29666
29659
|
"onClick:prepend": isInteractive.value ? onClick : undefined,
|
29667
|
-
"onUpdate:modelValue": onUpdateDisplayModel
|
29660
|
+
"onUpdate:modelValue": onUpdateDisplayModel,
|
29661
|
+
"onUpdate:focused": event => isFocused.value = event
|
29668
29662
|
}), {
|
29669
29663
|
...slots,
|
29670
29664
|
default: () => vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VMenu, {
|
@@ -32095,7 +32089,7 @@
|
|
32095
32089
|
};
|
32096
32090
|
});
|
32097
32091
|
}
|
32098
|
-
const version$1 = "3.8.8-master.2025-06-
|
32092
|
+
const version$1 = "3.8.8-master.2025-06-07";
|
32099
32093
|
createVuetify$1.version = version$1;
|
32100
32094
|
|
32101
32095
|
// Vue's inject() can only be used in setup
|
@@ -32393,7 +32387,7 @@
|
|
32393
32387
|
|
32394
32388
|
/* eslint-disable local-rules/sort-imports */
|
32395
32389
|
|
32396
|
-
const version = "3.8.8-master.2025-06-
|
32390
|
+
const version = "3.8.8-master.2025-06-07";
|
32397
32391
|
|
32398
32392
|
/* eslint-disable local-rules/sort-imports */
|
32399
32393
|
|