vuetify 3.8.9 → 3.8.11
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 +3247 -3239
- package/dist/json/importMap-labs.json +22 -22
- package/dist/json/importMap.json +180 -180
- package/dist/json/tags.json +2 -0
- package/dist/json/web-types.json +6004 -5986
- package/dist/vuetify-labs.cjs +104 -55
- package/dist/vuetify-labs.css +5367 -5364
- package/dist/vuetify-labs.d.ts +70 -60
- package/dist/vuetify-labs.esm.js +104 -55
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +104 -55
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +98 -54
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4065 -4062
- package/dist/vuetify.d.ts +65 -60
- package/dist/vuetify.esm.js +98 -54
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +98 -54
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +413 -410
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VBtn/VBtn.css +3 -0
- package/lib/components/VBtn/VBtn.sass +5 -0
- package/lib/components/VBtnGroup/VBtnGroup.css +2 -1
- package/lib/components/VBtnGroup/VBtnGroup.sass +2 -1
- package/lib/components/VCarousel/VCarousel.css +0 -1
- package/lib/components/VCarousel/VCarousel.js +1 -0
- package/lib/components/VCarousel/VCarousel.js.map +1 -1
- package/lib/components/VCarousel/VCarousel.sass +0 -1
- package/lib/components/VDataTable/VDataTable.css +6 -3
- package/lib/components/VDataTable/VDataTable.sass +4 -2
- package/lib/components/VDatePicker/VDatePicker.js +19 -13
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.css +3 -8
- package/lib/components/VDatePicker/VDatePickerMonth.js +8 -3
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.sass +3 -8
- package/lib/components/VDatePicker/VDatePickerYears.js +1 -3
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/components/VList/VList.js +1 -1
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListChildren.js +4 -3
- package/lib/components/VList/VListChildren.js.map +1 -1
- package/lib/components/VList/VListGroup.d.ts +10 -0
- package/lib/components/VList/VListGroup.js +2 -2
- package/lib/components/VList/VListGroup.js.map +1 -1
- package/lib/components/VList/VListItem.css +2 -0
- package/lib/components/VList/VListItem.sass +2 -0
- package/lib/components/VList/_variables.scss +1 -0
- package/lib/components/VNumberInput/VNumberInput.js +4 -10
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VNumberInput/hold.js +4 -0
- package/lib/components/VNumberInput/hold.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +17 -1
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.css +1 -1
- package/lib/components/VSpeedDial/VSpeedDial.sass +3 -1
- package/lib/components/VTextField/VTextField.js +4 -4
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTextarea/VTextarea.js +4 -4
- package/lib/components/VTextarea/VTextarea.js.map +1 -1
- package/lib/composables/autofocus.d.ts +7 -0
- package/lib/composables/autofocus.js +10 -0
- package/lib/composables/autofocus.js.map +1 -0
- package/lib/composables/calendar.d.ts +1 -0
- package/lib/composables/calendar.js +7 -3
- package/lib/composables/calendar.js.map +1 -1
- package/lib/composables/group.js +1 -0
- package/lib/composables/group.js.map +1 -1
- package/lib/composables/hotkey.d.ts +9 -0
- package/lib/composables/hotkey.js +131 -0
- package/lib/composables/hotkey.js.map +1 -0
- package/lib/composables/intersectionObserver.js +2 -2
- package/lib/composables/intersectionObserver.js.map +1 -1
- package/lib/composables/selectLink.js +2 -2
- package/lib/composables/selectLink.js.map +1 -1
- package/lib/composables/transition.js +3 -3
- package/lib/composables/transition.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/entry-bundler.js.map +1 -1
- package/lib/framework.d.ts +60 -60
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/labs/VFileUpload/VFileUploadItem.js +1 -0
- package/lib/labs/VFileUpload/VFileUploadItem.js.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerClock.js +3 -1
- package/lib/labs/VTimePicker/VTimePickerClock.js.map +1 -1
- package/lib/labs/VTreeview/VTreeviewChildren.js +2 -1
- package/lib/labs/VTreeview/VTreeviewChildren.js.map +1 -1
- package/lib/labs/VTreeview/VTreeviewGroup.d.ts +10 -0
- package/lib/labs/VTreeview/VTreeviewItem.js +1 -0
- package/lib/labs/VTreeview/VTreeviewItem.js.map +1 -1
- package/lib/util/helpers.d.ts +3 -0
- package/lib/util/helpers.js +7 -0
- package/lib/util/helpers.js.map +1 -1
- package/package.json +8 -8
package/dist/vuetify-labs.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.8.
|
|
2
|
+
* Vuetify v3.8.11
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -609,6 +609,13 @@ function camelizeProps(props) {
|
|
|
609
609
|
}
|
|
610
610
|
return out;
|
|
611
611
|
}
|
|
612
|
+
function onlyDefinedProps(props) {
|
|
613
|
+
const booleanAttributes = ['checked', 'disabled'];
|
|
614
|
+
return Object.fromEntries(Object.entries(props).filter(_ref => {
|
|
615
|
+
let [key, v] = _ref;
|
|
616
|
+
return booleanAttributes.includes(key) ? !!v : v !== undefined;
|
|
617
|
+
}));
|
|
618
|
+
}
|
|
612
619
|
|
|
613
620
|
// Utilities
|
|
614
621
|
const block = ['top', 'bottom'];
|
|
@@ -933,7 +940,7 @@ function APCAcontrast(text, background) {
|
|
|
933
940
|
// WoB should always return negative value.
|
|
934
941
|
|
|
935
942
|
const SAPC = (Ybg ** revBG - Ytxt ** revTXT) * scaleWoB;
|
|
936
|
-
outputContrast = SAPC > -
|
|
943
|
+
outputContrast = SAPC > -loClip ? 0.0 : SAPC > -loConThresh ? SAPC - SAPC * loConFactor * loConOffset : SAPC + loConOffset;
|
|
937
944
|
}
|
|
938
945
|
return outputContrast * 100;
|
|
939
946
|
}
|
|
@@ -3321,10 +3328,10 @@ const MaybeTransition = (props, _ref) => {
|
|
|
3321
3328
|
} = isObject(transition) ? transition : {};
|
|
3322
3329
|
let transitionProps;
|
|
3323
3330
|
if (isObject(transition)) {
|
|
3324
|
-
transitionProps = mergeProps(customProps,
|
|
3331
|
+
transitionProps = mergeProps(customProps, onlyDefinedProps({
|
|
3325
3332
|
disabled,
|
|
3326
3333
|
group
|
|
3327
|
-
})
|
|
3334
|
+
}), rest);
|
|
3328
3335
|
} else {
|
|
3329
3336
|
transitionProps = mergeProps({
|
|
3330
3337
|
name: disabled || !transition ? '' : transition
|
|
@@ -4393,6 +4400,7 @@ function useGroup(props, injectKey) {
|
|
|
4393
4400
|
} else {
|
|
4394
4401
|
const isSelected = selected.value.includes(id);
|
|
4395
4402
|
if (props.mandatory && isSelected) return;
|
|
4403
|
+
if (!isSelected && !value) return;
|
|
4396
4404
|
selected.value = value ?? !isSelected ? [id] : [];
|
|
4397
4405
|
}
|
|
4398
4406
|
}
|
|
@@ -4827,7 +4835,7 @@ function useIntersectionObserver(callback, options) {
|
|
|
4827
4835
|
const observer = new IntersectionObserver(entries => {
|
|
4828
4836
|
isIntersecting.value = !!entries.find(entry => entry.isIntersecting);
|
|
4829
4837
|
}, options);
|
|
4830
|
-
|
|
4838
|
+
onScopeDispose(() => {
|
|
4831
4839
|
observer.disconnect();
|
|
4832
4840
|
});
|
|
4833
4841
|
watch(intersectionRef, (newValue, oldValue) => {
|
|
@@ -5358,9 +5366,9 @@ function useBackButton(router, cb) {
|
|
|
5358
5366
|
|
|
5359
5367
|
function useSelectLink(link, select) {
|
|
5360
5368
|
watch(() => link.isActive?.value, isActive => {
|
|
5361
|
-
if (link.isLink.value && isActive && select) {
|
|
5369
|
+
if (link.isLink.value && isActive != null && select) {
|
|
5362
5370
|
nextTick(() => {
|
|
5363
|
-
select(
|
|
5371
|
+
select(isActive);
|
|
5364
5372
|
});
|
|
5365
5373
|
}
|
|
5366
5374
|
}, {
|
|
@@ -8974,6 +8982,7 @@ const makeVListGroupProps = propsFactory({
|
|
|
8974
8982
|
type: IconValue,
|
|
8975
8983
|
default: '$expand'
|
|
8976
8984
|
},
|
|
8985
|
+
rawId: [String, Number],
|
|
8977
8986
|
prependIcon: IconValue,
|
|
8978
8987
|
appendIcon: IconValue,
|
|
8979
8988
|
fluid: Boolean,
|
|
@@ -8995,13 +9004,12 @@ const VListGroup = genericComponent()({
|
|
|
8995
9004
|
open,
|
|
8996
9005
|
id: _id
|
|
8997
9006
|
} = useNestedItem(() => props.value, true);
|
|
8998
|
-
const id = computed(() => `v-list-group--id-${String(_id.value)}`);
|
|
9007
|
+
const id = computed(() => `v-list-group--id-${String(props.rawId ?? _id.value)}`);
|
|
8999
9008
|
const list = useList();
|
|
9000
9009
|
const {
|
|
9001
9010
|
isBooted
|
|
9002
9011
|
} = useSsrBoot();
|
|
9003
9012
|
function onClick(e) {
|
|
9004
|
-
e.stopPropagation();
|
|
9005
9013
|
if (['INPUT', 'TEXTAREA'].includes(e.target?.tagName)) return;
|
|
9006
9014
|
open(!isOpen.value, e);
|
|
9007
9015
|
}
|
|
@@ -9519,9 +9527,10 @@ const VListChildren = genericComponent()({
|
|
|
9519
9527
|
}) : undefined
|
|
9520
9528
|
};
|
|
9521
9529
|
const listGroupProps = VListGroup.filterProps(itemProps);
|
|
9522
|
-
return children ? createVNode(VListGroup, mergeProps({
|
|
9523
|
-
"value": itemProps?.value
|
|
9524
|
-
|
|
9530
|
+
return children ? createVNode(VListGroup, mergeProps(listGroupProps, {
|
|
9531
|
+
"value": props.returnObject ? item : itemProps?.value,
|
|
9532
|
+
"rawId": itemProps?.value
|
|
9533
|
+
}), {
|
|
9525
9534
|
activator: _ref3 => {
|
|
9526
9535
|
let {
|
|
9527
9536
|
props: activatorProps
|
|
@@ -9700,7 +9709,7 @@ function useItems(props) {
|
|
|
9700
9709
|
function transformItem$2(props, item) {
|
|
9701
9710
|
const type = getPropertyFromItem(item, props.itemType, 'item');
|
|
9702
9711
|
const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
|
|
9703
|
-
const value = getPropertyFromItem(item, props.itemValue, undefined);
|
|
9712
|
+
const value = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemValue, undefined);
|
|
9704
9713
|
const children = getPropertyFromItem(item, props.itemChildren);
|
|
9705
9714
|
const itemProps = props.itemProps === true ? omit(item, ['children']) : getPropertyFromItem(item, props.itemProps);
|
|
9706
9715
|
const _props = {
|
|
@@ -12049,6 +12058,16 @@ const VField = genericComponent()({
|
|
|
12049
12058
|
}
|
|
12050
12059
|
});
|
|
12051
12060
|
|
|
12061
|
+
function useAutofocus(props) {
|
|
12062
|
+
function onIntersect(isIntersecting, entries) {
|
|
12063
|
+
if (!props.autofocus || !isIntersecting) return;
|
|
12064
|
+
entries[0].target?.focus?.();
|
|
12065
|
+
}
|
|
12066
|
+
return {
|
|
12067
|
+
onIntersect
|
|
12068
|
+
};
|
|
12069
|
+
}
|
|
12070
|
+
|
|
12052
12071
|
// Types
|
|
12053
12072
|
|
|
12054
12073
|
const activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month'];
|
|
@@ -12095,6 +12114,9 @@ const VTextField = genericComponent()({
|
|
|
12095
12114
|
focus,
|
|
12096
12115
|
blur
|
|
12097
12116
|
} = useFocus(props);
|
|
12117
|
+
const {
|
|
12118
|
+
onIntersect
|
|
12119
|
+
} = useAutofocus(props);
|
|
12098
12120
|
const counterValue = computed(() => {
|
|
12099
12121
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : (model.value ?? '').toString().length;
|
|
12100
12122
|
});
|
|
@@ -12104,10 +12126,6 @@ const VTextField = genericComponent()({
|
|
|
12104
12126
|
return props.counter;
|
|
12105
12127
|
});
|
|
12106
12128
|
const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));
|
|
12107
|
-
function onIntersect(isIntersecting, entries) {
|
|
12108
|
-
if (!props.autofocus || !isIntersecting) return;
|
|
12109
|
-
entries[0].target?.focus?.();
|
|
12110
|
-
}
|
|
12111
12129
|
const vInputRef = ref();
|
|
12112
12130
|
const vFieldRef = ref();
|
|
12113
12131
|
const inputRef = ref();
|
|
@@ -15199,6 +15217,7 @@ const VCarousel = genericComponent()({
|
|
|
15199
15217
|
}) : createVNode(VBtn, mergeProps(item, props), null);
|
|
15200
15218
|
})]
|
|
15201
15219
|
})]), props.progress && createVNode(VProgressLinear, {
|
|
15220
|
+
"absolute": true,
|
|
15202
15221
|
"class": "v-carousel__progress",
|
|
15203
15222
|
"color": typeof props.progress === 'string' ? props.progress : undefined,
|
|
15204
15223
|
"modelValue": (group.getItemIndex(model.value) + 1) / group.items.value.length * 100
|
|
@@ -22079,8 +22098,11 @@ function useCalendar(props) {
|
|
|
22079
22098
|
}, v => adapter.getMonth(v));
|
|
22080
22099
|
const weekDays = computed(() => {
|
|
22081
22100
|
const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
|
|
22082
|
-
|
|
22083
|
-
|
|
22101
|
+
return props.weekdays.map(day => (day + firstDayOfWeek) % 7);
|
|
22102
|
+
});
|
|
22103
|
+
const weekdayLabels = computed(() => {
|
|
22104
|
+
const labels = adapter.getWeekdays(props.firstDayOfWeek);
|
|
22105
|
+
return weekDays.value.map(day => labels[day]);
|
|
22084
22106
|
});
|
|
22085
22107
|
const weeksInMonth = computed(() => {
|
|
22086
22108
|
const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
|
|
@@ -22161,7 +22183,7 @@ function useCalendar(props) {
|
|
|
22161
22183
|
if (typeof props.allowedDates === 'function') {
|
|
22162
22184
|
return !props.allowedDates(date);
|
|
22163
22185
|
}
|
|
22164
|
-
return
|
|
22186
|
+
return false;
|
|
22165
22187
|
}
|
|
22166
22188
|
return {
|
|
22167
22189
|
displayValue,
|
|
@@ -22171,6 +22193,7 @@ function useCalendar(props) {
|
|
|
22171
22193
|
model,
|
|
22172
22194
|
weeksInMonth,
|
|
22173
22195
|
weekDays,
|
|
22196
|
+
weekdayLabels,
|
|
22174
22197
|
weekNumbers
|
|
22175
22198
|
};
|
|
22176
22199
|
}
|
|
@@ -22209,7 +22232,9 @@ const VDatePickerMonth = genericComponent()({
|
|
|
22209
22232
|
const {
|
|
22210
22233
|
daysInMonth,
|
|
22211
22234
|
model,
|
|
22212
|
-
weekNumbers
|
|
22235
|
+
weekNumbers,
|
|
22236
|
+
weekDays,
|
|
22237
|
+
weekdayLabels
|
|
22213
22238
|
} = useCalendar(props);
|
|
22214
22239
|
const adapter = useDate();
|
|
22215
22240
|
const rangeStart = shallowRef();
|
|
@@ -22281,7 +22306,10 @@ const VDatePickerMonth = genericComponent()({
|
|
|
22281
22306
|
}
|
|
22282
22307
|
}
|
|
22283
22308
|
useRender(() => createElementVNode("div", {
|
|
22284
|
-
"class": "v-date-picker-month"
|
|
22309
|
+
"class": "v-date-picker-month",
|
|
22310
|
+
"style": {
|
|
22311
|
+
'--v-date-picker-days-in-week': weekDays.value.length
|
|
22312
|
+
}
|
|
22285
22313
|
}, [props.showWeek && createElementVNode("div", {
|
|
22286
22314
|
"key": "weeks",
|
|
22287
22315
|
"class": "v-date-picker-month__weeks"
|
|
@@ -22297,7 +22325,7 @@ const VDatePickerMonth = genericComponent()({
|
|
|
22297
22325
|
"ref": daysRef,
|
|
22298
22326
|
"key": daysInMonth.value[0].date?.toString(),
|
|
22299
22327
|
"class": "v-date-picker-month__days"
|
|
22300
|
-
}, [!props.hideWeekdays &&
|
|
22328
|
+
}, [!props.hideWeekdays && weekdayLabels.value.map(weekDay => createElementVNode("div", {
|
|
22301
22329
|
"class": normalizeClass(['v-date-picker-month__day', 'v-date-picker-month__weekday'])
|
|
22302
22330
|
}, [weekDay])), daysInMonth.value.map((item, i) => {
|
|
22303
22331
|
const slotProps = {
|
|
@@ -22473,9 +22501,7 @@ const VDatePickerYears = genericComponent()({
|
|
|
22473
22501
|
const yearRef = templateRef();
|
|
22474
22502
|
onMounted(async () => {
|
|
22475
22503
|
await nextTick();
|
|
22476
|
-
yearRef.el?.
|
|
22477
|
-
block: 'center'
|
|
22478
|
-
});
|
|
22504
|
+
yearRef.el?.focus();
|
|
22479
22505
|
});
|
|
22480
22506
|
function isYearAllowed(year) {
|
|
22481
22507
|
if (Array.isArray(props.allowedYears) && props.allowedYears.length) {
|
|
@@ -22611,8 +22637,16 @@ const VDatePicker = genericComponent()({
|
|
|
22611
22637
|
return value && adapter.isValid(value) ? value : today;
|
|
22612
22638
|
});
|
|
22613
22639
|
const headerColor = toRef(() => props.headerColor ?? props.color);
|
|
22614
|
-
const
|
|
22615
|
-
const
|
|
22640
|
+
const _month = useProxiedModel(props, 'month');
|
|
22641
|
+
const month = computed({
|
|
22642
|
+
get: () => Number(_month.value ?? adapter.getMonth(adapter.startOfMonth(internal.value))),
|
|
22643
|
+
set: v => _month.value = v
|
|
22644
|
+
});
|
|
22645
|
+
const _year = useProxiedModel(props, 'year');
|
|
22646
|
+
const year = computed({
|
|
22647
|
+
get: () => Number(_year.value ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))),
|
|
22648
|
+
set: v => _year.value = v
|
|
22649
|
+
});
|
|
22616
22650
|
const isReversing = shallowRef(false);
|
|
22617
22651
|
const header = computed(() => {
|
|
22618
22652
|
if (props.multiple && model.value.length > 1) {
|
|
@@ -22696,9 +22730,9 @@ const VDatePicker = genericComponent()({
|
|
|
22696
22730
|
} else {
|
|
22697
22731
|
year.value++;
|
|
22698
22732
|
month.value = 0;
|
|
22699
|
-
onUpdateYear(
|
|
22733
|
+
onUpdateYear();
|
|
22700
22734
|
}
|
|
22701
|
-
onUpdateMonth(
|
|
22735
|
+
onUpdateMonth();
|
|
22702
22736
|
}
|
|
22703
22737
|
function onClickPrev() {
|
|
22704
22738
|
if (month.value > 0) {
|
|
@@ -22706,9 +22740,9 @@ const VDatePicker = genericComponent()({
|
|
|
22706
22740
|
} else {
|
|
22707
22741
|
year.value--;
|
|
22708
22742
|
month.value = 11;
|
|
22709
|
-
onUpdateYear(
|
|
22743
|
+
onUpdateYear();
|
|
22710
22744
|
}
|
|
22711
|
-
onUpdateMonth(
|
|
22745
|
+
onUpdateMonth();
|
|
22712
22746
|
}
|
|
22713
22747
|
function onClickDate() {
|
|
22714
22748
|
viewMode.value = 'month';
|
|
@@ -22719,13 +22753,11 @@ const VDatePicker = genericComponent()({
|
|
|
22719
22753
|
function onClickYear() {
|
|
22720
22754
|
viewMode.value = viewMode.value === 'year' ? 'month' : 'year';
|
|
22721
22755
|
}
|
|
22722
|
-
function onUpdateMonth(
|
|
22756
|
+
function onUpdateMonth() {
|
|
22723
22757
|
if (viewMode.value === 'months') onClickMonth();
|
|
22724
|
-
emit('update:month', value);
|
|
22725
22758
|
}
|
|
22726
|
-
function onUpdateYear(
|
|
22759
|
+
function onUpdateYear() {
|
|
22727
22760
|
if (viewMode.value === 'year') onClickYear();
|
|
22728
|
-
emit('update:year', value);
|
|
22729
22761
|
}
|
|
22730
22762
|
watch(model, (val, oldVal) => {
|
|
22731
22763
|
const arrBefore = wrapInArray(oldVal);
|
|
@@ -22737,11 +22769,11 @@ const VDatePicker = genericComponent()({
|
|
|
22737
22769
|
const newYear = adapter.getYear(after);
|
|
22738
22770
|
if (newMonth !== month.value) {
|
|
22739
22771
|
month.value = newMonth;
|
|
22740
|
-
onUpdateMonth(
|
|
22772
|
+
onUpdateMonth();
|
|
22741
22773
|
}
|
|
22742
22774
|
if (newYear !== year.value) {
|
|
22743
22775
|
year.value = newYear;
|
|
22744
|
-
onUpdateYear(
|
|
22776
|
+
onUpdateYear();
|
|
22745
22777
|
}
|
|
22746
22778
|
isReversing.value = adapter.isBefore(before, after);
|
|
22747
22779
|
});
|
|
@@ -24895,6 +24927,8 @@ function useHold(_ref) {
|
|
|
24895
24927
|
function holdStart(value) {
|
|
24896
24928
|
holdStop();
|
|
24897
24929
|
tick(value);
|
|
24930
|
+
window.addEventListener('pointerup', holdStop);
|
|
24931
|
+
document.addEventListener('blur', holdStop);
|
|
24898
24932
|
timeout = window.setTimeout(() => {
|
|
24899
24933
|
interval = window.setInterval(() => tick(value), HOLD_REPEAT);
|
|
24900
24934
|
}, HOLD_DELAY);
|
|
@@ -24902,6 +24936,8 @@ function useHold(_ref) {
|
|
|
24902
24936
|
function holdStop() {
|
|
24903
24937
|
window.clearTimeout(timeout);
|
|
24904
24938
|
window.clearInterval(interval);
|
|
24939
|
+
window.removeEventListener('pointerup', holdStop);
|
|
24940
|
+
document.removeEventListener('blur', holdStop);
|
|
24905
24941
|
}
|
|
24906
24942
|
function tick(value) {
|
|
24907
24943
|
toggleUpDown(value === 'up');
|
|
@@ -25013,7 +25049,7 @@ const VNumberInput = genericComponent()({
|
|
|
25013
25049
|
onClick: onControlClick,
|
|
25014
25050
|
onPointerup: onControlMouseup,
|
|
25015
25051
|
onPointerdown: onUpControlMousedown,
|
|
25016
|
-
onPointercancel:
|
|
25052
|
+
onPointercancel: onControlMouseup
|
|
25017
25053
|
}
|
|
25018
25054
|
};
|
|
25019
25055
|
const decrementSlotProps = {
|
|
@@ -25021,7 +25057,7 @@ const VNumberInput = genericComponent()({
|
|
|
25021
25057
|
onClick: onControlClick,
|
|
25022
25058
|
onPointerup: onControlMouseup,
|
|
25023
25059
|
onPointerdown: onDownControlMousedown,
|
|
25024
|
-
onPointercancel:
|
|
25060
|
+
onPointercancel: onControlMouseup
|
|
25025
25061
|
}
|
|
25026
25062
|
};
|
|
25027
25063
|
watch(() => props.precision, () => formatInputValue());
|
|
@@ -25101,7 +25137,6 @@ const VNumberInput = genericComponent()({
|
|
|
25101
25137
|
const el = e.currentTarget;
|
|
25102
25138
|
el?.releasePointerCapture(e.pointerId);
|
|
25103
25139
|
e.preventDefault();
|
|
25104
|
-
e.stopPropagation();
|
|
25105
25140
|
holdStop();
|
|
25106
25141
|
}
|
|
25107
25142
|
function onUpControlMousedown(e) {
|
|
@@ -25118,11 +25153,6 @@ const VNumberInput = genericComponent()({
|
|
|
25118
25153
|
e.stopPropagation();
|
|
25119
25154
|
holdStart('down');
|
|
25120
25155
|
}
|
|
25121
|
-
function onControlPointerCancel(e) {
|
|
25122
|
-
const el = e.currentTarget;
|
|
25123
|
-
el?.releasePointerCapture(e.pointerId);
|
|
25124
|
-
holdStop();
|
|
25125
|
-
}
|
|
25126
25156
|
function clampModel() {
|
|
25127
25157
|
if (controlsDisabled.value) return;
|
|
25128
25158
|
if (!vTextFieldRef.value) return;
|
|
@@ -25172,7 +25202,7 @@ const VNumberInput = genericComponent()({
|
|
|
25172
25202
|
"onClick": onControlClick,
|
|
25173
25203
|
"onPointerdown": onUpControlMousedown,
|
|
25174
25204
|
"onPointerup": onControlMouseup,
|
|
25175
|
-
"onPointercancel":
|
|
25205
|
+
"onPointercancel": onControlMouseup,
|
|
25176
25206
|
"size": controlNodeSize.value,
|
|
25177
25207
|
"tabindex": "-1"
|
|
25178
25208
|
}, null) : createVNode(VDefaultsProvider, {
|
|
@@ -25202,7 +25232,7 @@ const VNumberInput = genericComponent()({
|
|
|
25202
25232
|
"onClick": onControlClick,
|
|
25203
25233
|
"onPointerdown": onDownControlMousedown,
|
|
25204
25234
|
"onPointerup": onControlMouseup,
|
|
25205
|
-
"onPointercancel":
|
|
25235
|
+
"onPointercancel": onControlMouseup,
|
|
25206
25236
|
"size": controlNodeSize.value,
|
|
25207
25237
|
"tabindex": "-1"
|
|
25208
25238
|
}, null) : createVNode(VDefaultsProvider, {
|
|
@@ -25349,6 +25379,21 @@ const VOtpInput = genericComponent()({
|
|
|
25349
25379
|
const contentRef = ref();
|
|
25350
25380
|
const inputRef = ref([]);
|
|
25351
25381
|
const current = computed(() => inputRef.value[focusIndex.value]);
|
|
25382
|
+
const intersectScope = effectScope();
|
|
25383
|
+
intersectScope.run(() => {
|
|
25384
|
+
const {
|
|
25385
|
+
intersectionRef,
|
|
25386
|
+
isIntersecting
|
|
25387
|
+
} = useIntersectionObserver();
|
|
25388
|
+
watch(isIntersecting, v => {
|
|
25389
|
+
if (!v) return;
|
|
25390
|
+
intersectionRef.value?.focus();
|
|
25391
|
+
intersectScope.stop();
|
|
25392
|
+
});
|
|
25393
|
+
watchEffect(() => {
|
|
25394
|
+
intersectionRef.value = inputRef.value[0];
|
|
25395
|
+
});
|
|
25396
|
+
});
|
|
25352
25397
|
function onInput() {
|
|
25353
25398
|
// The maxlength attribute doesn't work for the number type input, so the text type is used.
|
|
25354
25399
|
// The following logic simulates the behavior of a number input.
|
|
@@ -28095,6 +28140,9 @@ const VTextarea = genericComponent()({
|
|
|
28095
28140
|
focus,
|
|
28096
28141
|
blur
|
|
28097
28142
|
} = useFocus(props);
|
|
28143
|
+
const {
|
|
28144
|
+
onIntersect
|
|
28145
|
+
} = useAutofocus(props);
|
|
28098
28146
|
const counterValue = computed(() => {
|
|
28099
28147
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : (model.value || '').toString().length;
|
|
28100
28148
|
});
|
|
@@ -28103,10 +28151,6 @@ const VTextarea = genericComponent()({
|
|
|
28103
28151
|
if (!props.counter || typeof props.counter !== 'number' && typeof props.counter !== 'string') return undefined;
|
|
28104
28152
|
return props.counter;
|
|
28105
28153
|
});
|
|
28106
|
-
function onIntersect(isIntersecting, entries) {
|
|
28107
|
-
if (!props.autofocus || !isIntersecting) return;
|
|
28108
|
-
entries[0].target?.focus?.();
|
|
28109
|
-
}
|
|
28110
28154
|
const vInputRef = ref();
|
|
28111
28155
|
const vFieldRef = ref();
|
|
28112
28156
|
const controlHeight = shallowRef('');
|
|
@@ -29823,6 +29867,7 @@ const VFileUploadItem = genericComponent()({
|
|
|
29823
29867
|
"class": "v-file-upload-item"
|
|
29824
29868
|
}), {
|
|
29825
29869
|
...slots,
|
|
29870
|
+
title: () => props?.title ?? props.file?.name,
|
|
29826
29871
|
prepend: slotProps => createElementVNode(Fragment, null, [!slots.prepend ? createVNode(VAvatar, {
|
|
29827
29872
|
"icon": props.fileIcon,
|
|
29828
29873
|
"image": preview.value,
|
|
@@ -30671,6 +30716,7 @@ const VTimePickerClock = genericComponent()({
|
|
|
30671
30716
|
const isDragging = ref(false);
|
|
30672
30717
|
const valueOnMouseDown = ref(null);
|
|
30673
30718
|
const valueOnMouseUp = ref(null);
|
|
30719
|
+
const emitChangeDebounced = debounce(value => emit('change', value), 750);
|
|
30674
30720
|
const {
|
|
30675
30721
|
textColorClasses,
|
|
30676
30722
|
textColorStyles
|
|
@@ -30716,6 +30762,7 @@ const VTimePickerClock = genericComponent()({
|
|
|
30716
30762
|
if (value !== props.displayedValue) {
|
|
30717
30763
|
update(value);
|
|
30718
30764
|
}
|
|
30765
|
+
emitChangeDebounced(value);
|
|
30719
30766
|
}
|
|
30720
30767
|
function isInner(value) {
|
|
30721
30768
|
return props.double && value - props.min >= roundCount.value;
|
|
@@ -31316,6 +31363,7 @@ const VTreeviewItem = genericComponent()({
|
|
|
31316
31363
|
}
|
|
31317
31364
|
function onClickAction(e) {
|
|
31318
31365
|
e.preventDefault();
|
|
31366
|
+
e.stopPropagation();
|
|
31319
31367
|
emit('toggleExpand', e);
|
|
31320
31368
|
}
|
|
31321
31369
|
useRender(() => {
|
|
@@ -31461,7 +31509,8 @@ const VTreeviewChildren = genericComponent()({
|
|
|
31461
31509
|
const treeviewGroupProps = VTreeviewGroup.filterProps(itemProps);
|
|
31462
31510
|
const treeviewChildrenProps = VTreeviewChildren.filterProps(props);
|
|
31463
31511
|
return children ? createVNode(VTreeviewGroup, mergeProps(treeviewGroupProps, {
|
|
31464
|
-
"value": props.returnObject ? item.raw : treeviewGroupProps?.value
|
|
31512
|
+
"value": props.returnObject ? item.raw : treeviewGroupProps?.value,
|
|
31513
|
+
"rawId": treeviewGroupProps?.value
|
|
31465
31514
|
}), {
|
|
31466
31515
|
activator: _ref2 => {
|
|
31467
31516
|
let {
|
|
@@ -32149,7 +32198,7 @@ function createVuetify$1() {
|
|
|
32149
32198
|
};
|
|
32150
32199
|
});
|
|
32151
32200
|
}
|
|
32152
|
-
const version$1 = "3.8.
|
|
32201
|
+
const version$1 = "3.8.11";
|
|
32153
32202
|
createVuetify$1.version = version$1;
|
|
32154
32203
|
|
|
32155
32204
|
// Vue's inject() can only be used in setup
|
|
@@ -32447,7 +32496,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
|
32447
32496
|
|
|
32448
32497
|
/* eslint-disable local-rules/sort-imports */
|
|
32449
32498
|
|
|
32450
|
-
const version = "3.8.
|
|
32499
|
+
const version = "3.8.11";
|
|
32451
32500
|
|
|
32452
32501
|
/* eslint-disable local-rules/sort-imports */
|
|
32453
32502
|
|