vuetify 3.3.15 → 3.4.0-alpha.1
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 +111 -11
- package/dist/json/importMap.json +4 -4
- package/dist/json/tags.json +25 -0
- package/dist/json/web-types.json +263 -18
- package/dist/vuetify-labs.css +1558 -518
- package/dist/vuetify-labs.d.ts +499 -179
- package/dist/vuetify-labs.esm.js +264 -73
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +263 -72
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.css +1080 -40
- package/dist/vuetify.d.ts +484 -170
- package/dist/vuetify.esm.js +264 -73
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +263 -72
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +914 -895
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAutocomplete/index.d.mts +20 -14
- package/lib/components/VAvatar/VAvatar.mjs +2 -1
- package/lib/components/VAvatar/VAvatar.mjs.map +1 -1
- package/lib/components/VAvatar/index.d.mts +6 -0
- package/lib/components/VBanner/VBanner.mjs +5 -3
- package/lib/components/VBanner/VBanner.mjs.map +1 -1
- package/lib/components/VBanner/index.d.mts +10 -0
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs +9 -4
- package/lib/components/VBreadcrumbs/VBreadcrumbs.mjs.map +1 -1
- package/lib/components/VBreadcrumbs/index.d.mts +28 -2
- package/lib/components/VCarousel/index.d.mts +26 -0
- package/lib/components/VCheckbox/index.d.mts +12 -0
- package/lib/components/VColorPicker/VColorPickerPreview.css +5 -0
- package/lib/components/VColorPicker/VColorPickerPreview.mjs +28 -2
- package/lib/components/VColorPicker/VColorPickerPreview.mjs.map +1 -1
- package/lib/components/VColorPicker/VColorPickerPreview.sass +4 -0
- package/lib/components/VColorPicker/_variables.scss +1 -0
- package/lib/components/VCombobox/index.d.mts +20 -14
- package/lib/components/VDialog/index.d.mts +41 -20
- package/lib/components/VField/index.d.mts +4 -4
- package/lib/components/VFileInput/index.d.mts +4 -4
- package/lib/components/VImg/VImg.mjs +13 -1
- package/lib/components/VImg/VImg.mjs.map +1 -1
- package/lib/components/VImg/index.d.mts +26 -0
- package/lib/components/VList/index.d.mts +12 -12
- package/lib/components/VMenu/index.d.mts +41 -20
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs +5 -3
- package/lib/components/VNavigationDrawer/VNavigationDrawer.mjs.map +1 -1
- package/lib/components/VNavigationDrawer/index.d.mts +10 -0
- package/lib/components/VOverlay/VOverlay.mjs +9 -4
- package/lib/components/VOverlay/VOverlay.mjs.map +1 -1
- package/lib/components/VOverlay/index.d.mts +17 -8
- package/lib/components/VOverlay/locationStrategies.mjs +9 -9
- package/lib/components/VOverlay/locationStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/scrollStrategies.mjs +3 -3
- package/lib/components/VOverlay/scrollStrategies.mjs.map +1 -1
- package/lib/components/VOverlay/useActivator.mjs +50 -21
- package/lib/components/VOverlay/useActivator.mjs.map +1 -1
- package/lib/components/VRadio/index.d.mts +6 -0
- package/lib/components/VRangeSlider/VRangeSlider.mjs +4 -2
- package/lib/components/VRangeSlider/VRangeSlider.mjs.map +1 -1
- package/lib/components/VRangeSlider/index.d.mts +14 -0
- package/lib/components/VSelect/index.d.mts +20 -14
- package/lib/components/VSelectionControl/VSelectionControl.mjs +3 -1
- package/lib/components/VSelectionControl/VSelectionControl.mjs.map +1 -1
- package/lib/components/VSelectionControl/index.d.mts +6 -0
- package/lib/components/VSlideGroup/VSlideGroup.mjs +5 -3
- package/lib/components/VSlideGroup/VSlideGroup.mjs.map +1 -1
- package/lib/components/VSlideGroup/index.d.mts +10 -0
- package/lib/components/VSlider/VSlider.mjs +2 -1
- package/lib/components/VSlider/VSlider.mjs.map +1 -1
- package/lib/components/VSlider/index.d.mts +14 -0
- package/lib/components/VSlider/slider.mjs +5 -1
- package/lib/components/VSlider/slider.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.css +9 -0
- package/lib/components/VSnackbar/VSnackbar.mjs +65 -6
- package/lib/components/VSnackbar/VSnackbar.mjs.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.sass +9 -0
- package/lib/components/VSnackbar/index.d.mts +52 -25
- package/lib/components/VSwitch/index.d.mts +6 -0
- package/lib/components/VTabs/index.d.mts +10 -0
- package/lib/components/VTextField/index.d.mts +16 -16
- package/lib/components/VTextarea/index.d.mts +4 -4
- package/lib/components/VTooltip/index.d.mts +41 -20
- package/lib/components/index.d.mts +455 -168
- package/lib/components/transitions/dialog-transition.mjs +4 -3
- package/lib/components/transitions/dialog-transition.mjs.map +1 -1
- package/lib/components/transitions/index.d.mts +6 -6
- package/lib/composables/directiveComponent.mjs +69 -0
- package/lib/composables/directiveComponent.mjs.map +1 -0
- package/lib/composables/display.mjs +23 -3
- package/lib/composables/display.mjs.map +1 -1
- package/lib/composables/resizeObserver.mjs.map +1 -1
- package/lib/composables/theme.mjs +7 -7
- package/lib/composables/theme.mjs.map +1 -1
- package/lib/entry-bundler.mjs +1 -1
- package/lib/entry-bundler.mjs.map +1 -1
- package/lib/framework.mjs +1 -1
- package/lib/framework.mjs.map +1 -1
- package/lib/iconsets/fa.mjs +2 -1
- package/lib/iconsets/fa.mjs.map +1 -1
- package/lib/iconsets/fa4.mjs +2 -1
- package/lib/iconsets/fa4.mjs.map +1 -1
- package/lib/iconsets/md.mjs +2 -1
- package/lib/iconsets/md.mjs.map +1 -1
- package/lib/iconsets/mdi-svg.mjs +2 -1
- package/lib/iconsets/mdi-svg.mjs.map +1 -1
- package/lib/iconsets/mdi.mjs +2 -1
- package/lib/iconsets/mdi.mjs.map +1 -1
- package/lib/index.d.mts +33 -2
- package/lib/labs/VBottomSheet/index.d.mts +14 -8
- package/lib/labs/VDateInput/index.d.mts +4 -4
- package/lib/labs/VOtpInput/index.d.mts +4 -4
- package/lib/labs/components.d.mts +18 -12
- package/lib/styles/main.css +1026 -0
- package/lib/styles/settings/_utilities.scss +20 -0
- package/lib/util/box.mjs +12 -0
- package/lib/util/box.mjs.map +1 -1
- package/lib/util/globals.mjs +1 -0
- package/lib/util/globals.mjs.map +1 -1
- package/lib/util/helpers.mjs +9 -1
- 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.
|
|
2
|
+
* Vuetify v3.4.0-alpha.1
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -78,6 +78,7 @@
|
|
|
78
78
|
const IN_BROWSER = typeof window !== 'undefined';
|
|
79
79
|
const SUPPORTS_INTERSECTION = IN_BROWSER && 'IntersectionObserver' in window;
|
|
80
80
|
const SUPPORTS_TOUCH = IN_BROWSER && ('ontouchstart' in window || window.navigator.maxTouchPoints > 0);
|
|
81
|
+
const SUPPORTS_EYE_DROPPER = IN_BROWSER && 'EyeDropper' in window;
|
|
81
82
|
|
|
82
83
|
function _classPrivateFieldInitSpec(obj, privateMap, value) { _checkPrivateRedeclaration(obj, privateMap); privateMap.set(obj, value); }
|
|
83
84
|
function _checkPrivateRedeclaration(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
|
@@ -161,7 +162,15 @@
|
|
|
161
162
|
return obj !== null && typeof obj === 'object' && !Array.isArray(obj);
|
|
162
163
|
}
|
|
163
164
|
function refElement(obj) {
|
|
164
|
-
|
|
165
|
+
if (obj && '$el' in obj) {
|
|
166
|
+
const el = obj.$el;
|
|
167
|
+
if (el?.nodeType === Node.TEXT_NODE) {
|
|
168
|
+
// Multi-root component, use the first element
|
|
169
|
+
return el.nextElementSibling;
|
|
170
|
+
}
|
|
171
|
+
return el;
|
|
172
|
+
}
|
|
173
|
+
return obj;
|
|
165
174
|
}
|
|
166
175
|
|
|
167
176
|
// KeyboardEvent.keyCode aliases
|
|
@@ -552,6 +561,18 @@
|
|
|
552
561
|
}
|
|
553
562
|
};
|
|
554
563
|
}
|
|
564
|
+
function getTargetBox(target) {
|
|
565
|
+
if (Array.isArray(target)) {
|
|
566
|
+
return new Box({
|
|
567
|
+
x: target[0],
|
|
568
|
+
y: target[1],
|
|
569
|
+
width: 0,
|
|
570
|
+
height: 0
|
|
571
|
+
});
|
|
572
|
+
} else {
|
|
573
|
+
return target.getBoundingClientRect();
|
|
574
|
+
}
|
|
575
|
+
}
|
|
555
576
|
|
|
556
577
|
// Utilities
|
|
557
578
|
|
|
@@ -2110,9 +2131,9 @@
|
|
|
2110
2131
|
'surface-bright': '#FFFFFF',
|
|
2111
2132
|
'surface-variant': '#424242',
|
|
2112
2133
|
'on-surface-variant': '#EEEEEE',
|
|
2113
|
-
primary: '#
|
|
2114
|
-
'primary-darken-1': '#
|
|
2115
|
-
secondary: '#
|
|
2134
|
+
primary: '#1867C0',
|
|
2135
|
+
'primary-darken-1': '#1F5592',
|
|
2136
|
+
secondary: '#48A9A6',
|
|
2116
2137
|
'secondary-darken-1': '#018786',
|
|
2117
2138
|
error: '#B00020',
|
|
2118
2139
|
info: '#2196F3',
|
|
@@ -2146,10 +2167,10 @@
|
|
|
2146
2167
|
'surface-bright': '#ccbfd6',
|
|
2147
2168
|
'surface-variant': '#a3a3a3',
|
|
2148
2169
|
'on-surface-variant': '#424242',
|
|
2149
|
-
primary: '#
|
|
2150
|
-
'primary-darken-1': '#
|
|
2151
|
-
secondary: '#
|
|
2152
|
-
'secondary-darken-1': '#
|
|
2170
|
+
primary: '#2196F3',
|
|
2171
|
+
'primary-darken-1': '#277CC1',
|
|
2172
|
+
secondary: '#54B6B2',
|
|
2173
|
+
'secondary-darken-1': '#48A9A6',
|
|
2153
2174
|
error: '#CF6679',
|
|
2154
2175
|
info: '#2196F3',
|
|
2155
2176
|
success: '#4CAF50',
|
|
@@ -2634,7 +2655,7 @@
|
|
|
2634
2655
|
// Types
|
|
2635
2656
|
|
|
2636
2657
|
const makeVDialogTransitionProps = propsFactory({
|
|
2637
|
-
target: Object
|
|
2658
|
+
target: [Object, Array]
|
|
2638
2659
|
}, 'v-dialog-transition');
|
|
2639
2660
|
const VDialogTransition = genericComponent()({
|
|
2640
2661
|
name: 'VDialogTransition',
|
|
@@ -2736,7 +2757,7 @@
|
|
|
2736
2757
|
return els && [...els];
|
|
2737
2758
|
}
|
|
2738
2759
|
function getDimensions(target, el) {
|
|
2739
|
-
const targetBox = target
|
|
2760
|
+
const targetBox = getTargetBox(target);
|
|
2740
2761
|
const elBox = nullifyTransforms(el);
|
|
2741
2762
|
const [originX, originY] = getComputedStyle(el).transformOrigin.split(' ').map(v => parseFloat(v));
|
|
2742
2763
|
const [anchorSide, anchorOffset] = getComputedStyle(el).getPropertyValue('--v-overlay-anchor-origin').split(' ');
|
|
@@ -2982,6 +3003,10 @@
|
|
|
2982
3003
|
const makeVImgProps = propsFactory({
|
|
2983
3004
|
alt: String,
|
|
2984
3005
|
cover: Boolean,
|
|
3006
|
+
draggable: {
|
|
3007
|
+
type: [Boolean, String],
|
|
3008
|
+
default: undefined
|
|
3009
|
+
},
|
|
2985
3010
|
eager: Boolean,
|
|
2986
3011
|
gradient: String,
|
|
2987
3012
|
lazySrc: String,
|
|
@@ -3000,6 +3025,8 @@
|
|
|
3000
3025
|
type: [String, Object],
|
|
3001
3026
|
default: ''
|
|
3002
3027
|
},
|
|
3028
|
+
crossorigin: String,
|
|
3029
|
+
referrerpolicy: String,
|
|
3003
3030
|
srcset: String,
|
|
3004
3031
|
...makeVResponsiveProps(),
|
|
3005
3032
|
...makeComponentProps(),
|
|
@@ -3124,6 +3151,9 @@
|
|
|
3124
3151
|
"src": normalisedSrc.value.src,
|
|
3125
3152
|
"srcset": normalisedSrc.value.srcset,
|
|
3126
3153
|
"alt": props.alt,
|
|
3154
|
+
"crossorigin": props.crossorigin,
|
|
3155
|
+
"referrerpolicy": props.referrerpolicy,
|
|
3156
|
+
"draggable": props.draggable,
|
|
3127
3157
|
"sizes": props.sizes,
|
|
3128
3158
|
"ref": image,
|
|
3129
3159
|
"onLoad": onLoad,
|
|
@@ -3145,7 +3175,10 @@
|
|
|
3145
3175
|
default: () => [normalisedSrc.value.lazySrc && state.value !== 'loaded' && vue.createVNode("img", {
|
|
3146
3176
|
"class": ['v-img__img', 'v-img__img--preload', containClasses.value],
|
|
3147
3177
|
"src": normalisedSrc.value.lazySrc,
|
|
3148
|
-
"alt": props.alt
|
|
3178
|
+
"alt": props.alt,
|
|
3179
|
+
"crossorigin": props.crossorigin,
|
|
3180
|
+
"referrerpolicy": props.referrerpolicy,
|
|
3181
|
+
"draggable": props.draggable
|
|
3149
3182
|
}, null)]
|
|
3150
3183
|
});
|
|
3151
3184
|
const __placeholder = () => {
|
|
@@ -4169,7 +4202,8 @@
|
|
|
4169
4202
|
file: 'mdi-paperclip',
|
|
4170
4203
|
plus: 'mdi-plus',
|
|
4171
4204
|
minus: 'mdi-minus',
|
|
4172
|
-
calendar: 'mdi-calendar'
|
|
4205
|
+
calendar: 'mdi-calendar',
|
|
4206
|
+
eyeDropper: 'mdi-eyedropper'
|
|
4173
4207
|
};
|
|
4174
4208
|
const mdi = {
|
|
4175
4209
|
// Not using mergeProps here, functional components merge props by default (?)
|
|
@@ -5759,6 +5793,7 @@
|
|
|
5759
5793
|
|
|
5760
5794
|
const makeVSelectionControlProps = propsFactory({
|
|
5761
5795
|
label: String,
|
|
5796
|
+
baseColor: String,
|
|
5762
5797
|
trueValue: null,
|
|
5763
5798
|
falseValue: null,
|
|
5764
5799
|
value: null,
|
|
@@ -5797,7 +5832,8 @@
|
|
|
5797
5832
|
textColorClasses,
|
|
5798
5833
|
textColorStyles
|
|
5799
5834
|
} = useTextColor(vue.computed(() => {
|
|
5800
|
-
|
|
5835
|
+
if (props.error || props.disabled) return undefined;
|
|
5836
|
+
return model.value ? props.color : props.baseColor;
|
|
5801
5837
|
}));
|
|
5802
5838
|
const {
|
|
5803
5839
|
backgroundColorClasses,
|
|
@@ -6599,6 +6635,7 @@
|
|
|
6599
6635
|
end: Boolean,
|
|
6600
6636
|
icon: IconValue,
|
|
6601
6637
|
image: String,
|
|
6638
|
+
text: String,
|
|
6602
6639
|
...makeComponentProps(),
|
|
6603
6640
|
...makeDensityProps(),
|
|
6604
6641
|
...makeRoundedProps(),
|
|
@@ -6649,7 +6686,7 @@
|
|
|
6649
6686
|
}, null) : props.icon ? vue.createVNode(VIcon, {
|
|
6650
6687
|
"key": "icon",
|
|
6651
6688
|
"icon": props.icon
|
|
6652
|
-
}, null) : slots.default?.(), genOverlays(false, 'v-avatar')]
|
|
6689
|
+
}, null) : slots.default?.() ?? props.text, genOverlays(false, 'v-avatar')]
|
|
6653
6690
|
}));
|
|
6654
6691
|
return {};
|
|
6655
6692
|
}
|
|
@@ -8430,7 +8467,7 @@
|
|
|
8430
8467
|
return contentBox;
|
|
8431
8468
|
}
|
|
8432
8469
|
function connectedLocationStrategy(data, props, contentStyles) {
|
|
8433
|
-
const activatorFixed = isFixedPosition(data.
|
|
8470
|
+
const activatorFixed = Array.isArray(data.target.value) || isFixedPosition(data.target.value);
|
|
8434
8471
|
if (activatorFixed) {
|
|
8435
8472
|
Object.assign(contentStyles.value, {
|
|
8436
8473
|
position: 'fixed',
|
|
@@ -8479,11 +8516,11 @@
|
|
|
8479
8516
|
const observer = new ResizeObserver(() => {
|
|
8480
8517
|
if (observe) updateLocation();
|
|
8481
8518
|
});
|
|
8482
|
-
vue.watch([data.
|
|
8483
|
-
let [
|
|
8484
|
-
let [
|
|
8485
|
-
if (
|
|
8486
|
-
if (
|
|
8519
|
+
vue.watch([data.target, data.contentEl], (_ref, _ref2) => {
|
|
8520
|
+
let [newTarget, newContentEl] = _ref;
|
|
8521
|
+
let [oldTarget, oldContentEl] = _ref2;
|
|
8522
|
+
if (oldTarget && !Array.isArray(oldTarget)) observer.unobserve(oldTarget);
|
|
8523
|
+
if (newTarget && !Array.isArray(newTarget)) observer.observe(newTarget);
|
|
8487
8524
|
if (oldContentEl) observer.unobserve(oldContentEl);
|
|
8488
8525
|
if (newContentEl) observer.observe(newContentEl);
|
|
8489
8526
|
}, {
|
|
@@ -8499,8 +8536,8 @@
|
|
|
8499
8536
|
requestAnimationFrame(() => {
|
|
8500
8537
|
requestAnimationFrame(() => observe = true);
|
|
8501
8538
|
});
|
|
8502
|
-
if (!data.
|
|
8503
|
-
const targetBox = data.
|
|
8539
|
+
if (!data.target.value || !data.contentEl.value) return;
|
|
8540
|
+
const targetBox = getTargetBox(data.target.value);
|
|
8504
8541
|
const contentBox = getIntrinsicSize(data.contentEl.value, data.isRtl.value);
|
|
8505
8542
|
const scrollParents = getScrollParents(data.contentEl.value);
|
|
8506
8543
|
const viewportMargin = 12;
|
|
@@ -8787,11 +8824,11 @@
|
|
|
8787
8824
|
function onScroll(e) {
|
|
8788
8825
|
data.isActive.value = false;
|
|
8789
8826
|
}
|
|
8790
|
-
bindScroll(data.
|
|
8827
|
+
bindScroll(data.targetEl.value ?? data.contentEl.value, onScroll);
|
|
8791
8828
|
}
|
|
8792
8829
|
function blockScrollStrategy(data, props) {
|
|
8793
8830
|
const offsetParent = data.root.value?.offsetParent;
|
|
8794
|
-
const scrollElements = [...new Set([...getScrollParents(data.
|
|
8831
|
+
const scrollElements = [...new Set([...getScrollParents(data.targetEl.value, props.contained ? offsetParent : undefined), ...getScrollParents(data.contentEl.value, props.contained ? offsetParent : undefined)])].filter(el => !el.classList.contains('v-overlay-scroll-blocked'));
|
|
8795
8832
|
const scrollbarWidth = window.innerWidth - document.documentElement.offsetWidth;
|
|
8796
8833
|
const scrollableParent = (el => hasScrollbar(el) && el)(offsetParent || document.documentElement);
|
|
8797
8834
|
if (scrollableParent) {
|
|
@@ -8835,7 +8872,7 @@
|
|
|
8835
8872
|
}
|
|
8836
8873
|
ric = (typeof requestIdleCallback === 'undefined' ? cb => cb() : requestIdleCallback)(() => {
|
|
8837
8874
|
scope.run(() => {
|
|
8838
|
-
bindScroll(data.
|
|
8875
|
+
bindScroll(data.targetEl.value ?? data.contentEl.value, e => {
|
|
8839
8876
|
if (slow) {
|
|
8840
8877
|
// If the position calculation is slow,
|
|
8841
8878
|
// defer updates until scrolling is finished.
|
|
@@ -8916,6 +8953,7 @@
|
|
|
8916
8953
|
// Types
|
|
8917
8954
|
|
|
8918
8955
|
const makeActivatorProps = propsFactory({
|
|
8956
|
+
target: [String, Object],
|
|
8919
8957
|
activator: [String, Object],
|
|
8920
8958
|
activatorProps: {
|
|
8921
8959
|
type: Object,
|
|
@@ -8938,6 +8976,7 @@
|
|
|
8938
8976
|
isActive,
|
|
8939
8977
|
isTop
|
|
8940
8978
|
} = _ref;
|
|
8979
|
+
const vm = getCurrentInstance('useActivator');
|
|
8941
8980
|
const activatorEl = vue.ref();
|
|
8942
8981
|
let isHovered = false;
|
|
8943
8982
|
let isFocused = false;
|
|
@@ -8955,10 +8994,14 @@
|
|
|
8955
8994
|
isActive.value = value;
|
|
8956
8995
|
}
|
|
8957
8996
|
});
|
|
8997
|
+
const cursorTarget = vue.ref();
|
|
8958
8998
|
const availableEvents = {
|
|
8959
8999
|
onClick: e => {
|
|
8960
9000
|
e.stopPropagation();
|
|
8961
9001
|
activatorEl.value = e.currentTarget || e.target;
|
|
9002
|
+
if (!isActive.value) {
|
|
9003
|
+
cursorTarget.value = [e.clientX, e.clientY];
|
|
9004
|
+
}
|
|
8962
9005
|
isActive.value = !isActive.value;
|
|
8963
9006
|
},
|
|
8964
9007
|
onMouseenter: e => {
|
|
@@ -9052,6 +9095,15 @@
|
|
|
9052
9095
|
isActive.value = false;
|
|
9053
9096
|
}
|
|
9054
9097
|
});
|
|
9098
|
+
vue.watch(isActive, val => {
|
|
9099
|
+
if (!val) {
|
|
9100
|
+
setTimeout(() => {
|
|
9101
|
+
cursorTarget.value = undefined;
|
|
9102
|
+
});
|
|
9103
|
+
}
|
|
9104
|
+
}, {
|
|
9105
|
+
flush: 'post'
|
|
9106
|
+
});
|
|
9055
9107
|
const activatorRef = vue.ref();
|
|
9056
9108
|
vue.watchEffect(() => {
|
|
9057
9109
|
if (!activatorRef.value) return;
|
|
@@ -9059,7 +9111,15 @@
|
|
|
9059
9111
|
activatorEl.value = refElement(activatorRef.value);
|
|
9060
9112
|
});
|
|
9061
9113
|
});
|
|
9062
|
-
const
|
|
9114
|
+
const targetRef = vue.ref();
|
|
9115
|
+
const target = vue.computed(() => {
|
|
9116
|
+
if (props.target === 'cursor' && cursorTarget.value) return cursorTarget.value;
|
|
9117
|
+
if (targetRef.value) return refElement(targetRef.value);
|
|
9118
|
+
return getTarget(props.target, vm) || activatorEl.value;
|
|
9119
|
+
});
|
|
9120
|
+
const targetEl = vue.computed(() => {
|
|
9121
|
+
return Array.isArray(target.value) ? undefined : target.value;
|
|
9122
|
+
});
|
|
9063
9123
|
let scope;
|
|
9064
9124
|
vue.watch(() => !!props.activator, val => {
|
|
9065
9125
|
if (val && IN_BROWSER) {
|
|
@@ -9083,6 +9143,9 @@
|
|
|
9083
9143
|
return {
|
|
9084
9144
|
activatorEl,
|
|
9085
9145
|
activatorRef,
|
|
9146
|
+
target,
|
|
9147
|
+
targetEl,
|
|
9148
|
+
targetRef,
|
|
9086
9149
|
activatorEvents,
|
|
9087
9150
|
contentEvents,
|
|
9088
9151
|
scrimEvents
|
|
@@ -9124,31 +9187,34 @@
|
|
|
9124
9187
|
}
|
|
9125
9188
|
function getActivator() {
|
|
9126
9189
|
let selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : props.activator;
|
|
9127
|
-
|
|
9128
|
-
if (selector) {
|
|
9129
|
-
if (selector === 'parent') {
|
|
9130
|
-
let el = vm?.proxy?.$el?.parentNode;
|
|
9131
|
-
while (el?.hasAttribute('data-no-activator')) {
|
|
9132
|
-
el = el.parentNode;
|
|
9133
|
-
}
|
|
9134
|
-
activator = el;
|
|
9135
|
-
} else if (typeof selector === 'string') {
|
|
9136
|
-
// Selector
|
|
9137
|
-
activator = document.querySelector(selector);
|
|
9138
|
-
} else if ('$el' in selector) {
|
|
9139
|
-
// Component (ref)
|
|
9140
|
-
activator = selector.$el;
|
|
9141
|
-
} else {
|
|
9142
|
-
// HTMLElement | Element
|
|
9143
|
-
activator = selector;
|
|
9144
|
-
}
|
|
9145
|
-
}
|
|
9190
|
+
const activator = getTarget(selector, vm);
|
|
9146
9191
|
|
|
9147
9192
|
// The activator should only be a valid element (Ignore comments and text nodes)
|
|
9148
|
-
activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator :
|
|
9193
|
+
activatorEl.value = activator?.nodeType === Node.ELEMENT_NODE ? activator : undefined;
|
|
9149
9194
|
return activatorEl.value;
|
|
9150
9195
|
}
|
|
9151
9196
|
}
|
|
9197
|
+
function getTarget(selector, vm) {
|
|
9198
|
+
if (!selector) return;
|
|
9199
|
+
let target;
|
|
9200
|
+
if (selector === 'parent') {
|
|
9201
|
+
let el = vm?.proxy?.$el?.parentNode;
|
|
9202
|
+
while (el?.hasAttribute('data-no-activator')) {
|
|
9203
|
+
el = el.parentNode;
|
|
9204
|
+
}
|
|
9205
|
+
target = el;
|
|
9206
|
+
} else if (typeof selector === 'string') {
|
|
9207
|
+
// Selector
|
|
9208
|
+
target = document.querySelector(selector);
|
|
9209
|
+
} else if ('$el' in selector) {
|
|
9210
|
+
// Component (ref)
|
|
9211
|
+
target = selector.$el;
|
|
9212
|
+
} else {
|
|
9213
|
+
// HTMLElement | Element | [x, y]
|
|
9214
|
+
target = selector;
|
|
9215
|
+
}
|
|
9216
|
+
return target;
|
|
9217
|
+
}
|
|
9152
9218
|
|
|
9153
9219
|
// Utilities
|
|
9154
9220
|
|
|
@@ -9272,10 +9338,30 @@
|
|
|
9272
9338
|
ssr: !!ssr
|
|
9273
9339
|
};
|
|
9274
9340
|
}
|
|
9341
|
+
const makeDisplayProps = propsFactory({
|
|
9342
|
+
mobileBreakpoint: [Number, String]
|
|
9343
|
+
}, 'display');
|
|
9275
9344
|
function useDisplay() {
|
|
9345
|
+
let props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
9346
|
+
let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
|
|
9276
9347
|
const display = vue.inject(DisplaySymbol);
|
|
9277
9348
|
if (!display) throw new Error('Could not find Vuetify display injection');
|
|
9278
|
-
|
|
9349
|
+
const mobile = vue.computed(() => {
|
|
9350
|
+
if (!props.mobileBreakpoint) return display.mobile.value;
|
|
9351
|
+
const breakpointValue = typeof props.mobileBreakpoint === 'number' ? props.mobileBreakpoint : display.thresholds.value[props.mobileBreakpoint];
|
|
9352
|
+
return display.width.value < breakpointValue;
|
|
9353
|
+
});
|
|
9354
|
+
const displayClasses = vue.computed(() => {
|
|
9355
|
+
if (!name) return {};
|
|
9356
|
+
return {
|
|
9357
|
+
[`${name}--mobile`]: mobile.value
|
|
9358
|
+
};
|
|
9359
|
+
});
|
|
9360
|
+
return {
|
|
9361
|
+
...display,
|
|
9362
|
+
displayClasses,
|
|
9363
|
+
mobile
|
|
9364
|
+
};
|
|
9279
9365
|
}
|
|
9280
9366
|
|
|
9281
9367
|
// Composables
|
|
@@ -9592,6 +9678,9 @@
|
|
|
9592
9678
|
const {
|
|
9593
9679
|
activatorEl,
|
|
9594
9680
|
activatorRef,
|
|
9681
|
+
target,
|
|
9682
|
+
targetEl,
|
|
9683
|
+
targetRef,
|
|
9595
9684
|
activatorEvents,
|
|
9596
9685
|
contentEvents,
|
|
9597
9686
|
scrimEvents
|
|
@@ -9617,13 +9706,13 @@
|
|
|
9617
9706
|
} = useLocationStrategies(props, {
|
|
9618
9707
|
isRtl,
|
|
9619
9708
|
contentEl,
|
|
9620
|
-
|
|
9709
|
+
target,
|
|
9621
9710
|
isActive
|
|
9622
9711
|
});
|
|
9623
9712
|
useScrollStrategies(props, {
|
|
9624
9713
|
root,
|
|
9625
9714
|
contentEl,
|
|
9626
|
-
|
|
9715
|
+
targetEl,
|
|
9627
9716
|
isActive,
|
|
9628
9717
|
updateLocation
|
|
9629
9718
|
});
|
|
@@ -9691,7 +9780,8 @@
|
|
|
9691
9780
|
useRender(() => vue.createVNode(vue.Fragment, null, [slots.activator?.({
|
|
9692
9781
|
isActive: isActive.value,
|
|
9693
9782
|
props: vue.mergeProps({
|
|
9694
|
-
ref: activatorRef
|
|
9783
|
+
ref: activatorRef,
|
|
9784
|
+
targetRef
|
|
9695
9785
|
}, activatorEvents.value, props.activatorProps)
|
|
9696
9786
|
}), isMounted.value && hasContent.value && vue.createVNode(vue.Teleport, {
|
|
9697
9787
|
"disabled": !teleportTarget.value,
|
|
@@ -9714,7 +9804,7 @@
|
|
|
9714
9804
|
"appear": true,
|
|
9715
9805
|
"persisted": true,
|
|
9716
9806
|
"transition": props.transition,
|
|
9717
|
-
"target":
|
|
9807
|
+
"target": target.value,
|
|
9718
9808
|
"onAfterLeave": () => {
|
|
9719
9809
|
onAfterLeave();
|
|
9720
9810
|
emit('afterLeave');
|
|
@@ -9735,6 +9825,7 @@
|
|
|
9735
9825
|
})]));
|
|
9736
9826
|
return {
|
|
9737
9827
|
activatorEl,
|
|
9828
|
+
target,
|
|
9738
9829
|
animateClick,
|
|
9739
9830
|
contentEl,
|
|
9740
9831
|
globalTop,
|
|
@@ -11874,6 +11965,7 @@
|
|
|
11874
11965
|
...makeComponentProps(),
|
|
11875
11966
|
...makeDensityProps(),
|
|
11876
11967
|
...makeDimensionProps(),
|
|
11968
|
+
...makeDisplayProps(),
|
|
11877
11969
|
...makeElevationProps(),
|
|
11878
11970
|
...makeLocationProps(),
|
|
11879
11971
|
...makePositionProps(),
|
|
@@ -11895,8 +11987,9 @@
|
|
|
11895
11987
|
densityClasses
|
|
11896
11988
|
} = useDensity(props);
|
|
11897
11989
|
const {
|
|
11990
|
+
displayClasses,
|
|
11898
11991
|
mobile
|
|
11899
|
-
} = useDisplay();
|
|
11992
|
+
} = useDisplay(props);
|
|
11900
11993
|
const {
|
|
11901
11994
|
dimensionStyles
|
|
11902
11995
|
} = useDimension(props);
|
|
@@ -11932,7 +12025,7 @@
|
|
|
11932
12025
|
'v-banner--stacked': props.stacked || mobile.value,
|
|
11933
12026
|
'v-banner--sticky': props.sticky,
|
|
11934
12027
|
[`v-banner--${props.lines}-line`]: !!props.lines
|
|
11935
|
-
}, borderClasses.value, densityClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
|
12028
|
+
}, borderClasses.value, densityClasses.value, displayClasses.value, elevationClasses.value, positionClasses.value, roundedClasses.value, themeClasses.value, props.class],
|
|
11936
12029
|
"style": [dimensionStyles.value, locationStyles.value, props.style],
|
|
11937
12030
|
"role": "banner"
|
|
11938
12031
|
}, {
|
|
@@ -12239,12 +12332,17 @@
|
|
|
12239
12332
|
item,
|
|
12240
12333
|
raw
|
|
12241
12334
|
} = _ref2;
|
|
12242
|
-
return vue.createVNode(vue.Fragment, null, [
|
|
12243
|
-
|
|
12335
|
+
return vue.createVNode(vue.Fragment, null, [slots.item?.({
|
|
12336
|
+
item,
|
|
12337
|
+
index
|
|
12338
|
+
}) ?? vue.createVNode(VBreadcrumbsItem, vue.mergeProps({
|
|
12339
|
+
"key": index,
|
|
12244
12340
|
"disabled": index >= array.length - 1
|
|
12245
|
-
}, item
|
|
12341
|
+
}, typeof item === 'string' ? {
|
|
12342
|
+
title: item
|
|
12343
|
+
} : item), {
|
|
12246
12344
|
default: slots.title ? () => slots.title?.({
|
|
12247
|
-
item
|
|
12345
|
+
item,
|
|
12248
12346
|
index
|
|
12249
12347
|
}) : undefined
|
|
12250
12348
|
}), index < array.length - 1 && vue.createVNode(VBreadcrumbsDivider, null, {
|
|
@@ -13582,7 +13680,11 @@
|
|
|
13582
13680
|
...makeRoundedProps(),
|
|
13583
13681
|
...makeElevationProps({
|
|
13584
13682
|
elevation: 2
|
|
13585
|
-
})
|
|
13683
|
+
}),
|
|
13684
|
+
ripple: {
|
|
13685
|
+
type: Boolean,
|
|
13686
|
+
default: true
|
|
13687
|
+
}
|
|
13586
13688
|
}, 'Slider');
|
|
13587
13689
|
const useSteps = props => {
|
|
13588
13690
|
const min = vue.computed(() => parseFloat(props.min));
|
|
@@ -14189,7 +14291,8 @@
|
|
|
14189
14291
|
"position": trackStop.value,
|
|
14190
14292
|
"elevation": props.elevation,
|
|
14191
14293
|
"onFocus": focus,
|
|
14192
|
-
"onBlur": blur
|
|
14294
|
+
"onBlur": blur,
|
|
14295
|
+
"ripple": props.ripple
|
|
14193
14296
|
}, {
|
|
14194
14297
|
'thumb-label': slots['thumb-label']
|
|
14195
14298
|
})]);
|
|
@@ -14220,12 +14323,36 @@
|
|
|
14220
14323
|
let {
|
|
14221
14324
|
emit
|
|
14222
14325
|
} = _ref;
|
|
14326
|
+
const abortController = new AbortController();
|
|
14327
|
+
vue.onUnmounted(() => abortController.abort());
|
|
14328
|
+
async function openEyeDropper() {
|
|
14329
|
+
if (!SUPPORTS_EYE_DROPPER) return;
|
|
14330
|
+
const eyeDropper = new window.EyeDropper();
|
|
14331
|
+
try {
|
|
14332
|
+
const result = await eyeDropper.open({
|
|
14333
|
+
signal: abortController.signal
|
|
14334
|
+
});
|
|
14335
|
+
const colorHexValue = HexToHSV(result.sRGBHex);
|
|
14336
|
+
emit('update:color', {
|
|
14337
|
+
...(props.color ?? nullColor),
|
|
14338
|
+
...colorHexValue
|
|
14339
|
+
});
|
|
14340
|
+
} catch (e) {}
|
|
14341
|
+
}
|
|
14223
14342
|
useRender(() => vue.createVNode("div", {
|
|
14224
14343
|
"class": ['v-color-picker-preview', {
|
|
14225
14344
|
'v-color-picker-preview--hide-alpha': props.hideAlpha
|
|
14226
14345
|
}, props.class],
|
|
14227
14346
|
"style": props.style
|
|
14228
|
-
}, [vue.createVNode("div", {
|
|
14347
|
+
}, [SUPPORTS_EYE_DROPPER && vue.createVNode("div", {
|
|
14348
|
+
"class": "v-color-picker-preview__eye-dropper",
|
|
14349
|
+
"key": "eyeDropper"
|
|
14350
|
+
}, [vue.createVNode(VBtn, {
|
|
14351
|
+
"onClick": openEyeDropper,
|
|
14352
|
+
"icon": "$eyeDropper",
|
|
14353
|
+
"variant": "plain",
|
|
14354
|
+
"density": "comfortable"
|
|
14355
|
+
}, null)]), vue.createVNode("div", {
|
|
14229
14356
|
"class": "v-color-picker-preview__dot"
|
|
14230
14357
|
}, [vue.createVNode("div", {
|
|
14231
14358
|
"style": {
|
|
@@ -16906,6 +17033,7 @@
|
|
|
16906
17033
|
sticky: Boolean,
|
|
16907
17034
|
...makeBorderProps(),
|
|
16908
17035
|
...makeComponentProps(),
|
|
17036
|
+
...makeDisplayProps(),
|
|
16909
17037
|
...makeElevationProps(),
|
|
16910
17038
|
...makeLayoutItemProps(),
|
|
16911
17039
|
...makeRoundedProps(),
|
|
@@ -16944,8 +17072,9 @@
|
|
|
16944
17072
|
elevationClasses
|
|
16945
17073
|
} = useElevation(props);
|
|
16946
17074
|
const {
|
|
17075
|
+
displayClasses,
|
|
16947
17076
|
mobile
|
|
16948
|
-
} = useDisplay();
|
|
17077
|
+
} = useDisplay(props);
|
|
16949
17078
|
const {
|
|
16950
17079
|
roundedClasses
|
|
16951
17080
|
} = useRounded(props);
|
|
@@ -17056,7 +17185,7 @@
|
|
|
17056
17185
|
'v-navigation-drawer--temporary': isTemporary.value,
|
|
17057
17186
|
'v-navigation-drawer--active': isActive.value,
|
|
17058
17187
|
'v-navigation-drawer--sticky': isSticky.value
|
|
17059
|
-
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
|
17188
|
+
}, themeClasses.value, backgroundColorClasses.value, borderClasses.value, displayClasses.value, elevationClasses.value, roundedClasses.value, props.class],
|
|
17060
17189
|
"style": [backgroundColorStyles.value, layoutItemStyles.value, dragStyles.value, ssrBootStyles.value, stickyStyles.value, props.style]
|
|
17061
17190
|
}, scopeId, attrs), {
|
|
17062
17191
|
default: () => [hasImage && vue.createVNode("div", {
|
|
@@ -17804,7 +17933,8 @@
|
|
|
17804
17933
|
},
|
|
17805
17934
|
"min": min.value,
|
|
17806
17935
|
"max": model.value[1],
|
|
17807
|
-
"position": trackStart.value
|
|
17936
|
+
"position": trackStart.value,
|
|
17937
|
+
"ripple": props.ripple
|
|
17808
17938
|
}, {
|
|
17809
17939
|
'thumb-label': slots['thumb-label']
|
|
17810
17940
|
}), vue.createVNode(VSliderThumb, {
|
|
@@ -17832,7 +17962,8 @@
|
|
|
17832
17962
|
},
|
|
17833
17963
|
"min": model.value[0],
|
|
17834
17964
|
"max": max.value,
|
|
17835
|
-
"position": trackStop.value
|
|
17965
|
+
"position": trackStop.value,
|
|
17966
|
+
"ripple": props.ripple
|
|
17836
17967
|
}, {
|
|
17837
17968
|
'thumb-label': slots['thumb-label']
|
|
17838
17969
|
})]);
|
|
@@ -18106,6 +18237,7 @@
|
|
|
18106
18237
|
validator: v => typeof v === 'boolean' || ['always', 'desktop', 'mobile'].includes(v)
|
|
18107
18238
|
},
|
|
18108
18239
|
...makeComponentProps(),
|
|
18240
|
+
...makeDisplayProps(),
|
|
18109
18241
|
...makeTagProps(),
|
|
18110
18242
|
...makeGroupProps({
|
|
18111
18243
|
selectedClass: 'v-slide-group-item--active'
|
|
@@ -18125,8 +18257,9 @@
|
|
|
18125
18257
|
isRtl
|
|
18126
18258
|
} = useRtl();
|
|
18127
18259
|
const {
|
|
18260
|
+
displayClasses,
|
|
18128
18261
|
mobile
|
|
18129
|
-
} = useDisplay();
|
|
18262
|
+
} = useDisplay(props);
|
|
18130
18263
|
const group = useGroup(props, props.symbol);
|
|
18131
18264
|
const isOverflowing = vue.shallowRef(false);
|
|
18132
18265
|
const scrollOffset = vue.shallowRef(0);
|
|
@@ -18346,7 +18479,7 @@
|
|
|
18346
18479
|
'v-slide-group--vertical': !isHorizontal.value,
|
|
18347
18480
|
'v-slide-group--has-affixes': hasAffixes.value,
|
|
18348
18481
|
'v-slide-group--is-overflowing': isOverflowing.value
|
|
18349
|
-
}, props.class],
|
|
18482
|
+
}, displayClasses.value, props.class],
|
|
18350
18483
|
"style": props.style,
|
|
18351
18484
|
"tabindex": isFocused.value || group.selected.value.length ? -1 : 0,
|
|
18352
18485
|
"onFocus": onFocus
|
|
@@ -18421,8 +18554,41 @@
|
|
|
18421
18554
|
}
|
|
18422
18555
|
});
|
|
18423
18556
|
|
|
18557
|
+
function useCountdown(milliseconds) {
|
|
18558
|
+
const time = vue.shallowRef(milliseconds);
|
|
18559
|
+
let timer = -1;
|
|
18560
|
+
function clear() {
|
|
18561
|
+
clearInterval(timer);
|
|
18562
|
+
}
|
|
18563
|
+
function reset() {
|
|
18564
|
+
clear();
|
|
18565
|
+
vue.nextTick(() => time.value = milliseconds);
|
|
18566
|
+
}
|
|
18567
|
+
function start(el) {
|
|
18568
|
+
const style = el ? getComputedStyle(el) : {
|
|
18569
|
+
transitionDuration: 0.2
|
|
18570
|
+
};
|
|
18571
|
+
const interval = parseFloat(style.transitionDuration) * 1000 || 200;
|
|
18572
|
+
clear();
|
|
18573
|
+
if (time.value <= 0) return;
|
|
18574
|
+
const startTime = performance.now();
|
|
18575
|
+
timer = window.setInterval(() => {
|
|
18576
|
+
const elapsed = performance.now() - startTime + interval;
|
|
18577
|
+
time.value = Math.max(milliseconds - elapsed, 0);
|
|
18578
|
+
if (time.value <= 0) clear();
|
|
18579
|
+
}, interval);
|
|
18580
|
+
}
|
|
18581
|
+
vue.onScopeDispose(clear);
|
|
18582
|
+
return {
|
|
18583
|
+
clear,
|
|
18584
|
+
time,
|
|
18585
|
+
start,
|
|
18586
|
+
reset
|
|
18587
|
+
};
|
|
18588
|
+
}
|
|
18424
18589
|
const makeVSnackbarProps = propsFactory({
|
|
18425
18590
|
multiLine: Boolean,
|
|
18591
|
+
timer: [Boolean, String],
|
|
18426
18592
|
timeout: {
|
|
18427
18593
|
type: [Number, String],
|
|
18428
18594
|
default: 5000
|
|
@@ -18470,7 +18636,10 @@
|
|
|
18470
18636
|
const {
|
|
18471
18637
|
roundedClasses
|
|
18472
18638
|
} = useRounded(props);
|
|
18639
|
+
const countdown = useCountdown(Number(props.timeout));
|
|
18473
18640
|
const overlay = vue.ref();
|
|
18641
|
+
const timerRef = vue.ref();
|
|
18642
|
+
const isHovering = vue.shallowRef(false);
|
|
18474
18643
|
vue.watch(isActive, startTimeout);
|
|
18475
18644
|
vue.watch(() => props.timeout, startTimeout);
|
|
18476
18645
|
vue.onMounted(() => {
|
|
@@ -18478,16 +18647,28 @@
|
|
|
18478
18647
|
});
|
|
18479
18648
|
let activeTimeout = -1;
|
|
18480
18649
|
function startTimeout() {
|
|
18650
|
+
countdown.reset();
|
|
18481
18651
|
window.clearTimeout(activeTimeout);
|
|
18482
18652
|
const timeout = Number(props.timeout);
|
|
18483
18653
|
if (!isActive.value || timeout === -1) return;
|
|
18654
|
+
const element = refElement(timerRef.value);
|
|
18655
|
+
countdown.start(element);
|
|
18484
18656
|
activeTimeout = window.setTimeout(() => {
|
|
18485
18657
|
isActive.value = false;
|
|
18486
18658
|
}, timeout);
|
|
18487
18659
|
}
|
|
18488
|
-
function
|
|
18660
|
+
function clearTimeout() {
|
|
18661
|
+
countdown.reset();
|
|
18489
18662
|
window.clearTimeout(activeTimeout);
|
|
18490
18663
|
}
|
|
18664
|
+
function onPointerenter() {
|
|
18665
|
+
isHovering.value = true;
|
|
18666
|
+
clearTimeout();
|
|
18667
|
+
}
|
|
18668
|
+
function onPointerleave() {
|
|
18669
|
+
isHovering.value = false;
|
|
18670
|
+
startTimeout();
|
|
18671
|
+
}
|
|
18491
18672
|
useRender(() => {
|
|
18492
18673
|
const [overlayProps] = VOverlay.filterProps(props);
|
|
18493
18674
|
return vue.createVNode(VOverlay, vue.mergeProps({
|
|
@@ -18495,6 +18676,7 @@
|
|
|
18495
18676
|
"class": ['v-snackbar', {
|
|
18496
18677
|
'v-snackbar--active': isActive.value,
|
|
18497
18678
|
'v-snackbar--multi-line': props.multiLine && !props.vertical,
|
|
18679
|
+
'v-snackbar--timer': !!props.timer,
|
|
18498
18680
|
'v-snackbar--vertical': props.vertical
|
|
18499
18681
|
}, positionClasses.value, props.class],
|
|
18500
18682
|
"style": props.style
|
|
@@ -18505,7 +18687,7 @@
|
|
|
18505
18687
|
class: ['v-snackbar__wrapper', themeClasses.value, colorClasses.value, roundedClasses.value, variantClasses.value],
|
|
18506
18688
|
style: [locationStyles.value, colorStyles.value],
|
|
18507
18689
|
onPointerenter,
|
|
18508
|
-
onPointerleave
|
|
18690
|
+
onPointerleave
|
|
18509
18691
|
}, overlayProps.contentProps),
|
|
18510
18692
|
"persistent": true,
|
|
18511
18693
|
"noClickAnimation": true,
|
|
@@ -18513,7 +18695,16 @@
|
|
|
18513
18695
|
"scrollStrategy": "none",
|
|
18514
18696
|
"_disableGlobalStack": true
|
|
18515
18697
|
}, scopeId), {
|
|
18516
|
-
default: () => [genOverlays(false, 'v-snackbar'),
|
|
18698
|
+
default: () => [genOverlays(false, 'v-snackbar'), props.timer && vue.createVNode("div", {
|
|
18699
|
+
"key": "timer",
|
|
18700
|
+
"class": "v-snackbar__timer"
|
|
18701
|
+
}, [vue.createVNode(VProgressLinear, {
|
|
18702
|
+
"ref": timerRef,
|
|
18703
|
+
"active": !isHovering.value,
|
|
18704
|
+
"color": typeof props.timer === 'string' ? props.timer : 'info',
|
|
18705
|
+
"max": props.timeout,
|
|
18706
|
+
"model-value": countdown.time.value
|
|
18707
|
+
}, null)]), slots.default && vue.createVNode("div", {
|
|
18517
18708
|
"class": "v-snackbar__content",
|
|
18518
18709
|
"role": "status",
|
|
18519
18710
|
"aria-live": "polite"
|
|
@@ -20412,7 +20603,7 @@
|
|
|
20412
20603
|
date
|
|
20413
20604
|
};
|
|
20414
20605
|
}
|
|
20415
|
-
const version$1 = "3.
|
|
20606
|
+
const version$1 = "3.4.0-alpha.1";
|
|
20416
20607
|
createVuetify$1.version = version$1;
|
|
20417
20608
|
|
|
20418
20609
|
// Vue's inject() can only be used in setup
|
|
@@ -20437,7 +20628,7 @@
|
|
|
20437
20628
|
...options
|
|
20438
20629
|
});
|
|
20439
20630
|
};
|
|
20440
|
-
const version = "3.
|
|
20631
|
+
const version = "3.4.0-alpha.1";
|
|
20441
20632
|
createVuetify.version = version;
|
|
20442
20633
|
|
|
20443
20634
|
exports.components = components;
|