@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.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
|
*/
|
@@ -2871,15 +2871,15 @@
|
|
2871
2871
|
const colors = new Set(Object.values(computedThemes.value).flatMap(theme => Object.keys(theme.colors)));
|
2872
2872
|
for (const key of colors) {
|
2873
2873
|
if (/^on-[a-z]/.test(key)) {
|
2874
|
-
createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key}))`]);
|
2874
|
+
createCssClass(fgLines, `.${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
|
2875
2875
|
} else {
|
2876
|
-
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}))`]);
|
2877
|
-
createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key}))`]);
|
2876
|
+
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`]);
|
2877
|
+
createCssClass(fgLines, `.text-${key}`, [`color: rgb(var(--v-theme-${key})) !important`]);
|
2878
2878
|
createCssClass(fgLines, `.border-${key}`, [`--v-border-color: var(--v-theme-${key})`]);
|
2879
2879
|
}
|
2880
2880
|
}
|
2881
2881
|
lines.push(...bgLines, ...fgLines);
|
2882
|
-
return
|
2882
|
+
return lines.map((str, i) => i === 0 ? str : ` ${str}`).join('');
|
2883
2883
|
});
|
2884
2884
|
function getHead() {
|
2885
2885
|
return {
|
@@ -6907,8 +6907,13 @@
|
|
6907
6907
|
resetValidation
|
6908
6908
|
};
|
6909
6909
|
}
|
6910
|
-
function useForm() {
|
6911
|
-
|
6910
|
+
function useForm(props) {
|
6911
|
+
const form = vue.inject(FormKey, null);
|
6912
|
+
return {
|
6913
|
+
...form,
|
6914
|
+
isReadonly: vue.computed(() => !!(props?.readonly ?? form?.isReadonly.value)),
|
6915
|
+
isDisabled: vue.computed(() => !!(props?.disabled ?? form?.isDisabled.value))
|
6916
|
+
};
|
6912
6917
|
}
|
6913
6918
|
|
6914
6919
|
// Composables
|
@@ -6949,17 +6954,15 @@
|
|
6949
6954
|
let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getUid();
|
6950
6955
|
const model = useProxiedModel(props, 'modelValue');
|
6951
6956
|
const validationModel = vue.computed(() => props.validationValue === undefined ? model.value : props.validationValue);
|
6952
|
-
const form = useForm();
|
6957
|
+
const form = useForm(props);
|
6953
6958
|
const internalErrorMessages = vue.ref([]);
|
6954
6959
|
const isPristine = vue.shallowRef(true);
|
6955
6960
|
const isDirty = vue.computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));
|
6956
|
-
const isDisabled = vue.computed(() => !!(props.disabled ?? form?.isDisabled.value));
|
6957
|
-
const isReadonly = vue.computed(() => !!(props.readonly ?? form?.isReadonly.value));
|
6958
6961
|
const errorMessages = vue.computed(() => {
|
6959
6962
|
return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, +props.maxErrors)) : internalErrorMessages.value;
|
6960
6963
|
});
|
6961
6964
|
const validateOn = vue.computed(() => {
|
6962
|
-
let value = (props.validateOn ?? form?.
|
6965
|
+
let value = (props.validateOn ?? form.validateOn?.value) || 'input';
|
6963
6966
|
if (value === 'lazy') value = 'input lazy';
|
6964
6967
|
if (value === 'eager') value = 'input eager';
|
6965
6968
|
const set = new Set(value?.split(' ') ?? []);
|
@@ -6985,14 +6988,14 @@
|
|
6985
6988
|
return {
|
6986
6989
|
[`${name}--error`]: isValid.value === false,
|
6987
6990
|
[`${name}--dirty`]: isDirty.value,
|
6988
|
-
[`${name}--disabled`]: isDisabled.value,
|
6989
|
-
[`${name}--readonly`]: isReadonly.value
|
6991
|
+
[`${name}--disabled`]: form.isDisabled.value,
|
6992
|
+
[`${name}--readonly`]: form.isReadonly.value
|
6990
6993
|
};
|
6991
6994
|
});
|
6992
6995
|
const vm = getCurrentInstance('validation');
|
6993
6996
|
const uid = vue.computed(() => props.name ?? vue.unref(id));
|
6994
6997
|
vue.onBeforeMount(() => {
|
6995
|
-
form?.
|
6998
|
+
form.register?.({
|
6996
6999
|
id: uid.value,
|
6997
7000
|
vm,
|
6998
7001
|
validate,
|
@@ -7001,13 +7004,13 @@
|
|
7001
7004
|
});
|
7002
7005
|
});
|
7003
7006
|
vue.onBeforeUnmount(() => {
|
7004
|
-
form?.
|
7007
|
+
form.unregister?.(uid.value);
|
7005
7008
|
});
|
7006
7009
|
vue.onMounted(async () => {
|
7007
7010
|
if (!validateOn.value.lazy) {
|
7008
7011
|
await validate(!validateOn.value.eager);
|
7009
7012
|
}
|
7010
|
-
form?.
|
7013
|
+
form.update?.(uid.value, isValid.value, errorMessages.value);
|
7011
7014
|
});
|
7012
7015
|
useToggleScope(() => validateOn.value.input || validateOn.value.invalidInput && isValid.value === false, () => {
|
7013
7016
|
vue.watch(validationModel, () => {
|
@@ -7027,7 +7030,7 @@
|
|
7027
7030
|
});
|
7028
7031
|
});
|
7029
7032
|
vue.watch([isValid, errorMessages], () => {
|
7030
|
-
form?.
|
7033
|
+
form.update?.(uid.value, isValid.value, errorMessages.value);
|
7031
7034
|
});
|
7032
7035
|
async function reset() {
|
7033
7036
|
model.value = null;
|
@@ -7068,8 +7071,8 @@
|
|
7068
7071
|
return {
|
7069
7072
|
errorMessages,
|
7070
7073
|
isDirty,
|
7071
|
-
isDisabled,
|
7072
|
-
isReadonly,
|
7074
|
+
isDisabled: form.isDisabled,
|
7075
|
+
isReadonly: form.isReadonly,
|
7073
7076
|
isPristine,
|
7074
7077
|
isValid,
|
7075
7078
|
isValidating,
|
@@ -7988,6 +7991,7 @@
|
|
7988
7991
|
|
7989
7992
|
const VChipGroupSymbol = Symbol.for('vuetify:v-chip-group');
|
7990
7993
|
const makeVChipGroupProps = propsFactory({
|
7994
|
+
baseColor: String,
|
7991
7995
|
column: Boolean,
|
7992
7996
|
filter: Boolean,
|
7993
7997
|
valueComparator: {
|
@@ -8027,6 +8031,7 @@
|
|
8027
8031
|
} = useGroup(props, VChipGroupSymbol);
|
8028
8032
|
provideDefaults({
|
8029
8033
|
VChip: {
|
8034
|
+
baseColor: vue.toRef(props, 'baseColor'),
|
8030
8035
|
color: vue.toRef(props, 'color'),
|
8031
8036
|
disabled: vue.toRef(props, 'disabled'),
|
8032
8037
|
filter: vue.toRef(props, 'filter'),
|
@@ -8060,6 +8065,7 @@
|
|
8060
8065
|
activeClass: String,
|
8061
8066
|
appendAvatar: String,
|
8062
8067
|
appendIcon: IconValue,
|
8068
|
+
baseColor: String,
|
8063
8069
|
closable: Boolean,
|
8064
8070
|
closeIcon: {
|
8065
8071
|
type: IconValue,
|
@@ -8072,7 +8078,7 @@
|
|
8072
8078
|
draggable: Boolean,
|
8073
8079
|
filter: Boolean,
|
8074
8080
|
filterIcon: {
|
8075
|
-
type:
|
8081
|
+
type: IconValue,
|
8076
8082
|
default: '$complete'
|
8077
8083
|
},
|
8078
8084
|
label: Boolean,
|
@@ -8134,11 +8140,6 @@
|
|
8134
8140
|
const {
|
8135
8141
|
borderClasses
|
8136
8142
|
} = useBorder(props);
|
8137
|
-
const {
|
8138
|
-
colorClasses,
|
8139
|
-
colorStyles,
|
8140
|
-
variantClasses
|
8141
|
-
} = useVariant(props);
|
8142
8143
|
const {
|
8143
8144
|
densityClasses
|
8144
8145
|
} = useDensity(props);
|
@@ -8168,6 +8169,18 @@
|
|
8168
8169
|
emit('click:close', e);
|
8169
8170
|
}
|
8170
8171
|
}));
|
8172
|
+
const variantProps = vue.computed(() => {
|
8173
|
+
const showColor = !group || group.isSelected.value;
|
8174
|
+
return {
|
8175
|
+
color: showColor ? props.color ?? props.baseColor : props.baseColor,
|
8176
|
+
variant: props.variant
|
8177
|
+
};
|
8178
|
+
});
|
8179
|
+
const {
|
8180
|
+
colorClasses,
|
8181
|
+
colorStyles,
|
8182
|
+
variantClasses
|
8183
|
+
} = useVariant(variantProps);
|
8171
8184
|
function onClick(e) {
|
8172
8185
|
emit('click', e);
|
8173
8186
|
if (!isClickable.value) return;
|
@@ -8188,16 +8201,16 @@
|
|
8188
8201
|
const hasFilter = !!(slots.filter || props.filter) && group;
|
8189
8202
|
const hasPrependMedia = !!(props.prependIcon || props.prependAvatar);
|
8190
8203
|
const hasPrepend = !!(hasPrependMedia || slots.prepend);
|
8191
|
-
const hasColor = !group || group.isSelected.value;
|
8192
8204
|
return isActive.value && vue.withDirectives(vue.createVNode(Tag, vue.mergeProps({
|
8193
8205
|
"class": ['v-chip', {
|
8194
8206
|
'v-chip--disabled': props.disabled,
|
8195
8207
|
'v-chip--label': props.label,
|
8196
8208
|
'v-chip--link': isClickable.value,
|
8197
8209
|
'v-chip--filter': hasFilter,
|
8198
|
-
'v-chip--pill': props.pill
|
8199
|
-
|
8200
|
-
|
8210
|
+
'v-chip--pill': props.pill,
|
8211
|
+
[`${props.activeClass}`]: props.activeClass && link.isActive?.value
|
8212
|
+
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, roundedClasses.value, sizeClasses.value, variantClasses.value, group?.selectedClass.value, props.class],
|
8213
|
+
"style": [colorStyles.value, props.style],
|
8201
8214
|
"disabled": props.disabled || undefined,
|
8202
8215
|
"draggable": props.draggable,
|
8203
8216
|
"tabindex": isClickable.value ? 0 : undefined,
|
@@ -9169,7 +9182,8 @@
|
|
9169
9182
|
const list = useList();
|
9170
9183
|
const isActive = vue.computed(() => props.active !== false && (props.active || link.isActive?.value || (root.activatable.value ? isActivated.value : isSelected.value)));
|
9171
9184
|
const isLink = vue.computed(() => props.link !== false && link.isLink.value);
|
9172
|
-
const
|
9185
|
+
const isSelectable = vue.computed(() => !!list && (root.selectable.value || root.activatable.value || props.value != null));
|
9186
|
+
const isClickable = vue.computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || isSelectable.value));
|
9173
9187
|
const roundedProps = vue.computed(() => props.rounded || props.nav);
|
9174
9188
|
const color = vue.computed(() => props.color ?? props.activeColor);
|
9175
9189
|
const variantProps = vue.computed(() => ({
|
@@ -9260,7 +9274,7 @@
|
|
9260
9274
|
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
9261
9275
|
"style": [colorStyles.value, dimensionStyles.value, props.style],
|
9262
9276
|
"tabindex": isClickable.value ? list ? -2 : 0 : undefined,
|
9263
|
-
"aria-selected": root.activatable.value ? isActivated.value : isSelected.value,
|
9277
|
+
"aria-selected": isSelectable.value ? root.activatable.value ? isActivated.value : root.selectable.value ? isSelected.value : isActive.value : undefined,
|
9264
9278
|
"onClick": onClick,
|
9265
9279
|
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
9266
9280
|
}, link.linkProps), {
|
@@ -9677,8 +9691,8 @@
|
|
9677
9691
|
activeClass: String,
|
9678
9692
|
bgColor: String,
|
9679
9693
|
disabled: Boolean,
|
9680
|
-
expandIcon:
|
9681
|
-
collapseIcon:
|
9694
|
+
expandIcon: IconValue,
|
9695
|
+
collapseIcon: IconValue,
|
9682
9696
|
lines: {
|
9683
9697
|
type: [Boolean, String],
|
9684
9698
|
default: 'one'
|
@@ -11852,7 +11866,8 @@
|
|
11852
11866
|
"style": textColorStyles.value
|
11853
11867
|
}, {
|
11854
11868
|
default: () => [label()]
|
11855
|
-
}), vue.createVNode(VFieldLabel, {
|
11869
|
+
}), hasLabel.value && vue.createVNode(VFieldLabel, {
|
11870
|
+
"key": "label",
|
11856
11871
|
"ref": labelRef,
|
11857
11872
|
"for": id.value
|
11858
11873
|
}, {
|
@@ -12678,7 +12693,7 @@
|
|
12678
12693
|
const counterValue = vue.computed(() => {
|
12679
12694
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;
|
12680
12695
|
});
|
12681
|
-
const form = useForm();
|
12696
|
+
const form = useForm(props);
|
12682
12697
|
const selectedValues = vue.computed(() => model.value.map(selection => selection.value));
|
12683
12698
|
const isFocused = vue.shallowRef(false);
|
12684
12699
|
const label = vue.computed(() => menu.value ? props.closeText : props.openText);
|
@@ -12690,7 +12705,7 @@
|
|
12690
12705
|
}
|
12691
12706
|
return items.value;
|
12692
12707
|
});
|
12693
|
-
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length ||
|
12708
|
+
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
12694
12709
|
const computedMenuProps = vue.computed(() => {
|
12695
12710
|
return {
|
12696
12711
|
...props.menuProps,
|
@@ -12717,7 +12732,7 @@
|
|
12717
12732
|
}
|
12718
12733
|
}
|
12719
12734
|
function onKeydown(e) {
|
12720
|
-
if (!e.key ||
|
12735
|
+
if (!e.key || form.isReadonly.value) return;
|
12721
12736
|
if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
|
12722
12737
|
e.preventDefault();
|
12723
12738
|
}
|
@@ -13195,7 +13210,7 @@
|
|
13195
13210
|
const counterValue = vue.computed(() => {
|
13196
13211
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;
|
13197
13212
|
});
|
13198
|
-
const form = useForm();
|
13213
|
+
const form = useForm(props);
|
13199
13214
|
const {
|
13200
13215
|
filteredItems,
|
13201
13216
|
getMatches
|
@@ -13213,7 +13228,7 @@
|
|
13213
13228
|
const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
|
13214
13229
|
return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
|
13215
13230
|
});
|
13216
|
-
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length ||
|
13231
|
+
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
13217
13232
|
const listRef = vue.ref();
|
13218
13233
|
const listEvents = useScrolling(listRef, vTextFieldRef);
|
13219
13234
|
function onClear(e) {
|
@@ -13240,7 +13255,7 @@
|
|
13240
13255
|
}
|
13241
13256
|
}
|
13242
13257
|
function onKeydown(e) {
|
13243
|
-
if (
|
13258
|
+
if (form.isReadonly.value) return;
|
13244
13259
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
13245
13260
|
const length = model.value.length;
|
13246
13261
|
if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
@@ -13417,7 +13432,7 @@
|
|
13417
13432
|
'v-autocomplete--selecting-index': selectionIndex.value > -1
|
13418
13433
|
}, props.class],
|
13419
13434
|
"style": props.style,
|
13420
|
-
"readonly":
|
13435
|
+
"readonly": form.isReadonly.value,
|
13421
13436
|
"placeholder": isDirty ? undefined : props.placeholder,
|
13422
13437
|
"onClick:clear": onClear,
|
13423
13438
|
"onMousedown:control": onMousedownControl,
|
@@ -17036,7 +17051,7 @@
|
|
17036
17051
|
const transformed = transformOut(v);
|
17037
17052
|
return props.multiple ? transformed : transformed[0] ?? null;
|
17038
17053
|
});
|
17039
|
-
const form = useForm();
|
17054
|
+
const form = useForm(props);
|
17040
17055
|
const hasChips = vue.computed(() => !!(props.chips || slots.chip));
|
17041
17056
|
const hasSelectionSlot = vue.computed(() => hasChips.value || !!slots.selection);
|
17042
17057
|
const _search = vue.shallowRef(!props.multiple && !hasSelectionSlot.value ? model.value[0]?.title ?? '' : '');
|
@@ -17096,7 +17111,7 @@
|
|
17096
17111
|
const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
|
17097
17112
|
return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
|
17098
17113
|
});
|
17099
|
-
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length ||
|
17114
|
+
const menuDisabled = vue.computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
17100
17115
|
const listRef = vue.ref();
|
17101
17116
|
const listEvents = useScrolling(listRef, vTextFieldRef);
|
17102
17117
|
function onClear(e) {
|
@@ -17124,7 +17139,7 @@
|
|
17124
17139
|
}
|
17125
17140
|
// eslint-disable-next-line complexity
|
17126
17141
|
function onKeydown(e) {
|
17127
|
-
if (isComposingIgnoreKey(e) ||
|
17142
|
+
if (isComposingIgnoreKey(e) || form.isReadonly.value) return;
|
17128
17143
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
17129
17144
|
const length = model.value.length;
|
17130
17145
|
if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
@@ -17296,7 +17311,7 @@
|
|
17296
17311
|
[`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
|
17297
17312
|
}, props.class],
|
17298
17313
|
"style": props.style,
|
17299
|
-
"readonly":
|
17314
|
+
"readonly": form.isReadonly.value,
|
17300
17315
|
"placeholder": isDirty ? undefined : props.placeholder,
|
17301
17316
|
"onClick:clear": onClear,
|
17302
17317
|
"onMousedown:control": onMousedownControl,
|
@@ -18340,21 +18355,23 @@
|
|
18340
18355
|
internalModel.value = structuredClone(vue.toRaw(model.value));
|
18341
18356
|
emit('cancel');
|
18342
18357
|
}
|
18343
|
-
|
18344
|
-
|
18345
|
-
const actions = vue.createVNode(vue.Fragment, null, [vue.createVNode(VBtn, {
|
18358
|
+
function actions(actionsProps) {
|
18359
|
+
return vue.createVNode(vue.Fragment, null, [vue.createVNode(VBtn, vue.mergeProps({
|
18346
18360
|
"disabled": isPristine.value,
|
18347
18361
|
"variant": "text",
|
18348
18362
|
"color": props.color,
|
18349
18363
|
"onClick": cancel,
|
18350
18364
|
"text": t(props.cancelText)
|
18351
|
-
}, null), vue.createVNode(VBtn, {
|
18365
|
+
}, actionsProps), null), vue.createVNode(VBtn, vue.mergeProps({
|
18352
18366
|
"disabled": isPristine.value,
|
18353
18367
|
"variant": "text",
|
18354
18368
|
"color": props.color,
|
18355
18369
|
"onClick": save,
|
18356
18370
|
"text": t(props.okText)
|
18357
|
-
}, null)]);
|
18371
|
+
}, actionsProps), null)]);
|
18372
|
+
}
|
18373
|
+
let actionsUsed = false;
|
18374
|
+
useRender(() => {
|
18358
18375
|
return vue.createVNode(vue.Fragment, null, [slots.default?.({
|
18359
18376
|
model: internalModel,
|
18360
18377
|
save,
|
@@ -18364,7 +18381,7 @@
|
|
18364
18381
|
actionsUsed = true;
|
18365
18382
|
return actions;
|
18366
18383
|
}
|
18367
|
-
}), !actionsUsed && actions]);
|
18384
|
+
}), !actionsUsed && actions()]);
|
18368
18385
|
});
|
18369
18386
|
return {
|
18370
18387
|
save,
|
@@ -21654,7 +21671,7 @@
|
|
21654
21671
|
// Types
|
21655
21672
|
|
21656
21673
|
const makeVDatePickerHeaderProps = propsFactory({
|
21657
|
-
appendIcon:
|
21674
|
+
appendIcon: IconValue,
|
21658
21675
|
color: String,
|
21659
21676
|
header: String,
|
21660
21677
|
transition: String,
|
@@ -26310,20 +26327,20 @@
|
|
26310
26327
|
subtitle: String,
|
26311
26328
|
complete: Boolean,
|
26312
26329
|
completeIcon: {
|
26313
|
-
type:
|
26330
|
+
type: IconValue,
|
26314
26331
|
default: '$complete'
|
26315
26332
|
},
|
26316
26333
|
editable: Boolean,
|
26317
26334
|
editIcon: {
|
26318
|
-
type:
|
26335
|
+
type: IconValue,
|
26319
26336
|
default: '$edit'
|
26320
26337
|
},
|
26321
26338
|
error: Boolean,
|
26322
26339
|
errorIcon: {
|
26323
|
-
type:
|
26340
|
+
type: IconValue,
|
26324
26341
|
default: '$error'
|
26325
26342
|
},
|
26326
|
-
icon:
|
26343
|
+
icon: IconValue,
|
26327
26344
|
ripple: {
|
26328
26345
|
type: [Boolean, Object],
|
26329
26346
|
default: true
|
@@ -26484,10 +26501,10 @@
|
|
26484
26501
|
const makeStepperProps = propsFactory({
|
26485
26502
|
altLabels: Boolean,
|
26486
26503
|
bgColor: String,
|
26487
|
-
completeIcon:
|
26488
|
-
editIcon:
|
26504
|
+
completeIcon: IconValue,
|
26505
|
+
editIcon: IconValue,
|
26489
26506
|
editable: Boolean,
|
26490
|
-
errorIcon:
|
26507
|
+
errorIcon: IconValue,
|
26491
26508
|
hideActions: Boolean,
|
26492
26509
|
items: {
|
26493
26510
|
type: Array,
|
@@ -28264,7 +28281,7 @@
|
|
28264
28281
|
goTo
|
28265
28282
|
};
|
28266
28283
|
}
|
28267
|
-
const version$1 = "3.7.
|
28284
|
+
const version$1 = "3.7.5-dev.2024-12-03";
|
28268
28285
|
createVuetify$1.version = version$1;
|
28269
28286
|
|
28270
28287
|
// Vue's inject() can only be used in setup
|
@@ -28289,7 +28306,7 @@
|
|
28289
28306
|
...options
|
28290
28307
|
});
|
28291
28308
|
};
|
28292
|
-
const version = "3.7.
|
28309
|
+
const version = "3.7.5-dev.2024-12-03";
|
28293
28310
|
createVuetify.version = version;
|
28294
28311
|
|
28295
28312
|
exports.blueprints = index;
|