vuetify 3.9.5 → 3.9.7
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 +3244 -3236
- package/dist/json/importMap-labs.json +28 -28
- package/dist/json/importMap.json +162 -162
- package/dist/json/tags.json +2 -0
- package/dist/json/web-types.json +6419 -6311
- package/dist/vuetify-labs.cjs +183 -127
- package/dist/vuetify-labs.css +3841 -3706
- package/dist/vuetify-labs.d.ts +173 -75
- package/dist/vuetify-labs.esm.js +183 -127
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +183 -127
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +78 -44
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2171 -2039
- package/dist/vuetify.d.ts +70 -70
- package/dist/vuetify.esm.js +78 -44
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +78 -44
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +67 -60
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VAlert/VAlert.css +12 -0
- package/lib/components/VAlert/VAlert.sass +13 -0
- package/lib/components/VAutocomplete/VAutocomplete.css +2 -1
- package/lib/components/VAutocomplete/VAutocomplete.sass +3 -2
- package/lib/components/VBtn/VBtn.css +10 -0
- package/lib/components/VBtn/VBtn.sass +9 -0
- package/lib/components/VCard/VCard.css +11 -0
- package/lib/components/VCard/VCard.sass +9 -0
- package/lib/components/VChip/VChip.css +6 -0
- package/lib/components/VChip/VChip.sass +5 -0
- package/lib/components/VChipGroup/VChipGroup.css +25 -0
- package/lib/components/VChipGroup/VChipGroup.sass +23 -0
- package/lib/components/VCombobox/VCombobox.css +2 -1
- package/lib/components/VCombobox/VCombobox.sass +3 -2
- package/lib/components/VDatePicker/VDatePicker.js +10 -4
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerYears.js +18 -8
- package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
- package/lib/components/VFileInput/VFileInput.js +4 -2
- package/lib/components/VFileInput/VFileInput.js.map +1 -1
- package/lib/components/VList/VListItem.css +30 -0
- package/lib/components/VList/VListItem.d.ts +3 -3
- package/lib/components/VList/VListItem.sass +29 -0
- package/lib/components/VNumberInput/VNumberInput.js +6 -6
- package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
- package/lib/components/VOtpInput/VOtpInput.js +9 -2
- package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.css +3 -3
- package/lib/components/VProgressLinear/VProgressLinear.js +5 -6
- package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
- package/lib/components/VProgressLinear/VProgressLinear.sass +3 -3
- package/lib/components/VSelect/VSelect.css +5 -1
- package/lib/components/VSelect/VSelect.sass +6 -2
- package/lib/components/VSlideGroup/VSlideGroup.js +5 -4
- package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
- package/lib/components/VSnackbar/VSnackbar.css +5 -0
- package/lib/components/VSnackbar/VSnackbar.sass +3 -0
- package/lib/components/VSparkline/VBarline.js +2 -2
- package/lib/components/VSparkline/VBarline.js.map +1 -1
- package/lib/components/VSparkline/VTrendline.js +3 -0
- package/lib/components/VSparkline/VTrendline.js.map +1 -1
- package/lib/components/VTextField/VTextField.js +2 -2
- package/lib/components/VTextField/VTextField.js.map +1 -1
- package/lib/components/VTextarea/VTextarea.js +4 -2
- package/lib/components/VTextarea/VTextarea.js.map +1 -1
- package/lib/components/VTimeline/VTimeline.css +22 -0
- package/lib/components/VTimeline/VTimeline.sass +12 -0
- package/lib/components/VTreeview/VTreeviewItem.css +13 -8
- package/lib/components/VTreeview/VTreeviewItem.d.ts +9 -9
- package/lib/components/VTreeview/VTreeviewItem.sass +12 -8
- package/lib/composables/filter.js +3 -1
- package/lib/composables/filter.js.map +1 -1
- package/lib/composables/nested/nested.d.ts +1 -1
- package/lib/composables/nested/nested.js +5 -2
- package/lib/composables/nested/nested.js.map +1 -1
- package/lib/composables/rounded.js +3 -3
- package/lib/composables/rounded.js.map +1 -1
- package/lib/directives/touch/index.js +2 -2
- package/lib/directives/touch/index.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +58 -58
- package/lib/framework.js +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +78 -3
- package/lib/labs/VDateInput/VDateInput.js +3 -1
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/lib/labs/VIconBtn/VIconBtn.js +1 -1
- package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
- package/lib/labs/VPie/VPie.css +3 -0
- package/lib/labs/VPie/VPie.js +71 -29
- package/lib/labs/VPie/VPie.js.map +1 -1
- package/lib/labs/VPie/VPie.sass +3 -0
- package/lib/labs/VPie/VPieSegment.d.ts +25 -2
- package/lib/labs/VPie/VPieSegment.js +11 -6
- package/lib/labs/VPie/VPieSegment.js.map +1 -1
- package/lib/labs/VPie/VPieTooltip.d.ts +10 -0
- package/lib/labs/VPie/VPieTooltip.js +4 -22
- package/lib/labs/VPie/VPieTooltip.js.map +1 -1
- package/lib/labs/VPie/types.d.ts +1 -0
- package/lib/labs/VPie/types.js.map +1 -1
- package/lib/labs/VVideo/VVideo.css +4 -4
- package/lib/labs/VVideo/VVideo.js +24 -33
- package/lib/labs/VVideo/VVideo.js.map +1 -1
- package/lib/labs/VVideo/VVideo.sass +4 -4
- package/package.json +2 -2
package/dist/vuetify-labs.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vuetify v3.9.
|
|
2
|
+
* Vuetify v3.9.7
|
|
3
3
|
* Forged by John Leider
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
@@ -3501,14 +3501,14 @@
|
|
|
3501
3501
|
const rounded = vue.isRef(props) ? props.value : props.rounded;
|
|
3502
3502
|
const tile = vue.isRef(props) ? props.value : props.tile;
|
|
3503
3503
|
const classes = [];
|
|
3504
|
-
if (
|
|
3504
|
+
if (tile || rounded === false) {
|
|
3505
|
+
classes.push('rounded-0');
|
|
3506
|
+
} else if (rounded === true || rounded === '') {
|
|
3505
3507
|
classes.push(`${name}--rounded`);
|
|
3506
3508
|
} else if (typeof rounded === 'string' || rounded === 0) {
|
|
3507
3509
|
for (const value of String(rounded).split(' ')) {
|
|
3508
3510
|
classes.push(`rounded-${value}`);
|
|
3509
3511
|
}
|
|
3510
|
-
} else if (tile || rounded === false) {
|
|
3511
|
-
classes.push('rounded-0');
|
|
3512
3512
|
}
|
|
3513
3513
|
return classes;
|
|
3514
3514
|
});
|
|
@@ -5368,7 +5368,6 @@
|
|
|
5368
5368
|
const normalizedValue = vue.computed(() => clamp(parseFloat(progress.value) / max.value * 100, 0, 100));
|
|
5369
5369
|
const isReversed = vue.computed(() => isRtl.value !== props.reverse);
|
|
5370
5370
|
const transition = vue.computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition');
|
|
5371
|
-
const isForcedColorsModeActive = IN_BROWSER && window.matchMedia?.('(forced-colors: active)').matches;
|
|
5372
5371
|
function handleClick(e) {
|
|
5373
5372
|
if (!intersectionRef.value) return;
|
|
5374
5373
|
const {
|
|
@@ -5417,13 +5416,13 @@
|
|
|
5417
5416
|
'--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1))
|
|
5418
5417
|
}
|
|
5419
5418
|
}, null), vue.createElementVNode("div", {
|
|
5420
|
-
"class": vue.normalizeClass(['v-progress-linear__background',
|
|
5419
|
+
"class": vue.normalizeClass(['v-progress-linear__background', backgroundColorClasses.value]),
|
|
5421
5420
|
"style": vue.normalizeStyle([backgroundColorStyles.value, {
|
|
5422
5421
|
opacity: parseFloat(props.bgOpacity),
|
|
5423
5422
|
width: props.stream ? 0 : undefined
|
|
5424
5423
|
}])
|
|
5425
5424
|
}, null), vue.createElementVNode("div", {
|
|
5426
|
-
"class": vue.normalizeClass(['v-progress-linear__buffer',
|
|
5425
|
+
"class": vue.normalizeClass(['v-progress-linear__buffer', bufferColorClasses.value]),
|
|
5427
5426
|
"style": vue.normalizeStyle([bufferColorStyles.value, {
|
|
5428
5427
|
opacity: parseFloat(props.bufferOpacity),
|
|
5429
5428
|
width: convertToUnit(normalizedBuffer.value, '%')
|
|
@@ -5432,7 +5431,7 @@
|
|
|
5432
5431
|
"name": transition.value
|
|
5433
5432
|
}, {
|
|
5434
5433
|
default: () => [!props.indeterminate ? vue.createElementVNode("div", {
|
|
5435
|
-
"class": vue.normalizeClass(['v-progress-linear__determinate',
|
|
5434
|
+
"class": vue.normalizeClass(['v-progress-linear__determinate', barColorClasses.value]),
|
|
5436
5435
|
"style": vue.normalizeStyle([barColorStyles.value, {
|
|
5437
5436
|
width: convertToUnit(normalizedValue.value, '%')
|
|
5438
5437
|
}])
|
|
@@ -5440,7 +5439,7 @@
|
|
|
5440
5439
|
"class": "v-progress-linear__indeterminate"
|
|
5441
5440
|
}, [['long', 'short'].map(bar => vue.createElementVNode("div", {
|
|
5442
5441
|
"key": bar,
|
|
5443
|
-
"class": vue.normalizeClass(['v-progress-linear__indeterminate', bar,
|
|
5442
|
+
"class": vue.normalizeClass(['v-progress-linear__indeterminate', bar, barColorClasses.value]),
|
|
5444
5443
|
"style": vue.normalizeStyle(barColorStyles.value)
|
|
5445
5444
|
}, null))])]
|
|
5446
5445
|
}), slots.default && vue.createElementVNode("div", {
|
|
@@ -8212,6 +8211,7 @@
|
|
|
8212
8211
|
select: group.select,
|
|
8213
8212
|
isSelected: group.isSelected
|
|
8214
8213
|
}));
|
|
8214
|
+
const hasOverflowOrScroll = vue.computed(() => isOverflowing.value || Math.abs(scrollOffset.value) > 0);
|
|
8215
8215
|
const hasAffixes = vue.computed(() => {
|
|
8216
8216
|
switch (props.showArrows) {
|
|
8217
8217
|
// Always show arrows on desktop & mobile
|
|
@@ -8225,17 +8225,17 @@
|
|
|
8225
8225
|
// Show arrows on mobile when overflowing.
|
|
8226
8226
|
// This matches the default 2.2 behavior
|
|
8227
8227
|
case true:
|
|
8228
|
-
return
|
|
8228
|
+
return hasOverflowOrScroll.value;
|
|
8229
8229
|
|
|
8230
8230
|
// Always show on mobile
|
|
8231
8231
|
case 'mobile':
|
|
8232
|
-
return mobile.value ||
|
|
8232
|
+
return mobile.value || hasOverflowOrScroll.value;
|
|
8233
8233
|
|
|
8234
8234
|
// https://material.io/components/tabs#scrollable-tabs
|
|
8235
8235
|
// Always show arrows when
|
|
8236
8236
|
// overflowed on desktop
|
|
8237
8237
|
default:
|
|
8238
|
-
return !mobile.value &&
|
|
8238
|
+
return !mobile.value && hasOverflowOrScroll.value;
|
|
8239
8239
|
}
|
|
8240
8240
|
});
|
|
8241
8241
|
const hasPrev = vue.computed(() => {
|
|
@@ -8243,7 +8243,7 @@
|
|
|
8243
8243
|
return Math.abs(scrollOffset.value) > 1;
|
|
8244
8244
|
});
|
|
8245
8245
|
const hasNext = vue.computed(() => {
|
|
8246
|
-
if (!containerRef.value) return false;
|
|
8246
|
+
if (!containerRef.value || !hasOverflowOrScroll.value) return false;
|
|
8247
8247
|
const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);
|
|
8248
8248
|
const clientSize = getClientSize(isHorizontal.value, containerRef.el);
|
|
8249
8249
|
const scrollSizeMax = scrollSize - clientSize;
|
|
@@ -9240,7 +9240,7 @@
|
|
|
9240
9240
|
function getPath(id) {
|
|
9241
9241
|
const path = [];
|
|
9242
9242
|
let parent = vue.toRaw(id);
|
|
9243
|
-
while (parent
|
|
9243
|
+
while (parent !== undefined) {
|
|
9244
9244
|
path.unshift(parent);
|
|
9245
9245
|
parent = parents.value.get(parent);
|
|
9246
9246
|
}
|
|
@@ -9386,7 +9386,10 @@
|
|
|
9386
9386
|
const useNestedItem = (id, isDisabled, isGroup) => {
|
|
9387
9387
|
const parent = vue.inject(VNestedSymbol, emptyNested);
|
|
9388
9388
|
const uidSymbol = Symbol('nested item');
|
|
9389
|
-
const computedId = vue.computed(() =>
|
|
9389
|
+
const computedId = vue.computed(() => {
|
|
9390
|
+
const idValue = vue.toRaw(vue.toValue(id));
|
|
9391
|
+
return idValue !== undefined ? idValue : uidSymbol;
|
|
9392
|
+
});
|
|
9390
9393
|
const item = {
|
|
9391
9394
|
...parent,
|
|
9392
9395
|
id: computedId,
|
|
@@ -12546,7 +12549,7 @@
|
|
|
12546
12549
|
"onClick:prependInner": props['onClick:prependInner'],
|
|
12547
12550
|
"onClick:appendInner": props['onClick:appendInner'],
|
|
12548
12551
|
"role": props.role
|
|
12549
|
-
}, fieldProps, {
|
|
12552
|
+
}, omit(fieldProps, ['onClick:clear']), {
|
|
12550
12553
|
"id": id.value,
|
|
12551
12554
|
"active": isActive.value || isDirty.value,
|
|
12552
12555
|
"dirty": isDirty.value || props.dirty,
|
|
@@ -13597,11 +13600,13 @@
|
|
|
13597
13600
|
const defaultMatches = {};
|
|
13598
13601
|
let match = -1;
|
|
13599
13602
|
if ((query || customFiltersLength > 0) && !options?.noFilter) {
|
|
13603
|
+
let hasOnlyCustomFilters = false;
|
|
13600
13604
|
if (typeof item === 'object') {
|
|
13601
13605
|
if (item.type === 'divider' || item.type === 'subheader') {
|
|
13602
13606
|
continue;
|
|
13603
13607
|
}
|
|
13604
13608
|
const filterKeys = keys || Object.keys(transformed);
|
|
13609
|
+
hasOnlyCustomFilters = filterKeys.length === customFiltersLength;
|
|
13605
13610
|
for (const key of filterKeys) {
|
|
13606
13611
|
const value = getPropertyFromItem(transformed, key);
|
|
13607
13612
|
const keyFilter = options?.customKeyFilter?.[key];
|
|
@@ -13622,7 +13627,7 @@
|
|
|
13622
13627
|
const customMatchesLength = Object.keys(customMatches).length;
|
|
13623
13628
|
if (!defaultMatchesLength && !customMatchesLength) continue;
|
|
13624
13629
|
if (options?.filterMode === 'union' && customMatchesLength !== customFiltersLength && !defaultMatchesLength) continue;
|
|
13625
|
-
if (options?.filterMode === 'intersection' && (customMatchesLength !== customFiltersLength || !defaultMatchesLength)) continue;
|
|
13630
|
+
if (options?.filterMode === 'intersection' && (customMatchesLength !== customFiltersLength || !defaultMatchesLength && customFiltersLength > 0 && !hasOnlyCustomFilters)) continue;
|
|
13626
13631
|
}
|
|
13627
13632
|
array.push({
|
|
13628
13633
|
index: i,
|
|
@@ -15296,7 +15301,7 @@
|
|
|
15296
15301
|
};
|
|
15297
15302
|
const uid = binding.instance?.$.uid; // TODO: use custom uid generator
|
|
15298
15303
|
|
|
15299
|
-
if (!target ||
|
|
15304
|
+
if (!target || uid === undefined) return;
|
|
15300
15305
|
const handlers = createHandlers(binding.value);
|
|
15301
15306
|
target._touchHandlers = target._touchHandlers ?? Object.create(null);
|
|
15302
15307
|
target._touchHandlers[uid] = handlers;
|
|
@@ -15307,7 +15312,7 @@
|
|
|
15307
15312
|
function unmounted$3(el, binding) {
|
|
15308
15313
|
const target = binding.value?.parent ? el.parentElement : el;
|
|
15309
15314
|
const uid = binding.instance?.$.uid;
|
|
15310
|
-
if (!target?._touchHandlers ||
|
|
15315
|
+
if (!target?._touchHandlers || uid === undefined) return;
|
|
15311
15316
|
const handlers = target._touchHandlers[uid];
|
|
15312
15317
|
keys(handlers).forEach(eventName => {
|
|
15313
15318
|
target.removeEventListener(eventName, handlers[eventName]);
|
|
@@ -23320,6 +23325,9 @@
|
|
|
23320
23325
|
const VDatePickerYears = genericComponent()({
|
|
23321
23326
|
name: 'VDatePickerYears',
|
|
23322
23327
|
props: makeVDatePickerYearsProps(),
|
|
23328
|
+
directives: {
|
|
23329
|
+
vIntersect: Intersect
|
|
23330
|
+
},
|
|
23323
23331
|
emits: {
|
|
23324
23332
|
'update:modelValue': year => true
|
|
23325
23333
|
},
|
|
@@ -23356,10 +23364,12 @@
|
|
|
23356
23364
|
model.value = model.value ?? adapter.getYear(adapter.date());
|
|
23357
23365
|
});
|
|
23358
23366
|
const yearRef = templateRef();
|
|
23359
|
-
|
|
23360
|
-
await vue.nextTick();
|
|
23367
|
+
function focusSelectedYear() {
|
|
23361
23368
|
yearRef.el?.focus();
|
|
23362
|
-
|
|
23369
|
+
yearRef.el?.scrollIntoView({
|
|
23370
|
+
block: 'center'
|
|
23371
|
+
});
|
|
23372
|
+
}
|
|
23363
23373
|
function isYearAllowed(year) {
|
|
23364
23374
|
if (Array.isArray(props.allowedYears) && props.allowedYears.length) {
|
|
23365
23375
|
return props.allowedYears.includes(year);
|
|
@@ -23369,7 +23379,7 @@
|
|
|
23369
23379
|
}
|
|
23370
23380
|
return true;
|
|
23371
23381
|
}
|
|
23372
|
-
useRender(() => vue.createElementVNode("div", {
|
|
23382
|
+
useRender(() => vue.withDirectives(vue.createElementVNode("div", {
|
|
23373
23383
|
"class": "v-date-picker-years",
|
|
23374
23384
|
"style": {
|
|
23375
23385
|
height: convertToUnit(props.height)
|
|
@@ -23400,7 +23410,11 @@
|
|
|
23400
23410
|
}) ?? vue.createVNode(VBtn, vue.mergeProps({
|
|
23401
23411
|
"key": "month"
|
|
23402
23412
|
}, btnProps), null);
|
|
23403
|
-
})])])
|
|
23413
|
+
})])]), [[Intersect, {
|
|
23414
|
+
handler: focusSelectedYear
|
|
23415
|
+
}, null, {
|
|
23416
|
+
once: true
|
|
23417
|
+
}]]));
|
|
23404
23418
|
return {};
|
|
23405
23419
|
}
|
|
23406
23420
|
});
|
|
@@ -23541,6 +23555,12 @@
|
|
|
23541
23555
|
}
|
|
23542
23556
|
return targets;
|
|
23543
23557
|
});
|
|
23558
|
+
const allowedYears = vue.computed(() => {
|
|
23559
|
+
return props.allowedYears || isYearAllowed;
|
|
23560
|
+
});
|
|
23561
|
+
const allowedMonths = vue.computed(() => {
|
|
23562
|
+
return props.allowedMonths || isMonthAllowed;
|
|
23563
|
+
});
|
|
23544
23564
|
function isAllowedInRange(start, end) {
|
|
23545
23565
|
const allowedDates = props.allowedDates;
|
|
23546
23566
|
if (typeof allowedDates !== 'function') return true;
|
|
@@ -23550,7 +23570,7 @@
|
|
|
23550
23570
|
}
|
|
23551
23571
|
return false;
|
|
23552
23572
|
}
|
|
23553
|
-
function
|
|
23573
|
+
function isYearAllowed(year) {
|
|
23554
23574
|
if (typeof props.allowedDates === 'function') {
|
|
23555
23575
|
const startOfYear = adapter.parseISO(`${year}-01-01`);
|
|
23556
23576
|
return isAllowedInRange(startOfYear, adapter.endOfYear(startOfYear));
|
|
@@ -23563,7 +23583,7 @@
|
|
|
23563
23583
|
}
|
|
23564
23584
|
return true;
|
|
23565
23585
|
}
|
|
23566
|
-
function
|
|
23586
|
+
function isMonthAllowed(month) {
|
|
23567
23587
|
if (typeof props.allowedDates === 'function') {
|
|
23568
23588
|
const monthTwoDigits = String(month + 1).padStart(2, '0');
|
|
23569
23589
|
const startOfMonth = adapter.parseISO(`${year.value}-${monthTwoDigits}-01`);
|
|
@@ -23691,7 +23711,7 @@
|
|
|
23691
23711
|
"min": minDate.value,
|
|
23692
23712
|
"max": maxDate.value,
|
|
23693
23713
|
"year": year.value,
|
|
23694
|
-
"allowedMonths": allowedMonths
|
|
23714
|
+
"allowedMonths": allowedMonths.value
|
|
23695
23715
|
}), {
|
|
23696
23716
|
month: slots.month
|
|
23697
23717
|
}) : viewMode.value === 'year' ? vue.createVNode(VDatePickerYears, vue.mergeProps({
|
|
@@ -23701,7 +23721,7 @@
|
|
|
23701
23721
|
"onUpdate:modelValue": [$event => year.value = $event, onUpdateYear],
|
|
23702
23722
|
"min": minDate.value,
|
|
23703
23723
|
"max": maxDate.value,
|
|
23704
|
-
"allowedYears": allowedYears
|
|
23724
|
+
"allowedYears": allowedYears.value
|
|
23705
23725
|
}), {
|
|
23706
23726
|
year: slots.year
|
|
23707
23727
|
}) : vue.createVNode(VDatePickerMonth, vue.mergeProps({
|
|
@@ -24436,7 +24456,10 @@
|
|
|
24436
24456
|
modelValue: _,
|
|
24437
24457
|
...inputProps
|
|
24438
24458
|
} = VInput.filterProps(props);
|
|
24439
|
-
const fieldProps =
|
|
24459
|
+
const fieldProps = {
|
|
24460
|
+
...VField.filterProps(props),
|
|
24461
|
+
'onClick:clear': onClear
|
|
24462
|
+
};
|
|
24440
24463
|
return vue.createVNode(VInput, vue.mergeProps({
|
|
24441
24464
|
"ref": vInputRef,
|
|
24442
24465
|
"modelValue": props.multiple ? model.value : model.value[0],
|
|
@@ -24467,7 +24490,6 @@
|
|
|
24467
24490
|
"prependIcon": props.prependIcon,
|
|
24468
24491
|
"onMousedown": onControlMousedown,
|
|
24469
24492
|
"onClick": onControlClick,
|
|
24470
|
-
"onClick:clear": onClear,
|
|
24471
24493
|
"onClick:prependInner": props['onClick:prependInner'],
|
|
24472
24494
|
"onClick:appendInner": props['onClick:appendInner']
|
|
24473
24495
|
}, fieldProps, {
|
|
@@ -26158,7 +26180,6 @@
|
|
|
26158
26180
|
"aria-hidden": "true",
|
|
26159
26181
|
"data-testid": "increment",
|
|
26160
26182
|
"disabled": !canIncrease.value,
|
|
26161
|
-
"flat": true,
|
|
26162
26183
|
"height": controlNodeDefaultHeight.value,
|
|
26163
26184
|
"icon": incrementIcon.value,
|
|
26164
26185
|
"key": "increment-btn",
|
|
@@ -26167,16 +26188,17 @@
|
|
|
26167
26188
|
"onPointerup": onControlMouseup,
|
|
26168
26189
|
"onPointercancel": onControlMouseup,
|
|
26169
26190
|
"size": controlNodeSize.value,
|
|
26191
|
+
"variant": "text",
|
|
26170
26192
|
"tabindex": "-1"
|
|
26171
26193
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
26172
26194
|
"key": "increment-defaults",
|
|
26173
26195
|
"defaults": {
|
|
26174
26196
|
VBtn: {
|
|
26175
26197
|
disabled: !canIncrease.value,
|
|
26176
|
-
flat: true,
|
|
26177
26198
|
height: controlNodeDefaultHeight.value,
|
|
26178
26199
|
size: controlNodeSize.value,
|
|
26179
|
-
icon: incrementIcon.value
|
|
26200
|
+
icon: incrementIcon.value,
|
|
26201
|
+
variant: 'text'
|
|
26180
26202
|
}
|
|
26181
26203
|
}
|
|
26182
26204
|
}, {
|
|
@@ -26188,7 +26210,6 @@
|
|
|
26188
26210
|
"aria-hidden": "true",
|
|
26189
26211
|
"data-testid": "decrement",
|
|
26190
26212
|
"disabled": !canDecrease.value,
|
|
26191
|
-
"flat": true,
|
|
26192
26213
|
"height": controlNodeDefaultHeight.value,
|
|
26193
26214
|
"icon": decrementIcon.value,
|
|
26194
26215
|
"key": "decrement-btn",
|
|
@@ -26197,16 +26218,17 @@
|
|
|
26197
26218
|
"onPointerup": onControlMouseup,
|
|
26198
26219
|
"onPointercancel": onControlMouseup,
|
|
26199
26220
|
"size": controlNodeSize.value,
|
|
26221
|
+
"variant": "text",
|
|
26200
26222
|
"tabindex": "-1"
|
|
26201
26223
|
}, null) : vue.createVNode(VDefaultsProvider, {
|
|
26202
26224
|
"key": "decrement-defaults",
|
|
26203
26225
|
"defaults": {
|
|
26204
26226
|
VBtn: {
|
|
26205
26227
|
disabled: !canDecrease.value,
|
|
26206
|
-
flat: true,
|
|
26207
26228
|
height: controlNodeDefaultHeight.value,
|
|
26208
26229
|
size: controlNodeSize.value,
|
|
26209
|
-
icon: decrementIcon.value
|
|
26230
|
+
icon: decrementIcon.value,
|
|
26231
|
+
variant: 'text'
|
|
26210
26232
|
}
|
|
26211
26233
|
}
|
|
26212
26234
|
}, {
|
|
@@ -26342,6 +26364,7 @@
|
|
|
26342
26364
|
const contentRef = vue.ref();
|
|
26343
26365
|
const inputRef = vue.ref([]);
|
|
26344
26366
|
const current = vue.computed(() => inputRef.value[focusIndex.value]);
|
|
26367
|
+
let _isComposing = false;
|
|
26345
26368
|
useToggleScope(() => props.autofocus, () => {
|
|
26346
26369
|
const intersectScope = vue.effectScope();
|
|
26347
26370
|
intersectScope.run(() => {
|
|
@@ -26366,6 +26389,7 @@
|
|
|
26366
26389
|
current.value.value = '';
|
|
26367
26390
|
return;
|
|
26368
26391
|
}
|
|
26392
|
+
if (_isComposing) return;
|
|
26369
26393
|
const array = model.value.slice();
|
|
26370
26394
|
const value = current.value.value;
|
|
26371
26395
|
array[focusIndex.value] = value;
|
|
@@ -26378,6 +26402,10 @@
|
|
|
26378
26402
|
model.value = array;
|
|
26379
26403
|
if (target) focusChild(contentRef.value, target);
|
|
26380
26404
|
}
|
|
26405
|
+
function onCompositionend() {
|
|
26406
|
+
_isComposing = false;
|
|
26407
|
+
onInput();
|
|
26408
|
+
}
|
|
26381
26409
|
function onKeydown(e) {
|
|
26382
26410
|
const array = model.value.slice();
|
|
26383
26411
|
const index = focusIndex.value;
|
|
@@ -26412,7 +26440,7 @@
|
|
|
26412
26440
|
const finalIndex = clipboardText.length - 1 === -1 ? index : clipboardText.length - 1;
|
|
26413
26441
|
if (isValidNumber(clipboardText)) return;
|
|
26414
26442
|
model.value = clipboardText.split('');
|
|
26415
|
-
|
|
26443
|
+
focusIndex.value = finalIndex;
|
|
26416
26444
|
}
|
|
26417
26445
|
function reset() {
|
|
26418
26446
|
model.value = [];
|
|
@@ -26442,7 +26470,6 @@
|
|
|
26442
26470
|
});
|
|
26443
26471
|
vue.watch(model, val => {
|
|
26444
26472
|
if (val.length === length.value) {
|
|
26445
|
-
focusIndex.value = length.value - 1;
|
|
26446
26473
|
emit('finish', val.join(''));
|
|
26447
26474
|
}
|
|
26448
26475
|
}, {
|
|
@@ -26491,6 +26518,8 @@
|
|
|
26491
26518
|
"onFocus": e => onFocus(e, i),
|
|
26492
26519
|
"onBlur": onBlur,
|
|
26493
26520
|
"onKeydown": onKeydown,
|
|
26521
|
+
"onCompositionstart": () => _isComposing = true,
|
|
26522
|
+
"onCompositionend": onCompositionend,
|
|
26494
26523
|
"onPaste": event => onPaste(i, event)
|
|
26495
26524
|
}, null);
|
|
26496
26525
|
}
|
|
@@ -27715,7 +27744,7 @@
|
|
|
27715
27744
|
let minValue = props.min != null ? Number(props.min) : Math.min(...values);
|
|
27716
27745
|
if (minValue > 0 && props.min == null) minValue = 0;
|
|
27717
27746
|
if (maxValue < 0 && props.max == null) maxValue = 0;
|
|
27718
|
-
const gridX = maxX / totalValues;
|
|
27747
|
+
const gridX = maxX / (totalValues === 1 ? 2 : totalValues);
|
|
27719
27748
|
const gridY = (maxY - minY) / (maxValue - minValue || 1);
|
|
27720
27749
|
const horizonY = maxY - Math.abs(minValue * gridY);
|
|
27721
27750
|
return values.map((value, index) => {
|
|
@@ -27746,7 +27775,7 @@
|
|
|
27746
27775
|
return labels;
|
|
27747
27776
|
});
|
|
27748
27777
|
const bars = vue.computed(() => genBars(items.value, boundary.value));
|
|
27749
|
-
const offsetX = vue.computed(() => (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2);
|
|
27778
|
+
const offsetX = vue.computed(() => bars.value.length === 1 ? (boundary.value.maxX - lineWidth.value) / 2 : (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2);
|
|
27750
27779
|
const smooth = vue.computed(() => typeof props.smooth === 'boolean' ? props.smooth ? 2 : 0 : Number(props.smooth));
|
|
27751
27780
|
useRender(() => {
|
|
27752
27781
|
const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
|
|
@@ -27897,6 +27926,9 @@
|
|
|
27897
27926
|
minY,
|
|
27898
27927
|
maxY
|
|
27899
27928
|
} = boundary;
|
|
27929
|
+
if (values.length === 1) {
|
|
27930
|
+
values = [values[0], values[0]];
|
|
27931
|
+
}
|
|
27900
27932
|
const totalValues = values.length;
|
|
27901
27933
|
const maxValue = props.max != null ? Number(props.max) : Math.max(...values);
|
|
27902
27934
|
const minValue = props.min != null ? Number(props.min) : Math.min(...values);
|
|
@@ -29211,7 +29243,10 @@
|
|
|
29211
29243
|
modelValue: _,
|
|
29212
29244
|
...inputProps
|
|
29213
29245
|
} = VInput.filterProps(props);
|
|
29214
|
-
const fieldProps =
|
|
29246
|
+
const fieldProps = {
|
|
29247
|
+
...VField.filterProps(props),
|
|
29248
|
+
'onClick:clear': onClear
|
|
29249
|
+
};
|
|
29215
29250
|
return vue.createVNode(VInput, vue.mergeProps({
|
|
29216
29251
|
"ref": vInputRef,
|
|
29217
29252
|
"modelValue": model.value,
|
|
@@ -29247,7 +29282,6 @@
|
|
|
29247
29282
|
},
|
|
29248
29283
|
"onClick": onControlClick,
|
|
29249
29284
|
"onMousedown": onControlMousedown,
|
|
29250
|
-
"onClick:clear": onClear,
|
|
29251
29285
|
"onClick:prependInner": props['onClick:prependInner'],
|
|
29252
29286
|
"onClick:appendInner": props['onClick:appendInner']
|
|
29253
29287
|
}, fieldProps, {
|
|
@@ -31835,6 +31869,7 @@
|
|
|
31835
31869
|
useRender(() => {
|
|
31836
31870
|
const confirmEditProps = VConfirmEdit.filterProps(props);
|
|
31837
31871
|
const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']));
|
|
31872
|
+
const datePickerSlots = pick(slots, ['title', 'header', 'day', 'month', 'year']);
|
|
31838
31873
|
const textFieldProps = VTextField.filterProps(omit(props, ['placeholder']));
|
|
31839
31874
|
return vue.createVNode(VTextField, vue.mergeProps({
|
|
31840
31875
|
"ref": vTextFieldRef
|
|
@@ -31897,6 +31932,7 @@
|
|
|
31897
31932
|
"onUpdate:modelValue": value => onUpdateModel(value),
|
|
31898
31933
|
"onMousedown": e => e.preventDefault()
|
|
31899
31934
|
}), {
|
|
31935
|
+
...datePickerSlots,
|
|
31900
31936
|
actions: !props.hideActions ? () => slots.actions?.({
|
|
31901
31937
|
save,
|
|
31902
31938
|
cancel,
|
|
@@ -32331,7 +32367,7 @@
|
|
|
32331
32367
|
const iconProps = {
|
|
32332
32368
|
icon,
|
|
32333
32369
|
size: iconSize.value,
|
|
32334
|
-
|
|
32370
|
+
color: props.iconColor,
|
|
32335
32371
|
opacity: props.opacity
|
|
32336
32372
|
};
|
|
32337
32373
|
return vue.createVNode(props.tag, {
|
|
@@ -32786,6 +32822,7 @@
|
|
|
32786
32822
|
// Types
|
|
32787
32823
|
|
|
32788
32824
|
const makeVPieSegmentProps = propsFactory({
|
|
32825
|
+
active: Boolean,
|
|
32789
32826
|
rotate: [Number, String],
|
|
32790
32827
|
value: {
|
|
32791
32828
|
type: Number,
|
|
@@ -32810,8 +32847,11 @@
|
|
|
32810
32847
|
const VPieSegment = genericComponent()({
|
|
32811
32848
|
name: 'VPieSegment',
|
|
32812
32849
|
props: makeVPieSegmentProps(),
|
|
32850
|
+
emits: {
|
|
32851
|
+
'update:active': val => true
|
|
32852
|
+
},
|
|
32813
32853
|
setup(props) {
|
|
32814
|
-
const
|
|
32854
|
+
const isActive = useProxiedModel(props, 'active');
|
|
32815
32855
|
const {
|
|
32816
32856
|
state: revealState,
|
|
32817
32857
|
duration: revealDuration
|
|
@@ -32832,12 +32872,12 @@
|
|
|
32832
32872
|
outerX,
|
|
32833
32873
|
outerY,
|
|
32834
32874
|
arcWidth
|
|
32835
|
-
} = usePieArc(props,
|
|
32875
|
+
} = usePieArc(props, isActive);
|
|
32836
32876
|
const arcSize = vue.toRef(() => revealState.value === 'initial' ? 0 : normalizedValue.value);
|
|
32837
32877
|
const currentArcSize = useTransition(arcSize, transitionConfig);
|
|
32838
32878
|
const angle = vue.toRef(() => revealState.value === 'initial' ? 0 : Number(props.rotate ?? 0) + Number(props.gap ?? 0) / 2);
|
|
32839
32879
|
const currentAngle = useTransition(angle, transitionConfig);
|
|
32840
|
-
const arcRadius = vue.toRef(() => 50 * (
|
|
32880
|
+
const arcRadius = vue.toRef(() => 50 * (isActive.value ? 1 : 1 - hoverZoomRatio.value));
|
|
32841
32881
|
const currentArcRadius = useTransition(arcRadius, transitionConfig);
|
|
32842
32882
|
const currentArcWidth = useTransition(arcWidth, transitionConfig);
|
|
32843
32883
|
const outerSlicePath = useOuterSlicePath({
|
|
@@ -32876,8 +32916,8 @@
|
|
|
32876
32916
|
"transform": `rotate(${currentAngle.value} 50 50)`,
|
|
32877
32917
|
"class": "v-pie-segment__overlay",
|
|
32878
32918
|
"d": overlayPath.value,
|
|
32879
|
-
"onMouseenter": () =>
|
|
32880
|
-
"onMouseleave": () =>
|
|
32919
|
+
"onMouseenter": () => isActive.value = true,
|
|
32920
|
+
"onMouseleave": () => isActive.value = false
|
|
32881
32921
|
}, null)]);
|
|
32882
32922
|
}
|
|
32883
32923
|
});
|
|
@@ -32886,6 +32926,7 @@
|
|
|
32886
32926
|
|
|
32887
32927
|
const makeVPieTooltipProps = propsFactory({
|
|
32888
32928
|
modelValue: Boolean,
|
|
32929
|
+
target: Object,
|
|
32889
32930
|
item: {
|
|
32890
32931
|
type: Object,
|
|
32891
32932
|
default: null
|
|
@@ -32908,25 +32949,6 @@
|
|
|
32908
32949
|
let {
|
|
32909
32950
|
slots
|
|
32910
32951
|
} = _ref;
|
|
32911
|
-
const target = vue.shallowRef([0, 0]);
|
|
32912
|
-
const vm = getCurrentInstance('VPieTooltip');
|
|
32913
|
-
let frame = -1;
|
|
32914
|
-
function onMouseMove(_ref2) {
|
|
32915
|
-
let {
|
|
32916
|
-
clientX,
|
|
32917
|
-
clientY
|
|
32918
|
-
} = _ref2;
|
|
32919
|
-
cancelAnimationFrame(frame);
|
|
32920
|
-
frame = requestAnimationFrame(() => {
|
|
32921
|
-
target.value = [clientX, clientY];
|
|
32922
|
-
});
|
|
32923
|
-
}
|
|
32924
|
-
vue.onMounted(() => {
|
|
32925
|
-
vm.proxy.$el.parentNode.addEventListener('mousemove', onMouseMove);
|
|
32926
|
-
});
|
|
32927
|
-
vue.onBeforeUnmount(() => {
|
|
32928
|
-
vm.proxy.$el.parentNode.removeEventListener('mousemove', onMouseMove);
|
|
32929
|
-
});
|
|
32930
32952
|
const tooltipTitleFormatFunction = vue.toRef(() => segment => {
|
|
32931
32953
|
return typeof props.titleFormat === 'function' ? props.titleFormat(segment) : formatTextTemplate(props.titleFormat, segment);
|
|
32932
32954
|
});
|
|
@@ -32936,7 +32958,7 @@
|
|
|
32936
32958
|
return () => vue.createVNode(VTooltip, {
|
|
32937
32959
|
"offset": props.offset,
|
|
32938
32960
|
"modelValue": props.modelValue,
|
|
32939
|
-
"target": target
|
|
32961
|
+
"target": props.target,
|
|
32940
32962
|
"contentClass": "v-pie__tooltip-content"
|
|
32941
32963
|
}, {
|
|
32942
32964
|
default: () => [!!props.item && (slots.default?.({
|
|
@@ -33004,6 +33026,9 @@
|
|
|
33004
33026
|
}, 'VPie');
|
|
33005
33027
|
const VPie = genericComponent()({
|
|
33006
33028
|
name: 'VPie',
|
|
33029
|
+
directives: {
|
|
33030
|
+
vClickOutside: ClickOutside
|
|
33031
|
+
},
|
|
33007
33032
|
props: makeVPieProps(),
|
|
33008
33033
|
setup(props, _ref) {
|
|
33009
33034
|
let {
|
|
@@ -33055,7 +33080,7 @@
|
|
|
33055
33080
|
const visibleItems = vue.computed(() => {
|
|
33056
33081
|
// hidden items get (value: 0) to trigger disappearing animation
|
|
33057
33082
|
return arcs.value.map(item => {
|
|
33058
|
-
return
|
|
33083
|
+
return isVisible(item) ? item : {
|
|
33059
33084
|
...item,
|
|
33060
33085
|
value: 0
|
|
33061
33086
|
};
|
|
@@ -33081,11 +33106,11 @@
|
|
|
33081
33106
|
const paletteItem = props.palette[index % props.palette.length];
|
|
33082
33107
|
return typeof paletteItem === 'object' ? paletteItem.pattern : undefined;
|
|
33083
33108
|
}
|
|
33084
|
-
function
|
|
33109
|
+
function isVisible(item) {
|
|
33085
33110
|
return visibleItemsKeys.value.includes(item.key);
|
|
33086
33111
|
}
|
|
33087
33112
|
function toggle(item) {
|
|
33088
|
-
if (
|
|
33113
|
+
if (isVisible(item)) {
|
|
33089
33114
|
visibleItemsKeys.value = visibleItemsKeys.value.filter(x => x !== item.key);
|
|
33090
33115
|
} else {
|
|
33091
33116
|
visibleItemsKeys.value = [...visibleItemsKeys.value, item.key];
|
|
@@ -33093,24 +33118,55 @@
|
|
|
33093
33118
|
}
|
|
33094
33119
|
const tooltipItem = vue.shallowRef(null);
|
|
33095
33120
|
const tooltipVisible = vue.shallowRef(false);
|
|
33121
|
+
const tooltipTarget = vue.shallowRef([0, 0]);
|
|
33096
33122
|
let mouseLeaveTimeout = null;
|
|
33097
|
-
function
|
|
33098
|
-
|
|
33099
|
-
|
|
33100
|
-
|
|
33101
|
-
|
|
33123
|
+
function setItemActive(item, active) {
|
|
33124
|
+
arcs.value.forEach(a => a.isActive = a.key === item.key && active);
|
|
33125
|
+
if (props.tooltip) {
|
|
33126
|
+
setTooltip(item, active);
|
|
33127
|
+
}
|
|
33102
33128
|
}
|
|
33103
|
-
function
|
|
33104
|
-
if (!props.tooltip) return;
|
|
33129
|
+
function setTooltip(item, active) {
|
|
33105
33130
|
clearTimeout(mouseLeaveTimeout);
|
|
33106
|
-
|
|
33107
|
-
tooltipVisible.value =
|
|
33108
|
-
|
|
33109
|
-
|
|
33131
|
+
if (active) {
|
|
33132
|
+
tooltipVisible.value = true;
|
|
33133
|
+
tooltipItem.value = item;
|
|
33134
|
+
} else {
|
|
33110
33135
|
mouseLeaveTimeout = setTimeout(() => {
|
|
33111
|
-
|
|
33112
|
-
|
|
33113
|
-
|
|
33136
|
+
tooltipVisible.value = false;
|
|
33137
|
+
|
|
33138
|
+
// intentionally reusing timeout here
|
|
33139
|
+
mouseLeaveTimeout = setTimeout(() => {
|
|
33140
|
+
tooltipItem.value = null;
|
|
33141
|
+
}, 500);
|
|
33142
|
+
}, 100);
|
|
33143
|
+
}
|
|
33144
|
+
}
|
|
33145
|
+
let frame = -1;
|
|
33146
|
+
function onSvgMousemove(_ref2) {
|
|
33147
|
+
let {
|
|
33148
|
+
clientX,
|
|
33149
|
+
clientY
|
|
33150
|
+
} = _ref2;
|
|
33151
|
+
cancelAnimationFrame(frame);
|
|
33152
|
+
frame = requestAnimationFrame(() => {
|
|
33153
|
+
tooltipTarget.value = [clientX, clientY];
|
|
33154
|
+
});
|
|
33155
|
+
}
|
|
33156
|
+
function onSvgTouchstart(_ref3) {
|
|
33157
|
+
let {
|
|
33158
|
+
touches
|
|
33159
|
+
} = _ref3;
|
|
33160
|
+
if (!touches) return;
|
|
33161
|
+
const {
|
|
33162
|
+
clientX,
|
|
33163
|
+
clientY
|
|
33164
|
+
} = touches[0];
|
|
33165
|
+
tooltipTarget.value = [clientX, clientY];
|
|
33166
|
+
}
|
|
33167
|
+
function onSvgClickOutside() {
|
|
33168
|
+
arcs.value.forEach(a => a.isActive = false);
|
|
33169
|
+
tooltipVisible.value = false;
|
|
33114
33170
|
}
|
|
33115
33171
|
return () => {
|
|
33116
33172
|
const segmentProps = pick(props, ['animation', 'gap', 'rounded', 'hideSlice', 'reveal', 'innerCut', 'hoverScale']);
|
|
@@ -33124,7 +33180,8 @@
|
|
|
33124
33180
|
titleFormat: typeof props.tooltip === 'object' ? props.tooltip.titleFormat : '[title]',
|
|
33125
33181
|
subtitleFormat: typeof props.tooltip === 'object' ? props.tooltip.subtitleFormat : '[value]',
|
|
33126
33182
|
transition: typeof props.tooltip === 'object' ? props.tooltip.transition : defaultTooltipTransition,
|
|
33127
|
-
offset: typeof props.tooltip === 'object' ? props.tooltip.offset : 16
|
|
33183
|
+
offset: typeof props.tooltip === 'object' ? props.tooltip.offset : 16,
|
|
33184
|
+
target: tooltipTarget.value
|
|
33128
33185
|
};
|
|
33129
33186
|
const legendDefaults = {
|
|
33130
33187
|
VChipGroup: {
|
|
@@ -33142,10 +33199,10 @@
|
|
|
33142
33199
|
size: typeof props.tooltip === 'object' ? props.tooltip.avatarSize : 28
|
|
33143
33200
|
}
|
|
33144
33201
|
};
|
|
33145
|
-
const avatarSlot =
|
|
33202
|
+
const avatarSlot = _ref4 => {
|
|
33146
33203
|
let {
|
|
33147
33204
|
item
|
|
33148
|
-
} =
|
|
33205
|
+
} = _ref4;
|
|
33149
33206
|
return vue.createVNode(VAvatar, {
|
|
33150
33207
|
"color": item.color,
|
|
33151
33208
|
"start": true
|
|
@@ -33176,18 +33233,24 @@
|
|
|
33176
33233
|
}, [vue.createElementVNode("div", {
|
|
33177
33234
|
"class": vue.normalizeClass(['v-pie__content-underlay', colorClasses.value]),
|
|
33178
33235
|
"style": vue.normalizeStyle(colorStyles.value)
|
|
33179
|
-
}, null), vue.createElementVNode("svg", {
|
|
33236
|
+
}, null), vue.withDirectives(vue.createElementVNode("svg", {
|
|
33180
33237
|
"xmlns": "http://www.w3.org/2000/svg",
|
|
33181
|
-
"viewBox": "0 0 100 100"
|
|
33238
|
+
"viewBox": "0 0 100 100",
|
|
33239
|
+
"class": "v-pie__segments",
|
|
33240
|
+
"onMousemove": onSvgMousemove,
|
|
33241
|
+
"onTouchstart": onSvgTouchstart
|
|
33182
33242
|
}, [arcs.value.map((item, index) => vue.createVNode(VPieSegment, vue.mergeProps(segmentProps, {
|
|
33183
33243
|
"key": item.key,
|
|
33244
|
+
"active": item.isActive,
|
|
33184
33245
|
"color": item.color,
|
|
33185
|
-
"value":
|
|
33246
|
+
"value": isVisible(item) ? arcSize(item.value) : 0,
|
|
33186
33247
|
"rotate": arcOffset(index),
|
|
33187
33248
|
"pattern": item.pattern,
|
|
33188
|
-
"
|
|
33189
|
-
"
|
|
33190
|
-
}), null))]),
|
|
33249
|
+
"onUpdate:active": val => setItemActive(item, val),
|
|
33250
|
+
"onTouchend": () => setItemActive(item, true)
|
|
33251
|
+
}), null))]), [[ClickOutside, {
|
|
33252
|
+
handler: onSvgClickOutside
|
|
33253
|
+
}]]), vue.createElementVNode("div", {
|
|
33191
33254
|
"class": "v-pie__center-content",
|
|
33192
33255
|
"style": {
|
|
33193
33256
|
transform: `translate(-50%, -50%)
|
|
@@ -33203,7 +33266,7 @@
|
|
|
33203
33266
|
default: () => [vue.createElementVNode("div", {
|
|
33204
33267
|
"class": "v-pie__legend"
|
|
33205
33268
|
}, [slots.legend?.({
|
|
33206
|
-
isActive,
|
|
33269
|
+
isActive: isVisible,
|
|
33207
33270
|
toggle,
|
|
33208
33271
|
items: arcs.value,
|
|
33209
33272
|
total: total.value
|
|
@@ -34683,11 +34746,6 @@
|
|
|
34683
34746
|
useRender(() => {
|
|
34684
34747
|
const showControls = state.value === 'loaded' && props.variant === 'player' && props.controlsVariant !== 'hidden';
|
|
34685
34748
|
const posterTransition = props.variant === 'background' ? 'poster-fade-out' : 'fade-transition';
|
|
34686
|
-
const overlayProps = {
|
|
34687
|
-
contained: true,
|
|
34688
|
-
persistent: true,
|
|
34689
|
-
contentClass: 'v-video__overlay-fill'
|
|
34690
|
-
};
|
|
34691
34749
|
const controlsProps = {
|
|
34692
34750
|
...VVideoControls.filterProps(omit(props, ['variant', 'rounded', 'hideVolume'])),
|
|
34693
34751
|
rounded: Array.isArray(props.rounded) ? props.rounded.at(-1) : props.rounded,
|
|
@@ -34723,8 +34781,14 @@
|
|
|
34723
34781
|
"color": "#fff",
|
|
34724
34782
|
"variant": "outlined",
|
|
34725
34783
|
"iconSize": "50",
|
|
34726
|
-
"class": "v-video__center-icon"
|
|
34784
|
+
"class": "v-video__center-icon",
|
|
34785
|
+
"onClick": onVideoClick
|
|
34727
34786
|
}, null);
|
|
34787
|
+
const activeOverlays = {
|
|
34788
|
+
playIcon: props.variant === 'player' && state.value === 'loaded' && !props.hideOverlay && !playing.value,
|
|
34789
|
+
poster: state.value !== 'loaded',
|
|
34790
|
+
loading: props.variant === 'player' && (state.value === 'loading' || waiting.value)
|
|
34791
|
+
};
|
|
34728
34792
|
return vue.createElementVNode("div", {
|
|
34729
34793
|
"ref": containerRef,
|
|
34730
34794
|
"class": vue.normalizeClass(['v-video', `v-video--variant-${props.variant}`, `v-video--${state.value}`, {
|
|
@@ -34758,39 +34822,31 @@
|
|
|
34758
34822
|
}), [slots.sources?.() ?? vue.createElementVNode("source", {
|
|
34759
34823
|
"src": props.src,
|
|
34760
34824
|
"type": props.type
|
|
34761
|
-
}, null)]),
|
|
34762
|
-
"
|
|
34763
|
-
|
|
34764
|
-
|
|
34765
|
-
|
|
34766
|
-
|
|
34767
|
-
|
|
34768
|
-
}, {
|
|
34769
|
-
default: () => [!playing.value && overlayPlayIcon]
|
|
34770
|
-
}), vue.createVNode(VSpacer, null, null)]
|
|
34771
|
-
}), props.variant === 'player' && !!slots.header ? vue.createElementVNode("div", {
|
|
34825
|
+
}, null)]), vue.createVNode(vue.Transition, {
|
|
34826
|
+
"name": "fade-transition"
|
|
34827
|
+
}, {
|
|
34828
|
+
default: () => [activeOverlays.playIcon && vue.createElementVNode("div", {
|
|
34829
|
+
"class": "v-video__overlay-fill"
|
|
34830
|
+
}, [overlayPlayIcon])]
|
|
34831
|
+
}), props.variant === 'player' && !!slots.header && vue.createElementVNode("div", {
|
|
34772
34832
|
"key": "header",
|
|
34773
34833
|
"class": "v-video__header"
|
|
34774
|
-
}, [slots.header()])
|
|
34775
|
-
"key": "poster-overlay",
|
|
34776
|
-
"modelValue": state.value !== 'loaded',
|
|
34834
|
+
}, [slots.header()]), vue.createVNode(MaybeTransition, {
|
|
34777
34835
|
"transition": posterTransition
|
|
34778
|
-
},
|
|
34779
|
-
default: () => [vue.
|
|
34836
|
+
}, {
|
|
34837
|
+
default: () => [activeOverlays.poster && vue.createElementVNode("div", {
|
|
34838
|
+
"class": "v-video__overlay-fill"
|
|
34839
|
+
}, [vue.createVNode(VImg, {
|
|
34780
34840
|
"cover": true,
|
|
34781
34841
|
"src": props.image
|
|
34782
34842
|
}, {
|
|
34783
34843
|
default: () => [vue.createElementVNode("div", {
|
|
34784
34844
|
"class": vue.normalizeClass(['v-video__overlay-fill', ...roundedContainerClasses.value])
|
|
34785
34845
|
}, [props.variant === 'player' && overlayPlayIcon])]
|
|
34786
|
-
})]
|
|
34787
|
-
}),
|
|
34788
|
-
"
|
|
34789
|
-
|
|
34790
|
-
"opacity": ".1"
|
|
34791
|
-
}, overlayProps), {
|
|
34792
|
-
default: () => [loadingIndicator]
|
|
34793
|
-
})]), vue.createVNode(MaybeTransition, {
|
|
34846
|
+
})])]
|
|
34847
|
+
}), activeOverlays.loading && vue.createElementVNode("div", {
|
|
34848
|
+
"class": "v-video__overlay-fill"
|
|
34849
|
+
}, [loadingIndicator])]), vue.createVNode(MaybeTransition, {
|
|
34794
34850
|
"key": "actions",
|
|
34795
34851
|
"transition": props.controlsTransition
|
|
34796
34852
|
}, {
|
|
@@ -35246,7 +35302,7 @@
|
|
|
35246
35302
|
};
|
|
35247
35303
|
});
|
|
35248
35304
|
}
|
|
35249
|
-
const version$1 = "3.9.
|
|
35305
|
+
const version$1 = "3.9.7";
|
|
35250
35306
|
createVuetify$1.version = version$1;
|
|
35251
35307
|
|
|
35252
35308
|
// Vue's inject() can only be used in setup
|
|
@@ -35544,7 +35600,7 @@
|
|
|
35544
35600
|
|
|
35545
35601
|
/* eslint-disable local-rules/sort-imports */
|
|
35546
35602
|
|
|
35547
|
-
const version = "3.9.
|
|
35603
|
+
const version = "3.9.7";
|
|
35548
35604
|
|
|
35549
35605
|
/* eslint-disable local-rules/sort-imports */
|
|
35550
35606
|
|