vuetify 3.5.7 → 3.5.8

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 (66) hide show
  1. package/dist/json/attributes.json +149 -1
  2. package/dist/json/importMap-labs.json +14 -10
  3. package/dist/json/importMap.json +120 -120
  4. package/dist/json/tags.json +42 -0
  5. package/dist/json/web-types.json +381 -2
  6. package/dist/vuetify-labs.css +1790 -1778
  7. package/dist/vuetify-labs.d.ts +579 -1
  8. package/dist/vuetify-labs.esm.js +119 -25
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +119 -25
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +938 -934
  13. package/dist/vuetify.d.ts +41 -38
  14. package/dist/vuetify.esm.js +56 -18
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +56 -18
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +115 -104
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VAutocomplete/VAutocomplete.css +1 -1
  22. package/lib/components/VAutocomplete/VAutocomplete.sass +1 -1
  23. package/lib/components/VCombobox/VCombobox.css +1 -1
  24. package/lib/components/VCombobox/VCombobox.mjs +23 -7
  25. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  26. package/lib/components/VCombobox/VCombobox.sass +1 -1
  27. package/lib/components/VDatePicker/VDatePickerMonth.mjs +1 -1
  28. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  29. package/lib/components/VSwitch/VSwitch.css +9 -5
  30. package/lib/components/VSwitch/VSwitch.mjs +2 -0
  31. package/lib/components/VSwitch/VSwitch.mjs.map +1 -1
  32. package/lib/components/VSwitch/VSwitch.sass +10 -7
  33. package/lib/components/VSwitch/_variables.scss +2 -0
  34. package/lib/composables/date/adapters/vuetify.mjs +21 -3
  35. package/lib/composables/date/adapters/vuetify.mjs.map +1 -1
  36. package/lib/composables/transition.mjs +7 -5
  37. package/lib/composables/transition.mjs.map +1 -1
  38. package/lib/entry-bundler.mjs +1 -1
  39. package/lib/framework.mjs +1 -1
  40. package/lib/index.d.mts +41 -38
  41. package/lib/labs/VCalendar/VCalendarInterval.css +1 -0
  42. package/lib/labs/VCalendar/VCalendarInterval.sass +1 -0
  43. package/lib/labs/VCalendar/VCalendarIntervalEvent.css +6 -0
  44. package/lib/labs/VCalendar/VCalendarIntervalEvent.mjs +5 -2
  45. package/lib/labs/VCalendar/VCalendarIntervalEvent.mjs.map +1 -1
  46. package/lib/labs/VCalendar/VCalendarIntervalEvent.sass +6 -0
  47. package/lib/labs/VFab/VFab.css +1 -1
  48. package/lib/labs/VFab/VFab.sass +1 -1
  49. package/lib/labs/VSparkline/VBarline.mjs +4 -3
  50. package/lib/labs/VSparkline/VBarline.mjs.map +1 -1
  51. package/lib/labs/VSparkline/VTrendline.mjs +9 -5
  52. package/lib/labs/VSparkline/VTrendline.mjs.map +1 -1
  53. package/lib/labs/VSparkline/index.d.mts +15 -0
  54. package/lib/labs/VSparkline/util/line.mjs +4 -0
  55. package/lib/labs/VSparkline/util/line.mjs.map +1 -1
  56. package/lib/labs/VSpeedDial/VSpeedDial.css +3 -0
  57. package/lib/labs/VSpeedDial/VSpeedDial.mjs +56 -0
  58. package/lib/labs/VSpeedDial/VSpeedDial.mjs.map +1 -0
  59. package/lib/labs/VSpeedDial/VSpeedDial.sass +2 -0
  60. package/lib/labs/VSpeedDial/index.d.mts +649 -0
  61. package/lib/labs/VSpeedDial/index.mjs +2 -0
  62. package/lib/labs/VSpeedDial/index.mjs.map +1 -0
  63. package/lib/labs/components.d.mts +652 -2
  64. package/lib/labs/components.mjs +1 -0
  65. package/lib/labs/components.mjs.map +1 -1
  66. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.5.7
2
+ * Vuetify v3.5.8
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -3160,17 +3160,19 @@ const MaybeTransition = (props, _ref) => {
3160
3160
  const {
3161
3161
  transition,
3162
3162
  disabled,
3163
+ group,
3163
3164
  ...rest
3164
3165
  } = props;
3165
3166
  const {
3166
- component = Transition,
3167
+ component = group ? TransitionGroup : Transition,
3167
3168
  ...customProps
3168
3169
  } = typeof transition === 'object' ? transition : {};
3169
3170
  return h(component, mergeProps(typeof transition === 'string' ? {
3170
3171
  name: disabled ? '' : transition
3171
- } : customProps, rest, {
3172
- disabled
3173
- }), slots);
3172
+ } : customProps, typeof transition === 'string' ? {} : {
3173
+ disabled,
3174
+ group
3175
+ }, rest), slots);
3174
3176
  };
3175
3177
 
3176
3178
  // Utilities
@@ -16145,7 +16147,7 @@ const VCombobox = genericComponent()({
16145
16147
  }
16146
16148
  if (e.key === 'Enter' && search.value) {
16147
16149
  select(transformItem$3(props, search.value));
16148
- if (hasSelectionSlot.value) search.value = '';
16150
+ if (hasSelectionSlot.value) _search.value = '';
16149
16151
  }
16150
16152
  if (!props.multiple) return;
16151
16153
  if (['Backspace', 'Delete'].includes(e.key)) {
@@ -16239,8 +16241,24 @@ const VCombobox = genericComponent()({
16239
16241
  return value === displayItems.value[0].value;
16240
16242
  })) {
16241
16243
  select(displayItems.value[0]);
16242
- } else if (search.value) {
16243
- select(transformItem$3(props, search.value));
16244
+ return;
16245
+ }
16246
+ if (search.value) {
16247
+ if (props.multiple) {
16248
+ select(transformItem$3(props, search.value));
16249
+ return;
16250
+ }
16251
+ if (!hasSelectionSlot.value) return;
16252
+ if (model.value.some(_ref3 => {
16253
+ let {
16254
+ title
16255
+ } = _ref3;
16256
+ return title === search.value;
16257
+ })) {
16258
+ _search.value = '';
16259
+ } else {
16260
+ select(transformItem$3(props, search.value));
16261
+ }
16244
16262
  }
16245
16263
  });
16246
16264
  watch(menu, () => {
@@ -16318,12 +16336,12 @@ const VCombobox = genericComponent()({
16318
16336
  "renderless": true,
16319
16337
  "items": displayItems.value
16320
16338
  }, {
16321
- default: _ref3 => {
16339
+ default: _ref4 => {
16322
16340
  let {
16323
16341
  item,
16324
16342
  index,
16325
16343
  itemRef
16326
- } = _ref3;
16344
+ } = _ref4;
16327
16345
  const itemProps = mergeProps(item.props, {
16328
16346
  ref: itemRef,
16329
16347
  key: index,
@@ -16337,10 +16355,10 @@ const VCombobox = genericComponent()({
16337
16355
  }) ?? createVNode(VListItem, mergeProps(itemProps, {
16338
16356
  "role": "option"
16339
16357
  }), {
16340
- prepend: _ref4 => {
16358
+ prepend: _ref5 => {
16341
16359
  let {
16342
16360
  isSelected
16343
- } = _ref4;
16361
+ } = _ref5;
16344
16362
  return createVNode(Fragment, null, [props.multiple && !props.hideSelected ? createVNode(VCheckboxBtn, {
16345
16363
  "key": item.value,
16346
16364
  "modelValue": isSelected,
@@ -17356,10 +17374,28 @@ function isSameMonth(date, comparing) {
17356
17374
  function getDiff(date, comparing, unit) {
17357
17375
  const d = new Date(date);
17358
17376
  const c = new Date(comparing);
17359
- if (unit === 'month') {
17360
- return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
17377
+ switch (unit) {
17378
+ case 'years':
17379
+ return d.getFullYear() - c.getFullYear();
17380
+ case 'quarters':
17381
+ return Math.floor((d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12) / 4);
17382
+ case 'months':
17383
+ return d.getMonth() - c.getMonth() + (d.getFullYear() - c.getFullYear()) * 12;
17384
+ case 'weeks':
17385
+ return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24 * 7));
17386
+ case 'days':
17387
+ return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
17388
+ case 'hours':
17389
+ return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60));
17390
+ case 'minutes':
17391
+ return Math.floor((d.getTime() - c.getTime()) / (1000 * 60));
17392
+ case 'seconds':
17393
+ return Math.floor((d.getTime() - c.getTime()) / 1000);
17394
+ default:
17395
+ {
17396
+ return d.getTime() - c.getTime();
17397
+ }
17361
17398
  }
17362
- return Math.floor((d.getTime() - c.getTime()) / (1000 * 60 * 60 * 24));
17363
17399
  }
17364
17400
  function setHours(date, count) {
17365
17401
  const d = new Date(date);
@@ -20554,7 +20590,7 @@ const VDatePickerMonth = genericComponent()({
20554
20590
  } else {
20555
20591
  rangeStop.value = _value;
20556
20592
  }
20557
- const diff = adapter.getDiff(rangeStop.value, rangeStart.value);
20593
+ const diff = adapter.getDiff(rangeStop.value, rangeStart.value, 'days');
20558
20594
  const datesInRange = [rangeStart.value];
20559
20595
  for (let i = 1; i < diff; i++) {
20560
20596
  const nextDate = adapter.addDays(rangeStart.value, i);
@@ -24368,6 +24404,8 @@ const VSwitch = genericComponent()({
24368
24404
  const controlProps = VSelectionControl.filterProps(props);
24369
24405
  return createVNode(VInput, mergeProps({
24370
24406
  "class": ['v-switch', {
24407
+ 'v-switch--flat': props.flat
24408
+ }, {
24371
24409
  'v-switch--inset': props.inset
24372
24410
  }, {
24373
24411
  'v-switch--indeterminate': indeterminate.value
@@ -25491,8 +25529,8 @@ const VCalendarIntervalEvent = genericComponent()({
25491
25529
  return createVNode(VSheet, {
25492
25530
  "height": calcHeight().height,
25493
25531
  "density": "comfortable",
25494
- "style": `width: 100%; margin-top: ${calcHeight().margin}`,
25495
- "class": "align-center pa-1",
25532
+ "style": `margin-top: ${calcHeight().margin}`,
25533
+ "class": "v-calendar-internal-event",
25496
25534
  "color": props.event?.color ?? undefined,
25497
25535
  "rounded": props.event?.first && props.event?.last ? true : props.event?.first ? 't' : props.event?.last ? 'b' : false
25498
25536
  }, {
@@ -26041,6 +26079,10 @@ const makeLineProps = propsFactory({
26041
26079
  default: 4
26042
26080
  },
26043
26081
  id: String,
26082
+ itemValue: {
26083
+ type: String,
26084
+ default: 'value'
26085
+ },
26044
26086
  modelValue: {
26045
26087
  type: Array,
26046
26088
  default: () => []
@@ -26088,6 +26130,7 @@ const VBarline = genericComponent()({
26088
26130
  maxY: parseInt(props.height, 10)
26089
26131
  };
26090
26132
  });
26133
+ const items = computed(() => props.modelValue.map(item => getPropertyFromItem(item, props.itemValue, item)));
26091
26134
  function genBars(values, boundary) {
26092
26135
  const {
26093
26136
  minX,
@@ -26115,7 +26158,7 @@ const VBarline = genericComponent()({
26115
26158
  }
26116
26159
  const parsedLabels = computed(() => {
26117
26160
  const labels = [];
26118
- const points = genBars(props.modelValue.map(item => typeof item === 'number' ? item : item.value), boundary.value);
26161
+ const points = genBars(items.value, boundary.value);
26119
26162
  const len = points.length;
26120
26163
  for (let i = 0; labels.length < len; i++) {
26121
26164
  const item = points[i];
@@ -26130,7 +26173,7 @@ const VBarline = genericComponent()({
26130
26173
  }
26131
26174
  return labels;
26132
26175
  });
26133
- const bars = computed(() => genBars(props.modelValue.map(item => typeof item === 'number' ? item : item.value), boundary.value));
26176
+ const bars = computed(() => genBars(items.value, boundary.value));
26134
26177
  const offsetX = computed(() => (Math.abs(bars.value[0].x - bars.value[1].x) - lineWidth.value) / 2);
26135
26178
  useRender(() => {
26136
26179
  const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
@@ -26308,9 +26351,10 @@ const VTrendline = genericComponent()({
26308
26351
  maxY: parseInt(props.height, 10) - padding
26309
26352
  };
26310
26353
  });
26354
+ const items = computed(() => props.modelValue.map(item => getPropertyFromItem(item, props.itemValue, item)));
26311
26355
  const parsedLabels = computed(() => {
26312
26356
  const labels = [];
26313
- const points = genPoints(props.modelValue.map(item => typeof item === 'number' ? item : item.value), boundary.value);
26357
+ const points = genPoints(items.value, boundary.value);
26314
26358
  const len = points.length;
26315
26359
  for (let i = 0; labels.length < len; i++) {
26316
26360
  const item = points[i];
@@ -26354,6 +26398,9 @@ const VTrendline = genericComponent()({
26354
26398
  }, {
26355
26399
  immediate: true
26356
26400
  });
26401
+ function genPath$1(fill) {
26402
+ return genPath(genPoints(items.value, boundary.value), props.smooth ? 8 : Number(props.smooth), fill, parseInt(props.height, 10));
26403
+ }
26357
26404
  useRender(() => {
26358
26405
  const gradientData = !props.gradient.slice().length ? [''] : props.gradient.slice().reverse();
26359
26406
  return createVNode("svg", {
@@ -26385,11 +26432,11 @@ const VTrendline = genericComponent()({
26385
26432
  value: item.value
26386
26433
  }) ?? item.value]))]), createVNode("path", {
26387
26434
  "ref": path,
26388
- "d": genPath(genPoints(props.modelValue.map(item => typeof item === 'number' ? item : item.value), boundary.value), props.smooth ? 8 : Number(props.smooth), props.fill, parseInt(props.height, 10)),
26435
+ "d": genPath$1(props.fill),
26389
26436
  "fill": props.fill ? `url(#${id.value})` : 'none',
26390
26437
  "stroke": props.fill ? 'none' : `url(#${id.value})`
26391
26438
  }, null), props.fill && createVNode("path", {
26392
- "d": genPath(genPoints(props.modelValue.map(item => typeof item === 'number' ? item : item.value), boundary.value), props.smooth ? 8 : Number(props.smooth), false, parseInt(props.height, 10)),
26439
+ "d": genPath$1(false),
26393
26440
  "fill": "none",
26394
26441
  "stroke": props.color ?? props.gradient?.[0]
26395
26442
  }, null)]);
@@ -26441,6 +26488,52 @@ const VSparkline = genericComponent()({
26441
26488
  }
26442
26489
  });
26443
26490
 
26491
+ const makeVSpeedDialProps = propsFactory({
26492
+ ...makeComponentProps(),
26493
+ ...makeVMenuProps({
26494
+ offset: 8,
26495
+ minWidth: 0,
26496
+ location: 'top center'
26497
+ }),
26498
+ ...makeTransitionProps({
26499
+ transition: 'fade-transition'
26500
+ })
26501
+ }, 'VSpeedDial');
26502
+ const VSpeedDial = genericComponent()({
26503
+ name: 'VSpeedDial',
26504
+ props: makeVSpeedDialProps(),
26505
+ setup(props, _ref) {
26506
+ let {
26507
+ slots
26508
+ } = _ref;
26509
+ useRender(() => {
26510
+ const menuProps = VMenu.filterProps(props);
26511
+ return createVNode(VMenu, mergeProps(menuProps, {
26512
+ "class": props.class,
26513
+ "style": props.style,
26514
+ "contentClass": "v-speed-dial__content"
26515
+ }), {
26516
+ default: () => [createVNode(VDefaultsProvider, {
26517
+ "defaults": {
26518
+ VBtn: {
26519
+ size: 'small'
26520
+ }
26521
+ }
26522
+ }, {
26523
+ default: () => [createVNode(MaybeTransition, {
26524
+ "appear": true,
26525
+ "group": true,
26526
+ "transition": props.transition
26527
+ }, {
26528
+ default: () => [slots.default?.()]
26529
+ })]
26530
+ })]
26531
+ });
26532
+ });
26533
+ return {};
26534
+ }
26535
+ });
26536
+
26444
26537
  // Types
26445
26538
 
26446
26539
  // Types
@@ -26718,6 +26811,7 @@ var components = /*#__PURE__*/Object.freeze({
26718
26811
  VSnackbar: VSnackbar,
26719
26812
  VSpacer: VSpacer,
26720
26813
  VSparkline: VSparkline,
26814
+ VSpeedDial: VSpeedDial,
26721
26815
  VStepper: VStepper,
26722
26816
  VStepperActions: VStepperActions,
26723
26817
  VStepperHeader: VStepperHeader,
@@ -26965,7 +27059,7 @@ function createVuetify$1() {
26965
27059
  goTo
26966
27060
  };
26967
27061
  }
26968
- const version$1 = "3.5.7";
27062
+ const version$1 = "3.5.8";
26969
27063
  createVuetify$1.version = version$1;
26970
27064
 
26971
27065
  // Vue's inject() can only be used in setup
@@ -26979,7 +27073,7 @@ function inject(key) {
26979
27073
 
26980
27074
  /* eslint-disable local-rules/sort-imports */
26981
27075
 
26982
- const version = "3.5.7";
27076
+ const version = "3.5.8";
26983
27077
 
26984
27078
  /* eslint-disable local-rules/sort-imports */
26985
27079