@vuetify/nightly 3.9.3-master.2025-07-30 → 3.9.3-master.2025-08-01
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 +27 -3
- package/dist/json/attributes.json +2099 -2091
- package/dist/json/importMap-labs.json +26 -26
- package/dist/json/importMap.json +154 -154
- package/dist/json/tags.json +4 -2
- package/dist/json/web-types.json +3784 -3672
- package/dist/vuetify-labs.cjs +193 -96
- package/dist/vuetify-labs.css +5517 -5496
- package/dist/vuetify-labs.d.ts +211 -161
- package/dist/vuetify-labs.esm.js +193 -96
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +193 -96
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +171 -89
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2952 -2946
- package/dist/vuetify.d.ts +99 -89
- package/dist/vuetify.esm.js +171 -89
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +171 -89
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +228 -227
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VApp/VApp.d.ts +0 -25
- package/lib/components/VApp/VApp.js +3 -3
- package/lib/components/VApp/VApp.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.css +5 -0
- package/lib/components/VColorPicker/VColorPickerEdit.js +8 -1
- package/lib/components/VColorPicker/VColorPickerEdit.js.map +1 -1
- package/lib/components/VColorPicker/VColorPickerEdit.sass +5 -0
- package/lib/components/VColorPicker/VColorPickerPreview.js +8 -1
- package/lib/components/VColorPicker/VColorPickerPreview.js.map +1 -1
- package/lib/components/VColorPicker/util/index.d.ts +1 -0
- package/lib/components/VColorPicker/util/index.js +20 -10
- package/lib/components/VColorPicker/util/index.js.map +1 -1
- package/lib/components/VConfirmEdit/VConfirmEdit.js +1 -1
- package/lib/components/VConfirmEdit/VConfirmEdit.js.map +1 -1
- package/lib/components/VDataIterator/VDataIterator.d.ts +2 -2
- package/lib/components/VDataIterator/VDataIterator.js +1 -1
- package/lib/components/VDataIterator/VDataIterator.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.css +2 -1
- package/lib/components/VDataTable/VDataTable.d.ts +6 -4
- package/lib/components/VDataTable/VDataTable.js +1 -1
- package/lib/components/VDataTable/VDataTable.js.map +1 -1
- package/lib/components/VDataTable/VDataTable.sass +2 -1
- package/lib/components/VDataTable/VDataTableRows.d.ts +14 -11
- package/lib/components/VDataTable/VDataTableRows.js +9 -0
- package/lib/components/VDataTable/VDataTableRows.js.map +1 -1
- package/lib/components/VDataTable/VDataTableServer.d.ts +4 -2
- package/lib/components/VDataTable/VDataTableServer.js +1 -1
- package/lib/components/VDataTable/VDataTableServer.js.map +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.d.ts +4 -2
- package/lib/components/VDataTable/VDataTableVirtual.js +1 -1
- package/lib/components/VDataTable/VDataTableVirtual.js.map +1 -1
- package/lib/components/VDataTable/composables/group.d.ts +13 -5
- package/lib/components/VDataTable/composables/group.js +11 -5
- package/lib/components/VDataTable/composables/group.js.map +1 -1
- package/lib/components/VDataTable/composables/headers.js +53 -42
- package/lib/components/VDataTable/composables/headers.js.map +1 -1
- package/lib/components/VDataTable/composables/paginate.d.ts +3 -3
- package/lib/components/VDataTable/composables/paginate.js.map +1 -1
- package/lib/components/VDataTable/composables/sort.js +1 -1
- package/lib/components/VDataTable/composables/sort.js.map +1 -1
- package/lib/components/VDataTable/types.d.ts +7 -1
- package/lib/components/VDataTable/types.js.map +1 -1
- package/lib/components/VNumberInput/VNumberInput.js +1 -0
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VSlider/VSliderThumb.css +2 -2
- package/lib/components/VSlider/VSliderThumb.sass +2 -2
- package/lib/components/VTable/VTable.css +2 -2
- package/lib/components/VTable/VTable.js +32 -20
- package/lib/components/VTable/VTable.js.map +1 -1
- package/lib/components/VTable/VTable.sass +4 -4
- package/lib/components/VTreeview/VTreeviewChildren.d.ts +20 -2
- package/lib/components/VTreeview/VTreeviewChildren.js +7 -2
- package/lib/components/VTreeview/VTreeviewChildren.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +60 -60
- package/lib/framework.js +1 -1
- package/lib/labs/VColorInput/VColorInput.css +15 -0
- package/lib/labs/VColorInput/VColorInput.d.ts +287 -215
- package/lib/labs/VColorInput/VColorInput.js +23 -8
- package/lib/labs/VColorInput/VColorInput.js.map +1 -1
- package/lib/labs/VColorInput/VColorInput.sass +8 -0
- package/lib/labs/VColorInput/_variables.scss +2 -0
- package/lib/labs/VVideo/VVideoControls.js +1 -1
- package/lib/labs/VVideo/VVideoControls.js.map +1 -1
- package/lib/labs/VVideo/VVideoVolume.js +1 -1
- package/lib/labs/VVideo/VVideoVolume.js.map +1 -1
- package/lib/locale/af.d.ts +17 -0
- package/lib/locale/af.js +17 -0
- package/lib/locale/af.js.map +1 -1
- package/lib/locale/ar.d.ts +17 -0
- package/lib/locale/ar.js +17 -0
- package/lib/locale/ar.js.map +1 -1
- package/lib/locale/az.d.ts +17 -0
- package/lib/locale/az.js +17 -0
- package/lib/locale/az.js.map +1 -1
- package/lib/locale/bg.d.ts +17 -0
- package/lib/locale/bg.js +17 -0
- package/lib/locale/bg.js.map +1 -1
- package/lib/locale/ca.d.ts +17 -0
- package/lib/locale/ca.js +17 -0
- package/lib/locale/ca.js.map +1 -1
- package/lib/locale/ckb.d.ts +17 -0
- package/lib/locale/ckb.js +17 -0
- package/lib/locale/ckb.js.map +1 -1
- package/lib/locale/cs.d.ts +17 -0
- package/lib/locale/cs.js +17 -0
- package/lib/locale/cs.js.map +1 -1
- package/lib/locale/da.d.ts +17 -0
- package/lib/locale/da.js +17 -0
- package/lib/locale/da.js.map +1 -1
- package/lib/locale/de.d.ts +17 -0
- package/lib/locale/de.js +17 -0
- package/lib/locale/de.js.map +1 -1
- package/lib/locale/el.d.ts +17 -0
- package/lib/locale/el.js +17 -0
- package/lib/locale/el.js.map +1 -1
- package/lib/locale/en.d.ts +17 -0
- package/lib/locale/en.js +17 -0
- package/lib/locale/en.js.map +1 -1
- package/lib/locale/es.d.ts +17 -0
- package/lib/locale/es.js +17 -0
- package/lib/locale/es.js.map +1 -1
- package/lib/locale/et.d.ts +17 -0
- package/lib/locale/et.js +17 -0
- package/lib/locale/et.js.map +1 -1
- package/lib/locale/fa.d.ts +17 -0
- package/lib/locale/fa.js +17 -0
- package/lib/locale/fa.js.map +1 -1
- package/lib/locale/fi.d.ts +17 -0
- package/lib/locale/fi.js +17 -0
- package/lib/locale/fi.js.map +1 -1
- package/lib/locale/fr.d.ts +17 -0
- package/lib/locale/fr.js +17 -0
- package/lib/locale/fr.js.map +1 -1
- package/lib/locale/he.d.ts +17 -0
- package/lib/locale/he.js +17 -0
- package/lib/locale/he.js.map +1 -1
- package/lib/locale/hr.d.ts +17 -0
- package/lib/locale/hr.js +17 -0
- package/lib/locale/hr.js.map +1 -1
- package/lib/locale/hu.d.ts +17 -0
- package/lib/locale/hu.js +17 -0
- package/lib/locale/hu.js.map +1 -1
- package/lib/locale/id.d.ts +17 -0
- package/lib/locale/id.js +17 -0
- package/lib/locale/id.js.map +1 -1
- package/lib/locale/it.d.ts +17 -0
- package/lib/locale/it.js +17 -0
- package/lib/locale/it.js.map +1 -1
- package/lib/locale/ja.d.ts +17 -0
- package/lib/locale/ja.js +17 -0
- package/lib/locale/ja.js.map +1 -1
- package/lib/locale/km.d.ts +17 -0
- package/lib/locale/km.js +17 -0
- package/lib/locale/km.js.map +1 -1
- package/lib/locale/ko.d.ts +17 -0
- package/lib/locale/ko.js +17 -0
- package/lib/locale/ko.js.map +1 -1
- package/lib/locale/lt.d.ts +17 -0
- package/lib/locale/lt.js +17 -0
- package/lib/locale/lt.js.map +1 -1
- package/lib/locale/lv.d.ts +17 -0
- package/lib/locale/lv.js +17 -0
- package/lib/locale/lv.js.map +1 -1
- package/lib/locale/nl.d.ts +17 -0
- package/lib/locale/nl.js +17 -0
- package/lib/locale/nl.js.map +1 -1
- package/lib/locale/no.d.ts +17 -0
- package/lib/locale/no.js +17 -0
- package/lib/locale/no.js.map +1 -1
- package/lib/locale/pl.d.ts +17 -0
- package/lib/locale/pl.js +17 -0
- package/lib/locale/pl.js.map +1 -1
- package/lib/locale/pt.d.ts +17 -0
- package/lib/locale/pt.js +17 -0
- package/lib/locale/pt.js.map +1 -1
- package/lib/locale/ro.d.ts +17 -0
- package/lib/locale/ro.js +17 -0
- package/lib/locale/ro.js.map +1 -1
- package/lib/locale/ru.d.ts +17 -0
- package/lib/locale/ru.js +17 -0
- package/lib/locale/ru.js.map +1 -1
- package/lib/locale/sk.d.ts +17 -0
- package/lib/locale/sk.js +17 -0
- package/lib/locale/sk.js.map +1 -1
- package/lib/locale/sl.d.ts +17 -0
- package/lib/locale/sl.js +17 -0
- package/lib/locale/sl.js.map +1 -1
- package/lib/locale/sr-Cyrl.d.ts +17 -0
- package/lib/locale/sr-Cyrl.js +17 -0
- package/lib/locale/sr-Cyrl.js.map +1 -1
- package/lib/locale/sr-Latn.d.ts +17 -0
- package/lib/locale/sr-Latn.js +17 -0
- package/lib/locale/sr-Latn.js.map +1 -1
- package/lib/locale/sv.d.ts +17 -0
- package/lib/locale/sv.js +17 -0
- package/lib/locale/sv.js.map +1 -1
- package/lib/locale/th.d.ts +17 -0
- package/lib/locale/th.js +17 -0
- package/lib/locale/th.js.map +1 -1
- package/lib/locale/tr.d.ts +17 -0
- package/lib/locale/tr.js +17 -0
- package/lib/locale/tr.js.map +1 -1
- package/lib/locale/uk.d.ts +17 -0
- package/lib/locale/uk.js +17 -0
- package/lib/locale/uk.js.map +1 -1
- package/lib/locale/vi.d.ts +17 -0
- package/lib/locale/vi.js +17 -0
- package/lib/locale/vi.js.map +1 -1
- package/lib/locale/zh-Hans.d.ts +17 -0
- package/lib/locale/zh-Hans.js +17 -0
- package/lib/locale/zh-Hans.js.map +1 -1
- package/lib/locale/zh-Hant.d.ts +17 -0
- package/lib/locale/zh-Hant.js +17 -0
- package/lib/locale/zh-Hant.js.map +1 -1
- package/lib/util/getScrollParent.js +3 -1
- package/lib/util/getScrollParent.js.map +1 -1
- package/package.json +1 -1
package/dist/vuetify-labs.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.9.3-master.2025-
|
2
|
+
* Vuetify v3.9.3-master.2025-08-01
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -1653,7 +1653,9 @@
|
|
1653
1653
|
function hasScrollbar(el) {
|
1654
1654
|
if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;
|
1655
1655
|
const style = window.getComputedStyle(el);
|
1656
|
-
|
1656
|
+
const hasVerticalScrollbar = style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;
|
1657
|
+
const hasHorizontalScrollbar = style.overflowX === 'scroll' || style.overflowX === 'auto' && el.scrollWidth > el.clientWidth;
|
1658
|
+
return hasVerticalScrollbar || hasHorizontalScrollbar;
|
1657
1659
|
}
|
1658
1660
|
function isPotentiallyScrollable(el) {
|
1659
1661
|
if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;
|
@@ -2257,6 +2259,23 @@
|
|
2257
2259
|
unmute: 'Unmute',
|
2258
2260
|
enterFullscreen: 'Full screen',
|
2259
2261
|
exitFullscreen: 'Exit full screen'
|
2262
|
+
},
|
2263
|
+
colorPicker: {
|
2264
|
+
ariaLabel: {
|
2265
|
+
eyedropper: 'Select color with eyedropper',
|
2266
|
+
hueSlider: 'Hue',
|
2267
|
+
alphaSlider: 'Alpha',
|
2268
|
+
redInput: 'Red value',
|
2269
|
+
greenInput: 'Green value',
|
2270
|
+
blueInput: 'Blue value',
|
2271
|
+
alphaInput: 'Alpha value',
|
2272
|
+
hueInput: 'Hue value',
|
2273
|
+
saturationInput: 'Saturation value',
|
2274
|
+
lightnessInput: 'Lightness value',
|
2275
|
+
hexInput: 'HEX value',
|
2276
|
+
hexaInput: 'HEX with alpha value',
|
2277
|
+
changeFormat: 'Change color format'
|
2278
|
+
}
|
2260
2279
|
}
|
2261
2280
|
};
|
2262
2281
|
|
@@ -2855,9 +2874,9 @@
|
|
2855
2874
|
|
2856
2875
|
const makeVAppProps = propsFactory({
|
2857
2876
|
...makeComponentProps(),
|
2858
|
-
...makeLayoutProps({
|
2877
|
+
...omit(makeLayoutProps({
|
2859
2878
|
fullHeight: true
|
2860
|
-
}),
|
2879
|
+
}), ['fullHeight']),
|
2861
2880
|
...makeThemeProps()
|
2862
2881
|
}, 'VApp');
|
2863
2882
|
const VApp = genericComponent()({
|
@@ -15982,7 +16001,8 @@
|
|
15982
16001
|
getColor: (c, v) => ({
|
15983
16002
|
...c,
|
15984
16003
|
r: Number(v)
|
15985
|
-
})
|
16004
|
+
}),
|
16005
|
+
localeKey: 'redInput'
|
15986
16006
|
}, {
|
15987
16007
|
label: 'G',
|
15988
16008
|
max: 255,
|
@@ -15991,7 +16011,8 @@
|
|
15991
16011
|
getColor: (c, v) => ({
|
15992
16012
|
...c,
|
15993
16013
|
g: Number(v)
|
15994
|
-
})
|
16014
|
+
}),
|
16015
|
+
localeKey: 'greenInput'
|
15995
16016
|
}, {
|
15996
16017
|
label: 'B',
|
15997
16018
|
max: 255,
|
@@ -16000,7 +16021,8 @@
|
|
16000
16021
|
getColor: (c, v) => ({
|
16001
16022
|
...c,
|
16002
16023
|
b: Number(v)
|
16003
|
-
})
|
16024
|
+
}),
|
16025
|
+
localeKey: 'blueInput'
|
16004
16026
|
}, {
|
16005
16027
|
label: 'A',
|
16006
16028
|
max: 1,
|
@@ -16014,7 +16036,8 @@
|
|
16014
16036
|
getColor: (c, v) => ({
|
16015
16037
|
...c,
|
16016
16038
|
a: Number(v)
|
16017
|
-
})
|
16039
|
+
}),
|
16040
|
+
localeKey: 'alphaInput'
|
16018
16041
|
}],
|
16019
16042
|
to: HSVtoRGB,
|
16020
16043
|
from: RGBtoHSV
|
@@ -16036,7 +16059,8 @@
|
|
16036
16059
|
getColor: (c, v) => ({
|
16037
16060
|
...c,
|
16038
16061
|
h: Number(v)
|
16039
|
-
})
|
16062
|
+
}),
|
16063
|
+
localeKey: 'hueInput'
|
16040
16064
|
}, {
|
16041
16065
|
label: 'S',
|
16042
16066
|
max: 1,
|
@@ -16045,7 +16069,8 @@
|
|
16045
16069
|
getColor: (c, v) => ({
|
16046
16070
|
...c,
|
16047
16071
|
s: Number(v)
|
16048
|
-
})
|
16072
|
+
}),
|
16073
|
+
localeKey: 'saturationInput'
|
16049
16074
|
}, {
|
16050
16075
|
label: 'L',
|
16051
16076
|
max: 1,
|
@@ -16054,7 +16079,8 @@
|
|
16054
16079
|
getColor: (c, v) => ({
|
16055
16080
|
...c,
|
16056
16081
|
l: Number(v)
|
16057
|
-
})
|
16082
|
+
}),
|
16083
|
+
localeKey: 'lightnessInput'
|
16058
16084
|
}, {
|
16059
16085
|
label: 'A',
|
16060
16086
|
max: 1,
|
@@ -16068,7 +16094,8 @@
|
|
16068
16094
|
getColor: (c, v) => ({
|
16069
16095
|
...c,
|
16070
16096
|
a: Number(v)
|
16071
|
-
})
|
16097
|
+
}),
|
16098
|
+
localeKey: 'alphaInput'
|
16072
16099
|
}],
|
16073
16100
|
to: HSVtoHSL,
|
16074
16101
|
from: HSLtoHSV
|
@@ -16084,7 +16111,8 @@
|
|
16084
16111
|
inputs: [{
|
16085
16112
|
label: 'HEXA',
|
16086
16113
|
getValue: c => c,
|
16087
|
-
getColor: (c, v) => v
|
16114
|
+
getColor: (c, v) => v,
|
16115
|
+
localeKey: 'hexaInput'
|
16088
16116
|
}],
|
16089
16117
|
to: HSVtoHex,
|
16090
16118
|
from: HexToHSV
|
@@ -16094,7 +16122,8 @@
|
|
16094
16122
|
inputs: [{
|
16095
16123
|
label: 'HEX',
|
16096
16124
|
getValue: c => c.slice(0, 7),
|
16097
|
-
getColor: (c, v) => v
|
16125
|
+
getColor: (c, v) => v,
|
16126
|
+
localeKey: 'hexInput'
|
16098
16127
|
}]
|
16099
16128
|
};
|
16100
16129
|
const modes = {
|
@@ -16143,6 +16172,9 @@
|
|
16143
16172
|
let {
|
16144
16173
|
emit
|
16145
16174
|
} = _ref2;
|
16175
|
+
const {
|
16176
|
+
t
|
16177
|
+
} = useLocale();
|
16146
16178
|
const enabledModes = vue.computed(() => {
|
16147
16179
|
return props.modes.map(key => ({
|
16148
16180
|
...modes[key],
|
@@ -16157,11 +16189,13 @@
|
|
16157
16189
|
let {
|
16158
16190
|
getValue,
|
16159
16191
|
getColor,
|
16192
|
+
localeKey,
|
16160
16193
|
...inputProps
|
16161
16194
|
} = _ref3;
|
16162
16195
|
return {
|
16163
16196
|
...mode.inputProps,
|
16164
16197
|
...inputProps,
|
16198
|
+
ariaLabel: t(`$vuetify.colorPicker.ariaLabel.${localeKey}`),
|
16165
16199
|
disabled: props.disabled,
|
16166
16200
|
value: color && getValue(color),
|
16167
16201
|
onChange: e => {
|
@@ -16179,6 +16213,7 @@
|
|
16179
16213
|
"icon": "$unfold",
|
16180
16214
|
"size": "x-small",
|
16181
16215
|
"variant": "plain",
|
16216
|
+
"aria-label": t('$vuetify.colorPicker.ariaLabel.changeFormat'),
|
16182
16217
|
"onClick": () => {
|
16183
16218
|
const mi = enabledModes.value.findIndex(m => m.name === props.mode);
|
16184
16219
|
emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name);
|
@@ -16944,6 +16979,9 @@
|
|
16944
16979
|
let {
|
16945
16980
|
emit
|
16946
16981
|
} = _ref;
|
16982
|
+
const {
|
16983
|
+
t
|
16984
|
+
} = useLocale();
|
16947
16985
|
const abortController = new AbortController();
|
16948
16986
|
vue.onUnmounted(() => abortController.abort());
|
16949
16987
|
async function openEyeDropper() {
|
@@ -16969,6 +17007,7 @@
|
|
16969
17007
|
"class": "v-color-picker-preview__eye-dropper",
|
16970
17008
|
"key": "eyeDropper"
|
16971
17009
|
}, [vue.createVNode(VBtn, {
|
17010
|
+
"aria-label": t('$vuetify.colorPicker.ariaLabel.eyedropper'),
|
16972
17011
|
"density": "comfortable",
|
16973
17012
|
"disabled": props.disabled,
|
16974
17013
|
"icon": "$eyeDropper",
|
@@ -16984,6 +17023,7 @@
|
|
16984
17023
|
"class": "v-color-picker-preview__sliders"
|
16985
17024
|
}, [vue.createVNode(VSlider, {
|
16986
17025
|
"class": "v-color-picker-preview__track v-color-picker-preview__hue",
|
17026
|
+
"name": t('$vuetify.colorPicker.ariaLabel.hueSlider'),
|
16987
17027
|
"modelValue": props.color?.h,
|
16988
17028
|
"onUpdate:modelValue": h => emit('update:color', {
|
16989
17029
|
...(props.color ?? nullColor),
|
@@ -16999,6 +17039,7 @@
|
|
16999
17039
|
"hideDetails": true
|
17000
17040
|
}, null), !props.hideAlpha && vue.createVNode(VSlider, {
|
17001
17041
|
"class": "v-color-picker-preview__track v-color-picker-preview__alpha",
|
17042
|
+
"name": t('$vuetify.colorPicker.ariaLabel.alphaSlider'),
|
17002
17043
|
"modelValue": props.color?.a ?? 1,
|
17003
17044
|
"onUpdate:modelValue": a => emit('update:color', {
|
17004
17045
|
...(props.color ?? nullColor),
|
@@ -19519,7 +19560,7 @@
|
|
19519
19560
|
});
|
19520
19561
|
return groups;
|
19521
19562
|
}
|
19522
|
-
function flattenItems(items, opened) {
|
19563
|
+
function flattenItems(items, opened, hasSummary) {
|
19523
19564
|
const flatItems = [];
|
19524
19565
|
for (const item of items) {
|
19525
19566
|
// TODO: make this better
|
@@ -19528,7 +19569,13 @@
|
|
19528
19569
|
flatItems.push(item);
|
19529
19570
|
}
|
19530
19571
|
if (opened.has(item.id) || item.value == null) {
|
19531
|
-
flatItems.push(...flattenItems(item.items, opened));
|
19572
|
+
flatItems.push(...flattenItems(item.items, opened, hasSummary));
|
19573
|
+
if (hasSummary) {
|
19574
|
+
flatItems.push({
|
19575
|
+
...item,
|
19576
|
+
type: 'group-summary'
|
19577
|
+
});
|
19578
|
+
}
|
19532
19579
|
}
|
19533
19580
|
} else {
|
19534
19581
|
flatItems.push(item);
|
@@ -19536,11 +19583,11 @@
|
|
19536
19583
|
}
|
19537
19584
|
return flatItems;
|
19538
19585
|
}
|
19539
|
-
function useGroupedItems(items, groupBy, opened) {
|
19586
|
+
function useGroupedItems(items, groupBy, opened, hasSummary) {
|
19540
19587
|
const flatItems = vue.computed(() => {
|
19541
19588
|
if (!groupBy.value.length) return items.value;
|
19542
19589
|
const groupedItems = groupItems(items.value, groupBy.value.map(item => item.key));
|
19543
|
-
return flattenItems(groupedItems, opened.value);
|
19590
|
+
return flattenItems(groupedItems, opened.value, vue.toValue(hasSummary));
|
19544
19591
|
});
|
19545
19592
|
return {
|
19546
19593
|
flatItems
|
@@ -20158,7 +20205,7 @@
|
|
20158
20205
|
});
|
20159
20206
|
const {
|
20160
20207
|
flatItems
|
20161
|
-
} = useGroupedItems(sortedItems, groupBy, opened);
|
20208
|
+
} = useGroupedItems(sortedItems, groupBy, opened, false);
|
20162
20209
|
const itemsLength = vue.toRef(() => flatItems.value.length);
|
20163
20210
|
const {
|
20164
20211
|
startIndex,
|
@@ -20863,11 +20910,16 @@
|
|
20863
20910
|
if (item.fixed === true) {
|
20864
20911
|
item.fixed = 'start';
|
20865
20912
|
}
|
20866
|
-
const orderedChildren = side === 'start' ? item.children?.toReversed() : item.children;
|
20867
20913
|
if (item.fixed === side) {
|
20868
|
-
if (
|
20869
|
-
|
20870
|
-
|
20914
|
+
if (item.children) {
|
20915
|
+
if (side === 'start') {
|
20916
|
+
for (let i = item.children.length - 1; i >= 0; i--) {
|
20917
|
+
setFixed(item.children[i], side, side);
|
20918
|
+
}
|
20919
|
+
} else {
|
20920
|
+
for (let i = 0; i < item.children.length; i++) {
|
20921
|
+
setFixed(item.children[i], side, side);
|
20922
|
+
}
|
20871
20923
|
}
|
20872
20924
|
} else {
|
20873
20925
|
if (!seenFixed && side === 'start') {
|
@@ -20882,57 +20934,63 @@
|
|
20882
20934
|
seenFixed = true;
|
20883
20935
|
}
|
20884
20936
|
} else {
|
20885
|
-
if (
|
20886
|
-
|
20887
|
-
|
20937
|
+
if (item.children) {
|
20938
|
+
if (side === 'start') {
|
20939
|
+
for (let i = item.children.length - 1; i >= 0; i--) {
|
20940
|
+
setFixed(item.children[i], side);
|
20941
|
+
}
|
20942
|
+
} else {
|
20943
|
+
for (let i = 0; i < item.children.length; i++) {
|
20944
|
+
setFixed(item.children[i], side);
|
20945
|
+
}
|
20888
20946
|
}
|
20889
20947
|
} else {
|
20890
20948
|
seenFixed = false;
|
20891
20949
|
}
|
20892
20950
|
}
|
20893
20951
|
}
|
20894
|
-
for (
|
20895
|
-
setFixed(
|
20952
|
+
for (let i = items.length - 1; i >= 0; i--) {
|
20953
|
+
setFixed(items[i], 'start');
|
20896
20954
|
}
|
20897
|
-
for (
|
20898
|
-
setFixed(
|
20899
|
-
}
|
20900
|
-
function setFixedOffset(item) {
|
20901
|
-
let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
20902
|
-
if (!item) return offset;
|
20903
|
-
if (item.children) {
|
20904
|
-
item.fixedOffset = offset;
|
20905
|
-
for (const child of item.children) {
|
20906
|
-
offset = setFixedOffset(child, offset);
|
20907
|
-
}
|
20908
|
-
} else if (item.fixed && item.fixed !== 'end') {
|
20909
|
-
item.fixedOffset = offset;
|
20910
|
-
offset += parseFloat(item.width || '0') || 0;
|
20911
|
-
}
|
20912
|
-
return offset;
|
20955
|
+
for (let i = 0; i < items.length; i++) {
|
20956
|
+
setFixed(items[i], 'end');
|
20913
20957
|
}
|
20914
20958
|
let fixedOffset = 0;
|
20915
|
-
for (
|
20916
|
-
fixedOffset = setFixedOffset(
|
20959
|
+
for (let i = 0; i < items.length; i++) {
|
20960
|
+
fixedOffset = setFixedOffset(items[i], fixedOffset);
|
20917
20961
|
}
|
20918
|
-
|
20919
|
-
|
20920
|
-
|
20921
|
-
|
20922
|
-
|
20923
|
-
|
20924
|
-
|
20925
|
-
|
20926
|
-
|
20927
|
-
|
20928
|
-
|
20962
|
+
let fixedEndOffset = 0;
|
20963
|
+
for (let i = items.length - 1; i >= 0; i--) {
|
20964
|
+
fixedEndOffset = setFixedEndOffset(items[i], fixedEndOffset);
|
20965
|
+
}
|
20966
|
+
}
|
20967
|
+
function setFixedOffset(item) {
|
20968
|
+
let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
20969
|
+
if (!item) return offset;
|
20970
|
+
if (item.children) {
|
20971
|
+
item.fixedOffset = offset;
|
20972
|
+
for (const child of item.children) {
|
20973
|
+
offset = setFixedOffset(child, offset);
|
20929
20974
|
}
|
20930
|
-
|
20975
|
+
} else if (item.fixed && item.fixed !== 'end') {
|
20976
|
+
item.fixedOffset = offset;
|
20977
|
+
offset += parseFloat(item.width || '0') || 0;
|
20931
20978
|
}
|
20932
|
-
|
20933
|
-
|
20934
|
-
|
20979
|
+
return offset;
|
20980
|
+
}
|
20981
|
+
function setFixedEndOffset(item) {
|
20982
|
+
let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
20983
|
+
if (!item) return offset;
|
20984
|
+
if (item.children) {
|
20985
|
+
item.fixedEndOffset = offset;
|
20986
|
+
for (const child of item.children) {
|
20987
|
+
offset = setFixedEndOffset(child, offset);
|
20988
|
+
}
|
20989
|
+
} else if (item.fixed === 'end') {
|
20990
|
+
item.fixedEndOffset = offset;
|
20991
|
+
offset += parseFloat(item.width || '0') || 0;
|
20935
20992
|
}
|
20993
|
+
return offset;
|
20936
20994
|
}
|
20937
20995
|
function parse(items, maxDepth) {
|
20938
20996
|
const headers = [];
|
@@ -21598,6 +21656,15 @@
|
|
21598
21656
|
"item": item
|
21599
21657
|
}, getPrefixedEventHandlers(attrs, ':group-header', () => slotProps)), slots);
|
21600
21658
|
}
|
21659
|
+
if (item.type === 'group-summary') {
|
21660
|
+
const slotProps = {
|
21661
|
+
index,
|
21662
|
+
item,
|
21663
|
+
columns: columns.value,
|
21664
|
+
toggleGroup
|
21665
|
+
};
|
21666
|
+
return slots['group-summary']?.(slotProps) ?? '';
|
21667
|
+
}
|
21601
21668
|
const slotProps = {
|
21602
21669
|
index,
|
21603
21670
|
item: item.raw,
|
@@ -21634,8 +21701,6 @@
|
|
21634
21701
|
}
|
21635
21702
|
});
|
21636
21703
|
|
21637
|
-
// Types
|
21638
|
-
|
21639
21704
|
const makeVTableProps = propsFactory({
|
21640
21705
|
fixedHeader: Boolean,
|
21641
21706
|
fixedFooter: Boolean,
|
@@ -21665,26 +21730,37 @@
|
|
21665
21730
|
const {
|
21666
21731
|
densityClasses
|
21667
21732
|
} = useDensity(props);
|
21668
|
-
useRender(() =>
|
21669
|
-
|
21670
|
-
|
21671
|
-
|
21672
|
-
'v-table--fixed-footer': props.fixedFooter,
|
21673
|
-
'v-table--has-top': !!slots.top,
|
21674
|
-
'v-table--has-bottom': !!slots.bottom,
|
21675
|
-
'v-table--hover': props.hover,
|
21676
|
-
'v-table--striped-even': props.striped === 'even',
|
21677
|
-
'v-table--striped-odd': props.striped === 'odd'
|
21678
|
-
}, themeClasses.value, densityClasses.value, props.class]),
|
21679
|
-
"style": vue.normalizeStyle(props.style)
|
21680
|
-
}, {
|
21681
|
-
default: () => [slots.top?.(), slots.default ? vue.createElementVNode("div", {
|
21682
|
-
"class": "v-table__wrapper",
|
21683
|
-
"style": {
|
21684
|
-
height: convertToUnit(props.height)
|
21733
|
+
useRender(() => {
|
21734
|
+
const tableContentDefaults = {
|
21735
|
+
VCheckboxBtn: {
|
21736
|
+
density: props.density
|
21685
21737
|
}
|
21686
|
-
}
|
21687
|
-
|
21738
|
+
};
|
21739
|
+
return vue.createVNode(props.tag, {
|
21740
|
+
"class": vue.normalizeClass(['v-table', {
|
21741
|
+
'v-table--fixed-height': !!props.height,
|
21742
|
+
'v-table--fixed-header': props.fixedHeader,
|
21743
|
+
'v-table--fixed-footer': props.fixedFooter,
|
21744
|
+
'v-table--has-top': !!slots.top,
|
21745
|
+
'v-table--has-bottom': !!slots.bottom,
|
21746
|
+
'v-table--hover': props.hover,
|
21747
|
+
'v-table--striped-even': props.striped === 'even',
|
21748
|
+
'v-table--striped-odd': props.striped === 'odd'
|
21749
|
+
}, themeClasses.value, densityClasses.value, props.class]),
|
21750
|
+
"style": vue.normalizeStyle(props.style)
|
21751
|
+
}, {
|
21752
|
+
default: () => [slots.top?.(), vue.createVNode(VDefaultsProvider, {
|
21753
|
+
"defaults": tableContentDefaults
|
21754
|
+
}, {
|
21755
|
+
default: () => [slots.default ? vue.createElementVNode("div", {
|
21756
|
+
"class": "v-table__wrapper",
|
21757
|
+
"style": {
|
21758
|
+
height: convertToUnit(props.height)
|
21759
|
+
}
|
21760
|
+
}, [vue.createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.()]
|
21761
|
+
}), slots.bottom?.()]
|
21762
|
+
});
|
21763
|
+
});
|
21688
21764
|
return {};
|
21689
21765
|
}
|
21690
21766
|
});
|
@@ -21847,7 +21923,7 @@
|
|
21847
21923
|
});
|
21848
21924
|
const {
|
21849
21925
|
flatItems
|
21850
|
-
} = useGroupedItems(sortedItems, groupBy, opened);
|
21926
|
+
} = useGroupedItems(sortedItems, groupBy, opened, () => !!slots['group-summary']);
|
21851
21927
|
const itemsLength = vue.computed(() => flatItems.value.length);
|
21852
21928
|
const {
|
21853
21929
|
startIndex,
|
@@ -22035,7 +22111,7 @@
|
|
22035
22111
|
});
|
22036
22112
|
const {
|
22037
22113
|
flatItems
|
22038
|
-
} = useGroupedItems(sortedItems, groupBy, opened);
|
22114
|
+
} = useGroupedItems(sortedItems, groupBy, opened, () => !!slots['group-summary']);
|
22039
22115
|
const allItems = vue.computed(() => extractRows(flatItems.value));
|
22040
22116
|
const {
|
22041
22117
|
isSelected,
|
@@ -22264,7 +22340,7 @@
|
|
22264
22340
|
});
|
22265
22341
|
const {
|
22266
22342
|
flatItems
|
22267
|
-
} = useGroupedItems(items, groupBy, opened);
|
22343
|
+
} = useGroupedItems(items, groupBy, opened, () => !!slots['group-summary']);
|
22268
22344
|
const {
|
22269
22345
|
isSelected,
|
22270
22346
|
select,
|
@@ -26017,6 +26093,7 @@
|
|
26017
26093
|
if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) || e.ctrlKey) return;
|
26018
26094
|
if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
|
26019
26095
|
e.preventDefault();
|
26096
|
+
e.stopPropagation();
|
26020
26097
|
clampModel();
|
26021
26098
|
// _model is controlled, so need to wait until props['modelValue'] is updated
|
26022
26099
|
await vue.nextTick();
|
@@ -30537,14 +30614,19 @@
|
|
30537
30614
|
onToggleExpand: [() => checkChildren(item), activatorProps.onClick],
|
30538
30615
|
onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected)
|
30539
30616
|
};
|
30540
|
-
return
|
30617
|
+
return renderSlot(slots.header, {
|
30618
|
+
props: listItemProps,
|
30619
|
+
item: item.raw,
|
30620
|
+
internalItem: item,
|
30621
|
+
loading
|
30622
|
+
}, () => vue.createVNode(VTreeviewItem, vue.mergeProps({
|
30541
30623
|
"ref": el => activatorItems.value[index] = el
|
30542
30624
|
}, listItemProps, {
|
30543
30625
|
"hideActions": props.hideActions,
|
30544
30626
|
"indentLines": indentLines.node,
|
30545
30627
|
"value": props.returnObject ? item.raw : itemProps.value,
|
30546
30628
|
"loading": loading
|
30547
|
-
}), slotsWithItem);
|
30629
|
+
}), slotsWithItem));
|
30548
30630
|
},
|
30549
30631
|
default: () => vue.createVNode(VTreeviewChildren, vue.mergeProps(treeviewChildrenProps, {
|
30550
30632
|
"items": children,
|
@@ -31346,12 +31428,23 @@
|
|
31346
31428
|
|
31347
31429
|
// Types
|
31348
31430
|
|
31431
|
+
const availablePipLocations = ['prepend', 'prepend-inner', 'append', 'append-inner'];
|
31349
31432
|
const makeVColorInputProps = propsFactory({
|
31350
|
-
|
31433
|
+
hidePip: Boolean,
|
31434
|
+
colorPip: Boolean,
|
31351
31435
|
pipIcon: {
|
31352
31436
|
type: String,
|
31353
31437
|
default: '$color'
|
31354
31438
|
},
|
31439
|
+
pipLocation: {
|
31440
|
+
type: String,
|
31441
|
+
default: 'prepend',
|
31442
|
+
validator: v => availablePipLocations.includes(v)
|
31443
|
+
},
|
31444
|
+
pipVariant: {
|
31445
|
+
type: String,
|
31446
|
+
default: 'text'
|
31447
|
+
},
|
31355
31448
|
...makeFocusProps(),
|
31356
31449
|
...makeVConfirmEditProps(),
|
31357
31450
|
...makeVTextFieldProps(),
|
@@ -31395,8 +31488,15 @@
|
|
31395
31488
|
useRender(() => {
|
31396
31489
|
const confirmEditProps = VConfirmEdit.filterProps(props);
|
31397
31490
|
const colorPickerProps = VColorPicker.filterProps(omit(props, ['active', 'color']));
|
31398
|
-
const textFieldProps = VTextField.filterProps(
|
31399
|
-
const
|
31491
|
+
const textFieldProps = VTextField.filterProps(props);
|
31492
|
+
const slotWithPip = props.hidePip ? undefined : {
|
31493
|
+
[props.pipLocation]: arg => vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VAvatar, {
|
31494
|
+
"class": "v-color-input__pip",
|
31495
|
+
"color": props.colorPip ? model.value : undefined,
|
31496
|
+
"variant": props.pipVariant,
|
31497
|
+
"icon": props.pipIcon
|
31498
|
+
}, null), slots[props.pipLocation]?.(arg)])
|
31499
|
+
};
|
31400
31500
|
return vue.createVNode(VTextField, vue.mergeProps(textFieldProps, {
|
31401
31501
|
"class": ['v-color-input', props.class],
|
31402
31502
|
"style": props.style,
|
@@ -31412,10 +31512,7 @@
|
|
31412
31512
|
}
|
31413
31513
|
}), {
|
31414
31514
|
...slots,
|
31415
|
-
|
31416
|
-
"color": props.pip ? model.value : undefined,
|
31417
|
-
"icon": props.pipIcon
|
31418
|
-
}, null), slots.prepend?.(arg)]) : undefined,
|
31515
|
+
...slotWithPip,
|
31419
31516
|
default: () => vue.createElementVNode(vue.Fragment, null, [vue.createVNode(VMenu, {
|
31420
31517
|
"modelValue": menu.value,
|
31421
31518
|
"onUpdate:modelValue": $event => menu.value = $event,
|
@@ -35160,7 +35257,7 @@
|
|
35160
35257
|
};
|
35161
35258
|
});
|
35162
35259
|
}
|
35163
|
-
const version$1 = "3.9.3-master.2025-
|
35260
|
+
const version$1 = "3.9.3-master.2025-08-01";
|
35164
35261
|
createVuetify$1.version = version$1;
|
35165
35262
|
|
35166
35263
|
// Vue's inject() can only be used in setup
|
@@ -35458,7 +35555,7 @@
|
|
35458
35555
|
|
35459
35556
|
/* eslint-disable local-rules/sort-imports */
|
35460
35557
|
|
35461
|
-
const version = "3.9.3-master.2025-
|
35558
|
+
const version = "3.9.3-master.2025-08-01";
|
35462
35559
|
|
35463
35560
|
/* eslint-disable local-rules/sort-imports */
|
35464
35561
|
|