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.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
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
|
*/
|
|
@@ -155,12 +155,14 @@
|
|
|
155
155
|
let unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'px';
|
|
156
156
|
if (str == null || str === '') {
|
|
157
157
|
return undefined;
|
|
158
|
-
}
|
|
158
|
+
}
|
|
159
|
+
const num = Number(str);
|
|
160
|
+
if (isNaN(num)) {
|
|
159
161
|
return String(str);
|
|
160
|
-
} else if (!isFinite(
|
|
162
|
+
} else if (!isFinite(num)) {
|
|
161
163
|
return undefined;
|
|
162
164
|
} else {
|
|
163
|
-
return `${
|
|
165
|
+
return `${num}${unit}`;
|
|
164
166
|
}
|
|
165
167
|
}
|
|
166
168
|
function isObject(obj) {
|
|
@@ -694,16 +696,16 @@
|
|
|
694
696
|
let ta, sx, sy, dx, dy;
|
|
695
697
|
if (tx.startsWith('matrix3d(')) {
|
|
696
698
|
ta = tx.slice(9, -1).split(/, /);
|
|
697
|
-
sx =
|
|
698
|
-
sy =
|
|
699
|
-
dx =
|
|
700
|
-
dy =
|
|
699
|
+
sx = Number(ta[0]);
|
|
700
|
+
sy = Number(ta[5]);
|
|
701
|
+
dx = Number(ta[12]);
|
|
702
|
+
dy = Number(ta[13]);
|
|
701
703
|
} else if (tx.startsWith('matrix(')) {
|
|
702
704
|
ta = tx.slice(7, -1).split(/, /);
|
|
703
|
-
sx =
|
|
704
|
-
sy =
|
|
705
|
-
dx =
|
|
706
|
-
dy =
|
|
705
|
+
sx = Number(ta[0]);
|
|
706
|
+
sy = Number(ta[3]);
|
|
707
|
+
dx = Number(ta[4]);
|
|
708
|
+
dy = Number(ta[5]);
|
|
707
709
|
} else {
|
|
708
710
|
return new Box(rect);
|
|
709
711
|
}
|
|
@@ -2079,7 +2081,7 @@
|
|
|
2079
2081
|
const LANG_PREFIX = '$vuetify.';
|
|
2080
2082
|
const replace = (str, params) => {
|
|
2081
2083
|
return str.replace(/\{(\d+)\}/g, (match, index) => {
|
|
2082
|
-
return String(params[
|
|
2084
|
+
return String(params[Number(index)]);
|
|
2083
2085
|
});
|
|
2084
2086
|
};
|
|
2085
2087
|
const createTranslateFunction = (current, fallback, messages) => {
|
|
@@ -5576,7 +5578,10 @@
|
|
|
5576
5578
|
type: [Boolean, Object],
|
|
5577
5579
|
default: true
|
|
5578
5580
|
},
|
|
5579
|
-
text:
|
|
5581
|
+
text: {
|
|
5582
|
+
type: [String, Number, Boolean],
|
|
5583
|
+
default: undefined
|
|
5584
|
+
},
|
|
5580
5585
|
...makeBorderProps(),
|
|
5581
5586
|
...makeComponentProps(),
|
|
5582
5587
|
...makeDensityProps(),
|
|
@@ -5732,7 +5737,7 @@
|
|
|
5732
5737
|
}
|
|
5733
5738
|
}
|
|
5734
5739
|
}, {
|
|
5735
|
-
default: () => [slots.default?.() ?? props.text]
|
|
5740
|
+
default: () => [slots.default?.() ?? vue.toDisplayString(props.text)]
|
|
5736
5741
|
})]), !props.icon && hasAppend && vue.createVNode("span", {
|
|
5737
5742
|
"key": "append",
|
|
5738
5743
|
"class": "v-btn__append"
|
|
@@ -6740,7 +6745,7 @@
|
|
|
6740
6745
|
const isPristine = vue.shallowRef(true);
|
|
6741
6746
|
const isDirty = vue.computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));
|
|
6742
6747
|
const errorMessages = vue.computed(() => {
|
|
6743
|
-
return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0,
|
|
6748
|
+
return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, Number(props.maxErrors))) : internalErrorMessages.value;
|
|
6744
6749
|
});
|
|
6745
6750
|
const validateOn = vue.computed(() => {
|
|
6746
6751
|
let value = (props.validateOn ?? form.validateOn?.value) || 'input';
|
|
@@ -6831,7 +6836,7 @@
|
|
|
6831
6836
|
const results = [];
|
|
6832
6837
|
isValidating.value = true;
|
|
6833
6838
|
for (const rule of props.rules) {
|
|
6834
|
-
if (results.length >=
|
|
6839
|
+
if (results.length >= Number(props.maxErrors ?? 1)) {
|
|
6835
6840
|
break;
|
|
6836
6841
|
}
|
|
6837
6842
|
const handler = typeof rule === 'function' ? rule : () => rule;
|
|
@@ -7892,7 +7897,10 @@
|
|
|
7892
7897
|
type: [Boolean, Object],
|
|
7893
7898
|
default: true
|
|
7894
7899
|
},
|
|
7895
|
-
text:
|
|
7900
|
+
text: {
|
|
7901
|
+
type: [String, Number, Boolean],
|
|
7902
|
+
default: undefined
|
|
7903
|
+
},
|
|
7896
7904
|
modelValue: {
|
|
7897
7905
|
type: Boolean,
|
|
7898
7906
|
default: true
|
|
@@ -8061,7 +8069,7 @@
|
|
|
8061
8069
|
toggle: group?.toggle,
|
|
8062
8070
|
value: group?.value.value,
|
|
8063
8071
|
disabled: props.disabled
|
|
8064
|
-
}) ?? props.text]), hasAppend && vue.createVNode("div", {
|
|
8072
|
+
}) ?? vue.toDisplayString(props.text)]), hasAppend && vue.createVNode("div", {
|
|
8065
8073
|
"key": "append",
|
|
8066
8074
|
"class": "v-chip__append"
|
|
8067
8075
|
}, [!slots.append ? vue.createVNode(vue.Fragment, null, [props.appendIcon && vue.createVNode(VIcon, {
|
|
@@ -8940,8 +8948,14 @@
|
|
|
8940
8948
|
default: true
|
|
8941
8949
|
},
|
|
8942
8950
|
slim: Boolean,
|
|
8943
|
-
subtitle:
|
|
8944
|
-
|
|
8951
|
+
subtitle: {
|
|
8952
|
+
type: [String, Number, Boolean],
|
|
8953
|
+
default: undefined
|
|
8954
|
+
},
|
|
8955
|
+
title: {
|
|
8956
|
+
type: [String, Number, Boolean],
|
|
8957
|
+
default: undefined
|
|
8958
|
+
},
|
|
8945
8959
|
value: null,
|
|
8946
8960
|
onClick: EventProp(),
|
|
8947
8961
|
onClickOnce: EventProp(),
|
|
@@ -9134,13 +9148,13 @@
|
|
|
9134
9148
|
}, {
|
|
9135
9149
|
default: () => [slots.title?.({
|
|
9136
9150
|
title: props.title
|
|
9137
|
-
}) ?? props.title]
|
|
9151
|
+
}) ?? vue.toDisplayString(props.title)]
|
|
9138
9152
|
}), hasSubtitle && vue.createVNode(VListItemSubtitle, {
|
|
9139
9153
|
"key": "subtitle"
|
|
9140
9154
|
}, {
|
|
9141
9155
|
default: () => [slots.subtitle?.({
|
|
9142
9156
|
subtitle: props.subtitle
|
|
9143
|
-
}) ?? props.subtitle]
|
|
9157
|
+
}) ?? vue.toDisplayString(props.subtitle)]
|
|
9144
9158
|
}), slots.default?.(slotProps.value)]), hasAppend && vue.createVNode("div", {
|
|
9145
9159
|
"key": "append",
|
|
9146
9160
|
"class": "v-list-item__append"
|
|
@@ -10741,10 +10755,10 @@
|
|
|
10741
10755
|
activeChildren: new Set()
|
|
10742
10756
|
});
|
|
10743
10757
|
vue.provide(StackSymbol, stack);
|
|
10744
|
-
const _zIndex = vue.shallowRef(
|
|
10758
|
+
const _zIndex = vue.shallowRef(Number(zIndex.value));
|
|
10745
10759
|
useToggleScope(isActive, () => {
|
|
10746
10760
|
const lastZIndex = globalStack.at(-1)?.[1];
|
|
10747
|
-
_zIndex.value = lastZIndex ? lastZIndex + 10 :
|
|
10761
|
+
_zIndex.value = lastZIndex ? lastZIndex + 10 : Number(zIndex.value);
|
|
10748
10762
|
if (createStackEntry) {
|
|
10749
10763
|
globalStack.push([vm.uid, _zIndex.value]);
|
|
10750
10764
|
}
|
|
@@ -10953,6 +10967,7 @@
|
|
|
10953
10967
|
emits: {
|
|
10954
10968
|
'click:outside': e => true,
|
|
10955
10969
|
'update:modelValue': value => true,
|
|
10970
|
+
keydown: e => true,
|
|
10956
10971
|
afterEnter: () => true,
|
|
10957
10972
|
afterLeave: () => true
|
|
10958
10973
|
},
|
|
@@ -11065,6 +11080,9 @@
|
|
|
11065
11080
|
});
|
|
11066
11081
|
function onKeydown(e) {
|
|
11067
11082
|
if (e.key === 'Escape' && globalTop.value) {
|
|
11083
|
+
if (!contentEl.value?.contains(document.activeElement)) {
|
|
11084
|
+
emit('keydown', e);
|
|
11085
|
+
}
|
|
11068
11086
|
if (!props.persistent) {
|
|
11069
11087
|
isActive.value = false;
|
|
11070
11088
|
if (contentEl.value?.contains(document.activeElement)) {
|
|
@@ -11073,6 +11091,10 @@
|
|
|
11073
11091
|
} else animateClick();
|
|
11074
11092
|
}
|
|
11075
11093
|
}
|
|
11094
|
+
function onKeydownSelf(e) {
|
|
11095
|
+
if (e.key === 'Escape' && !globalTop.value) return;
|
|
11096
|
+
emit('keydown', e);
|
|
11097
|
+
}
|
|
11076
11098
|
const router = useRouter();
|
|
11077
11099
|
useToggleScope(() => props.closeOnBack, () => {
|
|
11078
11100
|
useBackButton(router, next => {
|
|
@@ -11135,7 +11157,8 @@
|
|
|
11135
11157
|
'--v-overlay-opacity': props.opacity,
|
|
11136
11158
|
top: convertToUnit(top.value)
|
|
11137
11159
|
}, props.style],
|
|
11138
|
-
"ref": root
|
|
11160
|
+
"ref": root,
|
|
11161
|
+
"onKeydown": onKeydownSelf
|
|
11139
11162
|
}, scopeId, attrs), [vue.createVNode(Scrim, vue.mergeProps({
|
|
11140
11163
|
"color": scrimColor,
|
|
11141
11164
|
"modelValue": isActive.value && !!props.scrim,
|
|
@@ -13526,11 +13549,11 @@
|
|
|
13526
13549
|
locationStyles
|
|
13527
13550
|
} = useLocation(props, true, side => {
|
|
13528
13551
|
const base = props.floating ? props.dot ? 2 : 4 : props.dot ? 8 : 12;
|
|
13529
|
-
return base + (['top', 'bottom'].includes(side) ?
|
|
13552
|
+
return base + (['top', 'bottom'].includes(side) ? Number(props.offsetY ?? 0) : ['left', 'right'].includes(side) ? Number(props.offsetX ?? 0) : 0);
|
|
13530
13553
|
});
|
|
13531
13554
|
useRender(() => {
|
|
13532
13555
|
const value = Number(props.content);
|
|
13533
|
-
const content = !props.max || isNaN(value) ? props.content : value <=
|
|
13556
|
+
const content = !props.max || isNaN(value) ? props.content : value <= Number(props.max) ? value : `${props.max}+`;
|
|
13534
13557
|
const [badgeAttrs, attrs] = pickWithRest(ctx.attrs, ['aria-atomic', 'aria-label', 'aria-live', 'role', 'title']);
|
|
13535
13558
|
return vue.createVNode(props.tag, vue.mergeProps({
|
|
13536
13559
|
"class": ['v-badge', {
|
|
@@ -14229,8 +14252,14 @@
|
|
|
14229
14252
|
appendIcon: IconValue,
|
|
14230
14253
|
prependAvatar: String,
|
|
14231
14254
|
prependIcon: IconValue,
|
|
14232
|
-
subtitle:
|
|
14233
|
-
|
|
14255
|
+
subtitle: {
|
|
14256
|
+
type: [String, Number, Boolean],
|
|
14257
|
+
default: undefined
|
|
14258
|
+
},
|
|
14259
|
+
title: {
|
|
14260
|
+
type: [String, Number, Boolean],
|
|
14261
|
+
default: undefined
|
|
14262
|
+
},
|
|
14234
14263
|
...makeComponentProps(),
|
|
14235
14264
|
...makeDensityProps()
|
|
14236
14265
|
}, 'VCardItem');
|
|
@@ -14280,11 +14309,11 @@
|
|
|
14280
14309
|
}, [hasTitle && vue.createVNode(VCardTitle, {
|
|
14281
14310
|
"key": "title"
|
|
14282
14311
|
}, {
|
|
14283
|
-
default: () => [slots.title?.() ?? props.title]
|
|
14312
|
+
default: () => [slots.title?.() ?? vue.toDisplayString(props.title)]
|
|
14284
14313
|
}), hasSubtitle && vue.createVNode(VCardSubtitle, {
|
|
14285
14314
|
"key": "subtitle"
|
|
14286
14315
|
}, {
|
|
14287
|
-
default: () => [slots.subtitle?.() ?? props.subtitle]
|
|
14316
|
+
default: () => [slots.subtitle?.() ?? vue.toDisplayString(props.subtitle)]
|
|
14288
14317
|
}), slots.default?.()]), hasAppend && vue.createVNode("div", {
|
|
14289
14318
|
"key": "append",
|
|
14290
14319
|
"class": "v-card-item__append"
|
|
@@ -14356,9 +14385,18 @@
|
|
|
14356
14385
|
type: [Boolean, Object],
|
|
14357
14386
|
default: true
|
|
14358
14387
|
},
|
|
14359
|
-
subtitle:
|
|
14360
|
-
|
|
14361
|
-
|
|
14388
|
+
subtitle: {
|
|
14389
|
+
type: [String, Number, Boolean],
|
|
14390
|
+
default: undefined
|
|
14391
|
+
},
|
|
14392
|
+
text: {
|
|
14393
|
+
type: [String, Number, Boolean],
|
|
14394
|
+
default: undefined
|
|
14395
|
+
},
|
|
14396
|
+
title: {
|
|
14397
|
+
type: [String, Number, Boolean],
|
|
14398
|
+
default: undefined
|
|
14399
|
+
},
|
|
14362
14400
|
...makeBorderProps(),
|
|
14363
14401
|
...makeComponentProps(),
|
|
14364
14402
|
...makeDensityProps(),
|
|
@@ -14827,7 +14865,7 @@
|
|
|
14827
14865
|
vue.onMounted(startTimeout);
|
|
14828
14866
|
function startTimeout() {
|
|
14829
14867
|
if (!props.cycle || !windowRef.value) return;
|
|
14830
|
-
slideTimeout = window.setTimeout(windowRef.value.group.next,
|
|
14868
|
+
slideTimeout = window.setTimeout(windowRef.value.group.next, Number(props.interval) > 0 ? Number(props.interval) : 6000);
|
|
14831
14869
|
}
|
|
14832
14870
|
function restartTimeout() {
|
|
14833
14871
|
window.clearTimeout(slideTimeout);
|
|
@@ -15553,7 +15591,7 @@
|
|
|
15553
15591
|
const useSteps = props => {
|
|
15554
15592
|
const min = vue.computed(() => parseFloat(props.min));
|
|
15555
15593
|
const max = vue.computed(() => parseFloat(props.max));
|
|
15556
|
-
const step = vue.computed(() =>
|
|
15594
|
+
const step = vue.computed(() => Number(props.step) > 0 ? parseFloat(props.step) : 0);
|
|
15557
15595
|
const decimals = vue.computed(() => Math.max(getDecimals(step.value), getDecimals(min.value)));
|
|
15558
15596
|
function roundValue(value) {
|
|
15559
15597
|
value = parseFloat(value);
|
|
@@ -18508,8 +18546,8 @@
|
|
|
18508
18546
|
}, 'DataTable-paginate');
|
|
18509
18547
|
const VDataTablePaginationSymbol = Symbol.for('vuetify:data-table-pagination');
|
|
18510
18548
|
function createPagination(props) {
|
|
18511
|
-
const page = useProxiedModel(props, 'page', undefined, value =>
|
|
18512
|
-
const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value =>
|
|
18549
|
+
const page = useProxiedModel(props, 'page', undefined, value => Number(value ?? 1));
|
|
18550
|
+
const itemsPerPage = useProxiedModel(props, 'itemsPerPage', undefined, value => Number(value ?? 10));
|
|
18513
18551
|
return {
|
|
18514
18552
|
page,
|
|
18515
18553
|
itemsPerPage
|
|
@@ -19298,7 +19336,7 @@
|
|
|
19298
19336
|
const minButtons = props.showFirstLastPage ? 5 : 3;
|
|
19299
19337
|
return Math.max(0, Math.floor(
|
|
19300
19338
|
// Round to two decimal places to avoid floating point errors
|
|
19301
|
-
|
|
19339
|
+
Number(((totalWidth - itemWidth * minButtons) / itemWidth).toFixed(2))));
|
|
19302
19340
|
}
|
|
19303
19341
|
const range = vue.computed(() => {
|
|
19304
19342
|
if (length.value <= 0 || isNaN(length.value) || length.value > Number.MAX_SAFE_INTEGER) return [];
|
|
@@ -19369,7 +19407,7 @@
|
|
|
19369
19407
|
ref,
|
|
19370
19408
|
ellipsis: false,
|
|
19371
19409
|
icon: true,
|
|
19372
|
-
disabled: !!props.disabled ||
|
|
19410
|
+
disabled: !!props.disabled || Number(props.length) < 2,
|
|
19373
19411
|
color: isActive ? props.activeColor : props.color,
|
|
19374
19412
|
'aria-current': isActive,
|
|
19375
19413
|
'aria-label': t(isActive ? props.currentPageAriaLabel : props.pageAriaLabel, item),
|
|
@@ -19418,7 +19456,7 @@
|
|
|
19418
19456
|
refs.value[currentIndex]?.$el.focus();
|
|
19419
19457
|
}
|
|
19420
19458
|
function onKeydown(e) {
|
|
19421
|
-
if (e.key === keyValues.left && !props.disabled && page.value >
|
|
19459
|
+
if (e.key === keyValues.left && !props.disabled && page.value > Number(props.start)) {
|
|
19422
19460
|
page.value = page.value - 1;
|
|
19423
19461
|
vue.nextTick(updateFocus);
|
|
19424
19462
|
} else if (e.key === keyValues.right && !props.disabled && page.value < start.value + length.value - 1) {
|
|
@@ -19751,8 +19789,10 @@
|
|
|
19751
19789
|
} else {
|
|
19752
19790
|
if (!seenFixed) {
|
|
19753
19791
|
item.lastFixed = true;
|
|
19754
|
-
} else if (isNaN(
|
|
19792
|
+
} else if (isNaN(Number(item.width))) {
|
|
19755
19793
|
consoleError(`Multiple fixed columns should have a static width (key: ${item.key})`);
|
|
19794
|
+
} else {
|
|
19795
|
+
item.minWidth = Math.max(Number(item.width) || 0, Number(item.minWidth) || 0);
|
|
19756
19796
|
}
|
|
19757
19797
|
seenFixed = true;
|
|
19758
19798
|
}
|
|
@@ -21885,7 +21925,7 @@
|
|
|
21885
21925
|
model.value = [value];
|
|
21886
21926
|
}
|
|
21887
21927
|
}
|
|
21888
|
-
|
|
21928
|
+
useRender(() => vue.createVNode("div", {
|
|
21889
21929
|
"class": "v-date-picker-month"
|
|
21890
21930
|
}, [props.showWeek && vue.createVNode("div", {
|
|
21891
21931
|
"key": "weeks",
|
|
@@ -21907,6 +21947,13 @@
|
|
|
21907
21947
|
}, [weekDay])), daysInMonth.value.map((item, i) => {
|
|
21908
21948
|
const slotProps = {
|
|
21909
21949
|
props: {
|
|
21950
|
+
class: 'v-date-picker-month__day-btn',
|
|
21951
|
+
color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
|
|
21952
|
+
disabled: item.isDisabled,
|
|
21953
|
+
icon: true,
|
|
21954
|
+
ripple: false,
|
|
21955
|
+
text: item.localized,
|
|
21956
|
+
variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
|
|
21910
21957
|
onClick: () => onClick(item.date)
|
|
21911
21958
|
},
|
|
21912
21959
|
item,
|
|
@@ -21924,24 +21971,9 @@
|
|
|
21924
21971
|
'v-date-picker-month__day--week-start': item.isWeekStart
|
|
21925
21972
|
}],
|
|
21926
21973
|
"data-v-date": !item.isDisabled ? item.isoDate : undefined
|
|
21927
|
-
}, [(props.showAdjacentMonths || !item.isAdjacent) && vue.createVNode(
|
|
21928
|
-
"defaults": {
|
|
21929
|
-
VBtn: {
|
|
21930
|
-
class: 'v-date-picker-month__day-btn',
|
|
21931
|
-
color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
|
|
21932
|
-
disabled: item.isDisabled,
|
|
21933
|
-
icon: true,
|
|
21934
|
-
ripple: false,
|
|
21935
|
-
text: item.localized,
|
|
21936
|
-
variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
|
|
21937
|
-
onClick: () => onClick(item.date)
|
|
21938
|
-
}
|
|
21939
|
-
}
|
|
21940
|
-
}, {
|
|
21941
|
-
default: () => [slots.day?.(slotProps) ?? vue.createVNode(VBtn, slotProps.props, null)]
|
|
21942
|
-
})]);
|
|
21974
|
+
}, [(props.showAdjacentMonths || !item.isAdjacent) && (slots.day?.(slotProps) ?? vue.createVNode(VBtn, slotProps.props, null))]);
|
|
21943
21975
|
})])]
|
|
21944
|
-
})]);
|
|
21976
|
+
})]));
|
|
21945
21977
|
}
|
|
21946
21978
|
});
|
|
21947
21979
|
|
|
@@ -24698,7 +24730,7 @@
|
|
|
24698
24730
|
vue.watch(displayHeight, onScroll);
|
|
24699
24731
|
vue.watch(() => contentRect.value?.height, onScroll);
|
|
24700
24732
|
const scale = vue.computed(() => {
|
|
24701
|
-
return 1 - clamp(
|
|
24733
|
+
return 1 - clamp(Number(props.scale));
|
|
24702
24734
|
});
|
|
24703
24735
|
let frame = -1;
|
|
24704
24736
|
function onScroll() {
|
|
@@ -25119,7 +25151,7 @@
|
|
|
25119
25151
|
themeClasses
|
|
25120
25152
|
} = provideTheme(props);
|
|
25121
25153
|
const rating = useProxiedModel(props, 'modelValue');
|
|
25122
|
-
const normalizedValue = vue.computed(() => clamp(parseFloat(rating.value), 0,
|
|
25154
|
+
const normalizedValue = vue.computed(() => clamp(parseFloat(rating.value), 0, Number(props.length)));
|
|
25123
25155
|
const range = vue.computed(() => createRange(Number(props.length), 1));
|
|
25124
25156
|
const increments = vue.computed(() => range.value.flatMap(v => props.halfIncrements ? [v - 0.5, v] : [v]));
|
|
25125
25157
|
const hoverIndex = vue.shallowRef(-1);
|
|
@@ -25730,7 +25762,7 @@
|
|
|
25730
25762
|
const height = Math.abs(gridY * value);
|
|
25731
25763
|
return {
|
|
25732
25764
|
x: minX + index * gridX,
|
|
25733
|
-
y: horizonY - height +
|
|
25765
|
+
y: horizonY - height + Number(value < 0) * height,
|
|
25734
25766
|
height,
|
|
25735
25767
|
value
|
|
25736
25768
|
};
|
|
@@ -27168,10 +27200,10 @@
|
|
|
27168
27200
|
}
|
|
27169
27201
|
}
|
|
27170
27202
|
const sizerRef = vue.ref();
|
|
27171
|
-
const rows = vue.ref(
|
|
27203
|
+
const rows = vue.ref(Number(props.rows));
|
|
27172
27204
|
const isPlainOrUnderlined = vue.computed(() => ['plain', 'underlined'].includes(props.variant));
|
|
27173
27205
|
vue.watchEffect(() => {
|
|
27174
|
-
if (!props.autoGrow) rows.value =
|
|
27206
|
+
if (!props.autoGrow) rows.value = Number(props.rows);
|
|
27175
27207
|
});
|
|
27176
27208
|
function calculateInputHeight() {
|
|
27177
27209
|
if (!props.autoGrow) return;
|
|
@@ -28218,8 +28250,8 @@
|
|
|
28218
28250
|
prependIcon: '$calendar'
|
|
28219
28251
|
}),
|
|
28220
28252
|
...omit(makeVDatePickerProps({
|
|
28221
|
-
|
|
28222
|
-
|
|
28253
|
+
hideHeader: true,
|
|
28254
|
+
showAdjacentMonths: true
|
|
28223
28255
|
}), ['active', 'location', 'rounded'])
|
|
28224
28256
|
}, 'VDateInput');
|
|
28225
28257
|
const VDateInput = genericComponent()({
|
|
@@ -28303,6 +28335,7 @@
|
|
|
28303
28335
|
"onUpdate:modelValue": $event => menu.value = $event,
|
|
28304
28336
|
"activator": "parent",
|
|
28305
28337
|
"min-width": "0",
|
|
28338
|
+
"eager": isFocused.value,
|
|
28306
28339
|
"location": props.location,
|
|
28307
28340
|
"closeOnContentClick": false,
|
|
28308
28341
|
"openOnClick": false
|
|
@@ -28542,8 +28575,9 @@
|
|
|
28542
28575
|
inputRef.value?.click();
|
|
28543
28576
|
}
|
|
28544
28577
|
function onClickRemove(index) {
|
|
28545
|
-
|
|
28546
|
-
|
|
28578
|
+
const newValue = model.value.filter((_, i) => i !== index);
|
|
28579
|
+
model.value = newValue;
|
|
28580
|
+
if (newValue.length > 0 || !inputRef.value) return;
|
|
28547
28581
|
inputRef.value.value = '';
|
|
28548
28582
|
}
|
|
28549
28583
|
useRender(() => {
|
|
@@ -28754,7 +28788,7 @@
|
|
|
28754
28788
|
return isFocused.value ? Number(fixed).toString() // trim zeros
|
|
28755
28789
|
: fixed;
|
|
28756
28790
|
}
|
|
28757
|
-
const model = useProxiedModel(props, 'modelValue', null, val => val ?? null, val => val == null ? val ?? null : clamp(
|
|
28791
|
+
const model = useProxiedModel(props, 'modelValue', null, val => val ?? null, val => val == null ? val ?? null : clamp(Number(val), props.min, props.max));
|
|
28758
28792
|
const _inputText = vue.shallowRef(null);
|
|
28759
28793
|
vue.watchEffect(() => {
|
|
28760
28794
|
if (isFocused.value && !controlsDisabled.value) ; else if (model.value == null) {
|
|
@@ -28769,8 +28803,8 @@
|
|
|
28769
28803
|
if (val === null || val === '') {
|
|
28770
28804
|
model.value = null;
|
|
28771
28805
|
_inputText.value = null;
|
|
28772
|
-
} else if (!isNaN(
|
|
28773
|
-
model.value =
|
|
28806
|
+
} else if (!isNaN(Number(val)) && Number(val) <= props.max && Number(val) >= props.min) {
|
|
28807
|
+
model.value = Number(val);
|
|
28774
28808
|
_inputText.value = val;
|
|
28775
28809
|
}
|
|
28776
28810
|
}
|
|
@@ -28894,8 +28928,8 @@
|
|
|
28894
28928
|
if (controlsDisabled.value) return;
|
|
28895
28929
|
if (!vTextFieldRef.value) return;
|
|
28896
28930
|
const actualText = vTextFieldRef.value.value;
|
|
28897
|
-
if (actualText && !isNaN(
|
|
28898
|
-
inputText.value = correctPrecision(clamp(
|
|
28931
|
+
if (actualText && !isNaN(Number(actualText))) {
|
|
28932
|
+
inputText.value = correctPrecision(clamp(Number(actualText), props.min, props.max));
|
|
28899
28933
|
} else {
|
|
28900
28934
|
inputText.value = null;
|
|
28901
28935
|
}
|
|
@@ -29769,14 +29803,7 @@
|
|
|
29769
29803
|
}
|
|
29770
29804
|
});
|
|
29771
29805
|
|
|
29772
|
-
//
|
|
29773
|
-
/* eslint-disable */
|
|
29774
|
-
var SelectingTimes = /*#__PURE__*/function (SelectingTimes) {
|
|
29775
|
-
SelectingTimes[SelectingTimes["Hour"] = 1] = "Hour";
|
|
29776
|
-
SelectingTimes[SelectingTimes["Minute"] = 2] = "Minute";
|
|
29777
|
-
SelectingTimes[SelectingTimes["Second"] = 3] = "Second";
|
|
29778
|
-
return SelectingTimes;
|
|
29779
|
-
}(SelectingTimes || {});
|
|
29806
|
+
// Types
|
|
29780
29807
|
|
|
29781
29808
|
const makeVTimePickerControlsProps = propsFactory({
|
|
29782
29809
|
ampm: Boolean,
|
|
@@ -29790,15 +29817,15 @@
|
|
|
29790
29817
|
period: String,
|
|
29791
29818
|
readonly: Boolean,
|
|
29792
29819
|
useSeconds: Boolean,
|
|
29793
|
-
|
|
29794
|
-
|
|
29820
|
+
value: Number,
|
|
29821
|
+
viewMode: String
|
|
29795
29822
|
}, 'VTimePickerControls');
|
|
29796
29823
|
const VTimePickerControls = genericComponent()({
|
|
29797
29824
|
name: 'VTimePickerControls',
|
|
29798
29825
|
props: makeVTimePickerControlsProps(),
|
|
29799
29826
|
emits: {
|
|
29800
29827
|
'update:period': data => true,
|
|
29801
|
-
'update:
|
|
29828
|
+
'update:viewMode': data => true
|
|
29802
29829
|
},
|
|
29803
29830
|
setup(props, _ref) {
|
|
29804
29831
|
let {
|
|
@@ -29821,8 +29848,8 @@
|
|
|
29821
29848
|
'v-time-picker-controls__time--with-seconds': props.useSeconds
|
|
29822
29849
|
}
|
|
29823
29850
|
}, [vue.createVNode(VBtn, {
|
|
29824
|
-
"active": props.
|
|
29825
|
-
"color": props.
|
|
29851
|
+
"active": props.viewMode === 'hour',
|
|
29852
|
+
"color": props.viewMode === 'hour' ? props.color : undefined,
|
|
29826
29853
|
"disabled": props.disabled,
|
|
29827
29854
|
"variant": "tonal",
|
|
29828
29855
|
"class": {
|
|
@@ -29831,24 +29858,24 @@
|
|
|
29831
29858
|
'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
|
|
29832
29859
|
},
|
|
29833
29860
|
"text": props.hour == null ? '--' : pad(`${hour}`),
|
|
29834
|
-
"onClick": () => emit('update:
|
|
29861
|
+
"onClick": () => emit('update:viewMode', 'hour')
|
|
29835
29862
|
}, null), vue.createVNode("span", {
|
|
29836
29863
|
"class": ['v-time-picker-controls__time__separator', {
|
|
29837
29864
|
'v-time-picker-controls--with-seconds__time__separator': props.useSeconds
|
|
29838
29865
|
}]
|
|
29839
29866
|
}, [vue.createTextVNode(":")]), vue.createVNode(VBtn, {
|
|
29840
|
-
"active": props.
|
|
29841
|
-
"color": props.
|
|
29867
|
+
"active": props.viewMode === 'minute',
|
|
29868
|
+
"color": props.viewMode === 'minute' ? props.color : undefined,
|
|
29842
29869
|
"class": {
|
|
29843
29870
|
'v-time-picker-controls__time__btn': true,
|
|
29844
|
-
'v-time-picker-controls__time__btn__active': props.
|
|
29871
|
+
'v-time-picker-controls__time__btn__active': props.viewMode === 'minute',
|
|
29845
29872
|
'v-time-picker-controls__time--with-ampm__btn': props.ampm,
|
|
29846
29873
|
'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
|
|
29847
29874
|
},
|
|
29848
29875
|
"disabled": props.disabled,
|
|
29849
29876
|
"variant": "tonal",
|
|
29850
29877
|
"text": props.minute == null ? '--' : pad(props.minute),
|
|
29851
|
-
"onClick": () => emit('update:
|
|
29878
|
+
"onClick": () => emit('update:viewMode', 'minute')
|
|
29852
29879
|
}, null), props.useSeconds && vue.createVNode("span", {
|
|
29853
29880
|
"class": ['v-time-picker-controls__time__separator', {
|
|
29854
29881
|
'v-time-picker-controls--with-seconds__time__separator': props.useSeconds
|
|
@@ -29856,11 +29883,13 @@
|
|
|
29856
29883
|
"key": "secondsDivider"
|
|
29857
29884
|
}, [vue.createTextVNode(":")]), props.useSeconds && vue.createVNode(VBtn, {
|
|
29858
29885
|
"key": "secondsVal",
|
|
29886
|
+
"active": props.viewMode === 'second',
|
|
29887
|
+
"color": props.viewMode === 'second' ? props.color : undefined,
|
|
29859
29888
|
"variant": "tonal",
|
|
29860
|
-
"onClick": () => emit('update:
|
|
29889
|
+
"onClick": () => emit('update:viewMode', 'second'),
|
|
29861
29890
|
"class": {
|
|
29862
29891
|
'v-time-picker-controls__time__btn': true,
|
|
29863
|
-
'v-time-picker-controls__time__btn__active': props.
|
|
29892
|
+
'v-time-picker-controls__time__btn__active': props.viewMode === 'second',
|
|
29864
29893
|
'v-time-picker-controls__time--with-seconds__btn': props.useSeconds
|
|
29865
29894
|
},
|
|
29866
29895
|
"disabled": props.disabled,
|
|
@@ -29905,11 +29934,6 @@
|
|
|
29905
29934
|
const rangeHours12am = createRange(12);
|
|
29906
29935
|
const rangeHours12pm = rangeHours12am.map(v => v + 12);
|
|
29907
29936
|
createRange(60);
|
|
29908
|
-
const selectingNames = {
|
|
29909
|
-
1: 'hour',
|
|
29910
|
-
2: 'minute',
|
|
29911
|
-
3: 'second'
|
|
29912
|
-
};
|
|
29913
29937
|
const makeVTimePickerProps = propsFactory({
|
|
29914
29938
|
allowedHours: [Function, Array],
|
|
29915
29939
|
allowedMinutes: [Function, Array],
|
|
@@ -29922,6 +29946,10 @@
|
|
|
29922
29946
|
},
|
|
29923
29947
|
max: String,
|
|
29924
29948
|
min: String,
|
|
29949
|
+
viewMode: {
|
|
29950
|
+
type: String,
|
|
29951
|
+
default: 'hour'
|
|
29952
|
+
},
|
|
29925
29953
|
modelValue: null,
|
|
29926
29954
|
readonly: Boolean,
|
|
29927
29955
|
scrollable: Boolean,
|
|
@@ -29938,7 +29966,8 @@
|
|
|
29938
29966
|
'update:minute': val => true,
|
|
29939
29967
|
'update:period': val => true,
|
|
29940
29968
|
'update:second': val => true,
|
|
29941
|
-
'update:modelValue': val => true
|
|
29969
|
+
'update:modelValue': val => true,
|
|
29970
|
+
'update:viewMode': val => true
|
|
29942
29971
|
},
|
|
29943
29972
|
setup(props, _ref) {
|
|
29944
29973
|
let {
|
|
@@ -29955,7 +29984,7 @@
|
|
|
29955
29984
|
const lazyInputMinute = vue.ref(null);
|
|
29956
29985
|
const lazyInputSecond = vue.ref(null);
|
|
29957
29986
|
const period = vue.ref('am');
|
|
29958
|
-
const
|
|
29987
|
+
const viewMode = useProxiedModel(props, 'viewMode', 'hour');
|
|
29959
29988
|
const controlsRef = vue.ref(null);
|
|
29960
29989
|
const clockRef = vue.ref(null);
|
|
29961
29990
|
const isAllowedHourCb = vue.computed(() => {
|
|
@@ -29969,7 +29998,7 @@
|
|
|
29969
29998
|
const minHour = props.min ? Number(props.min.split(':')[0]) : 0;
|
|
29970
29999
|
const maxHour = props.max ? Number(props.max.split(':')[0]) : 23;
|
|
29971
30000
|
return val => {
|
|
29972
|
-
return val >= minHour
|
|
30001
|
+
return val >= Number(minHour) && val <= Number(maxHour) && (!cb || cb(val));
|
|
29973
30002
|
};
|
|
29974
30003
|
});
|
|
29975
30004
|
const isAllowedMinuteCb = vue.computed(() => {
|
|
@@ -29985,8 +30014,8 @@
|
|
|
29985
30014
|
}
|
|
29986
30015
|
const [minHour, minMinute] = props.min ? props.min.split(':').map(Number) : [0, 0];
|
|
29987
30016
|
const [maxHour, maxMinute] = props.max ? props.max.split(':').map(Number) : [23, 59];
|
|
29988
|
-
const minTime = minHour * 60 + minMinute
|
|
29989
|
-
const maxTime = maxHour * 60 + maxMinute
|
|
30017
|
+
const minTime = minHour * 60 + Number(minMinute);
|
|
30018
|
+
const maxTime = maxHour * 60 + Number(maxMinute);
|
|
29990
30019
|
return val => {
|
|
29991
30020
|
const time = 60 * inputHour.value + val;
|
|
29992
30021
|
return time >= minTime && time <= maxTime && isHourAllowed && (!cb || cb(val));
|
|
@@ -30006,8 +30035,8 @@
|
|
|
30006
30035
|
}
|
|
30007
30036
|
const [minHour, minMinute, minSecond] = props.min ? props.min.split(':').map(Number) : [0, 0, 0];
|
|
30008
30037
|
const [maxHour, maxMinute, maxSecond] = props.max ? props.max.split(':').map(Number) : [23, 59, 59];
|
|
30009
|
-
const minTime = minHour * 3600 + minMinute * 60 + (minSecond || 0)
|
|
30010
|
-
const maxTime = maxHour * 3600 + maxMinute * 60 + (maxSecond || 0)
|
|
30038
|
+
const minTime = minHour * 3600 + minMinute * 60 + Number(minSecond || 0);
|
|
30039
|
+
const maxTime = maxHour * 3600 + maxMinute * 60 + Number(maxSecond || 0);
|
|
30011
30040
|
return val => {
|
|
30012
30041
|
const time = 3600 * inputHour.value + 60 * inputMinute.value + val;
|
|
30013
30042
|
return time >= minTime && time <= maxTime && isMinuteAllowed && (!cb || cb(val));
|
|
@@ -30073,16 +30102,16 @@
|
|
|
30073
30102
|
return true;
|
|
30074
30103
|
}
|
|
30075
30104
|
function onInput(value) {
|
|
30076
|
-
if (
|
|
30105
|
+
if (viewMode.value === 'hour') {
|
|
30077
30106
|
inputHour.value = isAmPm.value ? convert12to24(value, period.value) : value;
|
|
30078
|
-
} else if (
|
|
30107
|
+
} else if (viewMode.value === 'minute') {
|
|
30079
30108
|
inputMinute.value = value;
|
|
30080
30109
|
} else {
|
|
30081
30110
|
inputSecond.value = value;
|
|
30082
30111
|
}
|
|
30083
30112
|
}
|
|
30084
30113
|
function onChange(value) {
|
|
30085
|
-
switch (
|
|
30114
|
+
switch (viewMode.value || 'hour') {
|
|
30086
30115
|
case 'hour':
|
|
30087
30116
|
emit('update:hour', value);
|
|
30088
30117
|
break;
|
|
@@ -30094,10 +30123,10 @@
|
|
|
30094
30123
|
break;
|
|
30095
30124
|
}
|
|
30096
30125
|
const emitChange = inputHour.value !== null && inputMinute.value !== null && (props.useSeconds ? inputSecond.value !== null : true);
|
|
30097
|
-
if (
|
|
30098
|
-
|
|
30099
|
-
} else if (props.useSeconds &&
|
|
30100
|
-
|
|
30126
|
+
if (viewMode.value === 'hour') {
|
|
30127
|
+
viewMode.value = 'minute';
|
|
30128
|
+
} else if (props.useSeconds && viewMode.value === 'minute') {
|
|
30129
|
+
viewMode.value = 'second';
|
|
30101
30130
|
}
|
|
30102
30131
|
if (inputHour.value === lazyInputHour.value && inputMinute.value === lazyInputMinute.value && (!props.useSeconds || inputSecond.value === lazyInputSecond.value)) return;
|
|
30103
30132
|
const time = genValue();
|
|
@@ -30126,20 +30155,20 @@
|
|
|
30126
30155
|
"minute": inputMinute.value,
|
|
30127
30156
|
"period": period.value,
|
|
30128
30157
|
"second": inputSecond.value,
|
|
30129
|
-
"
|
|
30158
|
+
"viewMode": viewMode.value,
|
|
30130
30159
|
"onUpdate:period": val => setPeriod(val),
|
|
30131
|
-
"onUpdate:
|
|
30160
|
+
"onUpdate:viewMode": value => viewMode.value = value,
|
|
30132
30161
|
"ref": controlsRef
|
|
30133
30162
|
}), null),
|
|
30134
30163
|
default: () => vue.createVNode(VTimePickerClock, vue.mergeProps(timePickerClockProps, {
|
|
30135
|
-
"allowedValues":
|
|
30136
|
-
"double":
|
|
30137
|
-
"format":
|
|
30138
|
-
"max":
|
|
30139
|
-
"min":
|
|
30164
|
+
"allowedValues": viewMode.value === 'hour' ? isAllowedHourCb.value : viewMode.value === 'minute' ? isAllowedMinuteCb.value : isAllowedSecondCb.value,
|
|
30165
|
+
"double": viewMode.value === 'hour' && !isAmPm.value,
|
|
30166
|
+
"format": viewMode.value === 'hour' ? isAmPm.value ? convert24to12 : val => val : val => pad(val, 2),
|
|
30167
|
+
"max": viewMode.value === 'hour' ? isAmPm.value && period.value === 'am' ? 11 : 23 : 59,
|
|
30168
|
+
"min": viewMode.value === 'hour' && isAmPm.value && period.value === 'pm' ? 12 : 0,
|
|
30140
30169
|
"size": 20,
|
|
30141
|
-
"step":
|
|
30142
|
-
"modelValue":
|
|
30170
|
+
"step": viewMode.value === 'hour' ? 1 : 5,
|
|
30171
|
+
"modelValue": viewMode.value === 'hour' ? inputHour.value : viewMode.value === 'minute' ? inputMinute.value : inputSecond.value,
|
|
30143
30172
|
"onChange": onChange,
|
|
30144
30173
|
"onInput": onInput,
|
|
30145
30174
|
"ref": clockRef
|
|
@@ -31052,7 +31081,7 @@
|
|
|
31052
31081
|
goTo
|
|
31053
31082
|
};
|
|
31054
31083
|
}
|
|
31055
|
-
const version$1 = "3.7.
|
|
31084
|
+
const version$1 = "3.7.16";
|
|
31056
31085
|
createVuetify$1.version = version$1;
|
|
31057
31086
|
|
|
31058
31087
|
// Vue's inject() can only be used in setup
|
|
@@ -31305,7 +31334,7 @@
|
|
|
31305
31334
|
|
|
31306
31335
|
/* eslint-disable local-rules/sort-imports */
|
|
31307
31336
|
|
|
31308
|
-
const version = "3.7.
|
|
31337
|
+
const version = "3.7.16";
|
|
31309
31338
|
|
|
31310
31339
|
/* eslint-disable local-rules/sort-imports */
|
|
31311
31340
|
|