vuetify 3.6.5 → 3.6.7
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 +42 -2
- package/dist/json/importMap-labs.json +20 -20
- package/dist/json/importMap.json +144 -144
- package/dist/json/tags.json +11 -1
- package/dist/json/web-types.json +125 -16
- package/dist/vuetify-labs.css +2509 -2712
- package/dist/vuetify-labs.d.ts +178 -52
- package/dist/vuetify-labs.esm.js +102 -51
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +102 -51
- package/dist/vuetify-labs.min.css +3 -3
- package/dist/vuetify.css +783 -986
- package/dist/vuetify.d.ts +221 -95
- package/dist/vuetify.esm.js +72 -33
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +72 -33
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +3 -3
- package/dist/vuetify.min.js +118 -115
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +3 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VBanner/VBanner.mjs +3 -1
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/index.d.mts +15 -9
- package/lib/components/VBtn/VBtn.css +6 -0
- package/lib/components/VBtn/VBtn.sass +6 -0
- package/lib/components/VChipGroup/index.d.mts +15 -9
- package/lib/components/VCombobox/VCombobox.mjs +4 -3
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VConfirmEdit/VConfirmEdit.mjs +8 -0
- package/lib/components/VConfirmEdit/VConfirmEdit.mjs.map +1 -1
- package/lib/components/VConfirmEdit/index.d.mts +24 -3
- package/lib/components/VDataTable/VDataTable.css +4 -0
- package/lib/components/VDataTable/VDataTable.mjs +2 -1
- package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTable.sass +4 -0
- package/lib/components/VDataTable/VDataTableHeaders.mjs +4 -3
- package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.mjs +1 -1
- package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.mjs +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/components/VDataTable/composables/sort.mjs +1 -1
- package/lib/components/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/components/VDataTable/index.d.mts +63 -0
- package/lib/components/VDatePicker/VDatePicker.mjs +2 -1
- package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonths.mjs +10 -1
- package/lib/components/VDatePicker/VDatePickerMonths.mjs.map +1 -1
- package/lib/components/VDatePicker/index.d.mts +24 -6
- package/lib/components/VDivider/VDivider.css +2 -1
- package/lib/components/VDivider/VDivider.sass +2 -1
- package/lib/components/VField/VField.css +1 -0
- package/lib/components/VField/VField.sass +2 -0
- package/lib/components/VList/VListChildren.mjs +2 -1
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VMenu/VMenu.mjs +2 -1
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +1 -1
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.mjs +3 -1
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.mts +15 -9
- package/lib/components/VSwitch/VSwitch.css +44 -0
- package/lib/components/VSwitch/VSwitch.mjs +4 -3
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/VSwitch.sass +55 -0
- package/lib/components/VTabs/index.d.mts +15 -9
- package/lib/components/index.d.mts +171 -45
- package/lib/composables/defaults.mjs +1 -1
- package/lib/composables/defaults.mjs.map +1 -1
- package/lib/composables/dimensions.mjs +16 -8
- package/lib/composables/dimensions.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +50 -50
- package/lib/labs/VCalendar/VCalendar.mjs +2 -2
- package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
- package/lib/labs/VDateInput/index.d.mts +6 -6
- package/lib/labs/VNumberInput/VNumberInput.mjs +16 -6
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/index.d.mts +1 -1
- package/lib/labs/VTreeview/VTreeviewChildren.mjs +12 -10
- package/lib/labs/VTreeview/VTreeviewChildren.mjs.map +1 -1
- package/lib/labs/components.d.mts +7 -7
- package/lib/locale/de.mjs +4 -4
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/fa.mjs +10 -10
- package/lib/locale/fa.mjs.map +1 -1
- package/lib/locale/hu.mjs +18 -18
- package/lib/locale/hu.mjs.map +1 -1
- package/lib/styles/generic/_colors.scss +0 -1
- package/lib/styles/main.css +0 -260
- package/lib/util/helpers.mjs +2 -0
- 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.6.
|
|
2
|
+
* Vuetify v3.6.7
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -395,6 +395,8 @@
|
|
|
395
395
|
if (!vnode || typeof vnode !== 'object') return [];
|
|
396
396
|
if (Array.isArray(vnode)) {
|
|
397
397
|
return vnode.map(child => findChildrenWithProvide(key, child)).flat(1);
|
|
398
|
+
} else if (vnode.suspense) {
|
|
399
|
+
return findChildrenWithProvide(key, vnode.ssContent);
|
|
398
400
|
} else if (Array.isArray(vnode.children)) {
|
|
399
401
|
return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1);
|
|
400
402
|
} else if (vnode.component) {
|
|
@@ -1321,7 +1323,7 @@
|
|
|
1321
1323
|
if (prop === 'class' || prop === 'style') {
|
|
1322
1324
|
return [componentDefaults.value?.[prop], propValue].filter(v => v != null);
|
|
1323
1325
|
} else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
|
|
1324
|
-
return componentDefaults.value?.[prop]
|
|
1326
|
+
return componentDefaults.value?.[prop] !== undefined ? componentDefaults.value?.[prop] : defaults.value?.global?.[prop] !== undefined ? defaults.value?.global?.[prop] : propValue;
|
|
1325
1327
|
}
|
|
1326
1328
|
return propValue;
|
|
1327
1329
|
}
|
|
@@ -2996,14 +2998,22 @@
|
|
|
2996
2998
|
width: [Number, String]
|
|
2997
2999
|
}, 'dimension');
|
|
2998
3000
|
function useDimension(props) {
|
|
2999
|
-
const dimensionStyles = vue.computed(() =>
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
|
|
3001
|
+
const dimensionStyles = vue.computed(() => {
|
|
3002
|
+
const styles = {};
|
|
3003
|
+
const height = convertToUnit(props.height);
|
|
3004
|
+
const maxHeight = convertToUnit(props.maxHeight);
|
|
3005
|
+
const maxWidth = convertToUnit(props.maxWidth);
|
|
3006
|
+
const minHeight = convertToUnit(props.minHeight);
|
|
3007
|
+
const minWidth = convertToUnit(props.minWidth);
|
|
3008
|
+
const width = convertToUnit(props.width);
|
|
3009
|
+
if (height != null) styles.height = height;
|
|
3010
|
+
if (maxHeight != null) styles.maxHeight = maxHeight;
|
|
3011
|
+
if (maxWidth != null) styles.maxWidth = maxWidth;
|
|
3012
|
+
if (minHeight != null) styles.minHeight = minHeight;
|
|
3013
|
+
if (minWidth != null) styles.minWidth = minWidth;
|
|
3014
|
+
if (width != null) styles.width = width;
|
|
3015
|
+
return styles;
|
|
3016
|
+
});
|
|
3007
3017
|
return {
|
|
3008
3018
|
dimensionStyles
|
|
3009
3019
|
};
|
|
@@ -7372,7 +7382,9 @@
|
|
|
7372
7382
|
validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
|
|
7373
7383
|
},
|
|
7374
7384
|
...makeComponentProps(),
|
|
7375
|
-
...makeDisplayProps(
|
|
7385
|
+
...makeDisplayProps({
|
|
7386
|
+
mobile: null
|
|
7387
|
+
}),
|
|
7376
7388
|
...makeTagProps(),
|
|
7377
7389
|
...makeGroupProps({
|
|
7378
7390
|
selectedClass: 'v-slide-group-item--active'
|
|
@@ -9203,7 +9215,8 @@
|
|
|
9203
9215
|
}) : vue.createVNode(VListItem, listItemProps, slotsWithItem);
|
|
9204
9216
|
},
|
|
9205
9217
|
default: () => vue.createVNode(VListChildren, {
|
|
9206
|
-
"items": children
|
|
9218
|
+
"items": children,
|
|
9219
|
+
"returnObject": props.returnObject
|
|
9207
9220
|
}, slots)
|
|
9208
9221
|
}) : slots.item ? slots.item({
|
|
9209
9222
|
props: itemProps
|
|
@@ -11103,7 +11116,7 @@
|
|
|
11103
11116
|
},
|
|
11104
11117
|
closeParents(e) {
|
|
11105
11118
|
setTimeout(() => {
|
|
11106
|
-
if (!openChildren.value && (e == null || e && !isClickInsideElement(e, overlay.value.contentEl))) {
|
|
11119
|
+
if (!openChildren.value && !props.persistent && (e == null || e && !isClickInsideElement(e, overlay.value.contentEl))) {
|
|
11107
11120
|
isActive.value = false;
|
|
11108
11121
|
parent?.closeParents();
|
|
11109
11122
|
}
|
|
@@ -11142,6 +11155,7 @@
|
|
|
11142
11155
|
function onKeydown(e) {
|
|
11143
11156
|
if (props.disabled) return;
|
|
11144
11157
|
if (e.key === 'Tab' || e.key === 'Enter' && !props.closeOnContentClick) {
|
|
11158
|
+
if (e.key === 'Enter' && e.target instanceof HTMLTextAreaElement) return;
|
|
11145
11159
|
if (e.key === 'Enter') e.preventDefault();
|
|
11146
11160
|
const nextElement = getNextElement(focusableChildren(overlay.value?.contentEl, false), e.shiftKey ? 'prev' : 'next', el => el.tabIndex >= 0);
|
|
11147
11161
|
if (!nextElement) {
|
|
@@ -12323,7 +12337,7 @@
|
|
|
12323
12337
|
let keyboardLookupLastTime;
|
|
12324
12338
|
const displayItems = vue.computed(() => {
|
|
12325
12339
|
if (props.hideSelected) {
|
|
12326
|
-
return items.value.filter(item => !model.value.some(s => s
|
|
12340
|
+
return items.value.filter(item => !model.value.some(s => props.valueComparator(s, item)));
|
|
12327
12341
|
}
|
|
12328
12342
|
return items.value;
|
|
12329
12343
|
});
|
|
@@ -12885,7 +12899,7 @@
|
|
|
12885
12899
|
if (['Escape'].includes(e.key)) {
|
|
12886
12900
|
menu.value = false;
|
|
12887
12901
|
}
|
|
12888
|
-
if (highlightFirst.value &&
|
|
12902
|
+
if (highlightFirst.value && e.key === 'Enter') {
|
|
12889
12903
|
select(displayItems.value[0]);
|
|
12890
12904
|
}
|
|
12891
12905
|
if (e.key === 'ArrowDown' && highlightFirst.value) {
|
|
@@ -13192,7 +13206,8 @@
|
|
|
13192
13206
|
"onMousedown": onMousedownMenuIcon,
|
|
13193
13207
|
"onClick": noop,
|
|
13194
13208
|
"aria-label": t(label.value),
|
|
13195
|
-
"title": t(label.value)
|
|
13209
|
+
"title": t(label.value),
|
|
13210
|
+
"tabindex": "-1"
|
|
13196
13211
|
}, null) : undefined]);
|
|
13197
13212
|
}
|
|
13198
13213
|
});
|
|
@@ -13349,7 +13364,9 @@
|
|
|
13349
13364
|
...makeComponentProps(),
|
|
13350
13365
|
...makeDensityProps(),
|
|
13351
13366
|
...makeDimensionProps(),
|
|
13352
|
-
...makeDisplayProps(
|
|
13367
|
+
...makeDisplayProps({
|
|
13368
|
+
mobile: null
|
|
13369
|
+
}),
|
|
13353
13370
|
...makeElevationProps(),
|
|
13354
13371
|
...makeLocationProps(),
|
|
13355
13372
|
...makePositionProps(),
|
|
@@ -16749,8 +16766,8 @@
|
|
|
16749
16766
|
if (['Escape'].includes(e.key)) {
|
|
16750
16767
|
menu.value = false;
|
|
16751
16768
|
}
|
|
16752
|
-
if (['Enter', 'Escape'
|
|
16753
|
-
if (highlightFirst.value &&
|
|
16769
|
+
if (['Enter', 'Escape'].includes(e.key)) {
|
|
16770
|
+
if (highlightFirst.value && e.key === 'Enter') {
|
|
16754
16771
|
select(filteredItems.value[0]);
|
|
16755
16772
|
}
|
|
16756
16773
|
isPristine.value = true;
|
|
@@ -17058,7 +17075,8 @@
|
|
|
17058
17075
|
"onMousedown": onMousedownMenuIcon,
|
|
17059
17076
|
"onClick": noop,
|
|
17060
17077
|
"aria-label": t(label.value),
|
|
17061
|
-
"title": t(label.value)
|
|
17078
|
+
"title": t(label.value),
|
|
17079
|
+
"tabindex": "-1"
|
|
17062
17080
|
}, null) : undefined]);
|
|
17063
17081
|
}
|
|
17064
17082
|
});
|
|
@@ -17966,12 +17984,20 @@
|
|
|
17966
17984
|
}, null)]);
|
|
17967
17985
|
return vue.createVNode(vue.Fragment, null, [slots.default?.({
|
|
17968
17986
|
model: internalModel,
|
|
17987
|
+
save,
|
|
17988
|
+
cancel,
|
|
17989
|
+
isPristine: isPristine.value,
|
|
17969
17990
|
get actions() {
|
|
17970
17991
|
actionsUsed = true;
|
|
17971
17992
|
return actions;
|
|
17972
17993
|
}
|
|
17973
17994
|
}), !actionsUsed && actions]);
|
|
17974
17995
|
});
|
|
17996
|
+
return {
|
|
17997
|
+
save,
|
|
17998
|
+
cancel,
|
|
17999
|
+
isPristine
|
|
18000
|
+
};
|
|
17975
18001
|
}
|
|
17976
18002
|
});
|
|
17977
18003
|
|
|
@@ -18562,7 +18588,7 @@
|
|
|
18562
18588
|
function useSortedItems(props, items, sortBy, options) {
|
|
18563
18589
|
const locale = useLocale();
|
|
18564
18590
|
const sortedItems = vue.computed(() => {
|
|
18565
|
-
if (!sortBy.value.length) return items.value;
|
|
18591
|
+
if (!sortBy.value.length || props.disableSort) return items.value;
|
|
18566
18592
|
return sortItems(items.value, sortBy.value, locale.current.value, {
|
|
18567
18593
|
transform: options?.transform,
|
|
18568
18594
|
sortFunctions: {
|
|
@@ -19622,6 +19648,7 @@
|
|
|
19622
19648
|
const makeVDataTableHeadersProps = propsFactory({
|
|
19623
19649
|
color: String,
|
|
19624
19650
|
sticky: Boolean,
|
|
19651
|
+
disableSort: Boolean,
|
|
19625
19652
|
multiSort: Boolean,
|
|
19626
19653
|
sortAscIcon: {
|
|
19627
19654
|
type: IconValue,
|
|
@@ -19712,7 +19739,7 @@
|
|
|
19712
19739
|
"tag": "th",
|
|
19713
19740
|
"align": column.align,
|
|
19714
19741
|
"class": [{
|
|
19715
|
-
'v-data-table__th--sortable': column.sortable,
|
|
19742
|
+
'v-data-table__th--sortable': column.sortable && !props.disableSort,
|
|
19716
19743
|
'v-data-table__th--sorted': isSorted(column),
|
|
19717
19744
|
'v-data-table__th--fixed': column.fixed
|
|
19718
19745
|
}, ...headerCellClasses.value],
|
|
@@ -19752,7 +19779,7 @@
|
|
|
19752
19779
|
}
|
|
19753
19780
|
return vue.createVNode("div", {
|
|
19754
19781
|
"class": "v-data-table-header__content"
|
|
19755
|
-
}, [vue.createVNode("span", null, [column.title]), column.sortable && vue.createVNode(VIcon, {
|
|
19782
|
+
}, [vue.createVNode("span", null, [column.title]), column.sortable && !props.disableSort && vue.createVNode(VIcon, {
|
|
19756
19783
|
"key": "icon",
|
|
19757
19784
|
"class": "v-data-table-header__sort-icon",
|
|
19758
19785
|
"icon": getSortIcon(column)
|
|
@@ -19767,7 +19794,7 @@
|
|
|
19767
19794
|
const VDataTableMobileHeaderCell = () => {
|
|
19768
19795
|
const headerProps = vue.mergeProps(props.headerProps ?? {} ?? {});
|
|
19769
19796
|
const displayItems = vue.computed(() => {
|
|
19770
|
-
return columns.value.filter(column => column?.sortable);
|
|
19797
|
+
return columns.value.filter(column => column?.sortable && !props.disableSort);
|
|
19771
19798
|
});
|
|
19772
19799
|
const appendIcon = vue.computed(() => {
|
|
19773
19800
|
const showSelectColumn = columns.value.find(column => column.key === 'data-table-select');
|
|
@@ -20263,6 +20290,7 @@
|
|
|
20263
20290
|
|
|
20264
20291
|
const makeDataTableProps = propsFactory({
|
|
20265
20292
|
...makeVDataTableRowsProps(),
|
|
20293
|
+
hideDefaultBody: Boolean,
|
|
20266
20294
|
hideDefaultFooter: Boolean,
|
|
20267
20295
|
hideDefaultHeader: Boolean,
|
|
20268
20296
|
width: [String, Number],
|
|
@@ -20449,7 +20477,7 @@
|
|
|
20449
20477
|
top: () => slots.top?.(slotProps.value),
|
|
20450
20478
|
default: () => slots.default ? slots.default(slotProps.value) : vue.createVNode(vue.Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && vue.createVNode("thead", {
|
|
20451
20479
|
"key": "thead"
|
|
20452
|
-
}, [vue.createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), vue.createVNode("tbody", null, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
|
|
20480
|
+
}, [vue.createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && vue.createVNode("tbody", null, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
|
|
20453
20481
|
"items": paginatedItems.value
|
|
20454
20482
|
}), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
|
|
20455
20483
|
bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && vue.createVNode(vue.Fragment, null, [vue.createVNode(VDivider, null, null), vue.createVNode(VDataTableFooter, dataTableFooterProps, {
|
|
@@ -20624,7 +20652,7 @@
|
|
|
20624
20652
|
"key": "thead"
|
|
20625
20653
|
}, [vue.createVNode(VDataTableHeaders, vue.mergeProps(dataTableHeadersProps, {
|
|
20626
20654
|
"sticky": props.fixedHeader
|
|
20627
|
-
}), slots)]), vue.createVNode("tbody", null, [vue.createVNode("tr", {
|
|
20655
|
+
}), slots)]), !props.hideDefaultBody && vue.createVNode("tbody", null, [vue.createVNode("tr", {
|
|
20628
20656
|
"ref": markerRef,
|
|
20629
20657
|
"style": {
|
|
20630
20658
|
height: convertToUnit(paddingTop.value),
|
|
@@ -20833,7 +20861,7 @@
|
|
|
20833
20861
|
"role": "rowgroup"
|
|
20834
20862
|
}, [vue.createVNode(VDataTableHeaders, vue.mergeProps(dataTableHeadersProps, {
|
|
20835
20863
|
"sticky": props.fixedHeader
|
|
20836
|
-
}), slots)]), slots.thead?.(slotProps.value), vue.createVNode("tbody", {
|
|
20864
|
+
}), slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && vue.createVNode("tbody", {
|
|
20837
20865
|
"class": "v-data-table__tbody",
|
|
20838
20866
|
"role": "rowgroup"
|
|
20839
20867
|
}, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
|
|
@@ -21608,7 +21636,10 @@
|
|
|
21608
21636
|
const makeVDatePickerMonthsProps = propsFactory({
|
|
21609
21637
|
color: String,
|
|
21610
21638
|
height: [String, Number],
|
|
21611
|
-
|
|
21639
|
+
min: null,
|
|
21640
|
+
max: null,
|
|
21641
|
+
modelValue: Number,
|
|
21642
|
+
year: Number
|
|
21612
21643
|
}, 'VDatePickerMonths');
|
|
21613
21644
|
const VDatePickerMonths = genericComponent()({
|
|
21614
21645
|
name: 'VDatePickerMonths',
|
|
@@ -21625,10 +21656,15 @@
|
|
|
21625
21656
|
const model = useProxiedModel(props, 'modelValue');
|
|
21626
21657
|
const months = vue.computed(() => {
|
|
21627
21658
|
let date = adapter.startOfYear(adapter.date());
|
|
21659
|
+
if (props.year) {
|
|
21660
|
+
date = adapter.setYear(date, props.year);
|
|
21661
|
+
}
|
|
21628
21662
|
return createRange(12).map(i => {
|
|
21629
21663
|
const text = adapter.format(date, 'monthShort');
|
|
21664
|
+
const isDisabled = !!(props.min && adapter.isAfter(adapter.startOfMonth(adapter.date(props.min)), date) || props.max && adapter.isAfter(date, adapter.startOfMonth(adapter.date(props.max))));
|
|
21630
21665
|
date = adapter.getNextMonth(date);
|
|
21631
21666
|
return {
|
|
21667
|
+
isDisabled,
|
|
21632
21668
|
text,
|
|
21633
21669
|
value: i
|
|
21634
21670
|
};
|
|
@@ -21648,6 +21684,7 @@
|
|
|
21648
21684
|
const btnProps = {
|
|
21649
21685
|
active: model.value === i,
|
|
21650
21686
|
color: model.value === i ? props.color : undefined,
|
|
21687
|
+
disabled: month.isDisabled,
|
|
21651
21688
|
rounded: true,
|
|
21652
21689
|
text: month.text,
|
|
21653
21690
|
variant: model.value === month.value ? 'flat' : 'text',
|
|
@@ -22048,7 +22085,8 @@
|
|
|
22048
22085
|
"modelValue": month.value,
|
|
22049
22086
|
"onUpdate:modelValue": [$event => month.value = $event, onUpdateMonth],
|
|
22050
22087
|
"min": minDate.value,
|
|
22051
|
-
"max": maxDate.value
|
|
22088
|
+
"max": maxDate.value,
|
|
22089
|
+
"year": year.value
|
|
22052
22090
|
}), null) : viewMode.value === 'year' ? vue.createVNode(VDatePickerYears, vue.mergeProps({
|
|
22053
22091
|
"key": "date-picker-years"
|
|
22054
22092
|
}, datePickerYearsProps, {
|
|
@@ -26176,6 +26214,7 @@
|
|
|
26176
26214
|
blur
|
|
26177
26215
|
} = useFocus(props);
|
|
26178
26216
|
const control = vue.ref();
|
|
26217
|
+
const isForcedColorsModeActive = IN_BROWSER && window.matchMedia('(forced-colors: active)').matches;
|
|
26179
26218
|
const loaderColor = vue.computed(() => {
|
|
26180
26219
|
return typeof props.loading === 'string' && props.loading !== '' ? props.loading : props.color;
|
|
26181
26220
|
});
|
|
@@ -26244,7 +26283,7 @@
|
|
|
26244
26283
|
backgroundColorStyles
|
|
26245
26284
|
} = _ref3;
|
|
26246
26285
|
return vue.createVNode("div", {
|
|
26247
|
-
"class": ['v-switch__track',
|
|
26286
|
+
"class": ['v-switch__track', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined],
|
|
26248
26287
|
"style": backgroundColorStyles.value,
|
|
26249
26288
|
"onClick": onTrackClick
|
|
26250
26289
|
}, [slots['track-true'] && vue.createVNode("div", {
|
|
@@ -26265,7 +26304,7 @@
|
|
|
26265
26304
|
return vue.createVNode(vue.Fragment, null, [inputNode, vue.createVNode("div", {
|
|
26266
26305
|
"class": ['v-switch__thumb', {
|
|
26267
26306
|
'v-switch__thumb--filled': icon || props.loading
|
|
26268
|
-
}, props.inset ? undefined : backgroundColorClasses.value],
|
|
26307
|
+
}, props.inset || isForcedColorsModeActive ? undefined : backgroundColorClasses.value],
|
|
26269
26308
|
"style": props.inset ? undefined : backgroundColorStyles.value
|
|
26270
26309
|
}, [slots.thumb ? vue.createVNode(VDefaultsProvider, {
|
|
26271
26310
|
"defaults": {
|
|
@@ -27711,7 +27750,7 @@
|
|
|
27711
27750
|
}
|
|
27712
27751
|
}
|
|
27713
27752
|
function onClickToday() {
|
|
27714
|
-
model.value = [
|
|
27753
|
+
model.value = [adapter.date()];
|
|
27715
27754
|
}
|
|
27716
27755
|
const title = vue.computed(() => {
|
|
27717
27756
|
return adapter.format(displayValue.value, 'monthAndYear');
|
|
@@ -27750,7 +27789,7 @@
|
|
|
27750
27789
|
}, [chunkArray(daysInMonth.value, props.weekdays.length).map((week, wi) => [!props.hideWeekNumber ? vue.createVNode("div", {
|
|
27751
27790
|
"class": "v-calendar-month__weeknumber"
|
|
27752
27791
|
}, [weekNumbers.value[wi]]) : '', week.map(day => vue.createVNode(VCalendarMonthDay, {
|
|
27753
|
-
"color": adapter.isSameDay(
|
|
27792
|
+
"color": adapter.isSameDay(adapter.date(), day.date) ? 'primary' : undefined,
|
|
27754
27793
|
"day": day,
|
|
27755
27794
|
"title": day ? adapter.format(day.date, 'dayOfMonth') : 'NaN',
|
|
27756
27795
|
"events": props.events?.filter(e => adapter.isSameDay(day.date, e.start) || adapter.isSameDay(day.date, e.end))
|
|
@@ -27969,10 +28008,12 @@
|
|
|
27969
28008
|
if (canDecrease.value) model.value = +(model.value - props.step).toFixed(decimals);
|
|
27970
28009
|
}
|
|
27971
28010
|
}
|
|
27972
|
-
function onClickUp() {
|
|
28011
|
+
function onClickUp(e) {
|
|
28012
|
+
e.stopPropagation();
|
|
27973
28013
|
toggleUpDown();
|
|
27974
28014
|
}
|
|
27975
|
-
function onClickDown() {
|
|
28015
|
+
function onClickDown(e) {
|
|
28016
|
+
e.stopPropagation();
|
|
27976
28017
|
toggleUpDown(false);
|
|
27977
28018
|
}
|
|
27978
28019
|
function onKeydown(e) {
|
|
@@ -27996,6 +28037,9 @@
|
|
|
27996
28037
|
function onModelUpdate(v) {
|
|
27997
28038
|
model.value = v ? +v : undefined;
|
|
27998
28039
|
}
|
|
28040
|
+
function onControlMousedown(e) {
|
|
28041
|
+
e.stopPropagation();
|
|
28042
|
+
}
|
|
27999
28043
|
useRender(() => {
|
|
28000
28044
|
const {
|
|
28001
28045
|
modelValue: _,
|
|
@@ -28014,7 +28058,8 @@
|
|
|
28014
28058
|
"icon": "$expand",
|
|
28015
28059
|
"size": "small",
|
|
28016
28060
|
"tabindex": "-1",
|
|
28017
|
-
"onClick": onClickDown
|
|
28061
|
+
"onClick": onClickDown,
|
|
28062
|
+
"onMousedown": onControlMousedown
|
|
28018
28063
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
28019
28064
|
"key": "decrement-defaults",
|
|
28020
28065
|
"defaults": {
|
|
@@ -28038,6 +28083,7 @@
|
|
|
28038
28083
|
"name": "increment-btn",
|
|
28039
28084
|
"icon": "$collapse",
|
|
28040
28085
|
"onClick": onClickUp,
|
|
28086
|
+
"onMousedown": onControlMousedown,
|
|
28041
28087
|
"size": "small",
|
|
28042
28088
|
"tabindex": "-1"
|
|
28043
28089
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
@@ -28070,7 +28116,8 @@
|
|
|
28070
28116
|
"icon": "$plus",
|
|
28071
28117
|
"tile": true,
|
|
28072
28118
|
"tabindex": "-1",
|
|
28073
|
-
"onClick": onClickUp
|
|
28119
|
+
"onClick": onClickUp,
|
|
28120
|
+
"onMousedown": onControlMousedown
|
|
28074
28121
|
}, null)]) : !props.reverse ? vue.createVNode(vue.Fragment, null, [dividerNode(), controlNode()]) : undefined;
|
|
28075
28122
|
const hasAppendInner = slots['append-inner'] || appendInnerControl;
|
|
28076
28123
|
const prependInnerControl = controlVariant.value === 'split' ? vue.createVNode("div", {
|
|
@@ -28081,7 +28128,8 @@
|
|
|
28081
28128
|
"icon": "$minus",
|
|
28082
28129
|
"tile": true,
|
|
28083
28130
|
"tabindex": "-1",
|
|
28084
|
-
"onClick": onClickDown
|
|
28131
|
+
"onClick": onClickDown,
|
|
28132
|
+
"onMousedown": onControlMousedown
|
|
28085
28133
|
}, null), vue.createVNode(VDivider, {
|
|
28086
28134
|
"vertical": true
|
|
28087
28135
|
}, null)]) : props.reverse ? vue.createVNode(vue.Fragment, null, [controlNode(), dividerNode()]) : undefined;
|
|
@@ -28099,7 +28147,8 @@
|
|
|
28099
28147
|
'v-number-input--stacked': controlVariant.value === 'stacked'
|
|
28100
28148
|
}, props.class]
|
|
28101
28149
|
}, textFieldProps, {
|
|
28102
|
-
"style": props.style
|
|
28150
|
+
"style": props.style,
|
|
28151
|
+
"inputmode": "decimal"
|
|
28103
28152
|
}), {
|
|
28104
28153
|
...slots,
|
|
28105
28154
|
'append-inner': hasAppendInner ? function () {
|
|
@@ -29363,17 +29412,18 @@
|
|
|
29363
29412
|
emit,
|
|
29364
29413
|
slots
|
|
29365
29414
|
} = _ref;
|
|
29366
|
-
const isLoading = vue.shallowRef(
|
|
29367
|
-
const hasLoaded = vue.shallowRef(false);
|
|
29415
|
+
const isLoading = vue.shallowRef(null);
|
|
29368
29416
|
function checkChildren(item) {
|
|
29369
29417
|
return new Promise(resolve => {
|
|
29370
|
-
if (!props.items?.length || !props.loadChildren
|
|
29371
|
-
|
|
29372
|
-
|
|
29373
|
-
|
|
29374
|
-
|
|
29418
|
+
if (!props.items?.length || !props.loadChildren) return resolve();
|
|
29419
|
+
if (item?.children?.length === 0) {
|
|
29420
|
+
isLoading.value = item.value;
|
|
29421
|
+
props.loadChildren(item).then(resolve);
|
|
29422
|
+
return;
|
|
29423
|
+
}
|
|
29424
|
+
resolve();
|
|
29375
29425
|
}).finally(() => {
|
|
29376
|
-
isLoading.value =
|
|
29426
|
+
isLoading.value = null;
|
|
29377
29427
|
});
|
|
29378
29428
|
}
|
|
29379
29429
|
function onClick(e, item) {
|
|
@@ -29386,6 +29436,7 @@
|
|
|
29386
29436
|
props: itemProps,
|
|
29387
29437
|
raw: item
|
|
29388
29438
|
} = _ref2;
|
|
29439
|
+
const loading = isLoading.value === item.value;
|
|
29389
29440
|
const slotsWithItem = {
|
|
29390
29441
|
prepend: slots.prepend ? slotProps => slots.prepend?.({
|
|
29391
29442
|
...slotProps,
|
|
@@ -29399,7 +29450,7 @@
|
|
|
29399
29450
|
"key": item.value,
|
|
29400
29451
|
"tabindex": "-1",
|
|
29401
29452
|
"modelValue": isSelected,
|
|
29402
|
-
"loading":
|
|
29453
|
+
"loading": loading,
|
|
29403
29454
|
"indeterminate": isIndeterminate,
|
|
29404
29455
|
"onClick": e => onClick(e, item)
|
|
29405
29456
|
}, null);
|
|
@@ -29423,7 +29474,7 @@
|
|
|
29423
29474
|
props: activatorProps
|
|
29424
29475
|
} = _ref4;
|
|
29425
29476
|
return vue.createVNode(VTreeviewItem, vue.mergeProps(itemProps, activatorProps, {
|
|
29426
|
-
"loading":
|
|
29477
|
+
"loading": loading,
|
|
29427
29478
|
"onClick": e => onClick(e, item)
|
|
29428
29479
|
}), slotsWithItem);
|
|
29429
29480
|
},
|
|
@@ -30076,7 +30127,7 @@
|
|
|
30076
30127
|
goTo
|
|
30077
30128
|
};
|
|
30078
30129
|
}
|
|
30079
|
-
const version$1 = "3.6.
|
|
30130
|
+
const version$1 = "3.6.7";
|
|
30080
30131
|
createVuetify$1.version = version$1;
|
|
30081
30132
|
|
|
30082
30133
|
// Vue's inject() can only be used in setup
|
|
@@ -30329,7 +30380,7 @@
|
|
|
30329
30380
|
|
|
30330
30381
|
/* eslint-disable local-rules/sort-imports */
|
|
30331
30382
|
|
|
30332
|
-
const version = "3.6.
|
|
30383
|
+
const version = "3.6.7";
|
|
30333
30384
|
|
|
30334
30385
|
/* eslint-disable local-rules/sort-imports */
|
|
30335
30386
|
|