@vuetify/nightly 3.7.4-next.2024-11-06 → 3.7.5-dev.2024-12-03
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 +3034 -3026
- package/dist/json/importMap-labs.json +14 -14
- package/dist/json/importMap.json +138 -138
- package/dist/json/tags.json +2 -0
- package/dist/json/web-types.json +5538 -5520
- package/dist/vuetify-labs.css +25130 -23413
- package/dist/vuetify-labs.d.ts +162 -156
- package/dist/vuetify-labs.esm.js +89 -71
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +89 -71
- package/dist/vuetify-labs.min.css +4 -3
- package/dist/vuetify.css +24211 -22491
- package/dist/vuetify.d.ts +146 -140
- package/dist/vuetify.esm.js +78 -61
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +78 -61
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +4 -3
- package/dist/vuetify.min.js +40 -40
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +215 -207
- package/lib/components/VApp/VApp.css +15 -16
- package/lib/components/VAppBar/VAppBar.css +12 -14
- package/lib/components/VAutocomplete/VAutocomplete.css +85 -86
- package/lib/components/VAutocomplete/VAutocomplete.mjs +4 -4
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +16 -16
- package/lib/components/VAvatar/VAvatar.css +106 -108
- package/lib/components/VBadge/VBadge.css +77 -73
- package/lib/components/VBadge/VBadge.sass +4 -0
- package/lib/components/VBanner/VBanner.css +166 -161
- package/lib/components/VBottomNavigation/VBottomNavigation.css +63 -64
- package/lib/components/VBottomSheet/VBottomSheet.css +31 -34
- package/lib/components/VBreadcrumbs/VBreadcrumbs.css +57 -54
- package/lib/components/VBtn/VBtn.css +408 -385
- package/lib/components/VBtn/VBtn.sass +4 -4
- package/lib/components/VBtnGroup/VBtnGroup.css +64 -63
- package/lib/components/VBtnToggle/VBtnToggle.css +14 -16
- package/lib/components/VCard/VCard.css +302 -294
- package/lib/components/VCarousel/VCarousel.css +65 -63
- package/lib/components/VCarousel/VCarousel.sass +1 -1
- package/lib/components/VCheckbox/VCheckbox.css +5 -7
- package/lib/components/VChip/VChip.css +411 -378
- package/lib/components/VChip/VChip.mjs +18 -10
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.mts +13 -8
- package/lib/components/VChipGroup/VChipGroup.css +18 -19
- package/lib/components/VChipGroup/VChipGroup.mjs +2 -0
- package/lib/components/VChipGroup/VChipGroup.mjs.map +1 -1
- package/lib/components/VChipGroup/index.d.mts +5 -0
- package/lib/components/VCode/VCode.css +8 -10
- package/lib/components/VColorPicker/VColorPicker.css +22 -22
- package/lib/components/VColorPicker/VColorPickerCanvas.css +22 -24
- package/lib/components/VColorPicker/VColorPickerEdit.css +28 -29
- package/lib/components/VColorPicker/VColorPickerPreview.css +67 -69
- package/lib/components/VColorPicker/VColorPickerPreview.sass +2 -4
- package/lib/components/VColorPicker/VColorPickerSwatches.css +34 -34
- package/lib/components/VCombobox/VCombobox.css +85 -86
- package/lib/components/VCombobox/VCombobox.mjs +4 -4
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +16 -16
- package/lib/components/VConfirmEdit/VConfirmEdit.mjs +9 -7
- package/lib/components/VConfirmEdit/VConfirmEdit.mjs.map +1 -1
- package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs +1 -1
- package/lib/components/VConfirmEdit/__test__/VConfirmEdit.spec.browser.mjs.map +1 -1
- package/lib/components/VConfirmEdit/index.d.mts +3 -7
- package/lib/components/VCounter/VCounter.css +5 -7
- package/lib/components/VDataTable/VDataTable.css +186 -189
- package/lib/components/VDataTable/VDataTable.sass +10 -20
- package/lib/components/VDataTable/VDataTableFooter.css +31 -33
- package/lib/components/VDatePicker/VDatePicker.css +6 -8
- package/lib/components/VDatePicker/VDatePickerControls.css +56 -54
- package/lib/components/VDatePicker/VDatePickerHeader.css +60 -56
- package/lib/components/VDatePicker/VDatePickerHeader.mjs +2 -1
- package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.css +55 -51
- package/lib/components/VDatePicker/VDatePickerMonths.css +19 -20
- package/lib/components/VDatePicker/VDatePickerYears.css +15 -16
- package/lib/components/VDatePicker/index.d.mts +5 -5
- package/lib/components/VDialog/VDialog.css +95 -95
- package/lib/components/VDivider/VDivider.css +52 -52
- package/lib/components/VEmptyState/VEmptyState.css +67 -62
- package/lib/components/VExpansionPanel/VExpansionPanel.css +209 -203
- package/lib/components/VExpansionPanel/VExpansionPanel.sass +25 -27
- package/lib/components/VFab/VFab.css +69 -74
- package/lib/components/VFab/VFab.sass +4 -5
- package/lib/components/VField/VField.css +579 -539
- package/lib/components/VField/VField.mjs +2 -1
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VFileInput/VFileInput.css +29 -31
- package/lib/components/VFooter/VFooter.css +36 -38
- package/lib/components/VGrid/VGrid.css +592 -565
- package/lib/components/VIcon/VIcon.css +52 -51
- package/lib/components/VImg/VImg.css +51 -50
- package/lib/components/VInfiniteScroll/VInfiniteScroll.css +37 -36
- package/lib/components/VInput/VInput.css +142 -131
- package/lib/components/VItemGroup/VItemGroup.css +5 -7
- package/lib/components/VKbd/VKbd.css +11 -13
- package/lib/components/VLabel/VLabel.css +15 -16
- package/lib/components/VLayout/VLayout.css +8 -10
- package/lib/components/VLayout/VLayoutItem.css +7 -8
- package/lib/components/VList/VList.css +108 -104
- package/lib/components/VList/VList.mjs +3 -2
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/VList.sass +1 -1
- package/lib/components/VList/VListItem.css +452 -440
- package/lib/components/VList/VListItem.mjs +3 -2
- package/lib/components/VList/VListItem.mjs.map +1 -1
- package/lib/components/VList/VListItem.sass +1 -2
- package/lib/components/VList/index.d.mts +10 -10
- package/lib/components/VLocaleProvider/VLocaleProvider.css +2 -4
- package/lib/components/VMain/VMain.css +30 -32
- package/lib/components/VMenu/VMenu.css +19 -21
- package/lib/components/VMessages/VMessages.css +15 -17
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +108 -106
- package/lib/components/VOtpInput/VOtpInput.css +58 -56
- package/lib/components/VOverlay/VOverlay.css +63 -60
- package/lib/components/VOverlay/VOverlay.sass +13 -14
- package/lib/components/VPagination/VPagination.css +8 -10
- package/lib/components/VParallax/VParallax.css +6 -8
- package/lib/components/VProgressCircular/VProgressCircular.css +101 -95
- package/lib/components/VProgressLinear/VProgressLinear.css +222 -209
- package/lib/components/VRadioGroup/VRadioGroup.css +12 -14
- package/lib/components/VRating/VRating.css +53 -52
- package/lib/components/VResponsive/VResponsive.css +26 -25
- package/lib/components/VSelect/VSelect.css +52 -54
- package/lib/components/VSelect/VSelect.mjs +3 -3
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +16 -16
- package/lib/components/VSelectionControl/VSelectionControl.css +102 -100
- package/lib/components/VSelectionControlGroup/VSelectionControlGroup.css +8 -10
- package/lib/components/VSheet/VSheet.css +36 -38
- package/lib/components/VSkeletonLoader/VSkeletonLoader.css +224 -225
- package/lib/components/VSlideGroup/VSlideGroup.css +55 -53
- package/lib/components/VSlider/VSlider.css +57 -53
- package/lib/components/VSlider/VSliderThumb.css +153 -142
- package/lib/components/VSlider/VSliderTrack.css +174 -155
- package/lib/components/VSnackbar/VSnackbar.css +140 -140
- package/lib/components/VSpeedDial/VSpeedDial.css +41 -43
- package/lib/components/VStepper/VStepper.css +56 -55
- package/lib/components/VStepper/VStepper.mjs +5 -4
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VStepper/VStepperItem.css +115 -112
- package/lib/components/VStepper/VStepperItem.mjs +5 -4
- package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
- package/lib/components/VStepper/index.d.mts +51 -45
- package/lib/components/VSwitch/VSwitch.css +139 -129
- package/lib/components/VSystemBar/VSystemBar.css +43 -45
- package/lib/components/VTable/VTable.css +141 -140
- package/lib/components/VTable/VTable.sass +2 -4
- package/lib/components/VTabs/VTab.css +29 -30
- package/lib/components/VTabs/VTabs.css +65 -59
- package/lib/components/VTextField/VTextField.css +68 -65
- package/lib/components/VTextarea/VTextarea.css +39 -47
- package/lib/components/VTextarea/VTextarea.sass +2 -4
- package/lib/components/VThemeProvider/VThemeProvider.css +3 -5
- package/lib/components/VTimeline/VTimeline.css +418 -379
- package/lib/components/VToolbar/VToolbar.css +143 -136
- package/lib/components/VTooltip/VTooltip.css +21 -25
- package/lib/components/VTooltip/VTooltip.sass +6 -8
- package/lib/components/VVirtualScroll/VVirtualScroll.css +9 -11
- package/lib/components/VWindow/VWindow.css +70 -73
- package/lib/components/index.d.mts +98 -92
- package/lib/composables/form.mjs +7 -2
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/theme.mjs +4 -4
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/composables/validation.mjs +10 -12
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/directives/ripple/VRipple.css +36 -38
- package/lib/entry-bundler.mjs +1 -1
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/index.d.mts +48 -48
- package/lib/labs/VCalendar/VCalendar.css +225 -219
- package/lib/labs/VCalendar/VCalendarDay.css +32 -33
- package/lib/labs/VCalendar/VCalendarHeader.css +13 -13
- package/lib/labs/VCalendar/VCalendarInterval.css +42 -43
- package/lib/labs/VCalendar/VCalendarIntervalEvent.css +5 -7
- package/lib/labs/VCalendar/VCalendarMonthDay.css +58 -61
- package/lib/labs/VCalendar/VCalendarMonthDay.sass +2 -3
- package/lib/labs/VDateInput/VDateInput.mjs +1 -1
- package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
- package/lib/labs/VNumberInput/VNumberInput.css +38 -40
- package/lib/labs/VNumberInput/VNumberInput.mjs +7 -5
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VPicker/VPicker.css +57 -53
- package/lib/labs/VStepperVertical/index.d.mts +44 -44
- package/lib/labs/VTimePicker/VTimePicker.css +7 -9
- package/lib/labs/VTimePicker/VTimePickerClock.css +129 -126
- package/lib/labs/VTimePicker/VTimePickerControls.css +103 -102
- package/lib/labs/VTreeview/VTreeviewItem.css +15 -17
- package/lib/labs/VTreeview/VTreeviewItem.mjs +3 -4
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
- package/lib/labs/VTreeview/VTreeviewItem.sass +1 -2
- package/lib/labs/VTreeview/index.d.mts +20 -20
- package/lib/labs/components.d.mts +64 -64
- package/lib/locale/fr.mjs +1 -1
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/styles/elements/_global.sass +1 -1
- package/lib/styles/generic/_colors.scss +3 -3
- package/lib/styles/generic/_layers.scss +1 -13
- package/lib/styles/generic/_transitions.scss +32 -32
- package/lib/styles/main.css +16139 -14666
- package/lib/styles/settings/_utilities.scss +5 -0
- package/lib/styles/settings/_variables.scss +2 -1
- package/lib/styles/tools/_bootable.sass +3 -0
- package/lib/styles/tools/_border.sass +4 -4
- package/lib/styles/tools/_display.sass +10 -0
- package/lib/styles/tools/_elevation.sass +2 -2
- package/lib/styles/tools/_index.sass +2 -0
- package/lib/styles/tools/_layer.scss +2 -4
- package/lib/styles/tools/_position.sass +2 -2
- package/lib/styles/tools/_radius.sass +10 -0
- package/lib/styles/tools/_rounded.sass +2 -2
- package/lib/styles/tools/_utilities.sass +5 -1
- package/lib/styles/utilities/_elevation.scss +1 -1
- package/package.json +1 -1
package/dist/vuetify-labs.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.7.
|
2
|
+
* Vuetify v3.7.5-dev.2024-12-03
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -2431,15 +2431,15 @@
|
|
2431
2431
|
const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));
|
2432
2432
|
for (const key of colors) {
|
2433
2433
|
if (/^on-[a-z]/.test(key)) {
|
2434
|
-
createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key}))`]);
|
2434
|
+
createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
|
2435
2435
|
} else {
|
2436
|
-
createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--v-theme-${key}))`, `color: rgb(var(--v-theme-on-${key}))`]);
|
2437
|
-
createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key}))`]);
|
2436
|
+
createCssClass(bgLines, `.bg-${key}`, [`--v-theme-overlay-multiplier: var(--v-theme-${key}-overlay-multiplier)`, `background-color: rgb(var(--v-theme-${key})) !important`, `color: rgb(var(--v-theme-on-${key})) !important`]);
|
2437
|
+
createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
|
2438
2438
|
createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]);
|
2439
2439
|
}
|
2440
2440
|
}
|
2441
2441
|
lines.push(...bgLines, ...fgLines);
|
2442
|
-
return
|
2442
|
+
return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
|
2443
2443
|
});
|
2444
2444
|
function getHead() {
|
2445
2445
|
return {
|
@@ -6674,8 +6674,13 @@
|
|
6674
6674
|
resetValidation
|
6675
6675
|
};
|
6676
6676
|
}
|
6677
|
-
function useForm() {
|
6678
|
-
|
6677
|
+
function useForm(props) {
|
6678
|
+
const form = vue.inject(FormKey, null);
|
6679
|
+
return {
|
6680
|
+
...form,
|
6681
|
+
isReadonly: vue.computed(() => !!(props?.readonly ?? form?.isReadonly.value)),
|
6682
|
+
isDisabled: vue.computed(() => !!(props?.disabled ?? form?.isDisabled.value))
|
6683
|
+
};
|
6679
6684
|
}
|
6680
6685
|
|
6681
6686
|
// Composables
|
@@ -6716,17 +6721,15 @@
|
|
6716
6721
|
let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getUid();
|
6717
6722
|
const model = useProxiedModel(props, 'modelValue');
|
6718
6723
|
const validationModel = vue.computed(() => props.validationValue === undefined ? model.value : props.validationValue);
|
6719
|
-
const form = useForm();
|
6724
|
+
const form = useForm(props);
|
6720
6725
|
const internalErrorMessages = vue.ref([]);
|
6721
6726
|
const isPristine = vue.shallowRef(true);
|
6722
6727
|
const isDirty = vue.computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));
|
6723
|
-
const isDisabled = vue.computed(() => !!(props.disabled ?? form?.isDisabled.value));
|
6724
|
-
const isReadonly = vue.computed(() => !!(props.readonly ?? form?.isReadonly.value));
|
6725
6728
|
const errorMessages = vue.computed(() => {
|
6726
6729
|
return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, +props.maxErrors)) : internalErrorMessages.value;
|
6727
6730
|
});
|
6728
6731
|
const validateOn = vue.computed(() => {
|
6729
|
-
let value = (props.validateOn ?? form?.
|
6732
|
+
let value = (props.validateOn ?? form.validateOn?.value) || 'input';
|
6730
6733
|
if (value === 'lazy') value = 'input lazy';
|
6731
6734
|
if (value === 'eager') value = 'input eager';
|
6732
6735
|
const set = new Set(value?.split(' ') ?? []);
|
@@ -6752,14 +6755,14 @@
|
|
6752
6755
|
return {
|
6753
6756
|
[`${name}--error`]: isValid.value === false,
|
6754
6757
|
[`${name}--dirty`]: isDirty.value,
|
6755
|
-
[`${name}--disabled`]: isDisabled.value,
|
6756
|
-
[`${name}--readonly`]: isReadonly.value
|
6758
|
+
[`${name}--disabled`]: form.isDisabled.value,
|
6759
|
+
[`${name}--readonly`]: form.isReadonly.value
|
6757
6760
|
};
|
6758
6761
|
});
|
6759
6762
|
const vm = getCurrentInstance('validation');
|
6760
6763
|
const uid = vue.computed(() => props.name ?? vue.unref(id));
|
6761
6764
|
vue.onBeforeMount(() => {
|
6762
|
-
form?.
|
6765
|
+
form.register?.({
|
6763
6766
|
id: uid.value,
|
6764
6767
|
vm,
|
6765
6768
|
validate,
|
@@ -6768,13 +6771,13 @@
|
|
6768
6771
|
});
|
6769
6772
|
});
|
6770
6773
|
vue.onBeforeUnmount(() => {
|
6771
|
-
form?.
|
6774
|
+
form.unregister?.(uid.value);
|
6772
6775
|
});
|
6773
6776
|
vue.onMounted(async () => {
|
6774
6777
|
if (!validateOn.value.lazy) {
|
6775
6778
|
await validate(!validateOn.value.eager);
|
6776
6779
|
}
|
6777
|
-
form?.
|
6780
|
+
form.update?.(uid.value, isValid.value, errorMessages.value);
|
6778
6781
|
});
|
6779
6782
|
useToggleScope(() => validateOn.value.input || validateOn.value.invalidInput && isValid.value === false, () => {
|
6780
6783
|
vue.watch(validationModel, () => {
|
@@ -6794,7 +6797,7 @@
|
|
6794
6797
|
});
|
6795
6798
|
});
|
6796
6799
|
vue.watch([isValid, errorMessages], () => {
|
6797
|
-
form?.
|
6800
|
+
form.update?.(uid.value, isValid.value, errorMessages.value);
|
6798
6801
|
});
|
6799
6802
|
async function reset() {
|
6800
6803
|
model.value = null;
|
@@ -6835,8 +6838,8 @@
|
|
6835
6838
|
return {
|
6836
6839
|
errorMessages,
|
6837
6840
|
isDirty,
|
6838
|
-
isDisabled,
|
6839
|
-
isReadonly,
|
6841
|
+
isDisabled: form.isDisabled,
|
6842
|
+
isReadonly: form.isReadonly,
|
6840
6843
|
isPristine,
|
6841
6844
|
isValid,
|
6842
6845
|
isValidating,
|
@@ -7755,6 +7758,7 @@
|
|
7755
7758
|
|
7756
7759
|
const VChipGroupSymbol = Symbol.for('vuetify:v-chip-group');
|
7757
7760
|
const makeVChipGroupProps = propsFactory({
|
7761
|
+
baseColor: String,
|
7758
7762
|
column: Boolean,
|
7759
7763
|
filter: Boolean,
|
7760
7764
|
valueComparator: {
|
@@ -7794,6 +7798,7 @@
|
|
7794
7798
|
} = useGroup(props, VChipGroupSymbol);
|
7795
7799
|
provideDefaults({
|
7796
7800
|
VChip: {
|
7801
|
+
baseColor: vue.toRef(props, 'baseColor'),
|
7797
7802
|
color: vue.toRef(props, 'color'),
|
7798
7803
|
disabled: vue.toRef(props, 'disabled'),
|
7799
7804
|
filter: vue.toRef(props, 'filter'),
|
@@ -7827,6 +7832,7 @@
|
|
7827
7832
|
activeClass: String,
|
7828
7833
|
appendAvatar: String,
|
7829
7834
|
appendIcon: IconValue,
|
7835
|
+
baseColor: String,
|
7830
7836
|
closable: Boolean,
|
7831
7837
|
closeIcon: {
|
7832
7838
|
type: IconValue,
|
@@ -7839,7 +7845,7 @@
|
|
7839
7845
|
draggable: Boolean,
|
7840
7846
|
filter: Boolean,
|
7841
7847
|
filterIcon: {
|
7842
|
-
type:
|
7848
|
+
type: IconValue,
|
7843
7849
|
default: '$complete'
|
7844
7850
|
},
|
7845
7851
|
label: Boolean,
|
@@ -7901,11 +7907,6 @@
|
|
7901
7907
|
const {
|
7902
7908
|
borderClasses
|
7903
7909
|
} = useBorder(props);
|
7904
|
-
const {
|
7905
|
-
colorClasses,
|
7906
|
-
colorStyles,
|
7907
|
-
variantClasses
|
7908
|
-
} = useVariant(props);
|
7909
7910
|
const {
|
7910
7911
|
densityClasses
|
7911
7912
|
} = useDensity(props);
|
@@ -7935,6 +7936,18 @@
|
|
7935
7936
|
emit('click:close', e);
|
7936
7937
|
}
|
7937
7938
|
}));
|
7939
|
+
const variantProps = vue.computed(() => {
|
7940
|
+
const showColor = !group || group.isSelected.value;
|
7941
|
+
return {
|
7942
|
+
color: showColor ? props.color ?? props.baseColor : props.baseColor,
|
7943
|
+
variant: props.variant
|
7944
|
+
};
|
7945
|
+
});
|
7946
|
+
const {
|
7947
|
+
colorClasses,
|
7948
|
+
colorStyles,
|
7949
|
+
variantClasses
|
7950
|
+
} = useVariant(variantProps);
|
7938
7951
|
function onClick(e) {
|
7939
7952
|
emit('click', e);
|
7940
7953
|
if (!isClickable.value) return;
|
@@ -7955,16 +7968,16 @@
|
|
7955
7968
|
const hasFilter = !!(slots.filter || props.filter) && group;
|
7956
7969
|
const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);
|
7957
7970
|
const hasPrepend = !!(hasPrependMedia || slots.prepend);
|
7958
|
-
const hasColor = !group || group.isSelected.value;
|
7959
7971
|
return isActive.value && vue.withDirectives(vue.createVNode(Tag, vue.mergeProps({
|
7960
7972
|
"class": ['v-chip', {
|
7961
7973
|
'v-chip--disabled': props.disabled,
|
7962
7974
|
'v-chip--label': props.label,
|
7963
7975
|
'v-chip--link': isClickable.value,
|
7964
7976
|
'v-chip--filter': hasFilter,
|
7965
|
-
'v-chip--pill': props.pill
|
7966
|
-
|
7967
|
-
|
7977
|
+
'v-chip--pill': props.pill,
|
7978
|
+
[`${props.activeClass}`]: props.activeClass && link.isActive?.value
|
7979
|
+
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],
|
7980
|
+
"style": [colorStyles.value, props.style],
|
7968
7981
|
"disabled": props.disabled || undefined,
|
7969
7982
|
"draggable": props.draggable,
|
7970
7983
|
"tabindex": isClickable.value ? 0 : undefined,
|
@@ -8936,7 +8949,8 @@
|
|
8936
8949
|
const list = useList();
|
8937
8950
|
const isActive = vue.computed(() => props.active !== false && (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value)));
|
8938
8951
|
const isLink = vue.computed(() => props.link !== false && link.isLink.value);
|
8939
|
-
const
|
8952
|
+
const isSelectable = vue.computed(() => !!list && (root.selectable.value || root.activatable.value || props.value != null));
|
8953
|
+
const isClickable = vue.computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || isSelectable.value));
|
8940
8954
|
const roundedProps = vue.computed(() => props.rounded || props.nav);
|
8941
8955
|
const color = vue.computed(() => props.color ?? props.activeColor);
|
8942
8956
|
const variantProps = vue.computed(() => ({
|
@@ -9027,7 +9041,7 @@
|
|
9027
9041
|
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
9028
9042
|
"style": [colorStyles.value, dimensionStyles.value, props.style],
|
9029
9043
|
"tabindex": isClickable.value ? list ? -2 : 0 : undefined,
|
9030
|
-
"aria-selected": root.activatable.value ? isActivated.value : isSelected.value,
|
9044
|
+
"aria-selected": isSelectable.value ? root.activatable.value ? isActivated.value : root.selectable.value ? isSelected.value : isActive.value : undefined,
|
9031
9045
|
"onClick": onClick,
|
9032
9046
|
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
9033
9047
|
}, link.linkProps), {
|
@@ -9444,8 +9458,8 @@
|
|
9444
9458
|
activeClass: String,
|
9445
9459
|
bgColor: String,
|
9446
9460
|
disabled: Boolean,
|
9447
|
-
expandIcon:
|
9448
|
-
collapseIcon:
|
9461
|
+
expandIcon: IconValue,
|
9462
|
+
collapseIcon: IconValue,
|
9449
9463
|
lines: {
|
9450
9464
|
type: [Boolean, String],
|
9451
9465
|
default: 'one'
|
@@ -11619,7 +11633,8 @@
|
|
11619
11633
|
"style": textColorStyles.value
|
11620
11634
|
}, {
|
11621
11635
|
default: () => [label()]
|
11622
|
-
}), vue.createVNode(VFieldLabel, {
|
11636
|
+
}), hasLabel.value && vue.createVNode(VFieldLabel, {
|
11637
|
+
"key": "label",
|
11623
11638
|
"ref": labelRef,
|
11624
11639
|
"for": id.value
|
11625
11640
|
}, {
|
@@ -12445,7 +12460,7 @@
|
|
12445
12460
|
const counterValue = vue.computed(() => {
|
12446
12461
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;
|
12447
12462
|
});
|
12448
|
-
const form = useForm();
|
12463
|
+
const form = useForm(props);
|
12449
12464
|
const selectedValues = vue.computed(() => model.value.map(selection => selection.value));
|
12450
12465
|
const isFocused = vue.shallowRef(false);
|
12451
12466
|
const label = vue.computed(() => menu.value ? props.closeText : props.openText);
|
@@ -12457,7 +12472,7 @@
|
|
12457
12472
|
}
|
12458
12473
|
return items.value;
|
12459
12474
|
});
|
12460
|
-
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length ||
|
12475
|
+
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
12461
12476
|
const computedMenuProps = vue.computed(() => {
|
12462
12477
|
return {
|
12463
12478
|
...props.menuProps,
|
@@ -12484,7 +12499,7 @@
|
|
12484
12499
|
}
|
12485
12500
|
}
|
12486
12501
|
function onKeydown(e) {
|
12487
|
-
if (!e.key ||
|
12502
|
+
if (!e.key || form.isReadonly.value) return;
|
12488
12503
|
if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
|
12489
12504
|
e.preventDefault();
|
12490
12505
|
}
|
@@ -12962,7 +12977,7 @@
|
|
12962
12977
|
const counterValue = vue.computed(() => {
|
12963
12978
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;
|
12964
12979
|
});
|
12965
|
-
const form = useForm();
|
12980
|
+
const form = useForm(props);
|
12966
12981
|
const {
|
12967
12982
|
filteredItems,
|
12968
12983
|
getMatches
|
@@ -12980,7 +12995,7 @@
|
|
12980
12995
|
const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
|
12981
12996
|
return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
|
12982
12997
|
});
|
12983
|
-
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length ||
|
12998
|
+
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
12984
12999
|
const listRef = vue.ref();
|
12985
13000
|
const listEvents = useScrolling(listRef, vTextFieldRef);
|
12986
13001
|
function onClear(e) {
|
@@ -13007,7 +13022,7 @@
|
|
13007
13022
|
}
|
13008
13023
|
}
|
13009
13024
|
function onKeydown(e) {
|
13010
|
-
if (
|
13025
|
+
if (form.isReadonly.value) return;
|
13011
13026
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
13012
13027
|
const length = model.value.length;
|
13013
13028
|
if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
@@ -13184,7 +13199,7 @@
|
|
13184
13199
|
'v-autocomplete--selecting-index': selectionIndex.value > -1
|
13185
13200
|
}, props.class],
|
13186
13201
|
"style": props.style,
|
13187
|
-
"readonly":
|
13202
|
+
"readonly": form.isReadonly.value,
|
13188
13203
|
"placeholder": isDirty ? undefined : props.placeholder,
|
13189
13204
|
"onClick:clear": onClear,
|
13190
13205
|
"onMousedown:control": onMousedownControl,
|
@@ -16803,7 +16818,7 @@
|
|
16803
16818
|
const transformed = transformOut(v);
|
16804
16819
|
return props.multiple ? transformed : transformed[0] ?? null;
|
16805
16820
|
});
|
16806
|
-
const form = useForm();
|
16821
|
+
const form = useForm(props);
|
16807
16822
|
const hasChips = vue.computed(() => !!(props.chips || slots.chip));
|
16808
16823
|
const hasSelectionSlot = vue.computed(() => hasChips.value || !!slots.selection);
|
16809
16824
|
const _search = vue.shallowRef(!props.multiple && !hasSelectionSlot.value ? model.value[0]?.title ?? '' : '');
|
@@ -16863,7 +16878,7 @@
|
|
16863
16878
|
const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
|
16864
16879
|
return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
|
16865
16880
|
});
|
16866
|
-
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length ||
|
16881
|
+
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
16867
16882
|
const listRef = vue.ref();
|
16868
16883
|
const listEvents = useScrolling(listRef, vTextFieldRef);
|
16869
16884
|
function onClear(e) {
|
@@ -16891,7 +16906,7 @@
|
|
16891
16906
|
}
|
16892
16907
|
// eslint-disable-next-line complexity
|
16893
16908
|
function onKeydown(e) {
|
16894
|
-
if (isComposingIgnoreKey(e) ||
|
16909
|
+
if (isComposingIgnoreKey(e) || form.isReadonly.value) return;
|
16895
16910
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
16896
16911
|
const length = model.value.length;
|
16897
16912
|
if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
@@ -17063,7 +17078,7 @@
|
|
17063
17078
|
[`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
|
17064
17079
|
}, props.class],
|
17065
17080
|
"style": props.style,
|
17066
|
-
"readonly":
|
17081
|
+
"readonly": form.isReadonly.value,
|
17067
17082
|
"placeholder": isDirty ? undefined : props.placeholder,
|
17068
17083
|
"onClick:clear": onClear,
|
17069
17084
|
"onMousedown:control": onMousedownControl,
|
@@ -18107,21 +18122,23 @@
|
|
18107
18122
|
internalModel.value = structuredClone(vue.toRaw(model.value));
|
18108
18123
|
emit('cancel');
|
18109
18124
|
}
|
18110
|
-
|
18111
|
-
|
18112
|
-
const actions = vue.createVNode(vue.Fragment, null, [vue.createVNode(VBtn, {
|
18125
|
+
function actions(actionsProps) {
|
18126
|
+
return vue.createVNode(vue.Fragment, null, [vue.createVNode(VBtn, vue.mergeProps({
|
18113
18127
|
"disabled": isPristine.value,
|
18114
18128
|
"variant": "text",
|
18115
18129
|
"color": props.color,
|
18116
18130
|
"onClick": cancel,
|
18117
18131
|
"text": t(props.cancelText)
|
18118
|
-
}, null), vue.createVNode(VBtn, {
|
18132
|
+
}, actionsProps), null), vue.createVNode(VBtn, vue.mergeProps({
|
18119
18133
|
"disabled": isPristine.value,
|
18120
18134
|
"variant": "text",
|
18121
18135
|
"color": props.color,
|
18122
18136
|
"onClick": save,
|
18123
18137
|
"text": t(props.okText)
|
18124
|
-
}, null)]);
|
18138
|
+
}, actionsProps), null)]);
|
18139
|
+
}
|
18140
|
+
let actionsUsed = false;
|
18141
|
+
useRender(() => {
|
18125
18142
|
return vue.createVNode(vue.Fragment, null, [slots.default?.({
|
18126
18143
|
model: internalModel,
|
18127
18144
|
save,
|
@@ -18131,7 +18148,7 @@
|
|
18131
18148
|
actionsUsed = true;
|
18132
18149
|
return actions;
|
18133
18150
|
}
|
18134
|
-
}), !actionsUsed && actions]);
|
18151
|
+
}), !actionsUsed && actions()]);
|
18135
18152
|
});
|
18136
18153
|
return {
|
18137
18154
|
save,
|
@@ -21421,7 +21438,7 @@
|
|
21421
21438
|
// Types
|
21422
21439
|
|
21423
21440
|
const makeVDatePickerHeaderProps = propsFactory({
|
21424
|
-
appendIcon:
|
21441
|
+
appendIcon: IconValue,
|
21425
21442
|
color: String,
|
21426
21443
|
header: String,
|
21427
21444
|
transition: String,
|
@@ -26077,20 +26094,20 @@
|
|
26077
26094
|
subtitle: String,
|
26078
26095
|
complete: Boolean,
|
26079
26096
|
completeIcon: {
|
26080
|
-
type:
|
26097
|
+
type: IconValue,
|
26081
26098
|
default: '$complete'
|
26082
26099
|
},
|
26083
26100
|
editable: Boolean,
|
26084
26101
|
editIcon: {
|
26085
|
-
type:
|
26102
|
+
type: IconValue,
|
26086
26103
|
default: '$edit'
|
26087
26104
|
},
|
26088
26105
|
error: Boolean,
|
26089
26106
|
errorIcon: {
|
26090
|
-
type:
|
26107
|
+
type: IconValue,
|
26091
26108
|
default: '$error'
|
26092
26109
|
},
|
26093
|
-
icon:
|
26110
|
+
icon: IconValue,
|
26094
26111
|
ripple: {
|
26095
26112
|
type: [Boolean, Object],
|
26096
26113
|
default: true
|
@@ -26251,10 +26268,10 @@
|
|
26251
26268
|
const makeStepperProps = propsFactory({
|
26252
26269
|
altLabels: Boolean,
|
26253
26270
|
bgColor: String,
|
26254
|
-
completeIcon:
|
26255
|
-
editIcon:
|
26271
|
+
completeIcon: IconValue,
|
26272
|
+
editIcon: IconValue,
|
26256
26273
|
editable: Boolean,
|
26257
|
-
errorIcon:
|
26274
|
+
errorIcon: IconValue,
|
26258
26275
|
hideActions: Boolean,
|
26259
26276
|
items: {
|
26260
26277
|
type: Array,
|
@@ -28152,7 +28169,7 @@
|
|
28152
28169
|
},
|
28153
28170
|
"onMousedown": e => e.preventDefault()
|
28154
28171
|
}), {
|
28155
|
-
actions: !props.hideActions ?
|
28172
|
+
actions: !props.hideActions ? actions : undefined
|
28156
28173
|
});
|
28157
28174
|
}
|
28158
28175
|
})]
|
@@ -28217,8 +28234,8 @@
|
|
28217
28234
|
const vTextFieldRef = vue.ref();
|
28218
28235
|
const stepDecimals = vue.computed(() => getDecimals(props.step));
|
28219
28236
|
const modelDecimals = vue.computed(() => typeof model.value === 'number' ? getDecimals(model.value) : 0);
|
28220
|
-
const form = useForm();
|
28221
|
-
const controlsDisabled = vue.computed(() =>
|
28237
|
+
const form = useForm(props);
|
28238
|
+
const controlsDisabled = vue.computed(() => form.isDisabled.value || form.isReadonly.value);
|
28222
28239
|
const canIncrease = vue.computed(() => {
|
28223
28240
|
if (controlsDisabled.value) return false;
|
28224
28241
|
return (model.value ?? 0) + props.step <= props.max;
|
@@ -28241,7 +28258,7 @@
|
|
28241
28258
|
click: onClickDown
|
28242
28259
|
}));
|
28243
28260
|
vue.onMounted(() => {
|
28244
|
-
if (!
|
28261
|
+
if (!controlsDisabled.value) {
|
28245
28262
|
clampModel();
|
28246
28263
|
}
|
28247
28264
|
});
|
@@ -28317,7 +28334,8 @@
|
|
28317
28334
|
"flat": true,
|
28318
28335
|
"key": "increment-btn",
|
28319
28336
|
"height": controlNodeDefaultHeight.value,
|
28320
|
-
"
|
28337
|
+
"data-testid": "increment",
|
28338
|
+
"aria-hidden": "true",
|
28321
28339
|
"icon": incrementIcon.value,
|
28322
28340
|
"onClick": onClickUp,
|
28323
28341
|
"onMousedown": onControlMousedown,
|
@@ -28344,7 +28362,8 @@
|
|
28344
28362
|
"flat": true,
|
28345
28363
|
"key": "decrement-btn",
|
28346
28364
|
"height": controlNodeDefaultHeight.value,
|
28347
|
-
"
|
28365
|
+
"data-testid": "decrement",
|
28366
|
+
"aria-hidden": "true",
|
28348
28367
|
"icon": decrementIcon.value,
|
28349
28368
|
"size": controlNodeSize.value,
|
28350
28369
|
"tabindex": "-1",
|
@@ -29596,9 +29615,8 @@
|
|
29596
29615
|
const vListItemRef = vue.ref();
|
29597
29616
|
const isActivatableGroupActivator = vue.computed(() => vListItemRef.value?.root.activatable.value && vListItemRef.value?.isGroupActivator);
|
29598
29617
|
const isClickable = vue.computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!vListItemRef.value?.list || isActivatableGroupActivator.value));
|
29599
|
-
function
|
29600
|
-
if (
|
29601
|
-
if (vListItemRef.value?.root.activatable.value) {
|
29618
|
+
function activateGroupActivator(e) {
|
29619
|
+
if (isClickable.value && isActivatableGroupActivator.value) {
|
29602
29620
|
vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
|
29603
29621
|
}
|
29604
29622
|
}
|
@@ -29617,7 +29635,7 @@
|
|
29617
29635
|
'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(vListItemRef.value?.id)
|
29618
29636
|
}, props.class],
|
29619
29637
|
"ripple": false,
|
29620
|
-
"onClick": props.onClick ??
|
29638
|
+
"onClick": props.onClick ?? activateGroupActivator
|
29621
29639
|
}), {
|
29622
29640
|
...slots,
|
29623
29641
|
prepend: hasPrepend ? slotProps => {
|
@@ -30407,7 +30425,7 @@
|
|
30407
30425
|
goTo
|
30408
30426
|
};
|
30409
30427
|
}
|
30410
|
-
const version$1 = "3.7.
|
30428
|
+
const version$1 = "3.7.5-dev.2024-12-03";
|
30411
30429
|
createVuetify$1.version = version$1;
|
30412
30430
|
|
30413
30431
|
// Vue's inject() can only be used in setup
|
@@ -30660,7 +30678,7 @@
|
|
30660
30678
|
|
30661
30679
|
/* eslint-disable local-rules/sort-imports */
|
30662
30680
|
|
30663
|
-
const version = "3.7.
|
30681
|
+
const version = "3.7.5-dev.2024-12-03";
|
30664
30682
|
|
30665
30683
|
/* eslint-disable local-rules/sort-imports */
|
30666
30684
|
|