@vuetify/nightly 3.6.9-master.2024-06-12 → 3.6.9-master.2024-06-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.
@@ -169,8 +169,11 @@ export const VDatePicker = genericComponent()({
169
169
  emit('update:year', value);
170
170
  }
171
171
  watch(model, (val, oldVal) => {
172
- const before = adapter.date(wrapInArray(oldVal)[oldVal.length - 1]);
173
- const after = adapter.date(wrapInArray(val)[val.length - 1]);
172
+ const arrBefore = wrapInArray(oldVal);
173
+ const arrAfter = wrapInArray(val);
174
+ if (!arrAfter.length) return;
175
+ const before = adapter.date(arrBefore[arrBefore.length - 1]);
176
+ const after = adapter.date(arrAfter[arrAfter.length - 1]);
174
177
  const newMonth = adapter.getMonth(after);
175
178
  const newYear = adapter.getYear(after);
176
179
  if (newMonth !== month.value) {
@@ -1 +1 @@
1
- {"version":3,"file":"VDatePicker.mjs","names":["makeVDatePickerControlsProps","VDatePickerControls","VDatePickerHeader","makeVDatePickerMonthProps","VDatePickerMonth","makeVDatePickerMonthsProps","VDatePickerMonths","makeVDatePickerYearsProps","VDatePickerYears","VFadeTransition","VDefaultsProvider","makeVPickerProps","VPicker","useDate","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDatePickerProps","header","type","String","default","weeksInMonth","title","modelValue","VDatePicker","name","props","emits","date","setup","_ref","emit","slots","adapter","t","model","undefined","v","multiple","viewMode","internal","value","isValid","month","Number","getMonth","startOfMonth","year","getYear","startOfYear","setMonth","isReversing","length","format","text","setDate","setYear","headerTransition","minDate","min","maxDate","max","disabled","targets","push","_date","addDays","isAfter","endOfMonth","onClickNext","onUpdateYear","onUpdateMonth","onClickPrev","onClickDate","onClickMonth","onClickYear","val","oldVal","before","after","newMonth","newYear","isBefore","pickerProps","filterProps","datePickerControlsProps","datePickerHeaderProps","datePickerMonthProps","datePickerMonthsProps","datePickerYearsProps","headerProps","transition","_createVNode","_mergeProps","showWeek","class","style","_Fragment","$event","actions"],"sources":["../../../src/components/VDatePicker/VDatePicker.tsx"],"sourcesContent":["// Styles\nimport './VDatePicker.sass'\n\n// Components\nimport { makeVDatePickerControlsProps, VDatePickerControls } from './VDatePickerControls'\nimport { VDatePickerHeader } from './VDatePickerHeader'\nimport { makeVDatePickerMonthProps, VDatePickerMonth } from './VDatePickerMonth'\nimport { makeVDatePickerMonthsProps, VDatePickerMonths } from './VDatePickerMonths'\nimport { makeVDatePickerYearsProps, VDatePickerYears } from './VDatePickerYears'\nimport { VFadeTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVPickerProps, VPicker } from '@/labs/VPicker/VPicker'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VPickerSlots } from '@/labs/VPicker/VPicker'\nimport type { GenericProps } from '@/util'\n\n// Types\nexport type VDatePickerSlots = Omit<VPickerSlots, 'header'> & {\n header: {\n header: string\n transition: string\n }\n}\n\nexport const makeVDatePickerProps = propsFactory({\n // TODO: implement in v3.5\n // calendarIcon: {\n // type: String,\n // default: '$calendar',\n // },\n // keyboardIcon: {\n // type: String,\n // default: '$edit',\n // },\n // inputMode: {\n // type: String as PropType<'calendar' | 'keyboard'>,\n // default: 'calendar',\n // },\n // inputText: {\n // type: String,\n // default: '$vuetify.datePicker.input.placeholder',\n // },\n // inputPlaceholder: {\n // type: String,\n // default: 'dd/mm/yyyy',\n // },\n header: {\n type: String,\n default: '$vuetify.datePicker.header',\n },\n\n ...makeVDatePickerControlsProps(),\n ...makeVDatePickerMonthProps({\n weeksInMonth: 'static' as const,\n }),\n ...omit(makeVDatePickerMonthsProps(), ['modelValue']),\n ...omit(makeVDatePickerYearsProps(), ['modelValue']),\n ...makeVPickerProps({ title: '$vuetify.datePicker.title' }),\n\n modelValue: null,\n}, 'VDatePicker')\n\nexport const VDatePicker = genericComponent<new <\n T,\n Multiple extends boolean | 'range' | number | (string & {}) = false,\n TModel = Multiple extends true | number | string\n ? T[]\n : T,\n> (\n props: {\n modelValue?: TModel\n 'onUpdate:modelValue'?: (value: TModel) => void\n multiple?: Multiple\n },\n slots: VDatePickerSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDatePicker',\n\n props: makeVDatePickerProps(),\n\n emits: {\n 'update:modelValue': (date: any) => true,\n 'update:month': (date: any) => true,\n 'update:year': (date: any) => true,\n // 'update:inputMode': (date: any) => true,\n 'update:viewMode': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { t } = useLocale()\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => wrapInArray(v),\n v => props.multiple ? v : v[0],\n )\n\n const viewMode = useProxiedModel(props, 'viewMode')\n // const inputMode = useProxiedModel(props, 'inputMode')\n const internal = computed(() => {\n const value = adapter.date(model.value?.[0])\n\n return value && adapter.isValid(value) ? value : adapter.date()\n })\n\n const month = ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))))\n const year = ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))))\n\n const isReversing = shallowRef(false)\n const header = computed(() => {\n if (props.multiple && model.value.length > 1) {\n return t('$vuetify.datePicker.itemsSelected', model.value.length)\n }\n\n return (model.value[0] && adapter.isValid(model.value[0]))\n ? adapter.format(adapter.date(model.value[0]), 'normalDateWithWeekday')\n : t(props.header)\n })\n const text = computed(() => {\n let date = adapter.date()\n\n date = adapter.setDate(date, 1)\n date = adapter.setMonth(date, month.value)\n date = adapter.setYear(date, year.value)\n\n return adapter.format(date, 'monthAndYear')\n })\n // const headerIcon = computed(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)\n const headerTransition = computed(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`)\n const minDate = computed(() => {\n const date = adapter.date(props.min)\n\n return props.min && adapter.isValid(date) ? date : null\n })\n const maxDate = computed(() => {\n const date = adapter.date(props.max)\n\n return props.max && adapter.isValid(date) ? date : null\n })\n const disabled = computed(() => {\n if (props.disabled) return true\n\n const targets = []\n\n if (viewMode.value !== 'month') {\n targets.push(...['prev', 'next'])\n } else {\n let _date = adapter.date()\n\n _date = adapter.setYear(_date, year.value)\n _date = adapter.setMonth(_date, month.value)\n\n if (minDate.value) {\n const date = adapter.addDays(adapter.startOfMonth(_date), -1)\n\n adapter.isAfter(minDate.value, date) && targets.push('prev')\n }\n\n if (maxDate.value) {\n const date = adapter.addDays(adapter.endOfMonth(_date), 1)\n\n adapter.isAfter(date, maxDate.value) && targets.push('next')\n }\n }\n\n return targets\n })\n\n // function onClickAppend () {\n // inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'\n // }\n\n function onClickNext () {\n if (month.value < 11) {\n month.value++\n } else {\n year.value++\n month.value = 0\n onUpdateYear(year.value)\n }\n onUpdateMonth(month.value)\n }\n\n function onClickPrev () {\n if (month.value > 0) {\n month.value--\n } else {\n year.value--\n month.value = 11\n onUpdateYear(year.value)\n }\n onUpdateMonth(month.value)\n }\n\n function onClickDate () {\n viewMode.value = 'month'\n }\n\n function onClickMonth () {\n viewMode.value = viewMode.value === 'months' ? 'month' : 'months'\n }\n\n function onClickYear () {\n viewMode.value = viewMode.value === 'year' ? 'month' : 'year'\n }\n\n function onUpdateMonth (value: number) {\n if (viewMode.value === 'months') onClickMonth()\n\n emit('update:month', value)\n }\n\n function onUpdateYear (value: number) {\n if (viewMode.value === 'year') onClickYear()\n\n emit('update:year', value)\n }\n\n watch(model, (val, oldVal) => {\n const before = adapter.date(wrapInArray(oldVal)[oldVal.length - 1])\n const after = adapter.date(wrapInArray(val)[val.length - 1])\n const newMonth = adapter.getMonth(after)\n const newYear = adapter.getYear(after)\n\n if (newMonth !== month.value) {\n month.value = newMonth\n onUpdateMonth(month.value)\n }\n\n if (newYear !== year.value) {\n year.value = newYear\n onUpdateYear(year.value)\n }\n\n isReversing.value = adapter.isBefore(before, after)\n })\n\n useRender(() => {\n const pickerProps = VPicker.filterProps(props)\n const datePickerControlsProps = VDatePickerControls.filterProps(props)\n const datePickerHeaderProps = VDatePickerHeader.filterProps(props)\n const datePickerMonthProps = VDatePickerMonth.filterProps(props)\n const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue'])\n const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue'])\n\n const headerProps = {\n header: header.value,\n transition: headerTransition.value,\n }\n\n return (\n <VPicker\n { ...pickerProps }\n class={[\n 'v-date-picker',\n `v-date-picker--${viewMode.value}`,\n {\n 'v-date-picker--show-week': props.showWeek,\n },\n props.class,\n ]}\n style={ props.style }\n v-slots={{\n title: () => slots.title?.() ?? (\n <div class=\"v-date-picker__title\">\n { t(props.title) }\n </div>\n ),\n header: () => slots.header ? (\n <VDefaultsProvider\n defaults={{\n VDatePickerHeader: { ...headerProps },\n }}\n >\n { slots.header?.(headerProps) }\n </VDefaultsProvider>\n ) : (\n <VDatePickerHeader\n key=\"header\"\n { ...datePickerHeaderProps }\n { ...headerProps }\n onClick={ viewMode.value !== 'month' ? onClickDate : undefined }\n v-slots={{\n ...slots,\n default: undefined,\n }}\n />\n ),\n default: () => (\n <>\n <VDatePickerControls\n { ...datePickerControlsProps }\n disabled={ disabled.value }\n text={ text.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:month={ onClickMonth }\n onClick:year={ onClickYear }\n />\n\n <VFadeTransition hideOnLeave>\n { viewMode.value === 'months' ? (\n <VDatePickerMonths\n key=\"date-picker-months\"\n { ...datePickerMonthsProps }\n v-model={ month.value }\n onUpdate:modelValue={ onUpdateMonth }\n min={ minDate.value }\n max={ maxDate.value }\n year={ year.value }\n />\n ) : viewMode.value === 'year' ? (\n <VDatePickerYears\n key=\"date-picker-years\"\n { ...datePickerYearsProps }\n v-model={ year.value }\n onUpdate:modelValue={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n />\n ) : (\n <VDatePickerMonth\n key=\"date-picker-month\"\n { ...datePickerMonthProps }\n v-model={ model.value }\n v-model:month={ month.value }\n v-model:year={ year.value }\n onUpdate:month={ onUpdateMonth }\n onUpdate:year={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n />\n )}\n </VFadeTransition>\n </>\n ),\n actions: slots.actions,\n }}\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePicker = InstanceType<typeof VDatePicker>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VDatePicker.mjs","names":["makeVDatePickerControlsProps","VDatePickerControls","VDatePickerHeader","makeVDatePickerMonthProps","VDatePickerMonth","makeVDatePickerMonthsProps","VDatePickerMonths","makeVDatePickerYearsProps","VDatePickerYears","VFadeTransition","VDefaultsProvider","makeVPickerProps","VPicker","useDate","useLocale","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDatePickerProps","header","type","String","default","weeksInMonth","title","modelValue","VDatePicker","name","props","emits","date","setup","_ref","emit","slots","adapter","t","model","undefined","v","multiple","viewMode","internal","value","isValid","month","Number","getMonth","startOfMonth","year","getYear","startOfYear","setMonth","isReversing","length","format","text","setDate","setYear","headerTransition","minDate","min","maxDate","max","disabled","targets","push","_date","addDays","isAfter","endOfMonth","onClickNext","onUpdateYear","onUpdateMonth","onClickPrev","onClickDate","onClickMonth","onClickYear","val","oldVal","arrBefore","arrAfter","before","after","newMonth","newYear","isBefore","pickerProps","filterProps","datePickerControlsProps","datePickerHeaderProps","datePickerMonthProps","datePickerMonthsProps","datePickerYearsProps","headerProps","transition","_createVNode","_mergeProps","showWeek","class","style","_Fragment","$event","actions"],"sources":["../../../src/components/VDatePicker/VDatePicker.tsx"],"sourcesContent":["// Styles\nimport './VDatePicker.sass'\n\n// Components\nimport { makeVDatePickerControlsProps, VDatePickerControls } from './VDatePickerControls'\nimport { VDatePickerHeader } from './VDatePickerHeader'\nimport { makeVDatePickerMonthProps, VDatePickerMonth } from './VDatePickerMonth'\nimport { makeVDatePickerMonthsProps, VDatePickerMonths } from './VDatePickerMonths'\nimport { makeVDatePickerYearsProps, VDatePickerYears } from './VDatePickerYears'\nimport { VFadeTransition } from '@/components/transitions'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { makeVPickerProps, VPicker } from '@/labs/VPicker/VPicker'\n\n// Composables\nimport { useDate } from '@/composables/date'\nimport { useLocale } from '@/composables/locale'\nimport { useProxiedModel } from '@/composables/proxiedModel'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender, wrapInArray } from '@/util'\n\n// Types\nimport type { VPickerSlots } from '@/labs/VPicker/VPicker'\nimport type { GenericProps } from '@/util'\n\n// Types\nexport type VDatePickerSlots = Omit<VPickerSlots, 'header'> & {\n header: {\n header: string\n transition: string\n }\n}\n\nexport const makeVDatePickerProps = propsFactory({\n // TODO: implement in v3.5\n // calendarIcon: {\n // type: String,\n // default: '$calendar',\n // },\n // keyboardIcon: {\n // type: String,\n // default: '$edit',\n // },\n // inputMode: {\n // type: String as PropType<'calendar' | 'keyboard'>,\n // default: 'calendar',\n // },\n // inputText: {\n // type: String,\n // default: '$vuetify.datePicker.input.placeholder',\n // },\n // inputPlaceholder: {\n // type: String,\n // default: 'dd/mm/yyyy',\n // },\n header: {\n type: String,\n default: '$vuetify.datePicker.header',\n },\n\n ...makeVDatePickerControlsProps(),\n ...makeVDatePickerMonthProps({\n weeksInMonth: 'static' as const,\n }),\n ...omit(makeVDatePickerMonthsProps(), ['modelValue']),\n ...omit(makeVDatePickerYearsProps(), ['modelValue']),\n ...makeVPickerProps({ title: '$vuetify.datePicker.title' }),\n\n modelValue: null,\n}, 'VDatePicker')\n\nexport const VDatePicker = genericComponent<new <\n T,\n Multiple extends boolean | 'range' | number | (string & {}) = false,\n TModel = Multiple extends true | number | string\n ? T[]\n : T,\n> (\n props: {\n modelValue?: TModel\n 'onUpdate:modelValue'?: (value: TModel) => void\n multiple?: Multiple\n },\n slots: VDatePickerSlots\n) => GenericProps<typeof props, typeof slots>>()({\n name: 'VDatePicker',\n\n props: makeVDatePickerProps(),\n\n emits: {\n 'update:modelValue': (date: any) => true,\n 'update:month': (date: any) => true,\n 'update:year': (date: any) => true,\n // 'update:inputMode': (date: any) => true,\n 'update:viewMode': (date: any) => true,\n },\n\n setup (props, { emit, slots }) {\n const adapter = useDate()\n const { t } = useLocale()\n\n const model = useProxiedModel(\n props,\n 'modelValue',\n undefined,\n v => wrapInArray(v),\n v => props.multiple ? v : v[0],\n )\n\n const viewMode = useProxiedModel(props, 'viewMode')\n // const inputMode = useProxiedModel(props, 'inputMode')\n const internal = computed(() => {\n const value = adapter.date(model.value?.[0])\n\n return value && adapter.isValid(value) ? value : adapter.date()\n })\n\n const month = ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))))\n const year = ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))))\n\n const isReversing = shallowRef(false)\n const header = computed(() => {\n if (props.multiple && model.value.length > 1) {\n return t('$vuetify.datePicker.itemsSelected', model.value.length)\n }\n\n return (model.value[0] && adapter.isValid(model.value[0]))\n ? adapter.format(adapter.date(model.value[0]), 'normalDateWithWeekday')\n : t(props.header)\n })\n const text = computed(() => {\n let date = adapter.date()\n\n date = adapter.setDate(date, 1)\n date = adapter.setMonth(date, month.value)\n date = adapter.setYear(date, year.value)\n\n return adapter.format(date, 'monthAndYear')\n })\n // const headerIcon = computed(() => props.inputMode === 'calendar' ? props.keyboardIcon : props.calendarIcon)\n const headerTransition = computed(() => `date-picker-header${isReversing.value ? '-reverse' : ''}-transition`)\n const minDate = computed(() => {\n const date = adapter.date(props.min)\n\n return props.min && adapter.isValid(date) ? date : null\n })\n const maxDate = computed(() => {\n const date = adapter.date(props.max)\n\n return props.max && adapter.isValid(date) ? date : null\n })\n const disabled = computed(() => {\n if (props.disabled) return true\n\n const targets = []\n\n if (viewMode.value !== 'month') {\n targets.push(...['prev', 'next'])\n } else {\n let _date = adapter.date()\n\n _date = adapter.setYear(_date, year.value)\n _date = adapter.setMonth(_date, month.value)\n\n if (minDate.value) {\n const date = adapter.addDays(adapter.startOfMonth(_date), -1)\n\n adapter.isAfter(minDate.value, date) && targets.push('prev')\n }\n\n if (maxDate.value) {\n const date = adapter.addDays(adapter.endOfMonth(_date), 1)\n\n adapter.isAfter(date, maxDate.value) && targets.push('next')\n }\n }\n\n return targets\n })\n\n // function onClickAppend () {\n // inputMode.value = inputMode.value === 'calendar' ? 'keyboard' : 'calendar'\n // }\n\n function onClickNext () {\n if (month.value < 11) {\n month.value++\n } else {\n year.value++\n month.value = 0\n onUpdateYear(year.value)\n }\n onUpdateMonth(month.value)\n }\n\n function onClickPrev () {\n if (month.value > 0) {\n month.value--\n } else {\n year.value--\n month.value = 11\n onUpdateYear(year.value)\n }\n onUpdateMonth(month.value)\n }\n\n function onClickDate () {\n viewMode.value = 'month'\n }\n\n function onClickMonth () {\n viewMode.value = viewMode.value === 'months' ? 'month' : 'months'\n }\n\n function onClickYear () {\n viewMode.value = viewMode.value === 'year' ? 'month' : 'year'\n }\n\n function onUpdateMonth (value: number) {\n if (viewMode.value === 'months') onClickMonth()\n\n emit('update:month', value)\n }\n\n function onUpdateYear (value: number) {\n if (viewMode.value === 'year') onClickYear()\n\n emit('update:year', value)\n }\n\n watch(model, (val, oldVal) => {\n const arrBefore = wrapInArray(oldVal)\n const arrAfter = wrapInArray(val)\n\n if (!arrAfter.length) return\n\n const before = adapter.date(arrBefore[arrBefore.length - 1])\n const after = adapter.date(arrAfter[arrAfter.length - 1])\n const newMonth = adapter.getMonth(after)\n const newYear = adapter.getYear(after)\n\n if (newMonth !== month.value) {\n month.value = newMonth\n onUpdateMonth(month.value)\n }\n\n if (newYear !== year.value) {\n year.value = newYear\n onUpdateYear(year.value)\n }\n\n isReversing.value = adapter.isBefore(before, after)\n })\n\n useRender(() => {\n const pickerProps = VPicker.filterProps(props)\n const datePickerControlsProps = VDatePickerControls.filterProps(props)\n const datePickerHeaderProps = VDatePickerHeader.filterProps(props)\n const datePickerMonthProps = VDatePickerMonth.filterProps(props)\n const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue'])\n const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue'])\n\n const headerProps = {\n header: header.value,\n transition: headerTransition.value,\n }\n\n return (\n <VPicker\n { ...pickerProps }\n class={[\n 'v-date-picker',\n `v-date-picker--${viewMode.value}`,\n {\n 'v-date-picker--show-week': props.showWeek,\n },\n props.class,\n ]}\n style={ props.style }\n v-slots={{\n title: () => slots.title?.() ?? (\n <div class=\"v-date-picker__title\">\n { t(props.title) }\n </div>\n ),\n header: () => slots.header ? (\n <VDefaultsProvider\n defaults={{\n VDatePickerHeader: { ...headerProps },\n }}\n >\n { slots.header?.(headerProps) }\n </VDefaultsProvider>\n ) : (\n <VDatePickerHeader\n key=\"header\"\n { ...datePickerHeaderProps }\n { ...headerProps }\n onClick={ viewMode.value !== 'month' ? onClickDate : undefined }\n v-slots={{\n ...slots,\n default: undefined,\n }}\n />\n ),\n default: () => (\n <>\n <VDatePickerControls\n { ...datePickerControlsProps }\n disabled={ disabled.value }\n text={ text.value }\n onClick:next={ onClickNext }\n onClick:prev={ onClickPrev }\n onClick:month={ onClickMonth }\n onClick:year={ onClickYear }\n />\n\n <VFadeTransition hideOnLeave>\n { viewMode.value === 'months' ? (\n <VDatePickerMonths\n key=\"date-picker-months\"\n { ...datePickerMonthsProps }\n v-model={ month.value }\n onUpdate:modelValue={ onUpdateMonth }\n min={ minDate.value }\n max={ maxDate.value }\n year={ year.value }\n />\n ) : viewMode.value === 'year' ? (\n <VDatePickerYears\n key=\"date-picker-years\"\n { ...datePickerYearsProps }\n v-model={ year.value }\n onUpdate:modelValue={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n />\n ) : (\n <VDatePickerMonth\n key=\"date-picker-month\"\n { ...datePickerMonthProps }\n v-model={ model.value }\n v-model:month={ month.value }\n v-model:year={ year.value }\n onUpdate:month={ onUpdateMonth }\n onUpdate:year={ onUpdateYear }\n min={ minDate.value }\n max={ maxDate.value }\n />\n )}\n </VFadeTransition>\n </>\n ),\n actions: slots.actions,\n }}\n />\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePicker = InstanceType<typeof VDatePicker>\n"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,9 @@
1
- import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
1
+ import { createVNode as _createVNode } from "vue";
2
2
  // Components
3
3
  import { VExpansionPanelSymbol } from "./shared.mjs";
4
4
  import { makeVExpansionPanelTextProps, VExpansionPanelText } from "./VExpansionPanelText.mjs";
5
- import { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from "./VExpansionPanelTitle.mjs"; // Composables
5
+ import { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from "./VExpansionPanelTitle.mjs";
6
+ import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs"; // Composables
6
7
  import { useBackgroundColor } from "../../composables/color.mjs";
7
8
  import { makeElevationProps, useElevation } from "../../composables/elevation.mjs";
8
9
  import { makeGroupItemProps, useGroupItem } from "../../composables/group.mjs";
@@ -72,15 +73,26 @@ export const VExpansionPanel = genericComponent()({
72
73
  }, {
73
74
  default: () => [_createVNode("div", {
74
75
  "class": ['v-expansion-panel__shadow', ...elevationClasses.value]
75
- }, null), hasTitle && _createVNode(VExpansionPanelTitle, _mergeProps({
76
- "key": "title"
77
- }, expansionPanelTitleProps), {
78
- default: () => [slots.title ? slots.title() : props.title]
79
- }), hasText && _createVNode(VExpansionPanelText, _mergeProps({
80
- "key": "text"
81
- }, expansionPanelTextProps), {
82
- default: () => [slots.text ? slots.text() : props.text]
83
- }), slots.default?.()]
76
+ }, null), _createVNode(VDefaultsProvider, {
77
+ "defaults": {
78
+ VExpansionPanelTitle: {
79
+ ...expansionPanelTitleProps
80
+ },
81
+ VExpansionPanelText: {
82
+ ...expansionPanelTextProps
83
+ }
84
+ }
85
+ }, {
86
+ default: () => [hasTitle && _createVNode(VExpansionPanelTitle, {
87
+ "key": "title"
88
+ }, {
89
+ default: () => [slots.title ? slots.title() : props.title]
90
+ }), hasText && _createVNode(VExpansionPanelText, {
91
+ "key": "text"
92
+ }, {
93
+ default: () => [slots.text ? slots.text() : props.text]
94
+ }), slots.default?.()]
95
+ })]
84
96
  });
85
97
  });
86
98
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"VExpansionPanel.mjs","names":["VExpansionPanelSymbol","makeVExpansionPanelTextProps","VExpansionPanelText","makeVExpansionPanelTitleProps","VExpansionPanelTitle","useBackgroundColor","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeRoundedProps","useRounded","makeTagProps","computed","provide","genericComponent","propsFactory","useRender","makeVExpansionPanelProps","title","String","text","bgColor","VExpansionPanel","name","props","emits","val","setup","_ref","slots","groupItem","backgroundColorClasses","backgroundColorStyles","elevationClasses","roundedClasses","isDisabled","disabled","value","selectedIndices","group","items","reduce","arr","item","index","selected","includes","id","push","isBeforeSelected","findIndex","isSelected","some","selectedIndex","isAfterSelected","hasText","hasTitle","expansionPanelTitleProps","filterProps","expansionPanelTextProps","_createVNode","tag","class","style","default","_mergeProps"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanel.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { makeVExpansionPanelTextProps, VExpansionPanelText } from './VExpansionPanelText'\nimport { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from './VExpansionPanelTitle'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, provide } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelProps = propsFactory({\n title: String,\n text: String,\n bgColor: String,\n\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeVExpansionPanelTitleProps(),\n ...makeVExpansionPanelTextProps(),\n}, 'VExpansionPanel')\n\nexport type VExpansionPanelSlots = {\n default: never\n title: never\n text: never\n}\n\nexport const VExpansionPanel = genericComponent<VExpansionPanelSlots>()({\n name: 'VExpansionPanel',\n\n props: makeVExpansionPanelProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const groupItem = useGroupItem(props, VExpansionPanelSymbol)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'bgColor')\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const isDisabled = computed(() => groupItem?.disabled.value || props.disabled)\n\n const selectedIndices = computed(() => groupItem.group.items.value.reduce<number[]>((arr, item, index) => {\n if (groupItem.group.selected.value.includes(item.id)) arr.push(index)\n return arr\n }, []))\n\n const isBeforeSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === 1)\n })\n\n const isAfterSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === -1)\n })\n\n provide(VExpansionPanelSymbol, groupItem)\n\n useRender(() => {\n const hasText = !!(slots.text || props.text)\n const hasTitle = !!(slots.title || props.title)\n\n const expansionPanelTitleProps = VExpansionPanelTitle.filterProps(props)\n const expansionPanelTextProps = VExpansionPanelText.filterProps(props)\n\n return (\n <props.tag\n class={[\n 'v-expansion-panel',\n {\n 'v-expansion-panel--active': groupItem.isSelected.value,\n 'v-expansion-panel--before-active': isBeforeSelected.value,\n 'v-expansion-panel--after-active': isAfterSelected.value,\n 'v-expansion-panel--disabled': isDisabled.value,\n },\n roundedClasses.value,\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n <div\n class={[\n 'v-expansion-panel__shadow',\n ...elevationClasses.value,\n ]}\n />\n\n { hasTitle && (\n <VExpansionPanelTitle\n key=\"title\"\n { ...expansionPanelTitleProps }\n >\n { slots.title ? slots.title() : props.title }\n </VExpansionPanelTitle>\n )}\n\n { hasText && (\n <VExpansionPanelText\n key=\"text\"\n { ...expansionPanelTextProps }\n >\n { slots.text ? slots.text() : props.text }\n </VExpansionPanelText>\n )}\n\n { slots.default?.() }\n </props.tag>\n )\n })\n\n return {\n groupItem,\n }\n },\n})\n\nexport type VExpansionPanel = InstanceType<typeof VExpansionPanel>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VExpansionPanel.mjs","names":["VExpansionPanelSymbol","makeVExpansionPanelTextProps","VExpansionPanelText","makeVExpansionPanelTitleProps","VExpansionPanelTitle","VDefaultsProvider","useBackgroundColor","makeElevationProps","useElevation","makeGroupItemProps","useGroupItem","makeRoundedProps","useRounded","makeTagProps","computed","provide","genericComponent","propsFactory","useRender","makeVExpansionPanelProps","title","String","text","bgColor","VExpansionPanel","name","props","emits","val","setup","_ref","slots","groupItem","backgroundColorClasses","backgroundColorStyles","elevationClasses","roundedClasses","isDisabled","disabled","value","selectedIndices","group","items","reduce","arr","item","index","selected","includes","id","push","isBeforeSelected","findIndex","isSelected","some","selectedIndex","isAfterSelected","hasText","hasTitle","expansionPanelTitleProps","filterProps","expansionPanelTextProps","_createVNode","tag","class","style","default"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanel.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { makeVExpansionPanelTextProps, VExpansionPanelText } from './VExpansionPanelText'\nimport { makeVExpansionPanelTitleProps, VExpansionPanelTitle } from './VExpansionPanelTitle'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { makeGroupItemProps, useGroupItem } from '@/composables/group'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\n\n// Utilities\nimport { computed, provide } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\nexport const makeVExpansionPanelProps = propsFactory({\n title: String,\n text: String,\n bgColor: String,\n\n ...makeElevationProps(),\n ...makeGroupItemProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeVExpansionPanelTitleProps(),\n ...makeVExpansionPanelTextProps(),\n}, 'VExpansionPanel')\n\nexport type VExpansionPanelSlots = {\n default: never\n title: never\n text: never\n}\n\nexport const VExpansionPanel = genericComponent<VExpansionPanelSlots>()({\n name: 'VExpansionPanel',\n\n props: makeVExpansionPanelProps(),\n\n emits: {\n 'group:selected': (val: { value: boolean }) => true,\n },\n\n setup (props, { slots }) {\n const groupItem = useGroupItem(props, VExpansionPanelSymbol)\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'bgColor')\n const { elevationClasses } = useElevation(props)\n const { roundedClasses } = useRounded(props)\n const isDisabled = computed(() => groupItem?.disabled.value || props.disabled)\n\n const selectedIndices = computed(() => groupItem.group.items.value.reduce<number[]>((arr, item, index) => {\n if (groupItem.group.selected.value.includes(item.id)) arr.push(index)\n return arr\n }, []))\n\n const isBeforeSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === 1)\n })\n\n const isAfterSelected = computed(() => {\n const index = groupItem.group.items.value.findIndex(item => item.id === groupItem.id)\n return !groupItem.isSelected.value &&\n selectedIndices.value.some(selectedIndex => selectedIndex - index === -1)\n })\n\n provide(VExpansionPanelSymbol, groupItem)\n\n useRender(() => {\n const hasText = !!(slots.text || props.text)\n const hasTitle = !!(slots.title || props.title)\n\n const expansionPanelTitleProps = VExpansionPanelTitle.filterProps(props)\n const expansionPanelTextProps = VExpansionPanelText.filterProps(props)\n\n return (\n <props.tag\n class={[\n 'v-expansion-panel',\n {\n 'v-expansion-panel--active': groupItem.isSelected.value,\n 'v-expansion-panel--before-active': isBeforeSelected.value,\n 'v-expansion-panel--after-active': isAfterSelected.value,\n 'v-expansion-panel--disabled': isDisabled.value,\n },\n roundedClasses.value,\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n >\n <div\n class={[\n 'v-expansion-panel__shadow',\n ...elevationClasses.value,\n ]}\n />\n\n <VDefaultsProvider\n defaults={{\n VExpansionPanelTitle: {\n ...expansionPanelTitleProps,\n },\n VExpansionPanelText: {\n ...expansionPanelTextProps,\n },\n }}\n >\n { hasTitle && (\n <VExpansionPanelTitle key=\"title\">\n { slots.title ? slots.title() : props.title }\n </VExpansionPanelTitle>\n )}\n\n { hasText && (\n <VExpansionPanelText key=\"text\">\n { slots.text ? slots.text() : props.text }\n </VExpansionPanelText>\n )}\n\n { slots.default?.() }\n </VDefaultsProvider>\n </props.tag>\n )\n })\n\n return {\n groupItem,\n }\n },\n})\n\nexport type VExpansionPanel = InstanceType<typeof VExpansionPanel>\n"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  import { withDirectives as _withDirectives, resolveDirective as _resolveDirective, createVNode as _createVNode } from "vue";
2
2
  // Components
3
3
  import { VExpansionPanelSymbol } from "./shared.mjs";
4
+ import { VDefaultsProvider } from "../VDefaultsProvider/index.mjs";
4
5
  import { VIcon } from "../VIcon/index.mjs"; // Composables
5
6
  import { useBackgroundColor } from "../../composables/color.mjs";
6
7
  import { makeComponentProps } from "../../composables/component.mjs";
@@ -51,6 +52,7 @@ export const VExpansionPanelTitle = genericComponent()({
51
52
  expandIcon: props.expandIcon,
52
53
  readonly: props.readonly
53
54
  }));
55
+ const icon = computed(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon);
54
56
  useRender(() => _withDirectives(_createVNode("button", {
55
57
  "class": ['v-expansion-panel-title', {
56
58
  'v-expansion-panel-title--active': expansionPanel.isSelected.value,
@@ -65,11 +67,17 @@ export const VExpansionPanelTitle = genericComponent()({
65
67
  "onClick": !props.readonly ? expansionPanel.toggle : undefined
66
68
  }, [_createVNode("span", {
67
69
  "class": "v-expansion-panel-title__overlay"
68
- }, null), slots.default?.(slotProps.value), !props.hideActions && _createVNode("span", {
69
- "class": "v-expansion-panel-title__icon"
70
- }, [slots.actions ? slots.actions(slotProps.value) : _createVNode(VIcon, {
71
- "icon": expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon
72
- }, null)])]), [[_resolveDirective("ripple"), props.ripple]]));
70
+ }, null), slots.default?.(slotProps.value), !props.hideActions && _createVNode(VDefaultsProvider, {
71
+ "defaults": {
72
+ VIcon: {
73
+ icon: icon.value
74
+ }
75
+ }
76
+ }, {
77
+ default: () => [_createVNode("span", {
78
+ "class": "v-expansion-panel-title__icon"
79
+ }, [slots.actions?.(slotProps.value) ?? _createVNode(VIcon, null, null)])]
80
+ })]), [[_resolveDirective("ripple"), props.ripple]]));
73
81
  return {};
74
82
  }
75
83
  });
@@ -1 +1 @@
1
- {"version":3,"file":"VExpansionPanelTitle.mjs","names":["VExpansionPanelSymbol","VIcon","useBackgroundColor","makeComponentProps","IconValue","Ripple","computed","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTitleProps","color","String","expandIcon","type","default","collapseIcon","hideActions","Boolean","focusable","static","ripple","Object","readonly","VExpansionPanelTitle","name","directives","props","setup","_ref","slots","expansionPanel","Error","backgroundColorClasses","backgroundColorStyles","slotProps","disabled","value","expanded","isSelected","_withDirectives","_createVNode","class","style","undefined","toggle","actions","_resolveDirective"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelTitle.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\ninterface ExpansionPanelTitleSlot {\n collapseIcon: IconValue\n disabled: boolean | undefined\n expanded: boolean\n expandIcon: IconValue\n readonly: boolean\n}\n\nexport type VExpansionPanelTitleSlots = {\n default: ExpansionPanelTitleSlot\n actions: ExpansionPanelTitleSlot\n}\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n hideActions: Boolean,\n focusable: Boolean,\n static: Boolean,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: false,\n },\n readonly: Boolean,\n\n ...makeComponentProps(),\n}, 'VExpansionPanelTitle')\n\nexport const VExpansionPanelTitle = genericComponent<VExpansionPanelTitleSlots>()({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props: makeVExpansionPanelTitleProps(),\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const slotProps = computed(() => ({\n collapseIcon: props.collapseIcon,\n disabled: expansionPanel.disabled.value,\n expanded: expansionPanel.isSelected.value,\n expandIcon: props.expandIcon,\n readonly: props.readonly,\n }))\n\n useRender(() => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n 'v-expansion-panel-title--focusable': props.focusable,\n 'v-expansion-panel-title--static': props.static,\n },\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ !props.readonly ? expansionPanel.toggle : undefined }\n v-ripple={ props.ripple }\n >\n <span class=\"v-expansion-panel-title__overlay\" />\n\n { slots.default?.(slotProps.value) }\n\n { !props.hideActions && (\n <span class=\"v-expansion-panel-title__icon\">\n {\n slots.actions ? slots.actions(slotProps.value)\n : <VIcon icon={ expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon } />\n }\n </span>\n )}\n </button>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"VExpansionPanelTitle.mjs","names":["VExpansionPanelSymbol","VDefaultsProvider","VIcon","useBackgroundColor","makeComponentProps","IconValue","Ripple","computed","inject","genericComponent","propsFactory","useRender","makeVExpansionPanelTitleProps","color","String","expandIcon","type","default","collapseIcon","hideActions","Boolean","focusable","static","ripple","Object","readonly","VExpansionPanelTitle","name","directives","props","setup","_ref","slots","expansionPanel","Error","backgroundColorClasses","backgroundColorStyles","slotProps","disabled","value","expanded","isSelected","icon","_withDirectives","_createVNode","class","style","undefined","toggle","actions","_resolveDirective"],"sources":["../../../src/components/VExpansionPanel/VExpansionPanelTitle.tsx"],"sourcesContent":["// Components\nimport { VExpansionPanelSymbol } from './shared'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\nimport { VIcon } from '@/components/VIcon'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { IconValue } from '@/composables/icons'\n\n// Directives\nimport { Ripple } from '@/directives/ripple'\n\n// Utilities\nimport { computed, inject } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\nimport type { RippleDirectiveBinding } from '@/directives/ripple'\n\ninterface ExpansionPanelTitleSlot {\n collapseIcon: IconValue\n disabled: boolean | undefined\n expanded: boolean\n expandIcon: IconValue\n readonly: boolean\n}\n\nexport type VExpansionPanelTitleSlots = {\n default: ExpansionPanelTitleSlot\n actions: ExpansionPanelTitleSlot\n}\n\nexport const makeVExpansionPanelTitleProps = propsFactory({\n color: String,\n expandIcon: {\n type: IconValue,\n default: '$expand',\n },\n collapseIcon: {\n type: IconValue,\n default: '$collapse',\n },\n hideActions: Boolean,\n focusable: Boolean,\n static: Boolean,\n ripple: {\n type: [Boolean, Object] as PropType<RippleDirectiveBinding['value']>,\n default: false,\n },\n readonly: Boolean,\n\n ...makeComponentProps(),\n}, 'VExpansionPanelTitle')\n\nexport const VExpansionPanelTitle = genericComponent<VExpansionPanelTitleSlots>()({\n name: 'VExpansionPanelTitle',\n\n directives: { Ripple },\n\n props: makeVExpansionPanelTitleProps(),\n\n setup (props, { slots }) {\n const expansionPanel = inject(VExpansionPanelSymbol)\n\n if (!expansionPanel) throw new Error('[Vuetify] v-expansion-panel-title needs to be placed inside v-expansion-panel')\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const slotProps = computed(() => ({\n collapseIcon: props.collapseIcon,\n disabled: expansionPanel.disabled.value,\n expanded: expansionPanel.isSelected.value,\n expandIcon: props.expandIcon,\n readonly: props.readonly,\n }))\n\n const icon = computed(() => expansionPanel.isSelected.value ? props.collapseIcon : props.expandIcon)\n\n useRender(() => (\n <button\n class={[\n 'v-expansion-panel-title',\n {\n 'v-expansion-panel-title--active': expansionPanel.isSelected.value,\n 'v-expansion-panel-title--focusable': props.focusable,\n 'v-expansion-panel-title--static': props.static,\n },\n backgroundColorClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n props.style,\n ]}\n type=\"button\"\n tabindex={ expansionPanel.disabled.value ? -1 : undefined }\n disabled={ expansionPanel.disabled.value }\n aria-expanded={ expansionPanel.isSelected.value }\n onClick={ !props.readonly ? expansionPanel.toggle : undefined }\n v-ripple={ props.ripple }\n >\n <span class=\"v-expansion-panel-title__overlay\" />\n\n { slots.default?.(slotProps.value) }\n\n { !props.hideActions && (\n <VDefaultsProvider\n defaults={{\n VIcon: {\n icon: icon.value,\n },\n }}\n >\n <span class=\"v-expansion-panel-title__icon\">\n { slots.actions?.(slotProps.value) ?? <VIcon /> }\n </span>\n </VDefaultsProvider>\n )}\n </button>\n ))\n\n return {}\n },\n})\n\nexport type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>\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.6.9-master.2024-06-12";
19
+ export const version = "3.6.9-master.2024-06-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.6.9-master.2024-06-12";
100
+ export const version = "3.6.9-master.2024-06-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
@@ -493,41 +493,47 @@ declare module '@vue/runtime-core' {
493
493
 
494
494
  export interface GlobalComponents {
495
495
  VApp: typeof import('vuetify/components')['VApp']
496
- VAlert: typeof import('vuetify/components')['VAlert']
497
- VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
498
- VBadge: typeof import('vuetify/components')['VBadge']
499
- VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
500
496
  VAppBar: typeof import('vuetify/components')['VAppBar']
501
497
  VAppBarNavIcon: typeof import('vuetify/components')['VAppBarNavIcon']
502
498
  VAppBarTitle: typeof import('vuetify/components')['VAppBarTitle']
503
- VAvatar: typeof import('vuetify/components')['VAvatar']
499
+ VBadge: typeof import('vuetify/components')['VBadge']
500
+ VAlert: typeof import('vuetify/components')['VAlert']
501
+ VAlertTitle: typeof import('vuetify/components')['VAlertTitle']
502
+ VAutocomplete: typeof import('vuetify/components')['VAutocomplete']
504
503
  VBanner: typeof import('vuetify/components')['VBanner']
505
504
  VBannerActions: typeof import('vuetify/components')['VBannerActions']
506
505
  VBannerText: typeof import('vuetify/components')['VBannerText']
507
506
  VBottomNavigation: typeof import('vuetify/components')['VBottomNavigation']
508
- VBtn: typeof import('vuetify/components')['VBtn']
509
507
  VBreadcrumbs: typeof import('vuetify/components')['VBreadcrumbs']
510
508
  VBreadcrumbsItem: typeof import('vuetify/components')['VBreadcrumbsItem']
511
509
  VBreadcrumbsDivider: typeof import('vuetify/components')['VBreadcrumbsDivider']
512
510
  VBottomSheet: typeof import('vuetify/components')['VBottomSheet']
513
- VCheckbox: typeof import('vuetify/components')['VCheckbox']
514
- VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
511
+ VBtn: typeof import('vuetify/components')['VBtn']
512
+ VAvatar: typeof import('vuetify/components')['VAvatar']
513
+ VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
514
+ VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
515
515
  VCard: typeof import('vuetify/components')['VCard']
516
516
  VCardActions: typeof import('vuetify/components')['VCardActions']
517
517
  VCardItem: typeof import('vuetify/components')['VCardItem']
518
518
  VCardSubtitle: typeof import('vuetify/components')['VCardSubtitle']
519
519
  VCardText: typeof import('vuetify/components')['VCardText']
520
520
  VCardTitle: typeof import('vuetify/components')['VCardTitle']
521
- VBtnGroup: typeof import('vuetify/components')['VBtnGroup']
522
- VBtnToggle: typeof import('vuetify/components')['VBtnToggle']
523
521
  VCarousel: typeof import('vuetify/components')['VCarousel']
524
522
  VCarouselItem: typeof import('vuetify/components')['VCarouselItem']
523
+ VCheckbox: typeof import('vuetify/components')['VCheckbox']
524
+ VCheckboxBtn: typeof import('vuetify/components')['VCheckboxBtn']
525
+ VCode: typeof import('vuetify/components')['VCode']
526
+ VChip: typeof import('vuetify/components')['VChip']
525
527
  VChipGroup: typeof import('vuetify/components')['VChipGroup']
526
528
  VColorPicker: typeof import('vuetify/components')['VColorPicker']
527
- VChip: typeof import('vuetify/components')['VChip']
528
- VCombobox: typeof import('vuetify/components')['VCombobox']
529
529
  VCounter: typeof import('vuetify/components')['VCounter']
530
- VCode: typeof import('vuetify/components')['VCode']
530
+ VDatePicker: typeof import('vuetify/components')['VDatePicker']
531
+ VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
532
+ VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
533
+ VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
534
+ VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
535
+ VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
536
+ VCombobox: typeof import('vuetify/components')['VCombobox']
531
537
  VDataTable: typeof import('vuetify/components')['VDataTable']
532
538
  VDataTableHeaders: typeof import('vuetify/components')['VDataTableHeaders']
533
539
  VDataTableFooter: typeof import('vuetify/components')['VDataTableFooter']
@@ -535,37 +541,27 @@ declare module '@vue/runtime-core' {
535
541
  VDataTableRow: typeof import('vuetify/components')['VDataTableRow']
536
542
  VDataTableVirtual: typeof import('vuetify/components')['VDataTableVirtual']
537
543
  VDataTableServer: typeof import('vuetify/components')['VDataTableServer']
538
- VDatePicker: typeof import('vuetify/components')['VDatePicker']
539
- VDatePickerControls: typeof import('vuetify/components')['VDatePickerControls']
540
- VDatePickerHeader: typeof import('vuetify/components')['VDatePickerHeader']
541
- VDatePickerMonth: typeof import('vuetify/components')['VDatePickerMonth']
542
- VDatePickerMonths: typeof import('vuetify/components')['VDatePickerMonths']
543
- VDatePickerYears: typeof import('vuetify/components')['VDatePickerYears']
544
+ VDivider: typeof import('vuetify/components')['VDivider']
544
545
  VDialog: typeof import('vuetify/components')['VDialog']
546
+ VEmptyState: typeof import('vuetify/components')['VEmptyState']
545
547
  VExpansionPanels: typeof import('vuetify/components')['VExpansionPanels']
546
548
  VExpansionPanel: typeof import('vuetify/components')['VExpansionPanel']
547
549
  VExpansionPanelText: typeof import('vuetify/components')['VExpansionPanelText']
548
550
  VExpansionPanelTitle: typeof import('vuetify/components')['VExpansionPanelTitle']
549
- VEmptyState: typeof import('vuetify/components')['VEmptyState']
550
- VDivider: typeof import('vuetify/components')['VDivider']
551
+ VFab: typeof import('vuetify/components')['VFab']
551
552
  VField: typeof import('vuetify/components')['VField']
552
553
  VFieldLabel: typeof import('vuetify/components')['VFieldLabel']
553
- VFab: typeof import('vuetify/components')['VFab']
554
554
  VFileInput: typeof import('vuetify/components')['VFileInput']
555
555
  VFooter: typeof import('vuetify/components')['VFooter']
556
- VImg: typeof import('vuetify/components')['VImg']
557
- VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
558
556
  VIcon: typeof import('vuetify/components')['VIcon']
559
557
  VComponentIcon: typeof import('vuetify/components')['VComponentIcon']
560
558
  VSvgIcon: typeof import('vuetify/components')['VSvgIcon']
561
559
  VLigatureIcon: typeof import('vuetify/components')['VLigatureIcon']
562
560
  VClassIcon: typeof import('vuetify/components')['VClassIcon']
563
- VInput: typeof import('vuetify/components')['VInput']
564
561
  VItemGroup: typeof import('vuetify/components')['VItemGroup']
565
562
  VItem: typeof import('vuetify/components')['VItem']
566
- VKbd: typeof import('vuetify/components')['VKbd']
567
- VLabel: typeof import('vuetify/components')['VLabel']
568
- VMenu: typeof import('vuetify/components')['VMenu']
563
+ VImg: typeof import('vuetify/components')['VImg']
564
+ VInfiniteScroll: typeof import('vuetify/components')['VInfiniteScroll']
569
565
  VList: typeof import('vuetify/components')['VList']
570
566
  VListGroup: typeof import('vuetify/components')['VListGroup']
571
567
  VListImg: typeof import('vuetify/components')['VListImg']
@@ -575,36 +571,42 @@ declare module '@vue/runtime-core' {
575
571
  VListItemSubtitle: typeof import('vuetify/components')['VListItemSubtitle']
576
572
  VListItemTitle: typeof import('vuetify/components')['VListItemTitle']
577
573
  VListSubheader: typeof import('vuetify/components')['VListSubheader']
574
+ VInput: typeof import('vuetify/components')['VInput']
575
+ VKbd: typeof import('vuetify/components')['VKbd']
576
+ VMenu: typeof import('vuetify/components')['VMenu']
578
577
  VMain: typeof import('vuetify/components')['VMain']
578
+ VLabel: typeof import('vuetify/components')['VLabel']
579
+ VMessages: typeof import('vuetify/components')['VMessages']
579
580
  VNavigationDrawer: typeof import('vuetify/components')['VNavigationDrawer']
580
581
  VOtpInput: typeof import('vuetify/components')['VOtpInput']
581
- VMessages: typeof import('vuetify/components')['VMessages']
582
+ VPagination: typeof import('vuetify/components')['VPagination']
582
583
  VOverlay: typeof import('vuetify/components')['VOverlay']
583
- VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
584
584
  VProgressCircular: typeof import('vuetify/components')['VProgressCircular']
585
+ VRating: typeof import('vuetify/components')['VRating']
586
+ VProgressLinear: typeof import('vuetify/components')['VProgressLinear']
585
587
  VRadioGroup: typeof import('vuetify/components')['VRadioGroup']
586
- VPagination: typeof import('vuetify/components')['VPagination']
588
+ VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
587
589
  VSelect: typeof import('vuetify/components')['VSelect']
590
+ VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
591
+ VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
592
+ VSnackbar: typeof import('vuetify/components')['VSnackbar']
588
593
  VSheet: typeof import('vuetify/components')['VSheet']
589
- VRating: typeof import('vuetify/components')['VRating']
590
- VSelectionControlGroup: typeof import('vuetify/components')['VSelectionControlGroup']
591
- VSlider: typeof import('vuetify/components')['VSlider']
592
594
  VSlideGroup: typeof import('vuetify/components')['VSlideGroup']
593
595
  VSlideGroupItem: typeof import('vuetify/components')['VSlideGroupItem']
594
- VSelectionControl: typeof import('vuetify/components')['VSelectionControl']
596
+ VSlider: typeof import('vuetify/components')['VSlider']
597
+ VTable: typeof import('vuetify/components')['VTable']
595
598
  VStepper: typeof import('vuetify/components')['VStepper']
596
599
  VStepperActions: typeof import('vuetify/components')['VStepperActions']
597
600
  VStepperHeader: typeof import('vuetify/components')['VStepperHeader']
598
601
  VStepperItem: typeof import('vuetify/components')['VStepperItem']
599
602
  VStepperWindow: typeof import('vuetify/components')['VStepperWindow']
600
603
  VStepperWindowItem: typeof import('vuetify/components')['VStepperWindowItem']
601
- VSkeletonLoader: typeof import('vuetify/components')['VSkeletonLoader']
602
- VSnackbar: typeof import('vuetify/components')['VSnackbar']
603
- VTable: typeof import('vuetify/components')['VTable']
604
604
  VSwitch: typeof import('vuetify/components')['VSwitch']
605
- VTextarea: typeof import('vuetify/components')['VTextarea']
606
- VSystemBar: typeof import('vuetify/components')['VSystemBar']
607
605
  VTextField: typeof import('vuetify/components')['VTextField']
606
+ VTimeline: typeof import('vuetify/components')['VTimeline']
607
+ VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
608
+ VSystemBar: typeof import('vuetify/components')['VSystemBar']
609
+ VTextarea: typeof import('vuetify/components')['VTextarea']
608
610
  VTab: typeof import('vuetify/components')['VTab']
609
611
  VTabs: typeof import('vuetify/components')['VTabs']
610
612
  VTabsWindow: typeof import('vuetify/components')['VTabsWindow']
@@ -615,8 +617,6 @@ declare module '@vue/runtime-core' {
615
617
  VTooltip: typeof import('vuetify/components')['VTooltip']
616
618
  VWindow: typeof import('vuetify/components')['VWindow']
617
619
  VWindowItem: typeof import('vuetify/components')['VWindowItem']
618
- VTimeline: typeof import('vuetify/components')['VTimeline']
619
- VTimelineItem: typeof import('vuetify/components')['VTimelineItem']
620
620
  VConfirmEdit: typeof import('vuetify/components')['VConfirmEdit']
621
621
  VDataIterator: typeof import('vuetify/components')['VDataIterator']
622
622
  VDefaultsProvider: typeof import('vuetify/components')['VDefaultsProvider']
@@ -626,20 +626,19 @@ declare module '@vue/runtime-core' {
626
626
  VRow: typeof import('vuetify/components')['VRow']
627
627
  VSpacer: typeof import('vuetify/components')['VSpacer']
628
628
  VHover: typeof import('vuetify/components')['VHover']
629
- VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
629
+ VLazy: typeof import('vuetify/components')['VLazy']
630
630
  VLayout: typeof import('vuetify/components')['VLayout']
631
631
  VLayoutItem: typeof import('vuetify/components')['VLayoutItem']
632
- VLazy: typeof import('vuetify/components')['VLazy']
632
+ VLocaleProvider: typeof import('vuetify/components')['VLocaleProvider']
633
633
  VNoSsr: typeof import('vuetify/components')['VNoSsr']
634
634
  VParallax: typeof import('vuetify/components')['VParallax']
635
635
  VRadio: typeof import('vuetify/components')['VRadio']
636
636
  VRangeSlider: typeof import('vuetify/components')['VRangeSlider']
637
637
  VResponsive: typeof import('vuetify/components')['VResponsive']
638
- VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
639
638
  VSparkline: typeof import('vuetify/components')['VSparkline']
639
+ VSpeedDial: typeof import('vuetify/components')['VSpeedDial']
640
640
  VThemeProvider: typeof import('vuetify/components')['VThemeProvider']
641
641
  VValidation: typeof import('vuetify/components')['VValidation']
642
- VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
643
642
  VFabTransition: typeof import('vuetify/components')['VFabTransition']
644
643
  VDialogBottomTransition: typeof import('vuetify/components')['VDialogBottomTransition']
645
644
  VDialogTopTransition: typeof import('vuetify/components')['VDialogTopTransition']
@@ -656,26 +655,27 @@ declare module '@vue/runtime-core' {
656
655
  VExpandTransition: typeof import('vuetify/components')['VExpandTransition']
657
656
  VExpandXTransition: typeof import('vuetify/components')['VExpandXTransition']
658
657
  VDialogTransition: typeof import('vuetify/components')['VDialogTransition']
658
+ VVirtualScroll: typeof import('vuetify/components')['VVirtualScroll']
659
+ VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
660
+ VPicker: typeof import('vuetify/labs/components')['VPicker']
661
+ VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
659
662
  VCalendar: typeof import('vuetify/labs/components')['VCalendar']
660
663
  VCalendarDay: typeof import('vuetify/labs/components')['VCalendarDay']
661
664
  VCalendarHeader: typeof import('vuetify/labs/components')['VCalendarHeader']
662
665
  VCalendarInterval: typeof import('vuetify/labs/components')['VCalendarInterval']
663
666
  VCalendarIntervalEvent: typeof import('vuetify/labs/components')['VCalendarIntervalEvent']
664
667
  VCalendarMonthDay: typeof import('vuetify/labs/components')['VCalendarMonthDay']
665
- VPicker: typeof import('vuetify/labs/components')['VPicker']
666
- VPickerTitle: typeof import('vuetify/labs/components')['VPickerTitle']
667
- VNumberInput: typeof import('vuetify/labs/components')['VNumberInput']
668
- VTreeview: typeof import('vuetify/labs/components')['VTreeview']
669
- VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
670
- VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
671
668
  VStepperVertical: typeof import('vuetify/labs/components')['VStepperVertical']
672
669
  VStepperVerticalItem: typeof import('vuetify/labs/components')['VStepperVerticalItem']
673
670
  VStepperVerticalActions: typeof import('vuetify/labs/components')['VStepperVerticalActions']
671
+ VTreeview: typeof import('vuetify/labs/components')['VTreeview']
672
+ VTreeviewItem: typeof import('vuetify/labs/components')['VTreeviewItem']
673
+ VTreeviewGroup: typeof import('vuetify/labs/components')['VTreeviewGroup']
674
674
  VTimePicker: typeof import('vuetify/labs/components')['VTimePicker']
675
675
  VTimePickerClock: typeof import('vuetify/labs/components')['VTimePickerClock']
676
676
  VTimePickerControls: typeof import('vuetify/labs/components')['VTimePickerControls']
677
677
  VDateInput: typeof import('vuetify/labs/components')['VDateInput']
678
- VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
679
678
  VSnackbarQueue: typeof import('vuetify/labs/components')['VSnackbarQueue']
679
+ VPullToRefresh: typeof import('vuetify/labs/components')['VPullToRefresh']
680
680
  }
681
681
  }
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.6.9-master.2024-06-12",
4
+ "version": "3.6.9-master.2024-06-18",
5
5
  "author": {
6
6
  "name": "John Leider",
7
7
  "email": "john@vuetifyjs.com"