@vuetify/nightly 3.7.6-master.2025-01-15 → 3.7.6-master.2025-01-18
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/CHANGELOG.md +40 -0
- package/dist/json/attributes.json +3622 -3622
- package/dist/json/importMap-labs.json +14 -14
- package/dist/json/importMap.json +164 -164
- package/dist/json/web-types.json +6178 -6158
- package/dist/vuetify-labs.css +3425 -3422
- package/dist/vuetify-labs.d.ts +129 -104
- package/dist/vuetify-labs.esm.js +53 -20
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +53 -20
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +2764 -2761
- package/dist/vuetify.d.ts +62 -65
- package/dist/vuetify.esm.js +33 -15
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +33 -15
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +29 -23
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +6 -3
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VCombobox/VCombobox.mjs +6 -3
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VDialog/VDialog.css +5 -2
- package/lib/components/VDialog/VDialog.sass +6 -2
- package/lib/components/VSlideGroup/VSlideGroup.mjs +12 -2
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSparkline/VBarline.mjs +3 -2
- package/lib/components/VSparkline/VBarline.mjs.map +1 -1
- package/lib/components/VSparkline/VTrendline.mjs +2 -1
- package/lib/components/VSparkline/VTrendline.mjs.map +1 -1
- package/lib/components/VSparkline/index.d.mts +7 -10
- package/lib/components/VSparkline/util/line.mjs +1 -1
- package/lib/components/VSparkline/util/line.mjs.map +1 -1
- package/lib/components/index.d.mts +7 -10
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +55 -55
- package/lib/labs/VDateInput/VDateInput.mjs +19 -5
- package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
- package/lib/labs/VDateInput/index.d.mts +176 -97
- package/lib/labs/components.d.mts +227 -199
- package/package.json +1 -1
package/dist/vuetify-labs.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
/*!
|
2
|
-
* Vuetify v3.7.6-master.2025-01-
|
2
|
+
* Vuetify v3.7.6-master.2025-01-18
|
3
3
|
* Forged by John Leider
|
4
4
|
* Released under the MIT License.
|
5
5
|
*/
|
@@ -7619,6 +7619,14 @@
|
|
7619
7619
|
toFocus('last');
|
7620
7620
|
}
|
7621
7621
|
}
|
7622
|
+
function getSiblingElement(el, location) {
|
7623
|
+
if (!el) return undefined;
|
7624
|
+
let sibling = el;
|
7625
|
+
do {
|
7626
|
+
sibling = sibling?.[location === 'next' ? 'nextElementSibling' : 'previousElementSibling'];
|
7627
|
+
} while (sibling?.hasAttribute('disabled'));
|
7628
|
+
return sibling;
|
7629
|
+
}
|
7622
7630
|
function focus(location) {
|
7623
7631
|
if (!contentRef.el) return;
|
7624
7632
|
let el;
|
@@ -7626,15 +7634,17 @@
|
|
7626
7634
|
const focusable = focusableChildren(contentRef.el);
|
7627
7635
|
el = focusable[0];
|
7628
7636
|
} else if (location === 'next') {
|
7629
|
-
el = contentRef.el.querySelector(':focus')
|
7637
|
+
el = getSiblingElement(contentRef.el.querySelector(':focus'), location);
|
7630
7638
|
if (!el) return focus('first');
|
7631
7639
|
} else if (location === 'prev') {
|
7632
|
-
el = contentRef.el.querySelector(':focus')
|
7640
|
+
el = getSiblingElement(contentRef.el.querySelector(':focus'), location);
|
7633
7641
|
if (!el) return focus('last');
|
7634
7642
|
} else if (location === 'first') {
|
7635
7643
|
el = contentRef.el.firstElementChild;
|
7644
|
+
if (el?.hasAttribute('disabled')) el = getSiblingElement(el, 'next');
|
7636
7645
|
} else if (location === 'last') {
|
7637
7646
|
el = contentRef.el.lastElementChild;
|
7647
|
+
if (el?.hasAttribute('disabled')) el = getSiblingElement(el, 'prev');
|
7638
7648
|
}
|
7639
7649
|
if (el) {
|
7640
7650
|
el.focus({
|
@@ -13034,7 +13044,7 @@
|
|
13034
13044
|
if (form.isReadonly.value) return;
|
13035
13045
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
13036
13046
|
const length = model.value.length;
|
13037
|
-
if (
|
13047
|
+
if (['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
13038
13048
|
e.preventDefault();
|
13039
13049
|
}
|
13040
13050
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
@@ -13057,12 +13067,14 @@
|
|
13057
13067
|
if (['Backspace', 'Delete'].includes(e.key)) {
|
13058
13068
|
if (!props.multiple && hasSelectionSlot.value && model.value.length > 0 && !search.value) return select(model.value[0], false);
|
13059
13069
|
if (~selectionIndex.value) {
|
13070
|
+
e.preventDefault();
|
13060
13071
|
const originalSelectionIndex = selectionIndex.value;
|
13061
13072
|
select(model.value[selectionIndex.value], false);
|
13062
13073
|
selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
|
13063
13074
|
} else if (e.key === 'Backspace' && !search.value) {
|
13064
13075
|
selectionIndex.value = length - 1;
|
13065
13076
|
}
|
13077
|
+
return;
|
13066
13078
|
}
|
13067
13079
|
if (!props.multiple) return;
|
13068
13080
|
if (e.key === 'ArrowLeft') {
|
@@ -13074,8 +13086,7 @@
|
|
13074
13086
|
selectionIndex.value = -1;
|
13075
13087
|
vTextFieldRef.value.setSelectionRange(search.value?.length, search.value?.length);
|
13076
13088
|
}
|
13077
|
-
}
|
13078
|
-
if (e.key === 'ArrowRight') {
|
13089
|
+
} else if (e.key === 'ArrowRight') {
|
13079
13090
|
if (selectionIndex.value < 0) return;
|
13080
13091
|
const next = selectionIndex.value + 1;
|
13081
13092
|
if (model.value[next]) {
|
@@ -13084,6 +13095,8 @@
|
|
13084
13095
|
selectionIndex.value = -1;
|
13085
13096
|
vTextFieldRef.value.setSelectionRange(0, 0);
|
13086
13097
|
}
|
13098
|
+
} else if (~selectionIndex.value && checkPrintable(e)) {
|
13099
|
+
selectionIndex.value = -1;
|
13087
13100
|
}
|
13088
13101
|
}
|
13089
13102
|
function onChange(e) {
|
@@ -16919,7 +16932,7 @@
|
|
16919
16932
|
if (isComposingIgnoreKey(e) || form.isReadonly.value) return;
|
16920
16933
|
const selectionStart = vTextFieldRef.value.selectionStart;
|
16921
16934
|
const length = model.value.length;
|
16922
|
-
if (
|
16935
|
+
if (['Enter', 'ArrowDown', 'ArrowUp'].includes(e.key)) {
|
16923
16936
|
e.preventDefault();
|
16924
16937
|
}
|
16925
16938
|
if (['Enter', 'ArrowDown'].includes(e.key)) {
|
@@ -16949,12 +16962,14 @@
|
|
16949
16962
|
if (['Backspace', 'Delete'].includes(e.key)) {
|
16950
16963
|
if (!props.multiple && hasSelectionSlot.value && model.value.length > 0 && !search.value) return select(model.value[0], false);
|
16951
16964
|
if (~selectionIndex.value) {
|
16965
|
+
e.preventDefault();
|
16952
16966
|
const originalSelectionIndex = selectionIndex.value;
|
16953
16967
|
select(model.value[selectionIndex.value], false);
|
16954
16968
|
selectionIndex.value = originalSelectionIndex >= length - 1 ? length - 2 : originalSelectionIndex;
|
16955
16969
|
} else if (e.key === 'Backspace' && !search.value) {
|
16956
16970
|
selectionIndex.value = length - 1;
|
16957
16971
|
}
|
16972
|
+
return;
|
16958
16973
|
}
|
16959
16974
|
if (!props.multiple) return;
|
16960
16975
|
if (e.key === 'ArrowLeft') {
|
@@ -16966,8 +16981,7 @@
|
|
16966
16981
|
selectionIndex.value = -1;
|
16967
16982
|
vTextFieldRef.value.setSelectionRange(search.value.length, search.value.length);
|
16968
16983
|
}
|
16969
|
-
}
|
16970
|
-
if (e.key === 'ArrowRight') {
|
16984
|
+
} else if (e.key === 'ArrowRight') {
|
16971
16985
|
if (selectionIndex.value < 0) return;
|
16972
16986
|
const next = selectionIndex.value + 1;
|
16973
16987
|
if (model.value[next]) {
|
@@ -16976,6 +16990,8 @@
|
|
16976
16990
|
selectionIndex.value = -1;
|
16977
16991
|
vTextFieldRef.value.setSelectionRange(0, 0);
|
16978
16992
|
}
|
16993
|
+
} else if (~selectionIndex.value && checkPrintable(e)) {
|
16994
|
+
selectionIndex.value = -1;
|
16979
16995
|
}
|
16980
16996
|
}
|
16981
16997
|
function onAfterEnter() {
|
@@ -25548,7 +25564,7 @@
|
|
25548
25564
|
default: 8
|
25549
25565
|
},
|
25550
25566
|
showLabels: Boolean,
|
25551
|
-
smooth: Boolean,
|
25567
|
+
smooth: [Boolean, String, Number],
|
25552
25568
|
width: {
|
25553
25569
|
type: [Number, String],
|
25554
25570
|
default: 300
|
@@ -25629,6 +25645,7 @@
|
|
25629
25645
|
});
|
25630
25646
|
const bars = vue.computed(() => genBars(items.value, boundary.value));
|
25631
25647
|
const offsetX = vue.computed(() => (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2);
|
25648
|
+
const smooth = vue.computed(() => typeof props.smooth === 'boolean' ? props.smooth ? 2 : 0 : Number(props.smooth));
|
25632
25649
|
useRender(() => {
|
25633
25650
|
const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
|
25634
25651
|
return vue.createVNode("svg", {
|
@@ -25650,8 +25667,8 @@
|
|
25650
25667
|
"y": item.y,
|
25651
25668
|
"width": lineWidth.value,
|
25652
25669
|
"height": item.height,
|
25653
|
-
"rx":
|
25654
|
-
"ry":
|
25670
|
+
"rx": smooth.value,
|
25671
|
+
"ry": smooth.value
|
25655
25672
|
}, [props.autoDraw && vue.createVNode(vue.Fragment, null, [vue.createVNode("animate", {
|
25656
25673
|
"attributeName": "y",
|
25657
25674
|
"from": item.y + item.height,
|
@@ -25853,7 +25870,8 @@
|
|
25853
25870
|
immediate: true
|
25854
25871
|
});
|
25855
25872
|
function genPath$1(fill) {
|
25856
|
-
|
25873
|
+
const smoothValue = typeof props.smooth === 'boolean' ? props.smooth ? 8 : 0 : Number(props.smooth);
|
25874
|
+
return genPath(genPoints(items.value, boundary.value), smoothValue, fill, parseInt(props.height, 10));
|
25857
25875
|
}
|
25858
25876
|
useRender(() => {
|
25859
25877
|
const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
|
@@ -28067,8 +28085,14 @@
|
|
28067
28085
|
|
28068
28086
|
// Types
|
28069
28087
|
|
28088
|
+
// Types
|
28089
|
+
|
28070
28090
|
const makeVDateInputProps = propsFactory({
|
28071
28091
|
hideActions: Boolean,
|
28092
|
+
location: {
|
28093
|
+
type: String,
|
28094
|
+
default: 'bottom start'
|
28095
|
+
},
|
28072
28096
|
...makeFocusProps(),
|
28073
28097
|
...makeVConfirmEditProps(),
|
28074
28098
|
...makeVTextFieldProps({
|
@@ -28078,7 +28102,7 @@
|
|
28078
28102
|
...omit(makeVDatePickerProps({
|
28079
28103
|
weeksInMonth: 'dynamic',
|
28080
28104
|
hideHeader: true
|
28081
|
-
}), ['active'])
|
28105
|
+
}), ['active', 'location'])
|
28082
28106
|
}, 'VDateInput');
|
28083
28107
|
const VDateInput = genericComponent()({
|
28084
28108
|
name: 'VDateInput',
|
@@ -28134,7 +28158,7 @@
|
|
28134
28158
|
}
|
28135
28159
|
useRender(() => {
|
28136
28160
|
const confirmEditProps = VConfirmEdit.filterProps(props);
|
28137
|
-
const datePickerProps = VDatePicker.filterProps(omit(props, ['active']));
|
28161
|
+
const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location']));
|
28138
28162
|
const textFieldProps = VTextField.filterProps(props);
|
28139
28163
|
return vue.createVNode(VTextField, vue.mergeProps(textFieldProps, {
|
28140
28164
|
"class": props.class,
|
@@ -28152,18 +28176,23 @@
|
|
28152
28176
|
"onUpdate:modelValue": $event => menu.value = $event,
|
28153
28177
|
"activator": "parent",
|
28154
28178
|
"min-width": "0",
|
28179
|
+
"location": props.location,
|
28155
28180
|
"closeOnContentClick": false,
|
28156
28181
|
"openOnClick": false
|
28157
28182
|
}, {
|
28158
28183
|
default: () => [vue.createVNode(VConfirmEdit, vue.mergeProps(confirmEditProps, {
|
28159
28184
|
"modelValue": model.value,
|
28160
28185
|
"onUpdate:modelValue": $event => model.value = $event,
|
28161
|
-
"onSave": onSave
|
28186
|
+
"onSave": onSave,
|
28187
|
+
"onCancel": () => menu.value = false
|
28162
28188
|
}), {
|
28163
28189
|
default: _ref2 => {
|
28164
28190
|
let {
|
28165
28191
|
actions,
|
28166
|
-
model: proxyModel
|
28192
|
+
model: proxyModel,
|
28193
|
+
save,
|
28194
|
+
cancel,
|
28195
|
+
isPristine
|
28167
28196
|
} = _ref2;
|
28168
28197
|
return vue.createVNode(VDatePicker, vue.mergeProps(datePickerProps, {
|
28169
28198
|
"modelValue": props.hideActions ? model.value : proxyModel.value,
|
@@ -28177,7 +28206,11 @@
|
|
28177
28206
|
},
|
28178
28207
|
"onMousedown": e => e.preventDefault()
|
28179
28208
|
}), {
|
28180
|
-
actions: !props.hideActions ?
|
28209
|
+
actions: !props.hideActions ? () => slots.actions?.({
|
28210
|
+
save,
|
28211
|
+
cancel,
|
28212
|
+
isPristine
|
28213
|
+
}) ?? actions() : undefined
|
28181
28214
|
});
|
28182
28215
|
}
|
28183
28216
|
})]
|
@@ -30751,7 +30784,7 @@
|
|
30751
30784
|
goTo
|
30752
30785
|
};
|
30753
30786
|
}
|
30754
|
-
const version$1 = "3.7.6-master.2025-01-
|
30787
|
+
const version$1 = "3.7.6-master.2025-01-18";
|
30755
30788
|
createVuetify$1.version = version$1;
|
30756
30789
|
|
30757
30790
|
// Vue's inject() can only be used in setup
|
@@ -31004,7 +31037,7 @@
|
|
31004
31037
|
|
31005
31038
|
/* eslint-disable local-rules/sort-imports */
|
31006
31039
|
|
31007
|
-
const version = "3.7.6-master.2025-01-
|
31040
|
+
const version = "3.7.6-master.2025-01-18";
|
31008
31041
|
|
31009
31042
|
/* eslint-disable local-rules/sort-imports */
|
31010
31043
|
|