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.
Files changed (107) hide show
  1. package/dist/json/attributes.json +3244 -3236
  2. package/dist/json/importMap-labs.json +28 -28
  3. package/dist/json/importMap.json +162 -162
  4. package/dist/json/tags.json +2 -0
  5. package/dist/json/web-types.json +6419 -6311
  6. package/dist/vuetify-labs.cjs +183 -127
  7. package/dist/vuetify-labs.css +3841 -3706
  8. package/dist/vuetify-labs.d.ts +173 -75
  9. package/dist/vuetify-labs.esm.js +183 -127
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +183 -127
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.cjs +78 -44
  14. package/dist/vuetify.cjs.map +1 -1
  15. package/dist/vuetify.css +2171 -2039
  16. package/dist/vuetify.d.ts +70 -70
  17. package/dist/vuetify.esm.js +78 -44
  18. package/dist/vuetify.esm.js.map +1 -1
  19. package/dist/vuetify.js +78 -44
  20. package/dist/vuetify.js.map +1 -1
  21. package/dist/vuetify.min.css +2 -2
  22. package/dist/vuetify.min.js +67 -60
  23. package/dist/vuetify.min.js.map +1 -1
  24. package/lib/components/VAlert/VAlert.css +12 -0
  25. package/lib/components/VAlert/VAlert.sass +13 -0
  26. package/lib/components/VAutocomplete/VAutocomplete.css +2 -1
  27. package/lib/components/VAutocomplete/VAutocomplete.sass +3 -2
  28. package/lib/components/VBtn/VBtn.css +10 -0
  29. package/lib/components/VBtn/VBtn.sass +9 -0
  30. package/lib/components/VCard/VCard.css +11 -0
  31. package/lib/components/VCard/VCard.sass +9 -0
  32. package/lib/components/VChip/VChip.css +6 -0
  33. package/lib/components/VChip/VChip.sass +5 -0
  34. package/lib/components/VChipGroup/VChipGroup.css +25 -0
  35. package/lib/components/VChipGroup/VChipGroup.sass +23 -0
  36. package/lib/components/VCombobox/VCombobox.css +2 -1
  37. package/lib/components/VCombobox/VCombobox.sass +3 -2
  38. package/lib/components/VDatePicker/VDatePicker.js +10 -4
  39. package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
  40. package/lib/components/VDatePicker/VDatePickerYears.js +18 -8
  41. package/lib/components/VDatePicker/VDatePickerYears.js.map +1 -1
  42. package/lib/components/VFileInput/VFileInput.js +4 -2
  43. package/lib/components/VFileInput/VFileInput.js.map +1 -1
  44. package/lib/components/VList/VListItem.css +30 -0
  45. package/lib/components/VList/VListItem.d.ts +3 -3
  46. package/lib/components/VList/VListItem.sass +29 -0
  47. package/lib/components/VNumberInput/VNumberInput.js +6 -6
  48. package/lib/components/VNumberInput/VNumberInput.js.map +1 -1
  49. package/lib/components/VOtpInput/VOtpInput.js +9 -2
  50. package/lib/components/VOtpInput/VOtpInput.js.map +1 -1
  51. package/lib/components/VProgressLinear/VProgressLinear.css +3 -3
  52. package/lib/components/VProgressLinear/VProgressLinear.js +5 -6
  53. package/lib/components/VProgressLinear/VProgressLinear.js.map +1 -1
  54. package/lib/components/VProgressLinear/VProgressLinear.sass +3 -3
  55. package/lib/components/VSelect/VSelect.css +5 -1
  56. package/lib/components/VSelect/VSelect.sass +6 -2
  57. package/lib/components/VSlideGroup/VSlideGroup.js +5 -4
  58. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  59. package/lib/components/VSnackbar/VSnackbar.css +5 -0
  60. package/lib/components/VSnackbar/VSnackbar.sass +3 -0
  61. package/lib/components/VSparkline/VBarline.js +2 -2
  62. package/lib/components/VSparkline/VBarline.js.map +1 -1
  63. package/lib/components/VSparkline/VTrendline.js +3 -0
  64. package/lib/components/VSparkline/VTrendline.js.map +1 -1
  65. package/lib/components/VTextField/VTextField.js +2 -2
  66. package/lib/components/VTextField/VTextField.js.map +1 -1
  67. package/lib/components/VTextarea/VTextarea.js +4 -2
  68. package/lib/components/VTextarea/VTextarea.js.map +1 -1
  69. package/lib/components/VTimeline/VTimeline.css +22 -0
  70. package/lib/components/VTimeline/VTimeline.sass +12 -0
  71. package/lib/components/VTreeview/VTreeviewItem.css +13 -8
  72. package/lib/components/VTreeview/VTreeviewItem.d.ts +9 -9
  73. package/lib/components/VTreeview/VTreeviewItem.sass +12 -8
  74. package/lib/composables/filter.js +3 -1
  75. package/lib/composables/filter.js.map +1 -1
  76. package/lib/composables/nested/nested.d.ts +1 -1
  77. package/lib/composables/nested/nested.js +5 -2
  78. package/lib/composables/nested/nested.js.map +1 -1
  79. package/lib/composables/rounded.js +3 -3
  80. package/lib/composables/rounded.js.map +1 -1
  81. package/lib/directives/touch/index.js +2 -2
  82. package/lib/directives/touch/index.js.map +1 -1
  83. package/lib/entry-bundler.js +1 -1
  84. package/lib/framework.d.ts +58 -58
  85. package/lib/framework.js +1 -1
  86. package/lib/labs/VDateInput/VDateInput.d.ts +78 -3
  87. package/lib/labs/VDateInput/VDateInput.js +3 -1
  88. package/lib/labs/VDateInput/VDateInput.js.map +1 -1
  89. package/lib/labs/VIconBtn/VIconBtn.js +1 -1
  90. package/lib/labs/VIconBtn/VIconBtn.js.map +1 -1
  91. package/lib/labs/VPie/VPie.css +3 -0
  92. package/lib/labs/VPie/VPie.js +71 -29
  93. package/lib/labs/VPie/VPie.js.map +1 -1
  94. package/lib/labs/VPie/VPie.sass +3 -0
  95. package/lib/labs/VPie/VPieSegment.d.ts +25 -2
  96. package/lib/labs/VPie/VPieSegment.js +11 -6
  97. package/lib/labs/VPie/VPieSegment.js.map +1 -1
  98. package/lib/labs/VPie/VPieTooltip.d.ts +10 -0
  99. package/lib/labs/VPie/VPieTooltip.js +4 -22
  100. package/lib/labs/VPie/VPieTooltip.js.map +1 -1
  101. package/lib/labs/VPie/types.d.ts +1 -0
  102. package/lib/labs/VPie/types.js.map +1 -1
  103. package/lib/labs/VVideo/VVideo.css +4 -4
  104. package/lib/labs/VVideo/VVideo.js +24 -33
  105. package/lib/labs/VVideo/VVideo.js.map +1 -1
  106. package/lib/labs/VVideo/VVideo.sass +4 -4
  107. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.9.5
2
+ * Vuetify v3.9.7
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -3497,14 +3497,14 @@ function useRounded(props) {
3497
3497
  const rounded = isRef(props) ? props.value : props.rounded;
3498
3498
  const tile = isRef(props) ? props.value : props.tile;
3499
3499
  const classes = [];
3500
- if (rounded === true || rounded === '') {
3500
+ if (tile || rounded === false) {
3501
+ classes.push('rounded-0');
3502
+ } else if (rounded === true || rounded === '') {
3501
3503
  classes.push(`${name}--rounded`);
3502
3504
  } else if (typeof rounded === 'string' || rounded === 0) {
3503
3505
  for (const value of String(rounded).split(' ')) {
3504
3506
  classes.push(`rounded-${value}`);
3505
3507
  }
3506
- } else if (tile || rounded === false) {
3507
- classes.push('rounded-0');
3508
3508
  }
3509
3509
  return classes;
3510
3510
  });
@@ -5364,7 +5364,6 @@ const VProgressLinear = genericComponent()({
5364
5364
  const normalizedValue = computed(() => clamp(parseFloat(progress.value) / max.value * 100, 0, 100));
5365
5365
  const isReversed = computed(() => isRtl.value !== props.reverse);
5366
5366
  const transition = computed(() => props.indeterminate ? 'fade-transition' : 'slide-x-transition');
5367
- const isForcedColorsModeActive = IN_BROWSER && window.matchMedia?.('(forced-colors: active)').matches;
5368
5367
  function handleClick(e) {
5369
5368
  if (!intersectionRef.value) return;
5370
5369
  const {
@@ -5413,13 +5412,13 @@ const VProgressLinear = genericComponent()({
5413
5412
  '--v-progress-linear-stream-to': convertToUnit(height.value * (isReversed.value ? 1 : -1))
5414
5413
  }
5415
5414
  }, null), createElementVNode("div", {
5416
- "class": normalizeClass(['v-progress-linear__background', !isForcedColorsModeActive ? backgroundColorClasses.value : undefined]),
5415
+ "class": normalizeClass(['v-progress-linear__background', backgroundColorClasses.value]),
5417
5416
  "style": normalizeStyle([backgroundColorStyles.value, {
5418
5417
  opacity: parseFloat(props.bgOpacity),
5419
5418
  width: props.stream ? 0 : undefined
5420
5419
  }])
5421
5420
  }, null), createElementVNode("div", {
5422
- "class": normalizeClass(['v-progress-linear__buffer', !isForcedColorsModeActive ? bufferColorClasses.value : undefined]),
5421
+ "class": normalizeClass(['v-progress-linear__buffer', bufferColorClasses.value]),
5423
5422
  "style": normalizeStyle([bufferColorStyles.value, {
5424
5423
  opacity: parseFloat(props.bufferOpacity),
5425
5424
  width: convertToUnit(normalizedBuffer.value, '%')
@@ -5428,7 +5427,7 @@ const VProgressLinear = genericComponent()({
5428
5427
  "name": transition.value
5429
5428
  }, {
5430
5429
  default: () => [!props.indeterminate ? createElementVNode("div", {
5431
- "class": normalizeClass(['v-progress-linear__determinate', !isForcedColorsModeActive ? barColorClasses.value : undefined]),
5430
+ "class": normalizeClass(['v-progress-linear__determinate', barColorClasses.value]),
5432
5431
  "style": normalizeStyle([barColorStyles.value, {
5433
5432
  width: convertToUnit(normalizedValue.value, '%')
5434
5433
  }])
@@ -5436,7 +5435,7 @@ const VProgressLinear = genericComponent()({
5436
5435
  "class": "v-progress-linear__indeterminate"
5437
5436
  }, [['long', 'short'].map(bar => createElementVNode("div", {
5438
5437
  "key": bar,
5439
- "class": normalizeClass(['v-progress-linear__indeterminate', bar, !isForcedColorsModeActive ? barColorClasses.value : undefined]),
5438
+ "class": normalizeClass(['v-progress-linear__indeterminate', bar, barColorClasses.value]),
5440
5439
  "style": normalizeStyle(barColorStyles.value)
5441
5440
  }, null))])]
5442
5441
  }), slots.default && createElementVNode("div", {
@@ -8208,6 +8207,7 @@ const VSlideGroup = genericComponent()({
8208
8207
  select: group.select,
8209
8208
  isSelected: group.isSelected
8210
8209
  }));
8210
+ const hasOverflowOrScroll = computed(() => isOverflowing.value || Math.abs(scrollOffset.value) > 0);
8211
8211
  const hasAffixes = computed(() => {
8212
8212
  switch (props.showArrows) {
8213
8213
  // Always show arrows on desktop & mobile
@@ -8221,17 +8221,17 @@ const VSlideGroup = genericComponent()({
8221
8221
  // Show arrows on mobile when overflowing.
8222
8222
  // This matches the default 2.2 behavior
8223
8223
  case true:
8224
- return isOverflowing.value || Math.abs(scrollOffset.value) > 0;
8224
+ return hasOverflowOrScroll.value;
8225
8225
 
8226
8226
  // Always show on mobile
8227
8227
  case 'mobile':
8228
- return mobile.value || isOverflowing.value || Math.abs(scrollOffset.value) > 0;
8228
+ return mobile.value || hasOverflowOrScroll.value;
8229
8229
 
8230
8230
  // https://material.io/components/tabs#scrollable-tabs
8231
8231
  // Always show arrows when
8232
8232
  // overflowed on desktop
8233
8233
  default:
8234
- return !mobile.value && (isOverflowing.value || Math.abs(scrollOffset.value) > 0);
8234
+ return !mobile.value && hasOverflowOrScroll.value;
8235
8235
  }
8236
8236
  });
8237
8237
  const hasPrev = computed(() => {
@@ -8239,7 +8239,7 @@ const VSlideGroup = genericComponent()({
8239
8239
  return Math.abs(scrollOffset.value) > 1;
8240
8240
  });
8241
8241
  const hasNext = computed(() => {
8242
- if (!containerRef.value) return false;
8242
+ if (!containerRef.value || !hasOverflowOrScroll.value) return false;
8243
8243
  const scrollSize = getScrollSize(isHorizontal.value, containerRef.el);
8244
8244
  const clientSize = getClientSize(isHorizontal.value, containerRef.el);
8245
8245
  const scrollSizeMax = scrollSize - clientSize;
@@ -9236,7 +9236,7 @@ const useNested = props => {
9236
9236
  function getPath(id) {
9237
9237
  const path = [];
9238
9238
  let parent = toRaw(id);
9239
- while (parent != null) {
9239
+ while (parent !== undefined) {
9240
9240
  path.unshift(parent);
9241
9241
  parent = parents.value.get(parent);
9242
9242
  }
@@ -9382,7 +9382,10 @@ const useNested = props => {
9382
9382
  const useNestedItem = (id, isDisabled, isGroup) => {
9383
9383
  const parent = inject$1(VNestedSymbol, emptyNested);
9384
9384
  const uidSymbol = Symbol('nested item');
9385
- const computedId = computed(() => toRaw(toValue(id)) ?? uidSymbol);
9385
+ const computedId = computed(() => {
9386
+ const idValue = toRaw(toValue(id));
9387
+ return idValue !== undefined ? idValue : uidSymbol;
9388
+ });
9386
9389
  const item = {
9387
9390
  ...parent,
9388
9391
  id: computedId,
@@ -12542,7 +12545,7 @@ const VTextField = genericComponent()({
12542
12545
  "onClick:prependInner": props['onClick:prependInner'],
12543
12546
  "onClick:appendInner": props['onClick:appendInner'],
12544
12547
  "role": props.role
12545
- }, fieldProps, {
12548
+ }, omit(fieldProps, ['onClick:clear']), {
12546
12549
  "id": id.value,
12547
12550
  "active": isActive.value || isDirty.value,
12548
12551
  "dirty": isDirty.value || props.dirty,
@@ -13593,11 +13596,13 @@ function filterItems(items, query, options) {
13593
13596
  const defaultMatches = {};
13594
13597
  let match = -1;
13595
13598
  if ((query || customFiltersLength > 0) && !options?.noFilter) {
13599
+ let hasOnlyCustomFilters = false;
13596
13600
  if (typeof item === 'object') {
13597
13601
  if (item.type === 'divider' || item.type === 'subheader') {
13598
13602
  continue;
13599
13603
  }
13600
13604
  const filterKeys = keys || Object.keys(transformed);
13605
+ hasOnlyCustomFilters = filterKeys.length === customFiltersLength;
13601
13606
  for (const key of filterKeys) {
13602
13607
  const value = getPropertyFromItem(transformed, key);
13603
13608
  const keyFilter = options?.customKeyFilter?.[key];
@@ -13618,7 +13623,7 @@ function filterItems(items, query, options) {
13618
13623
  const customMatchesLength = Object.keys(customMatches).length;
13619
13624
  if (!defaultMatchesLength && !customMatchesLength) continue;
13620
13625
  if (options?.filterMode === 'union' && customMatchesLength !== customFiltersLength && !defaultMatchesLength) continue;
13621
- if (options?.filterMode === 'intersection' && (customMatchesLength !== customFiltersLength || !defaultMatchesLength)) continue;
13626
+ if (options?.filterMode === 'intersection' && (customMatchesLength !== customFiltersLength || !defaultMatchesLength && customFiltersLength > 0 && !hasOnlyCustomFilters)) continue;
13622
13627
  }
13623
13628
  array.push({
13624
13629
  index: i,
@@ -15292,7 +15297,7 @@ function mounted$3(el, binding) {
15292
15297
  };
15293
15298
  const uid = binding.instance?.$.uid; // TODO: use custom uid generator
15294
15299
 
15295
- if (!target || !uid) return;
15300
+ if (!target || uid === undefined) return;
15296
15301
  const handlers = createHandlers(binding.value);
15297
15302
  target._touchHandlers = target._touchHandlers ?? Object.create(null);
15298
15303
  target._touchHandlers[uid] = handlers;
@@ -15303,7 +15308,7 @@ function mounted$3(el, binding) {
15303
15308
  function unmounted$3(el, binding) {
15304
15309
  const target = binding.value?.parent ? el.parentElement : el;
15305
15310
  const uid = binding.instance?.$.uid;
15306
- if (!target?._touchHandlers || !uid) return;
15311
+ if (!target?._touchHandlers || uid === undefined) return;
15307
15312
  const handlers = target._touchHandlers[uid];
15308
15313
  keys(handlers).forEach(eventName => {
15309
15314
  target.removeEventListener(eventName, handlers[eventName]);
@@ -23316,6 +23321,9 @@ const makeVDatePickerYearsProps = propsFactory({
23316
23321
  const VDatePickerYears = genericComponent()({
23317
23322
  name: 'VDatePickerYears',
23318
23323
  props: makeVDatePickerYearsProps(),
23324
+ directives: {
23325
+ vIntersect: Intersect
23326
+ },
23319
23327
  emits: {
23320
23328
  'update:modelValue': year => true
23321
23329
  },
@@ -23352,10 +23360,12 @@ const VDatePickerYears = genericComponent()({
23352
23360
  model.value = model.value ?? adapter.getYear(adapter.date());
23353
23361
  });
23354
23362
  const yearRef = templateRef();
23355
- onMounted(async () => {
23356
- await nextTick();
23363
+ function focusSelectedYear() {
23357
23364
  yearRef.el?.focus();
23358
- });
23365
+ yearRef.el?.scrollIntoView({
23366
+ block: 'center'
23367
+ });
23368
+ }
23359
23369
  function isYearAllowed(year) {
23360
23370
  if (Array.isArray(props.allowedYears) && props.allowedYears.length) {
23361
23371
  return props.allowedYears.includes(year);
@@ -23365,7 +23375,7 @@ const VDatePickerYears = genericComponent()({
23365
23375
  }
23366
23376
  return true;
23367
23377
  }
23368
- useRender(() => createElementVNode("div", {
23378
+ useRender(() => withDirectives(createElementVNode("div", {
23369
23379
  "class": "v-date-picker-years",
23370
23380
  "style": {
23371
23381
  height: convertToUnit(props.height)
@@ -23396,7 +23406,11 @@ const VDatePickerYears = genericComponent()({
23396
23406
  }) ?? createVNode(VBtn, mergeProps({
23397
23407
  "key": "month"
23398
23408
  }, btnProps), null);
23399
- })])]));
23409
+ })])]), [[Intersect, {
23410
+ handler: focusSelectedYear
23411
+ }, null, {
23412
+ once: true
23413
+ }]]));
23400
23414
  return {};
23401
23415
  }
23402
23416
  });
@@ -23537,6 +23551,12 @@ const VDatePicker = genericComponent()({
23537
23551
  }
23538
23552
  return targets;
23539
23553
  });
23554
+ const allowedYears = computed(() => {
23555
+ return props.allowedYears || isYearAllowed;
23556
+ });
23557
+ const allowedMonths = computed(() => {
23558
+ return props.allowedMonths || isMonthAllowed;
23559
+ });
23540
23560
  function isAllowedInRange(start, end) {
23541
23561
  const allowedDates = props.allowedDates;
23542
23562
  if (typeof allowedDates !== 'function') return true;
@@ -23546,7 +23566,7 @@ const VDatePicker = genericComponent()({
23546
23566
  }
23547
23567
  return false;
23548
23568
  }
23549
- function allowedYears(year) {
23569
+ function isYearAllowed(year) {
23550
23570
  if (typeof props.allowedDates === 'function') {
23551
23571
  const startOfYear = adapter.parseISO(`${year}-01-01`);
23552
23572
  return isAllowedInRange(startOfYear, adapter.endOfYear(startOfYear));
@@ -23559,7 +23579,7 @@ const VDatePicker = genericComponent()({
23559
23579
  }
23560
23580
  return true;
23561
23581
  }
23562
- function allowedMonths(month) {
23582
+ function isMonthAllowed(month) {
23563
23583
  if (typeof props.allowedDates === 'function') {
23564
23584
  const monthTwoDigits = String(month + 1).padStart(2, '0');
23565
23585
  const startOfMonth = adapter.parseISO(`${year.value}-${monthTwoDigits}-01`);
@@ -23687,7 +23707,7 @@ const VDatePicker = genericComponent()({
23687
23707
  "min": minDate.value,
23688
23708
  "max": maxDate.value,
23689
23709
  "year": year.value,
23690
- "allowedMonths": allowedMonths
23710
+ "allowedMonths": allowedMonths.value
23691
23711
  }), {
23692
23712
  month: slots.month
23693
23713
  }) : viewMode.value === 'year' ? createVNode(VDatePickerYears, mergeProps({
@@ -23697,7 +23717,7 @@ const VDatePicker = genericComponent()({
23697
23717
  "onUpdate:modelValue": [$event => year.value = $event, onUpdateYear],
23698
23718
  "min": minDate.value,
23699
23719
  "max": maxDate.value,
23700
- "allowedYears": allowedYears
23720
+ "allowedYears": allowedYears.value
23701
23721
  }), {
23702
23722
  year: slots.year
23703
23723
  }) : createVNode(VDatePickerMonth, mergeProps({
@@ -24432,7 +24452,10 @@ const VFileInput = genericComponent()({
24432
24452
  modelValue: _,
24433
24453
  ...inputProps
24434
24454
  } = VInput.filterProps(props);
24435
- const fieldProps = VField.filterProps(props);
24455
+ const fieldProps = {
24456
+ ...VField.filterProps(props),
24457
+ 'onClick:clear': onClear
24458
+ };
24436
24459
  return createVNode(VInput, mergeProps({
24437
24460
  "ref": vInputRef,
24438
24461
  "modelValue": props.multiple ? model.value : model.value[0],
@@ -24463,7 +24486,6 @@ const VFileInput = genericComponent()({
24463
24486
  "prependIcon": props.prependIcon,
24464
24487
  "onMousedown": onControlMousedown,
24465
24488
  "onClick": onControlClick,
24466
- "onClick:clear": onClear,
24467
24489
  "onClick:prependInner": props['onClick:prependInner'],
24468
24490
  "onClick:appendInner": props['onClick:appendInner']
24469
24491
  }, fieldProps, {
@@ -26154,7 +26176,6 @@ const VNumberInput = genericComponent()({
26154
26176
  "aria-hidden": "true",
26155
26177
  "data-testid": "increment",
26156
26178
  "disabled": !canIncrease.value,
26157
- "flat": true,
26158
26179
  "height": controlNodeDefaultHeight.value,
26159
26180
  "icon": incrementIcon.value,
26160
26181
  "key": "increment-btn",
@@ -26163,16 +26184,17 @@ const VNumberInput = genericComponent()({
26163
26184
  "onPointerup": onControlMouseup,
26164
26185
  "onPointercancel": onControlMouseup,
26165
26186
  "size": controlNodeSize.value,
26187
+ "variant": "text",
26166
26188
  "tabindex": "-1"
26167
26189
  }, null) : createVNode(VDefaultsProvider, {
26168
26190
  "key": "increment-defaults",
26169
26191
  "defaults": {
26170
26192
  VBtn: {
26171
26193
  disabled: !canIncrease.value,
26172
- flat: true,
26173
26194
  height: controlNodeDefaultHeight.value,
26174
26195
  size: controlNodeSize.value,
26175
- icon: incrementIcon.value
26196
+ icon: incrementIcon.value,
26197
+ variant: 'text'
26176
26198
  }
26177
26199
  }
26178
26200
  }, {
@@ -26184,7 +26206,6 @@ const VNumberInput = genericComponent()({
26184
26206
  "aria-hidden": "true",
26185
26207
  "data-testid": "decrement",
26186
26208
  "disabled": !canDecrease.value,
26187
- "flat": true,
26188
26209
  "height": controlNodeDefaultHeight.value,
26189
26210
  "icon": decrementIcon.value,
26190
26211
  "key": "decrement-btn",
@@ -26193,16 +26214,17 @@ const VNumberInput = genericComponent()({
26193
26214
  "onPointerup": onControlMouseup,
26194
26215
  "onPointercancel": onControlMouseup,
26195
26216
  "size": controlNodeSize.value,
26217
+ "variant": "text",
26196
26218
  "tabindex": "-1"
26197
26219
  }, null) : createVNode(VDefaultsProvider, {
26198
26220
  "key": "decrement-defaults",
26199
26221
  "defaults": {
26200
26222
  VBtn: {
26201
26223
  disabled: !canDecrease.value,
26202
- flat: true,
26203
26224
  height: controlNodeDefaultHeight.value,
26204
26225
  size: controlNodeSize.value,
26205
- icon: decrementIcon.value
26226
+ icon: decrementIcon.value,
26227
+ variant: 'text'
26206
26228
  }
26207
26229
  }
26208
26230
  }, {
@@ -26338,6 +26360,7 @@ const VOtpInput = genericComponent()({
26338
26360
  const contentRef = ref();
26339
26361
  const inputRef = ref([]);
26340
26362
  const current = computed(() => inputRef.value[focusIndex.value]);
26363
+ let _isComposing = false;
26341
26364
  useToggleScope(() => props.autofocus, () => {
26342
26365
  const intersectScope = effectScope();
26343
26366
  intersectScope.run(() => {
@@ -26362,6 +26385,7 @@ const VOtpInput = genericComponent()({
26362
26385
  current.value.value = '';
26363
26386
  return;
26364
26387
  }
26388
+ if (_isComposing) return;
26365
26389
  const array = model.value.slice();
26366
26390
  const value = current.value.value;
26367
26391
  array[focusIndex.value] = value;
@@ -26374,6 +26398,10 @@ const VOtpInput = genericComponent()({
26374
26398
  model.value = array;
26375
26399
  if (target) focusChild(contentRef.value, target);
26376
26400
  }
26401
+ function onCompositionend() {
26402
+ _isComposing = false;
26403
+ onInput();
26404
+ }
26377
26405
  function onKeydown(e) {
26378
26406
  const array = model.value.slice();
26379
26407
  const index = focusIndex.value;
@@ -26408,7 +26436,7 @@ const VOtpInput = genericComponent()({
26408
26436
  const finalIndex = clipboardText.length - 1 === -1 ? index : clipboardText.length - 1;
26409
26437
  if (isValidNumber(clipboardText)) return;
26410
26438
  model.value = clipboardText.split('');
26411
- inputRef.value?.[finalIndex].focus();
26439
+ focusIndex.value = finalIndex;
26412
26440
  }
26413
26441
  function reset() {
26414
26442
  model.value = [];
@@ -26438,7 +26466,6 @@ const VOtpInput = genericComponent()({
26438
26466
  });
26439
26467
  watch(model, val => {
26440
26468
  if (val.length === length.value) {
26441
- focusIndex.value = length.value - 1;
26442
26469
  emit('finish', val.join(''));
26443
26470
  }
26444
26471
  }, {
@@ -26487,6 +26514,8 @@ const VOtpInput = genericComponent()({
26487
26514
  "onFocus": e => onFocus(e, i),
26488
26515
  "onBlur": onBlur,
26489
26516
  "onKeydown": onKeydown,
26517
+ "onCompositionstart": () => _isComposing = true,
26518
+ "onCompositionend": onCompositionend,
26490
26519
  "onPaste": event => onPaste(i, event)
26491
26520
  }, null);
26492
26521
  }
@@ -27711,7 +27740,7 @@ const VBarline = genericComponent()({
27711
27740
  let minValue = props.min != null ? Number(props.min) : Math.min(...values);
27712
27741
  if (minValue > 0 && props.min == null) minValue = 0;
27713
27742
  if (maxValue < 0 && props.max == null) maxValue = 0;
27714
- const gridX = maxX / totalValues;
27743
+ const gridX = maxX / (totalValues === 1 ? 2 : totalValues);
27715
27744
  const gridY = (maxY - minY) / (maxValue - minValue || 1);
27716
27745
  const horizonY = maxY - Math.abs(minValue * gridY);
27717
27746
  return values.map((value, index) => {
@@ -27742,7 +27771,7 @@ const VBarline = genericComponent()({
27742
27771
  return labels;
27743
27772
  });
27744
27773
  const bars = computed(() => genBars(items.value, boundary.value));
27745
- const offsetX = computed(() => (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2);
27774
+ const offsetX = computed(() => bars.value.length === 1 ? (boundary.value.maxX - lineWidth.value) / 2 : (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2);
27746
27775
  const smooth = computed(() => typeof props.smooth === 'boolean' ? props.smooth ? 2 : 0 : Number(props.smooth));
27747
27776
  useRender(() => {
27748
27777
  const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
@@ -27893,6 +27922,9 @@ const VTrendline = genericComponent()({
27893
27922
  minY,
27894
27923
  maxY
27895
27924
  } = boundary;
27925
+ if (values.length === 1) {
27926
+ values = [values[0], values[0]];
27927
+ }
27896
27928
  const totalValues = values.length;
27897
27929
  const maxValue = props.max != null ? Number(props.max) : Math.max(...values);
27898
27930
  const minValue = props.min != null ? Number(props.min) : Math.min(...values);
@@ -29207,7 +29239,10 @@ const VTextarea = genericComponent()({
29207
29239
  modelValue: _,
29208
29240
  ...inputProps
29209
29241
  } = VInput.filterProps(props);
29210
- const fieldProps = VField.filterProps(props);
29242
+ const fieldProps = {
29243
+ ...VField.filterProps(props),
29244
+ 'onClick:clear': onClear
29245
+ };
29211
29246
  return createVNode(VInput, mergeProps({
29212
29247
  "ref": vInputRef,
29213
29248
  "modelValue": model.value,
@@ -29243,7 +29278,6 @@ const VTextarea = genericComponent()({
29243
29278
  },
29244
29279
  "onClick": onControlClick,
29245
29280
  "onMousedown": onControlMousedown,
29246
- "onClick:clear": onClear,
29247
29281
  "onClick:prependInner": props['onClick:prependInner'],
29248
29282
  "onClick:appendInner": props['onClick:appendInner']
29249
29283
  }, fieldProps, {
@@ -31831,6 +31865,7 @@ const VDateInput = genericComponent()({
31831
31865
  useRender(() => {
31832
31866
  const confirmEditProps = VConfirmEdit.filterProps(props);
31833
31867
  const datePickerProps = VDatePicker.filterProps(omit(props, ['active', 'location', 'rounded']));
31868
+ const datePickerSlots = pick(slots, ['title', 'header', 'day', 'month', 'year']);
31834
31869
  const textFieldProps = VTextField.filterProps(omit(props, ['placeholder']));
31835
31870
  return createVNode(VTextField, mergeProps({
31836
31871
  "ref": vTextFieldRef
@@ -31893,6 +31928,7 @@ const VDateInput = genericComponent()({
31893
31928
  "onUpdate:modelValue": value => onUpdateModel(value),
31894
31929
  "onMousedown": e => e.preventDefault()
31895
31930
  }), {
31931
+ ...datePickerSlots,
31896
31932
  actions: !props.hideActions ? () => slots.actions?.({
31897
31933
  save,
31898
31934
  cancel,
@@ -32327,7 +32363,7 @@ const VIconBtn = genericComponent()({
32327
32363
  const iconProps = {
32328
32364
  icon,
32329
32365
  size: iconSize.value,
32330
- iconColor: props.iconColor,
32366
+ color: props.iconColor,
32331
32367
  opacity: props.opacity
32332
32368
  };
32333
32369
  return createVNode(props.tag, {
@@ -32782,6 +32818,7 @@ function useInnerSlicePath(_ref2) {
32782
32818
  // Types
32783
32819
 
32784
32820
  const makeVPieSegmentProps = propsFactory({
32821
+ active: Boolean,
32785
32822
  rotate: [Number, String],
32786
32823
  value: {
32787
32824
  type: Number,
@@ -32806,8 +32843,11 @@ const makeVPieSegmentProps = propsFactory({
32806
32843
  const VPieSegment = genericComponent()({
32807
32844
  name: 'VPieSegment',
32808
32845
  props: makeVPieSegmentProps(),
32846
+ emits: {
32847
+ 'update:active': val => true
32848
+ },
32809
32849
  setup(props) {
32810
- const isHovering = shallowRef(false);
32850
+ const isActive = useProxiedModel(props, 'active');
32811
32851
  const {
32812
32852
  state: revealState,
32813
32853
  duration: revealDuration
@@ -32828,12 +32868,12 @@ const VPieSegment = genericComponent()({
32828
32868
  outerX,
32829
32869
  outerY,
32830
32870
  arcWidth
32831
- } = usePieArc(props, isHovering);
32871
+ } = usePieArc(props, isActive);
32832
32872
  const arcSize = toRef(() => revealState.value === 'initial' ? 0 : normalizedValue.value);
32833
32873
  const currentArcSize = useTransition(arcSize, transitionConfig);
32834
32874
  const angle = toRef(() => revealState.value === 'initial' ? 0 : Number(props.rotate ?? 0) + Number(props.gap ?? 0) / 2);
32835
32875
  const currentAngle = useTransition(angle, transitionConfig);
32836
- const arcRadius = toRef(() => 50 * (isHovering.value ? 1 : 1 - hoverZoomRatio.value));
32876
+ const arcRadius = toRef(() => 50 * (isActive.value ? 1 : 1 - hoverZoomRatio.value));
32837
32877
  const currentArcRadius = useTransition(arcRadius, transitionConfig);
32838
32878
  const currentArcWidth = useTransition(arcWidth, transitionConfig);
32839
32879
  const outerSlicePath = useOuterSlicePath({
@@ -32872,8 +32912,8 @@ const VPieSegment = genericComponent()({
32872
32912
  "transform": `rotate(${currentAngle.value} 50 50)`,
32873
32913
  "class": "v-pie-segment__overlay",
32874
32914
  "d": overlayPath.value,
32875
- "onMouseenter": () => isHovering.value = true,
32876
- "onMouseleave": () => isHovering.value = false
32915
+ "onMouseenter": () => isActive.value = true,
32916
+ "onMouseleave": () => isActive.value = false
32877
32917
  }, null)]);
32878
32918
  }
32879
32919
  });
@@ -32882,6 +32922,7 @@ const VPieSegment = genericComponent()({
32882
32922
 
32883
32923
  const makeVPieTooltipProps = propsFactory({
32884
32924
  modelValue: Boolean,
32925
+ target: Object,
32885
32926
  item: {
32886
32927
  type: Object,
32887
32928
  default: null
@@ -32904,25 +32945,6 @@ const VPieTooltip = genericComponent()({
32904
32945
  let {
32905
32946
  slots
32906
32947
  } = _ref;
32907
- const target = shallowRef([0, 0]);
32908
- const vm = getCurrentInstance('VPieTooltip');
32909
- let frame = -1;
32910
- function onMouseMove(_ref2) {
32911
- let {
32912
- clientX,
32913
- clientY
32914
- } = _ref2;
32915
- cancelAnimationFrame(frame);
32916
- frame = requestAnimationFrame(() => {
32917
- target.value = [clientX, clientY];
32918
- });
32919
- }
32920
- onMounted(() => {
32921
- vm.proxy.$el.parentNode.addEventListener('mousemove', onMouseMove);
32922
- });
32923
- onBeforeUnmount(() => {
32924
- vm.proxy.$el.parentNode.removeEventListener('mousemove', onMouseMove);
32925
- });
32926
32948
  const tooltipTitleFormatFunction = toRef(() => segment => {
32927
32949
  return typeof props.titleFormat === 'function' ? props.titleFormat(segment) : formatTextTemplate(props.titleFormat, segment);
32928
32950
  });
@@ -32932,7 +32954,7 @@ const VPieTooltip = genericComponent()({
32932
32954
  return () => createVNode(VTooltip, {
32933
32955
  "offset": props.offset,
32934
32956
  "modelValue": props.modelValue,
32935
- "target": target.value,
32957
+ "target": props.target,
32936
32958
  "contentClass": "v-pie__tooltip-content"
32937
32959
  }, {
32938
32960
  default: () => [!!props.item && (slots.default?.({
@@ -33000,6 +33022,9 @@ const makeVPieProps = propsFactory({
33000
33022
  }, 'VPie');
33001
33023
  const VPie = genericComponent()({
33002
33024
  name: 'VPie',
33025
+ directives: {
33026
+ vClickOutside: ClickOutside
33027
+ },
33003
33028
  props: makeVPieProps(),
33004
33029
  setup(props, _ref) {
33005
33030
  let {
@@ -33051,7 +33076,7 @@ const VPie = genericComponent()({
33051
33076
  const visibleItems = computed(() => {
33052
33077
  // hidden items get (value: 0) to trigger disappearing animation
33053
33078
  return arcs.value.map(item => {
33054
- return isActive(item) ? item : {
33079
+ return isVisible(item) ? item : {
33055
33080
  ...item,
33056
33081
  value: 0
33057
33082
  };
@@ -33077,11 +33102,11 @@ const VPie = genericComponent()({
33077
33102
  const paletteItem = props.palette[index % props.palette.length];
33078
33103
  return typeof paletteItem === 'object' ? paletteItem.pattern : undefined;
33079
33104
  }
33080
- function isActive(item) {
33105
+ function isVisible(item) {
33081
33106
  return visibleItemsKeys.value.includes(item.key);
33082
33107
  }
33083
33108
  function toggle(item) {
33084
- if (isActive(item)) {
33109
+ if (isVisible(item)) {
33085
33110
  visibleItemsKeys.value = visibleItemsKeys.value.filter(x => x !== item.key);
33086
33111
  } else {
33087
33112
  visibleItemsKeys.value = [...visibleItemsKeys.value, item.key];
@@ -33089,24 +33114,55 @@ const VPie = genericComponent()({
33089
33114
  }
33090
33115
  const tooltipItem = shallowRef(null);
33091
33116
  const tooltipVisible = shallowRef(false);
33117
+ const tooltipTarget = shallowRef([0, 0]);
33092
33118
  let mouseLeaveTimeout = null;
33093
- function onMouseenter(item) {
33094
- if (!props.tooltip) return;
33095
- clearTimeout(mouseLeaveTimeout);
33096
- tooltipVisible.value = true;
33097
- tooltipItem.value = item;
33119
+ function setItemActive(item, active) {
33120
+ arcs.value.forEach(a => a.isActive = a.key === item.key && active);
33121
+ if (props.tooltip) {
33122
+ setTooltip(item, active);
33123
+ }
33098
33124
  }
33099
- function onMouseleave() {
33100
- if (!props.tooltip) return;
33125
+ function setTooltip(item, active) {
33101
33126
  clearTimeout(mouseLeaveTimeout);
33102
- mouseLeaveTimeout = setTimeout(() => {
33103
- tooltipVisible.value = false;
33104
-
33105
- // intentionally reusing timeout here
33127
+ if (active) {
33128
+ tooltipVisible.value = true;
33129
+ tooltipItem.value = item;
33130
+ } else {
33106
33131
  mouseLeaveTimeout = setTimeout(() => {
33107
- tooltipItem.value = null;
33108
- }, 500);
33109
- }, 100);
33132
+ tooltipVisible.value = false;
33133
+
33134
+ // intentionally reusing timeout here
33135
+ mouseLeaveTimeout = setTimeout(() => {
33136
+ tooltipItem.value = null;
33137
+ }, 500);
33138
+ }, 100);
33139
+ }
33140
+ }
33141
+ let frame = -1;
33142
+ function onSvgMousemove(_ref2) {
33143
+ let {
33144
+ clientX,
33145
+ clientY
33146
+ } = _ref2;
33147
+ cancelAnimationFrame(frame);
33148
+ frame = requestAnimationFrame(() => {
33149
+ tooltipTarget.value = [clientX, clientY];
33150
+ });
33151
+ }
33152
+ function onSvgTouchstart(_ref3) {
33153
+ let {
33154
+ touches
33155
+ } = _ref3;
33156
+ if (!touches) return;
33157
+ const {
33158
+ clientX,
33159
+ clientY
33160
+ } = touches[0];
33161
+ tooltipTarget.value = [clientX, clientY];
33162
+ }
33163
+ function onSvgClickOutside() {
33164
+ arcs.value.forEach(a => a.isActive = false);
33165
+ tooltipVisible.value = false;
33110
33166
  }
33111
33167
  return () => {
33112
33168
  const segmentProps = pick(props, ['animation', 'gap', 'rounded', 'hideSlice', 'reveal', 'innerCut', 'hoverScale']);
@@ -33120,7 +33176,8 @@ const VPie = genericComponent()({
33120
33176
  titleFormat: typeof props.tooltip === 'object' ? props.tooltip.titleFormat : '[title]',
33121
33177
  subtitleFormat: typeof props.tooltip === 'object' ? props.tooltip.subtitleFormat : '[value]',
33122
33178
  transition: typeof props.tooltip === 'object' ? props.tooltip.transition : defaultTooltipTransition,
33123
- offset: typeof props.tooltip === 'object' ? props.tooltip.offset : 16
33179
+ offset: typeof props.tooltip === 'object' ? props.tooltip.offset : 16,
33180
+ target: tooltipTarget.value
33124
33181
  };
33125
33182
  const legendDefaults = {
33126
33183
  VChipGroup: {
@@ -33138,10 +33195,10 @@ const VPie = genericComponent()({
33138
33195
  size: typeof props.tooltip === 'object' ? props.tooltip.avatarSize : 28
33139
33196
  }
33140
33197
  };
33141
- const avatarSlot = _ref2 => {
33198
+ const avatarSlot = _ref4 => {
33142
33199
  let {
33143
33200
  item
33144
- } = _ref2;
33201
+ } = _ref4;
33145
33202
  return createVNode(VAvatar, {
33146
33203
  "color": item.color,
33147
33204
  "start": true
@@ -33172,18 +33229,24 @@ const VPie = genericComponent()({
33172
33229
  }, [createElementVNode("div", {
33173
33230
  "class": normalizeClass(['v-pie__content-underlay', colorClasses.value]),
33174
33231
  "style": normalizeStyle(colorStyles.value)
33175
- }, null), createElementVNode("svg", {
33232
+ }, null), withDirectives(createElementVNode("svg", {
33176
33233
  "xmlns": "http://www.w3.org/2000/svg",
33177
- "viewBox": "0 0 100 100"
33234
+ "viewBox": "0 0 100 100",
33235
+ "class": "v-pie__segments",
33236
+ "onMousemove": onSvgMousemove,
33237
+ "onTouchstart": onSvgTouchstart
33178
33238
  }, [arcs.value.map((item, index) => createVNode(VPieSegment, mergeProps(segmentProps, {
33179
33239
  "key": item.key,
33240
+ "active": item.isActive,
33180
33241
  "color": item.color,
33181
- "value": isActive(item) ? arcSize(item.value) : 0,
33242
+ "value": isVisible(item) ? arcSize(item.value) : 0,
33182
33243
  "rotate": arcOffset(index),
33183
33244
  "pattern": item.pattern,
33184
- "onMouseenter": () => onMouseenter(item),
33185
- "onMouseleave": () => onMouseleave()
33186
- }), null))]), createElementVNode("div", {
33245
+ "onUpdate:active": val => setItemActive(item, val),
33246
+ "onTouchend": () => setItemActive(item, true)
33247
+ }), null))]), [[ClickOutside, {
33248
+ handler: onSvgClickOutside
33249
+ }]]), createElementVNode("div", {
33187
33250
  "class": "v-pie__center-content",
33188
33251
  "style": {
33189
33252
  transform: `translate(-50%, -50%)
@@ -33199,7 +33262,7 @@ const VPie = genericComponent()({
33199
33262
  default: () => [createElementVNode("div", {
33200
33263
  "class": "v-pie__legend"
33201
33264
  }, [slots.legend?.({
33202
- isActive,
33265
+ isActive: isVisible,
33203
33266
  toggle,
33204
33267
  items: arcs.value,
33205
33268
  total: total.value
@@ -34679,11 +34742,6 @@ const VVideo = genericComponent()({
34679
34742
  useRender(() => {
34680
34743
  const showControls = state.value === 'loaded' && props.variant === 'player' && props.controlsVariant !== 'hidden';
34681
34744
  const posterTransition = props.variant === 'background' ? 'poster-fade-out' : 'fade-transition';
34682
- const overlayProps = {
34683
- contained: true,
34684
- persistent: true,
34685
- contentClass: 'v-video__overlay-fill'
34686
- };
34687
34745
  const controlsProps = {
34688
34746
  ...VVideoControls.filterProps(omit(props, ['variant', 'rounded', 'hideVolume'])),
34689
34747
  rounded: Array.isArray(props.rounded) ? props.rounded.at(-1) : props.rounded,
@@ -34719,8 +34777,14 @@ const VVideo = genericComponent()({
34719
34777
  "color": "#fff",
34720
34778
  "variant": "outlined",
34721
34779
  "iconSize": "50",
34722
- "class": "v-video__center-icon"
34780
+ "class": "v-video__center-icon",
34781
+ "onClick": onVideoClick
34723
34782
  }, null);
34783
+ const activeOverlays = {
34784
+ playIcon: props.variant === 'player' && state.value === 'loaded' && !props.hideOverlay && !playing.value,
34785
+ poster: state.value !== 'loaded',
34786
+ loading: props.variant === 'player' && (state.value === 'loading' || waiting.value)
34787
+ };
34724
34788
  return createElementVNode("div", {
34725
34789
  "ref": containerRef,
34726
34790
  "class": normalizeClass(['v-video', `v-video--variant-${props.variant}`, `v-video--${state.value}`, {
@@ -34754,39 +34818,31 @@ const VVideo = genericComponent()({
34754
34818
  }), [slots.sources?.() ?? createElementVNode("source", {
34755
34819
  "src": props.src,
34756
34820
  "type": props.type
34757
- }, null)]), props.variant === 'player' && !props.hideOverlay && createVNode(VOverlay, mergeProps({
34758
- "key": "pause-overlay",
34759
- "modelValue": state.value === 'loaded',
34760
- "opacity": "0"
34761
- }, overlayProps), {
34762
- default: () => [createVNode(VSpacer, null, null), createVNode(MaybeTransition, {
34763
- "name": "fade-transition"
34764
- }, {
34765
- default: () => [!playing.value && overlayPlayIcon]
34766
- }), createVNode(VSpacer, null, null)]
34767
- }), props.variant === 'player' && !!slots.header ? createElementVNode("div", {
34821
+ }, null)]), createVNode(Transition, {
34822
+ "name": "fade-transition"
34823
+ }, {
34824
+ default: () => [activeOverlays.playIcon && createElementVNode("div", {
34825
+ "class": "v-video__overlay-fill"
34826
+ }, [overlayPlayIcon])]
34827
+ }), props.variant === 'player' && !!slots.header && createElementVNode("div", {
34768
34828
  "key": "header",
34769
34829
  "class": "v-video__header"
34770
- }, [slots.header()]) : '', createVNode(VOverlay, mergeProps({
34771
- "key": "poster-overlay",
34772
- "modelValue": state.value !== 'loaded',
34830
+ }, [slots.header()]), createVNode(MaybeTransition, {
34773
34831
  "transition": posterTransition
34774
- }, overlayProps), {
34775
- default: () => [createVNode(VImg, {
34832
+ }, {
34833
+ default: () => [activeOverlays.poster && createElementVNode("div", {
34834
+ "class": "v-video__overlay-fill"
34835
+ }, [createVNode(VImg, {
34776
34836
  "cover": true,
34777
34837
  "src": props.image
34778
34838
  }, {
34779
34839
  default: () => [createElementVNode("div", {
34780
34840
  "class": normalizeClass(['v-video__overlay-fill', ...roundedContainerClasses.value])
34781
34841
  }, [props.variant === 'player' && overlayPlayIcon])]
34782
- })]
34783
- }), props.variant === 'player' && createVNode(VOverlay, mergeProps({
34784
- "key": "loading-overlay",
34785
- "modelValue": state.value === 'loading' || waiting.value,
34786
- "opacity": ".1"
34787
- }, overlayProps), {
34788
- default: () => [loadingIndicator]
34789
- })]), createVNode(MaybeTransition, {
34842
+ })])]
34843
+ }), activeOverlays.loading && createElementVNode("div", {
34844
+ "class": "v-video__overlay-fill"
34845
+ }, [loadingIndicator])]), createVNode(MaybeTransition, {
34790
34846
  "key": "actions",
34791
34847
  "transition": props.controlsTransition
34792
34848
  }, {
@@ -35242,7 +35298,7 @@ function createVuetify$1() {
35242
35298
  };
35243
35299
  });
35244
35300
  }
35245
- const version$1 = "3.9.5";
35301
+ const version$1 = "3.9.7";
35246
35302
  createVuetify$1.version = version$1;
35247
35303
 
35248
35304
  // Vue's inject() can only be used in setup
@@ -35540,7 +35596,7 @@ var index = /*#__PURE__*/Object.freeze({
35540
35596
 
35541
35597
  /* eslint-disable local-rules/sort-imports */
35542
35598
 
35543
- const version = "3.9.5";
35599
+ const version = "3.9.7";
35544
35600
 
35545
35601
  /* eslint-disable local-rules/sort-imports */
35546
35602