@vuetify/nightly 3.6.13-3.7.0-beta.0.0-dev.2024-07-12 → 3.6.13-3.7.0-beta.0.0-dev.2024-07-25
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/CHANGELOG.md +0 -13
- package/dist/json/attributes.json +30 -22
- package/dist/json/importMap-labs.json +18 -18
- package/dist/json/importMap.json +152 -152
- package/dist/json/tags.json +2 -0
- package/dist/json/web-types.json +53 -42
- package/dist/vuetify-labs.css +1255 -1257
- package/dist/vuetify-labs.d.ts +12304 -12192
- package/dist/vuetify-labs.esm.js +118 -68
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +118 -68
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1293 -1295
- package/dist/vuetify.d.ts +10496 -10404
- package/dist/vuetify.esm.js +110 -64
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +110 -64
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1078 -1080
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/index.d.mts +55 -55
- package/lib/components/VAppBar/VAppBar.mjs.map +1 -1
- package/lib/components/VAppBar/index.d.mts +169 -169
- package/lib/components/VAutocomplete/VAutocomplete.mjs +15 -8
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +615 -609
- package/lib/components/VAvatar/index.d.mts +36 -36
- package/lib/components/VBadge/index.d.mts +58 -58
- package/lib/components/VBanner/index.d.mts +59 -59
- package/lib/components/VBottomNavigation/index.d.mts +58 -58
- package/lib/components/VBottomSheet/index.d.mts +118 -118
- package/lib/components/VBreadcrumbs/index.d.mts +34 -34
- package/lib/components/VBtn/VBtn.css +3 -0
- package/lib/components/VBtn/VBtn.sass +3 -0
- package/lib/components/VBtn/index.d.mts +107 -107
- package/lib/components/VBtnGroup/index.d.mts +23 -23
- package/lib/components/VBtnToggle/index.d.mts +40 -40
- package/lib/components/VCard/index.d.mts +93 -93
- package/lib/components/VCarousel/index.d.mts +128 -128
- package/lib/components/VCheckbox/index.d.mts +174 -168
- package/lib/components/VChip/index.d.mts +86 -86
- package/lib/components/VChipGroup/index.d.mts +46 -46
- package/lib/components/VColorPicker/index.d.mts +96 -96
- package/lib/components/VCombobox/VCombobox.mjs +15 -8
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +615 -609
- package/lib/components/VConfirmEdit/index.d.mts +2 -2
- package/lib/components/VCounter/index.d.mts +27 -27
- package/lib/components/VDataIterator/index.d.mts +51 -50
- package/lib/components/VDataTable/VDataTable.mjs +10 -3
- package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.mjs +6 -2
- package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.mjs +10 -3
- package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/components/VDataTable/composables/group.mjs +2 -1
- package/lib/components/VDataTable/composables/group.mjs.map +1 -1
- package/lib/components/VDataTable/composables/sort.mjs +4 -4
- package/lib/components/VDataTable/composables/sort.mjs.map +1 -1
- package/lib/components/VDataTable/index.d.mts +275 -274
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +3 -0
- package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/components/VDatePicker/index.d.mts +134 -134
- package/lib/components/VDialog/index.d.mts +353 -353
- package/lib/components/VDivider/index.d.mts +15 -15
- package/lib/components/VEmptyState/index.d.mts +47 -47
- package/lib/components/VExpansionPanel/index.d.mts +134 -134
- package/lib/components/VFab/index.d.mts +227 -227
- package/lib/components/VField/VField.css +6 -11
- package/lib/components/VField/VField.mjs +7 -5
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VField/VField.sass +2 -6
- package/lib/components/VField/index.d.mts +58 -52
- package/lib/components/VFileInput/index.d.mts +255 -249
- package/lib/components/VFooter/index.d.mts +50 -50
- package/lib/components/VForm/index.d.mts +9 -9
- package/lib/components/VGrid/index.d.mts +150 -150
- package/lib/components/VIcon/index.d.mts +24 -24
- package/lib/components/VImg/index.d.mts +85 -85
- package/lib/components/VInfiniteScroll/index.d.mts +22 -22
- package/lib/components/VInput/VInput.css +5 -5
- package/lib/components/VInput/VInput.mjs +4 -1
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/VInput.sass +1 -1
- package/lib/components/VInput/index.d.mts +61 -55
- package/lib/components/VItemGroup/index.d.mts +17 -17
- package/lib/components/VLabel/index.d.mts +8 -8
- package/lib/components/VLayout/index.d.mts +36 -36
- package/lib/components/VLazy/index.d.mts +31 -31
- package/lib/components/VList/index.d.mts +178 -178
- package/lib/components/VLocaleProvider/index.d.mts +7 -7
- package/lib/components/VMain/index.d.mts +10 -10
- package/lib/components/VMenu/VMenu.mjs +7 -5
- package/lib/components/VMenu/VMenu.mjs.map +1 -1
- package/lib/components/VMenu/index.d.mts +396 -396
- package/lib/components/VMessages/index.d.mts +20 -20
- package/lib/components/VNavigationDrawer/index.d.mts +72 -72
- package/lib/components/VNavigationDrawer/sticky.mjs.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.mjs +1 -1
- package/lib/components/VOtpInput/VOtpInput.mjs.map +1 -1
- package/lib/components/VOtpInput/index.d.mts +88 -88
- package/lib/components/VOverlay/index.d.mts +97 -97
- package/lib/components/VOverlay/locationStrategies.mjs +0 -6
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VPagination/index.d.mts +55 -55
- package/lib/components/VParallax/index.d.mts +7 -7
- package/lib/components/VProgressCircular/index.d.mts +24 -24
- package/lib/components/VProgressLinear/index.d.mts +52 -52
- package/lib/components/VRadio/index.d.mts +41 -41
- package/lib/components/VRadioGroup/index.d.mts +105 -99
- package/lib/components/VRangeSlider/index.d.mts +102 -96
- package/lib/components/VRating/index.d.mts +22 -22
- package/lib/components/VResponsive/index.d.mts +23 -23
- package/lib/components/VSelect/VSelect.mjs +15 -13
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +615 -609
- package/lib/components/VSelect/useScrolling.mjs +3 -3
- package/lib/components/VSelect/useScrolling.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.mts +43 -43
- package/lib/components/VSelectionControlGroup/index.d.mts +39 -39
- package/lib/components/VSheet/index.d.mts +34 -34
- package/lib/components/VSkeletonLoader/index.d.mts +17 -17
- package/lib/components/VSlideGroup/index.d.mts +33 -33
- package/lib/components/VSlider/index.d.mts +95 -89
- package/lib/components/VSnackbar/index.d.mts +411 -411
- package/lib/components/VSparkline/index.d.mts +38 -38
- package/lib/components/VSpeedDial/index.d.mts +176 -176
- package/lib/components/VStepper/index.d.mts +119 -119
- package/lib/components/VSwitch/index.d.mts +108 -102
- package/lib/components/VSystemBar/index.d.mts +39 -39
- package/lib/components/VTable/index.d.mts +4 -4
- package/lib/components/VTabs/index.d.mts +512 -512
- package/lib/components/VTextField/VTextField.mjs +1 -1
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.mts +421 -415
- package/lib/components/VTextarea/VTextarea.mjs +5 -5
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.mts +359 -344
- package/lib/components/VTimeline/index.d.mts +26 -26
- package/lib/components/VToolbar/index.d.mts +53 -53
- package/lib/components/VTooltip/index.d.mts +424 -424
- package/lib/components/VValidation/index.d.mts +19 -19
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs +2 -0
- package/lib/components/VVirtualScroll/VVirtualScroll.mjs.map +1 -1
- package/lib/components/VVirtualScroll/index.d.mts +13 -10
- package/lib/components/VWindow/index.d.mts +31 -31
- package/lib/components/index.d.mts +10657 -10566
- package/lib/components/transitions/index.d.mts +200 -200
- package/lib/composables/nested/nested.mjs +0 -1
- package/lib/composables/nested/nested.mjs.map +1 -1
- package/lib/composables/virtual.mjs +1 -0
- package/lib/composables/virtual.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +81 -80
- package/lib/labs/VCalendar/index.d.mts +52 -52
- package/lib/labs/VDateInput/VDateInput.mjs +6 -3
- package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
- package/lib/labs/VDateInput/index.d.mts +256 -250
- package/lib/labs/VNumberInput/index.d.mts +247 -241
- package/lib/labs/VPicker/index.d.mts +45 -45
- package/lib/labs/VSnackbarQueue/index.d.mts +611 -611
- package/lib/labs/VStepperVertical/index.d.mts +212 -212
- package/lib/labs/VTimePicker/VTimePickerClock.mjs +0 -1
- package/lib/labs/VTimePicker/VTimePickerClock.mjs.map +1 -1
- package/lib/labs/VTimePicker/VTimePickerControls.mjs +2 -1
- package/lib/labs/VTimePicker/VTimePickerControls.mjs.map +1 -1
- package/lib/labs/VTimePicker/index.d.mts +131 -122
- package/lib/labs/VTreeview/index.d.mts +199 -199
- package/lib/labs/components.d.mts +1754 -1733
- package/lib/util/helpers.mjs +5 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +9 -4
package/dist/vuetify-labs.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.6.13-3.7.0-beta.0.0-dev.2024-07-
|
2
|
+
* Vuetify v3.6.13-3.7.0-beta.0.0-dev.2024-07-25
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -579,6 +579,11 @@
|
|
579
579
|
});
|
580
580
|
return fn;
|
581
581
|
}
|
582
|
+
function checkPrintable(e) {
|
583
|
+
const isPrintableChar = e.key.length === 1;
|
584
|
+
const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
|
585
|
+
return isPrintableChar && noModifier;
|
586
|
+
}
|
582
587
|
|
583
588
|
// Utilities
|
584
589
|
const block = ['top', 'bottom'];
|
@@ -6821,7 +6826,10 @@
|
|
6821
6826
|
const makeVInputProps = propsFactory({
|
6822
6827
|
id: String,
|
6823
6828
|
appendIcon: IconValue,
|
6824
|
-
centerAffix:
|
6829
|
+
centerAffix: {
|
6830
|
+
type: Boolean,
|
6831
|
+
default: true
|
6832
|
+
},
|
6825
6833
|
prependIcon: IconValue,
|
6826
6834
|
hideDetails: [Boolean, String],
|
6827
6835
|
hideSpinButtons: Boolean,
|
@@ -8571,7 +8579,6 @@
|
|
8571
8579
|
children.value.set(parent, list.filter(child => child !== id));
|
8572
8580
|
}
|
8573
8581
|
parents.value.delete(id);
|
8574
|
-
opened.value.delete(id);
|
8575
8582
|
},
|
8576
8583
|
open: (id, value, event) => {
|
8577
8584
|
vm.emit('click:open', {
|
@@ -9745,12 +9752,6 @@
|
|
9745
9752
|
// el.style.removeProperty('max-width')
|
9746
9753
|
// el.style.removeProperty('max-height')
|
9747
9754
|
|
9748
|
-
if (isRtl) {
|
9749
|
-
el.style.removeProperty('left');
|
9750
|
-
} else {
|
9751
|
-
el.style.removeProperty('right');
|
9752
|
-
}
|
9753
|
-
|
9754
9755
|
/* eslint-disable-next-line sonarjs/prefer-immediate-return */
|
9755
9756
|
const contentBox = nullifyTransforms(el);
|
9756
9757
|
if (isRtl) {
|
@@ -11142,23 +11143,25 @@
|
|
11142
11143
|
const id = vue.computed(() => props.id || `v-menu-${uid}`);
|
11143
11144
|
const overlay = vue.ref();
|
11144
11145
|
const parent = vue.inject(VMenuSymbol, null);
|
11145
|
-
const openChildren = vue.shallowRef(
|
11146
|
+
const openChildren = vue.shallowRef(new Set());
|
11146
11147
|
vue.provide(VMenuSymbol, {
|
11147
11148
|
register() {
|
11148
|
-
|
11149
|
+
openChildren.value.add(uid);
|
11149
11150
|
},
|
11150
11151
|
unregister() {
|
11151
|
-
|
11152
|
+
openChildren.value.delete(uid);
|
11152
11153
|
},
|
11153
11154
|
closeParents(e) {
|
11154
11155
|
setTimeout(() => {
|
11155
|
-
if (!openChildren.value && !props.persistent && (e == null || e && !isClickInsideElement(e, overlay.value.contentEl))) {
|
11156
|
+
if (!openChildren.value.size && !props.persistent && (e == null || e && !isClickInsideElement(e, overlay.value.contentEl))) {
|
11156
11157
|
isActive.value = false;
|
11157
11158
|
parent?.closeParents();
|
11158
11159
|
}
|
11159
11160
|
}, 40);
|
11160
11161
|
}
|
11161
11162
|
});
|
11163
|
+
vue.onBeforeUnmount(() => parent?.unregister());
|
11164
|
+
vue.onDeactivated(() => isActive.value = false);
|
11162
11165
|
async function onFocusIn(e) {
|
11163
11166
|
const before = e.relatedTarget;
|
11164
11167
|
const after = e.target;
|
@@ -11341,7 +11344,10 @@
|
|
11341
11344
|
default: '$clear'
|
11342
11345
|
},
|
11343
11346
|
active: Boolean,
|
11344
|
-
centerAffix:
|
11347
|
+
centerAffix: {
|
11348
|
+
type: Boolean,
|
11349
|
+
default: undefined
|
11350
|
+
},
|
11345
11351
|
color: String,
|
11346
11352
|
baseColor: String,
|
11347
11353
|
dirty: Boolean,
|
@@ -11408,9 +11414,8 @@
|
|
11408
11414
|
const {
|
11409
11415
|
rtlClasses
|
11410
11416
|
} = useRtl();
|
11411
|
-
const isSingleLine = vue.computed(() => props.singleLine || props.centerAffix);
|
11412
11417
|
const isActive = vue.computed(() => props.dirty || props.active);
|
11413
|
-
const hasLabel = vue.computed(() => !
|
11418
|
+
const hasLabel = vue.computed(() => !props.singleLine && !!(props.label || slots.label));
|
11414
11419
|
const uid = getUid();
|
11415
11420
|
const id = vue.computed(() => props.id || `input-${uid}`);
|
11416
11421
|
const messagesId = vue.computed(() => `${id.value}-messages`);
|
@@ -11499,7 +11504,7 @@
|
|
11499
11504
|
"class": ['v-field', {
|
11500
11505
|
'v-field--active': isActive.value,
|
11501
11506
|
'v-field--appended': hasAppend,
|
11502
|
-
'v-field--center-affix': props.centerAffix,
|
11507
|
+
'v-field--center-affix': props.centerAffix ?? !isPlainOrUnderlined.value,
|
11503
11508
|
'v-field--disabled': props.disabled,
|
11504
11509
|
'v-field--dirty': props.dirty,
|
11505
11510
|
'v-field--error': props.error,
|
@@ -11508,7 +11513,7 @@
|
|
11508
11513
|
'v-field--persistent-clear': props.persistentClear,
|
11509
11514
|
'v-field--prepended': hasPrepend,
|
11510
11515
|
'v-field--reverse': props.reverse,
|
11511
|
-
'v-field--single-line':
|
11516
|
+
'v-field--single-line': props.singleLine,
|
11512
11517
|
'v-field--no-label': !label(),
|
11513
11518
|
[`v-field--variant-${props.variant}`]: true
|
11514
11519
|
}, themeClasses.value, backgroundColorClasses.value, focusClasses.value, loaderClasses.value, roundedClasses.value, rtlClasses.value, props.class],
|
@@ -11743,6 +11748,7 @@
|
|
11743
11748
|
}, props.class],
|
11744
11749
|
"style": props.style
|
11745
11750
|
}, rootAttrs, inputProps, {
|
11751
|
+
"centerAffix": !isPlainOrUnderlined.value,
|
11746
11752
|
"focused": isFocused.value
|
11747
11753
|
}), {
|
11748
11754
|
...slots,
|
@@ -11768,7 +11774,6 @@
|
|
11768
11774
|
"dirty": isDirty.value || props.dirty,
|
11769
11775
|
"disabled": isDisabled.value,
|
11770
11776
|
"focused": isFocused.value,
|
11771
|
-
"centerAffix": props.centerAffix,
|
11772
11777
|
"error": isValid.value === false
|
11773
11778
|
}), {
|
11774
11779
|
...slots,
|
@@ -12068,6 +12073,7 @@
|
|
12068
12073
|
deep: true
|
12069
12074
|
});
|
12070
12075
|
return {
|
12076
|
+
calculateVisibleItems,
|
12071
12077
|
containerRef,
|
12072
12078
|
markerRef,
|
12073
12079
|
computedItems,
|
@@ -12131,6 +12137,7 @@
|
|
12131
12137
|
dimensionStyles
|
12132
12138
|
} = useDimension(props);
|
12133
12139
|
const {
|
12140
|
+
calculateVisibleItems,
|
12134
12141
|
containerRef,
|
12135
12142
|
markerRef,
|
12136
12143
|
handleScroll,
|
@@ -12202,6 +12209,7 @@
|
|
12202
12209
|
}, [children])]);
|
12203
12210
|
});
|
12204
12211
|
return {
|
12212
|
+
calculateVisibleItems,
|
12205
12213
|
scrollToIndex
|
12206
12214
|
};
|
12207
12215
|
}
|
@@ -12270,9 +12278,9 @@
|
|
12270
12278
|
}
|
12271
12279
|
}
|
12272
12280
|
return {
|
12273
|
-
onListScroll,
|
12274
|
-
onListKeydown
|
12275
|
-
};
|
12281
|
+
onScrollPassive: onListScroll,
|
12282
|
+
onKeydown: onListKeydown
|
12283
|
+
}; // typescript doesn't know about vue's event merging
|
12276
12284
|
}
|
12277
12285
|
|
12278
12286
|
// Types
|
@@ -12347,7 +12355,7 @@
|
|
12347
12355
|
const menu = vue.computed({
|
12348
12356
|
get: () => _menu.value,
|
12349
12357
|
set: v => {
|
12350
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
|
12358
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
12351
12359
|
_menu.value = v;
|
12352
12360
|
}
|
12353
12361
|
});
|
@@ -12386,10 +12394,7 @@
|
|
12386
12394
|
};
|
12387
12395
|
});
|
12388
12396
|
const listRef = vue.ref();
|
12389
|
-
const
|
12390
|
-
onListScroll,
|
12391
|
-
onListKeydown
|
12392
|
-
} = useScrolling(listRef, vTextFieldRef);
|
12397
|
+
const listEvents = useScrolling(listRef, vTextFieldRef);
|
12393
12398
|
function onClear(e) {
|
12394
12399
|
if (props.openOnClear) {
|
12395
12400
|
menu.value = true;
|
@@ -12399,6 +12404,11 @@
|
|
12399
12404
|
if (menuDisabled.value) return;
|
12400
12405
|
menu.value = !menu.value;
|
12401
12406
|
}
|
12407
|
+
function onListKeydown(e) {
|
12408
|
+
if (checkPrintable(e)) {
|
12409
|
+
onKeydown(e);
|
12410
|
+
}
|
12411
|
+
}
|
12402
12412
|
function onKeydown(e) {
|
12403
12413
|
if (!e.key || props.readonly || form?.isReadonly.value) return;
|
12404
12414
|
if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
|
@@ -12419,11 +12429,6 @@
|
|
12419
12429
|
// html select hotkeys
|
12420
12430
|
const KEYBOARD_LOOKUP_THRESHOLD = 1000; // milliseconds
|
12421
12431
|
|
12422
|
-
function checkPrintable(e) {
|
12423
|
-
const isPrintableChar = e.key.length === 1;
|
12424
|
-
const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
|
12425
|
-
return isPrintableChar && noModifier;
|
12426
|
-
}
|
12427
12432
|
if (props.multiple || !checkPrintable(e)) return;
|
12428
12433
|
const now = performance.now();
|
12429
12434
|
if (now - keyboardLookupLastTime > KEYBOARD_LOOKUP_THRESHOLD) {
|
@@ -12468,6 +12473,11 @@
|
|
12468
12473
|
menu.value = false;
|
12469
12474
|
}
|
12470
12475
|
}
|
12476
|
+
function onAfterEnter() {
|
12477
|
+
if (props.eager) {
|
12478
|
+
vVirtualScrollRef.value?.calculateVisibleItems();
|
12479
|
+
}
|
12480
|
+
}
|
12471
12481
|
function onAfterLeave() {
|
12472
12482
|
if (isFocused.value) {
|
12473
12483
|
vTextFieldRef.value?.focus();
|
@@ -12546,6 +12556,7 @@
|
|
12546
12556
|
"openOnClick": false,
|
12547
12557
|
"closeOnContentClick": false,
|
12548
12558
|
"transition": props.transition,
|
12559
|
+
"onAfterEnter": onAfterEnter,
|
12549
12560
|
"onAfterLeave": onAfterLeave
|
12550
12561
|
}, computedMenuProps.value), {
|
12551
12562
|
default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
|
@@ -12555,11 +12566,10 @@
|
|
12555
12566
|
"onMousedown": e => e.preventDefault(),
|
12556
12567
|
"onKeydown": onListKeydown,
|
12557
12568
|
"onFocusin": onFocusin,
|
12558
|
-
"onScrollPassive": onListScroll,
|
12559
12569
|
"tabindex": "-1",
|
12560
12570
|
"aria-live": "polite",
|
12561
12571
|
"color": props.itemColor ?? props.color
|
12562
|
-
}, props.listProps), {
|
12572
|
+
}, listEvents, props.listProps), {
|
12563
12573
|
default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
|
12564
12574
|
"title": t(props.noDataText)
|
12565
12575
|
}, null)), vue.createVNode(VVirtualScroll, {
|
@@ -12854,7 +12864,7 @@
|
|
12854
12864
|
const menu = vue.computed({
|
12855
12865
|
get: () => _menu.value,
|
12856
12866
|
set: v => {
|
12857
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
|
12867
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
12858
12868
|
_menu.value = v;
|
12859
12869
|
}
|
12860
12870
|
});
|
@@ -12898,10 +12908,7 @@
|
|
12898
12908
|
});
|
12899
12909
|
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
|
12900
12910
|
const listRef = vue.ref();
|
12901
|
-
const
|
12902
|
-
onListScroll,
|
12903
|
-
onListKeydown
|
12904
|
-
} = useScrolling(listRef, vTextFieldRef);
|
12911
|
+
const listEvents = useScrolling(listRef, vTextFieldRef);
|
12905
12912
|
function onClear(e) {
|
12906
12913
|
if (props.openOnClear) {
|
12907
12914
|
menu.value = true;
|
@@ -12920,6 +12927,11 @@
|
|
12920
12927
|
}
|
12921
12928
|
menu.value = !menu.value;
|
12922
12929
|
}
|
12930
|
+
function onListKeydown(e) {
|
12931
|
+
if (checkPrintable(e)) {
|
12932
|
+
vTextFieldRef.value?.focus();
|
12933
|
+
}
|
12934
|
+
}
|
12923
12935
|
function onKeydown(e) {
|
12924
12936
|
if (props.readonly || form?.isReadonly.value) return;
|
12925
12937
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
@@ -12984,6 +12996,11 @@
|
|
12984
12996
|
}
|
12985
12997
|
}
|
12986
12998
|
}
|
12999
|
+
function onAfterEnter() {
|
13000
|
+
if (props.eager) {
|
13001
|
+
vVirtualScrollRef.value?.calculateVisibleItems();
|
13002
|
+
}
|
13003
|
+
}
|
12987
13004
|
function onAfterLeave() {
|
12988
13005
|
if (isFocused.value) {
|
12989
13006
|
isPristine.value = true;
|
@@ -13112,6 +13129,7 @@
|
|
13112
13129
|
"openOnClick": false,
|
13113
13130
|
"closeOnContentClick": false,
|
13114
13131
|
"transition": props.transition,
|
13132
|
+
"onAfterEnter": onAfterEnter,
|
13115
13133
|
"onAfterLeave": onAfterLeave
|
13116
13134
|
}, props.menuProps), {
|
13117
13135
|
default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
|
@@ -13122,11 +13140,10 @@
|
|
13122
13140
|
"onKeydown": onListKeydown,
|
13123
13141
|
"onFocusin": onFocusin,
|
13124
13142
|
"onFocusout": onFocusout,
|
13125
|
-
"onScrollPassive": onListScroll,
|
13126
13143
|
"tabindex": "-1",
|
13127
13144
|
"aria-live": "polite",
|
13128
13145
|
"color": props.itemColor ?? props.color
|
13129
|
-
}, props.listProps), {
|
13146
|
+
}, listEvents, props.listProps), {
|
13130
13147
|
default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
|
13131
13148
|
"title": t(props.noDataText)
|
13132
13149
|
}, null)), vue.createVNode(VVirtualScroll, {
|
@@ -16687,7 +16704,7 @@
|
|
16687
16704
|
const menu = vue.computed({
|
16688
16705
|
get: () => _menu.value,
|
16689
16706
|
set: v => {
|
16690
|
-
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren) return;
|
16707
|
+
if (_menu.value && !v && vMenuRef.value?.ΨopenChildren.size) return;
|
16691
16708
|
_menu.value = v;
|
16692
16709
|
}
|
16693
16710
|
});
|
@@ -16770,10 +16787,7 @@
|
|
16770
16787
|
});
|
16771
16788
|
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || props.readonly || form?.isReadonly.value);
|
16772
16789
|
const listRef = vue.ref();
|
16773
|
-
const
|
16774
|
-
onListScroll,
|
16775
|
-
onListKeydown
|
16776
|
-
} = useScrolling(listRef, vTextFieldRef);
|
16790
|
+
const listEvents = useScrolling(listRef, vTextFieldRef);
|
16777
16791
|
function onClear(e) {
|
16778
16792
|
cleared = true;
|
16779
16793
|
if (props.openOnClear) {
|
@@ -16792,6 +16806,11 @@
|
|
16792
16806
|
}
|
16793
16807
|
menu.value = !menu.value;
|
16794
16808
|
}
|
16809
|
+
function onListKeydown(e) {
|
16810
|
+
if (checkPrintable(e)) {
|
16811
|
+
vTextFieldRef.value?.focus();
|
16812
|
+
}
|
16813
|
+
}
|
16795
16814
|
// eslint-disable-next-line complexity
|
16796
16815
|
function onKeydown(e) {
|
16797
16816
|
if (isComposingIgnoreKey(e) || props.readonly || form?.isReadonly.value) return;
|
@@ -16856,6 +16875,11 @@
|
|
16856
16875
|
}
|
16857
16876
|
}
|
16858
16877
|
}
|
16878
|
+
function onAfterEnter() {
|
16879
|
+
if (props.eager) {
|
16880
|
+
vVirtualScrollRef.value?.calculateVisibleItems();
|
16881
|
+
}
|
16882
|
+
}
|
16859
16883
|
function onAfterLeave() {
|
16860
16884
|
if (isFocused.value) {
|
16861
16885
|
isPristine.value = true;
|
@@ -16980,6 +17004,7 @@
|
|
16980
17004
|
"openOnClick": false,
|
16981
17005
|
"closeOnContentClick": false,
|
16982
17006
|
"transition": props.transition,
|
17007
|
+
"onAfterEnter": onAfterEnter,
|
16983
17008
|
"onAfterLeave": onAfterLeave
|
16984
17009
|
}, props.menuProps), {
|
16985
17010
|
default: () => [hasList && vue.createVNode(VList, vue.mergeProps({
|
@@ -16990,11 +17015,10 @@
|
|
16990
17015
|
"onKeydown": onListKeydown,
|
16991
17016
|
"onFocusin": onFocusin,
|
16992
17017
|
"onFocusout": onFocusout,
|
16993
|
-
"onScrollPassive": onListScroll,
|
16994
17018
|
"tabindex": "-1",
|
16995
17019
|
"aria-live": "polite",
|
16996
17020
|
"color": props.itemColor ?? props.color
|
16997
|
-
}, props.listProps), {
|
17021
|
+
}, listEvents, props.listProps), {
|
16998
17022
|
default: () => [slots['prepend-item']?.(), !displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? vue.createVNode(VListItem, {
|
16999
17023
|
"title": t(props.noDataText)
|
17000
17024
|
}, null)), vue.createVNode(VVirtualScroll, {
|
@@ -18109,6 +18133,7 @@
|
|
18109
18133
|
}
|
18110
18134
|
function provideGroupBy(options) {
|
18111
18135
|
const {
|
18136
|
+
disableSort,
|
18112
18137
|
groupBy,
|
18113
18138
|
sortBy
|
18114
18139
|
} = options;
|
@@ -18117,7 +18142,7 @@
|
|
18117
18142
|
return groupBy.value.map(val => ({
|
18118
18143
|
...val,
|
18119
18144
|
order: val.order ?? false
|
18120
|
-
})).concat(sortBy.value);
|
18145
|
+
})).concat(disableSort?.value ? [] : sortBy.value);
|
18121
18146
|
});
|
18122
18147
|
function isGroupOpen(group) {
|
18123
18148
|
return opened.value.has(group.id);
|
@@ -18626,7 +18651,7 @@
|
|
18626
18651
|
function useSortedItems(props, items, sortBy, options) {
|
18627
18652
|
const locale = useLocale();
|
18628
18653
|
const sortedItems = vue.computed(() => {
|
18629
|
-
if (!sortBy.value.length
|
18654
|
+
if (!sortBy.value.length) return items.value;
|
18630
18655
|
return sortItems(items.value, sortBy.value, locale.current.value, {
|
18631
18656
|
transform: options?.transform,
|
18632
18657
|
sortFunctions: {
|
@@ -18652,8 +18677,8 @@
|
|
18652
18677
|
const sortKey = sortByItems[i].key;
|
18653
18678
|
const sortOrder = sortByItems[i].order ?? 'asc';
|
18654
18679
|
if (sortOrder === false) continue;
|
18655
|
-
let sortA = a[1]
|
18656
|
-
let sortB = b[1]
|
18680
|
+
let sortA = getObjectValueByPath(a[1], sortKey);
|
18681
|
+
let sortB = getObjectValueByPath(b[1], sortKey);
|
18657
18682
|
let sortARaw = a[0].raw;
|
18658
18683
|
let sortBRaw = b[0].raw;
|
18659
18684
|
if (sortOrder === 'desc') {
|
@@ -20378,6 +20403,9 @@
|
|
20378
20403
|
page,
|
20379
20404
|
itemsPerPage
|
20380
20405
|
} = createPagination(props);
|
20406
|
+
const {
|
20407
|
+
disableSort
|
20408
|
+
} = vue.toRefs(props);
|
20381
20409
|
const {
|
20382
20410
|
columns,
|
20383
20411
|
headers,
|
@@ -20415,12 +20443,16 @@
|
|
20415
20443
|
toggleGroup
|
20416
20444
|
} = provideGroupBy({
|
20417
20445
|
groupBy,
|
20418
|
-
sortBy
|
20446
|
+
sortBy,
|
20447
|
+
disableSort
|
20419
20448
|
});
|
20420
20449
|
const {
|
20421
20450
|
sortedItems
|
20422
20451
|
} = useSortedItems(props, filteredItems, sortByWithGroups, {
|
20423
|
-
transform: item =>
|
20452
|
+
transform: item => ({
|
20453
|
+
...item.raw,
|
20454
|
+
...item.columns
|
20455
|
+
}),
|
20424
20456
|
sortFunctions,
|
20425
20457
|
sortRawFunctions
|
20426
20458
|
});
|
@@ -20558,6 +20590,9 @@
|
|
20558
20590
|
multiSort,
|
20559
20591
|
mustSort
|
20560
20592
|
} = createSort(props);
|
20593
|
+
const {
|
20594
|
+
disableSort
|
20595
|
+
} = vue.toRefs(props);
|
20561
20596
|
const {
|
20562
20597
|
columns,
|
20563
20598
|
headers,
|
@@ -20594,12 +20629,16 @@
|
|
20594
20629
|
toggleGroup
|
20595
20630
|
} = provideGroupBy({
|
20596
20631
|
groupBy,
|
20597
|
-
sortBy
|
20632
|
+
sortBy,
|
20633
|
+
disableSort
|
20598
20634
|
});
|
20599
20635
|
const {
|
20600
20636
|
sortedItems
|
20601
20637
|
} = useSortedItems(props, filteredItems, sortByWithGroups, {
|
20602
|
-
transform: item =>
|
20638
|
+
transform: item => ({
|
20639
|
+
...item.raw,
|
20640
|
+
...item.columns
|
20641
|
+
}),
|
20603
20642
|
sortFunctions,
|
20604
20643
|
sortRawFunctions
|
20605
20644
|
});
|
@@ -20783,6 +20822,9 @@
|
|
20783
20822
|
page,
|
20784
20823
|
itemsPerPage
|
20785
20824
|
} = createPagination(props);
|
20825
|
+
const {
|
20826
|
+
disableSort
|
20827
|
+
} = vue.toRefs(props);
|
20786
20828
|
const itemsLength = vue.computed(() => parseInt(props.itemsLength, 10));
|
20787
20829
|
const {
|
20788
20830
|
columns,
|
@@ -20810,7 +20852,8 @@
|
|
20810
20852
|
extractRows
|
20811
20853
|
} = provideGroupBy({
|
20812
20854
|
groupBy,
|
20813
|
-
sortBy
|
20855
|
+
sortBy,
|
20856
|
+
disableSort
|
20814
20857
|
});
|
20815
20858
|
const {
|
20816
20859
|
pageCount,
|
@@ -21574,6 +21617,9 @@
|
|
21574
21617
|
const _value = adapter.startOfDay(value);
|
21575
21618
|
if (model.value.length === 0) {
|
21576
21619
|
rangeStart.value = undefined;
|
21620
|
+
} else if (model.value.length === 1) {
|
21621
|
+
rangeStart.value = model.value[0];
|
21622
|
+
rangeStop.value = undefined;
|
21577
21623
|
}
|
21578
21624
|
if (!rangeStart.value) {
|
21579
21625
|
rangeStart.value = _value;
|
@@ -24258,7 +24304,7 @@
|
|
24258
24304
|
function onPaste(index, e) {
|
24259
24305
|
e.preventDefault();
|
24260
24306
|
e.stopPropagation();
|
24261
|
-
const clipboardText = e?.clipboardData?.getData('Text') ?? '';
|
24307
|
+
const clipboardText = e?.clipboardData?.getData('Text').slice(0, length.value) ?? '';
|
24262
24308
|
if (isValidNumber(clipboardText)) return;
|
24263
24309
|
model.value = clipboardText.split('');
|
24264
24310
|
inputRef.value?.[index].blur();
|
@@ -26803,8 +26849,8 @@
|
|
26803
26849
|
},
|
26804
26850
|
suffix: String,
|
26805
26851
|
modelModifiers: Object,
|
26806
|
-
...
|
26807
|
-
...
|
26852
|
+
...makeVInputProps(),
|
26853
|
+
...makeVFieldProps()
|
26808
26854
|
}, 'VTextarea');
|
26809
26855
|
const VTextarea = genericComponent()({
|
26810
26856
|
name: 'VTextarea',
|
@@ -26943,7 +26989,7 @@
|
|
26943
26989
|
}, props.class],
|
26944
26990
|
"style": props.style
|
26945
26991
|
}, rootAttrs, inputProps, {
|
26946
|
-
"centerAffix":
|
26992
|
+
"centerAffix": rows.value === 1 && !isPlainOrUnderlined.value,
|
26947
26993
|
"focused": isFocused.value
|
26948
26994
|
}), {
|
26949
26995
|
...slots,
|
@@ -26968,7 +27014,7 @@
|
|
26968
27014
|
}, fieldProps, {
|
26969
27015
|
"id": id.value,
|
26970
27016
|
"active": isActive.value || isDirty.value,
|
26971
|
-
"centerAffix":
|
27017
|
+
"centerAffix": rows.value === 1 && !isPlainOrUnderlined.value,
|
26972
27018
|
"dirty": isDirty.value || props.dirty,
|
26973
27019
|
"disabled": isDisabled.value,
|
26974
27020
|
"focused": isFocused.value,
|
@@ -27959,6 +28005,7 @@
|
|
27959
28005
|
}
|
27960
28006
|
return adapter.isValid(model.value) ? adapter.format(model.value, 'keyboardDate') : '';
|
27961
28007
|
});
|
28008
|
+
const isInteractive = vue.computed(() => !props.disabled && !props.readonly);
|
27962
28009
|
function onKeydown(e) {
|
27963
28010
|
if (e.key !== 'Enter') return;
|
27964
28011
|
if (!menu.value || !isFocused.value) {
|
@@ -27981,13 +28028,15 @@
|
|
27981
28028
|
const datePickerProps = VDatePicker.filterProps(omit(props, ['active']));
|
27982
28029
|
const textFieldProps = VTextField.filterProps(props);
|
27983
28030
|
return vue.createVNode(VTextField, vue.mergeProps(textFieldProps, {
|
28031
|
+
"class": props.class,
|
28032
|
+
"style": props.style,
|
27984
28033
|
"modelValue": display.value,
|
27985
|
-
"onKeydown": onKeydown,
|
28034
|
+
"onKeydown": isInteractive.value ? onKeydown : undefined,
|
27986
28035
|
"focused": menu.value || isFocused.value,
|
27987
28036
|
"onFocus": focus,
|
27988
28037
|
"onBlur": blur,
|
27989
|
-
"onClick:control": onClick,
|
27990
|
-
"onClick:prepend": onClick
|
28038
|
+
"onClick:control": isInteractive.value ? onClick : undefined,
|
28039
|
+
"onClick:prepend": isInteractive.value ? onClick : undefined
|
27991
28040
|
}), {
|
27992
28041
|
default: () => [vue.createVNode(VMenu, {
|
27993
28042
|
"modelValue": menu.value,
|
@@ -29008,6 +29057,7 @@
|
|
29008
29057
|
|
29009
29058
|
const makeVTimePickerControlsProps = propsFactory({
|
29010
29059
|
ampm: Boolean,
|
29060
|
+
ampmInTitle: Boolean,
|
29011
29061
|
ampmReadonly: Boolean,
|
29012
29062
|
color: String,
|
29013
29063
|
disabled: Boolean,
|
@@ -29092,7 +29142,7 @@
|
|
29092
29142
|
},
|
29093
29143
|
"disabled": props.disabled,
|
29094
29144
|
"text": props.second == null ? '--' : pad(props.second)
|
29095
|
-
}, null), props.ampm && vue.createVNode("div", {
|
29145
|
+
}, null), props.ampm && props.ampmInTitle && vue.createVNode("div", {
|
29096
29146
|
"class": ['v-time-picker-controls__ampm', {
|
29097
29147
|
'v-time-picker-controls__ampm--readonly': props.ampmReadonly
|
29098
29148
|
}]
|
@@ -30262,7 +30312,7 @@
|
|
30262
30312
|
goTo
|
30263
30313
|
};
|
30264
30314
|
}
|
30265
|
-
const version$1 = "3.6.13-3.7.0-beta.0.0-dev.2024-07-
|
30315
|
+
const version$1 = "3.6.13-3.7.0-beta.0.0-dev.2024-07-25";
|
30266
30316
|
createVuetify$1.version = version$1;
|
30267
30317
|
|
30268
30318
|
// Vue's inject() can only be used in setup
|
@@ -30515,7 +30565,7 @@
|
|
30515
30565
|
|
30516
30566
|
/* eslint-disable local-rules/sort-imports */
|
30517
30567
|
|
30518
|
-
const version = "3.6.13-3.7.0-beta.0.0-dev.2024-07-
|
30568
|
+
const version = "3.6.13-3.7.0-beta.0.0-dev.2024-07-25";
|
30519
30569
|
|
30520
30570
|
/* eslint-disable local-rules/sort-imports */
|
30521
30571
|
|