vuetify 3.7.11 → 3.7.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 +2977 -2989
- package/dist/json/importMap-labs.json +24 -24
- package/dist/json/importMap.json +160 -160
- package/dist/json/tags.json +0 -3
- package/dist/json/web-types.json +5639 -5666
- package/dist/vuetify-labs.css +4359 -4358
- package/dist/vuetify-labs.d.ts +90 -165
- package/dist/vuetify-labs.esm.js +134 -58
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +134 -58
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +5092 -5091
- package/dist/vuetify.d.ts +130 -190
- package/dist/vuetify.esm.js +119 -52
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +119 -52
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +1041 -1028
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/VAutocomplete.mjs +2 -2
- package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +25 -47
- package/lib/components/VCombobox/VCombobox.mjs +3 -3
- package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
- package/lib/components/VCombobox/index.d.mts +25 -47
- package/lib/components/VDatePicker/VDatePickerMonth.mjs +2 -2
- package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
- package/lib/components/VDatePicker/index.d.mts +12 -24
- package/lib/components/VList/VList.mjs +1 -4
- package/lib/components/VList/VList.mjs.map +1 -1
- package/lib/components/VList/index.d.mts +7 -16
- package/lib/components/VOverlay/VOverlay.css +2 -1
- package/lib/components/VOverlay/VOverlay.sass +2 -1
- package/lib/components/VOverlay/_variables.scss +1 -1
- package/lib/components/VSelect/VSelect.mjs +4 -4
- package/lib/components/VSelect/VSelect.mjs.map +1 -1
- package/lib/components/VSelect/index.d.mts +25 -47
- package/lib/components/VSlider/slider.mjs +25 -12
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/index.d.mts +73 -133
- package/lib/composables/calendar.mjs.map +1 -1
- package/lib/composables/list-items.mjs +70 -17
- package/lib/composables/list-items.mjs.map +1 -1
- package/lib/composables/nested/selectStrategies.mjs +6 -7
- package/lib/composables/nested/selectStrategies.mjs.map +1 -1
- package/lib/directives/ripple/index.mjs +7 -5
- package/lib/directives/ripple/index.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/index.d.mts +57 -57
- package/lib/labs/VDateInput/VDateInput.mjs +17 -7
- package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
- package/lib/labs/VDateInput/index.d.mts +11 -17
- package/lib/labs/VTreeview/index.d.mts +7 -16
- package/lib/labs/components.d.mts +18 -33
- package/lib/util/helpers.mjs +3 -0
- package/lib/util/helpers.mjs.map +1 -1
- package/package.json +2 -2
package/dist/vuetify.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.7.
|
|
2
|
+
* Vuetify v3.7.12
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -504,6 +504,9 @@
|
|
|
504
504
|
const noModifier = !e.ctrlKey && !e.metaKey && !e.altKey;
|
|
505
505
|
return isPrintableChar && noModifier;
|
|
506
506
|
}
|
|
507
|
+
function isPrimitive(value) {
|
|
508
|
+
return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint';
|
|
509
|
+
}
|
|
507
510
|
|
|
508
511
|
// Utilities
|
|
509
512
|
const block = ['top', 'bottom'];
|
|
@@ -5582,11 +5585,13 @@
|
|
|
5582
5585
|
animation.classList.add('v-ripple__animation--visible');
|
|
5583
5586
|
transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`);
|
|
5584
5587
|
animation.dataset.activated = String(performance.now());
|
|
5585
|
-
|
|
5586
|
-
|
|
5587
|
-
|
|
5588
|
-
|
|
5589
|
-
|
|
5588
|
+
requestAnimationFrame(() => {
|
|
5589
|
+
requestAnimationFrame(() => {
|
|
5590
|
+
animation.classList.remove('v-ripple__animation--enter');
|
|
5591
|
+
animation.classList.add('v-ripple__animation--in');
|
|
5592
|
+
transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`);
|
|
5593
|
+
});
|
|
5594
|
+
});
|
|
5590
5595
|
},
|
|
5591
5596
|
hide(el) {
|
|
5592
5597
|
if (!el?._ripple?.enabled) return;
|
|
@@ -8581,12 +8586,12 @@
|
|
|
8581
8586
|
return selected;
|
|
8582
8587
|
},
|
|
8583
8588
|
in: (v, children, parents) => {
|
|
8584
|
-
|
|
8589
|
+
const map = new Map();
|
|
8585
8590
|
for (const id of v || []) {
|
|
8586
|
-
|
|
8591
|
+
strategy.select({
|
|
8587
8592
|
id,
|
|
8588
8593
|
value: true,
|
|
8589
|
-
selected:
|
|
8594
|
+
selected: map,
|
|
8590
8595
|
children,
|
|
8591
8596
|
parents
|
|
8592
8597
|
});
|
|
@@ -8621,11 +8626,10 @@
|
|
|
8621
8626
|
});
|
|
8622
8627
|
},
|
|
8623
8628
|
in: (v, children, parents) => {
|
|
8624
|
-
let map = new Map();
|
|
8625
8629
|
if (v?.length) {
|
|
8626
|
-
|
|
8630
|
+
return parentStrategy.in(v.slice(0, 1), children, parents);
|
|
8627
8631
|
}
|
|
8628
|
-
return
|
|
8632
|
+
return new Map();
|
|
8629
8633
|
},
|
|
8630
8634
|
out: (v, children, parents) => {
|
|
8631
8635
|
return parentStrategy.out(v, children, parents);
|
|
@@ -8728,7 +8732,7 @@
|
|
|
8728
8732
|
map = strategy.select({
|
|
8729
8733
|
id,
|
|
8730
8734
|
value: true,
|
|
8731
|
-
selected:
|
|
8735
|
+
selected: map,
|
|
8732
8736
|
children,
|
|
8733
8737
|
parents
|
|
8734
8738
|
});
|
|
@@ -9612,10 +9616,7 @@
|
|
|
9612
9616
|
default: 'props'
|
|
9613
9617
|
},
|
|
9614
9618
|
returnObject: Boolean,
|
|
9615
|
-
valueComparator:
|
|
9616
|
-
type: Function,
|
|
9617
|
-
default: deepEqual
|
|
9618
|
-
}
|
|
9619
|
+
valueComparator: Function
|
|
9619
9620
|
}, 'list-items');
|
|
9620
9621
|
function transformItem$3(props, item) {
|
|
9621
9622
|
const title = getPropertyFromItem(item, props.itemTitle, item);
|
|
@@ -9636,29 +9637,85 @@
|
|
|
9636
9637
|
};
|
|
9637
9638
|
}
|
|
9638
9639
|
function transformItems$3(props, items) {
|
|
9640
|
+
const _props = pick(props, ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'returnObject', 'valueComparator']);
|
|
9639
9641
|
const array = [];
|
|
9640
9642
|
for (const item of items) {
|
|
9641
|
-
array.push(transformItem$3(
|
|
9643
|
+
array.push(transformItem$3(_props, item));
|
|
9642
9644
|
}
|
|
9643
9645
|
return array;
|
|
9644
9646
|
}
|
|
9645
9647
|
function useItems(props) {
|
|
9646
9648
|
const items = vue.computed(() => transformItems$3(props, props.items));
|
|
9647
9649
|
const hasNullItem = vue.computed(() => items.value.some(item => item.value === null));
|
|
9650
|
+
const itemsMap = vue.shallowRef(new Map());
|
|
9651
|
+
const keylessItems = vue.shallowRef([]);
|
|
9652
|
+
vue.watchEffect(() => {
|
|
9653
|
+
const _items = items.value;
|
|
9654
|
+
const map = new Map();
|
|
9655
|
+
const keyless = [];
|
|
9656
|
+
for (let i = 0; i < _items.length; i++) {
|
|
9657
|
+
const item = _items[i];
|
|
9658
|
+
if (isPrimitive(item.value) || item.value === null) {
|
|
9659
|
+
let values = map.get(item.value);
|
|
9660
|
+
if (!values) {
|
|
9661
|
+
values = [];
|
|
9662
|
+
map.set(item.value, values);
|
|
9663
|
+
}
|
|
9664
|
+
values.push(item);
|
|
9665
|
+
} else {
|
|
9666
|
+
keyless.push(item);
|
|
9667
|
+
}
|
|
9668
|
+
}
|
|
9669
|
+
itemsMap.value = map;
|
|
9670
|
+
keylessItems.value = keyless;
|
|
9671
|
+
});
|
|
9648
9672
|
function transformIn(value) {
|
|
9649
|
-
|
|
9673
|
+
// Cache unrefed values outside the loop,
|
|
9674
|
+
// proxy getters can be slow when you call them a billion times
|
|
9675
|
+
const _value = vue.toRaw(value);
|
|
9676
|
+
const _items = itemsMap.value;
|
|
9677
|
+
const _allItems = items.value;
|
|
9678
|
+
const _keylessItems = keylessItems.value;
|
|
9679
|
+
const _hasNullItem = hasNullItem.value;
|
|
9680
|
+
const _returnObject = props.returnObject;
|
|
9681
|
+
const hasValueComparator = !!props.valueComparator;
|
|
9682
|
+
const valueComparator = props.valueComparator || deepEqual;
|
|
9683
|
+
const _props = pick(props, ['itemTitle', 'itemValue', 'itemChildren', 'itemProps', 'returnObject', 'valueComparator']);
|
|
9684
|
+
const returnValue = [];
|
|
9685
|
+
main: for (const v of _value) {
|
|
9650
9686
|
// When the model value is null, return an InternalItem
|
|
9651
9687
|
// based on null only if null is one of the items
|
|
9652
|
-
|
|
9653
|
-
|
|
9654
|
-
|
|
9655
|
-
if
|
|
9656
|
-
|
|
9657
|
-
|
|
9658
|
-
|
|
9688
|
+
if (!_hasNullItem && v === null) continue;
|
|
9689
|
+
|
|
9690
|
+
// String model value means value is a custom input value from combobox
|
|
9691
|
+
// Don't look up existing items if the model value is a string
|
|
9692
|
+
if (_returnObject && typeof v === 'string') {
|
|
9693
|
+
returnValue.push(transformItem$3(_props, v));
|
|
9694
|
+
continue;
|
|
9659
9695
|
}
|
|
9660
|
-
|
|
9661
|
-
|
|
9696
|
+
|
|
9697
|
+
// Fast path, items with primitive values and no
|
|
9698
|
+
// custom valueComparator can use a constant-time
|
|
9699
|
+
// map lookup instead of searching the items array
|
|
9700
|
+
const fastItems = _items.get(v);
|
|
9701
|
+
|
|
9702
|
+
// Slow path, always use valueComparator.
|
|
9703
|
+
// This is O(n^2) so we really don't want to
|
|
9704
|
+
// do it for more than a couple hundred items.
|
|
9705
|
+
if (hasValueComparator || !fastItems) {
|
|
9706
|
+
for (const item of hasValueComparator ? _allItems : _keylessItems) {
|
|
9707
|
+
if (valueComparator(v, item.value)) {
|
|
9708
|
+
returnValue.push(item);
|
|
9709
|
+
continue main;
|
|
9710
|
+
}
|
|
9711
|
+
}
|
|
9712
|
+
// Not an existing item, construct it from the model (#4000)
|
|
9713
|
+
returnValue.push(transformItem$3(_props, v));
|
|
9714
|
+
continue;
|
|
9715
|
+
}
|
|
9716
|
+
returnValue.push(...fastItems);
|
|
9717
|
+
}
|
|
9718
|
+
return returnValue;
|
|
9662
9719
|
}
|
|
9663
9720
|
function transformOut(value) {
|
|
9664
9721
|
return props.returnObject ? value.map(_ref => {
|
|
@@ -9682,9 +9739,6 @@
|
|
|
9682
9739
|
|
|
9683
9740
|
// Types
|
|
9684
9741
|
|
|
9685
|
-
function isPrimitive(value) {
|
|
9686
|
-
return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean';
|
|
9687
|
-
}
|
|
9688
9742
|
function transformItem$2(props, item) {
|
|
9689
9743
|
const type = getPropertyFromItem(item, props.itemType, 'item');
|
|
9690
9744
|
const title = isPrimitive(item) ? item : getPropertyFromItem(item, props.itemTitle);
|
|
@@ -12733,7 +12787,7 @@
|
|
|
12733
12787
|
let keyboardLookupLastTime;
|
|
12734
12788
|
const displayItems = vue.computed(() => {
|
|
12735
12789
|
if (props.hideSelected) {
|
|
12736
|
-
return items.value.filter(item => !model.value.some(s => props.valueComparator(s, item)));
|
|
12790
|
+
return items.value.filter(item => !model.value.some(s => (props.valueComparator || deepEqual)(s, item)));
|
|
12737
12791
|
}
|
|
12738
12792
|
return items.value;
|
|
12739
12793
|
});
|
|
@@ -12805,7 +12859,7 @@
|
|
|
12805
12859
|
let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
12806
12860
|
if (item.props.disabled) return;
|
|
12807
12861
|
if (props.multiple) {
|
|
12808
|
-
const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
|
|
12862
|
+
const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value));
|
|
12809
12863
|
const add = set == null ? !~index : set;
|
|
12810
12864
|
if (~index) {
|
|
12811
12865
|
const value = add ? [...model.value, item] : [...model.value];
|
|
@@ -12852,7 +12906,7 @@
|
|
|
12852
12906
|
}
|
|
12853
12907
|
vue.watch(menu, () => {
|
|
12854
12908
|
if (!props.hideSelected && menu.value && model.value.length) {
|
|
12855
|
-
const index = displayItems.value.findIndex(item => model.value.some(s => props.valueComparator(s.value, item.value)));
|
|
12909
|
+
const index = displayItems.value.findIndex(item => model.value.some(s => (props.valueComparator || deepEqual)(s.value, item.value)));
|
|
12856
12910
|
IN_BROWSER && window.requestAnimationFrame(() => {
|
|
12857
12911
|
index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);
|
|
12858
12912
|
});
|
|
@@ -13384,7 +13438,7 @@
|
|
|
13384
13438
|
let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
13385
13439
|
if (!item || item.props.disabled) return;
|
|
13386
13440
|
if (props.multiple) {
|
|
13387
|
-
const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
|
|
13441
|
+
const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value));
|
|
13388
13442
|
const add = set == null ? !~index : set;
|
|
13389
13443
|
if (~index) {
|
|
13390
13444
|
const value = add ? [...model.value, item] : [...model.value];
|
|
@@ -15773,6 +15827,8 @@
|
|
|
15773
15827
|
const trackContainerRef = vue.ref();
|
|
15774
15828
|
const activeThumbRef = vue.ref();
|
|
15775
15829
|
function parseMouseMove(e) {
|
|
15830
|
+
const el = trackContainerRef.value?.$el;
|
|
15831
|
+
if (!el) return;
|
|
15776
15832
|
const vertical = props.direction === 'vertical';
|
|
15777
15833
|
const start = vertical ? 'top' : 'left';
|
|
15778
15834
|
const length = vertical ? 'height' : 'width';
|
|
@@ -15780,7 +15836,7 @@
|
|
|
15780
15836
|
const {
|
|
15781
15837
|
[start]: trackStart,
|
|
15782
15838
|
[length]: trackLength
|
|
15783
|
-
} =
|
|
15839
|
+
} = el.getBoundingClientRect();
|
|
15784
15840
|
const clickOffset = getPosition(e, position);
|
|
15785
15841
|
|
|
15786
15842
|
// It is possible for left to be NaN, force to number
|
|
@@ -15789,13 +15845,17 @@
|
|
|
15789
15845
|
return roundValue(min.value + clickPos * (max.value - min.value));
|
|
15790
15846
|
}
|
|
15791
15847
|
const handleStop = e => {
|
|
15792
|
-
|
|
15793
|
-
|
|
15794
|
-
|
|
15848
|
+
const value = parseMouseMove(e);
|
|
15849
|
+
if (value != null) {
|
|
15850
|
+
onSliderEnd({
|
|
15851
|
+
value
|
|
15852
|
+
});
|
|
15853
|
+
}
|
|
15795
15854
|
mousePressed.value = false;
|
|
15796
15855
|
startOffset.value = 0;
|
|
15797
15856
|
};
|
|
15798
15857
|
const handleStart = e => {
|
|
15858
|
+
const value = parseMouseMove(e);
|
|
15799
15859
|
activeThumbRef.value = getActiveThumb(e);
|
|
15800
15860
|
if (!activeThumbRef.value) return;
|
|
15801
15861
|
mousePressed.value = true;
|
|
@@ -15803,13 +15863,17 @@
|
|
|
15803
15863
|
startOffset.value = getOffset(e, activeThumbRef.value, props.direction);
|
|
15804
15864
|
} else {
|
|
15805
15865
|
startOffset.value = 0;
|
|
15806
|
-
|
|
15807
|
-
|
|
15866
|
+
if (value != null) {
|
|
15867
|
+
onSliderMove({
|
|
15868
|
+
value
|
|
15869
|
+
});
|
|
15870
|
+
}
|
|
15871
|
+
}
|
|
15872
|
+
if (value != null) {
|
|
15873
|
+
onSliderStart({
|
|
15874
|
+
value
|
|
15808
15875
|
});
|
|
15809
15876
|
}
|
|
15810
|
-
onSliderStart({
|
|
15811
|
-
value: parseMouseMove(e)
|
|
15812
|
-
});
|
|
15813
15877
|
vue.nextTick(() => activeThumbRef.value?.focus());
|
|
15814
15878
|
};
|
|
15815
15879
|
const moveListenerOptions = {
|
|
@@ -15817,9 +15881,12 @@
|
|
|
15817
15881
|
capture: true
|
|
15818
15882
|
};
|
|
15819
15883
|
function onMouseMove(e) {
|
|
15820
|
-
|
|
15821
|
-
|
|
15822
|
-
|
|
15884
|
+
const value = parseMouseMove(e);
|
|
15885
|
+
if (value != null) {
|
|
15886
|
+
onSliderMove({
|
|
15887
|
+
value
|
|
15888
|
+
});
|
|
15889
|
+
}
|
|
15823
15890
|
}
|
|
15824
15891
|
function onSliderMouseUp(e) {
|
|
15825
15892
|
e.stopPropagation();
|
|
@@ -17258,7 +17325,7 @@
|
|
|
17258
17325
|
let set = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
17259
17326
|
if (!item || item.props.disabled) return;
|
|
17260
17327
|
if (props.multiple) {
|
|
17261
|
-
const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
|
|
17328
|
+
const index = model.value.findIndex(selection => (props.valueComparator || deepEqual)(selection.value, item.value));
|
|
17262
17329
|
const add = set == null ? !~index : set;
|
|
17263
17330
|
if (~index) {
|
|
17264
17331
|
const value = add ? [...model.value, item] : [...model.value];
|
|
@@ -17318,7 +17385,7 @@
|
|
|
17318
17385
|
});
|
|
17319
17386
|
vue.watch(menu, () => {
|
|
17320
17387
|
if (!props.hideSelected && menu.value && model.value.length) {
|
|
17321
|
-
const index = displayItems.value.findIndex(item => model.value.some(s => props.valueComparator(s.value, item.value)));
|
|
17388
|
+
const index = displayItems.value.findIndex(item => model.value.some(s => (props.valueComparator || deepEqual)(s.value, item.value)));
|
|
17322
17389
|
IN_BROWSER && window.requestAnimationFrame(() => {
|
|
17323
17390
|
index >= 0 && vVirtualScrollRef.value?.scrollToIndex(index);
|
|
17324
17391
|
});
|
|
@@ -21952,7 +22019,7 @@
|
|
|
21952
22019
|
type: String,
|
|
21953
22020
|
default: 'picker-reverse-transition'
|
|
21954
22021
|
},
|
|
21955
|
-
...makeCalendarProps()
|
|
22022
|
+
...omit(makeCalendarProps(), ['displayValue'])
|
|
21956
22023
|
}, 'VDatePickerMonth');
|
|
21957
22024
|
const VDatePickerMonth = genericComponent()({
|
|
21958
22025
|
name: 'VDatePickerMonth',
|
|
@@ -28333,7 +28400,7 @@
|
|
|
28333
28400
|
goTo
|
|
28334
28401
|
};
|
|
28335
28402
|
}
|
|
28336
|
-
const version$1 = "3.7.
|
|
28403
|
+
const version$1 = "3.7.12";
|
|
28337
28404
|
createVuetify$1.version = version$1;
|
|
28338
28405
|
|
|
28339
28406
|
// Vue's inject() can only be used in setup
|
|
@@ -28358,7 +28425,7 @@
|
|
|
28358
28425
|
...options
|
|
28359
28426
|
});
|
|
28360
28427
|
};
|
|
28361
|
-
const version = "3.7.
|
|
28428
|
+
const version = "3.7.12";
|
|
28362
28429
|
createVuetify.version = version;
|
|
28363
28430
|
|
|
28364
28431
|
exports.blueprints = index;
|