@vuetify/nightly 3.6.6-master.2024-05-17 → 3.6.7-master.2024-05-22

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/CHANGELOG.md +2 -13
  2. package/dist/json/attributes.json +42 -2
  3. package/dist/json/importMap-labs.json +8 -8
  4. package/dist/json/importMap.json +148 -148
  5. package/dist/json/tags.json +11 -1
  6. package/dist/json/web-types.json +107 -10
  7. package/dist/vuetify-labs.css +2242 -2236
  8. package/dist/vuetify-labs.d.ts +93 -12
  9. package/dist/vuetify-labs.esm.js +54 -29
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +54 -29
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +669 -663
  14. package/dist/vuetify.d.ts +133 -52
  15. package/dist/vuetify.esm.js +52 -27
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +52 -27
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +103 -101
  21. package/dist/vuetify.min.js.map +1 -1
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs +3 -2
  23. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  24. package/lib/components/VCombobox/VCombobox.mjs +4 -3
  25. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  26. package/lib/components/VDataTable/VDataTable.css +4 -0
  27. package/lib/components/VDataTable/VDataTable.mjs +2 -1
  28. package/lib/components/VDataTable/VDataTable.mjs.map +1 -1
  29. package/lib/components/VDataTable/VDataTable.sass +4 -0
  30. package/lib/components/VDataTable/VDataTableHeaders.mjs +4 -3
  31. package/lib/components/VDataTable/VDataTableHeaders.mjs.map +1 -1
  32. package/lib/components/VDataTable/VDataTableServer.mjs +1 -1
  33. package/lib/components/VDataTable/VDataTableServer.mjs.map +1 -1
  34. package/lib/components/VDataTable/VDataTableVirtual.mjs +1 -1
  35. package/lib/components/VDataTable/VDataTableVirtual.mjs.map +1 -1
  36. package/lib/components/VDataTable/composables/sort.mjs +1 -1
  37. package/lib/components/VDataTable/composables/sort.mjs.map +1 -1
  38. package/lib/components/VDataTable/index.d.mts +63 -0
  39. package/lib/components/VDatePicker/VDatePicker.mjs +2 -1
  40. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  41. package/lib/components/VDatePicker/VDatePickerMonths.mjs +10 -1
  42. package/lib/components/VDatePicker/VDatePickerMonths.mjs.map +1 -1
  43. package/lib/components/VDatePicker/index.d.mts +24 -6
  44. package/lib/components/VDivider/VDivider.css +1 -1
  45. package/lib/components/VDivider/VDivider.sass +1 -1
  46. package/lib/components/VField/VField.css +1 -0
  47. package/lib/components/VField/VField.sass +2 -0
  48. package/lib/components/VList/VListChildren.mjs +2 -1
  49. package/lib/components/VList/VListChildren.mjs.map +1 -1
  50. package/lib/components/index.d.mts +87 -6
  51. package/lib/composables/defaults.mjs +1 -1
  52. package/lib/composables/defaults.mjs.map +1 -1
  53. package/lib/composables/dimensions.mjs +16 -8
  54. package/lib/composables/dimensions.mjs.map +1 -1
  55. package/lib/entry-bundler.mjs +1 -1
  56. package/lib/framework.mjs +1 -1
  57. package/lib/index.d.mts +46 -46
  58. package/lib/labs/VCalendar/VCalendar.mjs +2 -2
  59. package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
  60. package/lib/labs/VDateInput/index.d.mts +6 -6
  61. package/lib/labs/components.d.mts +6 -6
  62. package/lib/locale/fa.mjs +10 -10
  63. package/lib/locale/fa.mjs.map +1 -1
  64. package/lib/util/helpers.mjs +2 -0
  65. package/lib/util/helpers.mjs.map +1 -1
  66. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.6.6-master.2024-05-17
2
+ * Vuetify v3.6.7-master.2024-05-22
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -391,6 +391,8 @@ function findChildrenWithProvide(key, vnode) {
391
391
  if (!vnode || typeof vnode !== 'object') return [];
392
392
  if (Array.isArray(vnode)) {
393
393
  return vnode.map(child => findChildrenWithProvide(key, child)).flat(1);
394
+ } else if (vnode.suspense) {
395
+ return findChildrenWithProvide(key, vnode.ssContent);
394
396
  } else if (Array.isArray(vnode.children)) {
395
397
  return vnode.children.map(child => findChildrenWithProvide(key, child)).flat(1);
396
398
  } else if (vnode.component) {
@@ -1317,7 +1319,7 @@ function internalUseDefaults() {
1317
1319
  if (prop === 'class' || prop === 'style') {
1318
1320
  return [componentDefaults.value?.[prop], propValue].filter(v => v != null);
1319
1321
  } else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
1320
- return componentDefaults.value?.[prop] ?? defaults.value?.global?.[prop] ?? propValue;
1322
+ return componentDefaults.value?.[prop] !== undefined ? componentDefaults.value?.[prop] : defaults.value?.global?.[prop] !== undefined ? defaults.value?.global?.[prop] : propValue;
1321
1323
  }
1322
1324
  return propValue;
1323
1325
  }
@@ -2992,14 +2994,22 @@ const makeDimensionProps = propsFactory({
2992
2994
  width: [Number, String]
2993
2995
  }, 'dimension');
2994
2996
  function useDimension(props) {
2995
- const dimensionStyles = computed(() => ({
2996
- height: convertToUnit(props.height),
2997
- maxHeight: convertToUnit(props.maxHeight),
2998
- maxWidth: convertToUnit(props.maxWidth),
2999
- minHeight: convertToUnit(props.minHeight),
3000
- minWidth: convertToUnit(props.minWidth),
3001
- width: convertToUnit(props.width)
3002
- }));
2997
+ const dimensionStyles = computed(() => {
2998
+ const styles = {};
2999
+ const height = convertToUnit(props.height);
3000
+ const maxHeight = convertToUnit(props.maxHeight);
3001
+ const maxWidth = convertToUnit(props.maxWidth);
3002
+ const minHeight = convertToUnit(props.minHeight);
3003
+ const minWidth = convertToUnit(props.minWidth);
3004
+ const width = convertToUnit(props.width);
3005
+ if (height != null) styles.height = height;
3006
+ if (maxHeight != null) styles.maxHeight = maxHeight;
3007
+ if (maxWidth != null) styles.maxWidth = maxWidth;
3008
+ if (minHeight != null) styles.minHeight = minHeight;
3009
+ if (minWidth != null) styles.minWidth = minWidth;
3010
+ if (width != null) styles.width = width;
3011
+ return styles;
3012
+ });
3003
3013
  return {
3004
3014
  dimensionStyles
3005
3015
  };
@@ -9201,7 +9211,8 @@ const VListChildren = genericComponent()({
9201
9211
  }) : createVNode(VListItem, listItemProps, slotsWithItem);
9202
9212
  },
9203
9213
  default: () => createVNode(VListChildren, {
9204
- "items": children
9214
+ "items": children,
9215
+ "returnObject": props.returnObject
9205
9216
  }, slots)
9206
9217
  }) : slots.item ? slots.item({
9207
9218
  props: itemProps
@@ -12884,7 +12895,7 @@ const VAutocomplete = genericComponent()({
12884
12895
  if (['Escape'].includes(e.key)) {
12885
12896
  menu.value = false;
12886
12897
  }
12887
- if (highlightFirst.value && ['Enter', 'Tab'].includes(e.key)) {
12898
+ if (highlightFirst.value && e.key === 'Enter') {
12888
12899
  select(displayItems.value[0]);
12889
12900
  }
12890
12901
  if (e.key === 'ArrowDown' && highlightFirst.value) {
@@ -13191,7 +13202,8 @@ const VAutocomplete = genericComponent()({
13191
13202
  "onMousedown": onMousedownMenuIcon,
13192
13203
  "onClick": noop,
13193
13204
  "aria-label": t(label.value),
13194
- "title": t(label.value)
13205
+ "title": t(label.value),
13206
+ "tabindex": "-1"
13195
13207
  }, null) : undefined]);
13196
13208
  }
13197
13209
  });
@@ -16750,8 +16762,8 @@ const VCombobox = genericComponent()({
16750
16762
  if (['Escape'].includes(e.key)) {
16751
16763
  menu.value = false;
16752
16764
  }
16753
- if (['Enter', 'Escape', 'Tab'].includes(e.key)) {
16754
- if (highlightFirst.value && ['Enter', 'Tab'].includes(e.key)) {
16765
+ if (['Enter', 'Escape'].includes(e.key)) {
16766
+ if (highlightFirst.value && e.key === 'Enter') {
16755
16767
  select(filteredItems.value[0]);
16756
16768
  }
16757
16769
  isPristine.value = true;
@@ -17059,7 +17071,8 @@ const VCombobox = genericComponent()({
17059
17071
  "onMousedown": onMousedownMenuIcon,
17060
17072
  "onClick": noop,
17061
17073
  "aria-label": t(label.value),
17062
- "title": t(label.value)
17074
+ "title": t(label.value),
17075
+ "tabindex": "-1"
17063
17076
  }, null) : undefined]);
17064
17077
  }
17065
17078
  });
@@ -18571,7 +18584,7 @@ function useSort() {
18571
18584
  function useSortedItems(props, items, sortBy, options) {
18572
18585
  const locale = useLocale();
18573
18586
  const sortedItems = computed(() => {
18574
- if (!sortBy.value.length) return items.value;
18587
+ if (!sortBy.value.length || props.disableSort) return items.value;
18575
18588
  return sortItems(items.value, sortBy.value, locale.current.value, {
18576
18589
  transform: options?.transform,
18577
18590
  sortFunctions: {
@@ -19631,6 +19644,7 @@ function useHeaders() {
19631
19644
  const makeVDataTableHeadersProps = propsFactory({
19632
19645
  color: String,
19633
19646
  sticky: Boolean,
19647
+ disableSort: Boolean,
19634
19648
  multiSort: Boolean,
19635
19649
  sortAscIcon: {
19636
19650
  type: IconValue,
@@ -19721,7 +19735,7 @@ const VDataTableHeaders = genericComponent()({
19721
19735
  "tag": "th",
19722
19736
  "align": column.align,
19723
19737
  "class": [{
19724
- 'v-data-table__th--sortable': column.sortable,
19738
+ 'v-data-table__th--sortable': column.sortable && !props.disableSort,
19725
19739
  'v-data-table__th--sorted': isSorted(column),
19726
19740
  'v-data-table__th--fixed': column.fixed
19727
19741
  }, ...headerCellClasses.value],
@@ -19761,7 +19775,7 @@ const VDataTableHeaders = genericComponent()({
19761
19775
  }
19762
19776
  return createVNode("div", {
19763
19777
  "class": "v-data-table-header__content"
19764
- }, [createVNode("span", null, [column.title]), column.sortable && createVNode(VIcon, {
19778
+ }, [createVNode("span", null, [column.title]), column.sortable && !props.disableSort && createVNode(VIcon, {
19765
19779
  "key": "icon",
19766
19780
  "class": "v-data-table-header__sort-icon",
19767
19781
  "icon": getSortIcon(column)
@@ -19776,7 +19790,7 @@ const VDataTableHeaders = genericComponent()({
19776
19790
  const VDataTableMobileHeaderCell = () => {
19777
19791
  const headerProps = mergeProps(props.headerProps ?? {} ?? {});
19778
19792
  const displayItems = computed(() => {
19779
- return columns.value.filter(column => column?.sortable);
19793
+ return columns.value.filter(column => column?.sortable && !props.disableSort);
19780
19794
  });
19781
19795
  const appendIcon = computed(() => {
19782
19796
  const showSelectColumn = columns.value.find(column => column.key === 'data-table-select');
@@ -20272,6 +20286,7 @@ function useDataTableItems(props, columns) {
20272
20286
 
20273
20287
  const makeDataTableProps = propsFactory({
20274
20288
  ...makeVDataTableRowsProps(),
20289
+ hideDefaultBody: Boolean,
20275
20290
  hideDefaultFooter: Boolean,
20276
20291
  hideDefaultHeader: Boolean,
20277
20292
  width: [String, Number],
@@ -20458,7 +20473,7 @@ const VDataTable = genericComponent()({
20458
20473
  top: () => slots.top?.(slotProps.value),
20459
20474
  default: () => slots.default ? slots.default(slotProps.value) : createVNode(Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && createVNode("thead", {
20460
20475
  "key": "thead"
20461
- }, [createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), createVNode("tbody", null, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : createVNode(VDataTableRows, mergeProps(attrs, dataTableRowsProps, {
20476
+ }, [createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && createVNode("tbody", null, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : createVNode(VDataTableRows, mergeProps(attrs, dataTableRowsProps, {
20462
20477
  "items": paginatedItems.value
20463
20478
  }), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
20464
20479
  bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && createVNode(Fragment, null, [createVNode(VDivider, null, null), createVNode(VDataTableFooter, dataTableFooterProps, {
@@ -20633,7 +20648,7 @@ const VDataTableVirtual = genericComponent()({
20633
20648
  "key": "thead"
20634
20649
  }, [createVNode(VDataTableHeaders, mergeProps(dataTableHeadersProps, {
20635
20650
  "sticky": props.fixedHeader
20636
- }), slots)]), createVNode("tbody", null, [createVNode("tr", {
20651
+ }), slots)]), !props.hideDefaultBody && createVNode("tbody", null, [createVNode("tr", {
20637
20652
  "ref": markerRef,
20638
20653
  "style": {
20639
20654
  height: convertToUnit(paddingTop.value),
@@ -20842,7 +20857,7 @@ const VDataTableServer = genericComponent()({
20842
20857
  "role": "rowgroup"
20843
20858
  }, [createVNode(VDataTableHeaders, mergeProps(dataTableHeadersProps, {
20844
20859
  "sticky": props.fixedHeader
20845
- }), slots)]), slots.thead?.(slotProps.value), createVNode("tbody", {
20860
+ }), slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && createVNode("tbody", {
20846
20861
  "class": "v-data-table__tbody",
20847
20862
  "role": "rowgroup"
20848
20863
  }, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : createVNode(VDataTableRows, mergeProps(attrs, dataTableRowsProps, {
@@ -21617,7 +21632,10 @@ const VDatePickerMonth = genericComponent()({
21617
21632
  const makeVDatePickerMonthsProps = propsFactory({
21618
21633
  color: String,
21619
21634
  height: [String, Number],
21620
- modelValue: Number
21635
+ min: null,
21636
+ max: null,
21637
+ modelValue: Number,
21638
+ year: Number
21621
21639
  }, 'VDatePickerMonths');
21622
21640
  const VDatePickerMonths = genericComponent()({
21623
21641
  name: 'VDatePickerMonths',
@@ -21634,10 +21652,15 @@ const VDatePickerMonths = genericComponent()({
21634
21652
  const model = useProxiedModel(props, 'modelValue');
21635
21653
  const months = computed(() => {
21636
21654
  let date = adapter.startOfYear(adapter.date());
21655
+ if (props.year) {
21656
+ date = adapter.setYear(date, props.year);
21657
+ }
21637
21658
  return createRange(12).map(i => {
21638
21659
  const text = adapter.format(date, 'monthShort');
21660
+ const isDisabled = !!(props.min && adapter.isAfter(adapter.startOfMonth(adapter.date(props.min)), date) || props.max && adapter.isAfter(date, adapter.startOfMonth(adapter.date(props.max))));
21639
21661
  date = adapter.getNextMonth(date);
21640
21662
  return {
21663
+ isDisabled,
21641
21664
  text,
21642
21665
  value: i
21643
21666
  };
@@ -21657,6 +21680,7 @@ const VDatePickerMonths = genericComponent()({
21657
21680
  const btnProps = {
21658
21681
  active: model.value === i,
21659
21682
  color: model.value === i ? props.color : undefined,
21683
+ disabled: month.isDisabled,
21660
21684
  rounded: true,
21661
21685
  text: month.text,
21662
21686
  variant: model.value === month.value ? 'flat' : 'text',
@@ -22057,7 +22081,8 @@ const VDatePicker = genericComponent()({
22057
22081
  "modelValue": month.value,
22058
22082
  "onUpdate:modelValue": [$event => month.value = $event, onUpdateMonth],
22059
22083
  "min": minDate.value,
22060
- "max": maxDate.value
22084
+ "max": maxDate.value,
22085
+ "year": year.value
22061
22086
  }), null) : viewMode.value === 'year' ? createVNode(VDatePickerYears, mergeProps({
22062
22087
  "key": "date-picker-years"
22063
22088
  }, datePickerYearsProps, {
@@ -27721,7 +27746,7 @@ const VCalendar = genericComponent()({
27721
27746
  }
27722
27747
  }
27723
27748
  function onClickToday() {
27724
- model.value = [new Date()];
27749
+ model.value = [adapter.date()];
27725
27750
  }
27726
27751
  const title = computed(() => {
27727
27752
  return adapter.format(displayValue.value, 'monthAndYear');
@@ -27760,7 +27785,7 @@ const VCalendar = genericComponent()({
27760
27785
  }, [chunkArray(daysInMonth.value, props.weekdays.length).map((week, wi) => [!props.hideWeekNumber ? createVNode("div", {
27761
27786
  "class": "v-calendar-month__weeknumber"
27762
27787
  }, [weekNumbers.value[wi]]) : '', week.map(day => createVNode(VCalendarMonthDay, {
27763
- "color": adapter.isSameDay(new Date(), day.date) ? 'primary' : undefined,
27788
+ "color": adapter.isSameDay(adapter.date(), day.date) ? 'primary' : undefined,
27764
27789
  "day": day,
27765
27790
  "title": day ? adapter.format(day.date, 'dayOfMonth') : 'NaN',
27766
27791
  "events": props.events?.filter(e => adapter.isSameDay(day.date, e.start) || adapter.isSameDay(day.date, e.end))
@@ -30098,7 +30123,7 @@ function createVuetify$1() {
30098
30123
  goTo
30099
30124
  };
30100
30125
  }
30101
- const version$1 = "3.6.6-master.2024-05-17";
30126
+ const version$1 = "3.6.7-master.2024-05-22";
30102
30127
  createVuetify$1.version = version$1;
30103
30128
 
30104
30129
  // Vue's inject() can only be used in setup
@@ -30351,7 +30376,7 @@ var index = /*#__PURE__*/Object.freeze({
30351
30376
 
30352
30377
  /* eslint-disable local-rules/sort-imports */
30353
30378
 
30354
- const version = "3.6.6-master.2024-05-17";
30379
+ const version = "3.6.7-master.2024-05-22";
30355
30380
 
30356
30381
  /* eslint-disable local-rules/sort-imports */
30357
30382