vuetify 3.7.17 → 3.7.19

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 (43) hide show
  1. package/dist/json/attributes.json +3397 -3385
  2. package/dist/json/importMap-labs.json +16 -16
  3. package/dist/json/importMap.json +168 -168
  4. package/dist/json/tags.json +3 -0
  5. package/dist/json/web-types.json +6343 -6293
  6. package/dist/vuetify-labs.css +3200 -3200
  7. package/dist/vuetify-labs.d.ts +77 -35
  8. package/dist/vuetify-labs.esm.js +116 -37
  9. package/dist/vuetify-labs.esm.js.map +1 -1
  10. package/dist/vuetify-labs.js +116 -37
  11. package/dist/vuetify-labs.min.css +2 -2
  12. package/dist/vuetify.css +2769 -2769
  13. package/dist/vuetify.d.ts +95 -92
  14. package/dist/vuetify.esm.js +43 -20
  15. package/dist/vuetify.esm.js.map +1 -1
  16. package/dist/vuetify.js +43 -20
  17. package/dist/vuetify.js.map +1 -1
  18. package/dist/vuetify.min.css +2 -2
  19. package/dist/vuetify.min.js +12 -12
  20. package/dist/vuetify.min.js.map +1 -1
  21. package/lib/components/VDataTable/VDataTableRow.mjs +18 -3
  22. package/lib/components/VDataTable/VDataTableRow.mjs.map +1 -1
  23. package/lib/components/VDataTable/index.d.mts +91 -88
  24. package/lib/components/VDatePicker/VDatePicker.mjs +1 -1
  25. package/lib/components/VDatePicker/VDatePicker.mjs.map +1 -1
  26. package/lib/components/VDatePicker/VDatePickerMonth.mjs +21 -12
  27. package/lib/components/VDatePicker/VDatePickerMonth.mjs.map +1 -1
  28. package/lib/components/VDatePicker/index.d.mts +3 -3
  29. package/lib/components/VIcon/VIcon.mjs +2 -2
  30. package/lib/components/VIcon/VIcon.mjs.map +1 -1
  31. package/lib/components/index.d.mts +38 -35
  32. package/lib/composables/calendar.mjs +1 -1
  33. package/lib/composables/calendar.mjs.map +1 -1
  34. package/lib/entry-bundler.mjs +1 -1
  35. package/lib/framework.mjs +1 -1
  36. package/lib/index.d.mts +57 -57
  37. package/lib/labs/VDateInput/VDateInput.mjs +75 -18
  38. package/lib/labs/VDateInput/VDateInput.mjs.map +1 -1
  39. package/lib/labs/VDateInput/index.d.mts +43 -0
  40. package/lib/labs/components.d.mts +43 -4
  41. package/lib/util/helpers.mjs +1 -1
  42. package/lib/util/helpers.mjs.map +1 -1
  43. package/package.json +2 -2
package/dist/vuetify.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vuetify v3.7.17
2
+ * Vuetify v3.7.19
3
3
  * Forged by John Leider
4
4
  * Released under the MIT License.
5
5
  */
@@ -162,7 +162,7 @@
162
162
  function pick(obj, paths) {
163
163
  const found = {};
164
164
  for (const key of paths) {
165
- if (Object.hasOwn(obj, key)) {
165
+ if (Object.prototype.hasOwnProperty.call(obj, key)) {
166
166
  found[key] = obj[key];
167
167
  }
168
168
  }
@@ -4907,7 +4907,7 @@
4907
4907
  const slotIcon = vue.ref();
4908
4908
  const {
4909
4909
  themeClasses
4910
- } = provideTheme(props);
4910
+ } = useTheme();
4911
4911
  const {
4912
4912
  iconData
4913
4913
  } = useIcon(vue.computed(() => slotIcon.value || props.icon));
@@ -20580,22 +20580,37 @@
20580
20580
  "width": !mobile.value ? column.width : undefined
20581
20581
  }, cellProps, columnCellProps), {
20582
20582
  default: () => {
20583
- if (slots[slotName] && !mobile.value) return slots[slotName]?.(slotProps);
20584
20583
  if (column.key === 'data-table-select') {
20585
- return slots['item.data-table-select']?.(slotProps) ?? vue.createVNode(VCheckboxBtn, {
20584
+ return slots['item.data-table-select']?.({
20585
+ ...slotProps,
20586
+ props: {
20587
+ disabled: !item.selectable,
20588
+ modelValue: isSelected([item]),
20589
+ onClick: vue.withModifiers(() => toggleSelect(item), ['stop'])
20590
+ }
20591
+ }) ?? vue.createVNode(VCheckboxBtn, {
20586
20592
  "disabled": !item.selectable,
20587
20593
  "modelValue": isSelected([item]),
20588
20594
  "onClick": vue.withModifiers(() => toggleSelect(item), ['stop'])
20589
20595
  }, null);
20590
20596
  }
20591
20597
  if (column.key === 'data-table-expand') {
20592
- return slots['item.data-table-expand']?.(slotProps) ?? vue.createVNode(VBtn, {
20598
+ return slots['item.data-table-expand']?.({
20599
+ ...slotProps,
20600
+ props: {
20601
+ icon: isExpanded(item) ? '$collapse' : '$expand',
20602
+ size: 'small',
20603
+ variant: 'text',
20604
+ onClick: vue.withModifiers(() => toggleExpand(item), ['stop'])
20605
+ }
20606
+ }) ?? vue.createVNode(VBtn, {
20593
20607
  "icon": isExpanded(item) ? '$collapse' : '$expand',
20594
20608
  "size": "small",
20595
20609
  "variant": "text",
20596
20610
  "onClick": vue.withModifiers(() => toggleExpand(item), ['stop'])
20597
20611
  }, null);
20598
20612
  }
20613
+ if (slots[slotName] && !mobile.value) return slots[slotName](slotProps);
20599
20614
  const displayValue = vue.toDisplayString(slotProps.value);
20600
20615
  return !mobile.value ? displayValue : vue.createVNode(vue.Fragment, null, [vue.createVNode("div", {
20601
20616
  "class": "v-data-table__td-title"
@@ -21924,7 +21939,7 @@
21924
21939
  }, 'calendar');
21925
21940
  function useCalendar(props) {
21926
21941
  const adapter = useDate();
21927
- const model = useProxiedModel(props, 'modelValue', [], v => wrapInArray(v));
21942
+ const model = useProxiedModel(props, 'modelValue', [], v => wrapInArray(v).map(i => adapter.date(i)));
21928
21943
  const displayValue = vue.computed(() => {
21929
21944
  if (props.displayValue) return adapter.date(props.displayValue);
21930
21945
  if (model.value.length > 0) return adapter.date(model.value[0]);
@@ -22153,7 +22168,7 @@
22153
22168
  model.value = [value];
22154
22169
  }
22155
22170
  }
22156
- useRender(() => vue.createVNode("div", {
22171
+ return () => vue.createVNode("div", {
22157
22172
  "class": "v-date-picker-month"
22158
22173
  }, [props.showWeek && vue.createVNode("div", {
22159
22174
  "key": "weeks",
@@ -22175,13 +22190,6 @@
22175
22190
  }, [weekDay])), daysInMonth.value.map((item, i) => {
22176
22191
  const slotProps = {
22177
22192
  props: {
22178
- class: 'v-date-picker-month__day-btn',
22179
- color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
22180
- disabled: item.isDisabled,
22181
- icon: true,
22182
- ripple: false,
22183
- text: item.localized,
22184
- variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
22185
22193
  onClick: () => onClick(item.date)
22186
22194
  },
22187
22195
  item,
@@ -22199,9 +22207,24 @@
22199
22207
  'v-date-picker-month__day--week-start': item.isWeekStart
22200
22208
  }],
22201
22209
  "data-v-date": !item.isDisabled ? item.isoDate : undefined
22202
- }, [(props.showAdjacentMonths || !item.isAdjacent) && (slots.day?.(slotProps) ?? vue.createVNode(VBtn, slotProps.props, null))]);
22210
+ }, [(props.showAdjacentMonths || !item.isAdjacent) && vue.createVNode(VDefaultsProvider, {
22211
+ "defaults": {
22212
+ VBtn: {
22213
+ class: 'v-date-picker-month__day-btn',
22214
+ color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
22215
+ disabled: item.isDisabled,
22216
+ icon: true,
22217
+ ripple: false,
22218
+ text: item.localized,
22219
+ variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
22220
+ onClick: () => onClick(item.date)
22221
+ }
22222
+ }
22223
+ }, {
22224
+ default: () => [slots.day?.(slotProps) ?? vue.createVNode(VBtn, slotProps.props, null)]
22225
+ })]);
22203
22226
  })])]
22204
- })]));
22227
+ })]);
22205
22228
  }
22206
22229
  });
22207
22230
 
@@ -22497,7 +22520,7 @@
22497
22520
  const {
22498
22521
  t
22499
22522
  } = useLocale();
22500
- const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v), v => props.multiple ? v : v[0]);
22523
+ const model = useProxiedModel(props, 'modelValue', undefined, v => wrapInArray(v).map(i => adapter.date(i)), v => props.multiple ? v : v[0]);
22501
22524
  const viewMode = useProxiedModel(props, 'viewMode');
22502
22525
  // const inputMode = useProxiedModel(props, 'inputMode')
22503
22526
 
@@ -28448,7 +28471,7 @@
28448
28471
  goTo
28449
28472
  };
28450
28473
  }
28451
- const version$1 = "3.7.17";
28474
+ const version$1 = "3.7.19";
28452
28475
  createVuetify$1.version = version$1;
28453
28476
 
28454
28477
  // Vue's inject() can only be used in setup
@@ -28473,7 +28496,7 @@
28473
28496
  ...options
28474
28497
  });
28475
28498
  };
28476
- const version = "3.7.17";
28499
+ const version = "3.7.19";
28477
28500
  createVuetify.version = version;
28478
28501
 
28479
28502
  exports.blueprints = index;