@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.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
|
*/
|
@@ -1613,7 +1613,9 @@
|
|
1613
1613
|
function hasScrollbar(el) {
|
1614
1614
|
if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;
|
1615
1615
|
const style = window.getComputedStyle(el);
|
1616
|
-
|
1616
|
+
const hasVerticalScrollbar = style.overflowY === 'scroll' || style.overflowY === 'auto' && el.scrollHeight > el.clientHeight;
|
1617
|
+
const hasHorizontalScrollbar = style.overflowX === 'scroll' || style.overflowX === 'auto' && el.scrollWidth > el.clientWidth;
|
1618
|
+
return hasVerticalScrollbar || hasHorizontalScrollbar;
|
1617
1619
|
}
|
1618
1620
|
function isPotentiallyScrollable(el) {
|
1619
1621
|
if (!el || el.nodeType !== Node.ELEMENT_NODE) return false;
|
@@ -2725,6 +2727,23 @@
|
|
2725
2727
|
unmute: 'Unmute',
|
2726
2728
|
enterFullscreen: 'Full screen',
|
2727
2729
|
exitFullscreen: 'Exit full screen'
|
2730
|
+
},
|
2731
|
+
colorPicker: {
|
2732
|
+
ariaLabel: {
|
2733
|
+
eyedropper: 'Select color with eyedropper',
|
2734
|
+
hueSlider: 'Hue',
|
2735
|
+
alphaSlider: 'Alpha',
|
2736
|
+
redInput: 'Red value',
|
2737
|
+
greenInput: 'Green value',
|
2738
|
+
blueInput: 'Blue value',
|
2739
|
+
alphaInput: 'Alpha value',
|
2740
|
+
hueInput: 'Hue value',
|
2741
|
+
saturationInput: 'Saturation value',
|
2742
|
+
lightnessInput: 'Lightness value',
|
2743
|
+
hexInput: 'HEX value',
|
2744
|
+
hexaInput: 'HEX with alpha value',
|
2745
|
+
changeFormat: 'Change color format'
|
2746
|
+
}
|
2728
2747
|
}
|
2729
2748
|
};
|
2730
2749
|
|
@@ -3323,9 +3342,9 @@
|
|
3323
3342
|
|
3324
3343
|
const makeVAppProps = propsFactory({
|
3325
3344
|
...makeComponentProps(),
|
3326
|
-
...makeLayoutProps({
|
3345
|
+
...omit(makeLayoutProps({
|
3327
3346
|
fullHeight: true
|
3328
|
-
}),
|
3347
|
+
}), ['fullHeight']),
|
3329
3348
|
...makeThemeProps()
|
3330
3349
|
}, 'VApp');
|
3331
3350
|
const VApp = genericComponent()({
|
@@ -16222,7 +16241,8 @@
|
|
16222
16241
|
getColor: (c, v) => ({
|
16223
16242
|
...c,
|
16224
16243
|
r: Number(v)
|
16225
|
-
})
|
16244
|
+
}),
|
16245
|
+
localeKey: 'redInput'
|
16226
16246
|
}, {
|
16227
16247
|
label: 'G',
|
16228
16248
|
max: 255,
|
@@ -16231,7 +16251,8 @@
|
|
16231
16251
|
getColor: (c, v) => ({
|
16232
16252
|
...c,
|
16233
16253
|
g: Number(v)
|
16234
|
-
})
|
16254
|
+
}),
|
16255
|
+
localeKey: 'greenInput'
|
16235
16256
|
}, {
|
16236
16257
|
label: 'B',
|
16237
16258
|
max: 255,
|
@@ -16240,7 +16261,8 @@
|
|
16240
16261
|
getColor: (c, v) => ({
|
16241
16262
|
...c,
|
16242
16263
|
b: Number(v)
|
16243
|
-
})
|
16264
|
+
}),
|
16265
|
+
localeKey: 'blueInput'
|
16244
16266
|
}, {
|
16245
16267
|
label: 'A',
|
16246
16268
|
max: 1,
|
@@ -16254,7 +16276,8 @@
|
|
16254
16276
|
getColor: (c, v) => ({
|
16255
16277
|
...c,
|
16256
16278
|
a: Number(v)
|
16257
|
-
})
|
16279
|
+
}),
|
16280
|
+
localeKey: 'alphaInput'
|
16258
16281
|
}],
|
16259
16282
|
to: HSVtoRGB,
|
16260
16283
|
from: RGBtoHSV
|
@@ -16276,7 +16299,8 @@
|
|
16276
16299
|
getColor: (c, v) => ({
|
16277
16300
|
...c,
|
16278
16301
|
h: Number(v)
|
16279
|
-
})
|
16302
|
+
}),
|
16303
|
+
localeKey: 'hueInput'
|
16280
16304
|
}, {
|
16281
16305
|
label: 'S',
|
16282
16306
|
max: 1,
|
@@ -16285,7 +16309,8 @@
|
|
16285
16309
|
getColor: (c, v) => ({
|
16286
16310
|
...c,
|
16287
16311
|
s: Number(v)
|
16288
|
-
})
|
16312
|
+
}),
|
16313
|
+
localeKey: 'saturationInput'
|
16289
16314
|
}, {
|
16290
16315
|
label: 'L',
|
16291
16316
|
max: 1,
|
@@ -16294,7 +16319,8 @@
|
|
16294
16319
|
getColor: (c, v) => ({
|
16295
16320
|
...c,
|
16296
16321
|
l: Number(v)
|
16297
|
-
})
|
16322
|
+
}),
|
16323
|
+
localeKey: 'lightnessInput'
|
16298
16324
|
}, {
|
16299
16325
|
label: 'A',
|
16300
16326
|
max: 1,
|
@@ -16308,7 +16334,8 @@
|
|
16308
16334
|
getColor: (c, v) => ({
|
16309
16335
|
...c,
|
16310
16336
|
a: Number(v)
|
16311
|
-
})
|
16337
|
+
}),
|
16338
|
+
localeKey: 'alphaInput'
|
16312
16339
|
}],
|
16313
16340
|
to: HSVtoHSL,
|
16314
16341
|
from: HSLtoHSV
|
@@ -16324,7 +16351,8 @@
|
|
16324
16351
|
inputs: [{
|
16325
16352
|
label: 'HEXA',
|
16326
16353
|
getValue: c => c,
|
16327
|
-
getColor: (c, v) => v
|
16354
|
+
getColor: (c, v) => v,
|
16355
|
+
localeKey: 'hexaInput'
|
16328
16356
|
}],
|
16329
16357
|
to: HSVtoHex,
|
16330
16358
|
from: HexToHSV
|
@@ -16334,7 +16362,8 @@
|
|
16334
16362
|
inputs: [{
|
16335
16363
|
label: 'HEX',
|
16336
16364
|
getValue: c => c.slice(0, 7),
|
16337
|
-
getColor: (c, v) => v
|
16365
|
+
getColor: (c, v) => v,
|
16366
|
+
localeKey: 'hexInput'
|
16338
16367
|
}]
|
16339
16368
|
};
|
16340
16369
|
const modes = {
|
@@ -16383,6 +16412,9 @@
|
|
16383
16412
|
let {
|
16384
16413
|
emit
|
16385
16414
|
} = _ref2;
|
16415
|
+
const {
|
16416
|
+
t
|
16417
|
+
} = useLocale();
|
16386
16418
|
const enabledModes = vue.computed(() => {
|
16387
16419
|
return props.modes.map(key => ({
|
16388
16420
|
...modes[key],
|
@@ -16397,11 +16429,13 @@
|
|
16397
16429
|
let {
|
16398
16430
|
getValue,
|
16399
16431
|
getColor,
|
16432
|
+
localeKey,
|
16400
16433
|
...inputProps
|
16401
16434
|
} = _ref3;
|
16402
16435
|
return {
|
16403
16436
|
...mode.inputProps,
|
16404
16437
|
...inputProps,
|
16438
|
+
ariaLabel: t(`$vuetify.colorPicker.ariaLabel.${localeKey}`),
|
16405
16439
|
disabled: props.disabled,
|
16406
16440
|
value: color && getValue(color),
|
16407
16441
|
onChange: e => {
|
@@ -16419,6 +16453,7 @@
|
|
16419
16453
|
"icon": "$unfold",
|
16420
16454
|
"size": "x-small",
|
16421
16455
|
"variant": "plain",
|
16456
|
+
"aria-label": t('$vuetify.colorPicker.ariaLabel.changeFormat'),
|
16422
16457
|
"onClick": () => {
|
16423
16458
|
const mi = enabledModes.value.findIndex(m => m.name === props.mode);
|
16424
16459
|
emit('update:mode', enabledModes.value[(mi + 1) % enabledModes.value.length].name);
|
@@ -17184,6 +17219,9 @@
|
|
17184
17219
|
let {
|
17185
17220
|
emit
|
17186
17221
|
} = _ref;
|
17222
|
+
const {
|
17223
|
+
t
|
17224
|
+
} = useLocale();
|
17187
17225
|
const abortController = new AbortController();
|
17188
17226
|
vue.onUnmounted(() => abortController.abort());
|
17189
17227
|
async function openEyeDropper() {
|
@@ -17209,6 +17247,7 @@
|
|
17209
17247
|
"class": "v-color-picker-preview__eye-dropper",
|
17210
17248
|
"key": "eyeDropper"
|
17211
17249
|
}, [vue.createVNode(VBtn, {
|
17250
|
+
"aria-label": t('$vuetify.colorPicker.ariaLabel.eyedropper'),
|
17212
17251
|
"density": "comfortable",
|
17213
17252
|
"disabled": props.disabled,
|
17214
17253
|
"icon": "$eyeDropper",
|
@@ -17224,6 +17263,7 @@
|
|
17224
17263
|
"class": "v-color-picker-preview__sliders"
|
17225
17264
|
}, [vue.createVNode(VSlider, {
|
17226
17265
|
"class": "v-color-picker-preview__track v-color-picker-preview__hue",
|
17266
|
+
"name": t('$vuetify.colorPicker.ariaLabel.hueSlider'),
|
17227
17267
|
"modelValue": props.color?.h,
|
17228
17268
|
"onUpdate:modelValue": h => emit('update:color', {
|
17229
17269
|
...(props.color ?? nullColor),
|
@@ -17239,6 +17279,7 @@
|
|
17239
17279
|
"hideDetails": true
|
17240
17280
|
}, null), !props.hideAlpha && vue.createVNode(VSlider, {
|
17241
17281
|
"class": "v-color-picker-preview__track v-color-picker-preview__alpha",
|
17282
|
+
"name": t('$vuetify.colorPicker.ariaLabel.alphaSlider'),
|
17242
17283
|
"modelValue": props.color?.a ?? 1,
|
17243
17284
|
"onUpdate:modelValue": a => emit('update:color', {
|
17244
17285
|
...(props.color ?? nullColor),
|
@@ -19759,7 +19800,7 @@
|
|
19759
19800
|
});
|
19760
19801
|
return groups;
|
19761
19802
|
}
|
19762
|
-
function flattenItems(items, opened) {
|
19803
|
+
function flattenItems(items, opened, hasSummary) {
|
19763
19804
|
const flatItems = [];
|
19764
19805
|
for (const item of items) {
|
19765
19806
|
// TODO: make this better
|
@@ -19768,7 +19809,13 @@
|
|
19768
19809
|
flatItems.push(item);
|
19769
19810
|
}
|
19770
19811
|
if (opened.has(item.id) || item.value == null) {
|
19771
|
-
flatItems.push(...flattenItems(item.items, opened));
|
19812
|
+
flatItems.push(...flattenItems(item.items, opened, hasSummary));
|
19813
|
+
if (hasSummary) {
|
19814
|
+
flatItems.push({
|
19815
|
+
...item,
|
19816
|
+
type: 'group-summary'
|
19817
|
+
});
|
19818
|
+
}
|
19772
19819
|
}
|
19773
19820
|
} else {
|
19774
19821
|
flatItems.push(item);
|
@@ -19776,11 +19823,11 @@
|
|
19776
19823
|
}
|
19777
19824
|
return flatItems;
|
19778
19825
|
}
|
19779
|
-
function useGroupedItems(items, groupBy, opened) {
|
19826
|
+
function useGroupedItems(items, groupBy, opened, hasSummary) {
|
19780
19827
|
const flatItems = vue.computed(() => {
|
19781
19828
|
if (!groupBy.value.length) return items.value;
|
19782
19829
|
const groupedItems = groupItems(items.value, groupBy.value.map(item => item.key));
|
19783
|
-
return flattenItems(groupedItems, opened.value);
|
19830
|
+
return flattenItems(groupedItems, opened.value, vue.toValue(hasSummary));
|
19784
19831
|
});
|
19785
19832
|
return {
|
19786
19833
|
flatItems
|
@@ -20398,7 +20445,7 @@
|
|
20398
20445
|
});
|
20399
20446
|
const {
|
20400
20447
|
flatItems
|
20401
|
-
} = useGroupedItems(sortedItems, groupBy, opened);
|
20448
|
+
} = useGroupedItems(sortedItems, groupBy, opened, false);
|
20402
20449
|
const itemsLength = vue.toRef(() => flatItems.value.length);
|
20403
20450
|
const {
|
20404
20451
|
startIndex,
|
@@ -21103,11 +21150,16 @@
|
|
21103
21150
|
if (item.fixed === true) {
|
21104
21151
|
item.fixed = 'start';
|
21105
21152
|
}
|
21106
|
-
const orderedChildren = side === 'start' ? item.children?.toReversed() : item.children;
|
21107
21153
|
if (item.fixed === side) {
|
21108
|
-
if (
|
21109
|
-
|
21110
|
-
|
21154
|
+
if (item.children) {
|
21155
|
+
if (side === 'start') {
|
21156
|
+
for (let i = item.children.length - 1; i >= 0; i--) {
|
21157
|
+
setFixed(item.children[i], side, side);
|
21158
|
+
}
|
21159
|
+
} else {
|
21160
|
+
for (let i = 0; i < item.children.length; i++) {
|
21161
|
+
setFixed(item.children[i], side, side);
|
21162
|
+
}
|
21111
21163
|
}
|
21112
21164
|
} else {
|
21113
21165
|
if (!seenFixed && side === 'start') {
|
@@ -21122,57 +21174,63 @@
|
|
21122
21174
|
seenFixed = true;
|
21123
21175
|
}
|
21124
21176
|
} else {
|
21125
|
-
if (
|
21126
|
-
|
21127
|
-
|
21177
|
+
if (item.children) {
|
21178
|
+
if (side === 'start') {
|
21179
|
+
for (let i = item.children.length - 1; i >= 0; i--) {
|
21180
|
+
setFixed(item.children[i], side);
|
21181
|
+
}
|
21182
|
+
} else {
|
21183
|
+
for (let i = 0; i < item.children.length; i++) {
|
21184
|
+
setFixed(item.children[i], side);
|
21185
|
+
}
|
21128
21186
|
}
|
21129
21187
|
} else {
|
21130
21188
|
seenFixed = false;
|
21131
21189
|
}
|
21132
21190
|
}
|
21133
21191
|
}
|
21134
|
-
for (
|
21135
|
-
setFixed(
|
21192
|
+
for (let i = items.length - 1; i >= 0; i--) {
|
21193
|
+
setFixed(items[i], 'start');
|
21136
21194
|
}
|
21137
|
-
for (
|
21138
|
-
setFixed(
|
21139
|
-
}
|
21140
|
-
function setFixedOffset(item) {
|
21141
|
-
let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
21142
|
-
if (!item) return offset;
|
21143
|
-
if (item.children) {
|
21144
|
-
item.fixedOffset = offset;
|
21145
|
-
for (const child of item.children) {
|
21146
|
-
offset = setFixedOffset(child, offset);
|
21147
|
-
}
|
21148
|
-
} else if (item.fixed && item.fixed !== 'end') {
|
21149
|
-
item.fixedOffset = offset;
|
21150
|
-
offset += parseFloat(item.width || '0') || 0;
|
21151
|
-
}
|
21152
|
-
return offset;
|
21195
|
+
for (let i = 0; i < items.length; i++) {
|
21196
|
+
setFixed(items[i], 'end');
|
21153
21197
|
}
|
21154
21198
|
let fixedOffset = 0;
|
21155
|
-
for (
|
21156
|
-
fixedOffset = setFixedOffset(
|
21199
|
+
for (let i = 0; i < items.length; i++) {
|
21200
|
+
fixedOffset = setFixedOffset(items[i], fixedOffset);
|
21157
21201
|
}
|
21158
|
-
|
21159
|
-
|
21160
|
-
|
21161
|
-
|
21162
|
-
|
21163
|
-
|
21164
|
-
|
21165
|
-
|
21166
|
-
|
21167
|
-
|
21168
|
-
|
21202
|
+
let fixedEndOffset = 0;
|
21203
|
+
for (let i = items.length - 1; i >= 0; i--) {
|
21204
|
+
fixedEndOffset = setFixedEndOffset(items[i], fixedEndOffset);
|
21205
|
+
}
|
21206
|
+
}
|
21207
|
+
function setFixedOffset(item) {
|
21208
|
+
let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
21209
|
+
if (!item) return offset;
|
21210
|
+
if (item.children) {
|
21211
|
+
item.fixedOffset = offset;
|
21212
|
+
for (const child of item.children) {
|
21213
|
+
offset = setFixedOffset(child, offset);
|
21169
21214
|
}
|
21170
|
-
|
21215
|
+
} else if (item.fixed && item.fixed !== 'end') {
|
21216
|
+
item.fixedOffset = offset;
|
21217
|
+
offset += parseFloat(item.width || '0') || 0;
|
21171
21218
|
}
|
21172
|
-
|
21173
|
-
|
21174
|
-
|
21219
|
+
return offset;
|
21220
|
+
}
|
21221
|
+
function setFixedEndOffset(item) {
|
21222
|
+
let offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
21223
|
+
if (!item) return offset;
|
21224
|
+
if (item.children) {
|
21225
|
+
item.fixedEndOffset = offset;
|
21226
|
+
for (const child of item.children) {
|
21227
|
+
offset = setFixedEndOffset(child, offset);
|
21228
|
+
}
|
21229
|
+
} else if (item.fixed === 'end') {
|
21230
|
+
item.fixedEndOffset = offset;
|
21231
|
+
offset += parseFloat(item.width || '0') || 0;
|
21175
21232
|
}
|
21233
|
+
return offset;
|
21176
21234
|
}
|
21177
21235
|
function parse(items, maxDepth) {
|
21178
21236
|
const headers = [];
|
@@ -21838,6 +21896,15 @@
|
|
21838
21896
|
"item": item
|
21839
21897
|
}, getPrefixedEventHandlers(attrs, ':group-header', () => slotProps)), slots);
|
21840
21898
|
}
|
21899
|
+
if (item.type === 'group-summary') {
|
21900
|
+
const slotProps = {
|
21901
|
+
index,
|
21902
|
+
item,
|
21903
|
+
columns: columns.value,
|
21904
|
+
toggleGroup
|
21905
|
+
};
|
21906
|
+
return slots['group-summary']?.(slotProps) ?? '';
|
21907
|
+
}
|
21841
21908
|
const slotProps = {
|
21842
21909
|
index,
|
21843
21910
|
item: item.raw,
|
@@ -21874,8 +21941,6 @@
|
|
21874
21941
|
}
|
21875
21942
|
});
|
21876
21943
|
|
21877
|
-
// Types
|
21878
|
-
|
21879
21944
|
const makeVTableProps = propsFactory({
|
21880
21945
|
fixedHeader: Boolean,
|
21881
21946
|
fixedFooter: Boolean,
|
@@ -21905,26 +21970,37 @@
|
|
21905
21970
|
const {
|
21906
21971
|
densityClasses
|
21907
21972
|
} = useDensity(props);
|
21908
|
-
useRender(() =>
|
21909
|
-
|
21910
|
-
|
21911
|
-
|
21912
|
-
'v-table--fixed-footer': props.fixedFooter,
|
21913
|
-
'v-table--has-top': !!slots.top,
|
21914
|
-
'v-table--has-bottom': !!slots.bottom,
|
21915
|
-
'v-table--hover': props.hover,
|
21916
|
-
'v-table--striped-even': props.striped === 'even',
|
21917
|
-
'v-table--striped-odd': props.striped === 'odd'
|
21918
|
-
}, themeClasses.value, densityClasses.value, props.class]),
|
21919
|
-
"style": vue.normalizeStyle(props.style)
|
21920
|
-
}, {
|
21921
|
-
default: () => [slots.top?.(), slots.default ? vue.createElementVNode("div", {
|
21922
|
-
"class": "v-table__wrapper",
|
21923
|
-
"style": {
|
21924
|
-
height: convertToUnit(props.height)
|
21973
|
+
useRender(() => {
|
21974
|
+
const tableContentDefaults = {
|
21975
|
+
VCheckboxBtn: {
|
21976
|
+
density: props.density
|
21925
21977
|
}
|
21926
|
-
}
|
21927
|
-
|
21978
|
+
};
|
21979
|
+
return vue.createVNode(props.tag, {
|
21980
|
+
"class": vue.normalizeClass(['v-table', {
|
21981
|
+
'v-table--fixed-height': !!props.height,
|
21982
|
+
'v-table--fixed-header': props.fixedHeader,
|
21983
|
+
'v-table--fixed-footer': props.fixedFooter,
|
21984
|
+
'v-table--has-top': !!slots.top,
|
21985
|
+
'v-table--has-bottom': !!slots.bottom,
|
21986
|
+
'v-table--hover': props.hover,
|
21987
|
+
'v-table--striped-even': props.striped === 'even',
|
21988
|
+
'v-table--striped-odd': props.striped === 'odd'
|
21989
|
+
}, themeClasses.value, densityClasses.value, props.class]),
|
21990
|
+
"style": vue.normalizeStyle(props.style)
|
21991
|
+
}, {
|
21992
|
+
default: () => [slots.top?.(), vue.createVNode(VDefaultsProvider, {
|
21993
|
+
"defaults": tableContentDefaults
|
21994
|
+
}, {
|
21995
|
+
default: () => [slots.default ? vue.createElementVNode("div", {
|
21996
|
+
"class": "v-table__wrapper",
|
21997
|
+
"style": {
|
21998
|
+
height: convertToUnit(props.height)
|
21999
|
+
}
|
22000
|
+
}, [vue.createElementVNode("table", null, [slots.default()])]) : slots.wrapper?.()]
|
22001
|
+
}), slots.bottom?.()]
|
22002
|
+
});
|
22003
|
+
});
|
21928
22004
|
return {};
|
21929
22005
|
}
|
21930
22006
|
});
|
@@ -22087,7 +22163,7 @@
|
|
22087
22163
|
});
|
22088
22164
|
const {
|
22089
22165
|
flatItems
|
22090
|
-
} = useGroupedItems(sortedItems, groupBy, opened);
|
22166
|
+
} = useGroupedItems(sortedItems, groupBy, opened, () => !!slots['group-summary']);
|
22091
22167
|
const itemsLength = vue.computed(() => flatItems.value.length);
|
22092
22168
|
const {
|
22093
22169
|
startIndex,
|
@@ -22275,7 +22351,7 @@
|
|
22275
22351
|
});
|
22276
22352
|
const {
|
22277
22353
|
flatItems
|
22278
|
-
} = useGroupedItems(sortedItems, groupBy, opened);
|
22354
|
+
} = useGroupedItems(sortedItems, groupBy, opened, () => !!slots['group-summary']);
|
22279
22355
|
const allItems = vue.computed(() => extractRows(flatItems.value));
|
22280
22356
|
const {
|
22281
22357
|
isSelected,
|
@@ -22504,7 +22580,7 @@
|
|
22504
22580
|
});
|
22505
22581
|
const {
|
22506
22582
|
flatItems
|
22507
|
-
} = useGroupedItems(items, groupBy, opened);
|
22583
|
+
} = useGroupedItems(items, groupBy, opened, () => !!slots['group-summary']);
|
22508
22584
|
const {
|
22509
22585
|
isSelected,
|
22510
22586
|
select,
|
@@ -26257,6 +26333,7 @@
|
|
26257
26333
|
if (['Enter', 'ArrowLeft', 'ArrowRight', 'Backspace', 'Delete', 'Tab'].includes(e.key) || e.ctrlKey) return;
|
26258
26334
|
if (['ArrowDown', 'ArrowUp'].includes(e.key)) {
|
26259
26335
|
e.preventDefault();
|
26336
|
+
e.stopPropagation();
|
26260
26337
|
clampModel();
|
26261
26338
|
// _model is controlled, so need to wait until props['modelValue'] is updated
|
26262
26339
|
await vue.nextTick();
|
@@ -30777,14 +30854,19 @@
|
|
30777
30854
|
onToggleExpand: [() => checkChildren(item), activatorProps.onClick],
|
30778
30855
|
onClick: isClickOnOpen.value ? [() => checkChildren(item), activatorProps.onClick] : () => selectItem(activatorItems.value[index]?.select, !activatorItems.value[index]?.isSelected)
|
30779
30856
|
};
|
30780
|
-
return
|
30857
|
+
return renderSlot(slots.header, {
|
30858
|
+
props: listItemProps,
|
30859
|
+
item: item.raw,
|
30860
|
+
internalItem: item,
|
30861
|
+
loading
|
30862
|
+
}, () => vue.createVNode(VTreeviewItem, vue.mergeProps({
|
30781
30863
|
"ref": el => activatorItems.value[index] = el
|
30782
30864
|
}, listItemProps, {
|
30783
30865
|
"hideActions": props.hideActions,
|
30784
30866
|
"indentLines": indentLines.node,
|
30785
30867
|
"value": props.returnObject ? item.raw : itemProps.value,
|
30786
30868
|
"loading": loading
|
30787
|
-
}), slotsWithItem);
|
30869
|
+
}), slotsWithItem));
|
30788
30870
|
},
|
30789
30871
|
default: () => vue.createVNode(VTreeviewChildren, vue.mergeProps(treeviewChildrenProps, {
|
30790
30872
|
"items": children,
|
@@ -31475,7 +31557,7 @@
|
|
31475
31557
|
};
|
31476
31558
|
});
|
31477
31559
|
}
|
31478
|
-
const version$1 = "3.9.3-master.2025-
|
31560
|
+
const version$1 = "3.9.3-master.2025-08-01";
|
31479
31561
|
createVuetify$1.version = version$1;
|
31480
31562
|
|
31481
31563
|
// Vue's inject() can only be used in setup
|
@@ -31500,7 +31582,7 @@
|
|
31500
31582
|
...options
|
31501
31583
|
});
|
31502
31584
|
};
|
31503
|
-
const version = "3.9.3-master.2025-
|
31585
|
+
const version = "3.9.3-master.2025-08-01";
|
31504
31586
|
createVuetify.version = version;
|
31505
31587
|
|
31506
31588
|
exports.blueprints = index;
|