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.esm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
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
|
*/
|
|
6
6
|
|
|
7
|
-
import { shallowRef, reactive, computed, watchEffect, toRefs, capitalize, unref, Fragment, isVNode, Comment, warn, getCurrentInstance as getCurrentInstance$1, ref, provide, inject as inject$1, defineComponent as defineComponent$1, h, camelize, createVNode, mergeProps, onBeforeUnmount, watch, readonly, onMounted, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, TransitionGroup, Transition, isRef, toRef, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, onUpdated, Text, resolveDynamicComponent, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers,
|
|
7
|
+
import { shallowRef, reactive, computed, watchEffect, toRefs, capitalize, unref, Fragment, isVNode, Comment, warn, getCurrentInstance as getCurrentInstance$1, ref, provide, inject as inject$1, defineComponent as defineComponent$1, h, camelize, createVNode, mergeProps, onBeforeUnmount, watch, readonly, onMounted, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, TransitionGroup, Transition, isRef, toRef, onBeforeMount, nextTick, withDirectives, resolveDirective, vShow, onUpdated, Text, resolveDynamicComponent, toDisplayString, markRaw, Teleport, cloneVNode, createTextVNode, onUnmounted, onBeforeUpdate, withModifiers, vModelText, resolveComponent, render } from 'vue';
|
|
8
8
|
|
|
9
9
|
const IN_BROWSER = typeof window !== 'undefined';
|
|
10
10
|
const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
|
@@ -80,12 +80,14 @@ function convertToUnit(str) {
|
|
|
80
80
|
let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px';
|
|
81
81
|
if (str == null || str === '') {
|
|
82
82
|
return undefined;
|
|
83
|
-
}
|
|
83
|
+
}
|
|
84
|
+
const num = Number(str);
|
|
85
|
+
if (isNaN(num)) {
|
|
84
86
|
return String(str);
|
|
85
|
-
} else if (!isFinite(
|
|
87
|
+
} else if (!isFinite(num)) {
|
|
86
88
|
return undefined;
|
|
87
89
|
} else {
|
|
88
|
-
return `${
|
|
90
|
+
return `${num}${unit}`;
|
|
89
91
|
}
|
|
90
92
|
}
|
|
91
93
|
function isObject(obj) {
|
|
@@ -613,16 +615,16 @@ function nullifyTransforms(el) {
|
|
|
613
615
|
let ta, sx, sy, dx, dy;
|
|
614
616
|
if (tx.startsWith('matrix3d(')) {
|
|
615
617
|
ta = tx.slice(9, -1).split(/, /);
|
|
616
|
-
sx =
|
|
617
|
-
sy =
|
|
618
|
-
dx =
|
|
619
|
-
dy =
|
|
618
|
+
sx = Number(ta[0]);
|
|
619
|
+
sy = Number(ta[5]);
|
|
620
|
+
dx = Number(ta[12]);
|
|
621
|
+
dy = Number(ta[13]);
|
|
620
622
|
} else if (tx.startsWith('matrix(')) {
|
|
621
623
|
ta = tx.slice(7, -1).split(/, /);
|
|
622
|
-
sx =
|
|
623
|
-
sy =
|
|
624
|
-
dx =
|
|
625
|
-
dy =
|
|
624
|
+
sx = Number(ta[0]);
|
|
625
|
+
sy = Number(ta[3]);
|
|
626
|
+
dx = Number(ta[4]);
|
|
627
|
+
dy = Number(ta[5]);
|
|
626
628
|
} else {
|
|
627
629
|
return new Box(rect);
|
|
628
630
|
}
|
|
@@ -2516,7 +2518,7 @@ var en = {
|
|
|
2516
2518
|
const LANG_PREFIX = '$vuetify.';
|
|
2517
2519
|
const replace = (str, params) => {
|
|
2518
2520
|
return str.replace(/\{(\d+)\}/g, (match, index) => {
|
|
2519
|
-
return String(params[
|
|
2521
|
+
return String(params[Number(index)]);
|
|
2520
2522
|
});
|
|
2521
2523
|
};
|
|
2522
2524
|
const createTranslateFunction = (current, fallback, messages) => {
|
|
@@ -2886,7 +2888,7 @@ function createTheme(options) {
|
|
|
2886
2888
|
function getHead() {
|
|
2887
2889
|
return {
|
|
2888
2890
|
style: [{
|
|
2889
|
-
|
|
2891
|
+
textContent: styles.value,
|
|
2890
2892
|
id: 'vuetify-theme-stylesheet',
|
|
2891
2893
|
nonce: parsedOptions.cspNonce || false
|
|
2892
2894
|
}]
|
|
@@ -5805,7 +5807,10 @@ const makeVBtnProps = propsFactory({
|
|
|
5805
5807
|
type: [Boolean, Object],
|
|
5806
5808
|
default: true
|
|
5807
5809
|
},
|
|
5808
|
-
text:
|
|
5810
|
+
text: {
|
|
5811
|
+
type: [String, Number, Boolean],
|
|
5812
|
+
default: undefined
|
|
5813
|
+
},
|
|
5809
5814
|
...makeBorderProps(),
|
|
5810
5815
|
...makeComponentProps(),
|
|
5811
5816
|
...makeDensityProps(),
|
|
@@ -5961,7 +5966,7 @@ const VBtn = genericComponent()({
|
|
|
5961
5966
|
}
|
|
5962
5967
|
}
|
|
5963
5968
|
}, {
|
|
5964
|
-
default: () => [slots.default?.() ?? props.text]
|
|
5969
|
+
default: () => [slots.default?.() ?? toDisplayString(props.text)]
|
|
5965
5970
|
})]), !props.icon && hasAppend && createVNode("span", {
|
|
5966
5971
|
"key": "append",
|
|
5967
5972
|
"class": "v-btn__append"
|
|
@@ -6969,7 +6974,7 @@ function useValidation(props) {
|
|
|
6969
6974
|
const isPristine = shallowRef(true);
|
|
6970
6975
|
const isDirty = computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));
|
|
6971
6976
|
const errorMessages = computed(() => {
|
|
6972
|
-
return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0,
|
|
6977
|
+
return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, Number(props.maxErrors))) : internalErrorMessages.value;
|
|
6973
6978
|
});
|
|
6974
6979
|
const validateOn = computed(() => {
|
|
6975
6980
|
let value = (props.validateOn ?? form.validateOn?.value) || 'input';
|
|
@@ -7060,7 +7065,7 @@ function useValidation(props) {
|
|
|
7060
7065
|
const results = [];
|
|
7061
7066
|
isValidating.value = true;
|
|
7062
7067
|
for (const rule of props.rules) {
|
|
7063
|
-
if (results.length >=
|
|
7068
|
+
if (results.length >= Number(props.maxErrors ?? 1)) {
|
|
7064
7069
|
break;
|
|
7065
7070
|
}
|
|
7066
7071
|
const handler = typeof rule === 'function' ? rule : () => rule;
|
|
@@ -8121,7 +8126,10 @@ const makeVChipProps = propsFactory({
|
|
|
8121
8126
|
type: [Boolean, Object],
|
|
8122
8127
|
default: true
|
|
8123
8128
|
},
|
|
8124
|
-
text:
|
|
8129
|
+
text: {
|
|
8130
|
+
type: [String, Number, Boolean],
|
|
8131
|
+
default: undefined
|
|
8132
|
+
},
|
|
8125
8133
|
modelValue: {
|
|
8126
8134
|
type: Boolean,
|
|
8127
8135
|
default: true
|
|
@@ -8290,7 +8298,7 @@ const VChip = genericComponent()({
|
|
|
8290
8298
|
toggle: group?.toggle,
|
|
8291
8299
|
value: group?.value.value,
|
|
8292
8300
|
disabled: props.disabled
|
|
8293
|
-
}) ?? props.text]), hasAppend && createVNode("div", {
|
|
8301
|
+
}) ?? toDisplayString(props.text)]), hasAppend && createVNode("div", {
|
|
8294
8302
|
"key": "append",
|
|
8295
8303
|
"class": "v-chip__append"
|
|
8296
8304
|
}, [!slots.append ? createVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
|
|
@@ -9169,8 +9177,14 @@ const makeVListItemProps = propsFactory({
|
|
|
9169
9177
|
default: true
|
|
9170
9178
|
},
|
|
9171
9179
|
slim: Boolean,
|
|
9172
|
-
subtitle:
|
|
9173
|
-
|
|
9180
|
+
subtitle: {
|
|
9181
|
+
type: [String, Number, Boolean],
|
|
9182
|
+
default: undefined
|
|
9183
|
+
},
|
|
9184
|
+
title: {
|
|
9185
|
+
type: [String, Number, Boolean],
|
|
9186
|
+
default: undefined
|
|
9187
|
+
},
|
|
9174
9188
|
value: null,
|
|
9175
9189
|
onClick: EventProp(),
|
|
9176
9190
|
onClickOnce: EventProp(),
|
|
@@ -9363,13 +9377,13 @@ const VListItem = genericComponent()({
|
|
|
9363
9377
|
}, {
|
|
9364
9378
|
default: () => [slots.title?.({
|
|
9365
9379
|
title: props.title
|
|
9366
|
-
}) ?? props.title]
|
|
9380
|
+
}) ?? toDisplayString(props.title)]
|
|
9367
9381
|
}), hasSubtitle && createVNode(VListItemSubtitle, {
|
|
9368
9382
|
"key": "subtitle"
|
|
9369
9383
|
}, {
|
|
9370
9384
|
default: () => [slots.subtitle?.({
|
|
9371
9385
|
subtitle: props.subtitle
|
|
9372
|
-
}) ?? props.subtitle]
|
|
9386
|
+
}) ?? toDisplayString(props.subtitle)]
|
|
9373
9387
|
}), slots.default?.(slotProps.value)]), hasAppend && createVNode("div", {
|
|
9374
9388
|
"key": "append",
|
|
9375
9389
|
"class": "v-list-item__append"
|
|
@@ -10970,10 +10984,10 @@ function useStack(isActive, zIndex, disableGlobalStack) {
|
|
|
10970
10984
|
activeChildren: new Set()
|
|
10971
10985
|
});
|
|
10972
10986
|
provide(StackSymbol, stack);
|
|
10973
|
-
const _zIndex = shallowRef(
|
|
10987
|
+
const _zIndex = shallowRef(Number(zIndex.value));
|
|
10974
10988
|
useToggleScope(isActive, () => {
|
|
10975
10989
|
const lastZIndex = globalStack.at(-1)?.[1];
|
|
10976
|
-
_zIndex.value = lastZIndex ? lastZIndex + 10 :
|
|
10990
|
+
_zIndex.value = lastZIndex ? lastZIndex + 10 : Number(zIndex.value);
|
|
10977
10991
|
if (createStackEntry) {
|
|
10978
10992
|
globalStack.push([vm.uid, _zIndex.value]);
|
|
10979
10993
|
}
|
|
@@ -11182,6 +11196,7 @@ const VOverlay = genericComponent()({
|
|
|
11182
11196
|
emits: {
|
|
11183
11197
|
'click:outside': e => true,
|
|
11184
11198
|
'update:modelValue': value => true,
|
|
11199
|
+
keydown: e => true,
|
|
11185
11200
|
afterEnter: () => true,
|
|
11186
11201
|
afterLeave: () => true
|
|
11187
11202
|
},
|
|
@@ -11294,6 +11309,9 @@ const VOverlay = genericComponent()({
|
|
|
11294
11309
|
});
|
|
11295
11310
|
function onKeydown(e) {
|
|
11296
11311
|
if (e.key === 'Escape' && globalTop.value) {
|
|
11312
|
+
if (!contentEl.value?.contains(document.activeElement)) {
|
|
11313
|
+
emit('keydown', e);
|
|
11314
|
+
}
|
|
11297
11315
|
if (!props.persistent) {
|
|
11298
11316
|
isActive.value = false;
|
|
11299
11317
|
if (contentEl.value?.contains(document.activeElement)) {
|
|
@@ -11302,6 +11320,10 @@ const VOverlay = genericComponent()({
|
|
|
11302
11320
|
} else animateClick();
|
|
11303
11321
|
}
|
|
11304
11322
|
}
|
|
11323
|
+
function onKeydownSelf(e) {
|
|
11324
|
+
if (e.key === 'Escape' && !globalTop.value) return;
|
|
11325
|
+
emit('keydown', e);
|
|
11326
|
+
}
|
|
11305
11327
|
const router = useRouter();
|
|
11306
11328
|
useToggleScope(() => props.closeOnBack, () => {
|
|
11307
11329
|
useBackButton(router, next => {
|
|
@@ -11364,7 +11386,8 @@ const VOverlay = genericComponent()({
|
|
|
11364
11386
|
'--v-overlay-opacity': props.opacity,
|
|
11365
11387
|
top: convertToUnit(top.value)
|
|
11366
11388
|
}, props.style],
|
|
11367
|
-
"ref": root
|
|
11389
|
+
"ref": root,
|
|
11390
|
+
"onKeydown": onKeydownSelf
|
|
11368
11391
|
}, scopeId, attrs), [createVNode(Scrim, mergeProps({
|
|
11369
11392
|
"color": scrimColor,
|
|
11370
11393
|
"modelValue": isActive.value && !!props.scrim,
|
|
@@ -12035,11 +12058,6 @@ const VField = genericComponent()({
|
|
|
12035
12058
|
};
|
|
12036
12059
|
}
|
|
12037
12060
|
});
|
|
12038
|
-
// TODO: this is kinda slow, might be better to implicitly inherit props instead
|
|
12039
|
-
function filterFieldProps(attrs) {
|
|
12040
|
-
const keys = Object.keys(VField.props).filter(k => !isOn(k) && k !== 'class' && k !== 'style');
|
|
12041
|
-
return pick(attrs, keys);
|
|
12042
|
-
}
|
|
12043
12061
|
|
|
12044
12062
|
// Types
|
|
12045
12063
|
|
|
@@ -12147,7 +12165,7 @@ const VTextField = genericComponent()({
|
|
|
12147
12165
|
modelValue: _,
|
|
12148
12166
|
...inputProps
|
|
12149
12167
|
} = VInput.filterProps(props);
|
|
12150
|
-
const fieldProps =
|
|
12168
|
+
const fieldProps = VField.filterProps(props);
|
|
12151
12169
|
return createVNode(VInput, mergeProps({
|
|
12152
12170
|
"ref": vInputRef,
|
|
12153
12171
|
"modelValue": model.value,
|
|
@@ -13755,11 +13773,11 @@ const VBadge = genericComponent()({
|
|
|
13755
13773
|
locationStyles
|
|
13756
13774
|
} = useLocation(props, true, side => {
|
|
13757
13775
|
const base = props.floating ? props.dot ? 2 : 4 : props.dot ? 8 : 12;
|
|
13758
|
-
return base + (['top', 'bottom'].includes(side) ?
|
|
13776
|
+
return base + (['top', 'bottom'].includes(side) ? Number(props.offsetY ?? 0) : ['left', 'right'].includes(side) ? Number(props.offsetX ?? 0) : 0);
|
|
13759
13777
|
});
|
|
13760
13778
|
useRender(() => {
|
|
13761
13779
|
const value = Number(props.content);
|
|
13762
|
-
const content = !props.max || isNaN(value) ? props.content : value <=
|
|
13780
|
+
const content = !props.max || isNaN(value) ? props.content : value <= Number(props.max) ? value : `${props.max}+`;
|
|
13763
13781
|
const [badgeAttrs, attrs] = pickWithRest(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);
|
|
13764
13782
|
return createVNode(props.tag, mergeProps({
|
|
13765
13783
|
"class": ['v-badge', {
|
|
@@ -14458,8 +14476,14 @@ const makeCardItemProps = propsFactory({
|
|
|
14458
14476
|
appendIcon: IconValue,
|
|
14459
14477
|
prependAvatar: String,
|
|
14460
14478
|
prependIcon: IconValue,
|
|
14461
|
-
subtitle:
|
|
14462
|
-
|
|
14479
|
+
subtitle: {
|
|
14480
|
+
type: [String, Number, Boolean],
|
|
14481
|
+
default: undefined
|
|
14482
|
+
},
|
|
14483
|
+
title: {
|
|
14484
|
+
type: [String, Number, Boolean],
|
|
14485
|
+
default: undefined
|
|
14486
|
+
},
|
|
14463
14487
|
...makeComponentProps(),
|
|
14464
14488
|
...makeDensityProps()
|
|
14465
14489
|
}, 'VCardItem');
|
|
@@ -14509,11 +14533,11 @@ const VCardItem = genericComponent()({
|
|
|
14509
14533
|
}, [hasTitle && createVNode(VCardTitle, {
|
|
14510
14534
|
"key": "title"
|
|
14511
14535
|
}, {
|
|
14512
|
-
default: () => [slots.title?.() ?? props.title]
|
|
14536
|
+
default: () => [slots.title?.() ?? toDisplayString(props.title)]
|
|
14513
14537
|
}), hasSubtitle && createVNode(VCardSubtitle, {
|
|
14514
14538
|
"key": "subtitle"
|
|
14515
14539
|
}, {
|
|
14516
|
-
default: () => [slots.subtitle?.() ?? props.subtitle]
|
|
14540
|
+
default: () => [slots.subtitle?.() ?? toDisplayString(props.subtitle)]
|
|
14517
14541
|
}), slots.default?.()]), hasAppend && createVNode("div", {
|
|
14518
14542
|
"key": "append",
|
|
14519
14543
|
"class": "v-card-item__append"
|
|
@@ -14585,9 +14609,18 @@ const makeVCardProps = propsFactory({
|
|
|
14585
14609
|
type: [Boolean, Object],
|
|
14586
14610
|
default: true
|
|
14587
14611
|
},
|
|
14588
|
-
subtitle:
|
|
14589
|
-
|
|
14590
|
-
|
|
14612
|
+
subtitle: {
|
|
14613
|
+
type: [String, Number, Boolean],
|
|
14614
|
+
default: undefined
|
|
14615
|
+
},
|
|
14616
|
+
text: {
|
|
14617
|
+
type: [String, Number, Boolean],
|
|
14618
|
+
default: undefined
|
|
14619
|
+
},
|
|
14620
|
+
title: {
|
|
14621
|
+
type: [String, Number, Boolean],
|
|
14622
|
+
default: undefined
|
|
14623
|
+
},
|
|
14591
14624
|
...makeBorderProps(),
|
|
14592
14625
|
...makeComponentProps(),
|
|
14593
14626
|
...makeDensityProps(),
|
|
@@ -15056,7 +15089,7 @@ const VCarousel = genericComponent()({
|
|
|
15056
15089
|
onMounted(startTimeout);
|
|
15057
15090
|
function startTimeout() {
|
|
15058
15091
|
if (!props.cycle || !windowRef.value) return;
|
|
15059
|
-
slideTimeout = window.setTimeout(windowRef.value.group.next,
|
|
15092
|
+
slideTimeout = window.setTimeout(windowRef.value.group.next, Number(props.interval) > 0 ? Number(props.interval) : 6000);
|
|
15060
15093
|
}
|
|
15061
15094
|
function restartTimeout() {
|
|
15062
15095
|
window.clearTimeout(slideTimeout);
|
|
@@ -15782,7 +15815,7 @@ const makeSliderProps = propsFactory({
|
|
|
15782
15815
|
const useSteps = props => {
|
|
15783
15816
|
const min = computed(() => parseFloat(props.min));
|
|
15784
15817
|
const max = computed(() => parseFloat(props.max));
|
|
15785
|
-
const step = computed(() =>
|
|
15818
|
+
const step = computed(() => Number(props.step) > 0 ? parseFloat(props.step) : 0);
|
|
15786
15819
|
const decimals = computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
|
|
15787
15820
|
function roundValue(value) {
|
|
15788
15821
|
value = parseFloat(value);
|
|
@@ -18737,8 +18770,8 @@ const makeDataTablePaginateProps = propsFactory({
|
|
|
18737
18770
|
}, 'DataTable-paginate');
|
|
18738
18771
|
const VDataTablePaginationSymbol = Symbol.for('vuetify:data-table-pagination');
|
|
18739
18772
|
function createPagination(props) {
|
|
18740
|
-
const page = useProxiedModel(props, 'page', undefined, value =>
|
|
18741
|
-
const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value =>
|
|
18773
|
+
const page = useProxiedModel(props, 'page', undefined, value => Number(value ?? 1));
|
|
18774
|
+
const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => Number(value ?? 10));
|
|
18742
18775
|
return {
|
|
18743
18776
|
page,
|
|
18744
18777
|
itemsPerPage
|
|
@@ -19527,7 +19560,7 @@ const VPagination = genericComponent()({
|
|
|
19527
19560
|
const minButtons = props.showFirstLastPage ? 5 : 3;
|
|
19528
19561
|
return Math.max(0, Math.floor(
|
|
19529
19562
|
// Round to two decimal places to avoid floating point errors
|
|
19530
|
-
|
|
19563
|
+
Number(((totalWidth - itemWidth * minButtons) / itemWidth).toFixed(2))));
|
|
19531
19564
|
}
|
|
19532
19565
|
const range = computed(() => {
|
|
19533
19566
|
if (length.value <= 0 || isNaN(length.value) || length.value > Number.MAX_SAFE_INTEGER) return [];
|
|
@@ -19598,7 +19631,7 @@ const VPagination = genericComponent()({
|
|
|
19598
19631
|
ref,
|
|
19599
19632
|
ellipsis: false,
|
|
19600
19633
|
icon: true,
|
|
19601
|
-
disabled: !!props.disabled ||
|
|
19634
|
+
disabled: !!props.disabled || Number(props.length) < 2,
|
|
19602
19635
|
color: isActive ? props.activeColor : props.color,
|
|
19603
19636
|
'aria-current': isActive,
|
|
19604
19637
|
'aria-label': t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
|
|
@@ -19647,7 +19680,7 @@ const VPagination = genericComponent()({
|
|
|
19647
19680
|
refs.value[currentIndex]?.$el.focus();
|
|
19648
19681
|
}
|
|
19649
19682
|
function onKeydown(e) {
|
|
19650
|
-
if (e.key === keyValues.left && !props.disabled && page.value >
|
|
19683
|
+
if (e.key === keyValues.left && !props.disabled && page.value > Number(props.start)) {
|
|
19651
19684
|
page.value = page.value - 1;
|
|
19652
19685
|
nextTick(updateFocus);
|
|
19653
19686
|
} else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {
|
|
@@ -19980,8 +20013,10 @@ function parseFixedColumns(items) {
|
|
|
19980
20013
|
} else {
|
|
19981
20014
|
if (!seenFixed) {
|
|
19982
20015
|
item.lastFixed = true;
|
|
19983
|
-
} else if (isNaN(
|
|
20016
|
+
} else if (isNaN(Number(item.width))) {
|
|
19984
20017
|
consoleError(`Multiple fixed columns should have a static width (key: ${item.key})`);
|
|
20018
|
+
} else {
|
|
20019
|
+
item.minWidth = Math.max(Number(item.width) || 0, Number(item.minWidth) || 0);
|
|
19985
20020
|
}
|
|
19986
20021
|
seenFixed = true;
|
|
19987
20022
|
}
|
|
@@ -21744,30 +21779,30 @@ const VDatePickerControls = genericComponent()({
|
|
|
21744
21779
|
"class": ['v-date-picker-controls']
|
|
21745
21780
|
}, [createVNode(VBtn, {
|
|
21746
21781
|
"class": "v-date-picker-controls__month-btn",
|
|
21782
|
+
"data-testid": "month-btn",
|
|
21747
21783
|
"disabled": disableMonth.value,
|
|
21748
21784
|
"text": props.text,
|
|
21749
21785
|
"variant": "text",
|
|
21750
21786
|
"rounded": true,
|
|
21751
21787
|
"onClick": onClickMonth
|
|
21752
21788
|
}, null), createVNode(VBtn, {
|
|
21753
|
-
"key": "mode-btn",
|
|
21754
21789
|
"class": "v-date-picker-controls__mode-btn",
|
|
21790
|
+
"data-testid": "year-btn",
|
|
21755
21791
|
"disabled": disableYear.value,
|
|
21756
21792
|
"density": "comfortable",
|
|
21757
21793
|
"icon": props.modeIcon,
|
|
21758
21794
|
"variant": "text",
|
|
21759
21795
|
"onClick": onClickYear
|
|
21760
|
-
}, null), createVNode(VSpacer, {
|
|
21761
|
-
"key": "mode-spacer"
|
|
21762
|
-
}, null), createVNode("div", {
|
|
21763
|
-
"key": "month-buttons",
|
|
21796
|
+
}, null), createVNode(VSpacer, null, null), createVNode("div", {
|
|
21764
21797
|
"class": "v-date-picker-controls__month"
|
|
21765
21798
|
}, [createVNode(VBtn, {
|
|
21799
|
+
"data-testid": "prev-month",
|
|
21766
21800
|
"disabled": disablePrev.value,
|
|
21767
21801
|
"icon": props.prevIcon,
|
|
21768
21802
|
"variant": "text",
|
|
21769
21803
|
"onClick": onClickPrev
|
|
21770
21804
|
}, null), createVNode(VBtn, {
|
|
21805
|
+
"data-testid": "next-month",
|
|
21771
21806
|
"disabled": disableNext.value,
|
|
21772
21807
|
"icon": props.nextIcon,
|
|
21773
21808
|
"variant": "text",
|
|
@@ -22114,7 +22149,7 @@ const VDatePickerMonth = genericComponent()({
|
|
|
22114
22149
|
model.value = [value];
|
|
22115
22150
|
}
|
|
22116
22151
|
}
|
|
22117
|
-
|
|
22152
|
+
useRender(() => createVNode("div", {
|
|
22118
22153
|
"class": "v-date-picker-month"
|
|
22119
22154
|
}, [props.showWeek && createVNode("div", {
|
|
22120
22155
|
"key": "weeks",
|
|
@@ -22136,6 +22171,13 @@ const VDatePickerMonth = genericComponent()({
|
|
|
22136
22171
|
}, [weekDay])), daysInMonth.value.map((item, i) => {
|
|
22137
22172
|
const slotProps = {
|
|
22138
22173
|
props: {
|
|
22174
|
+
class: 'v-date-picker-month__day-btn',
|
|
22175
|
+
color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
|
|
22176
|
+
disabled: item.isDisabled,
|
|
22177
|
+
icon: true,
|
|
22178
|
+
ripple: false,
|
|
22179
|
+
text: item.localized,
|
|
22180
|
+
variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
|
|
22139
22181
|
onClick: () => onClick(item.date)
|
|
22140
22182
|
},
|
|
22141
22183
|
item,
|
|
@@ -22153,24 +22195,9 @@ const VDatePickerMonth = genericComponent()({
|
|
|
22153
22195
|
'v-date-picker-month__day--week-start': item.isWeekStart
|
|
22154
22196
|
}],
|
|
22155
22197
|
"data-v-date": !item.isDisabled ? item.isoDate : undefined
|
|
22156
|
-
}, [(props.showAdjacentMonths || !item.isAdjacent) && createVNode(
|
|
22157
|
-
"defaults": {
|
|
22158
|
-
VBtn: {
|
|
22159
|
-
class: 'v-date-picker-month__day-btn',
|
|
22160
|
-
color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
|
|
22161
|
-
disabled: item.isDisabled,
|
|
22162
|
-
icon: true,
|
|
22163
|
-
ripple: false,
|
|
22164
|
-
text: item.localized,
|
|
22165
|
-
variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
|
|
22166
|
-
onClick: () => onClick(item.date)
|
|
22167
|
-
}
|
|
22168
|
-
}
|
|
22169
|
-
}, {
|
|
22170
|
-
default: () => [slots.day?.(slotProps) ?? createVNode(VBtn, slotProps.props, null)]
|
|
22171
|
-
})]);
|
|
22198
|
+
}, [(props.showAdjacentMonths || !item.isAdjacent) && (slots.day?.(slotProps) ?? createVNode(VBtn, slotProps.props, null))]);
|
|
22172
22199
|
})])]
|
|
22173
|
-
})]);
|
|
22200
|
+
})]));
|
|
22174
22201
|
}
|
|
22175
22202
|
});
|
|
22176
22203
|
|
|
@@ -23308,7 +23335,7 @@ const VFileInput = genericComponent()({
|
|
|
23308
23335
|
modelValue: _,
|
|
23309
23336
|
...inputProps
|
|
23310
23337
|
} = VInput.filterProps(props);
|
|
23311
|
-
const fieldProps =
|
|
23338
|
+
const fieldProps = VField.filterProps(props);
|
|
23312
23339
|
return createVNode(VInput, mergeProps({
|
|
23313
23340
|
"ref": vInputRef,
|
|
23314
23341
|
"modelValue": props.multiple ? model.value : model.value[0],
|
|
@@ -24927,7 +24954,7 @@ const VParallax = genericComponent()({
|
|
|
24927
24954
|
watch(displayHeight, onScroll);
|
|
24928
24955
|
watch(() => contentRect.value?.height, onScroll);
|
|
24929
24956
|
const scale = computed(() => {
|
|
24930
|
-
return 1 - clamp(
|
|
24957
|
+
return 1 - clamp(Number(props.scale));
|
|
24931
24958
|
});
|
|
24932
24959
|
let frame = -1;
|
|
24933
24960
|
function onScroll() {
|
|
@@ -25348,7 +25375,7 @@ const VRating = genericComponent()({
|
|
|
25348
25375
|
themeClasses
|
|
25349
25376
|
} = provideTheme(props);
|
|
25350
25377
|
const rating = useProxiedModel(props, 'modelValue');
|
|
25351
|
-
const normalizedValue = computed(() => clamp(parseFloat(rating.value), 0,
|
|
25378
|
+
const normalizedValue = computed(() => clamp(parseFloat(rating.value), 0, Number(props.length)));
|
|
25352
25379
|
const range = computed(() => createRange(Number(props.length), 1));
|
|
25353
25380
|
const increments = computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]));
|
|
25354
25381
|
const hoverIndex = shallowRef(-1);
|
|
@@ -25959,7 +25986,7 @@ const VBarline = genericComponent()({
|
|
|
25959
25986
|
const height = Math.abs(gridY * value);
|
|
25960
25987
|
return {
|
|
25961
25988
|
x: minX + index * gridX,
|
|
25962
|
-
y: horizonY - height +
|
|
25989
|
+
y: horizonY - height + Number(value < 0) * height,
|
|
25963
25990
|
height,
|
|
25964
25991
|
value
|
|
25965
25992
|
};
|
|
@@ -27397,10 +27424,10 @@ const VTextarea = genericComponent()({
|
|
|
27397
27424
|
}
|
|
27398
27425
|
}
|
|
27399
27426
|
const sizerRef = ref();
|
|
27400
|
-
const rows = ref(
|
|
27427
|
+
const rows = ref(Number(props.rows));
|
|
27401
27428
|
const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));
|
|
27402
27429
|
watchEffect(() => {
|
|
27403
|
-
if (!props.autoGrow) rows.value =
|
|
27430
|
+
if (!props.autoGrow) rows.value = Number(props.rows);
|
|
27404
27431
|
});
|
|
27405
27432
|
function calculateInputHeight() {
|
|
27406
27433
|
if (!props.autoGrow) return;
|
|
@@ -27443,7 +27470,7 @@ const VTextarea = genericComponent()({
|
|
|
27443
27470
|
modelValue: _,
|
|
27444
27471
|
...inputProps
|
|
27445
27472
|
} = VInput.filterProps(props);
|
|
27446
|
-
const fieldProps =
|
|
27473
|
+
const fieldProps = VField.filterProps(props);
|
|
27447
27474
|
return createVNode(VInput, mergeProps({
|
|
27448
27475
|
"ref": vInputRef,
|
|
27449
27476
|
"modelValue": model.value,
|
|
@@ -28417,7 +28444,7 @@ function createVuetify$1() {
|
|
|
28417
28444
|
goTo
|
|
28418
28445
|
};
|
|
28419
28446
|
}
|
|
28420
|
-
const version$1 = "3.7.
|
|
28447
|
+
const version$1 = "3.7.17";
|
|
28421
28448
|
createVuetify$1.version = version$1;
|
|
28422
28449
|
|
|
28423
28450
|
// Vue's inject() can only be used in setup
|
|
@@ -28442,7 +28469,7 @@ const createVuetify = function () {
|
|
|
28442
28469
|
...options
|
|
28443
28470
|
});
|
|
28444
28471
|
};
|
|
28445
|
-
const version = "3.7.
|
|
28472
|
+
const version = "3.7.17";
|
|
28446
28473
|
createVuetify.version = version;
|
|
28447
28474
|
|
|
28448
28475
|
export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
|