vuetify 3.11.1 → 3.11.2
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 +3244 -3236
- package/dist/json/importMap-labs.json +20 -20
- package/dist/json/importMap.json +156 -156
- package/dist/json/tags.json +2 -0
- package/dist/json/web-types.json +5864 -5845
- package/dist/vuetify-labs.cjs +41 -31
- package/dist/vuetify-labs.css +5306 -5310
- package/dist/vuetify-labs.d.ts +68 -55
- package/dist/vuetify-labs.esm.js +41 -31
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +41 -31
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +37 -27
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2654 -2655
- package/dist/vuetify.d.ts +68 -55
- package/dist/vuetify.esm.js +37 -27
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +37 -27
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +25 -21
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.js +1 -1
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaders.d.ts +10 -0
- package/lib/components/VDataTable/VDataTableHeaders.js +7 -7
- package/lib/components/VDataTable/VDataTableHeaders.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +8 -3
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDialog/__test__/VDialog.spec.browser.js +5 -9
- package/lib/components/VDialog/__test__/VDialog.spec.browser.js.map +1 -1
- package/lib/components/VHotkey/_variables.scss +1 -1
- package/lib/components/VNumberInput/VNumberInput.js +1 -1
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.js +4 -1
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VTabs/VTab.d.ts +13 -0
- package/lib/components/VTabs/VTab.js +3 -2
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/components/VTabs/VTabs.css +6 -7
- package/lib/components/VTabs/VTabs.js +1 -0
- package/lib/components/VTabs/VTabs.js.map +1 -1
- package/lib/components/VTabs/VTabs.sass +6 -7
- package/lib/components/VTextField/VTextField.js +8 -10
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/composables/autofocus.js +3 -1
- package/lib/composables/autofocus.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +55 -55
- package/lib/framework.js +1 -1
- package/lib/labs/VMaskInput/VMaskInput.js +4 -4
- package/lib/labs/VMaskInput/VMaskInput.js.map +1 -1
- package/lib/labs/VStepperVertical/VStepperVerticalItem.css +0 -3
- package/lib/labs/VStepperVertical/VStepperVerticalItem.sass +0 -3
- package/package.json +26 -26
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.11.
|
|
2
|
+
* Vuetify v3.11.2
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -8135,7 +8135,7 @@
|
|
|
8135
8135
|
},
|
|
8136
8136
|
showArrows: {
|
|
8137
8137
|
type: [Boolean, String],
|
|
8138
|
-
validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
|
|
8138
|
+
validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile', 'never'].includes(v)
|
|
8139
8139
|
},
|
|
8140
8140
|
...makeComponentProps(),
|
|
8141
8141
|
...makeDisplayProps({
|
|
@@ -8369,6 +8369,9 @@
|
|
|
8369
8369
|
const hasOverflowOrScroll = vue.computed(() => isOverflowing.value || Math.abs(scrollOffset.value) > 0);
|
|
8370
8370
|
const hasAffixes = vue.computed(() => {
|
|
8371
8371
|
switch (props.showArrows) {
|
|
8372
|
+
case 'never':
|
|
8373
|
+
return false;
|
|
8374
|
+
|
|
8372
8375
|
// Always show arrows on desktop & mobile
|
|
8373
8376
|
case 'always':
|
|
8374
8377
|
return true;
|
|
@@ -12835,7 +12838,9 @@
|
|
|
12835
12838
|
function useAutofocus(props) {
|
|
12836
12839
|
function onIntersect(isIntersecting, entries) {
|
|
12837
12840
|
if (!props.autofocus || !isIntersecting) return;
|
|
12838
|
-
entries[0].target
|
|
12841
|
+
const el = entries[0].target;
|
|
12842
|
+
const target = el.matches('input,textarea') ? el : el.querySelector('input,textarea');
|
|
12843
|
+
target?.focus();
|
|
12839
12844
|
}
|
|
12840
12845
|
return {
|
|
12841
12846
|
onIntersect
|
|
@@ -13013,7 +13018,7 @@
|
|
|
13013
13018
|
},
|
|
13014
13019
|
controlRef
|
|
13015
13020
|
} = _ref3;
|
|
13016
|
-
const inputNode = vue.
|
|
13021
|
+
const inputNode = vue.createElementVNode("input", vue.mergeProps({
|
|
13017
13022
|
"ref": val => inputRef.value = controlRef.value = val,
|
|
13018
13023
|
"value": model.value,
|
|
13019
13024
|
"onInput": onInput,
|
|
@@ -13028,21 +13033,19 @@
|
|
|
13028
13033
|
"type": props.type,
|
|
13029
13034
|
"onFocus": focus,
|
|
13030
13035
|
"onBlur": blur
|
|
13031
|
-
}, slotProps, inputAttrs), null)
|
|
13032
|
-
handler: onIntersect
|
|
13033
|
-
}, null, {
|
|
13034
|
-
once: true
|
|
13035
|
-
}]]);
|
|
13036
|
+
}, slotProps, inputAttrs), null);
|
|
13036
13037
|
return vue.createElementVNode(vue.Fragment, null, [props.prefix && vue.createElementVNode("span", {
|
|
13037
13038
|
"class": "v-text-field__prefix"
|
|
13038
13039
|
}, [vue.createElementVNode("span", {
|
|
13039
13040
|
"class": "v-text-field__prefix__text"
|
|
13040
|
-
}, [props.prefix])]), slots.default ? vue.createElementVNode("div", {
|
|
13041
|
+
}, [props.prefix])]), vue.withDirectives(slots.default ? vue.createElementVNode("div", {
|
|
13041
13042
|
"class": vue.normalizeClass(fieldClass),
|
|
13042
13043
|
"data-no-activator": ""
|
|
13043
13044
|
}, [slots.default(), inputNode]) : vue.cloneVNode(inputNode, {
|
|
13044
13045
|
class: fieldClass
|
|
13045
|
-
}),
|
|
13046
|
+
}), [[Intersect, onIntersect, null, {
|
|
13047
|
+
once: true
|
|
13048
|
+
}]]), props.suffix && vue.createElementVNode("span", {
|
|
13046
13049
|
"class": "v-text-field__suffix"
|
|
13047
13050
|
}, [vue.createElementVNode("span", {
|
|
13048
13051
|
"class": "v-text-field__suffix__text"
|
|
@@ -24712,6 +24715,7 @@
|
|
|
24712
24715
|
disableSort: Boolean,
|
|
24713
24716
|
fixedHeader: Boolean,
|
|
24714
24717
|
multiSort: Boolean,
|
|
24718
|
+
initialSortOrder: String,
|
|
24715
24719
|
sortAscIcon: {
|
|
24716
24720
|
type: IconValue,
|
|
24717
24721
|
default: '$sortAsc'
|
|
@@ -24774,8 +24778,7 @@
|
|
|
24774
24778
|
}
|
|
24775
24779
|
function getSortIcon(column) {
|
|
24776
24780
|
const item = sortBy.value.find(item => item.key === column.key);
|
|
24777
|
-
|
|
24778
|
-
return item.order === 'asc' ? props.sortAscIcon : props.sortDescIcon;
|
|
24781
|
+
return !item && props.initialSortOrder === 'asc' || item?.order === 'asc' ? props.sortAscIcon : props.sortDescIcon;
|
|
24779
24782
|
}
|
|
24780
24783
|
const {
|
|
24781
24784
|
backgroundColorClasses,
|
|
@@ -24875,6 +24878,7 @@
|
|
|
24875
24878
|
const displayItems = vue.computed(() => {
|
|
24876
24879
|
return columns.value.filter(column => column?.sortable && !props.disableSort);
|
|
24877
24880
|
});
|
|
24881
|
+
const showSelectColumn = columns.value.find(column => column.key === 'data-table-select');
|
|
24878
24882
|
return vue.createVNode(VDataTableColumn, vue.mergeProps({
|
|
24879
24883
|
"tag": "th",
|
|
24880
24884
|
"class": [...headerCellClasses.value],
|
|
@@ -24892,16 +24896,15 @@
|
|
|
24892
24896
|
"label": t('$vuetify.dataTable.sortBy'),
|
|
24893
24897
|
"multiple": props.multiSort,
|
|
24894
24898
|
"variant": "underlined",
|
|
24895
|
-
"onClick:clear": () => sortBy.value = []
|
|
24896
|
-
"onClick:append": () => selectAll(!allSelected.value)
|
|
24899
|
+
"onClick:clear": () => sortBy.value = []
|
|
24897
24900
|
}, {
|
|
24898
|
-
append: () => vue.createVNode(VCheckboxBtn, {
|
|
24901
|
+
append: showSelectColumn ? () => vue.createVNode(VCheckboxBtn, {
|
|
24899
24902
|
"color": props.color,
|
|
24900
24903
|
"density": "compact",
|
|
24901
24904
|
"modelValue": allSelected.value,
|
|
24902
24905
|
"indeterminate": someSelected.value && !allSelected.value,
|
|
24903
|
-
"onUpdate:modelValue": selectAll
|
|
24904
|
-
}, null),
|
|
24906
|
+
"onUpdate:modelValue": () => selectAll(!allSelected.value)
|
|
24907
|
+
}, null) : undefined,
|
|
24905
24908
|
chip: props => vue.createVNode(VChip, {
|
|
24906
24909
|
"onClick": props.item.raw?.sortable ? () => toggleSort(props.item.raw) : undefined,
|
|
24907
24910
|
"onMousedown": e => {
|
|
@@ -25457,7 +25460,7 @@
|
|
|
25457
25460
|
...makeDataTableItemsProps(),
|
|
25458
25461
|
...makeDataTableSelectProps(),
|
|
25459
25462
|
...makeDataTableSortProps(),
|
|
25460
|
-
...omit(makeVDataTableHeadersProps(), ['multiSort']),
|
|
25463
|
+
...omit(makeVDataTableHeadersProps(), ['multiSort', 'initialSortOrder']),
|
|
25461
25464
|
...makeVTableProps()
|
|
25462
25465
|
}, 'DataTable');
|
|
25463
25466
|
const makeVDataTableProps = propsFactory({
|
|
@@ -27349,7 +27352,10 @@
|
|
|
27349
27352
|
const formattedDate = model.value[0] && adapter.isValid(model.value[0]) ? adapter.format(adapter.date(model.value[0]), props.headerDateFormat) : t(props.header);
|
|
27350
27353
|
return props.landscape && formattedDate.split(' ').length === 3 ? formattedDate.replace(' ', '\n') : formattedDate;
|
|
27351
27354
|
});
|
|
27352
|
-
const date = vue.toRef(() =>
|
|
27355
|
+
const date = vue.toRef(() => {
|
|
27356
|
+
const monthTwoDigits = String(month.value + 1).padStart(2, '0');
|
|
27357
|
+
return adapter.parseISO(`${year.value}-${monthTwoDigits}-01`);
|
|
27358
|
+
});
|
|
27353
27359
|
const monthYearText = vue.toRef(() => adapter.format(date.value, 'monthAndYear'));
|
|
27354
27360
|
const monthText = vue.toRef(() => adapter.format(date.value, 'monthShort'));
|
|
27355
27361
|
const yearText = vue.toRef(() => adapter.format(date.value, 'year'));
|
|
@@ -27451,7 +27457,8 @@
|
|
|
27451
27457
|
function onClickNextYear() {
|
|
27452
27458
|
year.value++;
|
|
27453
27459
|
if (maxDate.value) {
|
|
27454
|
-
const
|
|
27460
|
+
const monthTwoDigits = String(month.value + 1).padStart(2, '0');
|
|
27461
|
+
const monthStart = adapter.parseISO(`${year.value}-${monthTwoDigits}-01`);
|
|
27455
27462
|
if (adapter.isAfter(monthStart, maxDate.value)) {
|
|
27456
27463
|
month.value = adapter.getMonth(maxDate.value);
|
|
27457
27464
|
}
|
|
@@ -27461,7 +27468,8 @@
|
|
|
27461
27468
|
function onClickPrevYear() {
|
|
27462
27469
|
year.value--;
|
|
27463
27470
|
if (minDate.value) {
|
|
27464
|
-
const
|
|
27471
|
+
const monthTwoDigits = String(month.value + 1).padStart(2, '0');
|
|
27472
|
+
const monthStart = adapter.endOfMonth(adapter.parseISO(`${year.value}-${monthTwoDigits}-01`));
|
|
27465
27473
|
if (adapter.isAfter(minDate.value, monthStart)) {
|
|
27466
27474
|
month.value = adapter.getMonth(minDate.value);
|
|
27467
27475
|
}
|
|
@@ -30318,7 +30326,7 @@
|
|
|
30318
30326
|
});
|
|
30319
30327
|
const isOutOfRange = vue.computed(() => {
|
|
30320
30328
|
if (_lastParsedValue.value === null) return false;
|
|
30321
|
-
const numberFromText = Number(_inputText.value);
|
|
30329
|
+
const numberFromText = Number(_inputText.value?.replace(decimalSeparator.value, '.'));
|
|
30322
30330
|
return numberFromText !== clamp(numberFromText, props.min, props.max);
|
|
30323
30331
|
});
|
|
30324
30332
|
const canIncrease = vue.computed(() => {
|
|
@@ -33188,6 +33196,7 @@
|
|
|
33188
33196
|
sliderTransition: String,
|
|
33189
33197
|
sliderTransitionDuration: [String, Number],
|
|
33190
33198
|
hideSlider: Boolean,
|
|
33199
|
+
inset: Boolean,
|
|
33191
33200
|
direction: {
|
|
33192
33201
|
type: String,
|
|
33193
33202
|
default: 'horizontal'
|
|
@@ -33282,8 +33291,8 @@
|
|
|
33282
33291
|
return vue.createVNode(VBtn, vue.mergeProps({
|
|
33283
33292
|
"symbol": VTabsSymbol,
|
|
33284
33293
|
"ref": rootEl,
|
|
33285
|
-
"class": ['v-tab', props.class, isSelected.value ? insetColorClasses.value : []],
|
|
33286
|
-
"style": [props.style, isSelected.value ? insetColorStyles.value : []],
|
|
33294
|
+
"class": ['v-tab', props.class, isSelected.value && props.inset ? insetColorClasses.value : []],
|
|
33295
|
+
"style": [props.style, isSelected.value && props.inset ? insetColorStyles.value : []],
|
|
33287
33296
|
"tabindex": isSelected.value ? 0 : -1,
|
|
33288
33297
|
"role": "tab",
|
|
33289
33298
|
"aria-selected": String(isSelected.value),
|
|
@@ -33446,6 +33455,7 @@
|
|
|
33446
33455
|
direction: vue.toRef(props, 'direction'),
|
|
33447
33456
|
stacked: vue.toRef(props, 'stacked'),
|
|
33448
33457
|
fixed: vue.toRef(props, 'fixedTabs'),
|
|
33458
|
+
inset: vue.toRef(props, 'inset'),
|
|
33449
33459
|
sliderColor: vue.toRef(props, 'sliderColor'),
|
|
33450
33460
|
sliderTransition: vue.toRef(props, 'sliderTransition'),
|
|
33451
33461
|
sliderTransitionDuration: vue.toRef(props, 'sliderTransitionDuration'),
|
|
@@ -36578,8 +36588,8 @@
|
|
|
36578
36588
|
}
|
|
36579
36589
|
async function onCut(e) {
|
|
36580
36590
|
e.preventDefault();
|
|
36581
|
-
copySelectionToClipboard(e);
|
|
36582
|
-
deleteSelection(e);
|
|
36591
|
+
await copySelectionToClipboard(e);
|
|
36592
|
+
await deleteSelection(e);
|
|
36583
36593
|
}
|
|
36584
36594
|
async function onPaste(e) {
|
|
36585
36595
|
e.preventDefault();
|
|
@@ -36594,12 +36604,12 @@
|
|
|
36594
36604
|
insertCharacters(inputElement, pastedCharacters);
|
|
36595
36605
|
}
|
|
36596
36606
|
}
|
|
36597
|
-
function copySelectionToClipboard(e) {
|
|
36607
|
+
async function copySelectionToClipboard(e) {
|
|
36598
36608
|
const inputElement = e.target;
|
|
36599
36609
|
const start = inputElement.selectionStart || 0;
|
|
36600
36610
|
const end = inputElement.selectionEnd || 0;
|
|
36601
36611
|
const selectedText = inputElement.value.substring(start, end);
|
|
36602
|
-
navigator.clipboard.writeText(selectedText);
|
|
36612
|
+
await navigator.clipboard.writeText(selectedText);
|
|
36603
36613
|
}
|
|
36604
36614
|
async function deleteSelection(e) {
|
|
36605
36615
|
const inputElement = e.target;
|
|
@@ -38993,7 +39003,7 @@
|
|
|
38993
39003
|
};
|
|
38994
39004
|
});
|
|
38995
39005
|
}
|
|
38996
|
-
const version$1 = "3.11.
|
|
39006
|
+
const version$1 = "3.11.2";
|
|
38997
39007
|
createVuetify$1.version = version$1;
|
|
38998
39008
|
|
|
38999
39009
|
// Vue's inject() can only be used in setup
|
|
@@ -39296,7 +39306,7 @@
|
|
|
39296
39306
|
|
|
39297
39307
|
/* eslint-disable local-rules/sort-imports */
|
|
39298
39308
|
|
|
39299
|
-
const version = "3.11.
|
|
39309
|
+
const version = "3.11.2";
|
|
39300
39310
|
|
|
39301
39311
|
/* eslint-disable local-rules/sort-imports */
|
|
39302
39312
|
|