@vuetify/nightly 3.7.4-master.2024-11-24 → 3.7.4-master.2024-11-29
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 +2905 -2905
- package/dist/json/importMap-labs.json +26 -26
- package/dist/json/importMap.json +158 -158
- package/dist/json/web-types.json +5578 -5578
- package/dist/vuetify-labs.css +3489 -3489
- package/dist/vuetify-labs.d.ts +199 -199
- package/dist/vuetify-labs.esm.js +48 -46
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +48 -46
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1248 -1248
- package/dist/vuetify.d.ts +182 -182
- package/dist/vuetify.esm.js +42 -39
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +42 -39
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +26 -25
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +4 -4
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +28 -28
- package/lib/components/VChip/VChip.mjs +1 -1
- package/lib/components/VChip/VChip.mjs.map +1 -1
- package/lib/components/VChip/index.d.mts +9 -9
- package/lib/components/VCombobox/VCombobox.mjs +4 -4
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +28 -28
- package/lib/components/VDatePicker/VDatePickerHeader.mjs +2 -1
- package/lib/components/VDatePicker/VDatePickerHeader.mjs.map +1 -1
- package/lib/components/VDatePicker/index.d.mts +6 -6
- package/lib/components/VList/VList.mjs +3 -2
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +12 -12
- package/lib/components/VSelect/VSelect.mjs +3 -3
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +28 -28
- package/lib/components/VStepper/VStepper.mjs +5 -4
- package/lib/components/VStepper/VStepper.mjs.map +1 -1
- package/lib/components/VStepper/VStepperItem.mjs +5 -4
- package/lib/components/VStepper/VStepperItem.mjs.map +1 -1
- package/lib/components/VStepper/index.d.mts +58 -52
- package/lib/components/index.d.mts +126 -126
- package/lib/composables/form.mjs +7 -2
- package/lib/composables/form.mjs.map +1 -1
- package/lib/composables/validation.mjs +10 -12
- package/lib/composables/validation.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +56 -56
- package/lib/labs/VNumberInput/VNumberInput.mjs +3 -3
- package/lib/labs/VNumberInput/VNumberInput.mjs.map +1 -1
- package/lib/labs/VStepperVertical/index.d.mts +51 -51
- package/lib/labs/VTreeview/VTreeviewItem.mjs +3 -4
- package/lib/labs/VTreeview/VTreeviewItem.mjs.map +1 -1
- package/lib/labs/VTreeview/index.d.mts +22 -22
- package/lib/labs/components.d.mts +73 -73
- package/package.json +1 -1
package/dist/vuetify-labs.esm.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.7.4-master.2024-11-
|
2
|
+
* Vuetify v3.7.4-master.2024-11-29
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -6668,8 +6668,13 @@ function createForm(props) {
|
|
6668
6668
|
resetValidation
|
6669
6669
|
};
|
6670
6670
|
}
|
6671
|
-
function useForm() {
|
6672
|
-
|
6671
|
+
function useForm(props) {
|
6672
|
+
const form = inject$1(FormKey, null);
|
6673
|
+
return {
|
6674
|
+
...form,
|
6675
|
+
isReadonly: computed(() => !!(props?.readonly ?? form?.isReadonly.value)),
|
6676
|
+
isDisabled: computed(() => !!(props?.disabled ?? form?.isDisabled.value))
|
6677
|
+
};
|
6673
6678
|
}
|
6674
6679
|
|
6675
6680
|
// Composables
|
@@ -6710,17 +6715,15 @@ function useValidation(props) {
|
|
6710
6715
|
let id = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getUid();
|
6711
6716
|
const model = useProxiedModel(props, 'modelValue');
|
6712
6717
|
const validationModel = computed(() => props.validationValue === undefined ? model.value : props.validationValue);
|
6713
|
-
const form = useForm();
|
6718
|
+
const form = useForm(props);
|
6714
6719
|
const internalErrorMessages = ref([]);
|
6715
6720
|
const isPristine = shallowRef(true);
|
6716
6721
|
const isDirty = computed(() => !!(wrapInArray(model.value === '' ? null : model.value).length || wrapInArray(validationModel.value === '' ? null : validationModel.value).length));
|
6717
|
-
const isDisabled = computed(() => !!(props.disabled ?? form?.isDisabled.value));
|
6718
|
-
const isReadonly = computed(() => !!(props.readonly ?? form?.isReadonly.value));
|
6719
6722
|
const errorMessages = computed(() => {
|
6720
6723
|
return props.errorMessages?.length ? wrapInArray(props.errorMessages).concat(internalErrorMessages.value).slice(0, Math.max(0, +props.maxErrors)) : internalErrorMessages.value;
|
6721
6724
|
});
|
6722
6725
|
const validateOn = computed(() => {
|
6723
|
-
let value = (props.validateOn ?? form?.
|
6726
|
+
let value = (props.validateOn ?? form.validateOn?.value) || 'input';
|
6724
6727
|
if (value === 'lazy') value = 'input lazy';
|
6725
6728
|
if (value === 'eager') value = 'input eager';
|
6726
6729
|
const set = new Set(value?.split(' ') ?? []);
|
@@ -6746,14 +6749,14 @@ function useValidation(props) {
|
|
6746
6749
|
return {
|
6747
6750
|
[`${name}--error`]: isValid.value === false,
|
6748
6751
|
[`${name}--dirty`]: isDirty.value,
|
6749
|
-
[`${name}--disabled`]: isDisabled.value,
|
6750
|
-
[`${name}--readonly`]: isReadonly.value
|
6752
|
+
[`${name}--disabled`]: form.isDisabled.value,
|
6753
|
+
[`${name}--readonly`]: form.isReadonly.value
|
6751
6754
|
};
|
6752
6755
|
});
|
6753
6756
|
const vm = getCurrentInstance('validation');
|
6754
6757
|
const uid = computed(() => props.name ?? unref(id));
|
6755
6758
|
onBeforeMount(() => {
|
6756
|
-
form?.
|
6759
|
+
form.register?.({
|
6757
6760
|
id: uid.value,
|
6758
6761
|
vm,
|
6759
6762
|
validate,
|
@@ -6762,13 +6765,13 @@ function useValidation(props) {
|
|
6762
6765
|
});
|
6763
6766
|
});
|
6764
6767
|
onBeforeUnmount(() => {
|
6765
|
-
form?.
|
6768
|
+
form.unregister?.(uid.value);
|
6766
6769
|
});
|
6767
6770
|
onMounted(async () => {
|
6768
6771
|
if (!validateOn.value.lazy) {
|
6769
6772
|
await validate(!validateOn.value.eager);
|
6770
6773
|
}
|
6771
|
-
form?.
|
6774
|
+
form.update?.(uid.value, isValid.value, errorMessages.value);
|
6772
6775
|
});
|
6773
6776
|
useToggleScope(() => validateOn.value.input || validateOn.value.invalidInput && isValid.value === false, () => {
|
6774
6777
|
watch(validationModel, () => {
|
@@ -6788,7 +6791,7 @@ function useValidation(props) {
|
|
6788
6791
|
});
|
6789
6792
|
});
|
6790
6793
|
watch([isValid, errorMessages], () => {
|
6791
|
-
form?.
|
6794
|
+
form.update?.(uid.value, isValid.value, errorMessages.value);
|
6792
6795
|
});
|
6793
6796
|
async function reset() {
|
6794
6797
|
model.value = null;
|
@@ -6829,8 +6832,8 @@ function useValidation(props) {
|
|
6829
6832
|
return {
|
6830
6833
|
errorMessages,
|
6831
6834
|
isDirty,
|
6832
|
-
isDisabled,
|
6833
|
-
isReadonly,
|
6835
|
+
isDisabled: form.isDisabled,
|
6836
|
+
isReadonly: form.isReadonly,
|
6834
6837
|
isPristine,
|
6835
6838
|
isValid,
|
6836
6839
|
isValidating,
|
@@ -7833,7 +7836,7 @@ const makeVChipProps = propsFactory({
|
|
7833
7836
|
draggable: Boolean,
|
7834
7837
|
filter: Boolean,
|
7835
7838
|
filterIcon: {
|
7836
|
-
type:
|
7839
|
+
type: IconValue,
|
7837
7840
|
default: '$complete'
|
7838
7841
|
},
|
7839
7842
|
label: Boolean,
|
@@ -9439,8 +9442,8 @@ const makeVListProps = propsFactory({
|
|
9439
9442
|
activeClass: String,
|
9440
9443
|
bgColor: String,
|
9441
9444
|
disabled: Boolean,
|
9442
|
-
expandIcon:
|
9443
|
-
collapseIcon:
|
9445
|
+
expandIcon: IconValue,
|
9446
|
+
collapseIcon: IconValue,
|
9444
9447
|
lines: {
|
9445
9448
|
type: [Boolean, String],
|
9446
9449
|
default: 'one'
|
@@ -12440,7 +12443,7 @@ const VSelect = genericComponent()({
|
|
12440
12443
|
const counterValue = computed(() => {
|
12441
12444
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;
|
12442
12445
|
});
|
12443
|
-
const form = useForm();
|
12446
|
+
const form = useForm(props);
|
12444
12447
|
const selectedValues = computed(() => model.value.map(selection => selection.value));
|
12445
12448
|
const isFocused = shallowRef(false);
|
12446
12449
|
const label = computed(() => menu.value ? props.closeText : props.openText);
|
@@ -12452,7 +12455,7 @@ const VSelect = genericComponent()({
|
|
12452
12455
|
}
|
12453
12456
|
return items.value;
|
12454
12457
|
});
|
12455
|
-
const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length ||
|
12458
|
+
const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
12456
12459
|
const computedMenuProps = computed(() => {
|
12457
12460
|
return {
|
12458
12461
|
...props.menuProps,
|
@@ -12479,7 +12482,7 @@ const VSelect = genericComponent()({
|
|
12479
12482
|
}
|
12480
12483
|
}
|
12481
12484
|
function onKeydown(e) {
|
12482
|
-
if (!e.key ||
|
12485
|
+
if (!e.key || form.isReadonly.value) return;
|
12483
12486
|
if (['Enter', ' ', 'ArrowDown', 'ArrowUp', 'Home', 'End'].includes(e.key)) {
|
12484
12487
|
e.preventDefault();
|
12485
12488
|
}
|
@@ -12957,7 +12960,7 @@ const VAutocomplete = genericComponent()({
|
|
12957
12960
|
const counterValue = computed(() => {
|
12958
12961
|
return typeof props.counterValue === 'function' ? props.counterValue(model.value) : typeof props.counterValue === 'number' ? props.counterValue : model.value.length;
|
12959
12962
|
});
|
12960
|
-
const form = useForm();
|
12963
|
+
const form = useForm(props);
|
12961
12964
|
const {
|
12962
12965
|
filteredItems,
|
12963
12966
|
getMatches
|
@@ -12975,7 +12978,7 @@ const VAutocomplete = genericComponent()({
|
|
12975
12978
|
const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
|
12976
12979
|
return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
|
12977
12980
|
});
|
12978
|
-
const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length ||
|
12981
|
+
const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
12979
12982
|
const listRef = ref();
|
12980
12983
|
const listEvents = useScrolling(listRef, vTextFieldRef);
|
12981
12984
|
function onClear(e) {
|
@@ -13002,7 +13005,7 @@ const VAutocomplete = genericComponent()({
|
|
13002
13005
|
}
|
13003
13006
|
}
|
13004
13007
|
function onKeydown(e) {
|
13005
|
-
if (
|
13008
|
+
if (form.isReadonly.value) return;
|
13006
13009
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
13007
13010
|
const length = model.value.length;
|
13008
13011
|
if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
@@ -13179,7 +13182,7 @@ const VAutocomplete = genericComponent()({
|
|
13179
13182
|
'v-autocomplete--selecting-index': selectionIndex.value > -1
|
13180
13183
|
}, props.class],
|
13181
13184
|
"style": props.style,
|
13182
|
-
"readonly":
|
13185
|
+
"readonly": form.isReadonly.value,
|
13183
13186
|
"placeholder": isDirty ? undefined : props.placeholder,
|
13184
13187
|
"onClick:clear": onClear,
|
13185
13188
|
"onMousedown:control": onMousedownControl,
|
@@ -16798,7 +16801,7 @@ const VCombobox = genericComponent()({
|
|
16798
16801
|
const transformed = transformOut(v);
|
16799
16802
|
return props.multiple ? transformed : transformed[0] ?? null;
|
16800
16803
|
});
|
16801
|
-
const form = useForm();
|
16804
|
+
const form = useForm(props);
|
16802
16805
|
const hasChips = computed(() => !!(props.chips || slots.chip));
|
16803
16806
|
const hasSelectionSlot = computed(() => hasChips.value || !!slots.selection);
|
16804
16807
|
const _search = shallowRef(!props.multiple && !hasSelectionSlot.value ? model.value[0]?.title ?? '' : '');
|
@@ -16858,7 +16861,7 @@ const VCombobox = genericComponent()({
|
|
16858
16861
|
const selectFirst = props.autoSelectFirst === true || props.autoSelectFirst === 'exact' && search.value === displayItems.value[0]?.title;
|
16859
16862
|
return selectFirst && displayItems.value.length > 0 && !isPristine.value && !listHasFocus.value;
|
16860
16863
|
});
|
16861
|
-
const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length ||
|
16864
|
+
const menuDisabled = computed(() => props.hideNoData && !displayItems.value.length || form.isReadonly.value || form.isDisabled.value);
|
16862
16865
|
const listRef = ref();
|
16863
16866
|
const listEvents = useScrolling(listRef, vTextFieldRef);
|
16864
16867
|
function onClear(e) {
|
@@ -16886,7 +16889,7 @@ const VCombobox = genericComponent()({
|
|
16886
16889
|
}
|
16887
16890
|
// eslint-disable-next-line complexity
|
16888
16891
|
function onKeydown(e) {
|
16889
|
-
if (isComposingIgnoreKey(e) ||
|
16892
|
+
if (isComposingIgnoreKey(e) || form.isReadonly.value) return;
|
16890
16893
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
16891
16894
|
const length = model.value.length;
|
16892
16895
|
if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
@@ -17058,7 +17061,7 @@ const VCombobox = genericComponent()({
|
|
17058
17061
|
[`v-combobox--${props.multiple ? 'multiple' : 'single'}`]: true
|
17059
17062
|
}, props.class],
|
17060
17063
|
"style": props.style,
|
17061
|
-
"readonly":
|
17064
|
+
"readonly": form.isReadonly.value,
|
17062
17065
|
"placeholder": isDirty ? undefined : props.placeholder,
|
17063
17066
|
"onClick:clear": onClear,
|
17064
17067
|
"onMousedown:control": onMousedownControl,
|
@@ -21418,7 +21421,7 @@ const VDatePickerControls = genericComponent()({
|
|
21418
21421
|
// Types
|
21419
21422
|
|
21420
21423
|
const makeVDatePickerHeaderProps = propsFactory({
|
21421
|
-
appendIcon:
|
21424
|
+
appendIcon: IconValue,
|
21422
21425
|
color: String,
|
21423
21426
|
header: String,
|
21424
21427
|
transition: String,
|
@@ -26070,20 +26073,20 @@ const makeStepperItemProps = propsFactory({
|
|
26070
26073
|
subtitle: String,
|
26071
26074
|
complete: Boolean,
|
26072
26075
|
completeIcon: {
|
26073
|
-
type:
|
26076
|
+
type: IconValue,
|
26074
26077
|
default: '$complete'
|
26075
26078
|
},
|
26076
26079
|
editable: Boolean,
|
26077
26080
|
editIcon: {
|
26078
|
-
type:
|
26081
|
+
type: IconValue,
|
26079
26082
|
default: '$edit'
|
26080
26083
|
},
|
26081
26084
|
error: Boolean,
|
26082
26085
|
errorIcon: {
|
26083
|
-
type:
|
26086
|
+
type: IconValue,
|
26084
26087
|
default: '$error'
|
26085
26088
|
},
|
26086
|
-
icon:
|
26089
|
+
icon: IconValue,
|
26087
26090
|
ripple: {
|
26088
26091
|
type: [Boolean, Object],
|
26089
26092
|
default: true
|
@@ -26244,10 +26247,10 @@ const VStepperWindowItem = genericComponent()({
|
|
26244
26247
|
const makeStepperProps = propsFactory({
|
26245
26248
|
altLabels: Boolean,
|
26246
26249
|
bgColor: String,
|
26247
|
-
completeIcon:
|
26248
|
-
editIcon:
|
26250
|
+
completeIcon: IconValue,
|
26251
|
+
editIcon: IconValue,
|
26249
26252
|
editable: Boolean,
|
26250
|
-
errorIcon:
|
26253
|
+
errorIcon: IconValue,
|
26251
26254
|
hideActions: Boolean,
|
26252
26255
|
items: {
|
26253
26256
|
type: Array,
|
@@ -28210,8 +28213,8 @@ const VNumberInput = genericComponent()({
|
|
28210
28213
|
const vTextFieldRef = ref();
|
28211
28214
|
const stepDecimals = computed(() => getDecimals(props.step));
|
28212
28215
|
const modelDecimals = computed(() => typeof model.value === 'number' ? getDecimals(model.value) : 0);
|
28213
|
-
const form = useForm();
|
28214
|
-
const controlsDisabled = computed(() =>
|
28216
|
+
const form = useForm(props);
|
28217
|
+
const controlsDisabled = computed(() => form.isDisabled.value || form.isReadonly.value);
|
28215
28218
|
const canIncrease = computed(() => {
|
28216
28219
|
if (controlsDisabled.value) return false;
|
28217
28220
|
return (model.value ?? 0) + props.step <= props.max;
|
@@ -28234,7 +28237,7 @@ const VNumberInput = genericComponent()({
|
|
28234
28237
|
click: onClickDown
|
28235
28238
|
}));
|
28236
28239
|
onMounted(() => {
|
28237
|
-
if (!
|
28240
|
+
if (!controlsDisabled.value) {
|
28238
28241
|
clampModel();
|
28239
28242
|
}
|
28240
28243
|
});
|
@@ -29591,9 +29594,8 @@ const VTreeviewItem = genericComponent()({
|
|
29591
29594
|
const vListItemRef = ref();
|
29592
29595
|
const isActivatableGroupActivator = computed(() => vListItemRef.value?.root.activatable.value && vListItemRef.value?.isGroupActivator);
|
29593
29596
|
const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || props.value != null && !!vListItemRef.value?.list || isActivatableGroupActivator.value));
|
29594
|
-
function
|
29595
|
-
if (
|
29596
|
-
if (vListItemRef.value?.root.activatable.value) {
|
29597
|
+
function activateGroupActivator(e) {
|
29598
|
+
if (isClickable.value && isActivatableGroupActivator.value) {
|
29597
29599
|
vListItemRef.value?.activate(!vListItemRef.value?.isActivated, e);
|
29598
29600
|
}
|
29599
29601
|
}
|
@@ -29612,7 +29614,7 @@ const VTreeviewItem = genericComponent()({
|
|
29612
29614
|
'v-treeview-item--filtered': visibleIds.value && !visibleIds.value.has(vListItemRef.value?.id)
|
29613
29615
|
}, props.class],
|
29614
29616
|
"ripple": false,
|
29615
|
-
"onClick": props.onClick ??
|
29617
|
+
"onClick": props.onClick ?? activateGroupActivator
|
29616
29618
|
}), {
|
29617
29619
|
...slots,
|
29618
29620
|
prepend: hasPrepend ? slotProps => {
|
@@ -30402,7 +30404,7 @@ function createVuetify$1() {
|
|
30402
30404
|
goTo
|
30403
30405
|
};
|
30404
30406
|
}
|
30405
|
-
const version$1 = "3.7.4-master.2024-11-
|
30407
|
+
const version$1 = "3.7.4-master.2024-11-29";
|
30406
30408
|
createVuetify$1.version = version$1;
|
30407
30409
|
|
30408
30410
|
// Vue's inject() can only be used in setup
|
@@ -30655,7 +30657,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
30655
30657
|
|
30656
30658
|
/* eslint-disable local-rules/sort-imports */
|
30657
30659
|
|
30658
|
-
const version = "3.7.4-master.2024-11-
|
30660
|
+
const version = "3.7.4-master.2024-11-29";
|
30659
30661
|
|
30660
30662
|
/* eslint-disable local-rules/sort-imports */
|
30661
30663
|
|