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.esm.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
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
|
*/
|
|
6
6
|
|
|
7
|
-
import { ref, onBeforeUnmount, watch, readonly, reactive, computed, watchEffect, toRefs, capitalize, getCurrentInstance as getCurrentInstance$1, unref, provide, inject as inject$1, onScopeDispose, effectScope, shallowRef, defineComponent as defineComponent$1, camelize, h, onDeactivated, onActivated, onMounted, toRaw, createVNode, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives, Fragment, resolveDirective, vShow, isRef, toRef, Text, resolveDynamicComponent, cloneVNode, warn, toHandlers, Teleport, createTextVNode, onBeforeUpdate, vModelText, onUpdated } from 'vue';
|
|
7
|
+
import { ref, onBeforeUnmount, watch, readonly, reactive, computed, watchEffect, toRefs, capitalize, getCurrentInstance as getCurrentInstance$1, unref, provide, inject as inject$1, onScopeDispose, effectScope, shallowRef, defineComponent as defineComponent$1, camelize, h, onDeactivated, onActivated, onMounted, toRaw, createVNode, TransitionGroup, Transition, mergeProps, onBeforeMount, nextTick, withDirectives, Fragment, resolveDirective, vShow, isRef, toRef, Text, resolveDynamicComponent, cloneVNode, warn, toHandlers, Teleport, createTextVNode, onBeforeUpdate, vModelText, withModifiers, onUpdated } from 'vue';
|
|
8
8
|
|
|
9
9
|
const IN_BROWSER = typeof window !== 'undefined';
|
|
10
10
|
const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
|
11
11
|
const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);
|
|
12
|
-
const SUPPORTS_FOCUS_VISIBLE = IN_BROWSER && typeof CSS !== 'undefined' && CSS.supports('selector(:focus-visible)');
|
|
12
|
+
const SUPPORTS_FOCUS_VISIBLE = IN_BROWSER && typeof CSS !== 'undefined' && typeof CSS.supports !== 'undefined' && CSS.supports('selector(:focus-visible)');
|
|
13
13
|
|
|
14
14
|
// Utilities
|
|
15
15
|
function useResizeObserver(callback) {
|
|
@@ -5509,7 +5509,11 @@ const VField = genericComponent()({
|
|
|
5509
5509
|
"key": "clear"
|
|
5510
5510
|
}, {
|
|
5511
5511
|
default: () => [withDirectives(createVNode("div", {
|
|
5512
|
-
"class": "v-field__clearable"
|
|
5512
|
+
"class": "v-field__clearable",
|
|
5513
|
+
"onMousedown": e => {
|
|
5514
|
+
e.preventDefault();
|
|
5515
|
+
e.stopPropagation();
|
|
5516
|
+
}
|
|
5513
5517
|
}, [slots.clear ? slots.clear() : createVNode(InputIcon, {
|
|
5514
5518
|
"name": "clear"
|
|
5515
5519
|
}, null)]), [[vShow, props.dirty]])]
|
|
@@ -6015,6 +6019,15 @@ const Refs = Symbol('Forwarded refs');
|
|
|
6015
6019
|
|
|
6016
6020
|
/** Omit properties starting with P */
|
|
6017
6021
|
|
|
6022
|
+
function getDescriptor(obj, key) {
|
|
6023
|
+
let currentObj = obj;
|
|
6024
|
+
while (currentObj) {
|
|
6025
|
+
const descriptor = Reflect.getOwnPropertyDescriptor(currentObj, key);
|
|
6026
|
+
if (descriptor) return descriptor;
|
|
6027
|
+
currentObj = Object.getPrototypeOf(currentObj);
|
|
6028
|
+
}
|
|
6029
|
+
return undefined;
|
|
6030
|
+
}
|
|
6018
6031
|
function forwardRefs(target) {
|
|
6019
6032
|
for (var _len = arguments.length, refs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
6020
6033
|
refs[_key - 1] = arguments[_key];
|
|
@@ -6042,30 +6055,18 @@ function forwardRefs(target) {
|
|
|
6042
6055
|
// Check each ref's own properties
|
|
6043
6056
|
for (const ref of refs) {
|
|
6044
6057
|
if (!ref.value) continue;
|
|
6045
|
-
const descriptor =
|
|
6058
|
+
const descriptor = getDescriptor(ref.value, key) ?? ('_' in ref.value ? getDescriptor(ref.value._?.setupState, key) : undefined);
|
|
6046
6059
|
if (descriptor) return descriptor;
|
|
6047
|
-
if ('_' in ref.value && 'setupState' in ref.value._) {
|
|
6048
|
-
const descriptor = Reflect.getOwnPropertyDescriptor(ref.value._.setupState, key);
|
|
6049
|
-
if (descriptor) return descriptor;
|
|
6050
|
-
}
|
|
6051
6060
|
}
|
|
6061
|
+
|
|
6052
6062
|
// Recursive search up each ref's prototype
|
|
6053
|
-
for (const ref of refs) {
|
|
6054
|
-
let obj = ref.value && Object.getPrototypeOf(ref.value);
|
|
6055
|
-
while (obj) {
|
|
6056
|
-
const descriptor = Reflect.getOwnPropertyDescriptor(obj, key);
|
|
6057
|
-
if (descriptor) return descriptor;
|
|
6058
|
-
obj = Object.getPrototypeOf(obj);
|
|
6059
|
-
}
|
|
6060
|
-
}
|
|
6061
|
-
// Call forwarded refs' proxies
|
|
6062
6063
|
for (const ref of refs) {
|
|
6063
6064
|
const childRefs = ref.value && ref.value[Refs];
|
|
6064
6065
|
if (!childRefs) continue;
|
|
6065
6066
|
const queue = childRefs.slice();
|
|
6066
6067
|
while (queue.length) {
|
|
6067
6068
|
const ref = queue.shift();
|
|
6068
|
-
const descriptor =
|
|
6069
|
+
const descriptor = getDescriptor(ref.value, key);
|
|
6069
6070
|
if (descriptor) return descriptor;
|
|
6070
6071
|
const childRefs = ref.value && ref.value[Refs];
|
|
6071
6072
|
if (childRefs) queue.push(...childRefs);
|
|
@@ -6167,12 +6168,14 @@ const VTextField = genericComponent()({
|
|
|
6167
6168
|
}
|
|
6168
6169
|
function onInput(e) {
|
|
6169
6170
|
const el = e.target;
|
|
6170
|
-
const caretPosition = [el.selectionStart, el.selectionEnd];
|
|
6171
6171
|
model.value = el.value;
|
|
6172
|
-
|
|
6173
|
-
el.selectionStart
|
|
6174
|
-
|
|
6175
|
-
|
|
6172
|
+
if (['text', 'search', 'password', 'tel', 'url'].includes(props.type)) {
|
|
6173
|
+
const caretPosition = [el.selectionStart, el.selectionEnd];
|
|
6174
|
+
nextTick(() => {
|
|
6175
|
+
el.selectionStart = caretPosition[0];
|
|
6176
|
+
el.selectionEnd = caretPosition[1];
|
|
6177
|
+
});
|
|
6178
|
+
}
|
|
6176
6179
|
}
|
|
6177
6180
|
useRender(() => {
|
|
6178
6181
|
const hasCounter = !!(slots.counter || props.counter || props.counterValue);
|
|
@@ -6231,6 +6234,9 @@ const VTextField = genericComponent()({
|
|
|
6231
6234
|
...slotProps
|
|
6232
6235
|
}
|
|
6233
6236
|
} = _ref3;
|
|
6237
|
+
const placeholder = computed(() => {
|
|
6238
|
+
return (props.persistentPlaceholder || isFocused.value) && !isDirty.value ? props.placeholder : '';
|
|
6239
|
+
});
|
|
6234
6240
|
const inputNode = withDirectives(createVNode("input", mergeProps({
|
|
6235
6241
|
"ref": inputRef,
|
|
6236
6242
|
"value": model.value,
|
|
@@ -6239,7 +6245,7 @@ const VTextField = genericComponent()({
|
|
|
6239
6245
|
"readonly": isReadonly.value,
|
|
6240
6246
|
"disabled": isDisabled.value,
|
|
6241
6247
|
"name": props.name,
|
|
6242
|
-
"placeholder":
|
|
6248
|
+
"placeholder": placeholder.value,
|
|
6243
6249
|
"size": 1,
|
|
6244
6250
|
"type": props.type,
|
|
6245
6251
|
"onFocus": onFocus,
|
|
@@ -6586,7 +6592,7 @@ const VCheckbox = genericComponent()({
|
|
|
6586
6592
|
inheritAttrs: false,
|
|
6587
6593
|
props: {
|
|
6588
6594
|
...makeVInputProps(),
|
|
6589
|
-
...makeVCheckboxBtnProps()
|
|
6595
|
+
...omit(makeVCheckboxBtnProps(), ['inline'])
|
|
6590
6596
|
},
|
|
6591
6597
|
emits: {
|
|
6592
6598
|
'update:focused': focused => true
|
|
@@ -13516,6 +13522,7 @@ const VCombobox = genericComponent()({
|
|
|
13516
13522
|
}
|
|
13517
13523
|
});
|
|
13518
13524
|
const selectionIndex = ref(-1);
|
|
13525
|
+
let cleared = false;
|
|
13519
13526
|
const color = computed(() => vTextFieldRef.value?.color);
|
|
13520
13527
|
const {
|
|
13521
13528
|
items,
|
|
@@ -13552,11 +13559,17 @@ const VCombobox = genericComponent()({
|
|
|
13552
13559
|
}
|
|
13553
13560
|
}
|
|
13554
13561
|
if (!val) selectionIndex.value = -1;
|
|
13555
|
-
if (isFocused.value) menu.value = true;
|
|
13556
13562
|
isPristine.value = !val;
|
|
13557
13563
|
}
|
|
13558
13564
|
});
|
|
13559
13565
|
watch(_search, value => {
|
|
13566
|
+
if (cleared) {
|
|
13567
|
+
// wait for clear to finish, VTextField sets _search to null
|
|
13568
|
+
// then search computed triggers and updates _search to ''
|
|
13569
|
+
nextTick(() => cleared = false);
|
|
13570
|
+
} else if (isFocused.value && !menu.value) {
|
|
13571
|
+
menu.value = true;
|
|
13572
|
+
}
|
|
13560
13573
|
emit('update:search', value);
|
|
13561
13574
|
});
|
|
13562
13575
|
watch(model, value => {
|
|
@@ -13583,6 +13596,7 @@ const VCombobox = genericComponent()({
|
|
|
13583
13596
|
const selection = computed(() => selections.value[selectionIndex.value]);
|
|
13584
13597
|
const listRef = ref();
|
|
13585
13598
|
function onClear(e) {
|
|
13599
|
+
cleared = true;
|
|
13586
13600
|
if (props.openOnClear) {
|
|
13587
13601
|
menu.value = true;
|
|
13588
13602
|
}
|
|
@@ -13915,9 +13929,9 @@ const VDialog = genericComponent()({
|
|
|
13915
13929
|
}, overlayProps, {
|
|
13916
13930
|
"modelValue": isActive.value,
|
|
13917
13931
|
"onUpdate:modelValue": $event => isActive.value = $event,
|
|
13918
|
-
"aria-role": "dialog",
|
|
13919
13932
|
"aria-modal": "true",
|
|
13920
|
-
"activatorProps": activatorProps.value
|
|
13933
|
+
"activatorProps": activatorProps.value,
|
|
13934
|
+
"role": "dialog"
|
|
13921
13935
|
}, scopeId), {
|
|
13922
13936
|
activator: slots.activator,
|
|
13923
13937
|
default: function () {
|
|
@@ -18792,7 +18806,7 @@ const VDataTableRow = defineComponent({
|
|
|
18792
18806
|
if (column.key === 'data-table-select') {
|
|
18793
18807
|
return slots['item.data-table-select']?.(slotProps) ?? createVNode(VCheckboxBtn, {
|
|
18794
18808
|
"modelValue": isSelected([item]),
|
|
18795
|
-
"onClick": () => toggleSelect(item)
|
|
18809
|
+
"onClick": withModifiers(() => toggleSelect(item), ['stop'])
|
|
18796
18810
|
}, null);
|
|
18797
18811
|
}
|
|
18798
18812
|
if (column.key === 'data-table-expand') {
|
|
@@ -18800,10 +18814,10 @@ const VDataTableRow = defineComponent({
|
|
|
18800
18814
|
"icon": isExpanded(item) ? '$collapse' : '$expand',
|
|
18801
18815
|
"size": "small",
|
|
18802
18816
|
"variant": "text",
|
|
18803
|
-
"onClick": () => toggleExpand(item)
|
|
18817
|
+
"onClick": withModifiers(() => toggleExpand(item), ['stop'])
|
|
18804
18818
|
}, null);
|
|
18805
18819
|
}
|
|
18806
|
-
return item.columns
|
|
18820
|
+
return getPropertyFromItem(item.columns, column.key);
|
|
18807
18821
|
}
|
|
18808
18822
|
}))]));
|
|
18809
18823
|
}
|
|
@@ -19132,6 +19146,19 @@ const makeDataTableItemProps = propsFactory({
|
|
|
19132
19146
|
itemValue: 'id'
|
|
19133
19147
|
})
|
|
19134
19148
|
}, 'v-data-table-item');
|
|
19149
|
+
function add(obj, key, value) {
|
|
19150
|
+
const path = key.split('.');
|
|
19151
|
+
while (path.length > 1) {
|
|
19152
|
+
const part = path.shift();
|
|
19153
|
+
if (obj[part] == null) {
|
|
19154
|
+
obj[part] = {};
|
|
19155
|
+
}
|
|
19156
|
+
if (typeof obj[part] === 'object') {
|
|
19157
|
+
obj = obj[part];
|
|
19158
|
+
}
|
|
19159
|
+
}
|
|
19160
|
+
obj[path[0]] = value;
|
|
19161
|
+
}
|
|
19135
19162
|
function useDataTableItems(props, columns) {
|
|
19136
19163
|
const {
|
|
19137
19164
|
items
|
|
@@ -19141,7 +19168,7 @@ function useDataTableItems(props, columns) {
|
|
|
19141
19168
|
...item,
|
|
19142
19169
|
type: 'item',
|
|
19143
19170
|
columns: columns.value.reduce((obj, column) => {
|
|
19144
|
-
obj
|
|
19171
|
+
add(obj, column.key, getPropertyFromItem(item.raw, column.value ?? column.key));
|
|
19145
19172
|
return obj;
|
|
19146
19173
|
}, {})
|
|
19147
19174
|
};
|
|
@@ -19679,7 +19706,9 @@ const VDataTableServer = genericComponent()({
|
|
|
19679
19706
|
"height": props.height
|
|
19680
19707
|
}, {
|
|
19681
19708
|
top: slots.top,
|
|
19682
|
-
default: slots.default ?? (() => createVNode(Fragment, null, [
|
|
19709
|
+
default: slots.default ?? (() => createVNode(Fragment, null, [slots.colgroup?.({
|
|
19710
|
+
columns
|
|
19711
|
+
}), createVNode("thead", {
|
|
19683
19712
|
"class": "v-data-table__thead",
|
|
19684
19713
|
"role": "rowgroup"
|
|
19685
19714
|
}, [slots.headers ? slots.headers() : createVNode(VDataTableHeaders, {
|
|
@@ -20222,7 +20251,7 @@ function createVuetify$1() {
|
|
|
20222
20251
|
locale
|
|
20223
20252
|
};
|
|
20224
20253
|
}
|
|
20225
|
-
const version$1 = "3.1.
|
|
20254
|
+
const version$1 = "3.1.12";
|
|
20226
20255
|
createVuetify$1.version = version$1;
|
|
20227
20256
|
|
|
20228
20257
|
// Vue's inject() can only be used in setup
|
|
@@ -20234,7 +20263,7 @@ function inject(key) {
|
|
|
20234
20263
|
}
|
|
20235
20264
|
}
|
|
20236
20265
|
|
|
20237
|
-
const version = "3.1.
|
|
20266
|
+
const version = "3.1.12";
|
|
20238
20267
|
|
|
20239
20268
|
const createVuetify = function () {
|
|
20240
20269
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|