vuetify 3.3.16 → 3.3.18
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 +1274 -1266
- package/dist/json/importMap.json +12 -12
- package/dist/json/tags.json +14 -7
- package/dist/json/web-types.json +2041 -2437
- package/dist/vuetify-labs.css +59 -30
- package/dist/vuetify-labs.d.ts +1717 -3099
- package/dist/vuetify-labs.esm.js +157 -100
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +156 -99
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +221 -227
- package/dist/vuetify.d.ts +53 -53
- package/dist/vuetify.esm.js +63 -41
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +63 -41
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +36 -32
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/md3.mjs +3 -0
- package/lib/blueprints/md3.mjs.map +1 -1
- package/lib/components/VApp/VApp.mjs +1 -2
- package/lib/components/VApp/VApp.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +4 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +12 -12
- package/lib/components/VCombobox/VCombobox.mjs +4 -2
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +12 -12
- package/lib/components/VList/VList.mjs +2 -1
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VListChildren.mjs +10 -3
- package/lib/components/VList/VListChildren.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +10 -10
- package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -2
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VSelect/VSelect.mjs +3 -1
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +12 -12
- package/lib/components/VSelectionControl/VSelectionControl.css +0 -1
- package/lib/components/VSelectionControl/VSelectionControl.sass +0 -1
- package/lib/components/VSlider/VSlider.mjs +2 -2
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VTable/VTable.css +4 -2
- package/lib/components/VTable/VTable.sass +3 -1
- package/lib/components/VTable/_variables.scss +1 -1
- package/lib/components/VTabs/VTabs.mjs +4 -4
- package/lib/components/VTabs/VTabs.mjs.map +1 -1
- package/lib/components/VTabs/index.d.mts +1 -1
- package/lib/components/VTextField/VTextField.mjs +2 -2
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.mts +6 -6
- package/lib/components/VTimeline/VTimeline.css +15 -22
- package/lib/components/VTimeline/VTimeline.sass +15 -25
- package/lib/components/index.d.mts +50 -50
- package/lib/composables/color.mjs +7 -4
- package/lib/composables/color.mjs.map +1 -1
- package/lib/composables/layout.mjs +1 -1
- package/lib/composables/layout.mjs.map +1 -1
- package/lib/composables/theme.mjs +0 -11
- 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.mts +3 -3
- package/lib/labs/VBottomSheet/VBottomSheet.mjs +3 -2
- package/lib/labs/VBottomSheet/VBottomSheet.mjs.map +1 -1
- package/lib/labs/VBottomSheet/index.d.mts +3 -11
- package/lib/labs/VDataIterator/index.d.mts +66 -48
- package/lib/labs/VDataTable/VDataTableRow.mjs +8 -6
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +4 -2
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +1 -2
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +1 -2
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/headers.mjs +5 -7
- package/lib/labs/VDataTable/composables/headers.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/items.mjs +1 -1
- package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/select.mjs +15 -9
- package/lib/labs/VDataTable/composables/select.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/sort.mjs +1 -0
- package/lib/labs/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.mts +1135 -2614
- package/lib/labs/VDataTable/types.mjs.map +1 -1
- package/lib/labs/VDateInput/index.d.mts +6 -6
- package/lib/labs/VDatePicker/VDatePicker.mjs +17 -7
- package/lib/labs/VDatePicker/VDatePicker.mjs.map +1 -1
- package/lib/labs/VDatePicker/VDatePickerControls.css +29 -2
- package/lib/labs/VDatePicker/VDatePickerControls.mjs +18 -17
- package/lib/labs/VDatePicker/VDatePickerControls.mjs.map +1 -1
- package/lib/labs/VDatePicker/VDatePickerControls.sass +30 -2
- package/lib/labs/VDatePicker/VDatePickerHeader.css +10 -1
- package/lib/labs/VDatePicker/VDatePickerHeader.mjs +12 -4
- package/lib/labs/VDatePicker/VDatePickerHeader.mjs.map +1 -1
- package/lib/labs/VDatePicker/VDatePickerHeader.sass +11 -1
- package/lib/labs/VDatePicker/VDatePickerMonth.mjs +1 -2
- package/lib/labs/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/labs/VDatePicker/VDatePickerYears.mjs +1 -1
- package/lib/labs/VDatePicker/VDatePickerYears.mjs.map +1 -1
- package/lib/labs/VDatePicker/index.d.mts +184 -101
- package/lib/labs/VDateRangePicker/index.d.mts +67 -61
- package/lib/labs/VOtpInput/VOtpInput.mjs +1 -1
- package/lib/labs/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/labs/VPicker/VPicker.css +0 -1
- package/lib/labs/VPicker/VPicker.mjs +16 -5
- package/lib/labs/VPicker/VPicker.mjs.map +1 -1
- package/lib/labs/VPicker/VPicker.sass +1 -1
- package/lib/labs/VPicker/index.d.mts +47 -35
- package/lib/labs/components.d.mts +3460 -4841
- package/lib/labs/date/adapters/vuetify.mjs +7 -2
- package/lib/labs/date/adapters/vuetify.mjs.map +1 -1
- package/lib/locale/pl.mjs +14 -14
- package/lib/locale/pl.mjs.map +1 -1
- package/lib/util/colorUtils.mjs +11 -0
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/helpers.mjs +2 -1
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +2 -2
package/dist/vuetify-labs.esm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.3.
|
|
2
|
+
* Vuetify v3.3.18
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { Fragment, reactive, computed, watchEffect, toRefs, capitalize, warn, ref, unref, provide, shallowRef, inject as inject$1, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, onBeforeUnmount, watch, readonly, onDeactivated, onActivated, onMounted, onScopeDispose, effectScope, toRaw, createVNode, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, isRef, toRef, Text, resolveDynamicComponent, Teleport, cloneVNode, createTextVNode, onBeforeUpdate, vModelText, withModifiers } from 'vue';
|
|
7
|
+
import { Fragment, reactive, computed, watchEffect, toRefs, capitalize, warn, ref, unref, provide, shallowRef, inject as inject$1, defineComponent as defineComponent$1, camelize, h, getCurrentInstance as getCurrentInstance$1, onBeforeUnmount, watch, readonly, onDeactivated, onActivated, onMounted, onScopeDispose, effectScope, toRaw, createVNode, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, isRef, toRef, Text, resolveDynamicComponent, Teleport, cloneVNode, createTextVNode, onBeforeUpdate, vModelText, withModifiers, toDisplayString } from 'vue';
|
|
8
8
|
|
|
9
9
|
// Types
|
|
10
10
|
// eslint-disable-line vue/prefer-import-from-vue
|
|
@@ -123,7 +123,8 @@ function getObjectValueByPath(obj, path, fallback) {
|
|
|
123
123
|
return getNestedValue(obj, path.split('.'), fallback);
|
|
124
124
|
}
|
|
125
125
|
function getPropertyFromItem(item, property, fallback) {
|
|
126
|
-
if (property
|
|
126
|
+
if (property === true) return item === undefined ? fallback : item;
|
|
127
|
+
if (property == null || typeof property === 'boolean') return fallback;
|
|
127
128
|
if (item !== Object(item)) {
|
|
128
129
|
if (typeof property !== 'function') return fallback;
|
|
129
130
|
const value = property(item, fallback);
|
|
@@ -1113,6 +1114,17 @@ function getContrast(first, second) {
|
|
|
1113
1114
|
function getForeground(color) {
|
|
1114
1115
|
const blackContrast = Math.abs(APCAcontrast(parseColor(0), parseColor(color)));
|
|
1115
1116
|
const whiteContrast = Math.abs(APCAcontrast(parseColor(0xffffff), parseColor(color)));
|
|
1117
|
+
|
|
1118
|
+
// TODO: warn about poor color selections
|
|
1119
|
+
// const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))
|
|
1120
|
+
// const minContrast = Math.max(blackContrast, whiteContrast)
|
|
1121
|
+
// if (minContrast < 60) {
|
|
1122
|
+
// consoleInfo(`${key} theme color ${color} has poor contrast (${minContrast.toFixed()}%)`)
|
|
1123
|
+
// } else if (contrastAsText < 60 && !['background', 'surface'].includes(color)) {
|
|
1124
|
+
// consoleInfo(`${key} theme color ${color} has poor contrast as text (${contrastAsText.toFixed()}%)`)
|
|
1125
|
+
// }
|
|
1126
|
+
|
|
1127
|
+
// Prefer white text if both have an acceptable contrast ratio
|
|
1116
1128
|
return whiteContrast > Math.min(blackContrast, 50) ? '#fff' : '#000';
|
|
1117
1129
|
}
|
|
1118
1130
|
|
|
@@ -1710,7 +1722,7 @@ function createLayout(props) {
|
|
|
1710
1722
|
'v-layout--full-height': props.fullHeight
|
|
1711
1723
|
}]);
|
|
1712
1724
|
const layoutStyles = computed(() => ({
|
|
1713
|
-
zIndex: rootZIndex.value,
|
|
1725
|
+
zIndex: parentLayout ? rootZIndex.value : undefined,
|
|
1714
1726
|
position: parentLayout ? 'relative' : undefined,
|
|
1715
1727
|
overflow: parentLayout ? 'hidden' : undefined
|
|
1716
1728
|
}));
|
|
@@ -2231,17 +2243,6 @@ function createTheme(options) {
|
|
|
2231
2243
|
if (/^on-[a-z]/.test(color) || theme.colors[`on-${color}`]) continue;
|
|
2232
2244
|
const onColor = `on-${color}`;
|
|
2233
2245
|
const colorVal = parseColor(theme.colors[color]);
|
|
2234
|
-
|
|
2235
|
-
// TODO: warn about poor color selections
|
|
2236
|
-
// const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))
|
|
2237
|
-
// const minContrast = Math.max(blackContrast, whiteContrast)
|
|
2238
|
-
// if (minContrast < 60) {
|
|
2239
|
-
// consoleInfo(`${key} theme color ${color} has poor contrast (${minContrast.toFixed()}%)`)
|
|
2240
|
-
// } else if (contrastAsText < 60 && !['background', 'surface'].includes(color)) {
|
|
2241
|
-
// consoleInfo(`${key} theme color ${color} has poor contrast as text (${contrastAsText.toFixed()}%)`)
|
|
2242
|
-
// }
|
|
2243
|
-
|
|
2244
|
-
// Prefer white text if both have an acceptable contrast ratio
|
|
2245
2246
|
theme.colors[onColor] = getForeground(colorVal);
|
|
2246
2247
|
}
|
|
2247
2248
|
}
|
|
@@ -2401,7 +2402,6 @@ const VApp = genericComponent()({
|
|
|
2401
2402
|
const theme = provideTheme(props);
|
|
2402
2403
|
const {
|
|
2403
2404
|
layoutClasses,
|
|
2404
|
-
layoutStyles,
|
|
2405
2405
|
getLayoutItem,
|
|
2406
2406
|
items,
|
|
2407
2407
|
layoutRef
|
|
@@ -2412,7 +2412,7 @@ const VApp = genericComponent()({
|
|
|
2412
2412
|
useRender(() => createVNode("div", {
|
|
2413
2413
|
"ref": layoutRef,
|
|
2414
2414
|
"class": ['v-application', theme.themeClasses.value, layoutClasses.value, rtlClasses.value, props.class],
|
|
2415
|
-
"style": [
|
|
2415
|
+
"style": [props.style]
|
|
2416
2416
|
}, [createVNode("div", {
|
|
2417
2417
|
"class": "v-application__wrap"
|
|
2418
2418
|
}, [slots.default?.()])]));
|
|
@@ -3274,9 +3274,12 @@ function useColor(colors) {
|
|
|
3274
3274
|
if (isCssColor(colors.value.background)) {
|
|
3275
3275
|
styles.backgroundColor = colors.value.background;
|
|
3276
3276
|
if (!colors.value.text) {
|
|
3277
|
-
const
|
|
3278
|
-
|
|
3279
|
-
|
|
3277
|
+
const backgroundColor = parseColor(colors.value.background);
|
|
3278
|
+
if (backgroundColor.a == null || backgroundColor.a === 1) {
|
|
3279
|
+
const textColor = getForeground(backgroundColor);
|
|
3280
|
+
styles.color = textColor;
|
|
3281
|
+
styles.caretColor = textColor;
|
|
3282
|
+
}
|
|
3280
3283
|
}
|
|
3281
3284
|
} else {
|
|
3282
3285
|
classes.push(`bg-${colors.value.background}`);
|
|
@@ -7885,7 +7888,8 @@ const VDivider = genericComponent()({
|
|
|
7885
7888
|
// Types
|
|
7886
7889
|
|
|
7887
7890
|
const makeVListChildrenProps = propsFactory({
|
|
7888
|
-
items: Array
|
|
7891
|
+
items: Array,
|
|
7892
|
+
returnObject: Boolean
|
|
7889
7893
|
}, 'VListChildren');
|
|
7890
7894
|
const VListChildren = genericComponent()({
|
|
7891
7895
|
name: 'VListChildren',
|
|
@@ -7943,14 +7947,20 @@ const VListChildren = genericComponent()({
|
|
|
7943
7947
|
...itemProps,
|
|
7944
7948
|
...activatorProps
|
|
7945
7949
|
}
|
|
7946
|
-
}) : createVNode(VListItem, mergeProps(
|
|
7950
|
+
}) : createVNode(VListItem, mergeProps({
|
|
7951
|
+
"title": itemProps.title,
|
|
7952
|
+
"value": props.returnObject ? item : itemProps.value
|
|
7953
|
+
}, activatorProps), slotsWithItem);
|
|
7947
7954
|
},
|
|
7948
7955
|
default: () => createVNode(VListChildren, {
|
|
7949
7956
|
"items": children
|
|
7950
7957
|
}, slots)
|
|
7951
7958
|
}) : slots.item ? slots.item({
|
|
7952
7959
|
props: itemProps
|
|
7953
|
-
}) : createVNode(VListItem,
|
|
7960
|
+
}) : createVNode(VListItem, {
|
|
7961
|
+
"title": itemProps.title,
|
|
7962
|
+
"value": props.returnObject ? item : itemProps.value
|
|
7963
|
+
}, slotsWithItem);
|
|
7954
7964
|
});
|
|
7955
7965
|
}
|
|
7956
7966
|
});
|
|
@@ -8234,7 +8244,8 @@ const VList = genericComponent()({
|
|
|
8234
8244
|
"onKeydown": onKeydown
|
|
8235
8245
|
}, {
|
|
8236
8246
|
default: () => [createVNode(VListChildren, {
|
|
8237
|
-
"items": items.value
|
|
8247
|
+
"items": items.value,
|
|
8248
|
+
"returnObject": props.returnObject
|
|
8238
8249
|
}, slots)]
|
|
8239
8250
|
});
|
|
8240
8251
|
});
|
|
@@ -10351,7 +10362,7 @@ const activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week',
|
|
|
10351
10362
|
const makeVTextFieldProps = propsFactory({
|
|
10352
10363
|
autofocus: Boolean,
|
|
10353
10364
|
counter: [Boolean, Number, String],
|
|
10354
|
-
counterValue: Function,
|
|
10365
|
+
counterValue: [Number, Function],
|
|
10355
10366
|
prefix: String,
|
|
10356
10367
|
placeholder: String,
|
|
10357
10368
|
persistentPlaceholder: Boolean,
|
|
@@ -10392,7 +10403,7 @@ const VTextField = genericComponent()({
|
|
|
10392
10403
|
blur
|
|
10393
10404
|
} = useFocus(props);
|
|
10394
10405
|
const counterValue = computed(() => {
|
|
10395
|
-
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : (model.value ?? '').toString().length;
|
|
10406
|
+
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : (model.value ?? '').toString().length;
|
|
10396
10407
|
});
|
|
10397
10408
|
const max = computed(() => {
|
|
10398
10409
|
if (attrs.maxlength) return attrs.maxlength;
|
|
@@ -11046,6 +11057,7 @@ const VSelect = genericComponent()({
|
|
|
11046
11057
|
"focused": isFocused.value,
|
|
11047
11058
|
"onUpdate:focused": $event => isFocused.value = $event,
|
|
11048
11059
|
"validationValue": model.externalValue,
|
|
11060
|
+
"counterValue": model.value.length,
|
|
11049
11061
|
"dirty": isDirty,
|
|
11050
11062
|
"class": ['v-select', {
|
|
11051
11063
|
'v-select--active-menu': menu.value,
|
|
@@ -11152,7 +11164,8 @@ const VSelect = genericComponent()({
|
|
|
11152
11164
|
"key": "chip",
|
|
11153
11165
|
"closable": props.closableChips,
|
|
11154
11166
|
"size": "small",
|
|
11155
|
-
"text": item.title
|
|
11167
|
+
"text": item.title,
|
|
11168
|
+
"disabled": item.props.disabled
|
|
11156
11169
|
}, slotProps), null) : createVNode(VDefaultsProvider, {
|
|
11157
11170
|
"key": "chip-defaults",
|
|
11158
11171
|
"defaults": {
|
|
@@ -11449,7 +11462,7 @@ const VAutocomplete = genericComponent()({
|
|
|
11449
11462
|
}
|
|
11450
11463
|
const originalSelectionIndex = selectionIndex.value;
|
|
11451
11464
|
const selectedItem = model.value[selectionIndex.value];
|
|
11452
|
-
if (selectedItem) select(selectedItem);
|
|
11465
|
+
if (selectedItem && !selectedItem.props.disabled) select(selectedItem);
|
|
11453
11466
|
selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
|
|
11454
11467
|
}
|
|
11455
11468
|
if (e.key === 'ArrowLeft') {
|
|
@@ -11569,6 +11582,7 @@ const VAutocomplete = genericComponent()({
|
|
|
11569
11582
|
"focused": isFocused.value,
|
|
11570
11583
|
"onUpdate:focused": $event => isFocused.value = $event,
|
|
11571
11584
|
"validationValue": model.externalValue,
|
|
11585
|
+
"counterValue": model.value.length,
|
|
11572
11586
|
"dirty": isDirty,
|
|
11573
11587
|
"onInput": onInput,
|
|
11574
11588
|
"onChange": onChange,
|
|
@@ -11679,7 +11693,8 @@ const VAutocomplete = genericComponent()({
|
|
|
11679
11693
|
"key": "chip",
|
|
11680
11694
|
"closable": props.closableChips,
|
|
11681
11695
|
"size": "small",
|
|
11682
|
-
"text": item.title
|
|
11696
|
+
"text": item.title,
|
|
11697
|
+
"disabled": item.props.disabled
|
|
11683
11698
|
}, slotProps), null) : createVNode(VDefaultsProvider, {
|
|
11684
11699
|
"key": "chip-defaults",
|
|
11685
11700
|
"defaults": {
|
|
@@ -14140,11 +14155,11 @@ const VSlider = genericComponent()({
|
|
|
14140
14155
|
"focused": isFocused.value
|
|
14141
14156
|
}), {
|
|
14142
14157
|
...slots,
|
|
14143
|
-
prepend: hasPrepend ? slotProps => createVNode(Fragment, null, [slots.label?.(slotProps) ?? props.label ? createVNode(VLabel, {
|
|
14158
|
+
prepend: hasPrepend ? slotProps => createVNode(Fragment, null, [slots.label?.(slotProps) ?? (props.label ? createVNode(VLabel, {
|
|
14144
14159
|
"id": slotProps.id.value,
|
|
14145
14160
|
"class": "v-slider__label",
|
|
14146
14161
|
"text": props.label
|
|
14147
|
-
}, null) : undefined, slots.prepend?.(slotProps)]) : undefined,
|
|
14162
|
+
}, null) : undefined), slots.prepend?.(slotProps)]) : undefined,
|
|
14148
14163
|
default: _ref4 => {
|
|
14149
14164
|
let {
|
|
14150
14165
|
id,
|
|
@@ -15018,7 +15033,7 @@ const VCombobox = genericComponent()({
|
|
|
15018
15033
|
}
|
|
15019
15034
|
const originalSelectionIndex = selectionIndex.value;
|
|
15020
15035
|
const selectedItem = model.value[selectionIndex.value];
|
|
15021
|
-
if (selectedItem) select(selectedItem);
|
|
15036
|
+
if (selectedItem && !selectedItem.props.disabled) select(selectedItem);
|
|
15022
15037
|
selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
|
|
15023
15038
|
}
|
|
15024
15039
|
if (e.key === 'ArrowLeft') {
|
|
@@ -15126,6 +15141,7 @@ const VCombobox = genericComponent()({
|
|
|
15126
15141
|
"focused": isFocused.value,
|
|
15127
15142
|
"onUpdate:focused": $event => isFocused.value = $event,
|
|
15128
15143
|
"validationValue": model.externalValue,
|
|
15144
|
+
"counterValue": props.multiple ? model.value.length : search.value.length,
|
|
15129
15145
|
"dirty": isDirty,
|
|
15130
15146
|
"class": ['v-combobox', {
|
|
15131
15147
|
'v-combobox--active-menu': menu.value,
|
|
@@ -15235,7 +15251,8 @@ const VCombobox = genericComponent()({
|
|
|
15235
15251
|
"key": "chip",
|
|
15236
15252
|
"closable": props.closableChips,
|
|
15237
15253
|
"size": "small",
|
|
15238
|
-
"text": item.title
|
|
15254
|
+
"text": item.title,
|
|
15255
|
+
"disabled": item.props.disabled
|
|
15239
15256
|
}, slotProps), null) : createVNode(VDefaultsProvider, {
|
|
15240
15257
|
"key": "chip-defaults",
|
|
15241
15258
|
"defaults": {
|
|
@@ -17725,10 +17742,10 @@ const VRangeSlider = genericComponent()({
|
|
|
17725
17742
|
"focused": isFocused.value
|
|
17726
17743
|
}), {
|
|
17727
17744
|
...slots,
|
|
17728
|
-
prepend: hasPrepend ? slotProps => createVNode(Fragment, null, [slots.label?.(slotProps) ?? props.label ? createVNode(VLabel, {
|
|
17745
|
+
prepend: hasPrepend ? slotProps => createVNode(Fragment, null, [slots.label?.(slotProps) ?? (props.label ? createVNode(VLabel, {
|
|
17729
17746
|
"class": "v-slider__label",
|
|
17730
17747
|
"text": props.label
|
|
17731
|
-
}, null) : undefined, slots.prepend?.(slotProps)]) : undefined,
|
|
17748
|
+
}, null) : undefined), slots.prepend?.(slotProps)]) : undefined,
|
|
17732
17749
|
default: _ref4 => {
|
|
17733
17750
|
let {
|
|
17734
17751
|
id,
|
|
@@ -18813,8 +18830,8 @@ const VTab = genericComponent()({
|
|
|
18813
18830
|
function parseItems(items) {
|
|
18814
18831
|
if (!items) return [];
|
|
18815
18832
|
return items.map(item => {
|
|
18816
|
-
if (
|
|
18817
|
-
|
|
18833
|
+
if (!isObject(item)) return {
|
|
18834
|
+
text: item,
|
|
18818
18835
|
value: item
|
|
18819
18836
|
};
|
|
18820
18837
|
return item;
|
|
@@ -18892,7 +18909,7 @@ const VTabs = genericComponent()({
|
|
|
18892
18909
|
"symbol": VTabsSymbol
|
|
18893
18910
|
}), {
|
|
18894
18911
|
default: () => [slots.default ? slots.default() : parsedItems.value.map(item => createVNode(VTab, mergeProps(item, {
|
|
18895
|
-
"key": item.
|
|
18912
|
+
"key": item.text
|
|
18896
18913
|
}), null))]
|
|
18897
18914
|
});
|
|
18898
18915
|
});
|
|
@@ -19585,7 +19602,6 @@ const VValidation = genericComponent()({
|
|
|
19585
19602
|
const makeVBottomSheetProps = propsFactory({
|
|
19586
19603
|
inset: Boolean,
|
|
19587
19604
|
...makeVDialogProps({
|
|
19588
|
-
contentClass: 'v-bottom-sheet__content',
|
|
19589
19605
|
transition: 'bottom-sheet-transition'
|
|
19590
19606
|
})
|
|
19591
19607
|
}, 'VBottomSheet');
|
|
@@ -19603,11 +19619,13 @@ const VBottomSheet = genericComponent()({
|
|
|
19603
19619
|
useRender(() => {
|
|
19604
19620
|
const [dialogProps] = VDialog.filterProps(props);
|
|
19605
19621
|
return createVNode(VDialog, mergeProps(dialogProps, {
|
|
19622
|
+
"contentClass": ['v-bottom-sheet__content', props.contentClass],
|
|
19606
19623
|
"modelValue": isActive.value,
|
|
19607
19624
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
19608
19625
|
"class": ['v-bottom-sheet', {
|
|
19609
19626
|
'v-bottom-sheet--inset': props.inset
|
|
19610
|
-
}]
|
|
19627
|
+
}, props.class],
|
|
19628
|
+
"style": props.style
|
|
19611
19629
|
}), slots);
|
|
19612
19630
|
});
|
|
19613
19631
|
return {};
|
|
@@ -19994,7 +20012,7 @@ const singleSelectStrategy = {
|
|
|
19994
20012
|
items,
|
|
19995
20013
|
value
|
|
19996
20014
|
} = _ref;
|
|
19997
|
-
return new Set(value ? [items[0]?.value] : []);
|
|
20015
|
+
return new Set(value ? [toRaw(items[0]?.value)] : []);
|
|
19998
20016
|
},
|
|
19999
20017
|
selectAll: _ref2 => {
|
|
20000
20018
|
let {
|
|
@@ -20018,7 +20036,7 @@ const pageSelectStrategy = {
|
|
|
20018
20036
|
selected
|
|
20019
20037
|
} = _ref4;
|
|
20020
20038
|
for (const item of items) {
|
|
20021
|
-
if (value) selected.add(item.value);else selected.delete(item.value);
|
|
20039
|
+
if (value) selected.add(toRaw(item.value));else selected.delete(toRaw(item.value));
|
|
20022
20040
|
}
|
|
20023
20041
|
return selected;
|
|
20024
20042
|
},
|
|
@@ -20050,7 +20068,7 @@ const allSelectStrategy = {
|
|
|
20050
20068
|
selected
|
|
20051
20069
|
} = _ref7;
|
|
20052
20070
|
for (const item of items) {
|
|
20053
|
-
if (value) selected.add(item.value);else selected.delete(item.value);
|
|
20071
|
+
if (value) selected.add(toRaw(item.value));else selected.delete(toRaw(item.value));
|
|
20054
20072
|
}
|
|
20055
20073
|
return selected;
|
|
20056
20074
|
},
|
|
@@ -20076,6 +20094,10 @@ const makeDataTableSelectProps = propsFactory({
|
|
|
20076
20094
|
modelValue: {
|
|
20077
20095
|
type: Array,
|
|
20078
20096
|
default: () => []
|
|
20097
|
+
},
|
|
20098
|
+
valueComparator: {
|
|
20099
|
+
type: Function,
|
|
20100
|
+
default: deepEqual
|
|
20079
20101
|
}
|
|
20080
20102
|
}, 'DataTable-select');
|
|
20081
20103
|
const VDataTableSelectionSymbol = Symbol.for('vuetify:data-table-selection');
|
|
@@ -20085,7 +20107,9 @@ function provideSelection(props, _ref9) {
|
|
|
20085
20107
|
currentPage
|
|
20086
20108
|
} = _ref9;
|
|
20087
20109
|
const selected = useProxiedModel(props, 'modelValue', props.modelValue, v => {
|
|
20088
|
-
return new Set(v)
|
|
20110
|
+
return new Set(wrapInArray(v).map(v => {
|
|
20111
|
+
return allItems.value.find(item => props.valueComparator(v, item.value))?.value ?? v;
|
|
20112
|
+
}));
|
|
20089
20113
|
}, v => {
|
|
20090
20114
|
return [...v.values()];
|
|
20091
20115
|
});
|
|
@@ -20104,10 +20128,10 @@ function provideSelection(props, _ref9) {
|
|
|
20104
20128
|
}
|
|
20105
20129
|
});
|
|
20106
20130
|
function isSelected(items) {
|
|
20107
|
-
return wrapInArray(items).every(item => selected.value.has(item.value));
|
|
20131
|
+
return wrapInArray(items).every(item => selected.value.has(toRaw(item.value)));
|
|
20108
20132
|
}
|
|
20109
20133
|
function isSomeSelected(items) {
|
|
20110
|
-
return wrapInArray(items).some(item => selected.value.has(item.value));
|
|
20134
|
+
return wrapInArray(items).some(item => selected.value.has(toRaw(item.value)));
|
|
20111
20135
|
}
|
|
20112
20136
|
function select(items, value) {
|
|
20113
20137
|
const newSelected = selectStrategy.value.select({
|
|
@@ -20135,7 +20159,7 @@ function provideSelection(props, _ref9) {
|
|
|
20135
20159
|
allItems: allSelectable.value,
|
|
20136
20160
|
currentPage: currentPageSelectable.value
|
|
20137
20161
|
});
|
|
20138
|
-
return isSelected(items);
|
|
20162
|
+
return !!items.length && isSelected(items);
|
|
20139
20163
|
});
|
|
20140
20164
|
const data = {
|
|
20141
20165
|
toggleSelect,
|
|
@@ -20188,6 +20212,7 @@ function provideSort(options) {
|
|
|
20188
20212
|
page
|
|
20189
20213
|
} = options;
|
|
20190
20214
|
const toggleSort = column => {
|
|
20215
|
+
if (column.key == null) return;
|
|
20191
20216
|
let newSortBy = sortBy.value.map(x => ({
|
|
20192
20217
|
...x
|
|
20193
20218
|
})) ?? [];
|
|
@@ -20698,17 +20723,15 @@ function createHeaders(props, options) {
|
|
|
20698
20723
|
column,
|
|
20699
20724
|
row
|
|
20700
20725
|
} = _ref4;
|
|
20701
|
-
|
|
20702
|
-
|
|
20703
|
-
consoleWarn('The header key value must not be null or undefined');
|
|
20704
|
-
key = '';
|
|
20705
|
-
}
|
|
20726
|
+
const key = column.key ?? (typeof column.value === 'string' ? column.value : null);
|
|
20727
|
+
const value = column.value ?? column.key ?? null;
|
|
20706
20728
|
for (let i = row; i <= row + (column.rowspan ?? 1) - 1; i++) {
|
|
20707
20729
|
fixedRows[i].push({
|
|
20708
20730
|
...column,
|
|
20709
20731
|
key,
|
|
20732
|
+
value,
|
|
20710
20733
|
fixedOffset: fixedOffsets[i],
|
|
20711
|
-
sortable: column.sortable ??
|
|
20734
|
+
sortable: column.sortable ?? key != null
|
|
20712
20735
|
});
|
|
20713
20736
|
fixedOffsets[i] += Number(column.width ?? 0);
|
|
20714
20737
|
}
|
|
@@ -20987,7 +21010,7 @@ const makeVDataTableRowProps = propsFactory({
|
|
|
20987
21010
|
item: Object,
|
|
20988
21011
|
onClick: Function
|
|
20989
21012
|
}, 'VDataTableRow');
|
|
20990
|
-
const VDataTableRow =
|
|
21013
|
+
const VDataTableRow = genericComponent()({
|
|
20991
21014
|
name: 'VDataTableRow',
|
|
20992
21015
|
props: makeVDataTableRowProps(),
|
|
20993
21016
|
setup(props, _ref) {
|
|
@@ -21023,8 +21046,10 @@ const VDataTableRow = defineComponent({
|
|
|
21023
21046
|
const slotName = `item.${column.key}`;
|
|
21024
21047
|
const slotProps = {
|
|
21025
21048
|
index: props.index,
|
|
21026
|
-
item:
|
|
21027
|
-
|
|
21049
|
+
item: item.raw,
|
|
21050
|
+
internalItem: item,
|
|
21051
|
+
value: getObjectValueByPath(item.columns, column.key),
|
|
21052
|
+
column,
|
|
21028
21053
|
isSelected,
|
|
21029
21054
|
toggleSelect,
|
|
21030
21055
|
isExpanded,
|
|
@@ -21046,7 +21071,7 @@ const VDataTableRow = defineComponent({
|
|
|
21046
21071
|
"onClick": withModifiers(() => toggleExpand(item), ['stop'])
|
|
21047
21072
|
}, null);
|
|
21048
21073
|
}
|
|
21049
|
-
return
|
|
21074
|
+
return toDisplayString(slotProps.value);
|
|
21050
21075
|
}
|
|
21051
21076
|
}))]));
|
|
21052
21077
|
}
|
|
@@ -21135,7 +21160,8 @@ const VDataTableRows = genericComponent()({
|
|
|
21135
21160
|
}
|
|
21136
21161
|
const slotProps = {
|
|
21137
21162
|
index,
|
|
21138
|
-
item,
|
|
21163
|
+
item: item.raw,
|
|
21164
|
+
internalItem: item,
|
|
21139
21165
|
columns: columns.value,
|
|
21140
21166
|
isExpanded,
|
|
21141
21167
|
toggleExpand,
|
|
@@ -21151,7 +21177,8 @@ const VDataTableRows = genericComponent()({
|
|
|
21151
21177
|
toggleExpand(item);
|
|
21152
21178
|
}
|
|
21153
21179
|
props['onClick:row']?.(event, {
|
|
21154
|
-
item
|
|
21180
|
+
item: item.raw,
|
|
21181
|
+
internalItem: item
|
|
21155
21182
|
});
|
|
21156
21183
|
} : undefined,
|
|
21157
21184
|
index,
|
|
@@ -21189,7 +21216,7 @@ function transformItem(props, item, index, columns) {
|
|
|
21189
21216
|
const value = props.returnObject ? item : getPropertyFromItem(item, props.itemValue);
|
|
21190
21217
|
const selectable = getPropertyFromItem(item, props.itemSelectable, true);
|
|
21191
21218
|
const itemColumns = columns.reduce((obj, column) => {
|
|
21192
|
-
obj[column.key] = getPropertyFromItem(item, column.value
|
|
21219
|
+
if (column.key != null) obj[column.key] = getPropertyFromItem(item, column.value);
|
|
21193
21220
|
return obj;
|
|
21194
21221
|
}, {});
|
|
21195
21222
|
return {
|
|
@@ -21416,8 +21443,7 @@ const VDataTableVirtual = genericComponent()({
|
|
|
21416
21443
|
'update:sortBy': value => true,
|
|
21417
21444
|
'update:options': value => true,
|
|
21418
21445
|
'update:groupBy': value => true,
|
|
21419
|
-
'update:expanded': value => true
|
|
21420
|
-
'click:row': (e, value) => true
|
|
21446
|
+
'update:expanded': value => true
|
|
21421
21447
|
},
|
|
21422
21448
|
setup(props, _ref) {
|
|
21423
21449
|
let {
|
|
@@ -21623,8 +21649,7 @@ const VDataTableServer = genericComponent()({
|
|
|
21623
21649
|
'update:sortBy': sortBy => true,
|
|
21624
21650
|
'update:options': options => true,
|
|
21625
21651
|
'update:expanded': options => true,
|
|
21626
|
-
'update:groupBy': value => true
|
|
21627
|
-
'click:row': (e, value) => true
|
|
21652
|
+
'update:groupBy': value => true
|
|
21628
21653
|
},
|
|
21629
21654
|
setup(props, _ref) {
|
|
21630
21655
|
let {
|
|
@@ -21787,13 +21812,13 @@ const makeVDatePickerControlsProps = propsFactory({
|
|
|
21787
21812
|
type: [String],
|
|
21788
21813
|
default: '$prev'
|
|
21789
21814
|
},
|
|
21790
|
-
|
|
21815
|
+
modeIcon: {
|
|
21791
21816
|
type: [String],
|
|
21792
|
-
default: '$
|
|
21817
|
+
default: '$subgroup'
|
|
21793
21818
|
},
|
|
21794
|
-
|
|
21795
|
-
type:
|
|
21796
|
-
default: '
|
|
21819
|
+
variant: {
|
|
21820
|
+
type: String,
|
|
21821
|
+
default: 'modern'
|
|
21797
21822
|
},
|
|
21798
21823
|
viewMode: {
|
|
21799
21824
|
type: String,
|
|
@@ -21812,9 +21837,6 @@ const VDatePickerControls = genericComponent()({
|
|
|
21812
21837
|
let {
|
|
21813
21838
|
emit
|
|
21814
21839
|
} = _ref;
|
|
21815
|
-
const modeIcon = computed(() => {
|
|
21816
|
-
return props.viewMode === 'month' ? props.expandIcon : props.collapseIcon;
|
|
21817
|
-
});
|
|
21818
21840
|
const disableMode = computed(() => {
|
|
21819
21841
|
return Array.isArray(props.disabled) ? props.disabled.includes('mode') : !!props.disabled;
|
|
21820
21842
|
});
|
|
@@ -21834,17 +21856,21 @@ const VDatePickerControls = genericComponent()({
|
|
|
21834
21856
|
emit('click:mode');
|
|
21835
21857
|
}
|
|
21836
21858
|
useRender(() => {
|
|
21837
|
-
|
|
21838
|
-
"class": "v-date-picker-controls"
|
|
21839
|
-
}, [createVNode("div", {
|
|
21859
|
+
const displayDate = createVNode("div", {
|
|
21840
21860
|
"class": "v-date-picker-controls__date"
|
|
21841
|
-
}, [props.displayDate])
|
|
21861
|
+
}, [props.displayDate]);
|
|
21862
|
+
return createVNode("div", {
|
|
21863
|
+
"class": ['v-date-picker-controls', `v-date-picker-controls--variant-${props.variant}`]
|
|
21864
|
+
}, [props.variant === 'modern' && createVNode(Fragment, null, [displayDate, createVNode(VBtn, {
|
|
21865
|
+
"key": "mode-btn",
|
|
21842
21866
|
"disabled": disableMode.value,
|
|
21843
|
-
"
|
|
21844
|
-
"icon": modeIcon
|
|
21867
|
+
"density": "comfortable",
|
|
21868
|
+
"icon": props.modeIcon,
|
|
21845
21869
|
"variant": "text",
|
|
21846
21870
|
"onClick": onClickMode
|
|
21847
|
-
}, null), createVNode(VSpacer,
|
|
21871
|
+
}, null), createVNode(VSpacer, {
|
|
21872
|
+
"key": "mode-spacer"
|
|
21873
|
+
}, null)]), createVNode("div", {
|
|
21848
21874
|
"key": "month-buttons",
|
|
21849
21875
|
"class": "v-date-picker-controls__month"
|
|
21850
21876
|
}, [createVNode(VBtn, {
|
|
@@ -21852,7 +21878,7 @@ const VDatePickerControls = genericComponent()({
|
|
|
21852
21878
|
"icon": props.prevIcon,
|
|
21853
21879
|
"variant": "text",
|
|
21854
21880
|
"onClick": onClickPrev
|
|
21855
|
-
}, null), createVNode(VBtn, {
|
|
21881
|
+
}, null), props.variant === 'classic' && displayDate, createVNode(VBtn, {
|
|
21856
21882
|
"disabled": disableNext.value,
|
|
21857
21883
|
"icon": props.nextIcon,
|
|
21858
21884
|
"variant": "text",
|
|
@@ -22025,8 +22051,8 @@ function getWeekArray(date, locale) {
|
|
|
22025
22051
|
let currentWeek = [];
|
|
22026
22052
|
const firstDayOfMonth = startOfMonth(date);
|
|
22027
22053
|
const lastDayOfMonth = endOfMonth(date);
|
|
22028
|
-
const firstDayWeekIndex = firstDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()];
|
|
22029
|
-
const lastDayWeekIndex = lastDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()];
|
|
22054
|
+
const firstDayWeekIndex = (firstDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()] + 7) % 7;
|
|
22055
|
+
const lastDayWeekIndex = (lastDayOfMonth.getDay() - firstDay[locale.slice(-2).toUpperCase()] + 7) % 7;
|
|
22030
22056
|
for (let i = 0; i < firstDayWeekIndex; i++) {
|
|
22031
22057
|
const adjacentDay = new Date(firstDayOfMonth);
|
|
22032
22058
|
adjacentDay.setDate(adjacentDay.getDate() - (firstDayWeekIndex - i));
|
|
@@ -22129,6 +22155,11 @@ function format(value, formatString, locale) {
|
|
|
22129
22155
|
day: 'numeric'
|
|
22130
22156
|
};
|
|
22131
22157
|
break;
|
|
22158
|
+
case 'shortDate':
|
|
22159
|
+
options = {
|
|
22160
|
+
year: 'numeric'
|
|
22161
|
+
};
|
|
22162
|
+
break;
|
|
22132
22163
|
default:
|
|
22133
22164
|
options = {
|
|
22134
22165
|
timeZone: 'UTC',
|
|
@@ -22754,8 +22785,7 @@ const VDatePickerMonth = genericComponent()({
|
|
|
22754
22785
|
"key": "in-hover",
|
|
22755
22786
|
"class": "v-date-picker-month__day--hover"
|
|
22756
22787
|
}, null), (props.showAdjacentMonths || !item.isAdjacent) && createVNode(VBtn, {
|
|
22757
|
-
"
|
|
22758
|
-
"color": color,
|
|
22788
|
+
"color": !item.isToday || item.isSelected ? color : undefined,
|
|
22759
22789
|
"disabled": item.isDisabled,
|
|
22760
22790
|
"icon": true,
|
|
22761
22791
|
"ripple": false,
|
|
@@ -22790,7 +22820,7 @@ const VDatePickerYears = genericComponent()({
|
|
|
22790
22820
|
const years = computed(() => {
|
|
22791
22821
|
const min = props.min ? adapter.date(props.min).getFullYear() : displayYear.value - 100;
|
|
22792
22822
|
const max = props.max ? adapter.date(props.max).getFullYear() : displayYear.value + 50;
|
|
22793
|
-
return createRange(max - min, min);
|
|
22823
|
+
return createRange(max - min + 1, min);
|
|
22794
22824
|
});
|
|
22795
22825
|
const yearRef = ref();
|
|
22796
22826
|
onMounted(() => {
|
|
@@ -22928,12 +22958,14 @@ const makeVDatePickerHeaderProps = propsFactory({
|
|
|
22928
22958
|
appendIcon: String,
|
|
22929
22959
|
color: String,
|
|
22930
22960
|
header: String,
|
|
22931
|
-
transition: String
|
|
22961
|
+
transition: String,
|
|
22962
|
+
onClick: EventProp()
|
|
22932
22963
|
}, 'VDatePickerHeader');
|
|
22933
22964
|
const VDatePickerHeader = genericComponent()({
|
|
22934
22965
|
name: 'VDatePickerHeader',
|
|
22935
22966
|
props: makeVDatePickerHeaderProps(),
|
|
22936
22967
|
emits: {
|
|
22968
|
+
click: () => true,
|
|
22937
22969
|
'click:append': () => true
|
|
22938
22970
|
},
|
|
22939
22971
|
setup(props, _ref) {
|
|
@@ -22945,6 +22977,9 @@ const VDatePickerHeader = genericComponent()({
|
|
|
22945
22977
|
backgroundColorClasses,
|
|
22946
22978
|
backgroundColorStyles
|
|
22947
22979
|
} = useBackgroundColor(props, 'color');
|
|
22980
|
+
function onClick() {
|
|
22981
|
+
emit('click');
|
|
22982
|
+
}
|
|
22948
22983
|
function onClickAppend() {
|
|
22949
22984
|
emit('click:append');
|
|
22950
22985
|
}
|
|
@@ -22952,8 +22987,11 @@ const VDatePickerHeader = genericComponent()({
|
|
|
22952
22987
|
const hasContent = !!(slots.default || props.header);
|
|
22953
22988
|
const hasAppend = !!(slots.append || props.appendIcon);
|
|
22954
22989
|
return createVNode("div", {
|
|
22955
|
-
"class": ['v-date-picker-header',
|
|
22956
|
-
|
|
22990
|
+
"class": ['v-date-picker-header', {
|
|
22991
|
+
'v-date-picker-header--clickable': !!props.onClick
|
|
22992
|
+
}, backgroundColorClasses.value],
|
|
22993
|
+
"style": backgroundColorStyles.value,
|
|
22994
|
+
"onClick": onClick
|
|
22957
22995
|
}, [slots.prepend && createVNode("div", {
|
|
22958
22996
|
"key": "prepend",
|
|
22959
22997
|
"class": "v-date-picker-header__prepend"
|
|
@@ -22995,9 +23033,10 @@ const VPickerTitle = createSimpleFunctional('v-picker-title');
|
|
|
22995
23033
|
// Types
|
|
22996
23034
|
|
|
22997
23035
|
const makeVPickerProps = propsFactory({
|
|
23036
|
+
bgColor: String,
|
|
22998
23037
|
landscape: Boolean,
|
|
22999
23038
|
title: String,
|
|
23000
|
-
...
|
|
23039
|
+
...makeVSheetProps()
|
|
23001
23040
|
}, 'VPicker');
|
|
23002
23041
|
const VPicker = genericComponent()({
|
|
23003
23042
|
name: 'VPicker',
|
|
@@ -23006,23 +23045,31 @@ const VPicker = genericComponent()({
|
|
|
23006
23045
|
let {
|
|
23007
23046
|
slots
|
|
23008
23047
|
} = _ref;
|
|
23048
|
+
const {
|
|
23049
|
+
backgroundColorClasses,
|
|
23050
|
+
backgroundColorStyles
|
|
23051
|
+
} = useBackgroundColor(toRef(props, 'color'));
|
|
23009
23052
|
useRender(() => {
|
|
23010
23053
|
const [sheetProps] = VSheet.filterProps(props);
|
|
23011
23054
|
const hasTitle = !!(props.title || slots.title);
|
|
23012
23055
|
return createVNode(VSheet, mergeProps(sheetProps, {
|
|
23056
|
+
"color": props.bgColor,
|
|
23013
23057
|
"class": ['v-picker', {
|
|
23014
23058
|
'v-picker--landscape': props.landscape,
|
|
23015
23059
|
'v-picker--with-actions': !!slots.actions
|
|
23016
23060
|
}, props.class],
|
|
23017
23061
|
"style": props.style
|
|
23018
23062
|
}), {
|
|
23019
|
-
default: () => [
|
|
23063
|
+
default: () => [createVNode("div", {
|
|
23064
|
+
"class": [backgroundColorClasses.value],
|
|
23065
|
+
"style": [backgroundColorStyles.value]
|
|
23066
|
+
}, [hasTitle && createVNode(VPickerTitle, {
|
|
23020
23067
|
"key": "picker-title"
|
|
23021
23068
|
}, {
|
|
23022
23069
|
default: () => [slots.title?.() ?? props.title]
|
|
23023
23070
|
}), slots.header && createVNode("div", {
|
|
23024
23071
|
"class": "v-picker__header"
|
|
23025
|
-
}, [slots.header()]), createVNode("div", {
|
|
23072
|
+
}, [slots.header()])]), createVNode("div", {
|
|
23026
23073
|
"class": "v-picker__body"
|
|
23027
23074
|
}, [slots.default?.()]), slots.actions?.()[0]?.children && createVNode("div", {
|
|
23028
23075
|
"class": "v-picker__actions"
|
|
@@ -23100,7 +23147,9 @@ const VDatePicker = genericComponent()({
|
|
|
23100
23147
|
const isReversing = shallowRef(false);
|
|
23101
23148
|
const inputModel = ref(model.value.map(date => adapter.format(date, 'keyboardDate')));
|
|
23102
23149
|
const temporaryModel = ref(model.value);
|
|
23103
|
-
const title = computed(() =>
|
|
23150
|
+
const title = computed(() => {
|
|
23151
|
+
return props.variant === 'modern' ? t(props.title) : adapter.format(displayDate.value, 'shortDate');
|
|
23152
|
+
});
|
|
23104
23153
|
const header = computed(() => model.value.length ? adapter.format(model.value[0], 'normalDateWithWeekday') : t(props.header));
|
|
23105
23154
|
const headerIcon = computed(() => inputMode.value === 'calendar' ? props.keyboardIcon : props.calendarIcon);
|
|
23106
23155
|
const headerTransition = computed(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`);
|
|
@@ -23172,6 +23221,9 @@ const VDatePicker = genericComponent()({
|
|
|
23172
23221
|
function onClickMode() {
|
|
23173
23222
|
viewMode.value = viewMode.value === 'month' ? 'year' : 'month';
|
|
23174
23223
|
}
|
|
23224
|
+
function onClickHeader() {
|
|
23225
|
+
viewMode.value = 'month';
|
|
23226
|
+
}
|
|
23175
23227
|
const headerSlotProps = computed(() => ({
|
|
23176
23228
|
header: header.value,
|
|
23177
23229
|
appendIcon: headerIcon.value,
|
|
@@ -23184,15 +23236,20 @@ const VDatePicker = genericComponent()({
|
|
|
23184
23236
|
const [datePickerMonthProps] = VDatePickerMonth.filterProps(props);
|
|
23185
23237
|
const [datePickerYearsProps] = VDatePickerYears.filterProps(props);
|
|
23186
23238
|
return createVNode(VPicker, mergeProps(pickerProps, {
|
|
23187
|
-
"class": ['v-date-picker', props.class],
|
|
23239
|
+
"class": ['v-date-picker', `v-date-picker--${viewMode.value}`, props.class],
|
|
23188
23240
|
"style": props.style,
|
|
23189
|
-
"title": title.value,
|
|
23190
23241
|
"width": props.showWeek ? 408 : 360
|
|
23191
23242
|
}), {
|
|
23243
|
+
title: () => slots.title?.() ?? createVNode("div", {
|
|
23244
|
+
"class": "v-date-picker__title",
|
|
23245
|
+
"onClick": props.variant === 'classic' ? onClickMode : undefined
|
|
23246
|
+
}, [title.value]),
|
|
23192
23247
|
header: () => slots.header?.(headerSlotProps.value) ?? createVNode(VDatePickerHeader, mergeProps({
|
|
23193
23248
|
"key": "header"
|
|
23194
|
-
}, headerSlotProps.value
|
|
23195
|
-
|
|
23249
|
+
}, headerSlotProps.value, {
|
|
23250
|
+
"onClick": viewMode.value === 'year' ? onClickHeader : undefined
|
|
23251
|
+
}), null),
|
|
23252
|
+
default: () => inputMode.value === 'calendar' ? createVNode(Fragment, null, [(props.variant !== 'classic' || viewMode.value !== 'year') && createVNode(VDatePickerControls, mergeProps(datePickerControlsProps, {
|
|
23196
23253
|
"disabled": disabled.value,
|
|
23197
23254
|
"displayDate": adapter.format(displayDate.value, 'monthAndYear'),
|
|
23198
23255
|
"onClick:next": onClickNext,
|
|
@@ -23226,7 +23283,7 @@ const VDatePicker = genericComponent()({
|
|
|
23226
23283
|
"label": t(props.inputText),
|
|
23227
23284
|
"placeholder": props.inputPlaceholder
|
|
23228
23285
|
}, null)]),
|
|
23229
|
-
actions: () => !props.hideActions ? createVNode("div", null, [createVNode(VBtn, {
|
|
23286
|
+
actions: () => !props.hideActions ? slots.actions?.() ?? createVNode("div", null, [createVNode(VBtn, {
|
|
23230
23287
|
"variant": "text",
|
|
23231
23288
|
"color": props.color,
|
|
23232
23289
|
"onClick": onClickCancel,
|
|
@@ -23601,7 +23658,7 @@ const VOtpInput = genericComponent()({
|
|
|
23601
23658
|
scoped: true
|
|
23602
23659
|
});
|
|
23603
23660
|
watch(model, val => {
|
|
23604
|
-
if (val.length === props.length) emit('finish', val.join(''));
|
|
23661
|
+
if (val.length === Number(props.length)) emit('finish', val.join(''));
|
|
23605
23662
|
}, {
|
|
23606
23663
|
deep: true
|
|
23607
23664
|
});
|
|
@@ -24559,7 +24616,7 @@ function createVuetify$1() {
|
|
|
24559
24616
|
date
|
|
24560
24617
|
};
|
|
24561
24618
|
}
|
|
24562
|
-
const version$1 = "3.3.
|
|
24619
|
+
const version$1 = "3.3.18";
|
|
24563
24620
|
createVuetify$1.version = version$1;
|
|
24564
24621
|
|
|
24565
24622
|
// Vue's inject() can only be used in setup
|
|
@@ -24573,7 +24630,7 @@ function inject(key) {
|
|
|
24573
24630
|
|
|
24574
24631
|
/* eslint-disable local-rules/sort-imports */
|
|
24575
24632
|
|
|
24576
|
-
const version = "3.3.
|
|
24633
|
+
const version = "3.3.18";
|
|
24577
24634
|
|
|
24578
24635
|
/* eslint-disable local-rules/sort-imports */
|
|
24579
24636
|
|