vuetify 3.7.15 → 3.7.16
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 +2932 -2928
- 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 +5470 -5438
- package/dist/vuetify-labs.css +2965 -2965
- package/dist/vuetify-labs.d.ts +438 -200
- package/dist/vuetify-labs.esm.js +155 -126
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +154 -125
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +4258 -4258
- package/dist/vuetify.d.ts +390 -210
- package/dist/vuetify.esm.js +101 -69
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +100 -68
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +227 -225
- 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/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/index.d.mts +21 -6
- package/lib/components/VFab/index.d.mts +15 -6
- 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/VTextarea/VTextarea.mjs +2 -2
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- 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/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 +57 -57
- package/lib/labs/VDateInput/VDateInput.mjs +3 -2
- 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/labs/VTimePicker/SelectingTimes.mjs +0 -10
- package/lib/labs/VTimePicker/SelectingTimes.mjs.map +0 -1
package/dist/vuetify-labs.esm.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.7.
|
|
2
|
+
* Vuetify v3.7.16
|
|
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, onBeforeUnmount, watch, readonly, onMounted, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, createVNode, TransitionGroup, Transition, mergeProps, 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, onBeforeUnmount, watch, readonly, onMounted, onDeactivated, onActivated, onScopeDispose, effectScope, toRaw, createVNode, TransitionGroup, Transition, mergeProps, 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
|
// Types
|
|
10
10
|
// eslint-disable-line vue/prefer-import-from-vue
|
|
@@ -151,12 +151,14 @@ function convertToUnit(str) {
|
|
|
151
151
|
let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px';
|
|
152
152
|
if (str == null || str === '') {
|
|
153
153
|
return undefined;
|
|
154
|
-
}
|
|
154
|
+
}
|
|
155
|
+
const num = Number(str);
|
|
156
|
+
if (isNaN(num)) {
|
|
155
157
|
return String(str);
|
|
156
|
-
} else if (!isFinite(
|
|
158
|
+
} else if (!isFinite(num)) {
|
|
157
159
|
return undefined;
|
|
158
160
|
} else {
|
|
159
|
-
return `${
|
|
161
|
+
return `${num}${unit}`;
|
|
160
162
|
}
|
|
161
163
|
}
|
|
162
164
|
function isObject(obj) {
|
|
@@ -690,16 +692,16 @@ function nullifyTransforms(el) {
|
|
|
690
692
|
let ta, sx, sy, dx, dy;
|
|
691
693
|
if (tx.startsWith('matrix3d(')) {
|
|
692
694
|
ta = tx.slice(9, -1).split(/, /);
|
|
693
|
-
sx =
|
|
694
|
-
sy =
|
|
695
|
-
dx =
|
|
696
|
-
dy =
|
|
695
|
+
sx = Number(ta[0]);
|
|
696
|
+
sy = Number(ta[5]);
|
|
697
|
+
dx = Number(ta[12]);
|
|
698
|
+
dy = Number(ta[13]);
|
|
697
699
|
} else if (tx.startsWith('matrix(')) {
|
|
698
700
|
ta = tx.slice(7, -1).split(/, /);
|
|
699
|
-
sx =
|
|
700
|
-
sy =
|
|
701
|
-
dx =
|
|
702
|
-
dy =
|
|
701
|
+
sx = Number(ta[0]);
|
|
702
|
+
sy = Number(ta[3]);
|
|
703
|
+
dx = Number(ta[4]);
|
|
704
|
+
dy = Number(ta[5]);
|
|
703
705
|
} else {
|
|
704
706
|
return new Box(rect);
|
|
705
707
|
}
|
|
@@ -2075,7 +2077,7 @@ var en = {
|
|
|
2075
2077
|
const LANG_PREFIX = '$vuetify.';
|
|
2076
2078
|
const replace = (str, params) => {
|
|
2077
2079
|
return str.replace(/\{(\d+)\}/g, (match, index) => {
|
|
2078
|
-
return String(params[
|
|
2080
|
+
return String(params[Number(index)]);
|
|
2079
2081
|
});
|
|
2080
2082
|
};
|
|
2081
2083
|
const createTranslateFunction = (current, fallback, messages) => {
|
|
@@ -5572,7 +5574,10 @@ const makeVBtnProps = propsFactory({
|
|
|
5572
5574
|
type: [Boolean, Object],
|
|
5573
5575
|
default: true
|
|
5574
5576
|
},
|
|
5575
|
-
text:
|
|
5577
|
+
text: {
|
|
5578
|
+
type: [String, Number, Boolean],
|
|
5579
|
+
default: undefined
|
|
5580
|
+
},
|
|
5576
5581
|
...makeBorderProps(),
|
|
5577
5582
|
...makeComponentProps(),
|
|
5578
5583
|
...makeDensityProps(),
|
|
@@ -5728,7 +5733,7 @@ const VBtn = genericComponent()({
|
|
|
5728
5733
|
}
|
|
5729
5734
|
}
|
|
5730
5735
|
}, {
|
|
5731
|
-
default: () => [slots.default?.() ?? props.text]
|
|
5736
|
+
default: () => [slots.default?.() ?? toDisplayString(props.text)]
|
|
5732
5737
|
})]), !props.icon && hasAppend && createVNode("span", {
|
|
5733
5738
|
"key": "append",
|
|
5734
5739
|
"class": "v-btn__append"
|
|
@@ -6736,7 +6741,7 @@ function useValidation(props) {
|
|
|
6736
6741
|
const isPristine = shallowRef(true);
|
|
6737
6742
|
const isDirty = computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));
|
|
6738
6743
|
const errorMessages = computed(() => {
|
|
6739
|
-
return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0,
|
|
6744
|
+
return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, Number(props.maxErrors))) : internalErrorMessages.value;
|
|
6740
6745
|
});
|
|
6741
6746
|
const validateOn = computed(() => {
|
|
6742
6747
|
let value = (props.validateOn ?? form.validateOn?.value) || 'input';
|
|
@@ -6827,7 +6832,7 @@ function useValidation(props) {
|
|
|
6827
6832
|
const results = [];
|
|
6828
6833
|
isValidating.value = true;
|
|
6829
6834
|
for (const rule of props.rules) {
|
|
6830
|
-
if (results.length >=
|
|
6835
|
+
if (results.length >= Number(props.maxErrors ?? 1)) {
|
|
6831
6836
|
break;
|
|
6832
6837
|
}
|
|
6833
6838
|
const handler = typeof rule === 'function' ? rule : () => rule;
|
|
@@ -7888,7 +7893,10 @@ const makeVChipProps = propsFactory({
|
|
|
7888
7893
|
type: [Boolean, Object],
|
|
7889
7894
|
default: true
|
|
7890
7895
|
},
|
|
7891
|
-
text:
|
|
7896
|
+
text: {
|
|
7897
|
+
type: [String, Number, Boolean],
|
|
7898
|
+
default: undefined
|
|
7899
|
+
},
|
|
7892
7900
|
modelValue: {
|
|
7893
7901
|
type: Boolean,
|
|
7894
7902
|
default: true
|
|
@@ -8057,7 +8065,7 @@ const VChip = genericComponent()({
|
|
|
8057
8065
|
toggle: group?.toggle,
|
|
8058
8066
|
value: group?.value.value,
|
|
8059
8067
|
disabled: props.disabled
|
|
8060
|
-
}) ?? props.text]), hasAppend && createVNode("div", {
|
|
8068
|
+
}) ?? toDisplayString(props.text)]), hasAppend && createVNode("div", {
|
|
8061
8069
|
"key": "append",
|
|
8062
8070
|
"class": "v-chip__append"
|
|
8063
8071
|
}, [!slots.append ? createVNode(Fragment, null, [props.appendIcon && createVNode(VIcon, {
|
|
@@ -8936,8 +8944,14 @@ const makeVListItemProps = propsFactory({
|
|
|
8936
8944
|
default: true
|
|
8937
8945
|
},
|
|
8938
8946
|
slim: Boolean,
|
|
8939
|
-
subtitle:
|
|
8940
|
-
|
|
8947
|
+
subtitle: {
|
|
8948
|
+
type: [String, Number, Boolean],
|
|
8949
|
+
default: undefined
|
|
8950
|
+
},
|
|
8951
|
+
title: {
|
|
8952
|
+
type: [String, Number, Boolean],
|
|
8953
|
+
default: undefined
|
|
8954
|
+
},
|
|
8941
8955
|
value: null,
|
|
8942
8956
|
onClick: EventProp(),
|
|
8943
8957
|
onClickOnce: EventProp(),
|
|
@@ -9130,13 +9144,13 @@ const VListItem = genericComponent()({
|
|
|
9130
9144
|
}, {
|
|
9131
9145
|
default: () => [slots.title?.({
|
|
9132
9146
|
title: props.title
|
|
9133
|
-
}) ?? props.title]
|
|
9147
|
+
}) ?? toDisplayString(props.title)]
|
|
9134
9148
|
}), hasSubtitle && createVNode(VListItemSubtitle, {
|
|
9135
9149
|
"key": "subtitle"
|
|
9136
9150
|
}, {
|
|
9137
9151
|
default: () => [slots.subtitle?.({
|
|
9138
9152
|
subtitle: props.subtitle
|
|
9139
|
-
}) ?? props.subtitle]
|
|
9153
|
+
}) ?? toDisplayString(props.subtitle)]
|
|
9140
9154
|
}), slots.default?.(slotProps.value)]), hasAppend && createVNode("div", {
|
|
9141
9155
|
"key": "append",
|
|
9142
9156
|
"class": "v-list-item__append"
|
|
@@ -10737,10 +10751,10 @@ function useStack(isActive, zIndex, disableGlobalStack) {
|
|
|
10737
10751
|
activeChildren: new Set()
|
|
10738
10752
|
});
|
|
10739
10753
|
provide(StackSymbol, stack);
|
|
10740
|
-
const _zIndex = shallowRef(
|
|
10754
|
+
const _zIndex = shallowRef(Number(zIndex.value));
|
|
10741
10755
|
useToggleScope(isActive, () => {
|
|
10742
10756
|
const lastZIndex = globalStack.at(-1)?.[1];
|
|
10743
|
-
_zIndex.value = lastZIndex ? lastZIndex + 10 :
|
|
10757
|
+
_zIndex.value = lastZIndex ? lastZIndex + 10 : Number(zIndex.value);
|
|
10744
10758
|
if (createStackEntry) {
|
|
10745
10759
|
globalStack.push([vm.uid, _zIndex.value]);
|
|
10746
10760
|
}
|
|
@@ -10949,6 +10963,7 @@ const VOverlay = genericComponent()({
|
|
|
10949
10963
|
emits: {
|
|
10950
10964
|
'click:outside': e => true,
|
|
10951
10965
|
'update:modelValue': value => true,
|
|
10966
|
+
keydown: e => true,
|
|
10952
10967
|
afterEnter: () => true,
|
|
10953
10968
|
afterLeave: () => true
|
|
10954
10969
|
},
|
|
@@ -11061,6 +11076,9 @@ const VOverlay = genericComponent()({
|
|
|
11061
11076
|
});
|
|
11062
11077
|
function onKeydown(e) {
|
|
11063
11078
|
if (e.key === 'Escape' && globalTop.value) {
|
|
11079
|
+
if (!contentEl.value?.contains(document.activeElement)) {
|
|
11080
|
+
emit('keydown', e);
|
|
11081
|
+
}
|
|
11064
11082
|
if (!props.persistent) {
|
|
11065
11083
|
isActive.value = false;
|
|
11066
11084
|
if (contentEl.value?.contains(document.activeElement)) {
|
|
@@ -11069,6 +11087,10 @@ const VOverlay = genericComponent()({
|
|
|
11069
11087
|
} else animateClick();
|
|
11070
11088
|
}
|
|
11071
11089
|
}
|
|
11090
|
+
function onKeydownSelf(e) {
|
|
11091
|
+
if (e.key === 'Escape' && !globalTop.value) return;
|
|
11092
|
+
emit('keydown', e);
|
|
11093
|
+
}
|
|
11072
11094
|
const router = useRouter();
|
|
11073
11095
|
useToggleScope(() => props.closeOnBack, () => {
|
|
11074
11096
|
useBackButton(router, next => {
|
|
@@ -11131,7 +11153,8 @@ const VOverlay = genericComponent()({
|
|
|
11131
11153
|
'--v-overlay-opacity': props.opacity,
|
|
11132
11154
|
top: convertToUnit(top.value)
|
|
11133
11155
|
}, props.style],
|
|
11134
|
-
"ref": root
|
|
11156
|
+
"ref": root,
|
|
11157
|
+
"onKeydown": onKeydownSelf
|
|
11135
11158
|
}, scopeId, attrs), [createVNode(Scrim, mergeProps({
|
|
11136
11159
|
"color": scrimColor,
|
|
11137
11160
|
"modelValue": isActive.value && !!props.scrim,
|
|
@@ -13522,11 +13545,11 @@ const VBadge = genericComponent()({
|
|
|
13522
13545
|
locationStyles
|
|
13523
13546
|
} = useLocation(props, true, side => {
|
|
13524
13547
|
const base = props.floating ? props.dot ? 2 : 4 : props.dot ? 8 : 12;
|
|
13525
|
-
return base + (['top', 'bottom'].includes(side) ?
|
|
13548
|
+
return base + (['top', 'bottom'].includes(side) ? Number(props.offsetY ?? 0) : ['left', 'right'].includes(side) ? Number(props.offsetX ?? 0) : 0);
|
|
13526
13549
|
});
|
|
13527
13550
|
useRender(() => {
|
|
13528
13551
|
const value = Number(props.content);
|
|
13529
|
-
const content = !props.max || isNaN(value) ? props.content : value <=
|
|
13552
|
+
const content = !props.max || isNaN(value) ? props.content : value <= Number(props.max) ? value : `${props.max}+`;
|
|
13530
13553
|
const [badgeAttrs, attrs] = pickWithRest(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);
|
|
13531
13554
|
return createVNode(props.tag, mergeProps({
|
|
13532
13555
|
"class": ['v-badge', {
|
|
@@ -14225,8 +14248,14 @@ const makeCardItemProps = propsFactory({
|
|
|
14225
14248
|
appendIcon: IconValue,
|
|
14226
14249
|
prependAvatar: String,
|
|
14227
14250
|
prependIcon: IconValue,
|
|
14228
|
-
subtitle:
|
|
14229
|
-
|
|
14251
|
+
subtitle: {
|
|
14252
|
+
type: [String, Number, Boolean],
|
|
14253
|
+
default: undefined
|
|
14254
|
+
},
|
|
14255
|
+
title: {
|
|
14256
|
+
type: [String, Number, Boolean],
|
|
14257
|
+
default: undefined
|
|
14258
|
+
},
|
|
14230
14259
|
...makeComponentProps(),
|
|
14231
14260
|
...makeDensityProps()
|
|
14232
14261
|
}, 'VCardItem');
|
|
@@ -14276,11 +14305,11 @@ const VCardItem = genericComponent()({
|
|
|
14276
14305
|
}, [hasTitle && createVNode(VCardTitle, {
|
|
14277
14306
|
"key": "title"
|
|
14278
14307
|
}, {
|
|
14279
|
-
default: () => [slots.title?.() ?? props.title]
|
|
14308
|
+
default: () => [slots.title?.() ?? toDisplayString(props.title)]
|
|
14280
14309
|
}), hasSubtitle && createVNode(VCardSubtitle, {
|
|
14281
14310
|
"key": "subtitle"
|
|
14282
14311
|
}, {
|
|
14283
|
-
default: () => [slots.subtitle?.() ?? props.subtitle]
|
|
14312
|
+
default: () => [slots.subtitle?.() ?? toDisplayString(props.subtitle)]
|
|
14284
14313
|
}), slots.default?.()]), hasAppend && createVNode("div", {
|
|
14285
14314
|
"key": "append",
|
|
14286
14315
|
"class": "v-card-item__append"
|
|
@@ -14352,9 +14381,18 @@ const makeVCardProps = propsFactory({
|
|
|
14352
14381
|
type: [Boolean, Object],
|
|
14353
14382
|
default: true
|
|
14354
14383
|
},
|
|
14355
|
-
subtitle:
|
|
14356
|
-
|
|
14357
|
-
|
|
14384
|
+
subtitle: {
|
|
14385
|
+
type: [String, Number, Boolean],
|
|
14386
|
+
default: undefined
|
|
14387
|
+
},
|
|
14388
|
+
text: {
|
|
14389
|
+
type: [String, Number, Boolean],
|
|
14390
|
+
default: undefined
|
|
14391
|
+
},
|
|
14392
|
+
title: {
|
|
14393
|
+
type: [String, Number, Boolean],
|
|
14394
|
+
default: undefined
|
|
14395
|
+
},
|
|
14358
14396
|
...makeBorderProps(),
|
|
14359
14397
|
...makeComponentProps(),
|
|
14360
14398
|
...makeDensityProps(),
|
|
@@ -14823,7 +14861,7 @@ const VCarousel = genericComponent()({
|
|
|
14823
14861
|
onMounted(startTimeout);
|
|
14824
14862
|
function startTimeout() {
|
|
14825
14863
|
if (!props.cycle || !windowRef.value) return;
|
|
14826
|
-
slideTimeout = window.setTimeout(windowRef.value.group.next,
|
|
14864
|
+
slideTimeout = window.setTimeout(windowRef.value.group.next, Number(props.interval) > 0 ? Number(props.interval) : 6000);
|
|
14827
14865
|
}
|
|
14828
14866
|
function restartTimeout() {
|
|
14829
14867
|
window.clearTimeout(slideTimeout);
|
|
@@ -15549,7 +15587,7 @@ const makeSliderProps = propsFactory({
|
|
|
15549
15587
|
const useSteps = props => {
|
|
15550
15588
|
const min = computed(() => parseFloat(props.min));
|
|
15551
15589
|
const max = computed(() => parseFloat(props.max));
|
|
15552
|
-
const step = computed(() =>
|
|
15590
|
+
const step = computed(() => Number(props.step) > 0 ? parseFloat(props.step) : 0);
|
|
15553
15591
|
const decimals = computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
|
|
15554
15592
|
function roundValue(value) {
|
|
15555
15593
|
value = parseFloat(value);
|
|
@@ -18504,8 +18542,8 @@ const makeDataTablePaginateProps = propsFactory({
|
|
|
18504
18542
|
}, 'DataTable-paginate');
|
|
18505
18543
|
const VDataTablePaginationSymbol = Symbol.for('vuetify:data-table-pagination');
|
|
18506
18544
|
function createPagination(props) {
|
|
18507
|
-
const page = useProxiedModel(props, 'page', undefined, value =>
|
|
18508
|
-
const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value =>
|
|
18545
|
+
const page = useProxiedModel(props, 'page', undefined, value => Number(value ?? 1));
|
|
18546
|
+
const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => Number(value ?? 10));
|
|
18509
18547
|
return {
|
|
18510
18548
|
page,
|
|
18511
18549
|
itemsPerPage
|
|
@@ -19294,7 +19332,7 @@ const VPagination = genericComponent()({
|
|
|
19294
19332
|
const minButtons = props.showFirstLastPage ? 5 : 3;
|
|
19295
19333
|
return Math.max(0, Math.floor(
|
|
19296
19334
|
// Round to two decimal places to avoid floating point errors
|
|
19297
|
-
|
|
19335
|
+
Number(((totalWidth - itemWidth * minButtons) / itemWidth).toFixed(2))));
|
|
19298
19336
|
}
|
|
19299
19337
|
const range = computed(() => {
|
|
19300
19338
|
if (length.value <= 0 || isNaN(length.value) || length.value > Number.MAX_SAFE_INTEGER) return [];
|
|
@@ -19365,7 +19403,7 @@ const VPagination = genericComponent()({
|
|
|
19365
19403
|
ref,
|
|
19366
19404
|
ellipsis: false,
|
|
19367
19405
|
icon: true,
|
|
19368
|
-
disabled: !!props.disabled ||
|
|
19406
|
+
disabled: !!props.disabled || Number(props.length) < 2,
|
|
19369
19407
|
color: isActive ? props.activeColor : props.color,
|
|
19370
19408
|
'aria-current': isActive,
|
|
19371
19409
|
'aria-label': t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
|
|
@@ -19414,7 +19452,7 @@ const VPagination = genericComponent()({
|
|
|
19414
19452
|
refs.value[currentIndex]?.$el.focus();
|
|
19415
19453
|
}
|
|
19416
19454
|
function onKeydown(e) {
|
|
19417
|
-
if (e.key === keyValues.left && !props.disabled && page.value >
|
|
19455
|
+
if (e.key === keyValues.left && !props.disabled && page.value > Number(props.start)) {
|
|
19418
19456
|
page.value = page.value - 1;
|
|
19419
19457
|
nextTick(updateFocus);
|
|
19420
19458
|
} else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {
|
|
@@ -19747,8 +19785,10 @@ function parseFixedColumns(items) {
|
|
|
19747
19785
|
} else {
|
|
19748
19786
|
if (!seenFixed) {
|
|
19749
19787
|
item.lastFixed = true;
|
|
19750
|
-
} else if (isNaN(
|
|
19788
|
+
} else if (isNaN(Number(item.width))) {
|
|
19751
19789
|
consoleError(`Multiple fixed columns should have a static width (key: ${item.key})`);
|
|
19790
|
+
} else {
|
|
19791
|
+
item.minWidth = Math.max(Number(item.width) || 0, Number(item.minWidth) || 0);
|
|
19752
19792
|
}
|
|
19753
19793
|
seenFixed = true;
|
|
19754
19794
|
}
|
|
@@ -21881,7 +21921,7 @@ const VDatePickerMonth = genericComponent()({
|
|
|
21881
21921
|
model.value = [value];
|
|
21882
21922
|
}
|
|
21883
21923
|
}
|
|
21884
|
-
|
|
21924
|
+
useRender(() => createVNode("div", {
|
|
21885
21925
|
"class": "v-date-picker-month"
|
|
21886
21926
|
}, [props.showWeek && createVNode("div", {
|
|
21887
21927
|
"key": "weeks",
|
|
@@ -21903,6 +21943,13 @@ const VDatePickerMonth = genericComponent()({
|
|
|
21903
21943
|
}, [weekDay])), daysInMonth.value.map((item, i) => {
|
|
21904
21944
|
const slotProps = {
|
|
21905
21945
|
props: {
|
|
21946
|
+
class: 'v-date-picker-month__day-btn',
|
|
21947
|
+
color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
|
|
21948
|
+
disabled: item.isDisabled,
|
|
21949
|
+
icon: true,
|
|
21950
|
+
ripple: false,
|
|
21951
|
+
text: item.localized,
|
|
21952
|
+
variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
|
|
21906
21953
|
onClick: () => onClick(item.date)
|
|
21907
21954
|
},
|
|
21908
21955
|
item,
|
|
@@ -21920,24 +21967,9 @@ const VDatePickerMonth = genericComponent()({
|
|
|
21920
21967
|
'v-date-picker-month__day--week-start': item.isWeekStart
|
|
21921
21968
|
}],
|
|
21922
21969
|
"data-v-date": !item.isDisabled ? item.isoDate : undefined
|
|
21923
|
-
}, [(props.showAdjacentMonths || !item.isAdjacent) && createVNode(
|
|
21924
|
-
"defaults": {
|
|
21925
|
-
VBtn: {
|
|
21926
|
-
class: 'v-date-picker-month__day-btn',
|
|
21927
|
-
color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
|
|
21928
|
-
disabled: item.isDisabled,
|
|
21929
|
-
icon: true,
|
|
21930
|
-
ripple: false,
|
|
21931
|
-
text: item.localized,
|
|
21932
|
-
variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
|
|
21933
|
-
onClick: () => onClick(item.date)
|
|
21934
|
-
}
|
|
21935
|
-
}
|
|
21936
|
-
}, {
|
|
21937
|
-
default: () => [slots.day?.(slotProps) ?? createVNode(VBtn, slotProps.props, null)]
|
|
21938
|
-
})]);
|
|
21970
|
+
}, [(props.showAdjacentMonths || !item.isAdjacent) && (slots.day?.(slotProps) ?? createVNode(VBtn, slotProps.props, null))]);
|
|
21939
21971
|
})])]
|
|
21940
|
-
})]);
|
|
21972
|
+
})]));
|
|
21941
21973
|
}
|
|
21942
21974
|
});
|
|
21943
21975
|
|
|
@@ -24694,7 +24726,7 @@ const VParallax = genericComponent()({
|
|
|
24694
24726
|
watch(displayHeight, onScroll);
|
|
24695
24727
|
watch(() => contentRect.value?.height, onScroll);
|
|
24696
24728
|
const scale = computed(() => {
|
|
24697
|
-
return 1 - clamp(
|
|
24729
|
+
return 1 - clamp(Number(props.scale));
|
|
24698
24730
|
});
|
|
24699
24731
|
let frame = -1;
|
|
24700
24732
|
function onScroll() {
|
|
@@ -25115,7 +25147,7 @@ const VRating = genericComponent()({
|
|
|
25115
25147
|
themeClasses
|
|
25116
25148
|
} = provideTheme(props);
|
|
25117
25149
|
const rating = useProxiedModel(props, 'modelValue');
|
|
25118
|
-
const normalizedValue = computed(() => clamp(parseFloat(rating.value), 0,
|
|
25150
|
+
const normalizedValue = computed(() => clamp(parseFloat(rating.value), 0, Number(props.length)));
|
|
25119
25151
|
const range = computed(() => createRange(Number(props.length), 1));
|
|
25120
25152
|
const increments = computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]));
|
|
25121
25153
|
const hoverIndex = shallowRef(-1);
|
|
@@ -25726,7 +25758,7 @@ const VBarline = genericComponent()({
|
|
|
25726
25758
|
const height = Math.abs(gridY * value);
|
|
25727
25759
|
return {
|
|
25728
25760
|
x: minX + index * gridX,
|
|
25729
|
-
y: horizonY - height +
|
|
25761
|
+
y: horizonY - height + Number(value < 0) * height,
|
|
25730
25762
|
height,
|
|
25731
25763
|
value
|
|
25732
25764
|
};
|
|
@@ -27164,10 +27196,10 @@ const VTextarea = genericComponent()({
|
|
|
27164
27196
|
}
|
|
27165
27197
|
}
|
|
27166
27198
|
const sizerRef = ref();
|
|
27167
|
-
const rows = ref(
|
|
27199
|
+
const rows = ref(Number(props.rows));
|
|
27168
27200
|
const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));
|
|
27169
27201
|
watchEffect(() => {
|
|
27170
|
-
if (!props.autoGrow) rows.value =
|
|
27202
|
+
if (!props.autoGrow) rows.value = Number(props.rows);
|
|
27171
27203
|
});
|
|
27172
27204
|
function calculateInputHeight() {
|
|
27173
27205
|
if (!props.autoGrow) return;
|
|
@@ -28214,8 +28246,8 @@ const makeVDateInputProps = propsFactory({
|
|
|
28214
28246
|
prependIcon: '$calendar'
|
|
28215
28247
|
}),
|
|
28216
28248
|
...omit(makeVDatePickerProps({
|
|
28217
|
-
|
|
28218
|
-
|
|
28249
|
+
hideHeader: true,
|
|
28250
|
+
showAdjacentMonths: true
|
|
28219
28251
|
}), ['active', 'location', 'rounded'])
|
|
28220
28252
|
}, 'VDateInput');
|
|
28221
28253
|
const VDateInput = genericComponent()({
|
|
@@ -28299,6 +28331,7 @@ const VDateInput = genericComponent()({
|
|
|
28299
28331
|
"onUpdate:modelValue": $event => menu.value = $event,
|
|
28300
28332
|
"activator": "parent",
|
|
28301
28333
|
"min-width": "0",
|
|
28334
|
+
"eager": isFocused.value,
|
|
28302
28335
|
"location": props.location,
|
|
28303
28336
|
"closeOnContentClick": false,
|
|
28304
28337
|
"openOnClick": false
|
|
@@ -28538,8 +28571,9 @@ const VFileUpload = genericComponent()({
|
|
|
28538
28571
|
inputRef.value?.click();
|
|
28539
28572
|
}
|
|
28540
28573
|
function onClickRemove(index) {
|
|
28541
|
-
|
|
28542
|
-
|
|
28574
|
+
const newValue = model.value.filter((_, i) => i !== index);
|
|
28575
|
+
model.value = newValue;
|
|
28576
|
+
if (newValue.length > 0 || !inputRef.value) return;
|
|
28543
28577
|
inputRef.value.value = '';
|
|
28544
28578
|
}
|
|
28545
28579
|
useRender(() => {
|
|
@@ -28750,7 +28784,7 @@ const VNumberInput = genericComponent()({
|
|
|
28750
28784
|
return isFocused.value ? Number(fixed).toString() // trim zeros
|
|
28751
28785
|
: fixed;
|
|
28752
28786
|
}
|
|
28753
|
-
const model = useProxiedModel(props, 'modelValue', null, val => val ?? null, val => val == null ? val ?? null : clamp(
|
|
28787
|
+
const model = useProxiedModel(props, 'modelValue', null, val => val ?? null, val => val == null ? val ?? null : clamp(Number(val), props.min, props.max));
|
|
28754
28788
|
const _inputText = shallowRef(null);
|
|
28755
28789
|
watchEffect(() => {
|
|
28756
28790
|
if (isFocused.value && !controlsDisabled.value) ; else if (model.value == null) {
|
|
@@ -28765,8 +28799,8 @@ const VNumberInput = genericComponent()({
|
|
|
28765
28799
|
if (val === null || val === '') {
|
|
28766
28800
|
model.value = null;
|
|
28767
28801
|
_inputText.value = null;
|
|
28768
|
-
} else if (!isNaN(
|
|
28769
|
-
model.value =
|
|
28802
|
+
} else if (!isNaN(Number(val)) && Number(val) <= props.max && Number(val) >= props.min) {
|
|
28803
|
+
model.value = Number(val);
|
|
28770
28804
|
_inputText.value = val;
|
|
28771
28805
|
}
|
|
28772
28806
|
}
|
|
@@ -28890,8 +28924,8 @@ const VNumberInput = genericComponent()({
|
|
|
28890
28924
|
if (controlsDisabled.value) return;
|
|
28891
28925
|
if (!vTextFieldRef.value) return;
|
|
28892
28926
|
const actualText = vTextFieldRef.value.value;
|
|
28893
|
-
if (actualText && !isNaN(
|
|
28894
|
-
inputText.value = correctPrecision(clamp(
|
|
28927
|
+
if (actualText && !isNaN(Number(actualText))) {
|
|
28928
|
+
inputText.value = correctPrecision(clamp(Number(actualText), props.min, props.max));
|
|
28895
28929
|
} else {
|
|
28896
28930
|
inputText.value = null;
|
|
28897
28931
|
}
|
|
@@ -29765,14 +29799,7 @@ const VTimePickerClock = genericComponent()({
|
|
|
29765
29799
|
}
|
|
29766
29800
|
});
|
|
29767
29801
|
|
|
29768
|
-
//
|
|
29769
|
-
/* eslint-disable */
|
|
29770
|
-
var SelectingTimes = /*#__PURE__*/function (SelectingTimes) {
|
|
29771
|
-
SelectingTimes[SelectingTimes["Hour"] = 1] = "Hour";
|
|
29772
|
-
SelectingTimes[SelectingTimes["Minute"] = 2] = "Minute";
|
|
29773
|
-
SelectingTimes[SelectingTimes["Second"] = 3] = "Second";
|
|
29774
|
-
return SelectingTimes;
|
|
29775
|
-
}(SelectingTimes || {});
|
|
29802
|
+
// Types
|
|
29776
29803
|
|
|
29777
29804
|
const makeVTimePickerControlsProps = propsFactory({
|
|
29778
29805
|
ampm: Boolean,
|
|
@@ -29786,15 +29813,15 @@ const makeVTimePickerControlsProps = propsFactory({
|
|
|
29786
29813
|
period: String,
|
|
29787
29814
|
readonly: Boolean,
|
|
29788
29815
|
useSeconds: Boolean,
|
|
29789
|
-
|
|
29790
|
-
|
|
29816
|
+
value: Number,
|
|
29817
|
+
viewMode: String
|
|
29791
29818
|
}, 'VTimePickerControls');
|
|
29792
29819
|
const VTimePickerControls = genericComponent()({
|
|
29793
29820
|
name: 'VTimePickerControls',
|
|
29794
29821
|
props: makeVTimePickerControlsProps(),
|
|
29795
29822
|
emits: {
|
|
29796
29823
|
'update:period': data => true,
|
|
29797
|
-
'update:
|
|
29824
|
+
'update:viewMode': data => true
|
|
29798
29825
|
},
|
|
29799
29826
|
setup(props, _ref) {
|
|
29800
29827
|
let {
|
|
@@ -29817,8 +29844,8 @@ const VTimePickerControls = genericComponent()({
|
|
|
29817
29844
|
'v-time-picker-controls__time--with-seconds': props.useSeconds
|
|
29818
29845
|
}
|
|
29819
29846
|
}, [createVNode(VBtn, {
|
|
29820
|
-
"active": props.
|
|
29821
|
-
"color": props.
|
|
29847
|
+
"active": props.viewMode === 'hour',
|
|
29848
|
+
"color": props.viewMode === 'hour' ? props.color : undefined,
|
|
29822
29849
|
"disabled": props.disabled,
|
|
29823
29850
|
"variant": "tonal",
|
|
29824
29851
|
"class": {
|
|
@@ -29827,24 +29854,24 @@ const VTimePickerControls = genericComponent()({
|
|
|
29827
29854
|
'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
|
|
29828
29855
|
},
|
|
29829
29856
|
"text": props.hour == null ? '--' : pad(`${hour}`),
|
|
29830
|
-
"onClick": () => emit('update:
|
|
29857
|
+
"onClick": () => emit('update:viewMode', 'hour')
|
|
29831
29858
|
}, null), createVNode("span", {
|
|
29832
29859
|
"class": ['v-time-picker-controls__time__separator', {
|
|
29833
29860
|
'v-time-picker-controls--with-seconds__time__separator': props.useSeconds
|
|
29834
29861
|
}]
|
|
29835
29862
|
}, [createTextVNode(":")]), createVNode(VBtn, {
|
|
29836
|
-
"active": props.
|
|
29837
|
-
"color": props.
|
|
29863
|
+
"active": props.viewMode === 'minute',
|
|
29864
|
+
"color": props.viewMode === 'minute' ? props.color : undefined,
|
|
29838
29865
|
"class": {
|
|
29839
29866
|
'v-time-picker-controls__time__btn': true,
|
|
29840
|
-
'v-time-picker-controls__time__btn__active': props.
|
|
29867
|
+
'v-time-picker-controls__time__btn__active': props.viewMode === 'minute',
|
|
29841
29868
|
'v-time-picker-controls__time--with-ampm__btn': props.ampm,
|
|
29842
29869
|
'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
|
|
29843
29870
|
},
|
|
29844
29871
|
"disabled": props.disabled,
|
|
29845
29872
|
"variant": "tonal",
|
|
29846
29873
|
"text": props.minute == null ? '--' : pad(props.minute),
|
|
29847
|
-
"onClick": () => emit('update:
|
|
29874
|
+
"onClick": () => emit('update:viewMode', 'minute')
|
|
29848
29875
|
}, null), props.useSeconds && createVNode("span", {
|
|
29849
29876
|
"class": ['v-time-picker-controls__time__separator', {
|
|
29850
29877
|
'v-time-picker-controls--with-seconds__time__separator': props.useSeconds
|
|
@@ -29852,11 +29879,13 @@ const VTimePickerControls = genericComponent()({
|
|
|
29852
29879
|
"key": "secondsDivider"
|
|
29853
29880
|
}, [createTextVNode(":")]), props.useSeconds && createVNode(VBtn, {
|
|
29854
29881
|
"key": "secondsVal",
|
|
29882
|
+
"active": props.viewMode === 'second',
|
|
29883
|
+
"color": props.viewMode === 'second' ? props.color : undefined,
|
|
29855
29884
|
"variant": "tonal",
|
|
29856
|
-
"onClick": () => emit('update:
|
|
29885
|
+
"onClick": () => emit('update:viewMode', 'second'),
|
|
29857
29886
|
"class": {
|
|
29858
29887
|
'v-time-picker-controls__time__btn': true,
|
|
29859
|
-
'v-time-picker-controls__time__btn__active': props.
|
|
29888
|
+
'v-time-picker-controls__time__btn__active': props.viewMode === 'second',
|
|
29860
29889
|
'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
|
|
29861
29890
|
},
|
|
29862
29891
|
"disabled": props.disabled,
|
|
@@ -29901,11 +29930,6 @@ const rangeHours24 = createRange(24);
|
|
|
29901
29930
|
const rangeHours12am = createRange(12);
|
|
29902
29931
|
const rangeHours12pm = rangeHours12am.map(v => v + 12);
|
|
29903
29932
|
createRange(60);
|
|
29904
|
-
const selectingNames = {
|
|
29905
|
-
1: 'hour',
|
|
29906
|
-
2: 'minute',
|
|
29907
|
-
3: 'second'
|
|
29908
|
-
};
|
|
29909
29933
|
const makeVTimePickerProps = propsFactory({
|
|
29910
29934
|
allowedHours: [Function, Array],
|
|
29911
29935
|
allowedMinutes: [Function, Array],
|
|
@@ -29918,6 +29942,10 @@ const makeVTimePickerProps = propsFactory({
|
|
|
29918
29942
|
},
|
|
29919
29943
|
max: String,
|
|
29920
29944
|
min: String,
|
|
29945
|
+
viewMode: {
|
|
29946
|
+
type: String,
|
|
29947
|
+
default: 'hour'
|
|
29948
|
+
},
|
|
29921
29949
|
modelValue: null,
|
|
29922
29950
|
readonly: Boolean,
|
|
29923
29951
|
scrollable: Boolean,
|
|
@@ -29934,7 +29962,8 @@ const VTimePicker = genericComponent()({
|
|
|
29934
29962
|
'update:minute': val => true,
|
|
29935
29963
|
'update:period': val => true,
|
|
29936
29964
|
'update:second': val => true,
|
|
29937
|
-
'update:modelValue': val => true
|
|
29965
|
+
'update:modelValue': val => true,
|
|
29966
|
+
'update:viewMode': val => true
|
|
29938
29967
|
},
|
|
29939
29968
|
setup(props, _ref) {
|
|
29940
29969
|
let {
|
|
@@ -29951,7 +29980,7 @@ const VTimePicker = genericComponent()({
|
|
|
29951
29980
|
const lazyInputMinute = ref(null);
|
|
29952
29981
|
const lazyInputSecond = ref(null);
|
|
29953
29982
|
const period = ref('am');
|
|
29954
|
-
const
|
|
29983
|
+
const viewMode = useProxiedModel(props, 'viewMode', 'hour');
|
|
29955
29984
|
const controlsRef = ref(null);
|
|
29956
29985
|
const clockRef = ref(null);
|
|
29957
29986
|
const isAllowedHourCb = computed(() => {
|
|
@@ -29965,7 +29994,7 @@ const VTimePicker = genericComponent()({
|
|
|
29965
29994
|
const minHour = props.min ? Number(props.min.split(':')[0]) : 0;
|
|
29966
29995
|
const maxHour = props.max ? Number(props.max.split(':')[0]) : 23;
|
|
29967
29996
|
return val => {
|
|
29968
|
-
return val >= minHour
|
|
29997
|
+
return val >= Number(minHour) && val <= Number(maxHour) && (!cb || cb(val));
|
|
29969
29998
|
};
|
|
29970
29999
|
});
|
|
29971
30000
|
const isAllowedMinuteCb = computed(() => {
|
|
@@ -29981,8 +30010,8 @@ const VTimePicker = genericComponent()({
|
|
|
29981
30010
|
}
|
|
29982
30011
|
const [minHour, minMinute] = props.min ? props.min.split(':').map(Number) : [0, 0];
|
|
29983
30012
|
const [maxHour, maxMinute] = props.max ? props.max.split(':').map(Number) : [23, 59];
|
|
29984
|
-
const minTime = minHour * 60 + minMinute
|
|
29985
|
-
const maxTime = maxHour * 60 + maxMinute
|
|
30013
|
+
const minTime = minHour * 60 + Number(minMinute);
|
|
30014
|
+
const maxTime = maxHour * 60 + Number(maxMinute);
|
|
29986
30015
|
return val => {
|
|
29987
30016
|
const time = 60 * inputHour.value + val;
|
|
29988
30017
|
return time >= minTime && time <= maxTime && isHourAllowed && (!cb || cb(val));
|
|
@@ -30002,8 +30031,8 @@ const VTimePicker = genericComponent()({
|
|
|
30002
30031
|
}
|
|
30003
30032
|
const [minHour, minMinute, minSecond] = props.min ? props.min.split(':').map(Number) : [0, 0, 0];
|
|
30004
30033
|
const [maxHour, maxMinute, maxSecond] = props.max ? props.max.split(':').map(Number) : [23, 59, 59];
|
|
30005
|
-
const minTime = minHour * 3600 + minMinute * 60 + (minSecond || 0)
|
|
30006
|
-
const maxTime = maxHour * 3600 + maxMinute * 60 + (maxSecond || 0)
|
|
30034
|
+
const minTime = minHour * 3600 + minMinute * 60 + Number(minSecond || 0);
|
|
30035
|
+
const maxTime = maxHour * 3600 + maxMinute * 60 + Number(maxSecond || 0);
|
|
30007
30036
|
return val => {
|
|
30008
30037
|
const time = 3600 * inputHour.value + 60 * inputMinute.value + val;
|
|
30009
30038
|
return time >= minTime && time <= maxTime && isMinuteAllowed && (!cb || cb(val));
|
|
@@ -30069,16 +30098,16 @@ const VTimePicker = genericComponent()({
|
|
|
30069
30098
|
return true;
|
|
30070
30099
|
}
|
|
30071
30100
|
function onInput(value) {
|
|
30072
|
-
if (
|
|
30101
|
+
if (viewMode.value === 'hour') {
|
|
30073
30102
|
inputHour.value = isAmPm.value ? convert12to24(value, period.value) : value;
|
|
30074
|
-
} else if (
|
|
30103
|
+
} else if (viewMode.value === 'minute') {
|
|
30075
30104
|
inputMinute.value = value;
|
|
30076
30105
|
} else {
|
|
30077
30106
|
inputSecond.value = value;
|
|
30078
30107
|
}
|
|
30079
30108
|
}
|
|
30080
30109
|
function onChange(value) {
|
|
30081
|
-
switch (
|
|
30110
|
+
switch (viewMode.value || 'hour') {
|
|
30082
30111
|
case 'hour':
|
|
30083
30112
|
emit('update:hour', value);
|
|
30084
30113
|
break;
|
|
@@ -30090,10 +30119,10 @@ const VTimePicker = genericComponent()({
|
|
|
30090
30119
|
break;
|
|
30091
30120
|
}
|
|
30092
30121
|
const emitChange = inputHour.value !== null && inputMinute.value !== null && (props.useSeconds ? inputSecond.value !== null : true);
|
|
30093
|
-
if (
|
|
30094
|
-
|
|
30095
|
-
} else if (props.useSeconds &&
|
|
30096
|
-
|
|
30122
|
+
if (viewMode.value === 'hour') {
|
|
30123
|
+
viewMode.value = 'minute';
|
|
30124
|
+
} else if (props.useSeconds && viewMode.value === 'minute') {
|
|
30125
|
+
viewMode.value = 'second';
|
|
30097
30126
|
}
|
|
30098
30127
|
if (inputHour.value === lazyInputHour.value && inputMinute.value === lazyInputMinute.value && (!props.useSeconds || inputSecond.value === lazyInputSecond.value)) return;
|
|
30099
30128
|
const time = genValue();
|
|
@@ -30122,20 +30151,20 @@ const VTimePicker = genericComponent()({
|
|
|
30122
30151
|
"minute": inputMinute.value,
|
|
30123
30152
|
"period": period.value,
|
|
30124
30153
|
"second": inputSecond.value,
|
|
30125
|
-
"
|
|
30154
|
+
"viewMode": viewMode.value,
|
|
30126
30155
|
"onUpdate:period": val => setPeriod(val),
|
|
30127
|
-
"onUpdate:
|
|
30156
|
+
"onUpdate:viewMode": value => viewMode.value = value,
|
|
30128
30157
|
"ref": controlsRef
|
|
30129
30158
|
}), null),
|
|
30130
30159
|
default: () => createVNode(VTimePickerClock, mergeProps(timePickerClockProps, {
|
|
30131
|
-
"allowedValues":
|
|
30132
|
-
"double":
|
|
30133
|
-
"format":
|
|
30134
|
-
"max":
|
|
30135
|
-
"min":
|
|
30160
|
+
"allowedValues": viewMode.value === 'hour' ? isAllowedHourCb.value : viewMode.value === 'minute' ? isAllowedMinuteCb.value : isAllowedSecondCb.value,
|
|
30161
|
+
"double": viewMode.value === 'hour' && !isAmPm.value,
|
|
30162
|
+
"format": viewMode.value === 'hour' ? isAmPm.value ? convert24to12 : val => val : val => pad(val, 2),
|
|
30163
|
+
"max": viewMode.value === 'hour' ? isAmPm.value && period.value === 'am' ? 11 : 23 : 59,
|
|
30164
|
+
"min": viewMode.value === 'hour' && isAmPm.value && period.value === 'pm' ? 12 : 0,
|
|
30136
30165
|
"size": 20,
|
|
30137
|
-
"step":
|
|
30138
|
-
"modelValue":
|
|
30166
|
+
"step": viewMode.value === 'hour' ? 1 : 5,
|
|
30167
|
+
"modelValue": viewMode.value === 'hour' ? inputHour.value : viewMode.value === 'minute' ? inputMinute.value : inputSecond.value,
|
|
30139
30168
|
"onChange": onChange,
|
|
30140
30169
|
"onInput": onInput,
|
|
30141
30170
|
"ref": clockRef
|
|
@@ -31048,7 +31077,7 @@ function createVuetify$1() {
|
|
|
31048
31077
|
goTo
|
|
31049
31078
|
};
|
|
31050
31079
|
}
|
|
31051
|
-
const version$1 = "3.7.
|
|
31080
|
+
const version$1 = "3.7.16";
|
|
31052
31081
|
createVuetify$1.version = version$1;
|
|
31053
31082
|
|
|
31054
31083
|
// Vue's inject() can only be used in setup
|
|
@@ -31301,7 +31330,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
31301
31330
|
|
|
31302
31331
|
/* eslint-disable local-rules/sort-imports */
|
|
31303
31332
|
|
|
31304
|
-
const version = "3.7.
|
|
31333
|
+
const version = "3.7.16";
|
|
31305
31334
|
|
|
31306
31335
|
/* eslint-disable local-rules/sort-imports */
|
|
31307
31336
|
|