vuetify 3.1.15 → 3.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/json/attributes.json +44 -44
- package/dist/json/importMap.json +72 -72
- package/dist/json/web-types.json +77 -77
- package/dist/vuetify-labs.css +370 -371
- package/dist/vuetify-labs.d.ts +3 -3
- package/dist/vuetify-labs.esm.js +101 -68
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +101 -68
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +7 -8
- package/dist/vuetify.d.ts +24 -24
- package/dist/vuetify.esm.js +63 -41
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +63 -41
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +717 -714
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +31 -16
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.ts +3 -3
- package/lib/components/VDialog/VDialog.mjs +2 -2
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VField/VField.css +0 -1
- package/lib/components/VField/VField.sass +0 -1
- package/lib/components/VList/VList.mjs +3 -22
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VSlideGroup/VSlideGroup.mjs +2 -2
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/index.d.ts +3 -3
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +21 -21
- package/lib/labs/VDataTable/VDataTable.mjs +1 -1
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs +34 -20
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs +2 -4
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +2 -2
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/util/helpers.mjs +26 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +3 -3
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.1.
|
|
2
|
+
* Vuetify v3.1.16
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -360,6 +360,32 @@
|
|
|
360
360
|
handler(...args);
|
|
361
361
|
}
|
|
362
362
|
}
|
|
363
|
+
function focusableChildren(el) {
|
|
364
|
+
const targets = ['button', '[href]', 'input:not([type="hidden"])', 'select', 'textarea', '[tabindex]'].map(s => `${s}:not([tabindex="-1"]):not([disabled])`).join(', ');
|
|
365
|
+
return [...el.querySelectorAll(targets)];
|
|
366
|
+
}
|
|
367
|
+
function focusChild(el, location) {
|
|
368
|
+
const focusable = focusableChildren(el);
|
|
369
|
+
const idx = focusable.indexOf(document.activeElement);
|
|
370
|
+
if (!location) {
|
|
371
|
+
if (!el.contains(document.activeElement)) {
|
|
372
|
+
focusable[0]?.focus();
|
|
373
|
+
}
|
|
374
|
+
} else if (location === 'first') {
|
|
375
|
+
focusable[0]?.focus();
|
|
376
|
+
} else if (location === 'last') {
|
|
377
|
+
focusable.at(-1)?.focus();
|
|
378
|
+
} else {
|
|
379
|
+
let _el;
|
|
380
|
+
let idxx = idx;
|
|
381
|
+
const inc = location === 'next' ? 1 : -1;
|
|
382
|
+
do {
|
|
383
|
+
idxx += inc;
|
|
384
|
+
_el = focusable[idxx];
|
|
385
|
+
} while ((!_el || _el.offsetParent == null) && idxx < focusable.length && idxx >= 0);
|
|
386
|
+
if (_el) _el.focus();else focusChild(el, location === 'next' ? 'first' : 'last');
|
|
387
|
+
}
|
|
388
|
+
}
|
|
363
389
|
|
|
364
390
|
const block = ['top', 'bottom'];
|
|
365
391
|
const inline = ['start', 'end', 'left', 'right'];
|
|
@@ -8231,27 +8257,8 @@
|
|
|
8231
8257
|
e.preventDefault();
|
|
8232
8258
|
}
|
|
8233
8259
|
function focus(location) {
|
|
8234
|
-
if (
|
|
8235
|
-
|
|
8236
|
-
const focusable = [...contentRef.value.querySelectorAll(targets)].filter(el => !el.hasAttribute('disabled'));
|
|
8237
|
-
const idx = focusable.indexOf(document.activeElement);
|
|
8238
|
-
if (!location) {
|
|
8239
|
-
if (!contentRef.value.contains(document.activeElement)) {
|
|
8240
|
-
focusable[0]?.focus();
|
|
8241
|
-
}
|
|
8242
|
-
} else if (location === 'first') {
|
|
8243
|
-
focusable[0]?.focus();
|
|
8244
|
-
} else if (location === 'last') {
|
|
8245
|
-
focusable.at(-1)?.focus();
|
|
8246
|
-
} else {
|
|
8247
|
-
let el;
|
|
8248
|
-
let idxx = idx;
|
|
8249
|
-
const inc = location === 'next' ? 1 : -1;
|
|
8250
|
-
do {
|
|
8251
|
-
idxx += inc;
|
|
8252
|
-
el = focusable[idxx];
|
|
8253
|
-
} while ((!el || el.offsetParent == null) && idxx < focusable.length && idxx >= 0);
|
|
8254
|
-
if (el) el.focus();else focus(location === 'next' ? 'first' : 'last');
|
|
8260
|
+
if (contentRef.value) {
|
|
8261
|
+
return focusChild(contentRef.value, location);
|
|
8255
8262
|
}
|
|
8256
8263
|
}
|
|
8257
8264
|
useRender(() => {
|
|
@@ -11062,6 +11069,17 @@
|
|
|
11062
11069
|
disabled: vue.toRef(props, 'disabled')
|
|
11063
11070
|
}
|
|
11064
11071
|
});
|
|
11072
|
+
const items = vue.computed(() => props.items.map(item => {
|
|
11073
|
+
return typeof item === 'string' ? {
|
|
11074
|
+
item: {
|
|
11075
|
+
title: item
|
|
11076
|
+
},
|
|
11077
|
+
raw: item
|
|
11078
|
+
} : {
|
|
11079
|
+
item,
|
|
11080
|
+
raw: item
|
|
11081
|
+
};
|
|
11082
|
+
}));
|
|
11065
11083
|
useRender(() => {
|
|
11066
11084
|
const hasPrepend = !!(slots.prepend || props.icon);
|
|
11067
11085
|
return vue.createVNode(props.tag, {
|
|
@@ -11084,22 +11102,26 @@
|
|
|
11084
11102
|
start: true
|
|
11085
11103
|
}
|
|
11086
11104
|
}
|
|
11087
|
-
}, slots.prepend)]),
|
|
11088
|
-
|
|
11089
|
-
"disabled": index >= array.length - 1
|
|
11090
|
-
}, typeof item === 'string' ? {
|
|
11091
|
-
title: item
|
|
11092
|
-
} : item), {
|
|
11093
|
-
default: slots.title ? () => slots.title?.({
|
|
11094
|
-
item,
|
|
11095
|
-
index
|
|
11096
|
-
}) : undefined
|
|
11097
|
-
}), index < array.length - 1 && vue.createVNode(VBreadcrumbsDivider, null, {
|
|
11098
|
-
default: slots.divider ? () => slots.divider?.({
|
|
11105
|
+
}, slots.prepend)]), items.value.map((_ref2, index, array) => {
|
|
11106
|
+
let {
|
|
11099
11107
|
item,
|
|
11100
|
-
|
|
11101
|
-
}
|
|
11102
|
-
|
|
11108
|
+
raw
|
|
11109
|
+
} = _ref2;
|
|
11110
|
+
return vue.createVNode(vue.Fragment, null, [vue.createVNode(VBreadcrumbsItem, vue.mergeProps({
|
|
11111
|
+
"key": item.title,
|
|
11112
|
+
"disabled": index >= array.length - 1
|
|
11113
|
+
}, item), {
|
|
11114
|
+
default: slots.title ? () => slots.title?.({
|
|
11115
|
+
item: raw,
|
|
11116
|
+
index
|
|
11117
|
+
}) : undefined
|
|
11118
|
+
}), index < array.length - 1 && vue.createVNode(VBreadcrumbsDivider, null, {
|
|
11119
|
+
default: slots.divider ? () => slots.divider?.({
|
|
11120
|
+
item: raw,
|
|
11121
|
+
index
|
|
11122
|
+
}) : undefined
|
|
11123
|
+
})]);
|
|
11124
|
+
}), slots.default?.()]
|
|
11103
11125
|
});
|
|
11104
11126
|
});
|
|
11105
11127
|
return {};
|
|
@@ -14021,7 +14043,7 @@
|
|
|
14021
14043
|
![document, overlay.value.contentEl].includes(after) &&
|
|
14022
14044
|
// It isn't inside the dialog body
|
|
14023
14045
|
!overlay.value.contentEl.contains(after)) {
|
|
14024
|
-
const focusable =
|
|
14046
|
+
const focusable = focusableChildren(overlay.value.contentEl);
|
|
14025
14047
|
if (!focusable.length) return;
|
|
14026
14048
|
const firstElement = focusable[0];
|
|
14027
14049
|
const lastElement = focusable[focusable.length - 1];
|
|
@@ -16866,7 +16888,7 @@
|
|
|
16866
16888
|
function focus(location) {
|
|
16867
16889
|
if (!contentRef.value) return;
|
|
16868
16890
|
if (!location) {
|
|
16869
|
-
const focusable =
|
|
16891
|
+
const focusable = focusableChildren(contentRef.value);
|
|
16870
16892
|
focusable[0]?.focus();
|
|
16871
16893
|
} else if (location === 'next') {
|
|
16872
16894
|
const el = contentRef.value.querySelector(':focus')?.nextElementSibling;
|
|
@@ -18542,6 +18564,17 @@
|
|
|
18542
18564
|
backgroundColorClasses,
|
|
18543
18565
|
backgroundColorStyles
|
|
18544
18566
|
} = useBackgroundColor(props, 'color');
|
|
18567
|
+
const slotProps = vue.computed(() => ({
|
|
18568
|
+
headers: headers.value,
|
|
18569
|
+
columns: columns.value,
|
|
18570
|
+
toggleSort,
|
|
18571
|
+
sortBy: sortBy.value,
|
|
18572
|
+
someSelected: someSelected.value,
|
|
18573
|
+
allSelected: allSelected.value,
|
|
18574
|
+
selectAll,
|
|
18575
|
+
getSortIcon,
|
|
18576
|
+
getFixedStyles
|
|
18577
|
+
}));
|
|
18545
18578
|
const VDataTableHeaderCell = _ref2 => {
|
|
18546
18579
|
let {
|
|
18547
18580
|
column,
|
|
@@ -18569,14 +18602,14 @@
|
|
|
18569
18602
|
"noPadding": noPadding
|
|
18570
18603
|
}, {
|
|
18571
18604
|
default: () => {
|
|
18572
|
-
const
|
|
18573
|
-
const
|
|
18605
|
+
const columnSlotName = `column.${column.key}`;
|
|
18606
|
+
const columnSlotProps = {
|
|
18574
18607
|
column,
|
|
18575
18608
|
selectAll
|
|
18576
18609
|
};
|
|
18577
|
-
if (slots[
|
|
18610
|
+
if (slots[columnSlotName]) return slots[columnSlotName](columnSlotProps);
|
|
18578
18611
|
if (column.key === 'data-table-select') {
|
|
18579
|
-
return slots['column.data-table-select']?.(
|
|
18612
|
+
return slots['column.data-table-select']?.(columnSlotProps) ?? vue.createVNode(VCheckboxBtn, {
|
|
18580
18613
|
"modelValue": allSelected.value,
|
|
18581
18614
|
"indeterminate": someSelected.value && !allSelected.value,
|
|
18582
18615
|
"onUpdate:modelValue": selectAll
|
|
@@ -18596,22 +18629,24 @@
|
|
|
18596
18629
|
}
|
|
18597
18630
|
});
|
|
18598
18631
|
};
|
|
18599
|
-
useRender(() =>
|
|
18600
|
-
"
|
|
18601
|
-
|
|
18602
|
-
|
|
18603
|
-
|
|
18604
|
-
"
|
|
18605
|
-
|
|
18606
|
-
"
|
|
18607
|
-
|
|
18608
|
-
|
|
18609
|
-
|
|
18610
|
-
|
|
18611
|
-
|
|
18612
|
-
|
|
18613
|
-
|
|
18614
|
-
|
|
18632
|
+
useRender(() => {
|
|
18633
|
+
return vue.createVNode(vue.Fragment, null, [slots.headers ? slots.headers(slotProps.value) : headers.value.map((row, y) => vue.createVNode("tr", null, [row.map((column, x) => vue.createVNode(VDataTableHeaderCell, {
|
|
18634
|
+
"column": column,
|
|
18635
|
+
"x": x,
|
|
18636
|
+
"y": y
|
|
18637
|
+
}, null))])), props.loading && vue.createVNode("tr", {
|
|
18638
|
+
"class": "v-data-table__progress"
|
|
18639
|
+
}, [vue.createVNode("th", {
|
|
18640
|
+
"colspan": columns.value.length
|
|
18641
|
+
}, [vue.createVNode(LoaderSlot, {
|
|
18642
|
+
"name": "v-data-table-headers",
|
|
18643
|
+
"active": true,
|
|
18644
|
+
"color": typeof props.loading === 'boolean' ? undefined : props.loading,
|
|
18645
|
+
"indeterminate": true
|
|
18646
|
+
}, {
|
|
18647
|
+
default: slots.loader
|
|
18648
|
+
})])])]);
|
|
18649
|
+
});
|
|
18615
18650
|
}
|
|
18616
18651
|
});
|
|
18617
18652
|
|
|
@@ -18910,9 +18945,7 @@
|
|
|
18910
18945
|
'v-data-table__tr--clickable': !!props.onClick
|
|
18911
18946
|
}],
|
|
18912
18947
|
"onClick": props.onClick
|
|
18913
|
-
}, [
|
|
18914
|
-
"key": "no-data"
|
|
18915
|
-
}, slots), props.item && columns.value.map((column, i) => vue.createVNode(VDataTableColumn, {
|
|
18948
|
+
}, [props.item && columns.value.map((column, i) => vue.createVNode(VDataTableColumn, {
|
|
18916
18949
|
"align": column.align,
|
|
18917
18950
|
"fixed": column.fixed,
|
|
18918
18951
|
"fixedOffset": column.fixedOffset,
|
|
@@ -19002,13 +19035,13 @@
|
|
|
19002
19035
|
useRender(() => {
|
|
19003
19036
|
if (props.loading && slots.loading) {
|
|
19004
19037
|
return vue.createVNode("tr", {
|
|
19005
|
-
"class": "v-data-table-rows-
|
|
19038
|
+
"class": "v-data-table-rows-loading",
|
|
19006
19039
|
"key": "loading"
|
|
19007
19040
|
}, [vue.createVNode("td", {
|
|
19008
19041
|
"colspan": columns.value.length
|
|
19009
19042
|
}, [slots.loading()])]);
|
|
19010
19043
|
}
|
|
19011
|
-
if (!props.loading && !props.items.length && !props.hideNoData
|
|
19044
|
+
if (!props.loading && !props.items.length && !props.hideNoData) {
|
|
19012
19045
|
return vue.createVNode("tr", {
|
|
19013
19046
|
"class": "v-data-table-rows-no-data",
|
|
19014
19047
|
"key": "no-data"
|
|
@@ -19487,7 +19520,7 @@
|
|
|
19487
19520
|
top: slots.top,
|
|
19488
19521
|
default: slots.default ?? (() => vue.createVNode(vue.Fragment, null, [slots.colgroup?.({
|
|
19489
19522
|
columns
|
|
19490
|
-
}), vue.createVNode("thead", null, [
|
|
19523
|
+
}), vue.createVNode("thead", null, [vue.createVNode(VDataTableHeaders, {
|
|
19491
19524
|
"sticky": props.fixedHeader,
|
|
19492
19525
|
"multiSort": props.multiSort
|
|
19493
19526
|
}, slots)]), slots.thead?.(), vue.createVNode("tbody", null, [slots.body ? slots.body() : vue.createVNode(VDataTableRows, {
|
|
@@ -19853,7 +19886,7 @@
|
|
|
19853
19886
|
}), vue.createVNode("thead", {
|
|
19854
19887
|
"class": "v-data-table__thead",
|
|
19855
19888
|
"role": "rowgroup"
|
|
19856
|
-
}, [
|
|
19889
|
+
}, [vue.createVNode(VDataTableHeaders, {
|
|
19857
19890
|
"sticky": props.fixedHeader,
|
|
19858
19891
|
"loading": props.loading,
|
|
19859
19892
|
"color": props.color
|
|
@@ -20526,7 +20559,7 @@
|
|
|
20526
20559
|
locale
|
|
20527
20560
|
};
|
|
20528
20561
|
}
|
|
20529
|
-
const version$1 = "3.1.
|
|
20562
|
+
const version$1 = "3.1.16";
|
|
20530
20563
|
createVuetify$1.version = version$1;
|
|
20531
20564
|
|
|
20532
20565
|
// Vue's inject() can only be used in setup
|
|
@@ -20538,7 +20571,7 @@
|
|
|
20538
20571
|
}
|
|
20539
20572
|
}
|
|
20540
20573
|
|
|
20541
|
-
const version = "3.1.
|
|
20574
|
+
const version = "3.1.16";
|
|
20542
20575
|
|
|
20543
20576
|
const createVuetify = function () {
|
|
20544
20577
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|