vuetify 3.7.17 → 3.7.18

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.
@@ -3,12 +3,13 @@ import { createTextVNode as _createTextVNode, createVNode as _createVNode } from
3
3
  import "./VDatePickerMonth.css";
4
4
 
5
5
  // Components
6
- import { VBtn } from "../VBtn/index.mjs"; // Composables
6
+ import { VBtn } from "../VBtn/index.mjs";
7
+ import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs"; // Composables
7
8
  import { makeCalendarProps, useCalendar } from "../../composables/calendar.mjs";
8
9
  import { useDate } from "../../composables/date/date.mjs";
9
10
  import { MaybeTransition } from "../../composables/transition.mjs"; // Utilities
10
11
  import { computed, ref, shallowRef, watch } from 'vue';
11
- import { genericComponent, omit, propsFactory, useRender } from "../../util/index.mjs"; // Types
12
+ import { genericComponent, omit, propsFactory } from "../../util/index.mjs"; // Types
12
13
  export const makeVDatePickerMonthProps = propsFactory({
13
14
  color: String,
14
15
  hideWeekdays: Boolean,
@@ -119,7 +120,7 @@ export const VDatePickerMonth = genericComponent()({
119
120
  model.value = [value];
120
121
  }
121
122
  }
122
- useRender(() => _createVNode("div", {
123
+ return () => _createVNode("div", {
123
124
  "class": "v-date-picker-month"
124
125
  }, [props.showWeek && _createVNode("div", {
125
126
  "key": "weeks",
@@ -141,13 +142,6 @@ export const VDatePickerMonth = genericComponent()({
141
142
  }, [weekDay])), daysInMonth.value.map((item, i) => {
142
143
  const slotProps = {
143
144
  props: {
144
- class: 'v-date-picker-month__day-btn',
145
- color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
146
- disabled: item.isDisabled,
147
- icon: true,
148
- ripple: false,
149
- text: item.localized,
150
- variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
151
145
  onClick: () => onClick(item.date)
152
146
  },
153
147
  item,
@@ -165,9 +159,24 @@ export const VDatePickerMonth = genericComponent()({
165
159
  'v-date-picker-month__day--week-start': item.isWeekStart
166
160
  }],
167
161
  "data-v-date": !item.isDisabled ? item.isoDate : undefined
168
- }, [(props.showAdjacentMonths || !item.isAdjacent) && (slots.day?.(slotProps) ?? _createVNode(VBtn, slotProps.props, null))]);
162
+ }, [(props.showAdjacentMonths || !item.isAdjacent) && _createVNode(VDefaultsProvider, {
163
+ "defaults": {
164
+ VBtn: {
165
+ class: 'v-date-picker-month__day-btn',
166
+ color: (item.isSelected || item.isToday) && !item.isDisabled ? props.color : undefined,
167
+ disabled: item.isDisabled,
168
+ icon: true,
169
+ ripple: false,
170
+ text: item.localized,
171
+ variant: item.isDisabled ? item.isToday ? 'outlined' : 'text' : item.isToday && !item.isSelected ? 'outlined' : 'flat',
172
+ onClick: () => onClick(item.date)
173
+ }
174
+ }
175
+ }, {
176
+ default: () => [slots.day?.(slotProps) ?? _createVNode(VBtn, slotProps.props, null)]
177
+ })]);
169
178
  })])]
170
- })]));
179
+ })]);
171
180
  }
172
181
  });
173
182
  //# sourceMappingURL=VDatePickerMonth.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"VDatePickerMonth.mjs","names":["VBtn","makeCalendarProps","useCalendar","useDate","MaybeTransition","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","makeVDatePickerMonthProps","color","String","hideWeekdays","Boolean","multiple","Number","showWeek","transition","type","default","reverseTransition","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","daysRef","daysInMonth","model","weekNumbers","adapter","rangeStart","rangeStop","isReverse","value","length","atMax","max","includes","Infinity","val","oldVal","isBefore","onRangeClick","_value","startOfDay","undefined","isSameDay","endOfDay","diff","getDiff","datesInRange","i","nextDate","addDays","push","onMultipleClick","index","findIndex","selection","splice","onClick","_createVNode","_createTextVNode","map","week","toString","getWeekdays","firstDayOfWeek","weekDay","item","slotProps","class","isSelected","isToday","isDisabled","disabled","icon","ripple","text","localized","variant","isAdjacent","isHidden","isWeekEnd","isWeekStart","isoDate","showAdjacentMonths","day"],"sources":["../../../src/components/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VDatePickerMonthSlots = {\n day: {\n props: {\n onClick: () => void\n }\n item: any\n i: number\n }\n}\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String] as PropType<boolean | 'range' | number | (string & {})>,\n showWeek: Boolean,\n transition: {\n type: String,\n default: 'picker-transition',\n },\n reverseTransition: {\n type: String,\n default: 'picker-reverse-transition',\n },\n\n ...omit(makeCalendarProps(), ['displayValue']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent<VDatePickerMonthSlots>()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps(),\n\n emits: {\n 'update:modelValue': (date: unknown) => true,\n 'update:month': (date: number) => true,\n 'update:year': (date: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const daysRef = ref()\n\n const { daysInMonth, model, weekNumbers } = useCalendar(props)\n const adapter = useDate()\n\n const rangeStart = shallowRef()\n const rangeStop = shallowRef()\n const isReverse = shallowRef(false)\n\n const transition = computed(() => {\n return !isReverse.value ? props.transition : props.reverseTransition\n })\n\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0]\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1]\n }\n }\n\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity\n\n return model.value.length >= max\n })\n\n watch(daysInMonth, (val, oldVal) => {\n if (!oldVal) return\n\n isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date)\n })\n\n function onRangeClick (value: unknown) {\n const _value = adapter.startOfDay(value)\n\n if (model.value.length === 0) {\n rangeStart.value = undefined\n } else if (model.value.length === 1) {\n rangeStart.value = model.value[0]\n rangeStop.value = undefined\n }\n if (!rangeStart.value) {\n rangeStart.value = _value\n model.value = [rangeStart.value]\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined\n model.value = []\n return\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value)\n rangeStart.value = _value\n } else {\n rangeStop.value = adapter.endOfDay(_value)\n }\n\n const diff = adapter.getDiff(rangeStop.value, rangeStart.value, 'days')\n const datesInRange = [rangeStart.value]\n\n for (let i = 1; i < diff; i++) {\n const nextDate = adapter.addDays(rangeStart.value, i)\n datesInRange.push(nextDate)\n }\n\n datesInRange.push(rangeStop.value)\n\n model.value = datesInRange\n } else {\n rangeStart.value = value\n rangeStop.value = undefined\n model.value = [rangeStart.value]\n }\n }\n\n function onMultipleClick (value: unknown) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value))\n\n if (index === -1) {\n model.value = [...model.value, value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n }\n\n function onClick (value: unknown) {\n if (props.multiple === 'range') {\n onRangeClick(value)\n } else if (props.multiple) {\n onMultipleClick(value)\n } else {\n model.value = [value]\n }\n }\n\n useRender(() => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\">&nbsp;</div>\n )}\n { weekNumbers.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <MaybeTransition name={ transition.value }>\n <div\n ref={ daysRef }\n key={ daysInMonth.value[0].date?.toString() }\n class=\"v-date-picker-month__days\"\n >\n { !props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n class: 'v-date-picker-month__day-btn',\n color: (item.isSelected || item.isToday) && !item.isDisabled\n ? props.color\n : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isDisabled\n ? item.isToday ? 'outlined' : 'text'\n : item.isToday && !item.isSelected ? 'outlined' : 'flat',\n onClick: () => onClick(item.date),\n },\n item,\n i,\n } as const\n\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true\n }\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n },\n ]}\n data-v-date={ !item.isDisabled ? item.isoDate : undefined }\n >\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n slots.day?.(slotProps) ?? (<VBtn { ...slotProps.props } />)\n )}\n </div>\n )\n })}\n </div>\n </MaybeTransition>\n </div>\n ))\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDatePickerMonth.mjs","names":["VBtn","VDefaultsProvider","makeCalendarProps","useCalendar","useDate","MaybeTransition","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","makeVDatePickerMonthProps","color","String","hideWeekdays","Boolean","multiple","Number","showWeek","transition","type","default","reverseTransition","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","daysRef","daysInMonth","model","weekNumbers","adapter","rangeStart","rangeStop","isReverse","value","length","atMax","max","includes","Infinity","val","oldVal","isBefore","onRangeClick","_value","startOfDay","undefined","isSameDay","endOfDay","diff","getDiff","datesInRange","i","nextDate","addDays","push","onMultipleClick","index","findIndex","selection","splice","onClick","_createVNode","_createTextVNode","map","week","toString","getWeekdays","firstDayOfWeek","weekDay","item","slotProps","isSelected","isDisabled","isAdjacent","isHidden","isWeekEnd","isWeekStart","isoDate","showAdjacentMonths","class","isToday","disabled","icon","ripple","text","localized","variant","day"],"sources":["../../../src/components/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VDatePickerMonthSlots = {\n day: {\n props: {\n onClick: () => void\n }\n item: any\n i: number\n }\n}\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String] as PropType<boolean | 'range' | number | (string & {})>,\n showWeek: Boolean,\n transition: {\n type: String,\n default: 'picker-transition',\n },\n reverseTransition: {\n type: String,\n default: 'picker-reverse-transition',\n },\n\n ...omit(makeCalendarProps(), ['displayValue']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent<VDatePickerMonthSlots>()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps(),\n\n emits: {\n 'update:modelValue': (date: unknown) => true,\n 'update:month': (date: number) => true,\n 'update:year': (date: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const daysRef = ref()\n\n const { daysInMonth, model, weekNumbers } = useCalendar(props)\n const adapter = useDate()\n\n const rangeStart = shallowRef()\n const rangeStop = shallowRef()\n const isReverse = shallowRef(false)\n\n const transition = computed(() => {\n return !isReverse.value ? props.transition : props.reverseTransition\n })\n\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0]\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1]\n }\n }\n\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity\n\n return model.value.length >= max\n })\n\n watch(daysInMonth, (val, oldVal) => {\n if (!oldVal) return\n\n isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date)\n })\n\n function onRangeClick (value: unknown) {\n const _value = adapter.startOfDay(value)\n\n if (model.value.length === 0) {\n rangeStart.value = undefined\n } else if (model.value.length === 1) {\n rangeStart.value = model.value[0]\n rangeStop.value = undefined\n }\n if (!rangeStart.value) {\n rangeStart.value = _value\n model.value = [rangeStart.value]\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined\n model.value = []\n return\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value)\n rangeStart.value = _value\n } else {\n rangeStop.value = adapter.endOfDay(_value)\n }\n\n const diff = adapter.getDiff(rangeStop.value, rangeStart.value, 'days')\n const datesInRange = [rangeStart.value]\n\n for (let i = 1; i < diff; i++) {\n const nextDate = adapter.addDays(rangeStart.value, i)\n datesInRange.push(nextDate)\n }\n\n datesInRange.push(rangeStop.value)\n\n model.value = datesInRange\n } else {\n rangeStart.value = value\n rangeStop.value = undefined\n model.value = [rangeStart.value]\n }\n }\n\n function onMultipleClick (value: unknown) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value))\n\n if (index === -1) {\n model.value = [...model.value, value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n }\n\n function onClick (value: unknown) {\n if (props.multiple === 'range') {\n onRangeClick(value)\n } else if (props.multiple) {\n onMultipleClick(value)\n } else {\n model.value = [value]\n }\n }\n\n return () => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\">&nbsp;</div>\n )}\n { weekNumbers.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <MaybeTransition name={ transition.value }>\n <div\n ref={ daysRef }\n key={ daysInMonth.value[0].date?.toString() }\n class=\"v-date-picker-month__days\"\n >\n { !props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n onClick: () => onClick(item.date),\n },\n item,\n i,\n } as const\n\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true\n }\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n },\n ]}\n data-v-date={ !item.isDisabled ? item.isoDate : undefined }\n >\n\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n <VDefaultsProvider\n defaults={{\n VBtn: {\n class: 'v-date-picker-month__day-btn',\n color: (item.isSelected || item.isToday) && !item.isDisabled\n ? props.color\n : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isDisabled\n ? item.isToday ? 'outlined' : 'text'\n : item.isToday && !item.isSelected ? 'outlined' : 'flat',\n onClick: () => onClick(item.date),\n },\n }}\n >\n { slots.day?.(slotProps) ?? (\n <VBtn { ...slotProps.props } />\n )}\n </VDefaultsProvider>\n )}\n </div>\n )\n })}\n </div>\n </MaybeTransition>\n </div>\n )\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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","ignoreList":[]}
@@ -976,7 +976,7 @@ declare const VDatePickerMonth: {
976
976
  "onUpdate:modelValue"?: ((date: unknown) => any) | undefined;
977
977
  "onUpdate:month"?: ((date: number) => any) | undefined;
978
978
  "onUpdate:year"?: ((date: number) => any) | undefined;
979
- }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
979
+ }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
980
980
  'update:modelValue': (date: unknown) => true;
981
981
  'update:month': (date: number) => true;
982
982
  'update:year': (date: number) => true;
@@ -1104,7 +1104,7 @@ declare const VDatePickerMonth: {
1104
1104
  "onUpdate:modelValue"?: ((date: unknown) => any) | undefined;
1105
1105
  "onUpdate:month"?: ((date: number) => any) | undefined;
1106
1106
  "onUpdate:year"?: ((date: number) => any) | undefined;
1107
- }, {}, {}, {}, {}, {
1107
+ }, () => JSX.Element, {}, {}, {}, {
1108
1108
  transition: string;
1109
1109
  disabled: boolean;
1110
1110
  reverseTransition: string;
@@ -1167,7 +1167,7 @@ declare const VDatePickerMonth: {
1167
1167
  "onUpdate:modelValue"?: ((date: unknown) => any) | undefined;
1168
1168
  "onUpdate:month"?: ((date: number) => any) | undefined;
1169
1169
  "onUpdate:year"?: ((date: number) => any) | undefined;
1170
- }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1170
+ }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
1171
1171
  'update:modelValue': (date: unknown) => true;
1172
1172
  'update:month': (date: number) => true;
1173
1173
  'update:year': (date: number) => true;
@@ -28421,7 +28421,7 @@ declare const VDatePickerMonth: {
28421
28421
  "onUpdate:modelValue"?: ((date: unknown) => any) | undefined;
28422
28422
  "onUpdate:month"?: ((date: number) => any) | undefined;
28423
28423
  "onUpdate:year"?: ((date: number) => any) | undefined;
28424
- }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
28424
+ }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
28425
28425
  'update:modelValue': (date: unknown) => true;
28426
28426
  'update:month': (date: number) => true;
28427
28427
  'update:year': (date: number) => true;
@@ -28549,7 +28549,7 @@ declare const VDatePickerMonth: {
28549
28549
  "onUpdate:modelValue"?: ((date: unknown) => any) | undefined;
28550
28550
  "onUpdate:month"?: ((date: number) => any) | undefined;
28551
28551
  "onUpdate:year"?: ((date: number) => any) | undefined;
28552
- }, {}, {}, {}, {}, {
28552
+ }, () => JSX.Element, {}, {}, {}, {
28553
28553
  transition: string;
28554
28554
  disabled: boolean;
28555
28555
  reverseTransition: string;
@@ -28612,7 +28612,7 @@ declare const VDatePickerMonth: {
28612
28612
  "onUpdate:modelValue"?: ((date: unknown) => any) | undefined;
28613
28613
  "onUpdate:month"?: ((date: number) => any) | undefined;
28614
28614
  "onUpdate:year"?: ((date: number) => any) | undefined;
28615
- }, void, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
28615
+ }, () => JSX.Element, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
28616
28616
  'update:modelValue': (date: unknown) => true;
28617
28617
  'update:month': (date: number) => true;
28618
28618
  'update:year': (date: number) => true;
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.7.17";
19
+ export const version = "3.7.18";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.mjs";
package/lib/framework.mjs CHANGED
@@ -97,7 +97,7 @@ export function createVuetify() {
97
97
  goTo
98
98
  };
99
99
  }
100
- export const version = "3.7.17";
100
+ export const version = "3.7.18";
101
101
  createVuetify.version = version;
102
102
 
103
103
  // Vue's inject() can only be used in setup
package/lib/index.d.mts CHANGED
@@ -486,49 +486,42 @@ declare module 'vue' {
486
486
  $children?: VNodeChild
487
487
  }
488
488
  export interface GlobalComponents {
489
+ VAppBar: typeof import('vuetify/components')['VAppBar']
490
+ VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
491
+ VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
489
492
  VApp: typeof import('vuetify/components')['VApp']
490
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
491
- VBadge: typeof import('vuetify/components')['VBadge']
492
493
  VAlert: typeof import('vuetify/components')['VAlert']
493
494
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
495
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
494
496
  VAvatar: typeof import('vuetify/components')['VAvatar']
497
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
495
498
  VBanner: typeof import('vuetify/components')['VBanner']
496
499
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
497
500
  VBannerText: typeof import('vuetify/components')['VBannerText']
501
+ VBadge: typeof import('vuetify/components')['VBadge']
502
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
503
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
504
+ VBtn: typeof import('vuetify/components')['VBtn']
498
505
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
499
506
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
500
507
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
501
- VBtn: typeof import('vuetify/components')['VBtn']
502
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
503
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
504
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
505
508
  VCard: typeof import('vuetify/components')['VCard']
506
509
  VCardActions: typeof import('vuetify/components')['VCardActions']
507
510
  VCardItem: typeof import('vuetify/components')['VCardItem']
508
511
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
509
512
  VCardText: typeof import('vuetify/components')['VCardText']
510
513
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
511
- VAppBar: typeof import('vuetify/components')['VAppBar']
512
- VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
513
- VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
514
514
  VCarousel: typeof import('vuetify/components')['VCarousel']
515
515
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
516
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
516
+ VCode: typeof import('vuetify/components')['VCode']
517
517
  VChip: typeof import('vuetify/components')['VChip']
518
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
519
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
518
520
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
519
521
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
520
- VCode: typeof import('vuetify/components')['VCode']
521
522
  VCombobox: typeof import('vuetify/components')['VCombobox']
522
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
523
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
524
- VDatePicker: typeof import('vuetify/components')['VDatePicker']
525
- VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
526
- VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
527
- VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
528
- VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
529
- VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
530
- VCounter: typeof import('vuetify/components')['VCounter']
531
523
  VDivider: typeof import('vuetify/components')['VDivider']
524
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
532
525
  VDataTable: typeof import('vuetify/components')['VDataTable']
533
526
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
534
527
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -536,30 +529,34 @@ declare module 'vue' {
536
529
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
537
530
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
538
531
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
532
+ VDatePicker: typeof import('vuetify/components')['VDatePicker']
533
+ VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
534
+ VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
535
+ VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
536
+ VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
537
+ VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
538
+ VCounter: typeof import('vuetify/components')['VCounter']
539
539
  VDialog: typeof import('vuetify/components')['VDialog']
540
540
  VEmptyState: typeof import('vuetify/components')['VEmptyState']
541
- VFab: typeof import('vuetify/components')['VFab']
542
- VField: typeof import('vuetify/components')['VField']
543
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
544
- VFileInput: typeof import('vuetify/components')['VFileInput']
545
541
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
546
542
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
547
543
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
548
544
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
545
+ VFileInput: typeof import('vuetify/components')['VFileInput']
546
+ VField: typeof import('vuetify/components')['VField']
547
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
549
548
  VFooter: typeof import('vuetify/components')['VFooter']
550
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
551
549
  VIcon: typeof import('vuetify/components')['VIcon']
552
550
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
553
551
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
554
552
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
555
553
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
556
- VImg: typeof import('vuetify/components')['VImg']
557
- VKbd: typeof import('vuetify/components')['VKbd']
558
- VInput: typeof import('vuetify/components')['VInput']
559
554
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
560
555
  VItem: typeof import('vuetify/components')['VItem']
561
- VLabel: typeof import('vuetify/components')['VLabel']
562
- VMain: typeof import('vuetify/components')['VMain']
556
+ VImg: typeof import('vuetify/components')['VImg']
557
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
558
+ VFab: typeof import('vuetify/components')['VFab']
559
+ VInput: typeof import('vuetify/components')['VInput']
563
560
  VList: typeof import('vuetify/components')['VList']
564
561
  VListGroup: typeof import('vuetify/components')['VListGroup']
565
562
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -569,71 +566,74 @@ declare module 'vue' {
569
566
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
570
567
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
571
568
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
569
+ VLabel: typeof import('vuetify/components')['VLabel']
570
+ VKbd: typeof import('vuetify/components')['VKbd']
571
+ VMain: typeof import('vuetify/components')['VMain']
572
572
  VMenu: typeof import('vuetify/components')['VMenu']
573
573
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
574
- VMessages: typeof import('vuetify/components')['VMessages']
575
574
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
575
+ VMessages: typeof import('vuetify/components')['VMessages']
576
+ VOverlay: typeof import('vuetify/components')['VOverlay']
576
577
  VPagination: typeof import('vuetify/components')['VPagination']
577
578
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
578
- VOverlay: typeof import('vuetify/components')['VOverlay']
579
- VRating: typeof import('vuetify/components')['VRating']
580
579
  VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
580
+ VRating: typeof import('vuetify/components')['VRating']
581
581
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
582
- VSheet: typeof import('vuetify/components')['VSheet']
583
582
  VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
584
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
585
583
  VSelect: typeof import('vuetify/components')['VSelect']
586
- VSlider: typeof import('vuetify/components')['VSlider']
587
584
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
585
+ VSheet: typeof import('vuetify/components')['VSheet']
586
+ VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
587
+ VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
588
+ VSlider: typeof import('vuetify/components')['VSlider']
589
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
590
+ VSwitch: typeof import('vuetify/components')['VSwitch']
591
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
588
592
  VStepper: typeof import('vuetify/components')['VStepper']
589
593
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
590
594
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
591
595
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
592
596
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
593
597
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
594
- VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
595
- VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
596
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
597
- VTable: typeof import('vuetify/components')['VTable']
598
- VSwitch: typeof import('vuetify/components')['VSwitch']
599
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
598
+ VTextField: typeof import('vuetify/components')['VTextField']
600
599
  VTab: typeof import('vuetify/components')['VTab']
601
600
  VTabs: typeof import('vuetify/components')['VTabs']
602
601
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
603
602
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
604
- VTextField: typeof import('vuetify/components')['VTextField']
603
+ VTable: typeof import('vuetify/components')['VTable']
604
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
605
+ VTimeline: typeof import('vuetify/components')['VTimeline']
606
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
607
+ VTextarea: typeof import('vuetify/components')['VTextarea']
605
608
  VTooltip: typeof import('vuetify/components')['VTooltip']
606
609
  VToolbar: typeof import('vuetify/components')['VToolbar']
607
610
  VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
608
611
  VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
609
- VTextarea: typeof import('vuetify/components')['VTextarea']
610
- VTimeline: typeof import('vuetify/components')['VTimeline']
611
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
612
612
  VWindow: typeof import('vuetify/components')['VWindow']
613
613
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
614
614
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
615
615
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
616
616
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
617
- VHover: typeof import('vuetify/components')['VHover']
618
617
  VForm: typeof import('vuetify/components')['VForm']
619
618
  VContainer: typeof import('vuetify/components')['VContainer']
620
619
  VCol: typeof import('vuetify/components')['VCol']
621
620
  VRow: typeof import('vuetify/components')['VRow']
622
621
  VSpacer: typeof import('vuetify/components')['VSpacer']
622
+ VHover: typeof import('vuetify/components')['VHover']
623
623
  VLayout: typeof import('vuetify/components')['VLayout']
624
624
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
625
625
  VLazy: typeof import('vuetify/components')['VLazy']
626
626
  VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
627
627
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
628
- VParallax: typeof import('vuetify/components')['VParallax']
629
628
  VRadio: typeof import('vuetify/components')['VRadio']
629
+ VParallax: typeof import('vuetify/components')['VParallax']
630
630
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
631
631
  VResponsive: typeof import('vuetify/components')['VResponsive']
632
- VSparkline: typeof import('vuetify/components')['VSparkline']
633
632
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
633
+ VSparkline: typeof import('vuetify/components')['VSparkline']
634
634
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
635
- VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
636
635
  VValidation: typeof import('vuetify/components')['VValidation']
636
+ VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
637
637
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
638
638
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
639
639
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -650,20 +650,14 @@ declare module 'vue' {
650
650
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
651
651
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
652
652
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
653
- VCalendar: typeof import('vuetify/labs/components')['VCalendar']
654
- VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
655
- VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
656
- VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
657
- VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
658
- VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
653
+ VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
654
+ VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
655
+ VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
659
656
  VPicker: typeof import('vuetify/labs/components')['VPicker']
660
657
  VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
661
658
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
662
659
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
663
660
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
664
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
665
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
666
- VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
667
661
  VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
668
662
  VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
669
663
  VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
@@ -672,6 +666,12 @@ declare module 'vue' {
672
666
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
673
667
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
674
668
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
669
+ VCalendar: typeof import('vuetify/labs/components')['VCalendar']
670
+ VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
671
+ VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
672
+ VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
673
+ VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
674
+ VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
675
675
  VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
676
676
  }
677
677
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vuetify",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "3.7.17",
4
+ "version": "3.7.18",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"
@@ -213,5 +213,5 @@
213
213
  "attributes": "dist/json/attributes.json"
214
214
  },
215
215
  "web-types": "dist/json/web-types.json",
216
- "gitHead": "74df3acf754fb37a60c722269bee4d7449d141a7"
216
+ "gitHead": "b210f127992253f7daaae5ea3e5a504ee515b025"
217
217
  }