vuetify 3.1.11 → 3.1.12
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 +8 -12
- package/dist/json/importMap.json +84 -84
- package/dist/json/tags.json +0 -1
- package/dist/json/web-types.json +19 -25
- package/dist/vuetify-labs.css +129 -135
- package/dist/vuetify-labs.d.ts +73 -66
- package/dist/vuetify-labs.esm.js +65 -36
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +64 -35
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +53 -59
- package/dist/vuetify.d.ts +66 -75
- package/dist/vuetify.esm.js +44 -30
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +44 -30
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +326 -325
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VBadge/VBadge.css +1 -0
- package/lib/components/VBadge/VBadge.sass +1 -0
- package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +41 -50
- package/lib/components/VCombobox/VCombobox.mjs +9 -1
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.css +11 -18
- package/lib/components/VDialog/VDialog.mjs +2 -2
- package/lib/components/VDialog/VDialog.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.sass +8 -15
- package/lib/components/VField/VField.mjs +5 -1
- package/lib/components/VField/VField.mjs.map +1 -1
- package/lib/components/VGrid/VCol.mjs +2 -2
- package/lib/components/VGrid/VCol.mjs.map +1 -1
- package/lib/components/VGrid/VRow.mjs +2 -2
- package/lib/components/VGrid/VRow.mjs.map +1 -1
- package/lib/components/VOverlay/VOverlay.css +1 -1
- package/lib/components/VOverlay/VOverlay.sass +1 -1
- package/lib/components/VTextField/VTextField.mjs +11 -6
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/index.d.ts +41 -50
- package/lib/composables/forwardRefs.mjs +12 -15
- package/lib/composables/forwardRefs.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.ts +25 -25
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRow.mjs +5 -4
- package/lib/labs/VDataTable/VDataTableRow.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +3 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/items.mjs +14 -1
- package/lib/labs/VDataTable/composables/items.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +32 -16
- package/lib/labs/components.d.ts +32 -16
- package/lib/util/globals.mjs +1 -1
- package/lib/util/globals.mjs.map +1 -1
- package/package.json +2 -2
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.1.
|
|
2
|
+
* Vuetify v3.1.12
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
const IN_BROWSER = typeof window !== 'undefined';
|
|
14
14
|
const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
|
15
15
|
const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);
|
|
16
|
-
const SUPPORTS_FOCUS_VISIBLE = IN_BROWSER && typeof CSS !== 'undefined' && CSS.supports('selector(:focus-visible)');
|
|
16
|
+
const SUPPORTS_FOCUS_VISIBLE = IN_BROWSER && typeof CSS !== 'undefined' && typeof CSS.supports !== 'undefined' && CSS.supports('selector(:focus-visible)');
|
|
17
17
|
|
|
18
18
|
// Utilities
|
|
19
19
|
function useResizeObserver(callback) {
|
|
@@ -5513,7 +5513,11 @@
|
|
|
5513
5513
|
"key": "clear"
|
|
5514
5514
|
}, {
|
|
5515
5515
|
default: () => [vue.withDirectives(vue.createVNode("div", {
|
|
5516
|
-
"class": "v-field__clearable"
|
|
5516
|
+
"class": "v-field__clearable",
|
|
5517
|
+
"onMousedown": e => {
|
|
5518
|
+
e.preventDefault();
|
|
5519
|
+
e.stopPropagation();
|
|
5520
|
+
}
|
|
5517
5521
|
}, [slots.clear ? slots.clear() : vue.createVNode(InputIcon, {
|
|
5518
5522
|
"name": "clear"
|
|
5519
5523
|
}, null)]), [[vue.vShow, props.dirty]])]
|
|
@@ -6019,6 +6023,15 @@
|
|
|
6019
6023
|
|
|
6020
6024
|
/** Omit properties starting with P */
|
|
6021
6025
|
|
|
6026
|
+
function getDescriptor(obj, key) {
|
|
6027
|
+
let currentObj = obj;
|
|
6028
|
+
while (currentObj) {
|
|
6029
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(currentObj, key);
|
|
6030
|
+
if (descriptor) return descriptor;
|
|
6031
|
+
currentObj = Object.getPrototypeOf(currentObj);
|
|
6032
|
+
}
|
|
6033
|
+
return undefined;
|
|
6034
|
+
}
|
|
6022
6035
|
function forwardRefs(target) {
|
|
6023
6036
|
for (var _len = arguments.length, refs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
6024
6037
|
refs[_key - 1] = arguments[_key];
|
|
@@ -6046,30 +6059,18 @@
|
|
|
6046
6059
|
// Check each ref's own properties
|
|
6047
6060
|
for (const ref of refs) {
|
|
6048
6061
|
if (!ref.value) continue;
|
|
6049
|
-
const descriptor =
|
|
6062
|
+
const descriptor = getDescriptor(ref.value, key) ?? ('_' in ref.value ? getDescriptor(ref.value._?.setupState, key) : undefined);
|
|
6050
6063
|
if (descriptor) return descriptor;
|
|
6051
|
-
if ('_' in ref.value && 'setupState' in ref.value._) {
|
|
6052
|
-
const descriptor = Reflect.getOwnPropertyDescriptor(ref.value._.setupState, key);
|
|
6053
|
-
if (descriptor) return descriptor;
|
|
6054
|
-
}
|
|
6055
6064
|
}
|
|
6065
|
+
|
|
6056
6066
|
// Recursive search up each ref's prototype
|
|
6057
|
-
for (const ref of refs) {
|
|
6058
|
-
let obj = ref.value && Object.getPrototypeOf(ref.value);
|
|
6059
|
-
while (obj) {
|
|
6060
|
-
const descriptor = Reflect.getOwnPropertyDescriptor(obj, key);
|
|
6061
|
-
if (descriptor) return descriptor;
|
|
6062
|
-
obj = Object.getPrototypeOf(obj);
|
|
6063
|
-
}
|
|
6064
|
-
}
|
|
6065
|
-
// Call forwarded refs' proxies
|
|
6066
6067
|
for (const ref of refs) {
|
|
6067
6068
|
const childRefs = ref.value && ref.value[Refs];
|
|
6068
6069
|
if (!childRefs) continue;
|
|
6069
6070
|
const queue = childRefs.slice();
|
|
6070
6071
|
while (queue.length) {
|
|
6071
6072
|
const ref = queue.shift();
|
|
6072
|
-
const descriptor =
|
|
6073
|
+
const descriptor = getDescriptor(ref.value, key);
|
|
6073
6074
|
if (descriptor) return descriptor;
|
|
6074
6075
|
const childRefs = ref.value && ref.value[Refs];
|
|
6075
6076
|
if (childRefs) queue.push(...childRefs);
|
|
@@ -6171,12 +6172,14 @@
|
|
|
6171
6172
|
}
|
|
6172
6173
|
function onInput(e) {
|
|
6173
6174
|
const el = e.target;
|
|
6174
|
-
const caretPosition = [el.selectionStart, el.selectionEnd];
|
|
6175
6175
|
model.value = el.value;
|
|
6176
|
-
|
|
6177
|
-
el.selectionStart
|
|
6178
|
-
|
|
6179
|
-
|
|
6176
|
+
if (['text', 'search', 'password', 'tel', 'url'].includes(props.type)) {
|
|
6177
|
+
const caretPosition = [el.selectionStart, el.selectionEnd];
|
|
6178
|
+
vue.nextTick(() => {
|
|
6179
|
+
el.selectionStart = caretPosition[0];
|
|
6180
|
+
el.selectionEnd = caretPosition[1];
|
|
6181
|
+
});
|
|
6182
|
+
}
|
|
6180
6183
|
}
|
|
6181
6184
|
useRender(() => {
|
|
6182
6185
|
const hasCounter = !!(slots.counter || props.counter || props.counterValue);
|
|
@@ -6235,6 +6238,9 @@
|
|
|
6235
6238
|
...slotProps
|
|
6236
6239
|
}
|
|
6237
6240
|
} = _ref3;
|
|
6241
|
+
const placeholder = vue.computed(() => {
|
|
6242
|
+
return (props.persistentPlaceholder || isFocused.value) && !isDirty.value ? props.placeholder : '';
|
|
6243
|
+
});
|
|
6238
6244
|
const inputNode = vue.withDirectives(vue.createVNode("input", vue.mergeProps({
|
|
6239
6245
|
"ref": inputRef,
|
|
6240
6246
|
"value": model.value,
|
|
@@ -6243,7 +6249,7 @@
|
|
|
6243
6249
|
"readonly": isReadonly.value,
|
|
6244
6250
|
"disabled": isDisabled.value,
|
|
6245
6251
|
"name": props.name,
|
|
6246
|
-
"placeholder":
|
|
6252
|
+
"placeholder": placeholder.value,
|
|
6247
6253
|
"size": 1,
|
|
6248
6254
|
"type": props.type,
|
|
6249
6255
|
"onFocus": onFocus,
|
|
@@ -6590,7 +6596,7 @@
|
|
|
6590
6596
|
inheritAttrs: false,
|
|
6591
6597
|
props: {
|
|
6592
6598
|
...makeVInputProps(),
|
|
6593
|
-
...makeVCheckboxBtnProps()
|
|
6599
|
+
...omit(makeVCheckboxBtnProps(), ['inline'])
|
|
6594
6600
|
},
|
|
6595
6601
|
emits: {
|
|
6596
6602
|
'update:focused': focused => true
|
|
@@ -13520,6 +13526,7 @@
|
|
|
13520
13526
|
}
|
|
13521
13527
|
});
|
|
13522
13528
|
const selectionIndex = vue.ref(-1);
|
|
13529
|
+
let cleared = false;
|
|
13523
13530
|
const color = vue.computed(() => vTextFieldRef.value?.color);
|
|
13524
13531
|
const {
|
|
13525
13532
|
items,
|
|
@@ -13556,11 +13563,17 @@
|
|
|
13556
13563
|
}
|
|
13557
13564
|
}
|
|
13558
13565
|
if (!val) selectionIndex.value = -1;
|
|
13559
|
-
if (isFocused.value) menu.value = true;
|
|
13560
13566
|
isPristine.value = !val;
|
|
13561
13567
|
}
|
|
13562
13568
|
});
|
|
13563
13569
|
vue.watch(_search, value => {
|
|
13570
|
+
if (cleared) {
|
|
13571
|
+
// wait for clear to finish, VTextField sets _search to null
|
|
13572
|
+
// then search computed triggers and updates _search to ''
|
|
13573
|
+
vue.nextTick(() => cleared = false);
|
|
13574
|
+
} else if (isFocused.value && !menu.value) {
|
|
13575
|
+
menu.value = true;
|
|
13576
|
+
}
|
|
13564
13577
|
emit('update:search', value);
|
|
13565
13578
|
});
|
|
13566
13579
|
vue.watch(model, value => {
|
|
@@ -13587,6 +13600,7 @@
|
|
|
13587
13600
|
const selection = vue.computed(() => selections.value[selectionIndex.value]);
|
|
13588
13601
|
const listRef = vue.ref();
|
|
13589
13602
|
function onClear(e) {
|
|
13603
|
+
cleared = true;
|
|
13590
13604
|
if (props.openOnClear) {
|
|
13591
13605
|
menu.value = true;
|
|
13592
13606
|
}
|
|
@@ -13919,9 +13933,9 @@
|
|
|
13919
13933
|
}, overlayProps, {
|
|
13920
13934
|
"modelValue": isActive.value,
|
|
13921
13935
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
13922
|
-
"aria-role": "dialog",
|
|
13923
13936
|
"aria-modal": "true",
|
|
13924
|
-
"activatorProps": activatorProps.value
|
|
13937
|
+
"activatorProps": activatorProps.value,
|
|
13938
|
+
"role": "dialog"
|
|
13925
13939
|
}, scopeId), {
|
|
13926
13940
|
activator: slots.activator,
|
|
13927
13941
|
default: function () {
|
|
@@ -18796,7 +18810,7 @@
|
|
|
18796
18810
|
if (column.key === 'data-table-select') {
|
|
18797
18811
|
return slots['item.data-table-select']?.(slotProps) ?? vue.createVNode(VCheckboxBtn, {
|
|
18798
18812
|
"modelValue": isSelected([item]),
|
|
18799
|
-
"onClick": () => toggleSelect(item)
|
|
18813
|
+
"onClick": vue.withModifiers(() => toggleSelect(item), ['stop'])
|
|
18800
18814
|
}, null);
|
|
18801
18815
|
}
|
|
18802
18816
|
if (column.key === 'data-table-expand') {
|
|
@@ -18804,10 +18818,10 @@
|
|
|
18804
18818
|
"icon": isExpanded(item) ? '$collapse' : '$expand',
|
|
18805
18819
|
"size": "small",
|
|
18806
18820
|
"variant": "text",
|
|
18807
|
-
"onClick": () => toggleExpand(item)
|
|
18821
|
+
"onClick": vue.withModifiers(() => toggleExpand(item), ['stop'])
|
|
18808
18822
|
}, null);
|
|
18809
18823
|
}
|
|
18810
|
-
return item.columns
|
|
18824
|
+
return getPropertyFromItem(item.columns, column.key);
|
|
18811
18825
|
}
|
|
18812
18826
|
}))]));
|
|
18813
18827
|
}
|
|
@@ -19136,6 +19150,19 @@
|
|
|
19136
19150
|
itemValue: 'id'
|
|
19137
19151
|
})
|
|
19138
19152
|
}, 'v-data-table-item');
|
|
19153
|
+
function add(obj, key, value) {
|
|
19154
|
+
const path = key.split('.');
|
|
19155
|
+
while (path.length > 1) {
|
|
19156
|
+
const part = path.shift();
|
|
19157
|
+
if (obj[part] == null) {
|
|
19158
|
+
obj[part] = {};
|
|
19159
|
+
}
|
|
19160
|
+
if (typeof obj[part] === 'object') {
|
|
19161
|
+
obj = obj[part];
|
|
19162
|
+
}
|
|
19163
|
+
}
|
|
19164
|
+
obj[path[0]] = value;
|
|
19165
|
+
}
|
|
19139
19166
|
function useDataTableItems(props, columns) {
|
|
19140
19167
|
const {
|
|
19141
19168
|
items
|
|
@@ -19145,7 +19172,7 @@
|
|
|
19145
19172
|
...item,
|
|
19146
19173
|
type: 'item',
|
|
19147
19174
|
columns: columns.value.reduce((obj, column) => {
|
|
19148
|
-
obj
|
|
19175
|
+
add(obj, column.key, getPropertyFromItem(item.raw, column.value ?? column.key));
|
|
19149
19176
|
return obj;
|
|
19150
19177
|
}, {})
|
|
19151
19178
|
};
|
|
@@ -19683,7 +19710,9 @@
|
|
|
19683
19710
|
"height": props.height
|
|
19684
19711
|
}, {
|
|
19685
19712
|
top: slots.top,
|
|
19686
|
-
default: slots.default ?? (() => vue.createVNode(vue.Fragment, null, [
|
|
19713
|
+
default: slots.default ?? (() => vue.createVNode(vue.Fragment, null, [slots.colgroup?.({
|
|
19714
|
+
columns
|
|
19715
|
+
}), vue.createVNode("thead", {
|
|
19687
19716
|
"class": "v-data-table__thead",
|
|
19688
19717
|
"role": "rowgroup"
|
|
19689
19718
|
}, [slots.headers ? slots.headers() : vue.createVNode(VDataTableHeaders, {
|
|
@@ -20226,7 +20255,7 @@
|
|
|
20226
20255
|
locale
|
|
20227
20256
|
};
|
|
20228
20257
|
}
|
|
20229
|
-
const version$1 = "3.1.
|
|
20258
|
+
const version$1 = "3.1.12";
|
|
20230
20259
|
createVuetify$1.version = version$1;
|
|
20231
20260
|
|
|
20232
20261
|
// Vue's inject() can only be used in setup
|
|
@@ -20238,7 +20267,7 @@
|
|
|
20238
20267
|
}
|
|
20239
20268
|
}
|
|
20240
20269
|
|
|
20241
|
-
const version = "3.1.
|
|
20270
|
+
const version = "3.1.12";
|
|
20242
20271
|
|
|
20243
20272
|
const createVuetify = function () {
|
|
20244
20273
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|