vuetify 3.5.4 → 3.5.5

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 (151) hide show
  1. package/dist/json/attributes.json +2771 -2523
  2. package/dist/json/importMap-labs.json +4 -0
  3. package/dist/json/importMap.json +94 -94
  4. package/dist/json/tags.json +236 -169
  5. package/dist/json/web-types.json +3218 -2563
  6. package/dist/vuetify-labs.css +1819 -1796
  7. package/dist/vuetify-labs.d.ts +1234 -152
  8. package/dist/vuetify-labs.esm.js +555 -72
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +555 -72
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +887 -864
  13. package/dist/vuetify.d.ts +886 -179
  14. package/dist/vuetify.esm.js +121 -71
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +121 -71
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +647 -645
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAlert/index.d.mts +9 -0
  22. package/lib/components/VAppBar/index.d.mts +18 -0
  23. package/lib/components/VAutocomplete/VAutocomplete.mjs +4 -4
  24. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  25. package/lib/components/VAutocomplete/index.d.mts +33 -6
  26. package/lib/components/VAvatar/index.d.mts +9 -0
  27. package/lib/components/VBadge/index.d.mts +9 -0
  28. package/lib/components/VBanner/index.d.mts +9 -0
  29. package/lib/components/VBottomNavigation/index.d.mts +9 -0
  30. package/lib/components/VBreadcrumbs/index.d.mts +9 -0
  31. package/lib/components/VBtn/index.d.mts +9 -0
  32. package/lib/components/VBtnGroup/index.d.mts +9 -0
  33. package/lib/components/VBtnToggle/index.d.mts +9 -0
  34. package/lib/components/VCard/index.d.mts +9 -0
  35. package/lib/components/VCarousel/index.d.mts +9 -0
  36. package/lib/components/VChip/index.d.mts +9 -0
  37. package/lib/components/VColorPicker/index.d.mts +9 -0
  38. package/lib/components/VCombobox/index.d.mts +33 -6
  39. package/lib/components/VDataIterator/index.d.mts +3 -3
  40. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  41. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  42. package/lib/components/VDataTable/index.d.mts +355 -117
  43. package/lib/components/VDataTable/types.mjs.map +1 -1
  44. package/lib/components/VDatePicker/VDatePicker.css +2 -21
  45. package/lib/components/VDatePicker/VDatePicker.mjs +14 -10
  46. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  47. package/lib/components/VDatePicker/VDatePicker.sass +3 -18
  48. package/lib/components/VDatePicker/VDatePickerHeader.css +2 -0
  49. package/lib/components/VDatePicker/VDatePickerHeader.sass +3 -0
  50. package/lib/components/VDatePicker/VDatePickerMonth.css +11 -5
  51. package/lib/components/VDatePicker/VDatePickerMonth.mjs +2 -1
  52. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  53. package/lib/components/VDatePicker/VDatePickerMonth.sass +13 -5
  54. package/lib/components/VDatePicker/VDatePickerMonths.css +2 -3
  55. package/lib/components/VDatePicker/VDatePickerMonths.mjs +6 -3
  56. package/lib/components/VDatePicker/VDatePickerMonths.mjs.map +1 -1
  57. package/lib/components/VDatePicker/VDatePickerMonths.sass +4 -3
  58. package/lib/components/VDatePicker/VDatePickerYears.css +2 -2
  59. package/lib/components/VDatePicker/VDatePickerYears.mjs +8 -1
  60. package/lib/components/VDatePicker/VDatePickerYears.mjs.map +1 -1
  61. package/lib/components/VDatePicker/VDatePickerYears.sass +4 -2
  62. package/lib/components/VDatePicker/_variables.scss +14 -34
  63. package/lib/components/VDatePicker/index.d.mts +13 -4
  64. package/lib/components/VExpansionPanel/VExpansionPanel.css +14 -0
  65. package/lib/components/VExpansionPanel/VExpansionPanel.sass +14 -0
  66. package/lib/components/VExpansionPanel/VExpansionPanels.mjs +9 -2
  67. package/lib/components/VExpansionPanel/VExpansionPanels.mjs.map +1 -1
  68. package/lib/components/VExpansionPanel/index.d.mts +27 -0
  69. package/lib/components/VField/VField.css +20 -1
  70. package/lib/components/VField/VField.sass +19 -1
  71. package/lib/components/VField/index.d.mts +9 -0
  72. package/lib/components/VFileInput/VFileInput.mjs +1 -1
  73. package/lib/components/VFileInput/VFileInput.mjs.map +1 -1
  74. package/lib/components/VFileInput/index.d.mts +9 -0
  75. package/lib/components/VFooter/index.d.mts +9 -0
  76. package/lib/components/VImg/index.d.mts +9 -0
  77. package/lib/components/VList/VListItem.css +2 -1
  78. package/lib/components/VList/VListItem.sass +1 -0
  79. package/lib/components/VList/_variables.scss +2 -1
  80. package/lib/components/VList/index.d.mts +18 -0
  81. package/lib/components/VMenu/VMenu.mjs +5 -5
  82. package/lib/components/VMenu/VMenu.mjs.map +1 -1
  83. package/lib/components/VMenu/shared.mjs.map +1 -1
  84. package/lib/components/VNavigationDrawer/index.d.mts +9 -0
  85. package/lib/components/VPagination/index.d.mts +9 -0
  86. package/lib/components/VProgressLinear/index.d.mts +9 -0
  87. package/lib/components/VRangeSlider/index.d.mts +9 -0
  88. package/lib/components/VSelect/VSelect.mjs +4 -3
  89. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  90. package/lib/components/VSelect/index.d.mts +33 -6
  91. package/lib/components/VSheet/index.d.mts +9 -0
  92. package/lib/components/VSlider/index.d.mts +9 -0
  93. package/lib/components/VSnackbar/index.d.mts +9 -0
  94. package/lib/components/VStepper/index.d.mts +9 -0
  95. package/lib/components/VSystemBar/index.d.mts +9 -0
  96. package/lib/components/VTabs/index.d.mts +33 -6
  97. package/lib/components/VTextField/index.d.mts +33 -6
  98. package/lib/components/VTextarea/index.d.mts +9 -0
  99. package/lib/components/VTimeline/index.d.mts +9 -0
  100. package/lib/components/VToolbar/index.d.mts +9 -0
  101. package/lib/components/VTooltip/VTooltip.css +1 -0
  102. package/lib/components/VTooltip/VTooltip.sass +1 -0
  103. package/lib/components/VTooltip/_variables.scss +1 -0
  104. package/lib/components/index.d.mts +857 -151
  105. package/lib/composables/form.mjs +2 -1
  106. package/lib/composables/form.mjs.map +1 -1
  107. package/lib/composables/goto.mjs +16 -18
  108. package/lib/composables/goto.mjs.map +1 -1
  109. package/lib/composables/group.mjs +2 -0
  110. package/lib/composables/group.mjs.map +1 -1
  111. package/lib/composables/icons.mjs +17 -13
  112. package/lib/composables/icons.mjs.map +1 -1
  113. package/lib/composables/rounded.mjs +5 -1
  114. package/lib/composables/rounded.mjs.map +1 -1
  115. package/lib/composables/virtual.mjs +11 -3
  116. package/lib/composables/virtual.mjs.map +1 -1
  117. package/lib/entry-bundler.mjs +1 -1
  118. package/lib/framework.mjs +1 -1
  119. package/lib/iconsets/fa-svg.mjs +2 -1
  120. package/lib/iconsets/fa-svg.mjs.map +1 -1
  121. package/lib/index.d.mts +29 -28
  122. package/lib/labs/VCalendar/VCalendar.mjs +1 -1
  123. package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
  124. package/lib/labs/VPicker/VPicker.css +2 -2
  125. package/lib/labs/VPicker/VPicker.sass +2 -2
  126. package/lib/labs/VPicker/_variables.scss +2 -4
  127. package/lib/labs/VPicker/index.d.mts +9 -0
  128. package/lib/labs/VSparkline/VBarline.mjs +138 -0
  129. package/lib/labs/VSparkline/VBarline.mjs.map +1 -0
  130. package/lib/labs/VSparkline/VSparkline.mjs +49 -0
  131. package/lib/labs/VSparkline/VSparkline.mjs.map +1 -0
  132. package/lib/labs/VSparkline/VTrendline.mjs +143 -0
  133. package/lib/labs/VSparkline/VTrendline.mjs.map +1 -0
  134. package/lib/labs/VSparkline/index.d.mts +374 -0
  135. package/lib/labs/VSparkline/index.mjs +2 -0
  136. package/lib/labs/VSparkline/index.mjs.map +1 -0
  137. package/lib/labs/VSparkline/util/line.mjs +52 -0
  138. package/lib/labs/VSparkline/util/line.mjs.map +1 -0
  139. package/lib/labs/VSparkline/util/path.mjs +60 -0
  140. package/lib/labs/VSparkline/util/path.mjs.map +1 -0
  141. package/lib/labs/components.d.mts +376 -1
  142. package/lib/labs/components.mjs +1 -0
  143. package/lib/labs/components.mjs.map +1 -1
  144. package/lib/locale/nl.mjs +1 -1
  145. package/lib/locale/nl.mjs.map +1 -1
  146. package/lib/util/helpers.mjs +10 -0
  147. package/lib/util/helpers.mjs.map +1 -1
  148. package/package.json +2 -2
  149. package/lib/components/VDatePicker/VDatePickerTitle.mjs +0 -81
  150. package/lib/components/VDatePicker/VDatePickerTitle.mjs.map +0 -1
  151. package/lib/components/VDatePicker/VDatePickerTitle.sass +0 -33
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.5.4
2
+ * Vuetify v3.5.5
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -543,6 +543,16 @@
543
543
  const timeoutId = window.setTimeout(cb, timeout);
544
544
  return () => window.clearTimeout(timeoutId);
545
545
  }
546
+ function isClickInsideElement(event, targetDiv) {
547
+ const mouseX = event.clientX;
548
+ const mouseY = event.clientY;
549
+ const divRect = targetDiv.getBoundingClientRect();
550
+ const divLeft = divRect.left;
551
+ const divTop = divRect.top;
552
+ const divRight = divRect.right;
553
+ const divBottom = divRect.bottom;
554
+ return mouseX >= divLeft && mouseX <= divRight && mouseY >= divTop && mouseY <= divBottom;
555
+ }
546
556
 
547
557
  // Utilities
548
558
  const block = ['top', 'bottom'];
@@ -2154,7 +2164,7 @@
2154
2164
  vue.provide(LocaleSymbol, data);
2155
2165
  return data;
2156
2166
  }
2157
- function genDefaults$2() {
2167
+ function genDefaults$3() {
2158
2168
  return {
2159
2169
  af: false,
2160
2170
  ar: true,
@@ -2201,7 +2211,7 @@
2201
2211
  };
2202
2212
  }
2203
2213
  function createRtl(i18n, options) {
2204
- const rtl = vue.ref(options?.rtl ?? genDefaults$2());
2214
+ const rtl = vue.ref(options?.rtl ?? genDefaults$3());
2205
2215
  const isRtl = vue.computed(() => rtl.value[i18n.current.value] ?? false);
2206
2216
  return {
2207
2217
  isRtl,
@@ -2234,7 +2244,7 @@
2234
2244
  const makeThemeProps = propsFactory({
2235
2245
  theme: String
2236
2246
  }, 'theme');
2237
- function genDefaults$1() {
2247
+ function genDefaults$2() {
2238
2248
  return {
2239
2249
  defaultTheme: 'light',
2240
2250
  variations: {
@@ -2321,8 +2331,8 @@
2321
2331
  };
2322
2332
  }
2323
2333
  function parseThemeOptions() {
2324
- let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : genDefaults$1();
2325
- const defaults = genDefaults$1();
2334
+ let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : genDefaults$2();
2335
+ const defaults = genDefaults$2();
2326
2336
  if (!options) return {
2327
2337
  ...defaults,
2328
2338
  isDisabled: true
@@ -3105,12 +3115,14 @@
3105
3115
  rounded: {
3106
3116
  type: [Boolean, Number, String],
3107
3117
  default: undefined
3108
- }
3118
+ },
3119
+ tile: Boolean
3109
3120
  }, 'rounded');
3110
3121
  function useRounded(props) {
3111
3122
  let name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getCurrentInstanceName();
3112
3123
  const roundedClasses = vue.computed(() => {
3113
3124
  const rounded = vue.isRef(props) ? props.value : props.rounded;
3125
+ const tile = vue.isRef(props) ? props.value : props.tile;
3114
3126
  const classes = [];
3115
3127
  if (rounded === true || rounded === '') {
3116
3128
  classes.push(`${name}--rounded`);
@@ -3118,6 +3130,8 @@
3118
3130
  for (const value of String(rounded).split(' ')) {
3119
3131
  classes.push(`rounded-${value}`);
3120
3132
  }
3133
+ } else if (tile) {
3134
+ classes.push('rounded-0');
3121
3135
  }
3122
3136
  return classes;
3123
3137
  });
@@ -4108,6 +4122,8 @@
4108
4122
  vm.emit('group:selected', {
4109
4123
  value
4110
4124
  });
4125
+ }, {
4126
+ flush: 'sync'
4111
4127
  });
4112
4128
  return {
4113
4129
  id,
@@ -4443,23 +4459,27 @@
4443
4459
  };
4444
4460
  }
4445
4461
  });
4446
- const defaultSets = {
4447
- svg: {
4448
- component: VSvgIcon
4449
- },
4450
- class: {
4451
- component: VClassIcon
4452
- }
4453
- };
4462
+ function genDefaults$1() {
4463
+ return {
4464
+ svg: {
4465
+ component: VSvgIcon
4466
+ },
4467
+ class: {
4468
+ component: VClassIcon
4469
+ }
4470
+ };
4471
+ }
4454
4472
 
4455
4473
  // Composables
4456
4474
  function createIcons(options) {
4475
+ const sets = genDefaults$1();
4476
+ const defaultSet = options?.defaultSet ?? 'mdi';
4477
+ if (defaultSet === 'mdi' && !sets.mdi) {
4478
+ sets.mdi = mdi;
4479
+ }
4457
4480
  return mergeDeep({
4458
- defaultSet: 'mdi',
4459
- sets: {
4460
- ...defaultSets,
4461
- mdi
4462
- },
4481
+ defaultSet,
4482
+ sets,
4463
4483
  aliases: {
4464
4484
  ...aliases,
4465
4485
  /* eslint-disable max-len */
@@ -6463,7 +6483,8 @@
6463
6483
  errors.value = results;
6464
6484
  model.value = invalid > 0 ? false : valid === items.value.length ? true : null;
6465
6485
  }, {
6466
- deep: true
6486
+ deep: true,
6487
+ flush: 'post'
6467
6488
  });
6468
6489
  vue.provide(FormKey, {
6469
6490
  register: _ref => {
@@ -10567,9 +10588,9 @@
10567
10588
  unregister() {
10568
10589
  --openChildren.value;
10569
10590
  },
10570
- closeParents() {
10591
+ closeParents(e) {
10571
10592
  setTimeout(() => {
10572
- if (!openChildren.value) {
10593
+ if (!openChildren.value && (e == null || e && !isClickInsideElement(e, overlay.value.contentEl))) {
10573
10594
  isActive.value = false;
10574
10595
  parent?.closeParents();
10575
10596
  }
@@ -10602,8 +10623,8 @@
10602
10623
  document.removeEventListener('focusin', onFocusIn);
10603
10624
  }
10604
10625
  });
10605
- function onClickOutside() {
10606
- parent?.closeParents();
10626
+ function onClickOutside(e) {
10627
+ parent?.closeParents(e);
10607
10628
  }
10608
10629
  function onKeydown(e) {
10609
10630
  if (props.disabled) return;
@@ -11337,9 +11358,6 @@
11337
11358
  });
11338
11359
  });
11339
11360
  });
11340
- vue.watch(viewportHeight, (val, oldVal) => {
11341
- oldVal && calculateVisibleItems();
11342
- });
11343
11361
  vue.onScopeDispose(() => {
11344
11362
  updateOffsets.clear();
11345
11363
  });
@@ -11362,6 +11380,17 @@
11362
11380
  let lastScrollTop = 0;
11363
11381
  let scrollVelocity = 0;
11364
11382
  let lastScrollTime = 0;
11383
+ vue.watch(viewportHeight, (val, oldVal) => {
11384
+ if (oldVal) {
11385
+ calculateVisibleItems();
11386
+ if (val < oldVal) {
11387
+ requestAnimationFrame(() => {
11388
+ scrollVelocity = 0;
11389
+ calculateVisibleItems();
11390
+ });
11391
+ }
11392
+ }
11393
+ });
11365
11394
  function handleScroll() {
11366
11395
  if (!containerRef.value || !markerRef.value) return;
11367
11396
  const scrollTop = containerRef.value.scrollTop;
@@ -11814,9 +11843,10 @@
11814
11843
  }
11815
11844
  }
11816
11845
  function select(item) {
11846
+ const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
11847
+ const add = index === -1;
11817
11848
  if (props.multiple) {
11818
- const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
11819
- if (index === -1) {
11849
+ if (add) {
11820
11850
  model.value = [...model.value, item];
11821
11851
  } else {
11822
11852
  const value = [...model.value];
@@ -11824,7 +11854,7 @@
11824
11854
  model.value = value;
11825
11855
  }
11826
11856
  } else {
11827
- model.value = [item];
11857
+ model.value = add ? [item] : [];
11828
11858
  menu.value = false;
11829
11859
  }
11830
11860
  }
@@ -12361,11 +12391,11 @@
12361
12391
  }
12362
12392
  const isSelecting = vue.shallowRef(false);
12363
12393
  function select(item) {
12364
- let add = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
12365
12394
  if (item.props.disabled) return;
12395
+ const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
12396
+ const add = index === -1;
12366
12397
  if (props.multiple) {
12367
- const index = model.value.findIndex(selection => props.valueComparator(selection.value, item.value));
12368
- if (index === -1) {
12398
+ if (add) {
12369
12399
  model.value = [...model.value, item];
12370
12400
  } else {
12371
12401
  const value = [...model.value];
@@ -12534,7 +12564,7 @@
12534
12564
  function onChipClose(e) {
12535
12565
  e.stopPropagation();
12536
12566
  e.preventDefault();
12537
- select(item, false);
12567
+ select(item);
12538
12568
  }
12539
12569
  const slotProps = {
12540
12570
  'onClick:close': onChipClose,
@@ -17615,7 +17645,8 @@
17615
17645
  };
17616
17646
  }
17617
17647
  async function scrollTo(_target, _options, horizontal, goTo) {
17618
- const options = mergeDeep(goTo?.options, _options);
17648
+ const property = horizontal ? 'scrollLeft' : 'scrollTop';
17649
+ const options = mergeDeep(goTo?.options ?? genDefaults(), _options);
17619
17650
  const rtl = goTo?.rtl.value;
17620
17651
  const target = (typeof _target === 'number' ? _target : getTarget(_target)) ?? 0;
17621
17652
  const container = options.container === 'parent' && target instanceof HTMLElement ? target.parentElement : getContainer(options.container);
@@ -17633,25 +17664,22 @@
17633
17664
  }
17634
17665
  }
17635
17666
  targetLocation += options.offset;
17636
- const startLocation = (horizontal ? container.scrollLeft : container.scrollTop) ?? 0;
17667
+ const startLocation = container[property] ?? 0;
17637
17668
  if (targetLocation === startLocation) return Promise.resolve(targetLocation);
17638
17669
  const startTime = performance.now();
17639
17670
  return new Promise(resolve => requestAnimationFrame(function step(currentTime) {
17640
17671
  const timeElapsed = currentTime - startTime;
17641
- const progress = Math.abs(options.duration ? Math.min(timeElapsed / options.duration, 1) : 1);
17642
- const location = Math.floor(startLocation + (targetLocation - startLocation) * ease(progress));
17643
- container[horizontal ? 'scrollLeft' : 'scrollTop'] = location;
17644
- if (progress === 1) return resolve(targetLocation);
17645
- let clientSize;
17646
- let reachEnd;
17647
- if (!horizontal) {
17648
- clientSize = container === document.body ? document.documentElement.clientHeight : container.clientHeight;
17649
- reachEnd = clientSize + container.scrollTop >= container.scrollHeight;
17650
- if (targetLocation > container.scrollTop && reachEnd) return resolve(targetLocation);
17651
- } else {
17652
- clientSize = container === document.body ? document.documentElement.clientWidth : container.clientWidth;
17653
- reachEnd = clientSize + container.scrollLeft >= container.scrollWidth;
17654
- if (targetLocation > container.scrollLeft && reachEnd) return resolve(targetLocation);
17672
+ const progress = timeElapsed / options.duration;
17673
+ const location = Math.floor(startLocation + (targetLocation - startLocation) * ease(Math.max(progress, 1)));
17674
+ container[property] = location;
17675
+
17676
+ // Allow for some jitter if target time has elapsed
17677
+ if (progress >= 1 && Math.abs(location - container[property]) < 10) {
17678
+ return resolve(targetLocation);
17679
+ } else if (progress > 2) {
17680
+ // The target might not be reachable
17681
+ consoleWarn('Scroll target is not reachable');
17682
+ return resolve(container[property]);
17655
17683
  }
17656
17684
  requestAnimationFrame(step);
17657
17685
  }));
@@ -20588,12 +20616,13 @@
20588
20616
  }, [(props.showAdjacentMonths || !item.isAdjacent) && vue.createVNode(VDefaultsProvider, {
20589
20617
  "defaults": {
20590
20618
  VBtn: {
20619
+ class: 'v-date-picker-month__day-btn',
20591
20620
  color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
20592
20621
  disabled: item.isDisabled,
20593
20622
  icon: true,
20594
20623
  ripple: false,
20595
20624
  text: item.localized,
20596
- variant: item.isDisabled ? 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
20625
+ variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
20597
20626
  onClick: () => onClick(item.date)
20598
20627
  }
20599
20628
  }
@@ -20619,6 +20648,7 @@
20619
20648
  },
20620
20649
  setup(props, _ref) {
20621
20650
  let {
20651
+ emit,
20622
20652
  slots
20623
20653
  } = _ref;
20624
20654
  const adapter = useDate();
@@ -20654,6 +20684,10 @@
20654
20684
  onClick: () => onClick(i)
20655
20685
  };
20656
20686
  function onClick(i) {
20687
+ if (model.value === i) {
20688
+ emit('update:modelValue', model.value);
20689
+ return;
20690
+ }
20657
20691
  model.value = i;
20658
20692
  }
20659
20693
  return slots.month?.({
@@ -20662,9 +20696,7 @@
20662
20696
  props: btnProps
20663
20697
  }) ?? vue.createVNode(VBtn, vue.mergeProps({
20664
20698
  "key": "month"
20665
- }, btnProps, {
20666
- "onClick": () => onClick(i)
20667
- }), null);
20699
+ }, btnProps), null);
20668
20700
  })])]));
20669
20701
  return {};
20670
20702
  }
@@ -20689,6 +20721,7 @@
20689
20721
  },
20690
20722
  setup(props, _ref) {
20691
20723
  let {
20724
+ emit,
20692
20725
  slots
20693
20726
  } = _ref;
20694
20727
  const adapter = useDate();
@@ -20739,7 +20772,13 @@
20739
20772
  rounded: true,
20740
20773
  text: year.text,
20741
20774
  variant: model.value === year.value ? 'flat' : 'text',
20742
- onClick: () => model.value = year.value
20775
+ onClick: () => {
20776
+ if (model.value === year.value) {
20777
+ emit('update:modelValue', model.value);
20778
+ return;
20779
+ }
20780
+ model.value = year.value;
20781
+ }
20743
20782
  };
20744
20783
  return slots.year?.({
20745
20784
  year,
@@ -20932,7 +20971,9 @@
20932
20971
  } else {
20933
20972
  year.value++;
20934
20973
  month.value = 0;
20974
+ onUpdateYear(year.value);
20935
20975
  }
20976
+ onUpdateMonth(month.value);
20936
20977
  }
20937
20978
  function onClickPrev() {
20938
20979
  if (month.value > 0) {
@@ -20940,7 +20981,9 @@
20940
20981
  } else {
20941
20982
  year.value--;
20942
20983
  month.value = 11;
20984
+ onUpdateYear(year.value);
20943
20985
  }
20986
+ onUpdateMonth(month.value);
20944
20987
  }
20945
20988
  function onClickDate() {
20946
20989
  viewMode.value = 'month';
@@ -20951,14 +20994,14 @@
20951
20994
  function onClickYear() {
20952
20995
  viewMode.value = viewMode.value === 'year' ? 'month' : 'year';
20953
20996
  }
20954
- vue.watch(month, () => {
20997
+ function onUpdateMonth(value) {
20955
20998
  if (viewMode.value === 'months') onClickMonth();
20956
- emit('update:month', month.value);
20957
- });
20958
- vue.watch(year, () => {
20999
+ emit('update:month', value);
21000
+ }
21001
+ function onUpdateYear(value) {
20959
21002
  if (viewMode.value === 'year') onClickYear();
20960
- emit('update:year', year.value);
20961
- });
21003
+ emit('update:year', value);
21004
+ }
20962
21005
  vue.watch(model, (val, oldVal) => {
20963
21006
  const before = adapter.date(wrapInArray(val)[0]);
20964
21007
  const after = adapter.date(wrapInArray(oldVal)[0]);
@@ -21014,14 +21057,14 @@
21014
21057
  "key": "date-picker-months"
21015
21058
  }, datePickerMonthsProps, {
21016
21059
  "modelValue": month.value,
21017
- "onUpdate:modelValue": $event => month.value = $event,
21060
+ "onUpdate:modelValue": [$event => month.value = $event, onUpdateMonth],
21018
21061
  "min": minDate.value,
21019
21062
  "max": maxDate.value
21020
21063
  }), null) : viewMode.value === 'year' ? vue.createVNode(VDatePickerYears, vue.mergeProps({
21021
21064
  "key": "date-picker-years"
21022
21065
  }, datePickerYearsProps, {
21023
21066
  "modelValue": year.value,
21024
- "onUpdate:modelValue": $event => year.value = $event,
21067
+ "onUpdate:modelValue": [$event => year.value = $event, onUpdateYear],
21025
21068
  "min": minDate.value,
21026
21069
  "max": maxDate.value
21027
21070
  }), null) : vue.createVNode(VDatePickerMonth, vue.mergeProps({
@@ -21030,9 +21073,9 @@
21030
21073
  "modelValue": model.value,
21031
21074
  "onUpdate:modelValue": $event => model.value = $event,
21032
21075
  "month": month.value,
21033
- "onUpdate:month": $event => month.value = $event,
21076
+ "onUpdate:month": [$event => month.value = $event, onUpdateMonth],
21034
21077
  "year": year.value,
21035
- "onUpdate:year": $event => year.value = $event,
21078
+ "onUpdate:year": [$event => year.value = $event, onUpdateYear],
21036
21079
  "min": minDate.value,
21037
21080
  "max": maxDate.value
21038
21081
  }), null)]
@@ -21050,7 +21093,9 @@
21050
21093
  const allowedVariants = ['default', 'accordion', 'inset', 'popout'];
21051
21094
  const makeVExpansionPanelsProps = propsFactory({
21052
21095
  color: String,
21096
+ flat: Boolean,
21053
21097
  static: Boolean,
21098
+ tile: Boolean,
21054
21099
  variant: {
21055
21100
  type: String,
21056
21101
  default: 'default',
@@ -21080,12 +21125,17 @@
21080
21125
  provideDefaults({
21081
21126
  VExpansionPanel: {
21082
21127
  color: vue.toRef(props, 'color'),
21083
- readonly: vue.toRef(props, 'readonly'),
21128
+ readonly: vue.toRef(props, 'readonly')
21129
+ },
21130
+ VExpansionPanelTitle: {
21084
21131
  static: vue.toRef(props, 'static')
21085
21132
  }
21086
21133
  });
21087
21134
  useRender(() => vue.createVNode(props.tag, {
21088
- "class": ['v-expansion-panels', themeClasses.value, variantClass.value, props.class],
21135
+ "class": ['v-expansion-panels', {
21136
+ 'v-expansion-panels--flat': props.flat,
21137
+ 'v-expansion-panels--tile': props.tile
21138
+ }, themeClasses.value, variantClass.value, props.class],
21089
21139
  "style": props.style
21090
21140
  }, slots));
21091
21141
  return {};
@@ -21369,7 +21419,7 @@
21369
21419
  if (!isFocused.value) focus();
21370
21420
  }
21371
21421
  function onClickPrepend(e) {
21372
- onControlClick(e);
21422
+ inputRef.value?.click();
21373
21423
  }
21374
21424
  function onControlMousedown(e) {
21375
21425
  emit('mousedown:control', e);
@@ -25677,7 +25727,7 @@
25677
25727
  goTo
25678
25728
  };
25679
25729
  }
25680
- const version$1 = "3.5.4";
25730
+ const version$1 = "3.5.5";
25681
25731
  createVuetify$1.version = version$1;
25682
25732
 
25683
25733
  // Vue's inject() can only be used in setup
@@ -25702,7 +25752,7 @@
25702
25752
  ...options
25703
25753
  });
25704
25754
  };
25705
- const version = "3.5.4";
25755
+ const version = "3.5.5";
25706
25756
  createVuetify.version = version;
25707
25757
 
25708
25758
  exports.components = components;