vuetify 3.3.21 → 3.3.23
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 +228 -24
- package/dist/json/importMap-labs.json +4 -4
- package/dist/json/tags.json +57 -3
- package/dist/json/web-types.json +909 -39
- package/dist/vuetify-labs.css +5831 -5824
- package/dist/vuetify-labs.d.ts +205 -19
- package/dist/vuetify-labs.esm.js +95 -50
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +94 -49
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +5191 -5187
- package/dist/vuetify.d.ts +1 -1
- package/dist/vuetify.esm.js +62 -36
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +61 -35
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +813 -813
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.css +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +13 -10
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +2 -2
- package/lib/components/VAutocomplete/_variables.scss +1 -0
- package/lib/components/VCard/VCard.css +3 -1
- package/lib/components/VCard/VCard.sass +2 -1
- package/lib/components/VCard/_variables.scss +7 -5
- package/lib/components/VCombobox/VCombobox.mjs +14 -11
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VList/VListItem.css +0 -4
- package/lib/components/VList/VListItem.sass +0 -5
- package/lib/components/VNavigationDrawer/VNavigationDrawer.css +6 -0
- package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +5 -0
- package/lib/components/VSelect/VSelect.mjs +13 -10
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VToolbar/_variables.scss +6 -3
- package/lib/composables/color.mjs +2 -2
- package/lib/composables/color.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +1 -1
- package/lib/labs/VDataTable/VDataTable.css +0 -6
- package/lib/labs/VDataTable/VDataTable.sass +0 -1
- package/lib/labs/VStepper/VStepper.css +9 -0
- package/lib/labs/VStepper/VStepper.mjs +1 -2
- package/lib/labs/VStepper/VStepper.mjs.map +1 -1
- package/lib/labs/VStepper/VStepper.sass +17 -8
- package/lib/labs/VStepper/VStepperActions.mjs +34 -13
- package/lib/labs/VStepper/VStepperActions.mjs.map +1 -1
- package/lib/labs/VStepper/VStepperItem.mjs.map +1 -1
- package/lib/labs/VStepper/VStepperItem.sass +15 -15
- package/lib/labs/VStepper/_variables.scss +24 -1
- package/lib/labs/VStepper/index.d.mts +205 -19
- package/lib/labs/components.d.mts +205 -19
- package/lib/labs/date/adapters/vuetify.mjs +6 -3
- package/lib/labs/date/adapters/vuetify.mjs.map +1 -1
- package/lib/locale/de.mjs +20 -20
- package/lib/locale/de.mjs.map +1 -1
- package/lib/locale/fr.mjs +19 -19
- package/lib/locale/fr.mjs.map +1 -1
- package/lib/locale/nl.mjs +22 -22
- package/lib/locale/nl.mjs.map +1 -1
- package/lib/util/colorUtils.mjs +3 -0
- package/lib/util/colorUtils.mjs.map +1 -1
- package/lib/util/helpers.mjs +12 -1
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +2 -2
package/dist/vuetify-labs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.3.
|
|
2
|
+
* Vuetify v3.3.23
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -237,6 +237,10 @@
|
|
|
237
237
|
const onRE = /^on[^a-z]/;
|
|
238
238
|
const isOn = key => onRE.test(key);
|
|
239
239
|
const bubblingEvents = ['onAfterscriptexecute', 'onAnimationcancel', 'onAnimationend', 'onAnimationiteration', 'onAnimationstart', 'onAuxclick', 'onBeforeinput', 'onBeforescriptexecute', 'onChange', 'onClick', 'onCompositionend', 'onCompositionstart', 'onCompositionupdate', 'onContextmenu', 'onCopy', 'onCut', 'onDblclick', 'onFocusin', 'onFocusout', 'onFullscreenchange', 'onFullscreenerror', 'onGesturechange', 'onGestureend', 'onGesturestart', 'onGotpointercapture', 'onInput', 'onKeydown', 'onKeypress', 'onKeyup', 'onLostpointercapture', 'onMousedown', 'onMousemove', 'onMouseout', 'onMouseover', 'onMouseup', 'onMousewheel', 'onPaste', 'onPointercancel', 'onPointerdown', 'onPointerenter', 'onPointerleave', 'onPointermove', 'onPointerout', 'onPointerover', 'onPointerup', 'onReset', 'onSelect', 'onSubmit', 'onTouchcancel', 'onTouchend', 'onTouchmove', 'onTouchstart', 'onTransitioncancel', 'onTransitionend', 'onTransitionrun', 'onTransitionstart', 'onWheel'];
|
|
240
|
+
const compositionIgnoreKeys = ['ArrowUp', 'ArrowDown', 'ArrowRight', 'ArrowLeft', 'Enter', 'Escape', 'Tab', ' '];
|
|
241
|
+
function isComposingIgnoreKey(e) {
|
|
242
|
+
return e.isComposing && compositionIgnoreKeys.includes(e.key);
|
|
243
|
+
}
|
|
240
244
|
|
|
241
245
|
/**
|
|
242
246
|
* Filter attributes that should be applied to
|
|
@@ -473,6 +477,13 @@
|
|
|
473
477
|
return null;
|
|
474
478
|
}
|
|
475
479
|
}
|
|
480
|
+
function ensureValidVNode(vnodes) {
|
|
481
|
+
return vnodes.some(child => {
|
|
482
|
+
if (!vue.isVNode(child)) return true;
|
|
483
|
+
if (child.type === vue.Comment) return false;
|
|
484
|
+
return child.type !== vue.Fragment || ensureValidVNode(child.children);
|
|
485
|
+
}) ? vnodes : null;
|
|
486
|
+
}
|
|
476
487
|
|
|
477
488
|
// Utilities
|
|
478
489
|
const block = ['top', 'bottom'];
|
|
@@ -853,6 +864,9 @@
|
|
|
853
864
|
function isCssColor(color) {
|
|
854
865
|
return !!color && /^(#|var\(--|(rgb|hsl)a?\()/.test(color);
|
|
855
866
|
}
|
|
867
|
+
function isParsableColor(color) {
|
|
868
|
+
return isCssColor(color) && !/^((rgb|hsl)a?\()?var\(--/.test(color);
|
|
869
|
+
}
|
|
856
870
|
const cssColorRe = /^(?<fn>(?:rgb|hsl)a?)\((?<values>.+)\)/;
|
|
857
871
|
const mappers = {
|
|
858
872
|
rgb: (r, g, b, a) => ({
|
|
@@ -3281,7 +3295,7 @@
|
|
|
3281
3295
|
if (colors.value.background) {
|
|
3282
3296
|
if (isCssColor(colors.value.background)) {
|
|
3283
3297
|
styles.backgroundColor = colors.value.background;
|
|
3284
|
-
if (!colors.value.text) {
|
|
3298
|
+
if (!colors.value.text && isParsableColor(colors.value.background)) {
|
|
3285
3299
|
const backgroundColor = parseColor(colors.value.background);
|
|
3286
3300
|
if (backgroundColor.a == null || backgroundColor.a === 1) {
|
|
3287
3301
|
const textColor = getForeground(backgroundColor);
|
|
@@ -11163,6 +11177,16 @@
|
|
|
11163
11177
|
modelValue: true,
|
|
11164
11178
|
'onUpdate:modelValue': undefined
|
|
11165
11179
|
};
|
|
11180
|
+
const hasSlot = hasChips ? !!slots.chip : !!slots.selection;
|
|
11181
|
+
const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({
|
|
11182
|
+
item,
|
|
11183
|
+
index,
|
|
11184
|
+
props: slotProps
|
|
11185
|
+
}) : slots.selection({
|
|
11186
|
+
item,
|
|
11187
|
+
index
|
|
11188
|
+
})) : undefined;
|
|
11189
|
+
if (hasSlot && !slotContent) return undefined;
|
|
11166
11190
|
return vue.createVNode("div", {
|
|
11167
11191
|
"key": item.value,
|
|
11168
11192
|
"class": "v-select__selection"
|
|
@@ -11182,15 +11206,8 @@
|
|
|
11182
11206
|
}
|
|
11183
11207
|
}
|
|
11184
11208
|
}, {
|
|
11185
|
-
default: () => [
|
|
11186
|
-
|
|
11187
|
-
index,
|
|
11188
|
-
props: slotProps
|
|
11189
|
-
})]
|
|
11190
|
-
}) : slots.selection?.({
|
|
11191
|
-
item,
|
|
11192
|
-
index
|
|
11193
|
-
}) ?? vue.createVNode("span", {
|
|
11209
|
+
default: () => [slotContent]
|
|
11210
|
+
}) : slotContent ?? vue.createVNode("span", {
|
|
11194
11211
|
"class": "v-select__selection-text"
|
|
11195
11212
|
}, [item.title, props.multiple && index < model.value.length - 1 && vue.createVNode("span", {
|
|
11196
11213
|
"class": "v-select__selection-comma"
|
|
@@ -11691,6 +11708,16 @@
|
|
|
11691
11708
|
modelValue: true,
|
|
11692
11709
|
'onUpdate:modelValue': undefined
|
|
11693
11710
|
};
|
|
11711
|
+
const hasSlot = hasChips ? !!slots.chip : !!slots.selection;
|
|
11712
|
+
const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({
|
|
11713
|
+
item,
|
|
11714
|
+
index,
|
|
11715
|
+
props: slotProps
|
|
11716
|
+
}) : slots.selection({
|
|
11717
|
+
item,
|
|
11718
|
+
index
|
|
11719
|
+
})) : undefined;
|
|
11720
|
+
if (hasSlot && !slotContent) return undefined;
|
|
11694
11721
|
return vue.createVNode("div", {
|
|
11695
11722
|
"key": item.value,
|
|
11696
11723
|
"class": ['v-autocomplete__selection', index === selectionIndex.value && ['v-autocomplete__selection--selected', textColorClasses.value]],
|
|
@@ -11711,15 +11738,8 @@
|
|
|
11711
11738
|
}
|
|
11712
11739
|
}
|
|
11713
11740
|
}, {
|
|
11714
|
-
default: () => [
|
|
11715
|
-
|
|
11716
|
-
index,
|
|
11717
|
-
props: slotProps
|
|
11718
|
-
})]
|
|
11719
|
-
}) : slots.selection?.({
|
|
11720
|
-
item,
|
|
11721
|
-
index
|
|
11722
|
-
}) ?? vue.createVNode("span", {
|
|
11741
|
+
default: () => [slotContent]
|
|
11742
|
+
}) : slotContent ?? vue.createVNode("span", {
|
|
11723
11743
|
"class": "v-autocomplete__selection-text"
|
|
11724
11744
|
}, [item.title, props.multiple && index < model.value.length - 1 && vue.createVNode("span", {
|
|
11725
11745
|
"class": "v-autocomplete__selection-comma"
|
|
@@ -15002,7 +15022,7 @@
|
|
|
15002
15022
|
menu.value = !menu.value;
|
|
15003
15023
|
}
|
|
15004
15024
|
function onKeydown(e) {
|
|
15005
|
-
if (props.readonly || form?.isReadonly.value) return;
|
|
15025
|
+
if (isComposingIgnoreKey(e) || props.readonly || form?.isReadonly.value) return;
|
|
15006
15026
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
|
15007
15027
|
const length = model.value.length;
|
|
15008
15028
|
if (selectionIndex.value > -1 || ['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
|
@@ -15243,6 +15263,16 @@
|
|
|
15243
15263
|
modelValue: true,
|
|
15244
15264
|
'onUpdate:modelValue': undefined
|
|
15245
15265
|
};
|
|
15266
|
+
const hasSlot = hasChips ? !!slots.chip : !!slots.selection;
|
|
15267
|
+
const slotContent = hasSlot ? ensureValidVNode(hasChips ? slots.chip({
|
|
15268
|
+
item,
|
|
15269
|
+
index,
|
|
15270
|
+
props: slotProps
|
|
15271
|
+
}) : slots.selection({
|
|
15272
|
+
item,
|
|
15273
|
+
index
|
|
15274
|
+
})) : undefined;
|
|
15275
|
+
if (hasSlot && !slotContent) return undefined;
|
|
15246
15276
|
return vue.createVNode("div", {
|
|
15247
15277
|
"key": item.value,
|
|
15248
15278
|
"class": ['v-combobox__selection', index === selectionIndex.value && ['v-combobox__selection--selected', textColorClasses.value]],
|
|
@@ -15263,15 +15293,8 @@
|
|
|
15263
15293
|
}
|
|
15264
15294
|
}
|
|
15265
15295
|
}, {
|
|
15266
|
-
default: () => [
|
|
15267
|
-
|
|
15268
|
-
index,
|
|
15269
|
-
props: slotProps
|
|
15270
|
-
})]
|
|
15271
|
-
}) : slots.selection?.({
|
|
15272
|
-
item,
|
|
15273
|
-
index
|
|
15274
|
-
}) ?? vue.createVNode("span", {
|
|
15296
|
+
default: () => [slotContent]
|
|
15297
|
+
}) : slotContent ?? vue.createVNode("span", {
|
|
15275
15298
|
"class": "v-combobox__selection-text"
|
|
15276
15299
|
}, [item.title, props.multiple && index < model.value.length - 1 && vue.createVNode("span", {
|
|
15277
15300
|
"class": "v-combobox__selection-comma"
|
|
@@ -22125,7 +22148,6 @@
|
|
|
22125
22148
|
});
|
|
22126
22149
|
}
|
|
22127
22150
|
function format(value, formatString, locale) {
|
|
22128
|
-
const date = new Date(value);
|
|
22129
22151
|
let options = {};
|
|
22130
22152
|
switch (formatString) {
|
|
22131
22153
|
case 'fullDateWithWeekday':
|
|
@@ -22144,7 +22166,11 @@
|
|
|
22144
22166
|
};
|
|
22145
22167
|
break;
|
|
22146
22168
|
case 'keyboardDate':
|
|
22147
|
-
options = {
|
|
22169
|
+
options = {
|
|
22170
|
+
day: '2-digit',
|
|
22171
|
+
month: '2-digit',
|
|
22172
|
+
year: 'numeric'
|
|
22173
|
+
};
|
|
22148
22174
|
break;
|
|
22149
22175
|
case 'monthAndDate':
|
|
22150
22176
|
options = {
|
|
@@ -22174,7 +22200,7 @@
|
|
|
22174
22200
|
timeZoneName: 'short'
|
|
22175
22201
|
};
|
|
22176
22202
|
}
|
|
22177
|
-
return new Intl.DateTimeFormat(locale, options).format(date);
|
|
22203
|
+
return new Intl.DateTimeFormat(locale, options).format(date(value) ?? undefined);
|
|
22178
22204
|
}
|
|
22179
22205
|
function toISO(adapter, value) {
|
|
22180
22206
|
const date = adapter.toJsDate(value);
|
|
@@ -23951,20 +23977,40 @@
|
|
|
23951
23977
|
emit('click:next');
|
|
23952
23978
|
}
|
|
23953
23979
|
useRender(() => {
|
|
23980
|
+
const prevSlotProps = {
|
|
23981
|
+
onClick: onClickPrev
|
|
23982
|
+
};
|
|
23983
|
+
const nextSlotProps = {
|
|
23984
|
+
onClick: onClickNext
|
|
23985
|
+
};
|
|
23954
23986
|
return vue.createVNode("div", {
|
|
23955
23987
|
"class": "v-stepper-actions"
|
|
23956
|
-
}, [vue.createVNode(
|
|
23957
|
-
"
|
|
23958
|
-
|
|
23959
|
-
|
|
23960
|
-
|
|
23961
|
-
|
|
23962
|
-
|
|
23963
|
-
|
|
23964
|
-
|
|
23965
|
-
|
|
23966
|
-
|
|
23967
|
-
|
|
23988
|
+
}, [vue.createVNode(VDefaultsProvider, {
|
|
23989
|
+
"defaults": {
|
|
23990
|
+
VBtn: {
|
|
23991
|
+
disabled: ['prev', true].includes(props.disabled),
|
|
23992
|
+
text: t(props.prevText),
|
|
23993
|
+
variant: 'text'
|
|
23994
|
+
}
|
|
23995
|
+
}
|
|
23996
|
+
}, {
|
|
23997
|
+
default: () => [slots.prev?.({
|
|
23998
|
+
props: prevSlotProps
|
|
23999
|
+
}) ?? vue.createVNode(VBtn, prevSlotProps, null)]
|
|
24000
|
+
}), vue.createVNode(VDefaultsProvider, {
|
|
24001
|
+
"defaults": {
|
|
24002
|
+
VBtn: {
|
|
24003
|
+
color: props.color,
|
|
24004
|
+
disabled: ['next', true].includes(props.disabled),
|
|
24005
|
+
text: t(props.nextText),
|
|
24006
|
+
variant: 'tonal'
|
|
24007
|
+
}
|
|
24008
|
+
}
|
|
24009
|
+
}, {
|
|
24010
|
+
default: () => [slots.next?.({
|
|
24011
|
+
props: nextSlotProps
|
|
24012
|
+
}) ?? vue.createVNode(VBtn, nextSlotProps, null)]
|
|
24013
|
+
})]);
|
|
23968
24014
|
});
|
|
23969
24015
|
return {};
|
|
23970
24016
|
}
|
|
@@ -24183,7 +24229,6 @@
|
|
|
24183
24229
|
let {
|
|
24184
24230
|
slots
|
|
24185
24231
|
} = _ref;
|
|
24186
|
-
// TODO: fix typing
|
|
24187
24232
|
const {
|
|
24188
24233
|
items: _items,
|
|
24189
24234
|
next,
|
|
@@ -24269,7 +24314,7 @@
|
|
|
24269
24314
|
"key": "stepper-actions",
|
|
24270
24315
|
"onClick:prev": prev,
|
|
24271
24316
|
"onClick:next": next
|
|
24272
|
-
},
|
|
24317
|
+
}, slots))]
|
|
24273
24318
|
});
|
|
24274
24319
|
});
|
|
24275
24320
|
return {
|
|
@@ -24657,7 +24702,7 @@
|
|
|
24657
24702
|
date
|
|
24658
24703
|
};
|
|
24659
24704
|
}
|
|
24660
|
-
const version$1 = "3.3.
|
|
24705
|
+
const version$1 = "3.3.23";
|
|
24661
24706
|
createVuetify$1.version = version$1;
|
|
24662
24707
|
|
|
24663
24708
|
// Vue's inject() can only be used in setup
|
|
@@ -24671,7 +24716,7 @@
|
|
|
24671
24716
|
|
|
24672
24717
|
/* eslint-disable local-rules/sort-imports */
|
|
24673
24718
|
|
|
24674
|
-
const version = "3.3.
|
|
24719
|
+
const version = "3.3.23";
|
|
24675
24720
|
|
|
24676
24721
|
/* eslint-disable local-rules/sort-imports */
|
|
24677
24722
|
|