@vuetify/nightly 3.6.6-master.2024-05-21 → 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 (62) hide show
  1. package/CHANGELOG.md +2 -15
  2. package/dist/json/attributes.json +42 -2
  3. package/dist/json/importMap-labs.json +16 -16
  4. package/dist/json/importMap.json +142 -142
  5. package/dist/json/tags.json +11 -1
  6. package/dist/json/web-types.json +101 -4
  7. package/dist/vuetify-labs.css +2143 -2138
  8. package/dist/vuetify-labs.d.ts +93 -12
  9. package/dist/vuetify-labs.esm.js +52 -29
  10. package/dist/vuetify-labs.esm.js.map +1 -1
  11. package/dist/vuetify-labs.js +52 -29
  12. package/dist/vuetify-labs.min.css +2 -2
  13. package/dist/vuetify.css +873 -868
  14. package/dist/vuetify.d.ts +132 -51
  15. package/dist/vuetify.esm.js +50 -27
  16. package/dist/vuetify.esm.js.map +1 -1
  17. package/dist/vuetify.js +50 -27
  18. package/dist/vuetify.js.map +1 -1
  19. package/dist/vuetify.min.css +2 -2
  20. package/dist/vuetify.min.js +103 -102
  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/VList/VListChildren.mjs +2 -1
  47. package/lib/components/VList/VListChildren.mjs.map +1 -1
  48. package/lib/components/index.d.mts +87 -6
  49. package/lib/composables/defaults.mjs +1 -1
  50. package/lib/composables/defaults.mjs.map +1 -1
  51. package/lib/composables/dimensions.mjs +16 -8
  52. package/lib/composables/dimensions.mjs.map +1 -1
  53. package/lib/entry-bundler.mjs +1 -1
  54. package/lib/framework.mjs +1 -1
  55. package/lib/index.d.mts +45 -45
  56. package/lib/labs/VCalendar/VCalendar.mjs +2 -2
  57. package/lib/labs/VCalendar/VCalendar.mjs.map +1 -1
  58. package/lib/labs/VDateInput/index.d.mts +6 -6
  59. package/lib/labs/components.d.mts +6 -6
  60. package/lib/locale/fa.mjs +10 -10
  61. package/lib/locale/fa.mjs.map +1 -1
  62. package/package.json +1 -1
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.6.6-master.2024-05-21
2
+ * Vuetify v3.6.7-master.2024-05-22
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -1317,7 +1317,7 @@
1317
1317
  if (prop === 'class' || prop === 'style') {
1318
1318
  return [componentDefaults.value?.[prop], propValue].filter(v => v != null);
1319
1319
  } else if (typeof prop === 'string' && !propIsDefined(vm.vnode, prop)) {
1320
- return componentDefaults.value?.[prop] ?? defaults.value?.global?.[prop] ?? propValue;
1320
+ return componentDefaults.value?.[prop] !== undefined ? componentDefaults.value?.[prop] : defaults.value?.global?.[prop] !== undefined ? defaults.value?.global?.[prop] : propValue;
1321
1321
  }
1322
1322
  return propValue;
1323
1323
  }
@@ -3438,14 +3438,22 @@
3438
3438
  width: [Number, String]
3439
3439
  }, 'dimension');
3440
3440
  function useDimension(props) {
3441
- const dimensionStyles = vue.computed(() => ({
3442
- height: convertToUnit(props.height),
3443
- maxHeight: convertToUnit(props.maxHeight),
3444
- maxWidth: convertToUnit(props.maxWidth),
3445
- minHeight: convertToUnit(props.minHeight),
3446
- minWidth: convertToUnit(props.minWidth),
3447
- width: convertToUnit(props.width)
3448
- }));
3441
+ const dimensionStyles = vue.computed(() => {
3442
+ const styles = {};
3443
+ const height = convertToUnit(props.height);
3444
+ const maxHeight = convertToUnit(props.maxHeight);
3445
+ const maxWidth = convertToUnit(props.maxWidth);
3446
+ const minHeight = convertToUnit(props.minHeight);
3447
+ const minWidth = convertToUnit(props.minWidth);
3448
+ const width = convertToUnit(props.width);
3449
+ if (height != null) styles.height = height;
3450
+ if (maxHeight != null) styles.maxHeight = maxHeight;
3451
+ if (maxWidth != null) styles.maxWidth = maxWidth;
3452
+ if (minHeight != null) styles.minHeight = minHeight;
3453
+ if (minWidth != null) styles.minWidth = minWidth;
3454
+ if (width != null) styles.width = width;
3455
+ return styles;
3456
+ });
3449
3457
  return {
3450
3458
  dimensionStyles
3451
3459
  };
@@ -9440,7 +9448,8 @@
9440
9448
  }) : vue.createVNode(VListItem, listItemProps, slotsWithItem);
9441
9449
  },
9442
9450
  default: () => vue.createVNode(VListChildren, {
9443
- "items": children
9451
+ "items": children,
9452
+ "returnObject": props.returnObject
9444
9453
  }, slots)
9445
9454
  }) : slots.item ? slots.item({
9446
9455
  props: itemProps
@@ -13123,7 +13132,7 @@
13123
13132
  if (['Escape'].includes(e.key)) {
13124
13133
  menu.value = false;
13125
13134
  }
13126
- if (highlightFirst.value && ['Enter', 'Tab'].includes(e.key)) {
13135
+ if (highlightFirst.value && e.key === 'Enter') {
13127
13136
  select(displayItems.value[0]);
13128
13137
  }
13129
13138
  if (e.key === 'ArrowDown' && highlightFirst.value) {
@@ -13430,7 +13439,8 @@
13430
13439
  "onMousedown": onMousedownMenuIcon,
13431
13440
  "onClick": noop,
13432
13441
  "aria-label": t(label.value),
13433
- "title": t(label.value)
13442
+ "title": t(label.value),
13443
+ "tabindex": "-1"
13434
13444
  }, null) : undefined]);
13435
13445
  }
13436
13446
  });
@@ -16989,8 +16999,8 @@
16989
16999
  if (['Escape'].includes(e.key)) {
16990
17000
  menu.value = false;
16991
17001
  }
16992
- if (['Enter', 'Escape', 'Tab'].includes(e.key)) {
16993
- if (highlightFirst.value && ['Enter', 'Tab'].includes(e.key)) {
17002
+ if (['Enter', 'Escape'].includes(e.key)) {
17003
+ if (highlightFirst.value && e.key === 'Enter') {
16994
17004
  select(filteredItems.value[0]);
16995
17005
  }
16996
17006
  isPristine.value = true;
@@ -17298,7 +17308,8 @@
17298
17308
  "onMousedown": onMousedownMenuIcon,
17299
17309
  "onClick": noop,
17300
17310
  "aria-label": t(label.value),
17301
- "title": t(label.value)
17311
+ "title": t(label.value),
17312
+ "tabindex": "-1"
17302
17313
  }, null) : undefined]);
17303
17314
  }
17304
17315
  });
@@ -18810,7 +18821,7 @@
18810
18821
  function useSortedItems(props, items, sortBy, options) {
18811
18822
  const locale = useLocale();
18812
18823
  const sortedItems = vue.computed(() => {
18813
- if (!sortBy.value.length) return items.value;
18824
+ if (!sortBy.value.length || props.disableSort) return items.value;
18814
18825
  return sortItems(items.value, sortBy.value, locale.current.value, {
18815
18826
  transform: options?.transform,
18816
18827
  sortFunctions: {
@@ -19870,6 +19881,7 @@
19870
19881
  const makeVDataTableHeadersProps = propsFactory({
19871
19882
  color: String,
19872
19883
  sticky: Boolean,
19884
+ disableSort: Boolean,
19873
19885
  multiSort: Boolean,
19874
19886
  sortAscIcon: {
19875
19887
  type: IconValue,
@@ -19960,7 +19972,7 @@
19960
19972
  "tag": "th",
19961
19973
  "align": column.align,
19962
19974
  "class": [{
19963
- 'v-data-table__th--sortable': column.sortable,
19975
+ 'v-data-table__th--sortable': column.sortable && !props.disableSort,
19964
19976
  'v-data-table__th--sorted': isSorted(column),
19965
19977
  'v-data-table__th--fixed': column.fixed
19966
19978
  }, ...headerCellClasses.value],
@@ -20000,7 +20012,7 @@
20000
20012
  }
20001
20013
  return vue.createVNode("div", {
20002
20014
  "class": "v-data-table-header__content"
20003
- }, [vue.createVNode("span", null, [column.title]), column.sortable && vue.createVNode(VIcon, {
20015
+ }, [vue.createVNode("span", null, [column.title]), column.sortable && !props.disableSort && vue.createVNode(VIcon, {
20004
20016
  "key": "icon",
20005
20017
  "class": "v-data-table-header__sort-icon",
20006
20018
  "icon": getSortIcon(column)
@@ -20015,7 +20027,7 @@
20015
20027
  const VDataTableMobileHeaderCell = () => {
20016
20028
  const headerProps = vue.mergeProps(props.headerProps ?? {} ?? {});
20017
20029
  const displayItems = vue.computed(() => {
20018
- return columns.value.filter(column => column?.sortable);
20030
+ return columns.value.filter(column => column?.sortable && !props.disableSort);
20019
20031
  });
20020
20032
  const appendIcon = vue.computed(() => {
20021
20033
  const showSelectColumn = columns.value.find(column => column.key === 'data-table-select');
@@ -20511,6 +20523,7 @@
20511
20523
 
20512
20524
  const makeDataTableProps = propsFactory({
20513
20525
  ...makeVDataTableRowsProps(),
20526
+ hideDefaultBody: Boolean,
20514
20527
  hideDefaultFooter: Boolean,
20515
20528
  hideDefaultHeader: Boolean,
20516
20529
  width: [String, Number],
@@ -20697,7 +20710,7 @@
20697
20710
  top: () => slots.top?.(slotProps.value),
20698
20711
  default: () => slots.default ? slots.default(slotProps.value) : vue.createVNode(vue.Fragment, null, [slots.colgroup?.(slotProps.value), !props.hideDefaultHeader && vue.createVNode("thead", {
20699
20712
  "key": "thead"
20700
- }, [vue.createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), vue.createVNode("tbody", null, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
20713
+ }, [vue.createVNode(VDataTableHeaders, dataTableHeadersProps, slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && vue.createVNode("tbody", null, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
20701
20714
  "items": paginatedItems.value
20702
20715
  }), slots), slots['body.append']?.(slotProps.value)]), slots.tbody?.(slotProps.value), slots.tfoot?.(slotProps.value)]),
20703
20716
  bottom: () => slots.bottom ? slots.bottom(slotProps.value) : !props.hideDefaultFooter && vue.createVNode(vue.Fragment, null, [vue.createVNode(VDivider, null, null), vue.createVNode(VDataTableFooter, dataTableFooterProps, {
@@ -20872,7 +20885,7 @@
20872
20885
  "key": "thead"
20873
20886
  }, [vue.createVNode(VDataTableHeaders, vue.mergeProps(dataTableHeadersProps, {
20874
20887
  "sticky": props.fixedHeader
20875
- }), slots)]), vue.createVNode("tbody", null, [vue.createVNode("tr", {
20888
+ }), slots)]), !props.hideDefaultBody && vue.createVNode("tbody", null, [vue.createVNode("tr", {
20876
20889
  "ref": markerRef,
20877
20890
  "style": {
20878
20891
  height: convertToUnit(paddingTop.value),
@@ -21081,7 +21094,7 @@
21081
21094
  "role": "rowgroup"
21082
21095
  }, [vue.createVNode(VDataTableHeaders, vue.mergeProps(dataTableHeadersProps, {
21083
21096
  "sticky": props.fixedHeader
21084
- }), slots)]), slots.thead?.(slotProps.value), vue.createVNode("tbody", {
21097
+ }), slots)]), slots.thead?.(slotProps.value), !props.hideDefaultBody && vue.createVNode("tbody", {
21085
21098
  "class": "v-data-table__tbody",
21086
21099
  "role": "rowgroup"
21087
21100
  }, [slots['body.prepend']?.(slotProps.value), slots.body ? slots.body(slotProps.value) : vue.createVNode(VDataTableRows, vue.mergeProps(attrs, dataTableRowsProps, {
@@ -21856,7 +21869,10 @@
21856
21869
  const makeVDatePickerMonthsProps = propsFactory({
21857
21870
  color: String,
21858
21871
  height: [String, Number],
21859
- modelValue: Number
21872
+ min: null,
21873
+ max: null,
21874
+ modelValue: Number,
21875
+ year: Number
21860
21876
  }, 'VDatePickerMonths');
21861
21877
  const VDatePickerMonths = genericComponent()({
21862
21878
  name: 'VDatePickerMonths',
@@ -21873,10 +21889,15 @@
21873
21889
  const model = useProxiedModel(props, 'modelValue');
21874
21890
  const months = vue.computed(() => {
21875
21891
  let date = adapter.startOfYear(adapter.date());
21892
+ if (props.year) {
21893
+ date = adapter.setYear(date, props.year);
21894
+ }
21876
21895
  return createRange(12).map(i => {
21877
21896
  const text = adapter.format(date, 'monthShort');
21897
+ const isDisabled = !!(props.min && adapter.isAfter(adapter.startOfMonth(adapter.date(props.min)), date) || props.max && adapter.isAfter(date, adapter.startOfMonth(adapter.date(props.max))));
21878
21898
  date = adapter.getNextMonth(date);
21879
21899
  return {
21900
+ isDisabled,
21880
21901
  text,
21881
21902
  value: i
21882
21903
  };
@@ -21896,6 +21917,7 @@
21896
21917
  const btnProps = {
21897
21918
  active: model.value === i,
21898
21919
  color: model.value === i ? props.color : undefined,
21920
+ disabled: month.isDisabled,
21899
21921
  rounded: true,
21900
21922
  text: month.text,
21901
21923
  variant: model.value === month.value ? 'flat' : 'text',
@@ -22296,7 +22318,8 @@
22296
22318
  "modelValue": month.value,
22297
22319
  "onUpdate:modelValue": [$event => month.value = $event, onUpdateMonth],
22298
22320
  "min": minDate.value,
22299
- "max": maxDate.value
22321
+ "max": maxDate.value,
22322
+ "year": year.value
22300
22323
  }), null) : viewMode.value === 'year' ? vue.createVNode(VDatePickerYears, vue.mergeProps({
22301
22324
  "key": "date-picker-years"
22302
22325
  }, datePickerYearsProps, {
@@ -28014,7 +28037,7 @@
28014
28037
  goTo
28015
28038
  };
28016
28039
  }
28017
- const version$1 = "3.6.6-master.2024-05-21";
28040
+ const version$1 = "3.6.7-master.2024-05-22";
28018
28041
  createVuetify$1.version = version$1;
28019
28042
 
28020
28043
  // Vue's inject() can only be used in setup
@@ -28039,7 +28062,7 @@
28039
28062
  ...options
28040
28063
  });
28041
28064
  };
28042
- const version = "3.6.6-master.2024-05-21";
28065
+ const version = "3.6.7-master.2024-05-22";
28043
28066
  createVuetify.version = version;
28044
28067
 
28045
28068
  exports.blueprints = index;