@vuetify/nightly 3.8.1-dev.2025-04-13 → 3.8.1-dev.2025-04-16

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.
@@ -11,6 +11,7 @@ export interface CalendarProps {
11
11
  weekdays: number[];
12
12
  year: number | string | undefined;
13
13
  weeksInMonth: 'dynamic' | 'static';
14
+ /** @deprecated */
14
15
  firstDayOfWeek: number | string | undefined;
15
16
  'onUpdate:modelValue': ((value: unknown[]) => void) | undefined;
16
17
  'onUpdate:month': ((value: number) => void) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.js","names":["getWeek","useDate","useProxiedModel","computed","propsFactory","wrapInArray","makeCalendarProps","allowedDates","Array","Function","disabled","type","Boolean","default","displayValue","modelValue","month","Number","String","max","min","showAdjacentMonths","year","weekdays","weeksInMonth","firstDayOfWeek","useCalendar","props","adapter","model","v","map","i","date","value","length","isArray","undefined","getYear","startOfYear","setYear","getMonth","startOfMonth","setMonth","weekDays","day","weeks","getWeekArray","days","flat","daysInMonth","lastDay","week","push","addDays","genDays","today","filter","includes","toJsDate","getDay","index","isoDate","toISO","isAdjacent","isSameMonth","isStart","isSameDay","isEnd","endOfMonth","isSame","formatted","format","isDisabled","isWeekStart","isWeekEnd","isToday","isHidden","isSelected","some","localized","daysInWeek","startOfWeek","weekNumbers","isAfter","d"],"sources":["../../src/composables/calendar.ts"],"sourcesContent":["// Composables\nimport { getWeek, useDate } from '@/composables/date/date'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\nexport interface CalendarProps {\n allowedDates: unknown[] | ((date: unknown) => boolean) | undefined\n disabled: boolean\n displayValue?: unknown\n modelValue: unknown[] | undefined\n max: unknown\n min: unknown\n showAdjacentMonths: boolean\n month: number | string | undefined\n weekdays: number[]\n year: number | string | undefined\n weeksInMonth: 'dynamic' | 'static'\n firstDayOfWeek: number | string | undefined\n\n 'onUpdate:modelValue': ((value: unknown[]) => void) | undefined\n 'onUpdate:month': ((value: number) => void) | undefined\n 'onUpdate:year': ((value: number) => void) | undefined\n}\n\nexport type CalendarWeekdays = 0 | 1 | 2 | 3 | 4 | 5 | 6\n\n// Composables\nexport const makeCalendarProps = propsFactory({\n allowedDates: [Array, Function] as PropType<unknown[] | ((date: unknown) => boolean)>,\n disabled: {\n type: Boolean,\n default: null,\n },\n displayValue: null as any as PropType<unknown>,\n modelValue: Array as PropType<unknown[]>,\n month: [Number, String],\n max: null as any as PropType<unknown>,\n min: null as any as PropType<unknown>,\n showAdjacentMonths: Boolean,\n year: [Number, String],\n weekdays: {\n type: Array as PropType<CalendarWeekdays[]>,\n default: () => [0, 1, 2, 3, 4, 5, 6],\n },\n weeksInMonth: {\n type: String as PropType<'dynamic' | 'static'>,\n default: 'dynamic',\n },\n firstDayOfWeek: {\n type: [Number, String],\n default: 0,\n },\n}, 'calendar')\n\nexport function useCalendar (props: CalendarProps) {\n const adapter = useDate()\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => wrapInArray(v).map(i => adapter.date(i)),\n )\n const displayValue = computed(() => {\n if (props.displayValue) return adapter.date(props.displayValue)\n if (model.value.length > 0) return adapter.date(model.value[0])\n if (props.min) return adapter.date(props.min)\n if (Array.isArray(props.allowedDates)) return adapter.date(props.allowedDates[0])\n\n return adapter.date()\n })\n\n const year = useProxiedModel(\n props,\n 'year',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getYear(displayValue.value)\n\n return adapter.startOfYear(adapter.setYear(adapter.date(), value))\n },\n v => adapter.getYear(v)\n )\n\n const month = useProxiedModel(\n props,\n 'month',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getMonth(displayValue.value)\n const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value))\n\n return adapter.setMonth(date, value)\n },\n v => adapter.getMonth(v)\n )\n\n const weekDays = computed(() => {\n const firstDayOfWeek = Number(props.firstDayOfWeek)\n\n // Always generate all days, regardless of props.weekdays\n return [0, 1, 2, 3, 4, 5, 6].map(day => (day + firstDayOfWeek) % 7)\n })\n\n const weeksInMonth = computed(() => {\n const firstDayOfWeek = Number(props.firstDayOfWeek)\n const weeks = adapter.getWeekArray(month.value, firstDayOfWeek)\n\n const days = weeks.flat()\n\n // Make sure there's always 6 weeks in month (6 * 7 days)\n // if weeksInMonth is 'static'\n const daysInMonth = 6 * 7\n if (props.weeksInMonth === 'static' && days.length < daysInMonth) {\n const lastDay = days[days.length - 1]\n\n let week = []\n for (let day = 1; day <= daysInMonth - days.length; day++) {\n week.push(adapter.addDays(lastDay, day))\n\n if (day % 7 === 0) {\n weeks.push(week)\n week = []\n }\n }\n }\n\n return weeks\n })\n\n function genDays (days: unknown[], today: unknown) {\n return days.filter(date => {\n return weekDays.value.includes(adapter.toJsDate(date).getDay())\n }).map((date, index) => {\n const isoDate = adapter.toISO(date)\n const isAdjacent = !adapter.isSameMonth(date, month.value)\n const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value))\n const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value))\n const isSame = adapter.isSameDay(date, month.value)\n\n return {\n date,\n isoDate,\n formatted: adapter.format(date, 'keyboardDate'),\n year: adapter.getYear(date),\n month: adapter.getMonth(date),\n isDisabled: isDisabled(date),\n isWeekStart: index % 7 === 0,\n isWeekEnd: index % 7 === 6,\n isToday: adapter.isSameDay(date, today),\n isAdjacent,\n isHidden: isAdjacent && !props.showAdjacentMonths,\n isStart,\n isSelected: model.value.some(value => adapter.isSameDay(date, value)),\n isEnd,\n isSame,\n localized: adapter.format(date, 'dayOfMonth'),\n }\n })\n }\n\n const daysInWeek = computed(() => {\n const lastDay = adapter.startOfWeek(displayValue.value, props.firstDayOfWeek)\n const week = []\n for (let day = 0; day <= 6; day++) {\n week.push(adapter.addDays(lastDay, day))\n }\n\n const today = adapter.date()\n\n return genDays(week, today)\n })\n\n const daysInMonth = computed(() => {\n const days = weeksInMonth.value.flat()\n const today = adapter.date() as Date\n\n return genDays(days, today)\n })\n\n const weekNumbers = computed(() => {\n return weeksInMonth.value.map(week => {\n return week.length ? getWeek(adapter, week[0]) : null\n })\n })\n\n function isDisabled (value: unknown) {\n if (props.disabled) return true\n\n const date = adapter.date(value)\n\n if (props.min && adapter.isAfter(adapter.date(props.min), date)) return true\n if (props.max && adapter.isAfter(date, adapter.date(props.max))) return true\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length > 0) {\n return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date))\n }\n\n if (typeof props.allowedDates === 'function') {\n return !props.allowedDates(date)\n }\n\n return !props.weekdays.includes(adapter.toJsDate(date).getDay())\n }\n\n return {\n displayValue,\n daysInMonth,\n daysInWeek,\n genDays,\n model,\n weeksInMonth,\n weekDays,\n weekNumbers,\n }\n}\n"],"mappings":"AAAA;AAAA,SACSA,OAAO,EAAEC,OAAO;AAAA,SAChBC,eAAe,6BAExB;AACA,SAASC,QAAQ,QAAQ,KAAK;AAAA,SACrBC,YAAY,EAAEC,WAAW,4BAElC;AAGA;AAsBA;AACA,OAAO,MAAMC,iBAAiB,GAAGF,YAAY,CAAC;EAC5CG,YAAY,EAAE,CAACC,KAAK,EAAEC,QAAQ,CAAuD;EACrFC,QAAQ,EAAE;IACRC,IAAI,EAAEC,OAAO;IACbC,OAAO,EAAE;EACX,CAAC;EACDC,YAAY,EAAE,IAAgC;EAC9CC,UAAU,EAAEP,KAA4B;EACxCQ,KAAK,EAAE,CAACC,MAAM,EAAEC,MAAM,CAAC;EACvBC,GAAG,EAAE,IAAgC;EACrCC,GAAG,EAAE,IAAgC;EACrCC,kBAAkB,EAAET,OAAO;EAC3BU,IAAI,EAAE,CAACL,MAAM,EAAEC,MAAM,CAAC;EACtBK,QAAQ,EAAE;IACRZ,IAAI,EAAEH,KAAqC;IAC3CK,OAAO,EAAEA,CAAA,KAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;EACrC,CAAC;EACDW,YAAY,EAAE;IACZb,IAAI,EAAEO,MAAwC;IAC9CL,OAAO,EAAE;EACX,CAAC;EACDY,cAAc,EAAE;IACdd,IAAI,EAAE,CAACM,MAAM,EAAEC,MAAM,CAAC;IACtBL,OAAO,EAAE;EACX;AACF,CAAC,EAAE,UAAU,CAAC;AAEd,OAAO,SAASa,WAAWA,CAAEC,KAAoB,EAAE;EACjD,MAAMC,OAAO,GAAG3B,OAAO,CAAC,CAAC;EACzB,MAAM4B,KAAK,GAAG3B,eAAe,CAC3ByB,KAAK,EACL,YAAY,EACZ,EAAE,EACFG,CAAC,IAAIzB,WAAW,CAACyB,CAAC,CAAC,CAACC,GAAG,CAACC,CAAC,IAAIJ,OAAO,CAACK,IAAI,CAACD,CAAC,CAAC,CAC9C,CAAC;EACD,MAAMlB,YAAY,GAAGX,QAAQ,CAAC,MAAM;IAClC,IAAIwB,KAAK,CAACb,YAAY,EAAE,OAAOc,OAAO,CAACK,IAAI,CAACN,KAAK,CAACb,YAAY,CAAC;IAC/D,IAAIe,KAAK,CAACK,KAAK,CAACC,MAAM,GAAG,CAAC,EAAE,OAAOP,OAAO,CAACK,IAAI,CAACJ,KAAK,CAACK,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/D,IAAIP,KAAK,CAACP,GAAG,EAAE,OAAOQ,OAAO,CAACK,IAAI,CAACN,KAAK,CAACP,GAAG,CAAC;IAC7C,IAAIZ,KAAK,CAAC4B,OAAO,CAACT,KAAK,CAACpB,YAAY,CAAC,EAAE,OAAOqB,OAAO,CAACK,IAAI,CAACN,KAAK,CAACpB,YAAY,CAAC,CAAC,CAAC,CAAC;IAEjF,OAAOqB,OAAO,CAACK,IAAI,CAAC,CAAC;EACvB,CAAC,CAAC;EAEF,MAAMX,IAAI,GAAGpB,eAAe,CAC1ByB,KAAK,EACL,MAAM,EACNU,SAAS,EACTP,CAAC,IAAI;IACH,MAAMI,KAAK,GAAGJ,CAAC,IAAI,IAAI,GAAGb,MAAM,CAACa,CAAC,CAAC,GAAGF,OAAO,CAACU,OAAO,CAACxB,YAAY,CAACoB,KAAK,CAAC;IAEzE,OAAON,OAAO,CAACW,WAAW,CAACX,OAAO,CAACY,OAAO,CAACZ,OAAO,CAACK,IAAI,CAAC,CAAC,EAAEC,KAAK,CAAC,CAAC;EACpE,CAAC,EACDJ,CAAC,IAAIF,OAAO,CAACU,OAAO,CAACR,CAAC,CACxB,CAAC;EAED,MAAMd,KAAK,GAAGd,eAAe,CAC3ByB,KAAK,EACL,OAAO,EACPU,SAAS,EACTP,CAAC,IAAI;IACH,MAAMI,KAAK,GAAGJ,CAAC,IAAI,IAAI,GAAGb,MAAM,CAACa,CAAC,CAAC,GAAGF,OAAO,CAACa,QAAQ,CAAC3B,YAAY,CAACoB,KAAK,CAAC;IAC1E,MAAMD,IAAI,GAAGL,OAAO,CAACY,OAAO,CAACZ,OAAO,CAACc,YAAY,CAACd,OAAO,CAACK,IAAI,CAAC,CAAC,CAAC,EAAEL,OAAO,CAACU,OAAO,CAAChB,IAAI,CAACY,KAAK,CAAC,CAAC;IAE/F,OAAON,OAAO,CAACe,QAAQ,CAACV,IAAI,EAAEC,KAAK,CAAC;EACtC,CAAC,EACDJ,CAAC,IAAIF,OAAO,CAACa,QAAQ,CAACX,CAAC,CACzB,CAAC;EAED,MAAMc,QAAQ,GAAGzC,QAAQ,CAAC,MAAM;IAC9B,MAAMsB,cAAc,GAAGR,MAAM,CAACU,KAAK,CAACF,cAAc,CAAC;;IAEnD;IACA,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAACM,GAAG,CAACc,GAAG,IAAI,CAACA,GAAG,GAAGpB,cAAc,IAAI,CAAC,CAAC;EACrE,CAAC,CAAC;EAEF,MAAMD,YAAY,GAAGrB,QAAQ,CAAC,MAAM;IAClC,MAAMsB,cAAc,GAAGR,MAAM,CAACU,KAAK,CAACF,cAAc,CAAC;IACnD,MAAMqB,KAAK,GAAGlB,OAAO,CAACmB,YAAY,CAAC/B,KAAK,CAACkB,KAAK,EAAET,cAAc,CAAC;IAE/D,MAAMuB,IAAI,GAAGF,KAAK,CAACG,IAAI,CAAC,CAAC;;IAEzB;IACA;IACA,MAAMC,WAAW,GAAG,CAAC,GAAG,CAAC;IACzB,IAAIvB,KAAK,CAACH,YAAY,KAAK,QAAQ,IAAIwB,IAAI,CAACb,MAAM,GAAGe,WAAW,EAAE;MAChE,MAAMC,OAAO,GAAGH,IAAI,CAACA,IAAI,CAACb,MAAM,GAAG,CAAC,CAAC;MAErC,IAAIiB,IAAI,GAAG,EAAE;MACb,KAAK,IAAIP,GAAG,GAAG,CAAC,EAAEA,GAAG,IAAIK,WAAW,GAAGF,IAAI,CAACb,MAAM,EAAEU,GAAG,EAAE,EAAE;QACzDO,IAAI,CAACC,IAAI,CAACzB,OAAO,CAAC0B,OAAO,CAACH,OAAO,EAAEN,GAAG,CAAC,CAAC;QAExC,IAAIA,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE;UACjBC,KAAK,CAACO,IAAI,CAACD,IAAI,CAAC;UAChBA,IAAI,GAAG,EAAE;QACX;MACF;IACF;IAEA,OAAON,KAAK;EACd,CAAC,CAAC;EAEF,SAASS,OAAOA,CAAEP,IAAe,EAAEQ,KAAc,EAAE;IACjD,OAAOR,IAAI,CAACS,MAAM,CAACxB,IAAI,IAAI;MACzB,OAAOW,QAAQ,CAACV,KAAK,CAACwB,QAAQ,CAAC9B,OAAO,CAAC+B,QAAQ,CAAC1B,IAAI,CAAC,CAAC2B,MAAM,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC7B,GAAG,CAAC,CAACE,IAAI,EAAE4B,KAAK,KAAK;MACtB,MAAMC,OAAO,GAAGlC,OAAO,CAACmC,KAAK,CAAC9B,IAAI,CAAC;MACnC,MAAM+B,UAAU,GAAG,CAACpC,OAAO,CAACqC,WAAW,CAAChC,IAAI,EAAEjB,KAAK,CAACkB,KAAK,CAAC;MAC1D,MAAMgC,OAAO,GAAGtC,OAAO,CAACuC,SAAS,CAAClC,IAAI,EAAEL,OAAO,CAACc,YAAY,CAAC1B,KAAK,CAACkB,KAAK,CAAC,CAAC;MAC1E,MAAMkC,KAAK,GAAGxC,OAAO,CAACuC,SAAS,CAAClC,IAAI,EAAEL,OAAO,CAACyC,UAAU,CAACrD,KAAK,CAACkB,KAAK,CAAC,CAAC;MACtE,MAAMoC,MAAM,GAAG1C,OAAO,CAACuC,SAAS,CAAClC,IAAI,EAAEjB,KAAK,CAACkB,KAAK,CAAC;MAEnD,OAAO;QACLD,IAAI;QACJ6B,OAAO;QACPS,SAAS,EAAE3C,OAAO,CAAC4C,MAAM,CAACvC,IAAI,EAAE,cAAc,CAAC;QAC/CX,IAAI,EAAEM,OAAO,CAACU,OAAO,CAACL,IAAI,CAAC;QAC3BjB,KAAK,EAAEY,OAAO,CAACa,QAAQ,CAACR,IAAI,CAAC;QAC7BwC,UAAU,EAAEA,UAAU,CAACxC,IAAI,CAAC;QAC5ByC,WAAW,EAAEb,KAAK,GAAG,CAAC,KAAK,CAAC;QAC5Bc,SAAS,EAAEd,KAAK,GAAG,CAAC,KAAK,CAAC;QAC1Be,OAAO,EAAEhD,OAAO,CAACuC,SAAS,CAAClC,IAAI,EAAEuB,KAAK,CAAC;QACvCQ,UAAU;QACVa,QAAQ,EAAEb,UAAU,IAAI,CAACrC,KAAK,CAACN,kBAAkB;QACjD6C,OAAO;QACPY,UAAU,EAAEjD,KAAK,CAACK,KAAK,CAAC6C,IAAI,CAAC7C,KAAK,IAAIN,OAAO,CAACuC,SAAS,CAAClC,IAAI,EAAEC,KAAK,CAAC,CAAC;QACrEkC,KAAK;QACLE,MAAM;QACNU,SAAS,EAAEpD,OAAO,CAAC4C,MAAM,CAACvC,IAAI,EAAE,YAAY;MAC9C,CAAC;IACH,CAAC,CAAC;EACJ;EAEA,MAAMgD,UAAU,GAAG9E,QAAQ,CAAC,MAAM;IAChC,MAAMgD,OAAO,GAAGvB,OAAO,CAACsD,WAAW,CAACpE,YAAY,CAACoB,KAAK,EAAEP,KAAK,CAACF,cAAc,CAAC;IAC7E,MAAM2B,IAAI,GAAG,EAAE;IACf,KAAK,IAAIP,GAAG,GAAG,CAAC,EAAEA,GAAG,IAAI,CAAC,EAAEA,GAAG,EAAE,EAAE;MACjCO,IAAI,CAACC,IAAI,CAACzB,OAAO,CAAC0B,OAAO,CAACH,OAAO,EAAEN,GAAG,CAAC,CAAC;IAC1C;IAEA,MAAMW,KAAK,GAAG5B,OAAO,CAACK,IAAI,CAAC,CAAC;IAE5B,OAAOsB,OAAO,CAACH,IAAI,EAAEI,KAAK,CAAC;EAC7B,CAAC,CAAC;EAEF,MAAMN,WAAW,GAAG/C,QAAQ,CAAC,MAAM;IACjC,MAAM6C,IAAI,GAAGxB,YAAY,CAACU,KAAK,CAACe,IAAI,CAAC,CAAC;IACtC,MAAMO,KAAK,GAAG5B,OAAO,CAACK,IAAI,CAAC,CAAS;IAEpC,OAAOsB,OAAO,CAACP,IAAI,EAAEQ,KAAK,CAAC;EAC7B,CAAC,CAAC;EAEF,MAAM2B,WAAW,GAAGhF,QAAQ,CAAC,MAAM;IACjC,OAAOqB,YAAY,CAACU,KAAK,CAACH,GAAG,CAACqB,IAAI,IAAI;MACpC,OAAOA,IAAI,CAACjB,MAAM,GAAGnC,OAAO,CAAC4B,OAAO,EAAEwB,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IACvD,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF,SAASqB,UAAUA,CAAEvC,KAAc,EAAE;IACnC,IAAIP,KAAK,CAACjB,QAAQ,EAAE,OAAO,IAAI;IAE/B,MAAMuB,IAAI,GAAGL,OAAO,CAACK,IAAI,CAACC,KAAK,CAAC;IAEhC,IAAIP,KAAK,CAACP,GAAG,IAAIQ,OAAO,CAACwD,OAAO,CAACxD,OAAO,CAACK,IAAI,CAACN,KAAK,CAACP,GAAG,CAAC,EAAEa,IAAI,CAAC,EAAE,OAAO,IAAI;IAC5E,IAAIN,KAAK,CAACR,GAAG,IAAIS,OAAO,CAACwD,OAAO,CAACnD,IAAI,EAAEL,OAAO,CAACK,IAAI,CAACN,KAAK,CAACR,GAAG,CAAC,CAAC,EAAE,OAAO,IAAI;IAE5E,IAAIX,KAAK,CAAC4B,OAAO,CAACT,KAAK,CAACpB,YAAY,CAAC,IAAIoB,KAAK,CAACpB,YAAY,CAAC4B,MAAM,GAAG,CAAC,EAAE;MACtE,OAAO,CAACR,KAAK,CAACpB,YAAY,CAACwE,IAAI,CAACM,CAAC,IAAIzD,OAAO,CAACuC,SAAS,CAACvC,OAAO,CAACK,IAAI,CAACoD,CAAC,CAAC,EAAEpD,IAAI,CAAC,CAAC;IAChF;IAEA,IAAI,OAAON,KAAK,CAACpB,YAAY,KAAK,UAAU,EAAE;MAC5C,OAAO,CAACoB,KAAK,CAACpB,YAAY,CAAC0B,IAAI,CAAC;IAClC;IAEA,OAAO,CAACN,KAAK,CAACJ,QAAQ,CAACmC,QAAQ,CAAC9B,OAAO,CAAC+B,QAAQ,CAAC1B,IAAI,CAAC,CAAC2B,MAAM,CAAC,CAAC,CAAC;EAClE;EAEA,OAAO;IACL9C,YAAY;IACZoC,WAAW;IACX+B,UAAU;IACV1B,OAAO;IACP1B,KAAK;IACLL,YAAY;IACZoB,QAAQ;IACRuC;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"file":"calendar.js","names":["getWeek","useDate","useProxiedModel","computed","propsFactory","wrapInArray","makeCalendarProps","allowedDates","Array","Function","disabled","type","Boolean","default","displayValue","modelValue","month","Number","String","max","min","showAdjacentMonths","year","weekdays","weeksInMonth","firstDayOfWeek","useCalendar","props","adapter","model","v","map","i","date","value","length","isArray","undefined","getYear","startOfYear","setYear","getMonth","startOfMonth","setMonth","weekDays","day","weeks","getWeekArray","days","flat","daysInMonth","lastDay","week","push","addDays","genDays","today","filter","includes","toJsDate","getDay","index","isoDate","toISO","isAdjacent","isSameMonth","isStart","isSameDay","isEnd","endOfMonth","isSame","formatted","format","isDisabled","isWeekStart","isWeekEnd","isToday","isHidden","isSelected","some","localized","daysInWeek","startOfWeek","weekNumbers","isAfter","d"],"sources":["../../src/composables/calendar.ts"],"sourcesContent":["// Composables\nimport { getWeek, useDate } from '@/composables/date/date'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed } from 'vue'\nimport { propsFactory, wrapInArray } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\n// Types\nexport interface CalendarProps {\n allowedDates: unknown[] | ((date: unknown) => boolean) | undefined\n disabled: boolean\n displayValue?: unknown\n modelValue: unknown[] | undefined\n max: unknown\n min: unknown\n showAdjacentMonths: boolean\n month: number | string | undefined\n weekdays: number[]\n year: number | string | undefined\n weeksInMonth: 'dynamic' | 'static'\n\n /** @deprecated */\n firstDayOfWeek: number | string | undefined\n\n 'onUpdate:modelValue': ((value: unknown[]) => void) | undefined\n 'onUpdate:month': ((value: number) => void) | undefined\n 'onUpdate:year': ((value: number) => void) | undefined\n}\n\nexport type CalendarWeekdays = 0 | 1 | 2 | 3 | 4 | 5 | 6\n\n// Composables\nexport const makeCalendarProps = propsFactory({\n allowedDates: [Array, Function] as PropType<unknown[] | ((date: unknown) => boolean)>,\n disabled: {\n type: Boolean,\n default: null,\n },\n displayValue: null as any as PropType<unknown>,\n modelValue: Array as PropType<unknown[]>,\n month: [Number, String],\n max: null as any as PropType<unknown>,\n min: null as any as PropType<unknown>,\n showAdjacentMonths: Boolean,\n year: [Number, String],\n weekdays: {\n type: Array as PropType<CalendarWeekdays[]>,\n default: () => [0, 1, 2, 3, 4, 5, 6],\n },\n weeksInMonth: {\n type: String as PropType<'dynamic' | 'static'>,\n default: 'dynamic',\n },\n firstDayOfWeek: {\n type: [Number, String],\n default: 0,\n },\n}, 'calendar')\n\nexport function useCalendar (props: CalendarProps) {\n const adapter = useDate()\n const model = useProxiedModel(\n props,\n 'modelValue',\n [],\n v => wrapInArray(v).map(i => adapter.date(i)),\n )\n const displayValue = computed(() => {\n if (props.displayValue) return adapter.date(props.displayValue)\n if (model.value.length > 0) return adapter.date(model.value[0])\n if (props.min) return adapter.date(props.min)\n if (Array.isArray(props.allowedDates)) return adapter.date(props.allowedDates[0])\n\n return adapter.date()\n })\n\n const year = useProxiedModel(\n props,\n 'year',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getYear(displayValue.value)\n\n return adapter.startOfYear(adapter.setYear(adapter.date(), value))\n },\n v => adapter.getYear(v)\n )\n\n const month = useProxiedModel(\n props,\n 'month',\n undefined,\n v => {\n const value = v != null ? Number(v) : adapter.getMonth(displayValue.value)\n const date = adapter.setYear(adapter.startOfMonth(adapter.date()), adapter.getYear(year.value))\n\n return adapter.setMonth(date, value)\n },\n v => adapter.getMonth(v)\n )\n\n const weekDays = computed(() => {\n const firstDayOfWeek = Number(props.firstDayOfWeek)\n\n // Always generate all days, regardless of props.weekdays\n return [0, 1, 2, 3, 4, 5, 6].map(day => (day + firstDayOfWeek) % 7)\n })\n\n const weeksInMonth = computed(() => {\n const firstDayOfWeek = Number(props.firstDayOfWeek)\n const weeks = adapter.getWeekArray(month.value, firstDayOfWeek)\n\n const days = weeks.flat()\n\n // Make sure there's always 6 weeks in month (6 * 7 days)\n // if weeksInMonth is 'static'\n const daysInMonth = 6 * 7\n if (props.weeksInMonth === 'static' && days.length < daysInMonth) {\n const lastDay = days[days.length - 1]\n\n let week = []\n for (let day = 1; day <= daysInMonth - days.length; day++) {\n week.push(adapter.addDays(lastDay, day))\n\n if (day % 7 === 0) {\n weeks.push(week)\n week = []\n }\n }\n }\n\n return weeks\n })\n\n function genDays (days: unknown[], today: unknown) {\n return days.filter(date => {\n return weekDays.value.includes(adapter.toJsDate(date).getDay())\n }).map((date, index) => {\n const isoDate = adapter.toISO(date)\n const isAdjacent = !adapter.isSameMonth(date, month.value)\n const isStart = adapter.isSameDay(date, adapter.startOfMonth(month.value))\n const isEnd = adapter.isSameDay(date, adapter.endOfMonth(month.value))\n const isSame = adapter.isSameDay(date, month.value)\n\n return {\n date,\n isoDate,\n formatted: adapter.format(date, 'keyboardDate'),\n year: adapter.getYear(date),\n month: adapter.getMonth(date),\n isDisabled: isDisabled(date),\n isWeekStart: index % 7 === 0,\n isWeekEnd: index % 7 === 6,\n isToday: adapter.isSameDay(date, today),\n isAdjacent,\n isHidden: isAdjacent && !props.showAdjacentMonths,\n isStart,\n isSelected: model.value.some(value => adapter.isSameDay(date, value)),\n isEnd,\n isSame,\n localized: adapter.format(date, 'dayOfMonth'),\n }\n })\n }\n\n const daysInWeek = computed(() => {\n const lastDay = adapter.startOfWeek(displayValue.value, props.firstDayOfWeek)\n const week = []\n for (let day = 0; day <= 6; day++) {\n week.push(adapter.addDays(lastDay, day))\n }\n\n const today = adapter.date()\n\n return genDays(week, today)\n })\n\n const daysInMonth = computed(() => {\n const days = weeksInMonth.value.flat()\n const today = adapter.date() as Date\n\n return genDays(days, today)\n })\n\n const weekNumbers = computed(() => {\n return weeksInMonth.value.map(week => {\n return week.length ? getWeek(adapter, week[0]) : null\n })\n })\n\n function isDisabled (value: unknown) {\n if (props.disabled) return true\n\n const date = adapter.date(value)\n\n if (props.min && adapter.isAfter(adapter.date(props.min), date)) return true\n if (props.max && adapter.isAfter(date, adapter.date(props.max))) return true\n\n if (Array.isArray(props.allowedDates) && props.allowedDates.length > 0) {\n return !props.allowedDates.some(d => adapter.isSameDay(adapter.date(d), date))\n }\n\n if (typeof props.allowedDates === 'function') {\n return !props.allowedDates(date)\n }\n\n return !props.weekdays.includes(adapter.toJsDate(date).getDay())\n }\n\n return {\n displayValue,\n daysInMonth,\n daysInWeek,\n genDays,\n model,\n weeksInMonth,\n weekDays,\n weekNumbers,\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -16,7 +16,7 @@ export const createVuetify = function () {
16
16
  ...options
17
17
  });
18
18
  };
19
- export const version = "3.8.1-dev.2025-04-13";
19
+ export const version = "3.8.1-dev.2025-04-16";
20
20
  createVuetify.version = version;
21
21
  export { blueprints, components, directives };
22
22
  export * from "./composables/index.js";
@@ -2572,40 +2572,40 @@ declare module 'vue' {
2572
2572
  $children?: VNodeChild
2573
2573
  }
2574
2574
  export interface GlobalComponents {
2575
+ VApp: typeof import('vuetify/components')['VApp']
2575
2576
  VAppBar: typeof import('vuetify/components')['VAppBar']
2576
2577
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
2577
2578
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
2578
- VApp: typeof import('vuetify/components')['VApp']
2579
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2580
2579
  VAlert: typeof import('vuetify/components')['VAlert']
2581
2580
  VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
2582
- VAvatar: typeof import('vuetify/components')['VAvatar']
2583
2581
  VBadge: typeof import('vuetify/components')['VBadge']
2582
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
2583
+ VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2584
+ VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2584
2585
  VBanner: typeof import('vuetify/components')['VBanner']
2585
2586
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
2586
2587
  VBannerText: typeof import('vuetify/components')['VBannerText']
2587
- VBtn: typeof import('vuetify/components')['VBtn']
2588
2588
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
2589
2589
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
2590
2590
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
2591
- VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
2592
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2591
+ VAvatar: typeof import('vuetify/components')['VAvatar']
2593
2592
  VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
2594
2593
  VCarousel: typeof import('vuetify/components')['VCarousel']
2595
2594
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
2596
- VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
2597
- VChip: typeof import('vuetify/components')['VChip']
2598
- VColorPicker: typeof import('vuetify/components')['VColorPicker']
2599
2595
  VCard: typeof import('vuetify/components')['VCard']
2600
2596
  VCardActions: typeof import('vuetify/components')['VCardActions']
2601
2597
  VCardItem: typeof import('vuetify/components')['VCardItem']
2602
2598
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
2603
2599
  VCardText: typeof import('vuetify/components')['VCardText']
2604
2600
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
2605
- VChipGroup: typeof import('vuetify/components')['VChipGroup']
2606
- VCombobox: typeof import('vuetify/components')['VCombobox']
2601
+ VBtn: typeof import('vuetify/components')['VBtn']
2607
2602
  VCheckbox: typeof import('vuetify/components')['VCheckbox']
2608
2603
  VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
2604
+ VChip: typeof import('vuetify/components')['VChip']
2605
+ VChipGroup: typeof import('vuetify/components')['VChipGroup']
2606
+ VCode: typeof import('vuetify/components')['VCode']
2607
+ VCounter: typeof import('vuetify/components')['VCounter']
2608
+ VCombobox: typeof import('vuetify/components')['VCombobox']
2609
2609
  VDataTable: typeof import('vuetify/components')['VDataTable']
2610
2610
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
2611
2611
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -2613,7 +2613,7 @@ declare module 'vue' {
2613
2613
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
2614
2614
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
2615
2615
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
2616
- VCounter: typeof import('vuetify/components')['VCounter']
2616
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
2617
2617
  VDatePicker: typeof import('vuetify/components')['VDatePicker']
2618
2618
  VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
2619
2619
  VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
@@ -2621,31 +2621,27 @@ declare module 'vue' {
2621
2621
  VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
2622
2622
  VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
2623
2623
  VDialog: typeof import('vuetify/components')['VDialog']
2624
- VCode: typeof import('vuetify/components')['VCode']
2625
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
2624
+ VColorPicker: typeof import('vuetify/components')['VColorPicker']
2626
2625
  VFab: typeof import('vuetify/components')['VFab']
2627
2626
  VDivider: typeof import('vuetify/components')['VDivider']
2628
- VIcon: typeof import('vuetify/components')['VIcon']
2629
- VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2630
- VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2631
- VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2632
- VClassIcon: typeof import('vuetify/components')['VClassIcon']
2627
+ VFileInput: typeof import('vuetify/components')['VFileInput']
2628
+ VField: typeof import('vuetify/components')['VField']
2629
+ VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2630
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
2633
2631
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
2634
2632
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
2635
2633
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
2636
2634
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
2637
- VField: typeof import('vuetify/components')['VField']
2638
- VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
2639
- VInput: typeof import('vuetify/components')['VInput']
2640
2635
  VFooter: typeof import('vuetify/components')['VFooter']
2641
2636
  VImg: typeof import('vuetify/components')['VImg']
2642
- VFileInput: typeof import('vuetify/components')['VFileInput']
2643
- VItemGroup: typeof import('vuetify/components')['VItemGroup']
2644
- VItem: typeof import('vuetify/components')['VItem']
2645
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2646
- VKbd: typeof import('vuetify/components')['VKbd']
2637
+ VIcon: typeof import('vuetify/components')['VIcon']
2638
+ VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
2639
+ VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
2640
+ VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
2641
+ VClassIcon: typeof import('vuetify/components')['VClassIcon']
2647
2642
  VLabel: typeof import('vuetify/components')['VLabel']
2648
- VMenu: typeof import('vuetify/components')['VMenu']
2643
+ VKbd: typeof import('vuetify/components')['VKbd']
2644
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
2649
2645
  VList: typeof import('vuetify/components')['VList']
2650
2646
  VListGroup: typeof import('vuetify/components')['VListGroup']
2651
2647
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -2655,49 +2651,53 @@ declare module 'vue' {
2655
2651
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
2656
2652
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
2657
2653
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
2654
+ VInput: typeof import('vuetify/components')['VInput']
2655
+ VItemGroup: typeof import('vuetify/components')['VItemGroup']
2656
+ VItem: typeof import('vuetify/components')['VItem']
2658
2657
  VMain: typeof import('vuetify/components')['VMain']
2659
- VMessages: typeof import('vuetify/components')['VMessages']
2660
2658
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
2659
+ VMenu: typeof import('vuetify/components')['VMenu']
2660
+ VMessages: typeof import('vuetify/components')['VMessages']
2661
2661
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
2662
2662
  VOverlay: typeof import('vuetify/components')['VOverlay']
2663
2663
  VPagination: typeof import('vuetify/components')['VPagination']
2664
2664
  VNumberInput: typeof import('vuetify/components')['VNumberInput']
2665
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2665
2666
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
2666
- VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2667
2667
  VRating: typeof import('vuetify/components')['VRating']
2668
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
2668
+ VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
2669
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2669
2670
  VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
2670
2671
  VSheet: typeof import('vuetify/components')['VSheet']
2671
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
2672
2672
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
2673
2673
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
2674
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2675
+ VSlider: typeof import('vuetify/components')['VSlider']
2674
2676
  VSelect: typeof import('vuetify/components')['VSelect']
2677
+ VSwitch: typeof import('vuetify/components')['VSwitch']
2675
2678
  VStepper: typeof import('vuetify/components')['VStepper']
2676
2679
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
2677
2680
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
2678
2681
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
2679
2682
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
2680
2683
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
2681
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
2682
- VSlider: typeof import('vuetify/components')['VSlider']
2683
- VSwitch: typeof import('vuetify/components')['VSwitch']
2684
2684
  VSnackbar: typeof import('vuetify/components')['VSnackbar']
2685
+ VTextarea: typeof import('vuetify/components')['VTextarea']
2685
2686
  VSystemBar: typeof import('vuetify/components')['VSystemBar']
2687
+ VToolbar: typeof import('vuetify/components')['VToolbar']
2688
+ VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2689
+ VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2690
+ VTimeline: typeof import('vuetify/components')['VTimeline']
2691
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2686
2692
  VTable: typeof import('vuetify/components')['VTable']
2687
2693
  VTextField: typeof import('vuetify/components')['VTextField']
2688
- VTextarea: typeof import('vuetify/components')['VTextarea']
2694
+ VTooltip: typeof import('vuetify/components')['VTooltip']
2689
2695
  VTab: typeof import('vuetify/components')['VTab']
2690
2696
  VTabs: typeof import('vuetify/components')['VTabs']
2691
2697
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
2692
2698
  VTabsWindowItem: typeof import('vuetify/components')['VTabsWindowItem']
2693
- VToolbar: typeof import('vuetify/components')['VToolbar']
2694
- VToolbarTitle: typeof import('vuetify/components')['VToolbarTitle']
2695
- VToolbarItems: typeof import('vuetify/components')['VToolbarItems']
2696
2699
  VWindow: typeof import('vuetify/components')['VWindow']
2697
2700
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
2698
- VTooltip: typeof import('vuetify/components')['VTooltip']
2699
- VTimeline: typeof import('vuetify/components')['VTimeline']
2700
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
2701
2701
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
2702
2702
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
2703
2703
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
@@ -2709,18 +2709,17 @@ declare module 'vue' {
2709
2709
  VHover: typeof import('vuetify/components')['VHover']
2710
2710
  VLayout: typeof import('vuetify/components')['VLayout']
2711
2711
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
2712
+ VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2712
2713
  VLazy: typeof import('vuetify/components')['VLazy']
2713
2714
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
2714
- VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
2715
- VRadio: typeof import('vuetify/components')['VRadio']
2716
2715
  VParallax: typeof import('vuetify/components')['VParallax']
2717
- VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2716
+ VRadio: typeof import('vuetify/components')['VRadio']
2718
2717
  VResponsive: typeof import('vuetify/components')['VResponsive']
2718
+ VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
2719
2719
  VSnackbarQueue: typeof import('vuetify/components')['VSnackbarQueue']
2720
2720
  VSparkline: typeof import('vuetify/components')['VSparkline']
2721
2721
  VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
2722
2722
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
2723
- VValidation: typeof import('vuetify/components')['VValidation']
2724
2723
  VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
2725
2724
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
2726
2725
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
@@ -2738,26 +2737,27 @@ declare module 'vue' {
2738
2737
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
2739
2738
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
2740
2739
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
2740
+ VValidation: typeof import('vuetify/components')['VValidation']
2741
+ VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2742
+ VPicker: typeof import('vuetify/labs/components')['VPicker']
2743
+ VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2744
+ VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2745
+ VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2741
2746
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
2742
2747
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
2743
2748
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
2744
- VPicker: typeof import('vuetify/labs/components')['VPicker']
2745
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
2749
+ VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2750
+ VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2751
+ VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2746
2752
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
2747
2753
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
2748
2754
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
2749
2755
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
2750
2756
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
2751
2757
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
2752
- VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
2753
- VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
2754
- VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
2755
- VIconBtn: typeof import('vuetify/labs/components')['VIconBtn']
2756
2758
  VTreeview: typeof import('vuetify/labs/components')['VTreeview']
2757
2759
  VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
2758
2760
  VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
2759
- VFileUpload: typeof import('vuetify/labs/components')['VFileUpload']
2760
- VFileUploadItem: typeof import('vuetify/labs/components')['VFileUploadItem']
2761
2761
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
2762
2762
  VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
2763
2763
  }
package/lib/framework.js CHANGED
@@ -109,7 +109,7 @@ export function createVuetify() {
109
109
  };
110
110
  });
111
111
  }
112
- export const version = "3.8.1-dev.2025-04-13";
112
+ export const version = "3.8.1-dev.2025-04-16";
113
113
  createVuetify.version = version;
114
114
 
115
115
  // Vue's inject() can only be used in setup
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@vuetify/nightly",
3
3
  "description": "Vue Material Component Framework",
4
- "version": "3.8.1-dev.2025-04-13",
4
+ "version": "3.8.1-dev.2025-04-16",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"