@vuetify/nightly 3.11.4-dev.2025-12-21 → 3.11.4-dev.2025-12-22
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 +25 -3
- package/dist/json/attributes.json +1109 -1109
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +196 -196
- package/dist/json/web-types.json +2247 -2247
- package/dist/vuetify-labs.cjs +40 -15
- package/dist/vuetify-labs.css +4805 -4809
- package/dist/vuetify-labs.d.ts +83 -70
- package/dist/vuetify-labs.esm.js +40 -15
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +40 -15
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +35 -11
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3454 -3458
- package/dist/vuetify.d.ts +83 -70
- package/dist/vuetify.esm.js +35 -11
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +35 -11
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +17 -17
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VDataTable/VDataTableRows.js +1 -1
- package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.js +5 -2
- package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
- package/lib/components/VDataTable/types.d.ts +1 -0
- package/lib/components/VDataTable/types.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.js +7 -3
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/components/VGrid/VContainer.css +34 -0
- package/lib/components/VGrid/VContainer.js +1 -1
- package/lib/components/VGrid/VContainer.js.map +1 -1
- package/lib/components/VGrid/VContainer.sass +15 -0
- package/lib/components/VGrid/VGrid.css +0 -39
- package/lib/components/VGrid/VGrid.sass +0 -15
- package/lib/components/VGrid/VSpacer.css +3 -0
- package/lib/components/VGrid/VSpacer.js +1 -1
- package/lib/components/VGrid/VSpacer.js.map +1 -1
- package/lib/components/VGrid/VSpacer.sass +5 -0
- package/lib/components/VList/VListItem.d.ts +3 -0
- package/lib/components/VNumberInput/VNumberInput.js +1 -1
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewChildren.js +2 -2
- package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewItem.d.ts +9 -0
- package/lib/composables/nested/nested.d.ts +3 -0
- package/lib/composables/nested/nested.js +17 -0
- package/lib/composables/nested/nested.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +71 -70
- package/lib/framework.js +1 -1
- package/lib/labs/VDateInput/VDateInput.js +5 -4
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/lib/styles/settings/_variables.scss +11 -0
- package/lib/styles/utilities/_display.sass +2 -1
- package/lib/styles/utilities/_elevation.scss +2 -1
- package/lib/styles/utilities/_pointer-events.sass +2 -1
- package/lib/styles/utilities/_screenreaders.sass +2 -1
- package/package.json +1 -1
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.11.4-dev.2025-12-
|
|
2
|
+
* Vuetify v3.11.4-dev.2025-12-22
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -9497,6 +9497,7 @@
|
|
|
9497
9497
|
itemsRegistration: vue.ref('render'),
|
|
9498
9498
|
register: () => null,
|
|
9499
9499
|
unregister: () => null,
|
|
9500
|
+
updateDisabled: () => null,
|
|
9500
9501
|
children: vue.ref(new Map()),
|
|
9501
9502
|
parents: vue.ref(new Map()),
|
|
9502
9503
|
disabled: vue.ref(new Set()),
|
|
@@ -9692,6 +9693,19 @@
|
|
|
9692
9693
|
parents.value.delete(id);
|
|
9693
9694
|
itemsUpdatePropagation();
|
|
9694
9695
|
},
|
|
9696
|
+
updateDisabled: (id, isDisabled) => {
|
|
9697
|
+
if (isDisabled) {
|
|
9698
|
+
disabled.value.add(id);
|
|
9699
|
+
} else {
|
|
9700
|
+
disabled.value.delete(id);
|
|
9701
|
+
}
|
|
9702
|
+
// classic selection requires refresh to re-evaluate on/off/indeterminate but
|
|
9703
|
+
// currently it is only run for selection interactions, so it will set new disabled
|
|
9704
|
+
// to "off" and the visual state becomes out of sync
|
|
9705
|
+
// -- selected.value = new Map(selected.value)
|
|
9706
|
+
// it is not clear if the framework should un-select when disabled changed to true
|
|
9707
|
+
// more discussion is needed
|
|
9708
|
+
},
|
|
9695
9709
|
open: (id, value, event) => {
|
|
9696
9710
|
vm.emit('click:open', {
|
|
9697
9711
|
id,
|
|
@@ -9824,6 +9838,9 @@
|
|
|
9824
9838
|
parent.root.register(val, parent.id.value, vue.toValue(isDisabled), isGroup);
|
|
9825
9839
|
});
|
|
9826
9840
|
});
|
|
9841
|
+
vue.watch(() => vue.toValue(isDisabled), val => {
|
|
9842
|
+
parent.root.updateDisabled(computedId.value, val);
|
|
9843
|
+
});
|
|
9827
9844
|
isGroup && vue.provide(VNestedSymbol, item);
|
|
9828
9845
|
return item;
|
|
9829
9846
|
};
|
|
@@ -25680,7 +25697,7 @@
|
|
|
25680
25697
|
return slots['group-summary']?.(slotProps) ?? '';
|
|
25681
25698
|
}
|
|
25682
25699
|
const slotProps = {
|
|
25683
|
-
index,
|
|
25700
|
+
index: item.virtualIndex ?? index,
|
|
25684
25701
|
item: item.raw,
|
|
25685
25702
|
internalItem: item,
|
|
25686
25703
|
columns: columns.value,
|
|
@@ -26155,7 +26172,10 @@
|
|
|
26155
26172
|
calculateVisibleItems,
|
|
26156
26173
|
scrollToIndex
|
|
26157
26174
|
} = useVirtual(props, flatItems);
|
|
26158
|
-
const displayItems = vue.computed(() => computedItems.value.map(item =>
|
|
26175
|
+
const displayItems = vue.computed(() => computedItems.value.map(item => ({
|
|
26176
|
+
...item.raw,
|
|
26177
|
+
virtualIndex: item.index
|
|
26178
|
+
})));
|
|
26159
26179
|
useOptions({
|
|
26160
26180
|
sortBy,
|
|
26161
26181
|
page: vue.shallowRef(1),
|
|
@@ -26248,7 +26268,7 @@
|
|
|
26248
26268
|
}) ?? vue.createVNode(VDataTableRow, vue.mergeProps(itemSlotProps.props, {
|
|
26249
26269
|
"ref": itemRef,
|
|
26250
26270
|
"key": itemSlotProps.internalItem.index,
|
|
26251
|
-
"index": itemSlotProps.
|
|
26271
|
+
"index": itemSlotProps.index
|
|
26252
26272
|
}), slots);
|
|
26253
26273
|
}
|
|
26254
26274
|
})
|
|
@@ -27549,6 +27569,7 @@
|
|
|
27549
27569
|
} = _ref;
|
|
27550
27570
|
const adapter = useDate();
|
|
27551
27571
|
const model = useProxiedModel(props, 'modelValue');
|
|
27572
|
+
const hasFocusedItem = vue.shallowRef(false);
|
|
27552
27573
|
const years = vue.computed(() => {
|
|
27553
27574
|
const year = adapter.getYear(adapter.date());
|
|
27554
27575
|
let min = year - 100;
|
|
@@ -27576,7 +27597,6 @@
|
|
|
27576
27597
|
});
|
|
27577
27598
|
const yearRef = templateRef();
|
|
27578
27599
|
function focusSelectedYear() {
|
|
27579
|
-
yearRef.el?.focus();
|
|
27580
27600
|
yearRef.el?.scrollIntoView({
|
|
27581
27601
|
block: 'center'
|
|
27582
27602
|
});
|
|
@@ -27596,7 +27616,11 @@
|
|
|
27596
27616
|
height: convertToUnit(props.height)
|
|
27597
27617
|
}
|
|
27598
27618
|
}, [vue.createElementVNode("div", {
|
|
27599
|
-
"class": "v-date-picker-years__content"
|
|
27619
|
+
"class": "v-date-picker-years__content",
|
|
27620
|
+
"onFocus": () => yearRef.el?.focus(),
|
|
27621
|
+
"onFocusin": () => hasFocusedItem.value = true,
|
|
27622
|
+
"onFocusout": () => hasFocusedItem.value = false,
|
|
27623
|
+
"tabindex": hasFocusedItem.value ? -1 : 0
|
|
27600
27624
|
}, [years.value.map((year, i) => {
|
|
27601
27625
|
const btnProps = {
|
|
27602
27626
|
ref: model.value === year.value ? yearRef : undefined,
|
|
@@ -30971,7 +30995,7 @@
|
|
|
30971
30995
|
"focused": isFocused.value,
|
|
30972
30996
|
"onUpdate:focused": $event => isFocused.value = $event,
|
|
30973
30997
|
"validationValue": model.value,
|
|
30974
|
-
"error": isOutOfRange.value || undefined,
|
|
30998
|
+
"error": props.error || isOutOfRange.value || undefined,
|
|
30975
30999
|
"onBeforeinput": onBeforeinput,
|
|
30976
31000
|
"onFocus": onFocus,
|
|
30977
31001
|
"onBlur": onBlur,
|
|
@@ -35766,7 +35790,7 @@
|
|
|
35766
35790
|
default: () => [vue.createVNode(VCheckboxBtn, {
|
|
35767
35791
|
"key": item.value,
|
|
35768
35792
|
"modelValue": slotProps.isSelected,
|
|
35769
|
-
"disabled": props.disabled,
|
|
35793
|
+
"disabled": props.disabled || itemProps.disabled,
|
|
35770
35794
|
"loading": loading,
|
|
35771
35795
|
"color": props.selectedColor,
|
|
35772
35796
|
"density": props.density,
|
|
@@ -35829,7 +35853,7 @@
|
|
|
35829
35853
|
hideActions: props.hideActions,
|
|
35830
35854
|
indentLines: indentLines.node,
|
|
35831
35855
|
onToggleExpand: [() => checkChildren(item), activatorProps.onClick],
|
|
35832
|
-
onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected)
|
|
35856
|
+
onClick: props.disabled || itemProps.disabled ? undefined : isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected)
|
|
35833
35857
|
};
|
|
35834
35858
|
return renderSlot(slots.header, {
|
|
35835
35859
|
props: listItemProps,
|
|
@@ -36490,6 +36514,7 @@
|
|
|
36490
36514
|
}
|
|
36491
36515
|
}
|
|
36492
36516
|
useRender(() => {
|
|
36517
|
+
const hasPrepend = !!(props.prependIcon || slots.prepend);
|
|
36493
36518
|
const confirmEditProps = VConfirmEdit.filterProps(props);
|
|
36494
36519
|
const datePickerProps = {
|
|
36495
36520
|
...VDatePicker.filterProps(omit(props, ['active', 'bgColor', 'color', 'location', 'rounded', 'maxWidth', 'minWidth', 'width'])),
|
|
@@ -36567,12 +36592,12 @@
|
|
|
36567
36592
|
}
|
|
36568
36593
|
})]
|
|
36569
36594
|
}), slots.default?.()]),
|
|
36570
|
-
prepend: prependSlotProps => slots.prepend ? slots.prepend(prependSlotProps) : props.prependIcon && vue.createVNode(InputIcon, {
|
|
36595
|
+
prepend: hasPrepend ? prependSlotProps => slots.prepend ? slots.prepend(prependSlotProps) : props.prependIcon && vue.createVNode(InputIcon, {
|
|
36571
36596
|
"key": "prepend-icon",
|
|
36572
36597
|
"name": "prepend",
|
|
36573
|
-
"tabindex": -1,
|
|
36574
|
-
"onClick": onClick
|
|
36575
|
-
}, null)
|
|
36598
|
+
"tabindex": props['onClick:prepend'] ? undefined : -1,
|
|
36599
|
+
"onClick": isInteractive.value ? onClick : undefined
|
|
36600
|
+
}, null) : undefined
|
|
36576
36601
|
});
|
|
36577
36602
|
});
|
|
36578
36603
|
return forwardRefs({}, vTextFieldRef);
|
|
@@ -39422,7 +39447,7 @@
|
|
|
39422
39447
|
};
|
|
39423
39448
|
});
|
|
39424
39449
|
}
|
|
39425
|
-
const version$1 = "3.11.4-dev.2025-12-
|
|
39450
|
+
const version$1 = "3.11.4-dev.2025-12-22";
|
|
39426
39451
|
createVuetify$1.version = version$1;
|
|
39427
39452
|
|
|
39428
39453
|
// Vue's inject() can only be used in setup
|
|
@@ -39725,7 +39750,7 @@
|
|
|
39725
39750
|
|
|
39726
39751
|
/* eslint-disable local-rules/sort-imports */
|
|
39727
39752
|
|
|
39728
|
-
const version = "3.11.4-dev.2025-12-
|
|
39753
|
+
const version = "3.11.4-dev.2025-12-22";
|
|
39729
39754
|
|
|
39730
39755
|
/* eslint-disable local-rules/sort-imports */
|
|
39731
39756
|
|