vuetify 3.1.14 → 3.1.15
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 +149 -97
- package/dist/json/importMap.json +70 -70
- package/dist/json/tags.json +13 -0
- package/dist/json/web-types.json +440 -209
- package/dist/vuetify-labs.css +161 -152
- package/dist/vuetify-labs.d.ts +518 -160
- package/dist/vuetify-labs.esm.js +176 -116
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +176 -116
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +11 -2
- package/dist/vuetify.d.ts +486 -161
- package/dist/vuetify.esm.js +118 -68
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +118 -68
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +728 -717
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.css +9 -0
- package/lib/components/VAutocomplete/VAutocomplete.mjs +50 -6
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +10 -0
- package/lib/components/VAutocomplete/index.d.ts +29 -17
- package/lib/components/VCard/VCard.mjs.map +1 -1
- package/lib/components/VCard/index.d.ts +21 -16
- package/lib/components/VCheckbox/VCheckbox.mjs +2 -2
- package/lib/components/VCheckbox/VCheckbox.mjs.map +1 -1
- package/lib/components/VCheckbox/index.d.ts +22 -1
- package/lib/components/VCombobox/VCombobox.css +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +6 -4
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.sass +1 -1
- package/lib/components/VCombobox/index.d.ts +29 -17
- package/lib/components/VField/index.d.ts +6 -0
- package/lib/components/VFileInput/VFileInput.mjs +13 -17
- package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
- package/lib/components/VFileInput/index.d.ts +68 -23
- package/lib/components/VInput/VInput.mjs +14 -7
- package/lib/components/VInput/VInput.mjs.map +1 -1
- package/lib/components/VInput/index.d.ts +22 -1
- package/lib/components/VOverlay/locationStrategies.mjs +9 -4
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.mjs +2 -2
- package/lib/components/VRadioGroup/VRadioGroup.mjs.map +1 -1
- package/lib/components/VRadioGroup/index.d.ts +22 -1
- package/lib/components/VRangeSlider/VRangeSlider.mjs +2 -2
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.d.ts +22 -1
- package/lib/components/VSelect/VSelect.mjs +6 -0
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.ts +32 -17
- package/lib/components/VSlider/VSlider.mjs +2 -2
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/index.d.ts +22 -1
- package/lib/components/VSwitch/VSwitch.mjs +5 -3
- package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
- package/lib/components/VSwitch/index.d.ts +43 -1
- package/lib/components/VTextField/VTextField.mjs +4 -12
- package/lib/components/VTextField/VTextField.mjs.map +1 -1
- package/lib/components/VTextField/index.d.ts +70 -22
- package/lib/components/VTextarea/VTextarea.mjs +4 -12
- package/lib/components/VTextarea/VTextarea.mjs.map +1 -1
- package/lib/components/VTextarea/index.d.ts +61 -22
- package/lib/components/VTreeview/_mixins.sass +0 -0
- package/lib/components/VTreeview/util/filterTreeItems.mjs +0 -0
- package/lib/components/VValidation/index.d.ts +10 -1
- package/lib/components/index.d.ts +465 -140
- package/lib/composables/focus.mjs +3 -2
- package/lib/composables/focus.mjs.map +1 -1
- package/lib/composables/items.mjs +7 -2
- package/lib/composables/items.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/iconsets/mdi-svg.mjs +2 -2
- package/lib/iconsets/mdi-svg.mjs.map +1 -1
- package/lib/index.d.ts +21 -21
- package/lib/labs/VDataTable/VDataTable.mjs +2 -2
- package/lib/labs/VDataTable/VDataTable.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableFooter.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableHeaders.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableRows.mjs +52 -44
- package/lib/labs/VDataTable/VDataTableRows.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs +2 -1
- package/lib/labs/VDataTable/VDataTableServer.mjs.map +1 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs +0 -1
- package/lib/labs/VDataTable/VDataTableVirtual.mjs.map +1 -1
- package/lib/labs/VDataTable/composables/options.mjs +2 -1
- package/lib/labs/VDataTable/composables/options.mjs.map +1 -1
- package/lib/labs/VDataTable/index.d.ts +44 -11
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs +1 -0
- package/lib/labs/VSkeletonLoader/VSkeletonLoader.mjs.map +1 -1
- package/lib/labs/VSkeletonLoader/index.d.ts +9 -9
- package/lib/labs/components.d.ts +53 -20
- package/lib/locale/el.mjs +0 -0
- package/lib/locale/index.mjs +0 -0
- package/package.json +2 -2
package/dist/vuetify-labs.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.1.
|
|
2
|
+
* Vuetify v3.1.15
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -5293,7 +5293,8 @@ const VFieldLabel = genericComponent()({
|
|
|
5293
5293
|
|
|
5294
5294
|
// Composables
|
|
5295
5295
|
const makeFocusProps = propsFactory({
|
|
5296
|
-
focused: Boolean
|
|
5296
|
+
focused: Boolean,
|
|
5297
|
+
'onUpdate:focused': EventProp()
|
|
5297
5298
|
}, 'focus');
|
|
5298
5299
|
function useFocus(props) {
|
|
5299
5300
|
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
|
@@ -5882,6 +5883,8 @@ const makeVInputProps = propsFactory({
|
|
|
5882
5883
|
appendIcon: IconValue,
|
|
5883
5884
|
prependIcon: IconValue,
|
|
5884
5885
|
hideDetails: [Boolean, String],
|
|
5886
|
+
hint: String,
|
|
5887
|
+
persistentHint: Boolean,
|
|
5885
5888
|
messages: {
|
|
5886
5889
|
type: [Array, String],
|
|
5887
5890
|
default: () => []
|
|
@@ -5945,10 +5948,19 @@ const VInput = genericComponent()({
|
|
|
5945
5948
|
resetValidation,
|
|
5946
5949
|
validate
|
|
5947
5950
|
}));
|
|
5951
|
+
const messages = computed(() => {
|
|
5952
|
+
if (errorMessages.value.length > 0) {
|
|
5953
|
+
return errorMessages.value;
|
|
5954
|
+
} else if (props.hint && (props.persistentHint || props.focused)) {
|
|
5955
|
+
return props.hint;
|
|
5956
|
+
} else {
|
|
5957
|
+
return props.messages;
|
|
5958
|
+
}
|
|
5959
|
+
});
|
|
5948
5960
|
useRender(() => {
|
|
5949
5961
|
const hasPrepend = !!(slots.prepend || props.prependIcon);
|
|
5950
5962
|
const hasAppend = !!(slots.append || props.appendIcon);
|
|
5951
|
-
const hasMessages =
|
|
5963
|
+
const hasMessages = messages.value.length > 0;
|
|
5952
5964
|
const hasDetails = !props.hideDetails || props.hideDetails === 'auto' && (hasMessages || !!slots.details);
|
|
5953
5965
|
return createVNode("div", {
|
|
5954
5966
|
"class": ['v-input', `v-input--${props.direction}`, densityClasses.value, validationClasses.value]
|
|
@@ -5971,7 +5983,7 @@ const VInput = genericComponent()({
|
|
|
5971
5983
|
}, [createVNode(VMessages, {
|
|
5972
5984
|
"id": messagesId.value,
|
|
5973
5985
|
"active": hasMessages,
|
|
5974
|
-
"messages":
|
|
5986
|
+
"messages": messages.value
|
|
5975
5987
|
}, {
|
|
5976
5988
|
message: slots.message
|
|
5977
5989
|
}), slots.details?.(slotProps.value)])]);
|
|
@@ -5983,10 +5995,6 @@ const VInput = genericComponent()({
|
|
|
5983
5995
|
};
|
|
5984
5996
|
}
|
|
5985
5997
|
});
|
|
5986
|
-
function filterInputProps(props) {
|
|
5987
|
-
const keys = Object.keys(VInput.props).filter(k => !isOn(k));
|
|
5988
|
-
return pick(props, keys);
|
|
5989
|
-
}
|
|
5990
5998
|
|
|
5991
5999
|
const VCounter = genericComponent()({
|
|
5992
6000
|
name: 'VCounter',
|
|
@@ -6112,8 +6120,6 @@ const makeVTextFieldProps = propsFactory({
|
|
|
6112
6120
|
autofocus: Boolean,
|
|
6113
6121
|
counter: [Boolean, Number, String],
|
|
6114
6122
|
counterValue: Function,
|
|
6115
|
-
hint: String,
|
|
6116
|
-
persistentHint: Boolean,
|
|
6117
6123
|
prefix: String,
|
|
6118
6124
|
placeholder: String,
|
|
6119
6125
|
persistentPlaceholder: Boolean,
|
|
@@ -6168,9 +6174,6 @@ const VTextField = genericComponent()({
|
|
|
6168
6174
|
const vFieldRef = ref();
|
|
6169
6175
|
const inputRef = ref();
|
|
6170
6176
|
const isActive = computed(() => activeTypes.includes(props.type) || props.persistentPlaceholder || isFocused.value);
|
|
6171
|
-
const messages = computed(() => {
|
|
6172
|
-
return props.messages.length ? props.messages : isFocused.value || props.persistentHint ? props.hint : '';
|
|
6173
|
-
});
|
|
6174
6177
|
function onFocus() {
|
|
6175
6178
|
if (inputRef.value !== document.activeElement) {
|
|
6176
6179
|
inputRef.value?.focus();
|
|
@@ -6213,7 +6216,7 @@ const VTextField = genericComponent()({
|
|
|
6213
6216
|
const [{
|
|
6214
6217
|
modelValue: _,
|
|
6215
6218
|
...inputProps
|
|
6216
|
-
}] =
|
|
6219
|
+
}] = VInput.filterProps(props);
|
|
6217
6220
|
const [fieldProps] = filterFieldProps(props);
|
|
6218
6221
|
return createVNode(VInput, mergeProps({
|
|
6219
6222
|
"ref": vInputRef,
|
|
@@ -6223,12 +6226,9 @@ const VTextField = genericComponent()({
|
|
|
6223
6226
|
'v-text-field--prefixed': props.prefix,
|
|
6224
6227
|
'v-text-field--suffixed': props.suffix,
|
|
6225
6228
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
|
6226
|
-
}]
|
|
6227
|
-
"onClick:prepend": props['onClick:prepend'],
|
|
6228
|
-
"onClick:append": props['onClick:append']
|
|
6229
|
+
}]
|
|
6229
6230
|
}, rootAttrs, inputProps, {
|
|
6230
|
-
"focused": isFocused.value
|
|
6231
|
-
"messages": messages.value
|
|
6231
|
+
"focused": isFocused.value
|
|
6232
6232
|
}), {
|
|
6233
6233
|
...slots,
|
|
6234
6234
|
default: _ref2 => {
|
|
@@ -6637,7 +6637,7 @@ const VCheckbox = genericComponent()({
|
|
|
6637
6637
|
const id = computed(() => props.id || `checkbox-${uid}`);
|
|
6638
6638
|
useRender(() => {
|
|
6639
6639
|
const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
|
|
6640
|
-
const [inputProps, _1] =
|
|
6640
|
+
const [inputProps, _1] = VInput.filterProps(props);
|
|
6641
6641
|
const [checkboxProps, _2] = VCheckboxBtn.filterProps(props);
|
|
6642
6642
|
return createVNode(VInput, mergeProps({
|
|
6643
6643
|
"class": "v-checkbox"
|
|
@@ -8049,7 +8049,12 @@ function transformItems$1(props, items) {
|
|
|
8049
8049
|
function useItems(props) {
|
|
8050
8050
|
const items = computed(() => transformItems$1(props, props.items));
|
|
8051
8051
|
function transformIn(value) {
|
|
8052
|
-
return value.map(
|
|
8052
|
+
return value.map(v => {
|
|
8053
|
+
const existingItem = items.value.find(item => deepEqual(v, item.value));
|
|
8054
|
+
// Nullish existingItem means value is a custom input value from combobox
|
|
8055
|
+
// In this case, use transformItem to create an InternalItem based on value
|
|
8056
|
+
return existingItem ?? transformItem$1(props, v);
|
|
8057
|
+
});
|
|
8053
8058
|
}
|
|
8054
8059
|
function transformOut(value) {
|
|
8055
8060
|
return value.map(_ref => {
|
|
@@ -8727,7 +8732,7 @@ function staticLocationStrategy() {
|
|
|
8727
8732
|
}
|
|
8728
8733
|
|
|
8729
8734
|
/** Get size of element ignoring max-width/max-height */
|
|
8730
|
-
function getIntrinsicSize(el) {
|
|
8735
|
+
function getIntrinsicSize(el, isRtl) {
|
|
8731
8736
|
// const scrollables = new Map<Element, [number, number]>()
|
|
8732
8737
|
// el.querySelectorAll('*').forEach(el => {
|
|
8733
8738
|
// const x = el.scrollLeft
|
|
@@ -8744,7 +8749,11 @@ function getIntrinsicSize(el) {
|
|
|
8744
8749
|
|
|
8745
8750
|
/* eslint-disable-next-line sonarjs/prefer-immediate-return */
|
|
8746
8751
|
const contentBox = nullifyTransforms(el);
|
|
8747
|
-
|
|
8752
|
+
if (isRtl) {
|
|
8753
|
+
contentBox.x += parseFloat(el.style.right || 0);
|
|
8754
|
+
} else {
|
|
8755
|
+
contentBox.x -= parseFloat(el.style.left || 0);
|
|
8756
|
+
}
|
|
8748
8757
|
contentBox.y -= parseFloat(el.style.top || 0);
|
|
8749
8758
|
|
|
8750
8759
|
// el.style.maxWidth = initialMaxWidth
|
|
@@ -8825,7 +8834,7 @@ function connectedLocationStrategy(data, props, contentStyles) {
|
|
|
8825
8834
|
});
|
|
8826
8835
|
if (!data.activatorEl.value || !data.contentEl.value) return;
|
|
8827
8836
|
const targetBox = data.activatorEl.value.getBoundingClientRect();
|
|
8828
|
-
const contentBox = getIntrinsicSize(data.contentEl.value);
|
|
8837
|
+
const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);
|
|
8829
8838
|
const scrollParents = getScrollParents(data.contentEl.value);
|
|
8830
8839
|
const viewportMargin = 12;
|
|
8831
8840
|
if (!scrollParents.length) {
|
|
@@ -9001,7 +9010,8 @@ function connectedLocationStrategy(data, props, contentStyles) {
|
|
|
9001
9010
|
transformOrigin: `${placement.origin.side} ${placement.origin.align}`,
|
|
9002
9011
|
// transform: `translate(${pixelRound(x)}px, ${pixelRound(y)}px)`,
|
|
9003
9012
|
top: convertToUnit(pixelRound(y)),
|
|
9004
|
-
left: convertToUnit(pixelRound(x)),
|
|
9013
|
+
left: data.isRtl.value ? undefined : convertToUnit(pixelRound(x)),
|
|
9014
|
+
right: data.isRtl.value ? convertToUnit(pixelRound(-x)) : undefined,
|
|
9005
9015
|
minWidth: convertToUnit(axis === 'y' ? Math.min(minWidth.value, targetBox.width) : minWidth.value),
|
|
9006
9016
|
maxWidth: convertToUnit(pixelCeil(clamp(available.x, minWidth.value === Infinity ? 0 : minWidth.value, maxWidth.value))),
|
|
9007
9017
|
maxHeight: convertToUnit(pixelCeil(clamp(available.y, minHeight.value === Infinity ? 0 : minHeight.value, maxHeight.value)))
|
|
@@ -9896,6 +9906,7 @@ const VSelect = genericComponent()({
|
|
|
9896
9906
|
})
|
|
9897
9907
|
},
|
|
9898
9908
|
emits: {
|
|
9909
|
+
'update:focused': focused => true,
|
|
9899
9910
|
'update:modelValue': val => true,
|
|
9900
9911
|
'update:menu': val => true
|
|
9901
9912
|
},
|
|
@@ -10012,6 +10023,9 @@ const VSelect = genericComponent()({
|
|
|
10012
10023
|
menu.value = false;
|
|
10013
10024
|
}
|
|
10014
10025
|
}
|
|
10026
|
+
function onFocusin(e) {
|
|
10027
|
+
isFocused.value = true;
|
|
10028
|
+
}
|
|
10015
10029
|
function onFocusout(e) {
|
|
10016
10030
|
if (e.relatedTarget == null) {
|
|
10017
10031
|
vTextFieldRef.value?.focus();
|
|
@@ -10066,6 +10080,7 @@ const VSelect = genericComponent()({
|
|
|
10066
10080
|
"selected": selected.value,
|
|
10067
10081
|
"selectStrategy": props.multiple ? 'independent' : 'single-independent',
|
|
10068
10082
|
"onMousedown": e => e.preventDefault(),
|
|
10083
|
+
"onFocusin": onFocusin,
|
|
10069
10084
|
"onFocusout": onFocusout
|
|
10070
10085
|
}, {
|
|
10071
10086
|
default: () => [!displayItems.value.length && !props.hideNoData && (slots['no-data']?.() ?? createVNode(VListItem, {
|
|
@@ -10144,6 +10159,7 @@ const VSelect = genericComponent()({
|
|
|
10144
10159
|
});
|
|
10145
10160
|
});
|
|
10146
10161
|
return forwardRefs({
|
|
10162
|
+
isFocused,
|
|
10147
10163
|
menu,
|
|
10148
10164
|
select
|
|
10149
10165
|
}, vTextFieldRef);
|
|
@@ -10282,6 +10298,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10282
10298
|
})
|
|
10283
10299
|
},
|
|
10284
10300
|
emits: {
|
|
10301
|
+
'update:focused': focused => true,
|
|
10285
10302
|
'update:search': val => true,
|
|
10286
10303
|
'update:modelValue': val => true,
|
|
10287
10304
|
'update:menu': val => true
|
|
@@ -10305,11 +10322,17 @@ const VAutocomplete = genericComponent()({
|
|
|
10305
10322
|
_menu.value = v;
|
|
10306
10323
|
}
|
|
10307
10324
|
});
|
|
10325
|
+
const selectionIndex = ref(-1);
|
|
10326
|
+
const color = computed(() => vTextFieldRef.value?.color);
|
|
10308
10327
|
const {
|
|
10309
10328
|
items,
|
|
10310
10329
|
transformIn,
|
|
10311
10330
|
transformOut
|
|
10312
10331
|
} = useItems(props);
|
|
10332
|
+
const {
|
|
10333
|
+
textColorClasses,
|
|
10334
|
+
textColorStyles
|
|
10335
|
+
} = useTextColor(color);
|
|
10313
10336
|
const search = useProxiedModel(props, 'search', '');
|
|
10314
10337
|
const model = useProxiedModel(props, 'modelValue', [], v => transformIn(wrapInArray(v)), v => {
|
|
10315
10338
|
const transformed = transformOut(v);
|
|
@@ -10332,6 +10355,7 @@ const VAutocomplete = genericComponent()({
|
|
|
10332
10355
|
return filteredItems.value;
|
|
10333
10356
|
});
|
|
10334
10357
|
const selected = computed(() => selections.value.map(selection => selection.props.value));
|
|
10358
|
+
const selection = computed(() => selections.value[selectionIndex.value]);
|
|
10335
10359
|
const listRef = ref();
|
|
10336
10360
|
function onClear(e) {
|
|
10337
10361
|
if (props.openOnClear) {
|
|
@@ -10345,7 +10369,9 @@ const VAutocomplete = genericComponent()({
|
|
|
10345
10369
|
}
|
|
10346
10370
|
function onKeydown(e) {
|
|
10347
10371
|
if (props.readonly || form?.isReadonly.value) return;
|
|
10348
|
-
|
|
10372
|
+
const selectionStart = vTextFieldRef.value.selectionStart;
|
|
10373
|
+
const length = selected.value.length;
|
|
10374
|
+
if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
|
10349
10375
|
e.preventDefault();
|
|
10350
10376
|
}
|
|
10351
10377
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
|
@@ -10362,6 +10388,38 @@ const VAutocomplete = genericComponent()({
|
|
|
10362
10388
|
} else if (e.key === 'ArrowUp') {
|
|
10363
10389
|
listRef.value?.focus('prev');
|
|
10364
10390
|
}
|
|
10391
|
+
if (!props.multiple) return;
|
|
10392
|
+
if (['Backspace', 'Delete'].includes(e.key)) {
|
|
10393
|
+
if (selectionIndex.value < 0) {
|
|
10394
|
+
if (e.key === 'Backspace' && !search.value) {
|
|
10395
|
+
selectionIndex.value = length - 1;
|
|
10396
|
+
}
|
|
10397
|
+
return;
|
|
10398
|
+
}
|
|
10399
|
+
const originalSelectionIndex = selectionIndex.value;
|
|
10400
|
+
if (selection.value) select(selection.value);
|
|
10401
|
+
selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
|
|
10402
|
+
}
|
|
10403
|
+
if (e.key === 'ArrowLeft') {
|
|
10404
|
+
if (selectionIndex.value < 0 && selectionStart > 0) return;
|
|
10405
|
+
const prev = selectionIndex.value > -1 ? selectionIndex.value - 1 : length - 1;
|
|
10406
|
+
if (selections.value[prev]) {
|
|
10407
|
+
selectionIndex.value = prev;
|
|
10408
|
+
} else {
|
|
10409
|
+
selectionIndex.value = -1;
|
|
10410
|
+
vTextFieldRef.value.setSelectionRange(search.value?.length, search.value?.length);
|
|
10411
|
+
}
|
|
10412
|
+
}
|
|
10413
|
+
if (e.key === 'ArrowRight') {
|
|
10414
|
+
if (selectionIndex.value < 0) return;
|
|
10415
|
+
const next = selectionIndex.value + 1;
|
|
10416
|
+
if (selections.value[next]) {
|
|
10417
|
+
selectionIndex.value = next;
|
|
10418
|
+
} else {
|
|
10419
|
+
selectionIndex.value = -1;
|
|
10420
|
+
vTextFieldRef.value.setSelectionRange(0, 0);
|
|
10421
|
+
}
|
|
10422
|
+
}
|
|
10365
10423
|
}
|
|
10366
10424
|
function onInput(e) {
|
|
10367
10425
|
search.value = e.target.value;
|
|
@@ -10383,7 +10441,6 @@ const VAutocomplete = genericComponent()({
|
|
|
10383
10441
|
const index = selected.value.findIndex(selection => props.valueComparator(selection, item.value));
|
|
10384
10442
|
if (index === -1) {
|
|
10385
10443
|
model.value = [...model.value, item];
|
|
10386
|
-
search.value = '';
|
|
10387
10444
|
} else {
|
|
10388
10445
|
const value = [...model.value];
|
|
10389
10446
|
value.splice(index, 1);
|
|
@@ -10428,12 +10485,15 @@ const VAutocomplete = genericComponent()({
|
|
|
10428
10485
|
"onUpdate:modelValue": v => {
|
|
10429
10486
|
if (v == null) model.value = [];
|
|
10430
10487
|
},
|
|
10488
|
+
"focused": isFocused.value,
|
|
10489
|
+
"onUpdate:focused": $event => isFocused.value = $event,
|
|
10431
10490
|
"validationValue": model.externalValue,
|
|
10432
10491
|
"dirty": isDirty,
|
|
10433
10492
|
"onInput": onInput,
|
|
10434
10493
|
"class": ['v-autocomplete', {
|
|
10435
10494
|
'v-autocomplete--active-menu': menu.value,
|
|
10436
10495
|
'v-autocomplete--chips': !!props.chips,
|
|
10496
|
+
'v-autocomplete--selecting-index': selectionIndex.value > -1,
|
|
10437
10497
|
[`v-autocomplete--${props.multiple ? 'multiple' : 'single'}`]: true,
|
|
10438
10498
|
'v-autocomplete--selection-slot': !!slots.selection
|
|
10439
10499
|
}],
|
|
@@ -10442,8 +10502,6 @@ const VAutocomplete = genericComponent()({
|
|
|
10442
10502
|
"placeholder": isDirty ? undefined : props.placeholder,
|
|
10443
10503
|
"onClick:clear": onClear,
|
|
10444
10504
|
"onMousedown:control": onMousedownControl,
|
|
10445
|
-
"onFocus": () => isFocused.value = true,
|
|
10446
|
-
"onBlur": () => isFocused.value = false,
|
|
10447
10505
|
"onKeydown": onKeydown
|
|
10448
10506
|
}), {
|
|
10449
10507
|
...slots,
|
|
@@ -10508,7 +10566,8 @@ const VAutocomplete = genericComponent()({
|
|
|
10508
10566
|
};
|
|
10509
10567
|
return createVNode("div", {
|
|
10510
10568
|
"key": item.value,
|
|
10511
|
-
"class":
|
|
10569
|
+
"class": ['v-autocomplete__selection', index === selectionIndex.value && ['v-autocomplete__selection--selected', textColorClasses.value]],
|
|
10570
|
+
"style": index === selectionIndex.value ? textColorStyles.value : {}
|
|
10512
10571
|
}, [hasChips ? !slots.chip ? createVNode(VChip, mergeProps({
|
|
10513
10572
|
"key": "chip",
|
|
10514
10573
|
"closable": props.closableChips,
|
|
@@ -12903,7 +12962,7 @@ const VSlider = genericComponent()({
|
|
|
12903
12962
|
} = useFocus(props);
|
|
12904
12963
|
const trackStop = computed(() => position(model.value));
|
|
12905
12964
|
useRender(() => {
|
|
12906
|
-
const [inputProps, _] =
|
|
12965
|
+
const [inputProps, _] = VInput.filterProps(props);
|
|
12907
12966
|
const hasPrepend = !!(props.label || slots.label || slots.prepend);
|
|
12908
12967
|
return createVNode(VInput, mergeProps({
|
|
12909
12968
|
"class": ['v-slider', {
|
|
@@ -13567,6 +13626,7 @@ const VCombobox = genericComponent()({
|
|
|
13567
13626
|
})
|
|
13568
13627
|
},
|
|
13569
13628
|
emits: {
|
|
13629
|
+
'update:focused': focused => true,
|
|
13570
13630
|
'update:modelValue': val => true,
|
|
13571
13631
|
'update:search': val => true,
|
|
13572
13632
|
'update:menu': val => true
|
|
@@ -13704,8 +13764,9 @@ const VCombobox = genericComponent()({
|
|
|
13704
13764
|
}
|
|
13705
13765
|
return;
|
|
13706
13766
|
}
|
|
13707
|
-
|
|
13708
|
-
|
|
13767
|
+
const originalSelectionIndex = selectionIndex.value;
|
|
13768
|
+
if (selection.value) select(selection.value);
|
|
13769
|
+
selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
|
|
13709
13770
|
}
|
|
13710
13771
|
if (e.key === 'ArrowLeft') {
|
|
13711
13772
|
if (selectionIndex.value < 0 && selectionStart > 0) return;
|
|
@@ -13790,6 +13851,8 @@ const VCombobox = genericComponent()({
|
|
|
13790
13851
|
"onUpdate:modelValue": [$event => search.value = $event, v => {
|
|
13791
13852
|
if (v == null) model.value = [];
|
|
13792
13853
|
}],
|
|
13854
|
+
"focused": isFocused.value,
|
|
13855
|
+
"onUpdate:focused": $event => isFocused.value = $event,
|
|
13793
13856
|
"validationValue": model.externalValue,
|
|
13794
13857
|
"dirty": isDirty,
|
|
13795
13858
|
"class": ['v-combobox', {
|
|
@@ -13803,8 +13866,6 @@ const VCombobox = genericComponent()({
|
|
|
13803
13866
|
"placeholder": isDirty ? undefined : props.placeholder,
|
|
13804
13867
|
"onClick:clear": onClear,
|
|
13805
13868
|
"onMousedown:control": onMousedownControl,
|
|
13806
|
-
"onFocus": () => isFocused.value = true,
|
|
13807
|
-
"onBlur": () => isFocused.value = false,
|
|
13808
13869
|
"onKeydown": onKeydown
|
|
13809
13870
|
}), {
|
|
13810
13871
|
...slots,
|
|
@@ -14256,8 +14317,6 @@ const VFileInput = genericComponent()({
|
|
|
14256
14317
|
default: '$vuetify.fileInput.counter'
|
|
14257
14318
|
},
|
|
14258
14319
|
multiple: Boolean,
|
|
14259
|
-
hint: String,
|
|
14260
|
-
persistentHint: Boolean,
|
|
14261
14320
|
showSize: {
|
|
14262
14321
|
type: [Boolean, Number],
|
|
14263
14322
|
default: false,
|
|
@@ -14282,6 +14341,7 @@ const VFileInput = genericComponent()({
|
|
|
14282
14341
|
emits: {
|
|
14283
14342
|
'click:control': e => true,
|
|
14284
14343
|
'mousedown:control': e => true,
|
|
14344
|
+
'update:focused': focused => true,
|
|
14285
14345
|
'update:modelValue': files => true
|
|
14286
14346
|
},
|
|
14287
14347
|
setup(props, _ref) {
|
|
@@ -14294,6 +14354,11 @@ const VFileInput = genericComponent()({
|
|
|
14294
14354
|
t
|
|
14295
14355
|
} = useLocale();
|
|
14296
14356
|
const model = useProxiedModel(props, 'modelValue');
|
|
14357
|
+
const {
|
|
14358
|
+
isFocused,
|
|
14359
|
+
focus,
|
|
14360
|
+
blur
|
|
14361
|
+
} = useFocus(props);
|
|
14297
14362
|
const base = computed(() => typeof props.showSize !== 'boolean' ? props.showSize : undefined);
|
|
14298
14363
|
const totalBytes = computed(() => (model.value ?? []).reduce((bytes, _ref2) => {
|
|
14299
14364
|
let {
|
|
@@ -14315,21 +14380,14 @@ const VFileInput = genericComponent()({
|
|
|
14315
14380
|
});
|
|
14316
14381
|
const vInputRef = ref();
|
|
14317
14382
|
const vFieldRef = ref();
|
|
14318
|
-
const isFocused = ref(false);
|
|
14319
14383
|
const inputRef = ref();
|
|
14320
|
-
const messages = computed(() => {
|
|
14321
|
-
return props.messages.length ? props.messages : props.persistentHint ? props.hint : '';
|
|
14322
|
-
});
|
|
14323
14384
|
function onFocus() {
|
|
14324
14385
|
if (inputRef.value !== document.activeElement) {
|
|
14325
14386
|
inputRef.value?.focus();
|
|
14326
14387
|
}
|
|
14327
|
-
if (!isFocused.value)
|
|
14328
|
-
isFocused.value = true;
|
|
14329
|
-
}
|
|
14388
|
+
if (!isFocused.value) focus();
|
|
14330
14389
|
}
|
|
14331
14390
|
function onClickPrepend(e) {
|
|
14332
|
-
callEvent(props['onClick:prepend'], e);
|
|
14333
14391
|
onControlClick(e);
|
|
14334
14392
|
}
|
|
14335
14393
|
function onControlMousedown(e) {
|
|
@@ -14360,18 +14418,16 @@ const VFileInput = genericComponent()({
|
|
|
14360
14418
|
const [{
|
|
14361
14419
|
modelValue: _,
|
|
14362
14420
|
...inputProps
|
|
14363
|
-
}] =
|
|
14421
|
+
}] = VInput.filterProps(props);
|
|
14364
14422
|
const [fieldProps] = filterFieldProps(props);
|
|
14365
14423
|
return createVNode(VInput, mergeProps({
|
|
14366
14424
|
"ref": vInputRef,
|
|
14367
14425
|
"modelValue": model.value,
|
|
14368
14426
|
"onUpdate:modelValue": $event => model.value = $event,
|
|
14369
14427
|
"class": "v-file-input",
|
|
14370
|
-
"onClick:prepend": onClickPrepend
|
|
14371
|
-
"onClick:append": props['onClick:append']
|
|
14428
|
+
"onClick:prepend": onClickPrepend
|
|
14372
14429
|
}, rootAttrs, inputProps, {
|
|
14373
|
-
"focused": isFocused.value
|
|
14374
|
-
"messages": messages.value
|
|
14430
|
+
"focused": isFocused.value
|
|
14375
14431
|
}), {
|
|
14376
14432
|
...slots,
|
|
14377
14433
|
default: _ref3 => {
|
|
@@ -14423,7 +14479,7 @@ const VFileInput = genericComponent()({
|
|
|
14423
14479
|
model.value = [...(target.files ?? [])];
|
|
14424
14480
|
},
|
|
14425
14481
|
"onFocus": onFocus,
|
|
14426
|
-
"onBlur":
|
|
14482
|
+
"onBlur": blur
|
|
14427
14483
|
}, slotProps, inputAttrs), null), createVNode("div", {
|
|
14428
14484
|
"class": fieldClass
|
|
14429
14485
|
}, [!!model.value?.length && (slots.selection ? slots.selection({
|
|
@@ -16118,7 +16174,7 @@ const VRadioGroup = genericComponent()({
|
|
|
16118
16174
|
const model = useProxiedModel(props, 'modelValue');
|
|
16119
16175
|
useRender(() => {
|
|
16120
16176
|
const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
|
|
16121
|
-
const [inputProps, _1] =
|
|
16177
|
+
const [inputProps, _1] = VInput.filterProps(props);
|
|
16122
16178
|
const [controlProps, _2] = VSelectionControl.filterProps(props);
|
|
16123
16179
|
const label = slots.label ? slots.label({
|
|
16124
16180
|
label: props.label,
|
|
@@ -16246,7 +16302,7 @@ const VRangeSlider = genericComponent()({
|
|
|
16246
16302
|
const trackStart = computed(() => position(model.value[0]));
|
|
16247
16303
|
const trackStop = computed(() => position(model.value[1]));
|
|
16248
16304
|
useRender(() => {
|
|
16249
|
-
const [inputProps, _] =
|
|
16305
|
+
const [inputProps, _] = VInput.filterProps(props);
|
|
16250
16306
|
const hasPrepend = !!(props.label || slots.label || slots.prepend);
|
|
16251
16307
|
return createVNode(VInput, mergeProps({
|
|
16252
16308
|
"class": ['v-slider', 'v-range-slider', {
|
|
@@ -17120,10 +17176,12 @@ const VSwitch = genericComponent()({
|
|
|
17120
17176
|
}
|
|
17121
17177
|
useRender(() => {
|
|
17122
17178
|
const [inputAttrs, controlAttrs] = filterInputAttrs(attrs);
|
|
17123
|
-
const [inputProps, _1] =
|
|
17179
|
+
const [inputProps, _1] = VInput.filterProps(props);
|
|
17124
17180
|
const [controlProps, _2] = VSelectionControl.filterProps(props);
|
|
17125
17181
|
const control = ref();
|
|
17126
|
-
function onClick() {
|
|
17182
|
+
function onClick(e) {
|
|
17183
|
+
e.stopPropagation();
|
|
17184
|
+
e.preventDefault();
|
|
17127
17185
|
control.value?.input?.click();
|
|
17128
17186
|
}
|
|
17129
17187
|
return createVNode(VInput, mergeProps({
|
|
@@ -17485,8 +17543,6 @@ const VTextarea = genericComponent()({
|
|
|
17485
17543
|
autofocus: Boolean,
|
|
17486
17544
|
counter: [Boolean, Number, String],
|
|
17487
17545
|
counterValue: Function,
|
|
17488
|
-
hint: String,
|
|
17489
|
-
persistentHint: Boolean,
|
|
17490
17546
|
prefix: String,
|
|
17491
17547
|
placeholder: String,
|
|
17492
17548
|
persistentPlaceholder: Boolean,
|
|
@@ -17541,9 +17597,6 @@ const VTextarea = genericComponent()({
|
|
|
17541
17597
|
const controlHeight = ref('');
|
|
17542
17598
|
const textareaRef = ref();
|
|
17543
17599
|
const isActive = computed(() => isFocused.value || props.persistentPlaceholder);
|
|
17544
|
-
const messages = computed(() => {
|
|
17545
|
-
return props.messages.length ? props.messages : isFocused.value || props.persistentHint ? props.hint : '';
|
|
17546
|
-
});
|
|
17547
17600
|
function onFocus() {
|
|
17548
17601
|
if (textareaRef.value !== document.activeElement) {
|
|
17549
17602
|
textareaRef.value?.focus();
|
|
@@ -17615,7 +17668,7 @@ const VTextarea = genericComponent()({
|
|
|
17615
17668
|
const [{
|
|
17616
17669
|
modelValue: _,
|
|
17617
17670
|
...inputProps
|
|
17618
|
-
}] =
|
|
17671
|
+
}] = VInput.filterProps(props);
|
|
17619
17672
|
const [fieldProps] = filterFieldProps(props);
|
|
17620
17673
|
return createVNode(VInput, mergeProps({
|
|
17621
17674
|
"ref": vInputRef,
|
|
@@ -17629,12 +17682,9 @@ const VTextarea = genericComponent()({
|
|
|
17629
17682
|
'v-textarea--auto-grow': props.autoGrow,
|
|
17630
17683
|
'v-textarea--no-resize': props.noResize || props.autoGrow,
|
|
17631
17684
|
'v-text-field--flush-details': ['plain', 'underlined'].includes(props.variant)
|
|
17632
|
-
}]
|
|
17633
|
-
"onClick:prepend": props['onClick:prepend'],
|
|
17634
|
-
"onClick:append": props['onClick:append']
|
|
17685
|
+
}]
|
|
17635
17686
|
}, rootAttrs, inputProps, {
|
|
17636
|
-
"focused": isFocused.value
|
|
17637
|
-
"messages": messages.value
|
|
17687
|
+
"focused": isFocused.value
|
|
17638
17688
|
}), {
|
|
17639
17689
|
...slots,
|
|
17640
17690
|
default: _ref2 => {
|
|
@@ -18945,56 +18995,64 @@ const VDataTableRows = genericComponent()({
|
|
|
18945
18995
|
const {
|
|
18946
18996
|
t
|
|
18947
18997
|
} = useLocale();
|
|
18948
|
-
useRender(() =>
|
|
18949
|
-
|
|
18950
|
-
|
|
18951
|
-
|
|
18952
|
-
|
|
18953
|
-
|
|
18954
|
-
|
|
18955
|
-
|
|
18956
|
-
|
|
18957
|
-
|
|
18958
|
-
|
|
18959
|
-
|
|
18960
|
-
|
|
18998
|
+
useRender(() => {
|
|
18999
|
+
if (props.loading && slots.loading) {
|
|
19000
|
+
return createVNode("tr", {
|
|
19001
|
+
"class": "v-data-table-rows-no-data",
|
|
19002
|
+
"key": "loading"
|
|
19003
|
+
}, [createVNode("td", {
|
|
19004
|
+
"colspan": columns.value.length
|
|
19005
|
+
}, [slots.loading()])]);
|
|
19006
|
+
}
|
|
19007
|
+
if (!props.loading && !props.items.length && !props.hideNoData && slots['no-data']) {
|
|
19008
|
+
return createVNode("tr", {
|
|
19009
|
+
"class": "v-data-table-rows-no-data",
|
|
19010
|
+
"key": "no-data"
|
|
19011
|
+
}, [createVNode("td", {
|
|
19012
|
+
"colspan": columns.value.length
|
|
19013
|
+
}, [slots['no-data']?.() ?? t(props.noDataText)])]);
|
|
19014
|
+
}
|
|
19015
|
+
return createVNode(Fragment, null, [props.items.map((item, index) => {
|
|
19016
|
+
if (item.type === 'group-header') {
|
|
19017
|
+
return slots['group-header'] ? slots['group-header']({
|
|
19018
|
+
index,
|
|
19019
|
+
item,
|
|
19020
|
+
columns: columns.value,
|
|
19021
|
+
isExpanded,
|
|
19022
|
+
toggleExpand,
|
|
19023
|
+
isSelected,
|
|
19024
|
+
toggleSelect,
|
|
19025
|
+
toggleGroup,
|
|
19026
|
+
isGroupOpen
|
|
19027
|
+
}) : createVNode(VDataTableGroupHeaderRow, {
|
|
19028
|
+
"key": `group-header_${item.id}`,
|
|
19029
|
+
"item": item
|
|
19030
|
+
}, slots);
|
|
19031
|
+
}
|
|
19032
|
+
const slotProps = {
|
|
18961
19033
|
index,
|
|
18962
19034
|
item,
|
|
18963
19035
|
columns: columns.value,
|
|
18964
19036
|
isExpanded,
|
|
18965
19037
|
toggleExpand,
|
|
18966
19038
|
isSelected,
|
|
18967
|
-
toggleSelect
|
|
18968
|
-
|
|
18969
|
-
|
|
18970
|
-
|
|
18971
|
-
"
|
|
19039
|
+
toggleSelect
|
|
19040
|
+
};
|
|
19041
|
+
return createVNode(Fragment, null, [slots.item ? slots.item(slotProps) : createVNode(VDataTableRow, {
|
|
19042
|
+
"key": `item_${item.value}`,
|
|
19043
|
+
"onClick": expandOnClick.value || props['onClick:row'] ? event => {
|
|
19044
|
+
if (expandOnClick.value) {
|
|
19045
|
+
toggleExpand(item);
|
|
19046
|
+
}
|
|
19047
|
+
props['onClick:row']?.(event, {
|
|
19048
|
+
item
|
|
19049
|
+
});
|
|
19050
|
+
} : undefined,
|
|
19051
|
+
"index": index,
|
|
18972
19052
|
"item": item
|
|
18973
|
-
}, slots);
|
|
18974
|
-
}
|
|
18975
|
-
|
|
18976
|
-
index,
|
|
18977
|
-
item,
|
|
18978
|
-
columns: columns.value,
|
|
18979
|
-
isExpanded,
|
|
18980
|
-
toggleExpand,
|
|
18981
|
-
isSelected,
|
|
18982
|
-
toggleSelect
|
|
18983
|
-
};
|
|
18984
|
-
return createVNode(Fragment, null, [slots.item ? slots.item(slotProps) : createVNode(VDataTableRow, {
|
|
18985
|
-
"key": `item_${item.value}`,
|
|
18986
|
-
"onClick": expandOnClick.value || props['onClick:row'] ? event => {
|
|
18987
|
-
if (expandOnClick.value) {
|
|
18988
|
-
toggleExpand(item);
|
|
18989
|
-
}
|
|
18990
|
-
props['onClick:row']?.(event, {
|
|
18991
|
-
item
|
|
18992
|
-
});
|
|
18993
|
-
} : undefined,
|
|
18994
|
-
"index": index,
|
|
18995
|
-
"item": item
|
|
18996
|
-
}, slots), isExpanded(item) && slots['expanded-row']?.(slotProps)]);
|
|
18997
|
-
})]));
|
|
19053
|
+
}, slots), isExpanded(item) && slots['expanded-row']?.(slotProps)]);
|
|
19054
|
+
})]);
|
|
19055
|
+
});
|
|
18998
19056
|
return {};
|
|
18999
19057
|
}
|
|
19000
19058
|
});
|
|
@@ -19269,7 +19327,8 @@ function useOptions(_ref) {
|
|
|
19269
19327
|
page: page.value,
|
|
19270
19328
|
itemsPerPage: itemsPerPage.value,
|
|
19271
19329
|
sortBy: sortBy.value,
|
|
19272
|
-
groupBy: groupBy.value
|
|
19330
|
+
groupBy: groupBy.value,
|
|
19331
|
+
search: search.value
|
|
19273
19332
|
}));
|
|
19274
19333
|
|
|
19275
19334
|
// Reset page when searching
|
|
@@ -19302,12 +19361,12 @@ const makeVDataTableProps = propsFactory({
|
|
|
19302
19361
|
width: [String, Number],
|
|
19303
19362
|
fixedHeader: Boolean,
|
|
19304
19363
|
fixedFooter: Boolean,
|
|
19305
|
-
'onClick:row': Function
|
|
19364
|
+
'onClick:row': Function,
|
|
19365
|
+
search: String
|
|
19306
19366
|
}, 'v-data-table');
|
|
19307
19367
|
const VDataTable = genericComponent()({
|
|
19308
19368
|
name: 'VDataTable',
|
|
19309
19369
|
props: {
|
|
19310
|
-
search: String,
|
|
19311
19370
|
...makeVDataTableProps(),
|
|
19312
19371
|
...makeDataTableExpandProps(),
|
|
19313
19372
|
...makeDataTableGroupProps(),
|
|
@@ -19522,7 +19581,6 @@ function useVirtual(props, items) {
|
|
|
19522
19581
|
const VDataTableVirtual = genericComponent()({
|
|
19523
19582
|
name: 'VDataTableVirtual',
|
|
19524
19583
|
props: {
|
|
19525
|
-
search: String,
|
|
19526
19584
|
...makeVDataTableProps(),
|
|
19527
19585
|
...makeVDataTableProps(),
|
|
19528
19586
|
...makeDataTableGroupProps(),
|
|
@@ -19761,7 +19819,8 @@ const VDataTableServer = genericComponent()({
|
|
|
19761
19819
|
page,
|
|
19762
19820
|
itemsPerPage,
|
|
19763
19821
|
sortBy,
|
|
19764
|
-
groupBy
|
|
19822
|
+
groupBy,
|
|
19823
|
+
search: toRef(props, 'search')
|
|
19765
19824
|
});
|
|
19766
19825
|
provide('v-data-table', {
|
|
19767
19826
|
toggleSort,
|
|
@@ -19821,6 +19880,7 @@ const rootTypes = {
|
|
|
19821
19880
|
'date-picker': 'list-item, heading, divider, date-picker-options, date-picker-days, actions',
|
|
19822
19881
|
'date-picker-options': 'text, avatar@2',
|
|
19823
19882
|
'date-picker-days': 'avatar@28',
|
|
19883
|
+
divider: 'divider',
|
|
19824
19884
|
heading: 'heading',
|
|
19825
19885
|
image: 'image',
|
|
19826
19886
|
'list-item': 'text',
|
|
@@ -20462,7 +20522,7 @@ function createVuetify$1() {
|
|
|
20462
20522
|
locale
|
|
20463
20523
|
};
|
|
20464
20524
|
}
|
|
20465
|
-
const version$1 = "3.1.
|
|
20525
|
+
const version$1 = "3.1.15";
|
|
20466
20526
|
createVuetify$1.version = version$1;
|
|
20467
20527
|
|
|
20468
20528
|
// Vue's inject() can only be used in setup
|
|
@@ -20474,7 +20534,7 @@ function inject(key) {
|
|
|
20474
20534
|
}
|
|
20475
20535
|
}
|
|
20476
20536
|
|
|
20477
|
-
const version = "3.1.
|
|
20537
|
+
const version = "3.1.15";
|
|
20478
20538
|
|
|
20479
20539
|
const createVuetify = function () {
|
|
20480
20540
|
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|