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.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
|
*/
|
|
@@ -532,6 +532,13 @@ function camelizeProps(props) {
|
|
|
532
532
|
}
|
|
533
533
|
return out;
|
|
534
534
|
}
|
|
535
|
+
function onlyDefinedProps(props) {
|
|
536
|
+
const booleanAttributes = ['checked', 'disabled'];
|
|
537
|
+
return Object.fromEntries(Object.entries(props).filter(_ref => {
|
|
538
|
+
let [key, v] = _ref;
|
|
539
|
+
return booleanAttributes.includes(key) ? !!v : v !== undefined;
|
|
540
|
+
}));
|
|
541
|
+
}
|
|
535
542
|
|
|
536
543
|
// Utilities
|
|
537
544
|
const block = ['top', 'bottom'];
|
|
@@ -856,7 +863,7 @@ function APCAcontrast(text, background) {
|
|
|
856
863
|
// WoB should always return negative value.
|
|
857
864
|
|
|
858
865
|
const SAPC = (Ybg ** revBG - Ytxt ** revTXT) * scaleWoB;
|
|
859
|
-
outputContrast = SAPC > -
|
|
866
|
+
outputContrast = SAPC > -loClip ? 0.0 : SAPC > -loConThresh ? SAPC - SAPC * loConFactor * loConOffset : SAPC + loConOffset;
|
|
860
867
|
}
|
|
861
868
|
return outputContrast * 100;
|
|
862
869
|
}
|
|
@@ -3808,10 +3815,10 @@ const MaybeTransition = (props, _ref) => {
|
|
|
3808
3815
|
} = isObject(transition) ? transition : {};
|
|
3809
3816
|
let transitionProps;
|
|
3810
3817
|
if (isObject(transition)) {
|
|
3811
|
-
transitionProps = mergeProps(customProps,
|
|
3818
|
+
transitionProps = mergeProps(customProps, onlyDefinedProps({
|
|
3812
3819
|
disabled,
|
|
3813
3820
|
group
|
|
3814
|
-
})
|
|
3821
|
+
}), rest);
|
|
3815
3822
|
} else {
|
|
3816
3823
|
transitionProps = mergeProps({
|
|
3817
3824
|
name: disabled || !transition ? '' : transition
|
|
@@ -4880,6 +4887,7 @@ function useGroup(props, injectKey) {
|
|
|
4880
4887
|
} else {
|
|
4881
4888
|
const isSelected = selected.value.includes(id);
|
|
4882
4889
|
if (props.mandatory && isSelected) return;
|
|
4890
|
+
if (!isSelected && !value) return;
|
|
4883
4891
|
selected.value = value ?? !isSelected ? [id] : [];
|
|
4884
4892
|
}
|
|
4885
4893
|
}
|
|
@@ -5105,7 +5113,7 @@ function useIntersectionObserver(callback, options) {
|
|
|
5105
5113
|
const observer = new IntersectionObserver(entries => {
|
|
5106
5114
|
isIntersecting.value = !!entries.find(entry => entry.isIntersecting);
|
|
5107
5115
|
}, options);
|
|
5108
|
-
|
|
5116
|
+
onScopeDispose(() => {
|
|
5109
5117
|
observer.disconnect();
|
|
5110
5118
|
});
|
|
5111
5119
|
watch(intersectionRef, (newValue, oldValue) => {
|
|
@@ -5636,9 +5644,9 @@ function useBackButton(router, cb) {
|
|
|
5636
5644
|
|
|
5637
5645
|
function useSelectLink(link, select) {
|
|
5638
5646
|
watch(() => link.isActive?.value, isActive => {
|
|
5639
|
-
if (link.isLink.value && isActive && select) {
|
|
5647
|
+
if (link.isLink.value && isActive != null && select) {
|
|
5640
5648
|
nextTick(() => {
|
|
5641
|
-
select(
|
|
5649
|
+
select(isActive);
|
|
5642
5650
|
});
|
|
5643
5651
|
}
|
|
5644
5652
|
}, {
|
|
@@ -9252,6 +9260,7 @@ const makeVListGroupProps = propsFactory({
|
|
|
9252
9260
|
type: IconValue,
|
|
9253
9261
|
default: '$expand'
|
|
9254
9262
|
},
|
|
9263
|
+
rawId: [String, Number],
|
|
9255
9264
|
prependIcon: IconValue,
|
|
9256
9265
|
appendIcon: IconValue,
|
|
9257
9266
|
fluid: Boolean,
|
|
@@ -9273,13 +9282,12 @@ const VListGroup = genericComponent()({
|
|
|
9273
9282
|
open,
|
|
9274
9283
|
id: _id
|
|
9275
9284
|
} = useNestedItem(() => props.value, true);
|
|
9276
|
-
const id = computed(() => `v-list-group--id-${String(_id.value)}`);
|
|
9285
|
+
const id = computed(() => `v-list-group--id-${String(props.rawId ?? _id.value)}`);
|
|
9277
9286
|
const list = useList();
|
|
9278
9287
|
const {
|
|
9279
9288
|
isBooted
|
|
9280
9289
|
} = useSsrBoot();
|
|
9281
9290
|
function onClick(e) {
|
|
9282
|
-
e.stopPropagation();
|
|
9283
9291
|
if (['INPUT', 'TEXTAREA'].includes(e.target?.tagName)) return;
|
|
9284
9292
|
open(!isOpen.value, e);
|
|
9285
9293
|
}
|
|
@@ -9797,9 +9805,10 @@ const VListChildren = genericComponent()({
|
|
|
9797
9805
|
}) : undefined
|
|
9798
9806
|
};
|
|
9799
9807
|
const listGroupProps = VListGroup.filterProps(itemProps);
|
|
9800
|
-
return children ? createVNode(VListGroup, mergeProps({
|
|
9801
|
-
"value": itemProps?.value
|
|
9802
|
-
|
|
9808
|
+
return children ? createVNode(VListGroup, mergeProps(listGroupProps, {
|
|
9809
|
+
"value": props.returnObject ? item : itemProps?.value,
|
|
9810
|
+
"rawId": itemProps?.value
|
|
9811
|
+
}), {
|
|
9803
9812
|
activator: _ref3 => {
|
|
9804
9813
|
let {
|
|
9805
9814
|
props: activatorProps
|
|
@@ -9978,7 +9987,7 @@ function useItems(props) {
|
|
|
9978
9987
|
function transformItem$2(props, item) {
|
|
9979
9988
|
const type = getPropertyFromItem(item, props.itemType, 'item');
|
|
9980
9989
|
const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
|
|
9981
|
-
const value = getPropertyFromItem(item, props.itemValue, undefined);
|
|
9990
|
+
const value = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemValue, undefined);
|
|
9982
9991
|
const children = getPropertyFromItem(item, props.itemChildren);
|
|
9983
9992
|
const itemProps = props.itemProps === true ? omit(item, ['children']) : getPropertyFromItem(item, props.itemProps);
|
|
9984
9993
|
const _props = {
|
|
@@ -12327,6 +12336,16 @@ const VField = genericComponent()({
|
|
|
12327
12336
|
}
|
|
12328
12337
|
});
|
|
12329
12338
|
|
|
12339
|
+
function useAutofocus(props) {
|
|
12340
|
+
function onIntersect(isIntersecting, entries) {
|
|
12341
|
+
if (!props.autofocus || !isIntersecting) return;
|
|
12342
|
+
entries[0].target?.focus?.();
|
|
12343
|
+
}
|
|
12344
|
+
return {
|
|
12345
|
+
onIntersect
|
|
12346
|
+
};
|
|
12347
|
+
}
|
|
12348
|
+
|
|
12330
12349
|
// Types
|
|
12331
12350
|
|
|
12332
12351
|
const activeTypes = ['color', 'file', 'time', 'date', 'datetime-local', 'week', 'month'];
|
|
@@ -12373,6 +12392,9 @@ const VTextField = genericComponent()({
|
|
|
12373
12392
|
focus,
|
|
12374
12393
|
blur
|
|
12375
12394
|
} = useFocus(props);
|
|
12395
|
+
const {
|
|
12396
|
+
onIntersect
|
|
12397
|
+
} = useAutofocus(props);
|
|
12376
12398
|
const counterValue = computed(() => {
|
|
12377
12399
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : (model.value ?? '').toString().length;
|
|
12378
12400
|
});
|
|
@@ -12382,10 +12404,6 @@ const VTextField = genericComponent()({
|
|
|
12382
12404
|
return props.counter;
|
|
12383
12405
|
});
|
|
12384
12406
|
const isPlainOrUnderlined = computed(() => ['plain', 'underlined'].includes(props.variant));
|
|
12385
|
-
function onIntersect(isIntersecting, entries) {
|
|
12386
|
-
if (!props.autofocus || !isIntersecting) return;
|
|
12387
|
-
entries[0].target?.focus?.();
|
|
12388
|
-
}
|
|
12389
12407
|
const vInputRef = ref();
|
|
12390
12408
|
const vFieldRef = ref();
|
|
12391
12409
|
const inputRef = ref();
|
|
@@ -15477,6 +15495,7 @@ const VCarousel = genericComponent()({
|
|
|
15477
15495
|
}) : createVNode(VBtn, mergeProps(item, props), null);
|
|
15478
15496
|
})]
|
|
15479
15497
|
})]), props.progress && createVNode(VProgressLinear, {
|
|
15498
|
+
"absolute": true,
|
|
15480
15499
|
"class": "v-carousel__progress",
|
|
15481
15500
|
"color": typeof props.progress === 'string' ? props.progress : undefined,
|
|
15482
15501
|
"modelValue": (group.getItemIndex(model.value) + 1) / group.items.value.length * 100
|
|
@@ -22357,8 +22376,11 @@ function useCalendar(props) {
|
|
|
22357
22376
|
}, v => adapter.getMonth(v));
|
|
22358
22377
|
const weekDays = computed(() => {
|
|
22359
22378
|
const firstDayOfWeek = adapter.toJsDate(adapter.startOfWeek(adapter.date(), props.firstDayOfWeek)).getDay();
|
|
22360
|
-
|
|
22361
|
-
|
|
22379
|
+
return props.weekdays.map(day => (day + firstDayOfWeek) % 7);
|
|
22380
|
+
});
|
|
22381
|
+
const weekdayLabels = computed(() => {
|
|
22382
|
+
const labels = adapter.getWeekdays(props.firstDayOfWeek);
|
|
22383
|
+
return weekDays.value.map(day => labels[day]);
|
|
22362
22384
|
});
|
|
22363
22385
|
const weeksInMonth = computed(() => {
|
|
22364
22386
|
const weeks = adapter.getWeekArray(month.value, props.firstDayOfWeek);
|
|
@@ -22439,7 +22461,7 @@ function useCalendar(props) {
|
|
|
22439
22461
|
if (typeof props.allowedDates === 'function') {
|
|
22440
22462
|
return !props.allowedDates(date);
|
|
22441
22463
|
}
|
|
22442
|
-
return
|
|
22464
|
+
return false;
|
|
22443
22465
|
}
|
|
22444
22466
|
return {
|
|
22445
22467
|
displayValue,
|
|
@@ -22449,6 +22471,7 @@ function useCalendar(props) {
|
|
|
22449
22471
|
model,
|
|
22450
22472
|
weeksInMonth,
|
|
22451
22473
|
weekDays,
|
|
22474
|
+
weekdayLabels,
|
|
22452
22475
|
weekNumbers
|
|
22453
22476
|
};
|
|
22454
22477
|
}
|
|
@@ -22487,7 +22510,9 @@ const VDatePickerMonth = genericComponent()({
|
|
|
22487
22510
|
const {
|
|
22488
22511
|
daysInMonth,
|
|
22489
22512
|
model,
|
|
22490
|
-
weekNumbers
|
|
22513
|
+
weekNumbers,
|
|
22514
|
+
weekDays,
|
|
22515
|
+
weekdayLabels
|
|
22491
22516
|
} = useCalendar(props);
|
|
22492
22517
|
const adapter = useDate();
|
|
22493
22518
|
const rangeStart = shallowRef();
|
|
@@ -22559,7 +22584,10 @@ const VDatePickerMonth = genericComponent()({
|
|
|
22559
22584
|
}
|
|
22560
22585
|
}
|
|
22561
22586
|
useRender(() => createElementVNode("div", {
|
|
22562
|
-
"class": "v-date-picker-month"
|
|
22587
|
+
"class": "v-date-picker-month",
|
|
22588
|
+
"style": {
|
|
22589
|
+
'--v-date-picker-days-in-week': weekDays.value.length
|
|
22590
|
+
}
|
|
22563
22591
|
}, [props.showWeek && createElementVNode("div", {
|
|
22564
22592
|
"key": "weeks",
|
|
22565
22593
|
"class": "v-date-picker-month__weeks"
|
|
@@ -22575,7 +22603,7 @@ const VDatePickerMonth = genericComponent()({
|
|
|
22575
22603
|
"ref": daysRef,
|
|
22576
22604
|
"key": daysInMonth.value[0].date?.toString(),
|
|
22577
22605
|
"class": "v-date-picker-month__days"
|
|
22578
|
-
}, [!props.hideWeekdays &&
|
|
22606
|
+
}, [!props.hideWeekdays && weekdayLabels.value.map(weekDay => createElementVNode("div", {
|
|
22579
22607
|
"class": normalizeClass(['v-date-picker-month__day', 'v-date-picker-month__weekday'])
|
|
22580
22608
|
}, [weekDay])), daysInMonth.value.map((item, i) => {
|
|
22581
22609
|
const slotProps = {
|
|
@@ -22751,9 +22779,7 @@ const VDatePickerYears = genericComponent()({
|
|
|
22751
22779
|
const yearRef = templateRef();
|
|
22752
22780
|
onMounted(async () => {
|
|
22753
22781
|
await nextTick();
|
|
22754
|
-
yearRef.el?.
|
|
22755
|
-
block: 'center'
|
|
22756
|
-
});
|
|
22782
|
+
yearRef.el?.focus();
|
|
22757
22783
|
});
|
|
22758
22784
|
function isYearAllowed(year) {
|
|
22759
22785
|
if (Array.isArray(props.allowedYears) && props.allowedYears.length) {
|
|
@@ -22889,8 +22915,16 @@ const VDatePicker = genericComponent()({
|
|
|
22889
22915
|
return value && adapter.isValid(value) ? value : today;
|
|
22890
22916
|
});
|
|
22891
22917
|
const headerColor = toRef(() => props.headerColor ?? props.color);
|
|
22892
|
-
const
|
|
22893
|
-
const
|
|
22918
|
+
const _month = useProxiedModel(props, 'month');
|
|
22919
|
+
const month = computed({
|
|
22920
|
+
get: () => Number(_month.value ?? adapter.getMonth(adapter.startOfMonth(internal.value))),
|
|
22921
|
+
set: v => _month.value = v
|
|
22922
|
+
});
|
|
22923
|
+
const _year = useProxiedModel(props, 'year');
|
|
22924
|
+
const year = computed({
|
|
22925
|
+
get: () => Number(_year.value ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))),
|
|
22926
|
+
set: v => _year.value = v
|
|
22927
|
+
});
|
|
22894
22928
|
const isReversing = shallowRef(false);
|
|
22895
22929
|
const header = computed(() => {
|
|
22896
22930
|
if (props.multiple && model.value.length > 1) {
|
|
@@ -22974,9 +23008,9 @@ const VDatePicker = genericComponent()({
|
|
|
22974
23008
|
} else {
|
|
22975
23009
|
year.value++;
|
|
22976
23010
|
month.value = 0;
|
|
22977
|
-
onUpdateYear(
|
|
23011
|
+
onUpdateYear();
|
|
22978
23012
|
}
|
|
22979
|
-
onUpdateMonth(
|
|
23013
|
+
onUpdateMonth();
|
|
22980
23014
|
}
|
|
22981
23015
|
function onClickPrev() {
|
|
22982
23016
|
if (month.value > 0) {
|
|
@@ -22984,9 +23018,9 @@ const VDatePicker = genericComponent()({
|
|
|
22984
23018
|
} else {
|
|
22985
23019
|
year.value--;
|
|
22986
23020
|
month.value = 11;
|
|
22987
|
-
onUpdateYear(
|
|
23021
|
+
onUpdateYear();
|
|
22988
23022
|
}
|
|
22989
|
-
onUpdateMonth(
|
|
23023
|
+
onUpdateMonth();
|
|
22990
23024
|
}
|
|
22991
23025
|
function onClickDate() {
|
|
22992
23026
|
viewMode.value = 'month';
|
|
@@ -22997,13 +23031,11 @@ const VDatePicker = genericComponent()({
|
|
|
22997
23031
|
function onClickYear() {
|
|
22998
23032
|
viewMode.value = viewMode.value === 'year' ? 'month' : 'year';
|
|
22999
23033
|
}
|
|
23000
|
-
function onUpdateMonth(
|
|
23034
|
+
function onUpdateMonth() {
|
|
23001
23035
|
if (viewMode.value === 'months') onClickMonth();
|
|
23002
|
-
emit('update:month', value);
|
|
23003
23036
|
}
|
|
23004
|
-
function onUpdateYear(
|
|
23037
|
+
function onUpdateYear() {
|
|
23005
23038
|
if (viewMode.value === 'year') onClickYear();
|
|
23006
|
-
emit('update:year', value);
|
|
23007
23039
|
}
|
|
23008
23040
|
watch(model, (val, oldVal) => {
|
|
23009
23041
|
const arrBefore = wrapInArray(oldVal);
|
|
@@ -23015,11 +23047,11 @@ const VDatePicker = genericComponent()({
|
|
|
23015
23047
|
const newYear = adapter.getYear(after);
|
|
23016
23048
|
if (newMonth !== month.value) {
|
|
23017
23049
|
month.value = newMonth;
|
|
23018
|
-
onUpdateMonth(
|
|
23050
|
+
onUpdateMonth();
|
|
23019
23051
|
}
|
|
23020
23052
|
if (newYear !== year.value) {
|
|
23021
23053
|
year.value = newYear;
|
|
23022
|
-
onUpdateYear(
|
|
23054
|
+
onUpdateYear();
|
|
23023
23055
|
}
|
|
23024
23056
|
isReversing.value = adapter.isBefore(before, after);
|
|
23025
23057
|
});
|
|
@@ -25173,6 +25205,8 @@ function useHold(_ref) {
|
|
|
25173
25205
|
function holdStart(value) {
|
|
25174
25206
|
holdStop();
|
|
25175
25207
|
tick(value);
|
|
25208
|
+
window.addEventListener('pointerup', holdStop);
|
|
25209
|
+
document.addEventListener('blur', holdStop);
|
|
25176
25210
|
timeout = window.setTimeout(() => {
|
|
25177
25211
|
interval = window.setInterval(() => tick(value), HOLD_REPEAT);
|
|
25178
25212
|
}, HOLD_DELAY);
|
|
@@ -25180,6 +25214,8 @@ function useHold(_ref) {
|
|
|
25180
25214
|
function holdStop() {
|
|
25181
25215
|
window.clearTimeout(timeout);
|
|
25182
25216
|
window.clearInterval(interval);
|
|
25217
|
+
window.removeEventListener('pointerup', holdStop);
|
|
25218
|
+
document.removeEventListener('blur', holdStop);
|
|
25183
25219
|
}
|
|
25184
25220
|
function tick(value) {
|
|
25185
25221
|
toggleUpDown(value === 'up');
|
|
@@ -25291,7 +25327,7 @@ const VNumberInput = genericComponent()({
|
|
|
25291
25327
|
onClick: onControlClick,
|
|
25292
25328
|
onPointerup: onControlMouseup,
|
|
25293
25329
|
onPointerdown: onUpControlMousedown,
|
|
25294
|
-
onPointercancel:
|
|
25330
|
+
onPointercancel: onControlMouseup
|
|
25295
25331
|
}
|
|
25296
25332
|
};
|
|
25297
25333
|
const decrementSlotProps = {
|
|
@@ -25299,7 +25335,7 @@ const VNumberInput = genericComponent()({
|
|
|
25299
25335
|
onClick: onControlClick,
|
|
25300
25336
|
onPointerup: onControlMouseup,
|
|
25301
25337
|
onPointerdown: onDownControlMousedown,
|
|
25302
|
-
onPointercancel:
|
|
25338
|
+
onPointercancel: onControlMouseup
|
|
25303
25339
|
}
|
|
25304
25340
|
};
|
|
25305
25341
|
watch(() => props.precision, () => formatInputValue());
|
|
@@ -25379,7 +25415,6 @@ const VNumberInput = genericComponent()({
|
|
|
25379
25415
|
const el = e.currentTarget;
|
|
25380
25416
|
el?.releasePointerCapture(e.pointerId);
|
|
25381
25417
|
e.preventDefault();
|
|
25382
|
-
e.stopPropagation();
|
|
25383
25418
|
holdStop();
|
|
25384
25419
|
}
|
|
25385
25420
|
function onUpControlMousedown(e) {
|
|
@@ -25396,11 +25431,6 @@ const VNumberInput = genericComponent()({
|
|
|
25396
25431
|
e.stopPropagation();
|
|
25397
25432
|
holdStart('down');
|
|
25398
25433
|
}
|
|
25399
|
-
function onControlPointerCancel(e) {
|
|
25400
|
-
const el = e.currentTarget;
|
|
25401
|
-
el?.releasePointerCapture(e.pointerId);
|
|
25402
|
-
holdStop();
|
|
25403
|
-
}
|
|
25404
25434
|
function clampModel() {
|
|
25405
25435
|
if (controlsDisabled.value) return;
|
|
25406
25436
|
if (!vTextFieldRef.value) return;
|
|
@@ -25450,7 +25480,7 @@ const VNumberInput = genericComponent()({
|
|
|
25450
25480
|
"onClick": onControlClick,
|
|
25451
25481
|
"onPointerdown": onUpControlMousedown,
|
|
25452
25482
|
"onPointerup": onControlMouseup,
|
|
25453
|
-
"onPointercancel":
|
|
25483
|
+
"onPointercancel": onControlMouseup,
|
|
25454
25484
|
"size": controlNodeSize.value,
|
|
25455
25485
|
"tabindex": "-1"
|
|
25456
25486
|
}, null) : createVNode(VDefaultsProvider, {
|
|
@@ -25480,7 +25510,7 @@ const VNumberInput = genericComponent()({
|
|
|
25480
25510
|
"onClick": onControlClick,
|
|
25481
25511
|
"onPointerdown": onDownControlMousedown,
|
|
25482
25512
|
"onPointerup": onControlMouseup,
|
|
25483
|
-
"onPointercancel":
|
|
25513
|
+
"onPointercancel": onControlMouseup,
|
|
25484
25514
|
"size": controlNodeSize.value,
|
|
25485
25515
|
"tabindex": "-1"
|
|
25486
25516
|
}, null) : createVNode(VDefaultsProvider, {
|
|
@@ -25627,6 +25657,21 @@ const VOtpInput = genericComponent()({
|
|
|
25627
25657
|
const contentRef = ref();
|
|
25628
25658
|
const inputRef = ref([]);
|
|
25629
25659
|
const current = computed(() => inputRef.value[focusIndex.value]);
|
|
25660
|
+
const intersectScope = effectScope();
|
|
25661
|
+
intersectScope.run(() => {
|
|
25662
|
+
const {
|
|
25663
|
+
intersectionRef,
|
|
25664
|
+
isIntersecting
|
|
25665
|
+
} = useIntersectionObserver();
|
|
25666
|
+
watch(isIntersecting, v => {
|
|
25667
|
+
if (!v) return;
|
|
25668
|
+
intersectionRef.value?.focus();
|
|
25669
|
+
intersectScope.stop();
|
|
25670
|
+
});
|
|
25671
|
+
watchEffect(() => {
|
|
25672
|
+
intersectionRef.value = inputRef.value[0];
|
|
25673
|
+
});
|
|
25674
|
+
});
|
|
25630
25675
|
function onInput() {
|
|
25631
25676
|
// The maxlength attribute doesn't work for the number type input, so the text type is used.
|
|
25632
25677
|
// The following logic simulates the behavior of a number input.
|
|
@@ -28373,6 +28418,9 @@ const VTextarea = genericComponent()({
|
|
|
28373
28418
|
focus,
|
|
28374
28419
|
blur
|
|
28375
28420
|
} = useFocus(props);
|
|
28421
|
+
const {
|
|
28422
|
+
onIntersect
|
|
28423
|
+
} = useAutofocus(props);
|
|
28376
28424
|
const counterValue = computed(() => {
|
|
28377
28425
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : (model.value || '').toString().length;
|
|
28378
28426
|
});
|
|
@@ -28381,10 +28429,6 @@ const VTextarea = genericComponent()({
|
|
|
28381
28429
|
if (!props.counter || typeof props.counter !== 'number' && typeof props.counter !== 'string') return undefined;
|
|
28382
28430
|
return props.counter;
|
|
28383
28431
|
});
|
|
28384
|
-
function onIntersect(isIntersecting, entries) {
|
|
28385
|
-
if (!props.autofocus || !isIntersecting) return;
|
|
28386
|
-
entries[0].target?.focus?.();
|
|
28387
|
-
}
|
|
28388
28432
|
const vInputRef = ref();
|
|
28389
28433
|
const vFieldRef = ref();
|
|
28390
28434
|
const controlHeight = shallowRef('');
|
|
@@ -29464,7 +29508,7 @@ function createVuetify$1() {
|
|
|
29464
29508
|
};
|
|
29465
29509
|
});
|
|
29466
29510
|
}
|
|
29467
|
-
const version$1 = "3.8.
|
|
29511
|
+
const version$1 = "3.8.11";
|
|
29468
29512
|
createVuetify$1.version = version$1;
|
|
29469
29513
|
|
|
29470
29514
|
// Vue's inject() can only be used in setup
|
|
@@ -29489,7 +29533,7 @@ const createVuetify = function () {
|
|
|
29489
29533
|
...options
|
|
29490
29534
|
});
|
|
29491
29535
|
};
|
|
29492
|
-
const version = "3.8.
|
|
29536
|
+
const version = "3.8.11";
|
|
29493
29537
|
createVuetify.version = version;
|
|
29494
29538
|
|
|
29495
29539
|
export { index as blueprints, components, createVuetify, directives, useDate, useDefaults, useDisplay, useGoTo, useLayout, useLocale, useRtl, useTheme, version };
|