vuetify 3.7.15 → 3.7.17
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 +3529 -3525
- package/dist/json/importMap-labs.json +12 -12
- package/dist/json/importMap.json +164 -164
- package/dist/json/tags.json +3 -2
- package/dist/json/web-types.json +6568 -6536
- package/dist/vuetify-labs.css +3153 -3152
- package/dist/vuetify-labs.d.ts +438 -200
- package/dist/vuetify-labs.esm.js +165 -141
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +164 -140
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +3426 -3425
- package/dist/vuetify.d.ts +387 -207
- package/dist/vuetify.esm.js +110 -83
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +109 -82
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +471 -470
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAppBar/index.d.mts +15 -6
- package/lib/components/VAutocomplete/index.d.mts +23 -8
- package/lib/components/VBadge/VBadge.mjs +2 -2
- package/lib/components/VBadge/VBadge.mjs.map +1 -1
- package/lib/components/VBtn/VBtn.mjs +6 -3
- package/lib/components/VBtn/VBtn.mjs.map +1 -1
- package/lib/components/VBtn/index.d.mts +15 -6
- package/lib/components/VCard/VCard.mjs +12 -3
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/VCardItem.mjs +11 -4
- package/lib/components/VCard/VCardItem.mjs.map +1 -1
- package/lib/components/VCard/index.d.mts +75 -30
- package/lib/components/VCarousel/VCarousel.mjs +1 -1
- package/lib/components/VCarousel/VCarousel.mjs.map +1 -1
- package/lib/components/VChip/VChip.mjs +6 -3
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.mts +15 -6
- package/lib/components/VCombobox/index.d.mts +23 -8
- package/lib/components/VDataIterator/index.d.mts +2 -2
- package/lib/components/VDataTable/composables/headers.mjs +3 -1
- package/lib/components/VDataTable/composables/headers.mjs.map +1 -1
- package/lib/components/VDataTable/composables/paginate.mjs +2 -2
- package/lib/components/VDataTable/composables/paginate.mjs.map +1 -1
- package/lib/components/VDataTable/index.d.mts +34 -34
- package/lib/components/VDataTable/types.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerControls.mjs +5 -5
- package/lib/components/VDatePicker/VDatePickerControls.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +12 -21
- package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/components/VDatePicker/index.d.mts +3 -3
- package/lib/components/VDialog/__test__/VDialog.spec.browser.mjs +50 -0
- package/lib/components/VDialog/__test__/VDialog.spec.browser.mjs.map +1 -0
- package/lib/components/VDialog/index.d.mts +21 -6
- package/lib/components/VFab/index.d.mts +15 -6
- package/lib/components/VField/VField.mjs +1 -6
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.mjs +2 -2
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VList/VListItem.mjs +11 -5
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +32 -14
- package/lib/components/VMenu/index.d.mts +21 -6
- package/lib/components/VOverlay/VOverlay.mjs +10 -1
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.mts +6 -0
- package/lib/components/VPagination/VPagination.mjs +3 -3
- package/lib/components/VPagination/VPagination.mjs.map +1 -1
- package/lib/components/VParallax/VParallax.mjs +1 -1
- package/lib/components/VParallax/VParallax.mjs.map +1 -1
- package/lib/components/VRating/VRating.mjs +1 -1
- package/lib/components/VRating/VRating.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +23 -8
- package/lib/components/VSlider/slider.mjs +1 -1
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/index.d.mts +21 -6
- package/lib/components/VSparkline/VBarline.mjs +1 -1
- package/lib/components/VSparkline/VBarline.mjs.map +1 -1
- package/lib/components/VTabs/index.d.mts +39 -24
- package/lib/components/VTextField/VTextField.mjs +2 -2
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextarea/VTextarea.mjs +4 -4
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VToolbar/VToolbar.css +1 -0
- package/lib/components/VToolbar/VToolbar.sass +1 -0
- package/lib/components/VTooltip/index.d.mts +21 -6
- package/lib/components/index.d.mts +333 -153
- package/lib/composables/stack.mjs +2 -2
- package/lib/composables/stack.mjs.map +1 -1
- package/lib/composables/theme.mjs +1 -1
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/validation.mjs +2 -2
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +54 -54
- package/lib/labs/VDateInput/VDateInput.mjs +4 -3
- package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
- package/lib/labs/VDateInput/index.d.mts +10 -10
- package/lib/labs/VFileUpload/VFileUpload.mjs +3 -2
- package/lib/labs/VFileUpload/VFileUpload.mjs.map +1 -1
- package/lib/labs/VFileUpload/index.d.mts +32 -14
- package/lib/labs/VNumberInput/VNumberInput.mjs +5 -5
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VSnackbarQueue/index.d.mts +21 -6
- package/lib/labs/VTimePicker/VTimePicker.mjs +30 -31
- package/lib/labs/VTimePicker/VTimePicker.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerControls.mjs +14 -13
- package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
- package/lib/labs/VTimePicker/index.d.mts +35 -13
- package/lib/labs/VTimePicker/shared.mjs +2 -0
- package/lib/labs/VTimePicker/shared.mjs.map +1 -0
- package/lib/labs/VTreeview/index.d.mts +32 -14
- package/lib/labs/components.d.mts +128 -55
- package/lib/locale/adapters/vuetify.mjs +1 -1
- package/lib/locale/adapters/vuetify.mjs.map +1 -1
- package/lib/util/animation.mjs +8 -8
- package/lib/util/animation.mjs.map +1 -1
- package/lib/util/helpers.mjs +6 -4
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +2 -2
- package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs +0 -39
- package/lib/components/VDialog/__test__/VDialog.spec.cy.mjs.map +0 -1
- package/lib/labs/VTimePicker/SelectingTimes.mjs +0 -10
- package/lib/labs/VTimePicker/SelectingTimes.mjs.map +0 -1
package/dist/vuetify.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.7.
|
|
2
|
+
* Vuetify v3.7.17
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -84,12 +84,14 @@
|
|
|
84
84
|
let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px';
|
|
85
85
|
if (str == null || str === '') {
|
|
86
86
|
return undefined;
|
|
87
|
-
}
|
|
87
|
+
}
|
|
88
|
+
const num = Number(str);
|
|
89
|
+
if (isNaN(num)) {
|
|
88
90
|
return String(str);
|
|
89
|
-
} else if (!isFinite(
|
|
91
|
+
} else if (!isFinite(num)) {
|
|
90
92
|
return undefined;
|
|
91
93
|
} else {
|
|
92
|
-
return `${
|
|
94
|
+
return `${num}${unit}`;
|
|
93
95
|
}
|
|
94
96
|
}
|
|
95
97
|
function isObject(obj) {
|
|
@@ -617,16 +619,16 @@
|
|
|
617
619
|
let ta, sx, sy, dx, dy;
|
|
618
620
|
if (tx.startsWith('matrix3d(')) {
|
|
619
621
|
ta = tx.slice(9, -1).split(/, /);
|
|
620
|
-
sx =
|
|
621
|
-
sy =
|
|
622
|
-
dx =
|
|
623
|
-
dy =
|
|
622
|
+
sx = Number(ta[0]);
|
|
623
|
+
sy = Number(ta[5]);
|
|
624
|
+
dx = Number(ta[12]);
|
|
625
|
+
dy = Number(ta[13]);
|
|
624
626
|
} else if (tx.startsWith('matrix(')) {
|
|
625
627
|
ta = tx.slice(7, -1).split(/, /);
|
|
626
|
-
sx =
|
|
627
|
-
sy =
|
|
628
|
-
dx =
|
|
629
|
-
dy =
|
|
628
|
+
sx = Number(ta[0]);
|
|
629
|
+
sy = Number(ta[3]);
|
|
630
|
+
dx = Number(ta[4]);
|
|
631
|
+
dy = Number(ta[5]);
|
|
630
632
|
} else {
|
|
631
633
|
return new Box(rect);
|
|
632
634
|
}
|
|
@@ -2520,7 +2522,7 @@
|
|
|
2520
2522
|
const LANG_PREFIX = '$vuetify.';
|
|
2521
2523
|
const replace = (str, params) => {
|
|
2522
2524
|
return str.replace(/\{(\d+)\}/g, (match, index) => {
|
|
2523
|
-
return String(params[
|
|
2525
|
+
return String(params[Number(index)]);
|
|
2524
2526
|
});
|
|
2525
2527
|
};
|
|
2526
2528
|
const createTranslateFunction = (current, fallback, messages) => {
|
|
@@ -2890,7 +2892,7 @@
|
|
|
2890
2892
|
function getHead() {
|
|
2891
2893
|
return {
|
|
2892
2894
|
style: [{
|
|
2893
|
-
|
|
2895
|
+
textContent: styles.value,
|
|
2894
2896
|
id: 'vuetify-theme-stylesheet',
|
|
2895
2897
|
nonce: parsedOptions.cspNonce || false
|
|
2896
2898
|
}]
|
|
@@ -5809,7 +5811,10 @@
|
|
|
5809
5811
|
type: [Boolean, Object],
|
|
5810
5812
|
default: true
|
|
5811
5813
|
},
|
|
5812
|
-
text:
|
|
5814
|
+
text: {
|
|
5815
|
+
type: [String, Number, Boolean],
|
|
5816
|
+
default: undefined
|
|
5817
|
+
},
|
|
5813
5818
|
...makeBorderProps(),
|
|
5814
5819
|
...makeComponentProps(),
|
|
5815
5820
|
...makeDensityProps(),
|
|
@@ -5965,7 +5970,7 @@
|
|
|
5965
5970
|
}
|
|
5966
5971
|
}
|
|
5967
5972
|
}, {
|
|
5968
|
-
default: () => [slots.default?.() ?? props.text]
|
|
5973
|
+
default: () => [slots.default?.() ?? vue.toDisplayString(props.text)]
|
|
5969
5974
|
})]), !props.icon && hasAppend && vue.createVNode("span", {
|
|
5970
5975
|
"key": "append",
|
|
5971
5976
|
"class": "v-btn__append"
|
|
@@ -6973,7 +6978,7 @@
|
|
|
6973
6978
|
const isPristine = vue.shallowRef(true);
|
|
6974
6979
|
const isDirty = vue.computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));
|
|
6975
6980
|
const errorMessages = vue.computed(() => {
|
|
6976
|
-
return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0,
|
|
6981
|
+
return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, Number(props.maxErrors))) : internalErrorMessages.value;
|
|
6977
6982
|
});
|
|
6978
6983
|
const validateOn = vue.computed(() => {
|
|
6979
6984
|
let value = (props.validateOn ?? form.validateOn?.value) || 'input';
|
|
@@ -7064,7 +7069,7 @@
|
|
|
7064
7069
|
const results = [];
|
|
7065
7070
|
isValidating.value = true;
|
|
7066
7071
|
for (const rule of props.rules) {
|
|
7067
|
-
if (results.length >=
|
|
7072
|
+
if (results.length >= Number(props.maxErrors ?? 1)) {
|
|
7068
7073
|
break;
|
|
7069
7074
|
}
|
|
7070
7075
|
const handler = typeof rule === 'function' ? rule : () => rule;
|
|
@@ -8125,7 +8130,10 @@
|
|
|
8125
8130
|
type: [Boolean, Object],
|
|
8126
8131
|
default: true
|
|
8127
8132
|
},
|
|
8128
|
-
text:
|
|
8133
|
+
text: {
|
|
8134
|
+
type: [String, Number, Boolean],
|
|
8135
|
+
default: undefined
|
|
8136
|
+
},
|
|
8129
8137
|
modelValue: {
|
|
8130
8138
|
type: Boolean,
|
|
8131
8139
|
default: true
|
|
@@ -8294,7 +8302,7 @@
|
|
|
8294
8302
|
toggle: group?.toggle,
|
|
8295
8303
|
value: group?.value.value,
|
|
8296
8304
|
disabled: props.disabled
|
|
8297
|
-
}) ?? props.text]), hasAppend && vue.createVNode("div", {
|
|
8305
|
+
}) ?? vue.toDisplayString(props.text)]), hasAppend && vue.createVNode("div", {
|
|
8298
8306
|
"key": "append",
|
|
8299
8307
|
"class": "v-chip__append"
|
|
8300
8308
|
}, [!slots.append ? vue.createVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
|
|
@@ -9173,8 +9181,14 @@
|
|
|
9173
9181
|
default: true
|
|
9174
9182
|
},
|
|
9175
9183
|
slim: Boolean,
|
|
9176
|
-
subtitle:
|
|
9177
|
-
|
|
9184
|
+
subtitle: {
|
|
9185
|
+
type: [String, Number, Boolean],
|
|
9186
|
+
default: undefined
|
|
9187
|
+
},
|
|
9188
|
+
title: {
|
|
9189
|
+
type: [String, Number, Boolean],
|
|
9190
|
+
default: undefined
|
|
9191
|
+
},
|
|
9178
9192
|
value: null,
|
|
9179
9193
|
onClick: EventProp(),
|
|
9180
9194
|
onClickOnce: EventProp(),
|
|
@@ -9367,13 +9381,13 @@
|
|
|
9367
9381
|
}, {
|
|
9368
9382
|
default: () => [slots.title?.({
|
|
9369
9383
|
title: props.title
|
|
9370
|
-
}) ?? props.title]
|
|
9384
|
+
}) ?? vue.toDisplayString(props.title)]
|
|
9371
9385
|
}), hasSubtitle && vue.createVNode(VListItemSubtitle, {
|
|
9372
9386
|
"key": "subtitle"
|
|
9373
9387
|
}, {
|
|
9374
9388
|
default: () => [slots.subtitle?.({
|
|
9375
9389
|
subtitle: props.subtitle
|
|
9376
|
-
}) ?? props.subtitle]
|
|
9390
|
+
}) ?? vue.toDisplayString(props.subtitle)]
|
|
9377
9391
|
}), slots.default?.(slotProps.value)]), hasAppend && vue.createVNode("div", {
|
|
9378
9392
|
"key": "append",
|
|
9379
9393
|
"class": "v-list-item__append"
|
|
@@ -10974,10 +10988,10 @@
|
|
|
10974
10988
|
activeChildren: new Set()
|
|
10975
10989
|
});
|
|
10976
10990
|
vue.provide(StackSymbol, stack);
|
|
10977
|
-
const _zIndex = vue.shallowRef(
|
|
10991
|
+
const _zIndex = vue.shallowRef(Number(zIndex.value));
|
|
10978
10992
|
useToggleScope(isActive, () => {
|
|
10979
10993
|
const lastZIndex = globalStack.at(-1)?.[1];
|
|
10980
|
-
_zIndex.value = lastZIndex ? lastZIndex + 10 :
|
|
10994
|
+
_zIndex.value = lastZIndex ? lastZIndex + 10 : Number(zIndex.value);
|
|
10981
10995
|
if (createStackEntry) {
|
|
10982
10996
|
globalStack.push([vm.uid, _zIndex.value]);
|
|
10983
10997
|
}
|
|
@@ -11186,6 +11200,7 @@
|
|
|
11186
11200
|
emits: {
|
|
11187
11201
|
'click:outside': e => true,
|
|
11188
11202
|
'update:modelValue': value => true,
|
|
11203
|
+
keydown: e => true,
|
|
11189
11204
|
afterEnter: () => true,
|
|
11190
11205
|
afterLeave: () => true
|
|
11191
11206
|
},
|
|
@@ -11298,6 +11313,9 @@
|
|
|
11298
11313
|
});
|
|
11299
11314
|
function onKeydown(e) {
|
|
11300
11315
|
if (e.key === 'Escape' && globalTop.value) {
|
|
11316
|
+
if (!contentEl.value?.contains(document.activeElement)) {
|
|
11317
|
+
emit('keydown', e);
|
|
11318
|
+
}
|
|
11301
11319
|
if (!props.persistent) {
|
|
11302
11320
|
isActive.value = false;
|
|
11303
11321
|
if (contentEl.value?.contains(document.activeElement)) {
|
|
@@ -11306,6 +11324,10 @@
|
|
|
11306
11324
|
} else animateClick();
|
|
11307
11325
|
}
|
|
11308
11326
|
}
|
|
11327
|
+
function onKeydownSelf(e) {
|
|
11328
|
+
if (e.key === 'Escape' && !globalTop.value) return;
|
|
11329
|
+
emit('keydown', e);
|
|
11330
|
+
}
|
|
11309
11331
|
const router = useRouter();
|
|
11310
11332
|
useToggleScope(() => props.closeOnBack, () => {
|
|
11311
11333
|
useBackButton(router, next => {
|
|
@@ -11368,7 +11390,8 @@
|
|
|
11368
11390
|
'--v-overlay-opacity': props.opacity,
|
|
11369
11391
|
top: convertToUnit(top.value)
|
|
11370
11392
|
}, props.style],
|
|
11371
|
-
"ref": root
|
|
11393
|
+
"ref": root,
|
|
11394
|
+
"onKeydown": onKeydownSelf
|
|
11372
11395
|
}, scopeId, attrs), [vue.createVNode(Scrim, vue.mergeProps({
|
|
11373
11396
|
"color": scrimColor,
|
|
11374
11397
|
"modelValue": isActive.value && !!props.scrim,
|
|
@@ -12039,11 +12062,6 @@
|
|
|
12039
12062
|
};
|
|
12040
12063
|
}
|
|
12041
12064
|
});
|
|
12042
|
-
// TODO: this is kinda slow, might be better to implicitly inherit props instead
|
|
12043
|
-
function filterFieldProps(attrs) {
|
|
12044
|
-
const keys = Object.keys(VField.props).filter(k => !isOn(k) && k !== 'class' && k !== 'style');
|
|
12045
|
-
return pick(attrs, keys);
|
|
12046
|
-
}
|
|
12047
12065
|
|
|
12048
12066
|
// Types
|
|
12049
12067
|
|
|
@@ -12151,7 +12169,7 @@
|
|
|
12151
12169
|
modelValue: _,
|
|
12152
12170
|
...inputProps
|
|
12153
12171
|
} = VInput.filterProps(props);
|
|
12154
|
-
const fieldProps =
|
|
12172
|
+
const fieldProps = VField.filterProps(props);
|
|
12155
12173
|
return vue.createVNode(VInput, vue.mergeProps({
|
|
12156
12174
|
"ref": vInputRef,
|
|
12157
12175
|
"modelValue": model.value,
|
|
@@ -13759,11 +13777,11 @@
|
|
|
13759
13777
|
locationStyles
|
|
13760
13778
|
} = useLocation(props, true, side => {
|
|
13761
13779
|
const base = props.floating ? props.dot ? 2 : 4 : props.dot ? 8 : 12;
|
|
13762
|
-
return base + (['top', 'bottom'].includes(side) ?
|
|
13780
|
+
return base + (['top', 'bottom'].includes(side) ? Number(props.offsetY ?? 0) : ['left', 'right'].includes(side) ? Number(props.offsetX ?? 0) : 0);
|
|
13763
13781
|
});
|
|
13764
13782
|
useRender(() => {
|
|
13765
13783
|
const value = Number(props.content);
|
|
13766
|
-
const content = !props.max || isNaN(value) ? props.content : value <=
|
|
13784
|
+
const content = !props.max || isNaN(value) ? props.content : value <= Number(props.max) ? value : `${props.max}+`;
|
|
13767
13785
|
const [badgeAttrs, attrs] = pickWithRest(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);
|
|
13768
13786
|
return vue.createVNode(props.tag, vue.mergeProps({
|
|
13769
13787
|
"class": ['v-badge', {
|
|
@@ -14462,8 +14480,14 @@
|
|
|
14462
14480
|
appendIcon: IconValue,
|
|
14463
14481
|
prependAvatar: String,
|
|
14464
14482
|
prependIcon: IconValue,
|
|
14465
|
-
subtitle:
|
|
14466
|
-
|
|
14483
|
+
subtitle: {
|
|
14484
|
+
type: [String, Number, Boolean],
|
|
14485
|
+
default: undefined
|
|
14486
|
+
},
|
|
14487
|
+
title: {
|
|
14488
|
+
type: [String, Number, Boolean],
|
|
14489
|
+
default: undefined
|
|
14490
|
+
},
|
|
14467
14491
|
...makeComponentProps(),
|
|
14468
14492
|
...makeDensityProps()
|
|
14469
14493
|
}, 'VCardItem');
|
|
@@ -14513,11 +14537,11 @@
|
|
|
14513
14537
|
}, [hasTitle && vue.createVNode(VCardTitle, {
|
|
14514
14538
|
"key": "title"
|
|
14515
14539
|
}, {
|
|
14516
|
-
default: () => [slots.title?.() ?? props.title]
|
|
14540
|
+
default: () => [slots.title?.() ?? vue.toDisplayString(props.title)]
|
|
14517
14541
|
}), hasSubtitle && vue.createVNode(VCardSubtitle, {
|
|
14518
14542
|
"key": "subtitle"
|
|
14519
14543
|
}, {
|
|
14520
|
-
default: () => [slots.subtitle?.() ?? props.subtitle]
|
|
14544
|
+
default: () => [slots.subtitle?.() ?? vue.toDisplayString(props.subtitle)]
|
|
14521
14545
|
}), slots.default?.()]), hasAppend && vue.createVNode("div", {
|
|
14522
14546
|
"key": "append",
|
|
14523
14547
|
"class": "v-card-item__append"
|
|
@@ -14589,9 +14613,18 @@
|
|
|
14589
14613
|
type: [Boolean, Object],
|
|
14590
14614
|
default: true
|
|
14591
14615
|
},
|
|
14592
|
-
subtitle:
|
|
14593
|
-
|
|
14594
|
-
|
|
14616
|
+
subtitle: {
|
|
14617
|
+
type: [String, Number, Boolean],
|
|
14618
|
+
default: undefined
|
|
14619
|
+
},
|
|
14620
|
+
text: {
|
|
14621
|
+
type: [String, Number, Boolean],
|
|
14622
|
+
default: undefined
|
|
14623
|
+
},
|
|
14624
|
+
title: {
|
|
14625
|
+
type: [String, Number, Boolean],
|
|
14626
|
+
default: undefined
|
|
14627
|
+
},
|
|
14595
14628
|
...makeBorderProps(),
|
|
14596
14629
|
...makeComponentProps(),
|
|
14597
14630
|
...makeDensityProps(),
|
|
@@ -15060,7 +15093,7 @@
|
|
|
15060
15093
|
vue.onMounted(startTimeout);
|
|
15061
15094
|
function startTimeout() {
|
|
15062
15095
|
if (!props.cycle || !windowRef.value) return;
|
|
15063
|
-
slideTimeout = window.setTimeout(windowRef.value.group.next,
|
|
15096
|
+
slideTimeout = window.setTimeout(windowRef.value.group.next, Number(props.interval) > 0 ? Number(props.interval) : 6000);
|
|
15064
15097
|
}
|
|
15065
15098
|
function restartTimeout() {
|
|
15066
15099
|
window.clearTimeout(slideTimeout);
|
|
@@ -15786,7 +15819,7 @@
|
|
|
15786
15819
|
const useSteps = props => {
|
|
15787
15820
|
const min = vue.computed(() => parseFloat(props.min));
|
|
15788
15821
|
const max = vue.computed(() => parseFloat(props.max));
|
|
15789
|
-
const step = vue.computed(() =>
|
|
15822
|
+
const step = vue.computed(() => Number(props.step) > 0 ? parseFloat(props.step) : 0);
|
|
15790
15823
|
const decimals = vue.computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
|
|
15791
15824
|
function roundValue(value) {
|
|
15792
15825
|
value = parseFloat(value);
|
|
@@ -18741,8 +18774,8 @@
|
|
|
18741
18774
|
}, 'DataTable-paginate');
|
|
18742
18775
|
const VDataTablePaginationSymbol = Symbol.for('vuetify:data-table-pagination');
|
|
18743
18776
|
function createPagination(props) {
|
|
18744
|
-
const page = useProxiedModel(props, 'page', undefined, value =>
|
|
18745
|
-
const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value =>
|
|
18777
|
+
const page = useProxiedModel(props, 'page', undefined, value => Number(value ?? 1));
|
|
18778
|
+
const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => Number(value ?? 10));
|
|
18746
18779
|
return {
|
|
18747
18780
|
page,
|
|
18748
18781
|
itemsPerPage
|
|
@@ -19531,7 +19564,7 @@
|
|
|
19531
19564
|
const minButtons = props.showFirstLastPage ? 5 : 3;
|
|
19532
19565
|
return Math.max(0, Math.floor(
|
|
19533
19566
|
// Round to two decimal places to avoid floating point errors
|
|
19534
|
-
|
|
19567
|
+
Number(((totalWidth - itemWidth * minButtons) / itemWidth).toFixed(2))));
|
|
19535
19568
|
}
|
|
19536
19569
|
const range = vue.computed(() => {
|
|
19537
19570
|
if (length.value <= 0 || isNaN(length.value) || length.value > Number.MAX_SAFE_INTEGER) return [];
|
|
@@ -19602,7 +19635,7 @@
|
|
|
19602
19635
|
ref,
|
|
19603
19636
|
ellipsis: false,
|
|
19604
19637
|
icon: true,
|
|
19605
|
-
disabled: !!props.disabled ||
|
|
19638
|
+
disabled: !!props.disabled || Number(props.length) < 2,
|
|
19606
19639
|
color: isActive ? props.activeColor : props.color,
|
|
19607
19640
|
'aria-current': isActive,
|
|
19608
19641
|
'aria-label': t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
|
|
@@ -19651,7 +19684,7 @@
|
|
|
19651
19684
|
refs.value[currentIndex]?.$el.focus();
|
|
19652
19685
|
}
|
|
19653
19686
|
function onKeydown(e) {
|
|
19654
|
-
if (e.key === keyValues.left && !props.disabled && page.value >
|
|
19687
|
+
if (e.key === keyValues.left && !props.disabled && page.value > Number(props.start)) {
|
|
19655
19688
|
page.value = page.value - 1;
|
|
19656
19689
|
vue.nextTick(updateFocus);
|
|
19657
19690
|
} else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {
|
|
@@ -19984,8 +20017,10 @@
|
|
|
19984
20017
|
} else {
|
|
19985
20018
|
if (!seenFixed) {
|
|
19986
20019
|
item.lastFixed = true;
|
|
19987
|
-
} else if (isNaN(
|
|
20020
|
+
} else if (isNaN(Number(item.width))) {
|
|
19988
20021
|
consoleError(`Multiple fixed columns should have a static width (key: ${item.key})`);
|
|
20022
|
+
} else {
|
|
20023
|
+
item.minWidth = Math.max(Number(item.width) || 0, Number(item.minWidth) || 0);
|
|
19989
20024
|
}
|
|
19990
20025
|
seenFixed = true;
|
|
19991
20026
|
}
|
|
@@ -21748,30 +21783,30 @@
|
|
|
21748
21783
|
"class": ['v-date-picker-controls']
|
|
21749
21784
|
}, [vue.createVNode(VBtn, {
|
|
21750
21785
|
"class": "v-date-picker-controls__month-btn",
|
|
21786
|
+
"data-testid": "month-btn",
|
|
21751
21787
|
"disabled": disableMonth.value,
|
|
21752
21788
|
"text": props.text,
|
|
21753
21789
|
"variant": "text",
|
|
21754
21790
|
"rounded": true,
|
|
21755
21791
|
"onClick": onClickMonth
|
|
21756
21792
|
}, null), vue.createVNode(VBtn, {
|
|
21757
|
-
"key": "mode-btn",
|
|
21758
21793
|
"class": "v-date-picker-controls__mode-btn",
|
|
21794
|
+
"data-testid": "year-btn",
|
|
21759
21795
|
"disabled": disableYear.value,
|
|
21760
21796
|
"density": "comfortable",
|
|
21761
21797
|
"icon": props.modeIcon,
|
|
21762
21798
|
"variant": "text",
|
|
21763
21799
|
"onClick": onClickYear
|
|
21764
|
-
}, null), vue.createVNode(VSpacer, {
|
|
21765
|
-
"key": "mode-spacer"
|
|
21766
|
-
}, null), vue.createVNode("div", {
|
|
21767
|
-
"key": "month-buttons",
|
|
21800
|
+
}, null), vue.createVNode(VSpacer, null, null), vue.createVNode("div", {
|
|
21768
21801
|
"class": "v-date-picker-controls__month"
|
|
21769
21802
|
}, [vue.createVNode(VBtn, {
|
|
21803
|
+
"data-testid": "prev-month",
|
|
21770
21804
|
"disabled": disablePrev.value,
|
|
21771
21805
|
"icon": props.prevIcon,
|
|
21772
21806
|
"variant": "text",
|
|
21773
21807
|
"onClick": onClickPrev
|
|
21774
21808
|
}, null), vue.createVNode(VBtn, {
|
|
21809
|
+
"data-testid": "next-month",
|
|
21775
21810
|
"disabled": disableNext.value,
|
|
21776
21811
|
"icon": props.nextIcon,
|
|
21777
21812
|
"variant": "text",
|
|
@@ -22118,7 +22153,7 @@
|
|
|
22118
22153
|
model.value = [value];
|
|
22119
22154
|
}
|
|
22120
22155
|
}
|
|
22121
|
-
|
|
22156
|
+
useRender(() => vue.createVNode("div", {
|
|
22122
22157
|
"class": "v-date-picker-month"
|
|
22123
22158
|
}, [props.showWeek && vue.createVNode("div", {
|
|
22124
22159
|
"key": "weeks",
|
|
@@ -22140,6 +22175,13 @@
|
|
|
22140
22175
|
}, [weekDay])), daysInMonth.value.map((item, i) => {
|
|
22141
22176
|
const slotProps = {
|
|
22142
22177
|
props: {
|
|
22178
|
+
class: 'v-date-picker-month__day-btn',
|
|
22179
|
+
color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
|
|
22180
|
+
disabled: item.isDisabled,
|
|
22181
|
+
icon: true,
|
|
22182
|
+
ripple: false,
|
|
22183
|
+
text: item.localized,
|
|
22184
|
+
variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
|
|
22143
22185
|
onClick: () => onClick(item.date)
|
|
22144
22186
|
},
|
|
22145
22187
|
item,
|
|
@@ -22157,24 +22199,9 @@
|
|
|
22157
22199
|
'v-date-picker-month__day--week-start': item.isWeekStart
|
|
22158
22200
|
}],
|
|
22159
22201
|
"data-v-date": !item.isDisabled ? item.isoDate : undefined
|
|
22160
|
-
}, [(props.showAdjacentMonths || !item.isAdjacent) && vue.createVNode(
|
|
22161
|
-
"defaults": {
|
|
22162
|
-
VBtn: {
|
|
22163
|
-
class: 'v-date-picker-month__day-btn',
|
|
22164
|
-
color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
|
|
22165
|
-
disabled: item.isDisabled,
|
|
22166
|
-
icon: true,
|
|
22167
|
-
ripple: false,
|
|
22168
|
-
text: item.localized,
|
|
22169
|
-
variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
|
|
22170
|
-
onClick: () => onClick(item.date)
|
|
22171
|
-
}
|
|
22172
|
-
}
|
|
22173
|
-
}, {
|
|
22174
|
-
default: () => [slots.day?.(slotProps) ?? vue.createVNode(VBtn, slotProps.props, null)]
|
|
22175
|
-
})]);
|
|
22202
|
+
}, [(props.showAdjacentMonths || !item.isAdjacent) && (slots.day?.(slotProps) ?? vue.createVNode(VBtn, slotProps.props, null))]);
|
|
22176
22203
|
})])]
|
|
22177
|
-
})]);
|
|
22204
|
+
})]));
|
|
22178
22205
|
}
|
|
22179
22206
|
});
|
|
22180
22207
|
|
|
@@ -23312,7 +23339,7 @@
|
|
|
23312
23339
|
modelValue: _,
|
|
23313
23340
|
...inputProps
|
|
23314
23341
|
} = VInput.filterProps(props);
|
|
23315
|
-
const fieldProps =
|
|
23342
|
+
const fieldProps = VField.filterProps(props);
|
|
23316
23343
|
return vue.createVNode(VInput, vue.mergeProps({
|
|
23317
23344
|
"ref": vInputRef,
|
|
23318
23345
|
"modelValue": props.multiple ? model.value : model.value[0],
|
|
@@ -24931,7 +24958,7 @@
|
|
|
24931
24958
|
vue.watch(displayHeight, onScroll);
|
|
24932
24959
|
vue.watch(() => contentRect.value?.height, onScroll);
|
|
24933
24960
|
const scale = vue.computed(() => {
|
|
24934
|
-
return 1 - clamp(
|
|
24961
|
+
return 1 - clamp(Number(props.scale));
|
|
24935
24962
|
});
|
|
24936
24963
|
let frame = -1;
|
|
24937
24964
|
function onScroll() {
|
|
@@ -25352,7 +25379,7 @@
|
|
|
25352
25379
|
themeClasses
|
|
25353
25380
|
} = provideTheme(props);
|
|
25354
25381
|
const rating = useProxiedModel(props, 'modelValue');
|
|
25355
|
-
const normalizedValue = vue.computed(() => clamp(parseFloat(rating.value), 0,
|
|
25382
|
+
const normalizedValue = vue.computed(() => clamp(parseFloat(rating.value), 0, Number(props.length)));
|
|
25356
25383
|
const range = vue.computed(() => createRange(Number(props.length), 1));
|
|
25357
25384
|
const increments = vue.computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]));
|
|
25358
25385
|
const hoverIndex = vue.shallowRef(-1);
|
|
@@ -25963,7 +25990,7 @@
|
|
|
25963
25990
|
const height = Math.abs(gridY * value);
|
|
25964
25991
|
return {
|
|
25965
25992
|
x: minX + index * gridX,
|
|
25966
|
-
y: horizonY - height +
|
|
25993
|
+
y: horizonY - height + Number(value < 0) * height,
|
|
25967
25994
|
height,
|
|
25968
25995
|
value
|
|
25969
25996
|
};
|
|
@@ -27401,10 +27428,10 @@
|
|
|
27401
27428
|
}
|
|
27402
27429
|
}
|
|
27403
27430
|
const sizerRef = vue.ref();
|
|
27404
|
-
const rows = vue.ref(
|
|
27431
|
+
const rows = vue.ref(Number(props.rows));
|
|
27405
27432
|
const isPlainOrUnderlined = vue.computed(() => ['plain', 'underlined'].includes(props.variant));
|
|
27406
27433
|
vue.watchEffect(() => {
|
|
27407
|
-
if (!props.autoGrow) rows.value =
|
|
27434
|
+
if (!props.autoGrow) rows.value = Number(props.rows);
|
|
27408
27435
|
});
|
|
27409
27436
|
function calculateInputHeight() {
|
|
27410
27437
|
if (!props.autoGrow) return;
|
|
@@ -27447,7 +27474,7 @@
|
|
|
27447
27474
|
modelValue: _,
|
|
27448
27475
|
...inputProps
|
|
27449
27476
|
} = VInput.filterProps(props);
|
|
27450
|
-
const fieldProps =
|
|
27477
|
+
const fieldProps = VField.filterProps(props);
|
|
27451
27478
|
return vue.createVNode(VInput, vue.mergeProps({
|
|
27452
27479
|
"ref": vInputRef,
|
|
27453
27480
|
"modelValue": model.value,
|
|
@@ -28421,7 +28448,7 @@
|
|
|
28421
28448
|
goTo
|
|
28422
28449
|
};
|
|
28423
28450
|
}
|
|
28424
|
-
const version$1 = "3.7.
|
|
28451
|
+
const version$1 = "3.7.17";
|
|
28425
28452
|
createVuetify$1.version = version$1;
|
|
28426
28453
|
|
|
28427
28454
|
// Vue's inject() can only be used in setup
|
|
@@ -28446,7 +28473,7 @@
|
|
|
28446
28473
|
...options
|
|
28447
28474
|
});
|
|
28448
28475
|
};
|
|
28449
|
-
const version = "3.7.
|
|
28476
|
+
const version = "3.7.17";
|
|
28450
28477
|
createVuetify.version = version;
|
|
28451
28478
|
|
|
28452
28479
|
exports.blueprints = index;
|