@vuetify/nightly 3.9.0-beta.1-dev.2025-07-05 → 3.9.0-dev.2025-07-15
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 +4 -113
- package/dist/json/attributes.json +3780 -3744
- package/dist/json/importMap-labs.json +16 -16
- package/dist/json/importMap.json +190 -190
- package/dist/json/tags.json +9 -0
- package/dist/json/web-types.json +6526 -6437
- package/dist/vuetify-labs.cjs +136 -34
- package/dist/vuetify-labs.css +4604 -4547
- package/dist/vuetify-labs.d.ts +280 -185
- package/dist/vuetify-labs.esm.js +136 -34
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +136 -34
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +135 -33
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +3908 -3851
- package/dist/vuetify.d.ts +280 -185
- package/dist/vuetify.esm.js +135 -33
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +135 -33
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1089 -1085
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.d.ts +39 -14
- package/lib/components/VAutocomplete/VAutocomplete.js +3 -2
- package/lib/components/VAutocomplete/VAutocomplete.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.d.ts +39 -14
- package/lib/components/VCombobox/VCombobox.js +3 -2
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VDataIterator/composables/items.d.ts +2 -1
- package/lib/components/VDataIterator/composables/items.js.map +1 -1
- package/lib/components/VDataTable/types.d.ts +1 -1
- package/lib/components/VDataTable/types.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.js +2 -1
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VList/VList.d.ts +24 -27
- package/lib/components/VList/VList.js +2 -5
- package/lib/components/VList/VList.js.map +1 -1
- package/lib/components/VList/VListItem.js +7 -1
- package/lib/components/VList/VListItem.js.map +1 -1
- package/lib/components/VSelect/VSelect.d.ts +58 -22
- package/lib/components/VSelect/VSelect.js +3 -2
- package/lib/components/VSelect/VSelect.js.map +1 -1
- package/lib/components/VTreeview/VTreeview.d.ts +229 -167
- package/lib/components/VTreeview/VTreeview.js +7 -3
- package/lib/components/VTreeview/VTreeview.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewChildren.d.ts +81 -10
- package/lib/components/VTreeview/VTreeviewChildren.js +50 -11
- package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewItem.css +57 -0
- package/lib/components/VTreeview/VTreeviewItem.d.ts +119 -94
- package/lib/components/VTreeview/VTreeviewItem.js +13 -3
- package/lib/components/VTreeview/VTreeviewItem.js.map +1 -1
- package/lib/components/VTreeview/VTreeviewItem.sass +60 -0
- package/lib/components/VTreeview/_variables.scss +15 -0
- package/lib/composables/filter.d.ts +1 -0
- package/lib/composables/filter.js +1 -1
- package/lib/composables/filter.js.map +1 -1
- package/lib/composables/list-items.d.ts +14 -1
- package/lib/composables/list-items.js +9 -3
- package/lib/composables/list-items.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/entry-bundler.js.map +1 -1
- package/lib/framework.d.ts +65 -64
- package/lib/framework.js +1 -1
- package/lib/framework.js.map +1 -1
- package/lib/labs/VCalendar/VCalendar.js +1 -1
- package/lib/labs/VCalendar/VCalendar.js.map +1 -1
- package/lib/util/helpers.d.ts +3 -0
- package/lib/util/helpers.js +4 -0
- package/lib/util/helpers.js.map +1 -1
- package/lib/util/indentLines.d.ts +17 -0
- package/lib/util/indentLines.js +34 -0
- package/lib/util/indentLines.js.map +1 -0
- package/lib/util/index.d.ts +1 -0
- package/lib/util/index.js +1 -0
- package/lib/util/index.js.map +1 -1
- package/package.json +1 -1
package/dist/vuetify-labs.esm.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.9.0-
|
2
|
+
* Vuetify v3.9.0-dev.2025-07-15
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -546,6 +546,10 @@ function ensureValidVNode(vnodes) {
|
|
546
546
|
return child.type !== Fragment || ensureValidVNode(child.children);
|
547
547
|
}) ? vnodes : null;
|
548
548
|
}
|
549
|
+
function renderSlot(slot, props, fallback) {
|
550
|
+
// TODO: check if slot returns elements: #18308
|
551
|
+
return slot?.(props) ?? fallback?.(props);
|
552
|
+
}
|
549
553
|
function defer(timeout, cb) {
|
550
554
|
if (!IN_BROWSER || timeout === 0) {
|
551
555
|
cb();
|
@@ -1620,6 +1624,40 @@ function isPotentiallyScrollable(el) {
|
|
1620
1624
|
return ['scroll', 'auto'].includes(style.overflowY);
|
1621
1625
|
}
|
1622
1626
|
|
1627
|
+
// Types
|
1628
|
+
|
1629
|
+
function getIndentLines(_ref) {
|
1630
|
+
let {
|
1631
|
+
depth,
|
1632
|
+
isLast,
|
1633
|
+
isLastGroup,
|
1634
|
+
leafLinks,
|
1635
|
+
separateRoots,
|
1636
|
+
parentIndentLines,
|
1637
|
+
variant
|
1638
|
+
} = _ref;
|
1639
|
+
if (!parentIndentLines || !depth) {
|
1640
|
+
return {
|
1641
|
+
leaf: undefined,
|
1642
|
+
node: undefined,
|
1643
|
+
children: parentIndentLines
|
1644
|
+
};
|
1645
|
+
}
|
1646
|
+
if (variant === 'simple') {
|
1647
|
+
return {
|
1648
|
+
leaf: [...parentIndentLines, 'line'],
|
1649
|
+
node: [...parentIndentLines, 'line'],
|
1650
|
+
children: [...parentIndentLines, 'line']
|
1651
|
+
};
|
1652
|
+
}
|
1653
|
+
const isLastLeaf = isLast && (!isLastGroup || separateRoots || depth > 1);
|
1654
|
+
return {
|
1655
|
+
leaf: [...parentIndentLines, isLastLeaf ? 'last-leaf' : 'leaf', ...(leafLinks ? ['leaf-link'] : [])],
|
1656
|
+
node: [...parentIndentLines, isLastLeaf ? 'last-leaf' : 'leaf'],
|
1657
|
+
children: [...parentIndentLines, isLastLeaf ? 'none' : 'line']
|
1658
|
+
};
|
1659
|
+
}
|
1660
|
+
|
1623
1661
|
function isFixedPosition(el) {
|
1624
1662
|
while (el) {
|
1625
1663
|
if (window.getComputedStyle(el).position === 'fixed') {
|
@@ -9520,6 +9558,11 @@ const VListItem = genericComponent()({
|
|
9520
9558
|
const isLink = toRef(() => props.link !== false && link.isLink.value);
|
9521
9559
|
const isSelectable = computed(() => !!list && (root.selectable.value || root.activatable.value || props.value != null));
|
9522
9560
|
const isClickable = computed(() => !props.disabled && props.link !== false && (props.link || link.isClickable.value || isSelectable.value));
|
9561
|
+
const role = computed(() => list ? isSelectable.value ? 'option' : 'listitem' : undefined);
|
9562
|
+
const ariaSelected = computed(() => {
|
9563
|
+
if (!isSelectable.value) return undefined;
|
9564
|
+
return root.activatable.value ? isActivated.value : root.selectable.value ? isSelected.value : isActive.value;
|
9565
|
+
});
|
9523
9566
|
const roundedProps = toRef(() => props.rounded || props.nav);
|
9524
9567
|
const color = toRef(() => props.color ?? props.activeColor);
|
9525
9568
|
const variantProps = toRef(() => ({
|
@@ -9623,7 +9666,8 @@ const VListItem = genericComponent()({
|
|
9623
9666
|
}, themeClasses.value, borderClasses.value, colorClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, variantClasses.value, props.class],
|
9624
9667
|
"style": [colorStyles.value, dimensionStyles.value, props.style],
|
9625
9668
|
"tabindex": isClickable.value ? list ? -2 : 0 : undefined,
|
9626
|
-
"aria-selected":
|
9669
|
+
"aria-selected": ariaSelected.value,
|
9670
|
+
"role": role.value,
|
9627
9671
|
"onClick": onClick,
|
9628
9672
|
"onKeydown": isClickable.value && !isLink.value && onKeyDown
|
9629
9673
|
}, link.linkProps), {
|
@@ -9866,6 +9910,10 @@ const makeItemsProps = propsFactory({
|
|
9866
9910
|
type: [Boolean, String, Array, Function],
|
9867
9911
|
default: 'props'
|
9868
9912
|
},
|
9913
|
+
itemType: {
|
9914
|
+
type: [Boolean, String, Array, Function],
|
9915
|
+
default: 'type'
|
9916
|
+
},
|
9869
9917
|
returnObject: Boolean,
|
9870
9918
|
valueComparator: Function
|
9871
9919
|
}, 'list-items');
|
@@ -9873,6 +9921,7 @@ function transformItem$3(props, item) {
|
|
9873
9921
|
const title = getPropertyFromItem(item, props.itemTitle, item);
|
9874
9922
|
const value = getPropertyFromItem(item, props.itemValue, title);
|
9875
9923
|
const children = getPropertyFromItem(item, props.itemChildren);
|
9924
|
+
const type = getPropertyFromItem(item, props.itemType, 'item');
|
9876
9925
|
const itemProps = props.itemProps === true ? typeof item === 'object' && item != null && !Array.isArray(item) ? 'children' in item ? omit(item, ['children']) : item : undefined : getPropertyFromItem(item, props.itemProps);
|
9877
9926
|
const _props = {
|
9878
9927
|
title,
|
@@ -9880,15 +9929,16 @@ function transformItem$3(props, item) {
|
|
9880
9929
|
...itemProps
|
9881
9930
|
};
|
9882
9931
|
return {
|
9932
|
+
type,
|
9883
9933
|
title: String(_props.title ?? ''),
|
9884
9934
|
value: _props.value,
|
9885
9935
|
props: _props,
|
9886
|
-
children: Array.isArray(children) ? transformItems$3(props, children) : undefined,
|
9936
|
+
children: type === 'item' && Array.isArray(children) ? transformItems$3(props, children) : undefined,
|
9887
9937
|
raw: item
|
9888
9938
|
};
|
9889
9939
|
}
|
9890
9940
|
function transformItems$3(props, items) {
|
9891
|
-
const _props = pick(props, ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'returnObject', 'valueComparator']);
|
9941
|
+
const _props = pick(props, ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'itemType', 'returnObject', 'valueComparator']);
|
9892
9942
|
const array = [];
|
9893
9943
|
for (const item of items) {
|
9894
9944
|
array.push(transformItem$3(_props, item));
|
@@ -9930,7 +9980,7 @@ function useItems(props) {
|
|
9930
9980
|
const _returnObject = props.returnObject;
|
9931
9981
|
const hasValueComparator = !!props.valueComparator;
|
9932
9982
|
const valueComparator = props.valueComparator || deepEqual;
|
9933
|
-
const _props = pick(props, ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'returnObject', 'valueComparator']);
|
9983
|
+
const _props = pick(props, ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'itemType', 'returnObject', 'valueComparator']);
|
9934
9984
|
const returnValue = [];
|
9935
9985
|
main: for (const v of value) {
|
9936
9986
|
// When the model value is null, return an InternalItem
|
@@ -10050,10 +10100,6 @@ const makeVListProps = propsFactory({
|
|
10050
10100
|
...makeDensityProps(),
|
10051
10101
|
...makeDimensionProps(),
|
10052
10102
|
...makeElevationProps(),
|
10053
|
-
itemType: {
|
10054
|
-
type: String,
|
10055
|
-
default: 'type'
|
10056
|
-
},
|
10057
10103
|
...makeItemsProps(),
|
10058
10104
|
...makeRoundedProps(),
|
10059
10105
|
...makeTagProps(),
|
@@ -10113,6 +10159,7 @@ const VList = genericComponent()({
|
|
10113
10159
|
const activeColor = toRef(() => props.activeColor);
|
10114
10160
|
const baseColor = toRef(() => props.baseColor);
|
10115
10161
|
const color = toRef(() => props.color);
|
10162
|
+
const isSelectable = toRef(() => props.selectable || props.activatable);
|
10116
10163
|
createList({
|
10117
10164
|
filterable: props.filterable
|
10118
10165
|
});
|
@@ -10182,7 +10229,7 @@ const VList = genericComponent()({
|
|
10182
10229
|
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, densityClasses.value, elevationClasses.value, lineClasses.value, roundedClasses.value, props.class]),
|
10183
10230
|
"style": normalizeStyle([backgroundColorStyles.value, dimensionStyles.value, props.style]),
|
10184
10231
|
"tabindex": props.disabled ? -1 : 0,
|
10185
|
-
"role":
|
10232
|
+
"role": isSelectable.value ? 'listbox' : 'list',
|
10186
10233
|
"aria-activedescendant": undefined,
|
10187
10234
|
"onFocusin": onFocusin,
|
10188
10235
|
"onFocusout": onFocusout,
|
@@ -13247,6 +13294,7 @@ const VSelect = genericComponent()({
|
|
13247
13294
|
"onKeydown": onListKeydown,
|
13248
13295
|
"onFocusin": onFocusin,
|
13249
13296
|
"tabindex": "-1",
|
13297
|
+
"selectable": true,
|
13250
13298
|
"aria-live": "polite",
|
13251
13299
|
"aria-label": `${props.label}-list`,
|
13252
13300
|
"color": props.itemColor ?? props.color
|
@@ -13272,7 +13320,7 @@ const VSelect = genericComponent()({
|
|
13272
13320
|
key: item.value,
|
13273
13321
|
onClick: () => select(item, null)
|
13274
13322
|
});
|
13275
|
-
if (item.
|
13323
|
+
if (item.type === 'divider') {
|
13276
13324
|
return slots.divider?.({
|
13277
13325
|
props: item.raw,
|
13278
13326
|
index
|
@@ -13280,7 +13328,7 @@ const VSelect = genericComponent()({
|
|
13280
13328
|
"key": `divider-${index}`
|
13281
13329
|
}), null);
|
13282
13330
|
}
|
13283
|
-
if (item.
|
13331
|
+
if (item.type === 'subheader') {
|
13284
13332
|
return slots.subheader?.({
|
13285
13333
|
props: item.raw,
|
13286
13334
|
index
|
@@ -13448,7 +13496,7 @@ function filterItems(items, query, options) {
|
|
13448
13496
|
let match = -1;
|
13449
13497
|
if ((query || customFiltersLength > 0) && !options?.noFilter) {
|
13450
13498
|
if (typeof item === 'object') {
|
13451
|
-
if (
|
13499
|
+
if (item.type === 'divider' || item.type === 'subheader') {
|
13452
13500
|
continue;
|
13453
13501
|
}
|
13454
13502
|
const filterKeys = keys || Object.keys(transformed);
|
@@ -13866,6 +13914,7 @@ const VAutocomplete = genericComponent()({
|
|
13866
13914
|
"onFocusin": onFocusin,
|
13867
13915
|
"onFocusout": onFocusout,
|
13868
13916
|
"tabindex": "-1",
|
13917
|
+
"selectable": true,
|
13869
13918
|
"aria-live": "polite",
|
13870
13919
|
"color": props.itemColor ?? props.color
|
13871
13920
|
}, listEvents, props.listProps), {
|
@@ -13890,7 +13939,7 @@ const VAutocomplete = genericComponent()({
|
|
13890
13939
|
active: highlightFirst.value && index === 0 ? true : undefined,
|
13891
13940
|
onClick: () => select(item, null)
|
13892
13941
|
});
|
13893
|
-
if (item.
|
13942
|
+
if (item.type === 'divider') {
|
13894
13943
|
return slots.divider?.({
|
13895
13944
|
props: item.raw,
|
13896
13945
|
index
|
@@ -13898,7 +13947,7 @@ const VAutocomplete = genericComponent()({
|
|
13898
13947
|
"key": `divider-${index}`
|
13899
13948
|
}), null);
|
13900
13949
|
}
|
13901
|
-
if (item.
|
13950
|
+
if (item.type === 'subheader') {
|
13902
13951
|
return slots.subheader?.({
|
13903
13952
|
props: item.raw,
|
13904
13953
|
index
|
@@ -18953,6 +19002,7 @@ const VCombobox = genericComponent()({
|
|
18953
19002
|
"selected": selectedValues.value,
|
18954
19003
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
18955
19004
|
"onMousedown": e => e.preventDefault(),
|
19005
|
+
"selectable": true,
|
18956
19006
|
"onKeydown": onListKeydown,
|
18957
19007
|
"onFocusin": onFocusin,
|
18958
19008
|
"onFocusout": onFocusout,
|
@@ -18981,7 +19031,7 @@ const VCombobox = genericComponent()({
|
|
18981
19031
|
active: highlightFirst.value && index === 0 ? true : undefined,
|
18982
19032
|
onClick: () => select(item, null)
|
18983
19033
|
});
|
18984
|
-
if (item.
|
19034
|
+
if (item.type === 'divider') {
|
18985
19035
|
return slots.divider?.({
|
18986
19036
|
props: item.raw,
|
18987
19037
|
index
|
@@ -18989,7 +19039,7 @@ const VCombobox = genericComponent()({
|
|
18989
19039
|
"key": `divider-${index}`
|
18990
19040
|
}), null);
|
18991
19041
|
}
|
18992
|
-
if (item.
|
19042
|
+
if (item.type === 'subheader') {
|
18993
19043
|
return slots.subheader?.({
|
18994
19044
|
props: item.raw,
|
18995
19045
|
index
|
@@ -23331,7 +23381,8 @@ const VDatePicker = genericComponent()({
|
|
23331
23381
|
}
|
23332
23382
|
function allowedMonths(month) {
|
23333
23383
|
if (typeof props.allowedDates === 'function') {
|
23334
|
-
const
|
23384
|
+
const monthTwoDigits = String(month + 1).padStart(2, '0');
|
23385
|
+
const startOfMonth = adapter.parseISO(`${year.value}-${monthTwoDigits}-01`);
|
23335
23386
|
return isAllowedInRange(startOfMonth, adapter.endOfMonth(startOfMonth));
|
23336
23387
|
}
|
23337
23388
|
if (Array.isArray(props.allowedDates) && props.allowedDates.length) {
|
@@ -30127,6 +30178,8 @@ const VTreeviewSymbol = Symbol.for('vuetify:v-treeview');
|
|
30127
30178
|
|
30128
30179
|
const makeVTreeviewItemProps = propsFactory({
|
30129
30180
|
loading: Boolean,
|
30181
|
+
hideActions: Boolean,
|
30182
|
+
indentLines: Array,
|
30130
30183
|
toggleIcon: IconValue,
|
30131
30184
|
...makeVListItemProps({
|
30132
30185
|
slim: true
|
@@ -30163,7 +30216,7 @@ const VTreeviewItem = genericComponent()({
|
|
30163
30216
|
}
|
30164
30217
|
useRender(() => {
|
30165
30218
|
const listItemProps = VListItem.filterProps(props);
|
30166
|
-
const hasPrepend = slots.prepend || props.toggleIcon;
|
30219
|
+
const hasPrepend = slots.prepend || props.toggleIcon || props.indentLines;
|
30167
30220
|
return createVNode(VListItem, mergeProps({
|
30168
30221
|
"ref": vListItemRef
|
30169
30222
|
}, listItemProps, {
|
@@ -30177,7 +30230,15 @@ const VTreeviewItem = genericComponent()({
|
|
30177
30230
|
}), {
|
30178
30231
|
...slots,
|
30179
30232
|
prepend: hasPrepend ? slotProps => {
|
30180
|
-
return createElementVNode(Fragment, null, [
|
30233
|
+
return createElementVNode(Fragment, null, [props.indentLines && props.indentLines.length > 0 ? createElementVNode("div", {
|
30234
|
+
"key": "indent-lines",
|
30235
|
+
"class": "v-treeview-indent-lines",
|
30236
|
+
"style": {
|
30237
|
+
'--v-indent-parts': props.indentLines.length
|
30238
|
+
}
|
30239
|
+
}, [props.indentLines.map(type => createElementVNode("div", {
|
30240
|
+
"class": normalizeClass(`v-treeview-indent-line v-treeview-indent-line--${type}`)
|
30241
|
+
}, null))]) : '', !props.hideActions && createVNode(VListItemAction, {
|
30181
30242
|
"start": true
|
30182
30243
|
}, {
|
30183
30244
|
default: () => [props.toggleIcon ? createVNode(VBtn, {
|
@@ -30229,10 +30290,15 @@ const makeVTreeviewChildrenProps = propsFactory({
|
|
30229
30290
|
selectedColor: String,
|
30230
30291
|
selectStrategy: [String, Function, Object],
|
30231
30292
|
index: Number,
|
30293
|
+
isLastGroup: Boolean,
|
30294
|
+
separateRoots: Boolean,
|
30295
|
+
parentIndentLines: Array,
|
30296
|
+
indentLinesVariant: String,
|
30232
30297
|
path: {
|
30233
30298
|
type: Array,
|
30234
30299
|
default: () => []
|
30235
30300
|
},
|
30301
|
+
...pick(makeVTreeviewItemProps(), ['hideActions']),
|
30236
30302
|
...makeDensityProps()
|
30237
30303
|
}, 'VTreeviewChildren');
|
30238
30304
|
const VTreeviewChildren = genericComponent()({
|
@@ -30261,19 +30327,32 @@ const VTreeviewChildren = genericComponent()({
|
|
30261
30327
|
select(isSelected);
|
30262
30328
|
}
|
30263
30329
|
}
|
30264
|
-
return () => slots.default?.() ?? props.items?.map((item, index) => {
|
30330
|
+
return () => slots.default?.() ?? props.items?.map((item, index, items) => {
|
30265
30331
|
const {
|
30266
30332
|
children,
|
30267
30333
|
props: itemProps
|
30268
30334
|
} = item;
|
30269
30335
|
const loading = isLoading.has(item.value);
|
30336
|
+
const nextItemHasChildren = !!items.at(index + 1)?.children;
|
30337
|
+
const depth = props.path?.length ?? 0;
|
30338
|
+
const isLast = items.length - 1 === index;
|
30270
30339
|
const treeItemProps = {
|
30271
30340
|
index,
|
30272
|
-
depth
|
30341
|
+
depth,
|
30273
30342
|
isFirst: index === 0,
|
30274
|
-
isLast
|
30275
|
-
path: [...props.path, index]
|
30343
|
+
isLast,
|
30344
|
+
path: [...props.path, index],
|
30345
|
+
hideAction: props.hideActions
|
30276
30346
|
};
|
30347
|
+
const indentLines = getIndentLines({
|
30348
|
+
depth,
|
30349
|
+
isLast,
|
30350
|
+
isLastGroup: props.isLastGroup,
|
30351
|
+
leafLinks: !props.hideActions,
|
30352
|
+
separateRoots: props.separateRoots,
|
30353
|
+
parentIndentLines: props.parentIndentLines,
|
30354
|
+
variant: props.indentLinesVariant
|
30355
|
+
});
|
30277
30356
|
const slotsWithItem = {
|
30278
30357
|
prepend: slotProps => createElementVNode(Fragment, null, [props.selectable && (!children || children && !['leaf', 'single-leaf'].includes(props.selectStrategy)) && createElementVNode("div", null, [createVNode(VCheckboxBtn, {
|
30279
30358
|
"key": item.value,
|
@@ -30339,21 +30418,40 @@ const VTreeviewChildren = genericComponent()({
|
|
30339
30418
|
return createVNode(VTreeviewItem, mergeProps({
|
30340
30419
|
"ref": el => activatorItems.value[index] = el
|
30341
30420
|
}, listItemProps, {
|
30421
|
+
"hideActions": props.hideActions,
|
30422
|
+
"indentLines": indentLines.node,
|
30342
30423
|
"value": props.returnObject ? item.raw : itemProps.value,
|
30343
30424
|
"loading": loading
|
30344
30425
|
}), slotsWithItem);
|
30345
30426
|
},
|
30346
30427
|
default: () => createVNode(VTreeviewChildren, mergeProps(treeviewChildrenProps, {
|
30347
30428
|
"items": children,
|
30429
|
+
"indentLinesVariant": props.indentLinesVariant,
|
30430
|
+
"parentIndentLines": indentLines.children,
|
30431
|
+
"isLastGroup": nextItemHasChildren,
|
30348
30432
|
"returnObject": props.returnObject
|
30349
30433
|
}), slots)
|
30350
|
-
}) : slots.item
|
30434
|
+
}) : renderSlot(slots.item, {
|
30351
30435
|
props: itemProps,
|
30352
30436
|
item: item.raw,
|
30353
30437
|
internalItem: item
|
30354
|
-
}
|
30355
|
-
|
30356
|
-
|
30438
|
+
}, () => {
|
30439
|
+
if (item.type === 'divider') {
|
30440
|
+
return renderSlot(slots.divider, {
|
30441
|
+
props: item.raw
|
30442
|
+
}, () => createVNode(VDivider, item.props, null));
|
30443
|
+
}
|
30444
|
+
if (item.type === 'subheader') {
|
30445
|
+
return renderSlot(slots.subheader, {
|
30446
|
+
props: item.raw
|
30447
|
+
}, () => createVNode(VListSubheader, item.props, null));
|
30448
|
+
}
|
30449
|
+
return createVNode(VTreeviewItem, mergeProps(itemProps, {
|
30450
|
+
"hideActions": props.hideActions,
|
30451
|
+
"indentLines": indentLines.leaf,
|
30452
|
+
"value": props.returnObject ? toRaw(item.raw) : itemProps.value
|
30453
|
+
}), slotsWithItem);
|
30454
|
+
});
|
30357
30455
|
});
|
30358
30456
|
}
|
30359
30457
|
});
|
@@ -30369,16 +30467,17 @@ function flatten(items) {
|
|
30369
30467
|
const makeVTreeviewProps = propsFactory({
|
30370
30468
|
fluid: Boolean,
|
30371
30469
|
openAll: Boolean,
|
30470
|
+
indentLines: [Boolean, String],
|
30372
30471
|
search: String,
|
30373
30472
|
...makeFilterProps({
|
30374
30473
|
filterKeys: ['title']
|
30375
30474
|
}),
|
30376
|
-
...omit(makeVTreeviewChildrenProps(), ['index', 'path']),
|
30475
|
+
...omit(makeVTreeviewChildrenProps(), ['index', 'path', 'indentLinesVariant', 'parentIndentLines', 'isLastGroup']),
|
30377
30476
|
...omit(makeVListProps({
|
30378
30477
|
collapseIcon: '$treeviewCollapse',
|
30379
30478
|
expandIcon: '$treeviewExpand',
|
30380
30479
|
slim: true
|
30381
|
-
}), ['
|
30480
|
+
}), ['nav', 'openStrategy']),
|
30382
30481
|
modelValue: Array
|
30383
30482
|
}, 'VTreeview');
|
30384
30483
|
const VTreeview = genericComponent()({
|
@@ -30475,6 +30574,7 @@ const VTreeview = genericComponent()({
|
|
30475
30574
|
useRender(() => {
|
30476
30575
|
const listProps = VList.filterProps(props);
|
30477
30576
|
const treeviewChildrenProps = VTreeviewChildren.filterProps(props);
|
30577
|
+
const indentLinesVariant = typeof props.indentLines === 'boolean' ? 'default' : props.indentLines;
|
30478
30578
|
return createVNode(VList, mergeProps({
|
30479
30579
|
"ref": vListRef
|
30480
30580
|
}, listProps, {
|
@@ -30492,7 +30592,9 @@ const VTreeview = genericComponent()({
|
|
30492
30592
|
default: () => [createVNode(VTreeviewChildren, mergeProps(treeviewChildrenProps, {
|
30493
30593
|
"density": props.density,
|
30494
30594
|
"returnObject": props.returnObject,
|
30495
|
-
"items": items.value
|
30595
|
+
"items": items.value,
|
30596
|
+
"parentIndentLines": props.indentLines ? [] : undefined,
|
30597
|
+
"indentLinesVariant": indentLinesVariant
|
30496
30598
|
}), slots)]
|
30497
30599
|
});
|
30498
30600
|
});
|
@@ -31085,7 +31187,7 @@ const VCalendar = genericComponent()({
|
|
31085
31187
|
weekNumber: weekNumbers.value[wi],
|
31086
31188
|
week
|
31087
31189
|
}))), [weekNumbers.value[wi]]) : '', week.map(day => createVNode(VCalendarMonthDay, mergeProps({
|
31088
|
-
"key": day.date.getTime()
|
31190
|
+
"key": adapter.toJsDate(day.date).getTime()
|
31089
31191
|
}, calendarDayProps, {
|
31090
31192
|
"day": day,
|
31091
31193
|
"title": adapter.format(day.date, 'dayOfMonth'),
|
@@ -33580,7 +33682,7 @@ function createVuetify$1() {
|
|
33580
33682
|
};
|
33581
33683
|
});
|
33582
33684
|
}
|
33583
|
-
const version$1 = "3.9.0-
|
33685
|
+
const version$1 = "3.9.0-dev.2025-07-15";
|
33584
33686
|
createVuetify$1.version = version$1;
|
33585
33687
|
|
33586
33688
|
// Vue's inject() can only be used in setup
|
@@ -33878,7 +33980,7 @@ var index = /*#__PURE__*/Object.freeze({
|
|
33878
33980
|
|
33879
33981
|
/* eslint-disable local-rules/sort-imports */
|
33880
33982
|
|
33881
|
-
const version = "3.9.0-
|
33983
|
+
const version = "3.9.0-dev.2025-07-15";
|
33882
33984
|
|
33883
33985
|
/* eslint-disable local-rules/sort-imports */
|
33884
33986
|
|