vuetify 3.5.12 → 3.5.14
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/dist/json/attributes.json +160 -160
- package/dist/json/importMap-labs.json +10 -10
- package/dist/json/importMap.json +124 -124
- package/dist/json/web-types.json +161 -161
- package/dist/vuetify-labs.css +2164 -2150
- package/dist/vuetify-labs.d.ts +993 -845
- package/dist/vuetify-labs.esm.js +91 -23
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +91 -23
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +745 -736
- package/dist/vuetify.d.ts +789 -669
- package/dist/vuetify.esm.js +86 -18
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +86 -18
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +122 -120
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/index.d.mts +2 -0
- package/lib/blueprints/md1.d.mts +2 -0
- package/lib/blueprints/md2.d.mts +2 -0
- package/lib/blueprints/md3.d.mts +2 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +6 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +34 -28
- package/lib/components/VBtn/VBtn.mjs +2 -0
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VChip/VChip.mjs +1 -0
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +6 -0
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +34 -28
- package/lib/components/VDataTable/VDataTableServer.mjs +3 -2
- package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.mjs +9 -2
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VField/VField.mjs +29 -3
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/index.d.mts +9 -3
- package/lib/components/VFileInput/VFileInput.mjs +2 -2
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.mts +51 -23
- package/lib/components/VList/VListItem.css +3 -0
- package/lib/components/VList/VListItem.sass +4 -0
- package/lib/components/VOtpInput/VOtpInput.mjs +1 -1
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs +4 -3
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +6 -0
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +34 -28
- package/lib/components/VSwitch/VSwitch.css +6 -0
- package/lib/components/VSwitch/VSwitch.sass +7 -0
- package/lib/components/VSwitch/_variables.scss +1 -0
- package/lib/components/VTextField/index.d.mts +88 -46
- package/lib/components/VTextarea/index.d.mts +54 -26
- package/lib/components/index.d.mts +764 -650
- package/lib/composables/date/DateAdapter.mjs.map +1 -1
- package/lib/composables/date/adapters/vuetify.mjs +14 -0
- package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
- package/lib/composables/router.mjs +2 -2
- package/lib/composables/router.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +44 -38
- package/lib/labs/VEmptyState/VEmptyState.css +4 -0
- package/lib/labs/VEmptyState/VEmptyState.mjs +6 -1
- package/lib/labs/VEmptyState/VEmptyState.mjs.map +1 -1
- package/lib/labs/VEmptyState/VEmptyState.sass +4 -0
- package/lib/labs/VEmptyState/_variables.scss +1 -0
- package/lib/labs/VNumberInput/VNumberInput.css +1 -0
- package/lib/labs/VNumberInput/VNumberInput.mjs +0 -4
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/VNumberInput.sass +1 -0
- package/lib/labs/VNumberInput/index.d.mts +51 -23
- package/lib/labs/components.d.mts +50 -22
- package/package.json +2 -2
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.5.
|
|
2
|
+
* Vuetify v3.5.14
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -5084,7 +5084,7 @@
|
|
|
5084
5084
|
const isClickable = vue.computed(() => {
|
|
5085
5085
|
return isLink?.value || hasEvent(attrs, 'click') || hasEvent(props, 'click');
|
|
5086
5086
|
});
|
|
5087
|
-
if (typeof RouterLink === 'string') {
|
|
5087
|
+
if (typeof RouterLink === 'string' || !('useLink' in RouterLink)) {
|
|
5088
5088
|
return {
|
|
5089
5089
|
isLink,
|
|
5090
5090
|
isClickable,
|
|
@@ -5094,7 +5094,7 @@
|
|
|
5094
5094
|
// vue-router useLink `to` prop needs to be reactive and useLink will crash if undefined
|
|
5095
5095
|
const linkProps = vue.computed(() => ({
|
|
5096
5096
|
...props,
|
|
5097
|
-
to:
|
|
5097
|
+
to: vue.toRef(() => props.to || {})
|
|
5098
5098
|
}));
|
|
5099
5099
|
const routerLink = RouterLink.useLink(linkProps.value);
|
|
5100
5100
|
// Actual link needs to be undefined when to prop is not used
|
|
@@ -5593,8 +5593,10 @@
|
|
|
5593
5593
|
'v-btn--stacked': props.stacked
|
|
5594
5594
|
}, themeClasses.value, borderClasses.value, hasColor ? colorClasses.value : undefined, densityClasses.value, elevationClasses.value, loaderClasses.value, positionClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, props.class],
|
|
5595
5595
|
"style": [hasColor ? colorStyles.value : undefined, dimensionStyles.value, locationStyles.value, sizeStyles.value, props.style],
|
|
5596
|
+
"aria-busy": props.loading ? true : undefined,
|
|
5596
5597
|
"disabled": isDisabled.value || undefined,
|
|
5597
5598
|
"href": link.href.value,
|
|
5599
|
+
"tabindex": props.loading ? -1 : undefined,
|
|
5598
5600
|
"onClick": onClick,
|
|
5599
5601
|
"value": valueAttr.value
|
|
5600
5602
|
}, {
|
|
@@ -7621,6 +7623,7 @@
|
|
|
7621
7623
|
const closeProps = vue.computed(() => ({
|
|
7622
7624
|
'aria-label': t(props.closeLabel),
|
|
7623
7625
|
onClick(e) {
|
|
7626
|
+
e.preventDefault();
|
|
7624
7627
|
e.stopPropagation();
|
|
7625
7628
|
isActive.value = false;
|
|
7626
7629
|
emit('click:close', e);
|
|
@@ -11138,6 +11141,12 @@
|
|
|
11138
11141
|
e.preventDefault();
|
|
11139
11142
|
}
|
|
11140
11143
|
}
|
|
11144
|
+
function onKeydownClear(e) {
|
|
11145
|
+
if (e.key !== 'Enter' && e.key !== ' ') return;
|
|
11146
|
+
e.preventDefault();
|
|
11147
|
+
e.stopPropagation();
|
|
11148
|
+
props['onClick:clear']?.(new MouseEvent('click'));
|
|
11149
|
+
}
|
|
11141
11150
|
useRender(() => {
|
|
11142
11151
|
const isOutlined = props.variant === 'outlined';
|
|
11143
11152
|
const hasPrepend = !!(slots['prepend-inner'] || props.prependInnerIcon);
|
|
@@ -11218,9 +11227,28 @@
|
|
|
11218
11227
|
e.preventDefault();
|
|
11219
11228
|
e.stopPropagation();
|
|
11220
11229
|
}
|
|
11221
|
-
}, [
|
|
11222
|
-
"
|
|
11223
|
-
|
|
11230
|
+
}, [vue.createVNode(VDefaultsProvider, {
|
|
11231
|
+
"defaults": {
|
|
11232
|
+
VIcon: {
|
|
11233
|
+
icon: props.clearIcon
|
|
11234
|
+
}
|
|
11235
|
+
}
|
|
11236
|
+
}, {
|
|
11237
|
+
default: () => [slots.clear ? slots.clear({
|
|
11238
|
+
...slotProps.value,
|
|
11239
|
+
props: {
|
|
11240
|
+
onKeydown: onKeydownClear,
|
|
11241
|
+
onFocus: focus,
|
|
11242
|
+
onBlur: blur,
|
|
11243
|
+
onClick: props['onClick:clear']
|
|
11244
|
+
}
|
|
11245
|
+
}) : vue.createVNode(InputIcon, {
|
|
11246
|
+
"name": "clear",
|
|
11247
|
+
"onKeydown": onKeydownClear,
|
|
11248
|
+
"onFocus": focus,
|
|
11249
|
+
"onBlur": blur
|
|
11250
|
+
}, null)]
|
|
11251
|
+
})]), [[vue.vShow, props.dirty]])]
|
|
11224
11252
|
}), hasAppend && vue.createVNode("div", {
|
|
11225
11253
|
"key": "append",
|
|
11226
11254
|
"class": "v-field__append-inner"
|
|
@@ -12243,6 +12271,12 @@
|
|
|
12243
12271
|
}
|
|
12244
12272
|
const slotProps = {
|
|
12245
12273
|
'onClick:close': onChipClose,
|
|
12274
|
+
onKeydown(e) {
|
|
12275
|
+
if (e.key !== 'Enter' && e.key !== ' ') return;
|
|
12276
|
+
e.preventDefault();
|
|
12277
|
+
e.stopPropagation();
|
|
12278
|
+
onChipClose(e);
|
|
12279
|
+
},
|
|
12246
12280
|
onMousedown(e) {
|
|
12247
12281
|
e.preventDefault();
|
|
12248
12282
|
e.stopPropagation();
|
|
@@ -12807,6 +12841,12 @@
|
|
|
12807
12841
|
}
|
|
12808
12842
|
const slotProps = {
|
|
12809
12843
|
'onClick:close': onChipClose,
|
|
12844
|
+
onKeydown(e) {
|
|
12845
|
+
if (e.key !== 'Enter' && e.key !== ' ') return;
|
|
12846
|
+
e.preventDefault();
|
|
12847
|
+
e.stopPropagation();
|
|
12848
|
+
onChipClose(e);
|
|
12849
|
+
},
|
|
12810
12850
|
onMousedown(e) {
|
|
12811
12851
|
e.preventDefault();
|
|
12812
12852
|
e.stopPropagation();
|
|
@@ -16615,6 +16655,12 @@
|
|
|
16615
16655
|
}
|
|
16616
16656
|
const slotProps = {
|
|
16617
16657
|
'onClick:close': onChipClose,
|
|
16658
|
+
onKeydown(e) {
|
|
16659
|
+
if (e.key !== 'Enter' && e.key !== ' ') return;
|
|
16660
|
+
e.preventDefault();
|
|
16661
|
+
e.stopPropagation();
|
|
16662
|
+
onChipClose(e);
|
|
16663
|
+
},
|
|
16618
16664
|
onMousedown(e) {
|
|
16619
16665
|
e.preventDefault();
|
|
16620
16666
|
e.stopPropagation();
|
|
@@ -17564,6 +17610,9 @@
|
|
|
17564
17610
|
function getMonth(date) {
|
|
17565
17611
|
return date.getMonth();
|
|
17566
17612
|
}
|
|
17613
|
+
function getDate(date) {
|
|
17614
|
+
return date.getDate();
|
|
17615
|
+
}
|
|
17567
17616
|
function getNextMonth(date) {
|
|
17568
17617
|
return new Date(date.getFullYear(), date.getMonth() + 1, 1);
|
|
17569
17618
|
}
|
|
@@ -17642,6 +17691,11 @@
|
|
|
17642
17691
|
d.setMonth(count);
|
|
17643
17692
|
return d;
|
|
17644
17693
|
}
|
|
17694
|
+
function setDate(date, day) {
|
|
17695
|
+
const d = new Date(date);
|
|
17696
|
+
d.setDate(day);
|
|
17697
|
+
return d;
|
|
17698
|
+
}
|
|
17645
17699
|
function setYear(date, year) {
|
|
17646
17700
|
const d = new Date(date);
|
|
17647
17701
|
d.setFullYear(year);
|
|
@@ -17733,6 +17787,9 @@
|
|
|
17733
17787
|
setMonth(date, count) {
|
|
17734
17788
|
return setMonth(date, count);
|
|
17735
17789
|
}
|
|
17790
|
+
setDate(date, day) {
|
|
17791
|
+
return setDate(date, day);
|
|
17792
|
+
}
|
|
17736
17793
|
setYear(date, year) {
|
|
17737
17794
|
return setYear(date, year);
|
|
17738
17795
|
}
|
|
@@ -17748,6 +17805,9 @@
|
|
|
17748
17805
|
getMonth(date) {
|
|
17749
17806
|
return getMonth(date);
|
|
17750
17807
|
}
|
|
17808
|
+
getDate(date) {
|
|
17809
|
+
return getDate(date);
|
|
17810
|
+
}
|
|
17751
17811
|
getNextMonth(date) {
|
|
17752
17812
|
return getNextMonth(date);
|
|
17753
17813
|
}
|
|
@@ -20175,9 +20235,9 @@
|
|
|
20175
20235
|
}, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
|
|
20176
20236
|
"items": flatItems.value
|
|
20177
20237
|
}), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
|
|
20178
|
-
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : vue.createVNode(VDataTableFooter, dataTableFooterProps, {
|
|
20238
|
+
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : vue.createVNode(vue.Fragment, null, [vue.createVNode(VDivider, null, null), vue.createVNode(VDataTableFooter, dataTableFooterProps, {
|
|
20179
20239
|
prepend: slots['footer.prepend']
|
|
20180
|
-
})
|
|
20240
|
+
})])
|
|
20181
20241
|
});
|
|
20182
20242
|
});
|
|
20183
20243
|
}
|
|
@@ -21207,10 +21267,17 @@
|
|
|
21207
21267
|
const year = vue.ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))));
|
|
21208
21268
|
const isReversing = vue.shallowRef(false);
|
|
21209
21269
|
const header = vue.computed(() => {
|
|
21210
|
-
|
|
21270
|
+
if (props.multiple && model.value.length > 1) {
|
|
21271
|
+
return t('$vuetify.datePicker.itemsSelected', model.value.length);
|
|
21272
|
+
}
|
|
21273
|
+
return model.value[0] && adapter.isValid(model.value[0]) ? adapter.format(adapter.date(model.value[0]), 'normalDateWithWeekday') : t(props.header);
|
|
21211
21274
|
});
|
|
21212
21275
|
const text = vue.computed(() => {
|
|
21213
|
-
|
|
21276
|
+
let date = adapter.date();
|
|
21277
|
+
date = adapter.setYear(date, year.value);
|
|
21278
|
+
date = adapter.setMonth(date, month.value);
|
|
21279
|
+
date = adapter.setDate(date, 1);
|
|
21280
|
+
return adapter.format(date, 'monthAndYear');
|
|
21214
21281
|
});
|
|
21215
21282
|
// const headerIcon = computed(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)
|
|
21216
21283
|
const headerTransition = vue.computed(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`);
|
|
@@ -21639,7 +21706,7 @@
|
|
|
21639
21706
|
prependIcon: '$file'
|
|
21640
21707
|
}),
|
|
21641
21708
|
modelValue: {
|
|
21642
|
-
type: Array,
|
|
21709
|
+
type: [Array, Object],
|
|
21643
21710
|
default: () => [],
|
|
21644
21711
|
validator: val => {
|
|
21645
21712
|
return wrapInArray(val).every(v => v != null && typeof v === 'object');
|
|
@@ -21668,7 +21735,7 @@
|
|
|
21668
21735
|
const {
|
|
21669
21736
|
t
|
|
21670
21737
|
} = useLocale();
|
|
21671
|
-
const model = useProxiedModel(props, 'modelValue');
|
|
21738
|
+
const model = useProxiedModel(props, 'modelValue', props.modelValue, val => wrapInArray(val), val => props.multiple || Array.isArray(props.modelValue) ? val : val[0]);
|
|
21672
21739
|
const {
|
|
21673
21740
|
isFocused,
|
|
21674
21741
|
focus,
|
|
@@ -23097,7 +23164,7 @@
|
|
|
23097
23164
|
focus,
|
|
23098
23165
|
blur
|
|
23099
23166
|
} = useFocus(props);
|
|
23100
|
-
const model = useProxiedModel(props, 'modelValue', '', val => String(val).split(''), val => val.join(''));
|
|
23167
|
+
const model = useProxiedModel(props, 'modelValue', '', val => val == null ? [] : String(val).split(''), val => val.join(''));
|
|
23101
23168
|
const {
|
|
23102
23169
|
t
|
|
23103
23170
|
} = useLocale();
|
|
@@ -23523,7 +23590,8 @@
|
|
|
23523
23590
|
onSliderMousedown,
|
|
23524
23591
|
onSliderTouchstart,
|
|
23525
23592
|
position,
|
|
23526
|
-
trackContainerRef
|
|
23593
|
+
trackContainerRef,
|
|
23594
|
+
readonly
|
|
23527
23595
|
} = useSlider({
|
|
23528
23596
|
props,
|
|
23529
23597
|
steps,
|
|
@@ -23591,8 +23659,8 @@
|
|
|
23591
23659
|
} = _ref4;
|
|
23592
23660
|
return vue.createVNode("div", {
|
|
23593
23661
|
"class": "v-slider__container",
|
|
23594
|
-
"onMousedown": onSliderMousedown,
|
|
23595
|
-
"onTouchstartPassive": onSliderTouchstart
|
|
23662
|
+
"onMousedown": !readonly.value ? onSliderMousedown : undefined,
|
|
23663
|
+
"onTouchstartPassive": !readonly.value ? onSliderTouchstart : undefined
|
|
23596
23664
|
}, [vue.createVNode("input", {
|
|
23597
23665
|
"id": `${id.value}_start`,
|
|
23598
23666
|
"name": props.name || id.value,
|
|
@@ -26246,6 +26314,9 @@
|
|
|
26246
26314
|
const {
|
|
26247
26315
|
dimensionStyles
|
|
26248
26316
|
} = useDimension(props);
|
|
26317
|
+
const {
|
|
26318
|
+
displayClasses
|
|
26319
|
+
} = useDisplay();
|
|
26249
26320
|
function onClickAction(e) {
|
|
26250
26321
|
emit('click:action', e);
|
|
26251
26322
|
}
|
|
@@ -26259,7 +26330,7 @@
|
|
|
26259
26330
|
return vue.createVNode("div", {
|
|
26260
26331
|
"class": ['v-empty-state', {
|
|
26261
26332
|
[`v-empty-state--${props.justify}`]: true
|
|
26262
|
-
}, themeClasses.value, backgroundColorClasses.value, props.class],
|
|
26333
|
+
}, themeClasses.value, backgroundColorClasses.value, displayClasses.value, props.class],
|
|
26263
26334
|
"style": [backgroundColorStyles.value, dimensionStyles.value, props.style]
|
|
26264
26335
|
}, [hasMedia && vue.createVNode("div", {
|
|
26265
26336
|
"key": "media",
|
|
@@ -26270,6 +26341,7 @@
|
|
|
26270
26341
|
"height": size
|
|
26271
26342
|
}, null) : props.icon ? vue.createVNode(VIcon, {
|
|
26272
26343
|
"key": "icon",
|
|
26344
|
+
"color": props.color,
|
|
26273
26345
|
"size": size,
|
|
26274
26346
|
"icon": props.icon
|
|
26275
26347
|
}, null) : undefined]) : vue.createVNode(VDefaultsProvider, {
|
|
@@ -26511,7 +26583,6 @@
|
|
|
26511
26583
|
"key": "decrement-btn",
|
|
26512
26584
|
"height": defaultHeight,
|
|
26513
26585
|
"icon": "$expand",
|
|
26514
|
-
"rounded": "0",
|
|
26515
26586
|
"size": "small",
|
|
26516
26587
|
"onClick": onClickDown
|
|
26517
26588
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
@@ -26519,7 +26590,6 @@
|
|
|
26519
26590
|
"defaults": {
|
|
26520
26591
|
VBtn: {
|
|
26521
26592
|
flat: true,
|
|
26522
|
-
rounded: '0',
|
|
26523
26593
|
height: defaultHeight,
|
|
26524
26594
|
size: 'small',
|
|
26525
26595
|
icon: '$expand'
|
|
@@ -26535,7 +26605,6 @@
|
|
|
26535
26605
|
"height": defaultHeight,
|
|
26536
26606
|
"icon": "$collapse",
|
|
26537
26607
|
"onClick": onClickUp,
|
|
26538
|
-
"rounded": "0",
|
|
26539
26608
|
"size": "small"
|
|
26540
26609
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
26541
26610
|
"key": "increment-defaults",
|
|
@@ -26543,7 +26612,6 @@
|
|
|
26543
26612
|
VBtn: {
|
|
26544
26613
|
flat: true,
|
|
26545
26614
|
height: defaultHeight,
|
|
26546
|
-
rounded: '0',
|
|
26547
26615
|
size: 'small',
|
|
26548
26616
|
icon: '$collapse'
|
|
26549
26617
|
}
|
|
@@ -28512,7 +28580,7 @@
|
|
|
28512
28580
|
goTo
|
|
28513
28581
|
};
|
|
28514
28582
|
}
|
|
28515
|
-
const version$1 = "3.5.
|
|
28583
|
+
const version$1 = "3.5.14";
|
|
28516
28584
|
createVuetify$1.version = version$1;
|
|
28517
28585
|
|
|
28518
28586
|
// Vue's inject() can only be used in setup
|
|
@@ -28765,7 +28833,7 @@
|
|
|
28765
28833
|
|
|
28766
28834
|
/* eslint-disable local-rules/sort-imports */
|
|
28767
28835
|
|
|
28768
|
-
const version = "3.5.
|
|
28836
|
+
const version = "3.5.14";
|
|
28769
28837
|
|
|
28770
28838
|
/* eslint-disable local-rules/sort-imports */
|
|
28771
28839
|
|