@vuetify/nightly 3.7.17-dev.2025-03-18 → 3.7.18-dev.2025-03-19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -3
- package/dist/json/attributes.json +3587 -3543
- package/dist/json/importMap-labs.json +36 -36
- package/dist/json/importMap.json +166 -166
- package/dist/json/tags.json +11 -0
- package/dist/json/web-types.json +6725 -6620
- package/dist/vuetify-labs.cjs +31517 -0
- package/dist/vuetify-labs.css +4465 -4458
- package/dist/vuetify-labs.d.ts +155 -82
- package/dist/vuetify-labs.esm.js +53 -9
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +53 -9
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +29151 -0
- package/dist/vuetify.cjs.map +1 -0
- package/dist/vuetify.css +2280 -2273
- package/dist/vuetify.d.ts +115 -76
- package/dist/vuetify.esm.js +53 -8
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +53 -8
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +18 -18
- package/dist/vuetify.min.js.map +1 -1
- package/lib/blueprints/md1.js +10 -0
- package/lib/blueprints/md1.js.map +1 -1
- package/lib/blueprints/md2.js +10 -0
- package/lib/blueprints/md2.js.map +1 -1
- package/lib/blueprints/md3.js +12 -0
- package/lib/blueprints/md3.js.map +1 -1
- package/lib/components/VBtnGroup/VBtnGroup.d.ts +6 -6
- package/lib/components/VBtnToggle/VBtnToggle.d.ts +6 -6
- package/lib/components/VColorPicker/VColorPicker.d.ts +13 -0
- package/lib/components/VConfirmEdit/VConfirmEdit.d.ts +13 -0
- package/lib/components/VConfirmEdit/VConfirmEdit.js +3 -2
- package/lib/components/VConfirmEdit/VConfirmEdit.js.map +1 -1
- package/lib/components/VDatePicker/VDatePicker.d.ts +33 -0
- package/lib/components/VDatePicker/VDatePicker.js +4 -0
- package/lib/components/VDatePicker/VDatePicker.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerControls.css +1 -0
- package/lib/components/VDatePicker/VDatePickerControls.d.ts +10 -0
- package/lib/components/VDatePicker/VDatePickerControls.js +8 -2
- package/lib/components/VDatePicker/VDatePickerControls.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerControls.sass +2 -0
- package/lib/components/VDatePicker/VDatePickerMonth.js +2 -2
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VDatePicker/_variables.scss +1 -0
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +64 -64
- package/lib/framework.js +1 -1
- package/lib/labs/VDateInput/VDateInput.d.ts +39 -6
- package/lib/labs/VDateInput/VDateInput.js +0 -1
- package/lib/labs/VDateInput/VDateInput.js.map +1 -1
- package/lib/labs/VPicker/VPicker.css +6 -0
- package/lib/labs/VPicker/VPicker.d.ts +13 -0
- package/lib/labs/VPicker/VPicker.js +2 -0
- package/lib/labs/VPicker/VPicker.js.map +1 -1
- package/lib/labs/VPicker/VPicker.sass +6 -0
- package/lib/labs/VPicker/_variables.scss +4 -0
- package/lib/labs/VTimePicker/VTimePicker.d.ts +13 -0
- package/package.json +11 -1
@@ -43,6 +43,7 @@ export const makeVDatePickerProps = propsFactory({
|
|
43
43
|
type: String,
|
44
44
|
default: '$vuetify.datePicker.header'
|
45
45
|
},
|
46
|
+
headerColor: String,
|
46
47
|
...makeVDatePickerControlsProps(),
|
47
48
|
...makeVDatePickerMonthProps({
|
48
49
|
weeksInMonth: 'static'
|
@@ -100,6 +101,7 @@ export const VDatePicker = genericComponent()({
|
|
100
101
|
}
|
101
102
|
return value && adapter.isValid(value) ? value : today;
|
102
103
|
});
|
104
|
+
const headerColor = computed(() => props.headerColor ?? props.color);
|
103
105
|
const month = ref(Number(props.month ?? adapter.getMonth(adapter.startOfMonth(internal.value))));
|
104
106
|
const year = ref(Number(props.year ?? adapter.getYear(adapter.startOfYear(adapter.setMonth(internal.value, month.value)))));
|
105
107
|
const isReversing = shallowRef(false);
|
@@ -207,10 +209,12 @@ export const VDatePicker = genericComponent()({
|
|
207
209
|
const datePickerMonthsProps = omit(VDatePickerMonths.filterProps(props), ['modelValue']);
|
208
210
|
const datePickerYearsProps = omit(VDatePickerYears.filterProps(props), ['modelValue']);
|
209
211
|
const headerProps = {
|
212
|
+
color: headerColor.value,
|
210
213
|
header: header.value,
|
211
214
|
transition: headerTransition.value
|
212
215
|
};
|
213
216
|
return _createVNode(VPicker, _mergeProps(pickerProps, {
|
217
|
+
"color": headerColor.value,
|
214
218
|
"class": ['v-date-picker', `v-date-picker--${viewMode.value}`, {
|
215
219
|
'v-date-picker--show-week': props.showWeek
|
216
220
|
}, rtlClasses.value, props.class],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDatePicker.js","names":["makeVDatePickerControlsProps","VDatePickerControls","VDatePickerHeader","makeVDatePickerMonthProps","VDatePickerMonth","makeVDatePickerMonthsProps","VDatePickerMonths","makeVDatePickerYearsProps","VDatePickerYears","VFadeTransition","VDefaultsProvider","makeVPickerProps","VPicker","useDate","useLocale","useRtl","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","rtlClasses","model","undefined","v","multiple","viewMode","minDate","min","isValid","maxDate","max","internal","today","value","isBefore","isAfter","month","Number","getMonth","startOfMonth","year","getYear","startOfYear","setMonth","isReversing","length","format","text","setDate","setYear","headerTransition","disabled","targets","push","_date","addDays","endOfMonth","onClickNext","onUpdateYear","onUpdateMonth","onClickPrev","onClickDate","onClickMonth","onClickYear","val","oldVal","arrBefore","arrAfter","before","after","newMonth","newYear","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, useRtl } 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 const { rtlClasses } = useRtl()\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\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\n const internal = computed(() => {\n const today = adapter.date()\n let value = today\n if (model.value?.[0]) {\n value = adapter.date(model.value[0])\n } else if (minDate.value && adapter.isBefore(today, minDate.value)) {\n value = minDate.value\n } else if (maxDate.value && adapter.isAfter(today, maxDate.value)) {\n value = maxDate.value\n }\n\n return value && adapter.isValid(value) ? value : today\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\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.startOfMonth(_date)\n _date = adapter.setMonth(_date, month.value)\n _date = adapter.setYear(_date, year.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 rtlClasses.value,\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.js","names":["makeVDatePickerControlsProps","VDatePickerControls","VDatePickerHeader","makeVDatePickerMonthProps","VDatePickerMonth","makeVDatePickerMonthsProps","VDatePickerMonths","makeVDatePickerYearsProps","VDatePickerYears","VFadeTransition","VDefaultsProvider","makeVPickerProps","VPicker","useDate","useLocale","useRtl","useProxiedModel","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","wrapInArray","makeVDatePickerProps","header","type","String","default","headerColor","weeksInMonth","title","modelValue","VDatePicker","name","props","emits","date","setup","_ref","emit","slots","adapter","t","rtlClasses","model","undefined","v","multiple","viewMode","minDate","min","isValid","maxDate","max","internal","today","value","isBefore","isAfter","color","month","Number","getMonth","startOfMonth","year","getYear","startOfYear","setMonth","isReversing","length","format","text","setDate","setYear","headerTransition","disabled","targets","push","_date","addDays","endOfMonth","onClickNext","onUpdateYear","onUpdateMonth","onClickPrev","onClickDate","onClickMonth","onClickYear","val","oldVal","arrBefore","arrAfter","before","after","newMonth","newYear","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, useRtl } 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 headerColor: String,\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 const { rtlClasses } = useRtl()\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\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\n const internal = computed(() => {\n const today = adapter.date()\n let value = today\n if (model.value?.[0]) {\n value = adapter.date(model.value[0])\n } else if (minDate.value && adapter.isBefore(today, minDate.value)) {\n value = minDate.value\n } else if (maxDate.value && adapter.isAfter(today, maxDate.value)) {\n value = maxDate.value\n }\n\n return value && adapter.isValid(value) ? value : today\n })\n const headerColor = computed(() => props.headerColor ?? props.color)\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\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.startOfMonth(_date)\n _date = adapter.setMonth(_date, month.value)\n _date = adapter.setYear(_date, year.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 color: headerColor.value,\n header: header.value,\n transition: headerTransition.value,\n }\n\n return (\n <VPicker\n { ...pickerProps }\n color={ headerColor.value }\n class={[\n 'v-date-picker',\n `v-date-picker--${viewMode.value}`,\n {\n 'v-date-picker--show-week': props.showWeek,\n },\n rtlClasses.value,\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":[]}
|
@@ -2,6 +2,7 @@ import { IconValue } from "../../composables/icons.js";
|
|
2
2
|
import type { PropType } from 'vue';
|
3
3
|
export declare const makeVDatePickerControlsProps: <Defaults extends {
|
4
4
|
active?: unknown;
|
5
|
+
controlHeight?: unknown;
|
5
6
|
disabled?: unknown;
|
6
7
|
nextIcon?: unknown;
|
7
8
|
prevIcon?: unknown;
|
@@ -19,6 +20,10 @@ export declare const makeVDatePickerControlsProps: <Defaults extends {
|
|
19
20
|
type: PropType<unknown extends Defaults["active"] ? string | string[] : string | string[] | Defaults["active"]>;
|
20
21
|
default: unknown extends Defaults["active"] ? string | string[] : Defaults["active"] | NonNullable<string | string[]>;
|
21
22
|
};
|
23
|
+
controlHeight: unknown extends Defaults["controlHeight"] ? (StringConstructor | NumberConstructor)[] : {
|
24
|
+
type: PropType<unknown extends Defaults["controlHeight"] ? string | number : string | number | Defaults["controlHeight"]>;
|
25
|
+
default: unknown extends Defaults["controlHeight"] ? string | number : NonNullable<string | number> | Defaults["controlHeight"];
|
26
|
+
};
|
22
27
|
disabled: unknown extends Defaults["disabled"] ? {
|
23
28
|
type: PropType<boolean | string | string[] | null>;
|
24
29
|
default: null;
|
@@ -84,6 +89,7 @@ export declare const VDatePickerControls: {
|
|
84
89
|
} & {
|
85
90
|
active?: string | string[] | undefined;
|
86
91
|
text?: string | undefined;
|
92
|
+
controlHeight?: string | number | undefined;
|
87
93
|
} & {
|
88
94
|
$children?: import("vue").VNodeChild | {
|
89
95
|
default?: (() => import("vue").VNodeChild) | undefined;
|
@@ -130,6 +136,7 @@ export declare const VDatePickerControls: {
|
|
130
136
|
} & {
|
131
137
|
active?: string | string[] | undefined;
|
132
138
|
text?: string | undefined;
|
139
|
+
controlHeight?: string | number | undefined;
|
133
140
|
} & {
|
134
141
|
$children?: import("vue").VNodeChild | {
|
135
142
|
default?: (() => import("vue").VNodeChild) | undefined;
|
@@ -165,6 +172,7 @@ export declare const VDatePickerControls: {
|
|
165
172
|
} & {
|
166
173
|
active?: string | string[] | undefined;
|
167
174
|
text?: string | undefined;
|
175
|
+
controlHeight?: string | number | undefined;
|
168
176
|
} & {
|
169
177
|
$children?: import("vue").VNodeChild | {
|
170
178
|
default?: (() => import("vue").VNodeChild) | undefined;
|
@@ -200,6 +208,7 @@ export declare const VDatePickerControls: {
|
|
200
208
|
type: PropType<string | string[]>;
|
201
209
|
default: undefined;
|
202
210
|
};
|
211
|
+
controlHeight: (StringConstructor | NumberConstructor)[];
|
203
212
|
disabled: {
|
204
213
|
type: PropType<boolean | string | string[] | null>;
|
205
214
|
default: null;
|
@@ -226,6 +235,7 @@ export declare const VDatePickerControls: {
|
|
226
235
|
type: PropType<string | string[]>;
|
227
236
|
default: undefined;
|
228
237
|
};
|
238
|
+
controlHeight: (StringConstructor | NumberConstructor)[];
|
229
239
|
disabled: {
|
230
240
|
type: PropType<boolean | string | string[] | null>;
|
231
241
|
default: null;
|
@@ -7,12 +7,13 @@ import { VBtn } from "../VBtn/index.js";
|
|
7
7
|
import { VSpacer } from "../VGrid/index.js"; // Composables
|
8
8
|
import { IconValue } from "../../composables/icons.js"; // Utilities
|
9
9
|
import { computed } from 'vue';
|
10
|
-
import { genericComponent, propsFactory, useRender } from "../../util/index.js"; // Types
|
10
|
+
import { convertToUnit, genericComponent, propsFactory, useRender } from "../../util/index.js"; // Types
|
11
11
|
export const makeVDatePickerControlsProps = propsFactory({
|
12
12
|
active: {
|
13
13
|
type: [String, Array],
|
14
14
|
default: undefined
|
15
15
|
},
|
16
|
+
controlHeight: [Number, String],
|
16
17
|
disabled: {
|
17
18
|
type: [Boolean, String, Array],
|
18
19
|
default: null
|
@@ -76,7 +77,10 @@ export const VDatePickerControls = genericComponent()({
|
|
76
77
|
useRender(() => {
|
77
78
|
// TODO: add slot support and scope defaults
|
78
79
|
return _createVNode("div", {
|
79
|
-
"class": ['v-date-picker-controls']
|
80
|
+
"class": ['v-date-picker-controls'],
|
81
|
+
"style": {
|
82
|
+
'--v-date-picker-controls-height': convertToUnit(props.controlHeight)
|
83
|
+
}
|
80
84
|
}, [_createVNode(VBtn, {
|
81
85
|
"class": "v-date-picker-controls__month-btn",
|
82
86
|
"data-testid": "month-btn",
|
@@ -98,6 +102,7 @@ export const VDatePickerControls = genericComponent()({
|
|
98
102
|
}, [_createVNode(VBtn, {
|
99
103
|
"data-testid": "prev-month",
|
100
104
|
"disabled": disablePrev.value,
|
105
|
+
"density": "comfortable",
|
101
106
|
"icon": props.prevIcon,
|
102
107
|
"variant": "text",
|
103
108
|
"onClick": onClickPrev
|
@@ -105,6 +110,7 @@ export const VDatePickerControls = genericComponent()({
|
|
105
110
|
"data-testid": "next-month",
|
106
111
|
"disabled": disableNext.value,
|
107
112
|
"icon": props.nextIcon,
|
113
|
+
"density": "comfortable",
|
108
114
|
"variant": "text",
|
109
115
|
"onClick": onClickNext
|
110
116
|
}, null)])]);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDatePickerControls.js","names":["VBtn","VSpacer","IconValue","computed","genericComponent","propsFactory","useRender","makeVDatePickerControlsProps","active","type","String","Array","default","undefined","disabled","Boolean","nextIcon","prevIcon","modeIcon","text","viewMode","VDatePickerControls","name","props","emits","click:year","click:month","click:prev","click:next","click:text","setup","_ref","emit","disableMonth","isArray","includes","disableYear","disablePrev","disableNext","onClickPrev","onClickNext","onClickYear","onClickMonth","_createVNode","value"],"sources":["../../../src/components/VDatePicker/VDatePickerControls.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerControls.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VSpacer } from '@/components/VGrid'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDatePickerControlsProps = propsFactory({\n active: {\n type: [String, Array] as PropType<string | string[]>,\n default: undefined,\n },\n disabled: {\n type: [Boolean, String, Array] as PropType<boolean | string | string[] | null>,\n default: null,\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n modeIcon: {\n type: IconValue,\n default: '$subgroup',\n },\n text: String,\n viewMode: {\n type: String as PropType<'month' | 'months' | 'year'>,\n default: 'month',\n },\n}, 'VDatePickerControls')\n\nexport const VDatePickerControls = genericComponent()({\n name: 'VDatePickerControls',\n\n props: makeVDatePickerControlsProps(),\n\n emits: {\n 'click:year': () => true,\n 'click:month': () => true,\n 'click:prev': () => true,\n 'click:next': () => true,\n 'click:text': () => true,\n },\n\n setup (props, { emit }) {\n const disableMonth = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('text')\n : !!props.disabled\n })\n const disableYear = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('mode')\n : !!props.disabled\n })\n const disablePrev = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('prev')\n : !!props.disabled\n })\n const disableNext = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('next')\n : !!props.disabled\n })\n\n function onClickPrev () {\n emit('click:prev')\n }\n\n function onClickNext () {\n emit('click:next')\n }\n\n function onClickYear () {\n emit('click:year')\n }\n\n function onClickMonth () {\n emit('click:month')\n }\n\n useRender(() => {\n // TODO: add slot support and scope defaults\n return (\n <div\n class={[\n 'v-date-picker-controls',\n ]}\n >\n <VBtn\n class=\"v-date-picker-controls__month-btn\"\n data-testid=\"month-btn\"\n disabled={ disableMonth.value }\n text={ props.text }\n variant=\"text\"\n rounded\n onClick={ onClickMonth }\n
|
1
|
+
{"version":3,"file":"VDatePickerControls.js","names":["VBtn","VSpacer","IconValue","computed","convertToUnit","genericComponent","propsFactory","useRender","makeVDatePickerControlsProps","active","type","String","Array","default","undefined","controlHeight","Number","disabled","Boolean","nextIcon","prevIcon","modeIcon","text","viewMode","VDatePickerControls","name","props","emits","click:year","click:month","click:prev","click:next","click:text","setup","_ref","emit","disableMonth","isArray","includes","disableYear","disablePrev","disableNext","onClickPrev","onClickNext","onClickYear","onClickMonth","_createVNode","value"],"sources":["../../../src/components/VDatePicker/VDatePickerControls.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerControls.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\nimport { VSpacer } from '@/components/VGrid'\n\n// Composables\nimport { IconValue } from '@/composables/icons'\n\n// Utilities\nimport { computed } from 'vue'\nimport { convertToUnit, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport const makeVDatePickerControlsProps = propsFactory({\n active: {\n type: [String, Array] as PropType<string | string[]>,\n default: undefined,\n },\n controlHeight: [Number, String],\n disabled: {\n type: [Boolean, String, Array] as PropType<boolean | string | string[] | null>,\n default: null,\n },\n nextIcon: {\n type: IconValue,\n default: '$next',\n },\n prevIcon: {\n type: IconValue,\n default: '$prev',\n },\n modeIcon: {\n type: IconValue,\n default: '$subgroup',\n },\n text: String,\n viewMode: {\n type: String as PropType<'month' | 'months' | 'year'>,\n default: 'month',\n },\n}, 'VDatePickerControls')\n\nexport const VDatePickerControls = genericComponent()({\n name: 'VDatePickerControls',\n\n props: makeVDatePickerControlsProps(),\n\n emits: {\n 'click:year': () => true,\n 'click:month': () => true,\n 'click:prev': () => true,\n 'click:next': () => true,\n 'click:text': () => true,\n },\n\n setup (props, { emit }) {\n const disableMonth = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('text')\n : !!props.disabled\n })\n const disableYear = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('mode')\n : !!props.disabled\n })\n const disablePrev = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('prev')\n : !!props.disabled\n })\n const disableNext = computed(() => {\n return Array.isArray(props.disabled)\n ? props.disabled.includes('next')\n : !!props.disabled\n })\n\n function onClickPrev () {\n emit('click:prev')\n }\n\n function onClickNext () {\n emit('click:next')\n }\n\n function onClickYear () {\n emit('click:year')\n }\n\n function onClickMonth () {\n emit('click:month')\n }\n\n useRender(() => {\n // TODO: add slot support and scope defaults\n return (\n <div\n class={[\n 'v-date-picker-controls',\n ]}\n style={{\n '--v-date-picker-controls-height': convertToUnit(props.controlHeight),\n }}\n >\n <VBtn\n class=\"v-date-picker-controls__month-btn\"\n data-testid=\"month-btn\"\n disabled={ disableMonth.value }\n text={ props.text }\n variant=\"text\"\n rounded\n onClick={ onClickMonth }\n />\n\n <VBtn\n class=\"v-date-picker-controls__mode-btn\"\n data-testid=\"year-btn\"\n disabled={ disableYear.value }\n density=\"comfortable\"\n icon={ props.modeIcon }\n variant=\"text\"\n onClick={ onClickYear }\n />\n\n <VSpacer />\n\n <div class=\"v-date-picker-controls__month\">\n <VBtn\n data-testid=\"prev-month\"\n disabled={ disablePrev.value }\n density=\"comfortable\"\n icon={ props.prevIcon }\n variant=\"text\"\n onClick={ onClickPrev }\n />\n\n <VBtn\n data-testid=\"next-month\"\n disabled={ disableNext.value }\n icon={ props.nextIcon }\n density=\"comfortable\"\n variant=\"text\"\n onClick={ onClickNext }\n />\n </div>\n </div>\n )\n })\n\n return {}\n },\n})\n\nexport type VDatePickerControls = InstanceType<typeof VDatePickerControls>\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,4 +1,5 @@
|
|
1
1
|
@use '../../styles/tools'
|
2
|
+
@use './variables' as *
|
2
3
|
|
3
4
|
@include tools.layer('components')
|
4
5
|
.v-date-picker-controls
|
@@ -6,6 +7,7 @@
|
|
6
7
|
align-items: center
|
7
8
|
justify-content: space-between
|
8
9
|
font-size: .875rem
|
10
|
+
height: $date-picker-controls-height
|
9
11
|
padding-top: 4px
|
10
12
|
padding-bottom: 4px
|
11
13
|
padding-inline-start: 6px
|
@@ -142,12 +142,12 @@ export const VDatePickerMonth = genericComponent()({
|
|
142
142
|
const slotProps = {
|
143
143
|
props: {
|
144
144
|
class: 'v-date-picker-month__day-btn',
|
145
|
-
color:
|
145
|
+
color: item.isSelected || item.isToday ? props.color : undefined,
|
146
146
|
disabled: item.isDisabled,
|
147
147
|
icon: true,
|
148
148
|
ripple: false,
|
149
149
|
text: item.localized,
|
150
|
-
variant: item.
|
150
|
+
variant: item.isSelected ? 'flat' : item.isToday ? 'outlined' : 'text',
|
151
151
|
onClick: () => onClick(item.date)
|
152
152
|
},
|
153
153
|
item,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VDatePickerMonth.js","names":["VBtn","makeCalendarProps","useCalendar","useDate","MaybeTransition","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","makeVDatePickerMonthProps","color","String","hideWeekdays","Boolean","multiple","Number","showWeek","transition","type","default","reverseTransition","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","daysRef","daysInMonth","model","weekNumbers","adapter","rangeStart","rangeStop","isReverse","value","length","atMax","max","includes","Infinity","val","oldVal","isBefore","onRangeClick","_value","startOfDay","undefined","isSameDay","endOfDay","diff","getDiff","datesInRange","i","nextDate","addDays","push","onMultipleClick","index","findIndex","selection","splice","onClick","_createVNode","_createTextVNode","map","week","toString","getWeekdays","firstDayOfWeek","weekDay","item","slotProps","class","isSelected","isToday","isDisabled","disabled","icon","ripple","text","localized","variant","isAdjacent","isHidden","isWeekEnd","isWeekStart","isoDate","showAdjacentMonths","day"],"sources":["../../../src/components/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VDatePickerMonthSlots = {\n day: {\n props: {\n onClick: () => void\n }\n item: any\n i: number\n }\n}\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String] as PropType<boolean | 'range' | number | (string & {})>,\n showWeek: Boolean,\n transition: {\n type: String,\n default: 'picker-transition',\n },\n reverseTransition: {\n type: String,\n default: 'picker-reverse-transition',\n },\n\n ...omit(makeCalendarProps(), ['displayValue']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent<VDatePickerMonthSlots>()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps(),\n\n emits: {\n 'update:modelValue': (date: unknown) => true,\n 'update:month': (date: number) => true,\n 'update:year': (date: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const daysRef = ref()\n\n const { daysInMonth, model, weekNumbers } = useCalendar(props)\n const adapter = useDate()\n\n const rangeStart = shallowRef()\n const rangeStop = shallowRef()\n const isReverse = shallowRef(false)\n\n const transition = computed(() => {\n return !isReverse.value ? props.transition : props.reverseTransition\n })\n\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0]\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1]\n }\n }\n\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity\n\n return model.value.length >= max\n })\n\n watch(daysInMonth, (val, oldVal) => {\n if (!oldVal) return\n\n isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date)\n })\n\n function onRangeClick (value: unknown) {\n const _value = adapter.startOfDay(value)\n\n if (model.value.length === 0) {\n rangeStart.value = undefined\n } else if (model.value.length === 1) {\n rangeStart.value = model.value[0]\n rangeStop.value = undefined\n }\n if (!rangeStart.value) {\n rangeStart.value = _value\n model.value = [rangeStart.value]\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined\n model.value = []\n return\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value)\n rangeStart.value = _value\n } else {\n rangeStop.value = adapter.endOfDay(_value)\n }\n\n const diff = adapter.getDiff(rangeStop.value, rangeStart.value, 'days')\n const datesInRange = [rangeStart.value]\n\n for (let i = 1; i < diff; i++) {\n const nextDate = adapter.addDays(rangeStart.value, i)\n datesInRange.push(nextDate)\n }\n\n datesInRange.push(rangeStop.value)\n\n model.value = datesInRange\n } else {\n rangeStart.value = value\n rangeStop.value = undefined\n model.value = [rangeStart.value]\n }\n }\n\n function onMultipleClick (value: unknown) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value))\n\n if (index === -1) {\n model.value = [...model.value, value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n }\n\n function onClick (value: unknown) {\n if (props.multiple === 'range') {\n onRangeClick(value)\n } else if (props.multiple) {\n onMultipleClick(value)\n } else {\n model.value = [value]\n }\n }\n\n useRender(() => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\"> </div>\n )}\n { weekNumbers.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <MaybeTransition name={ transition.value }>\n <div\n ref={ daysRef }\n key={ daysInMonth.value[0].date?.toString() }\n class=\"v-date-picker-month__days\"\n >\n { !props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n class: 'v-date-picker-month__day-btn',\n color: (item.isSelected || item.isToday) && !item.isDisabled\n ? props.color\n : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isDisabled\n ? item.isToday ? 'outlined' : 'text'\n : item.isToday && !item.isSelected ? 'outlined' : 'flat',\n onClick: () => onClick(item.date),\n },\n item,\n i,\n } as const\n\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true\n }\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n },\n ]}\n data-v-date={ !item.isDisabled ? item.isoDate : undefined }\n >\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n slots.day?.(slotProps) ?? (<VBtn { ...slotProps.props } />)\n )}\n </div>\n )\n })}\n </div>\n </MaybeTransition>\n </div>\n ))\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VDatePickerMonth.js","names":["VBtn","makeCalendarProps","useCalendar","useDate","MaybeTransition","computed","ref","shallowRef","watch","genericComponent","omit","propsFactory","useRender","makeVDatePickerMonthProps","color","String","hideWeekdays","Boolean","multiple","Number","showWeek","transition","type","default","reverseTransition","VDatePickerMonth","name","props","emits","date","setup","_ref","emit","slots","daysRef","daysInMonth","model","weekNumbers","adapter","rangeStart","rangeStop","isReverse","value","length","atMax","max","includes","Infinity","val","oldVal","isBefore","onRangeClick","_value","startOfDay","undefined","isSameDay","endOfDay","diff","getDiff","datesInRange","i","nextDate","addDays","push","onMultipleClick","index","findIndex","selection","splice","onClick","_createVNode","_createTextVNode","map","week","toString","getWeekdays","firstDayOfWeek","weekDay","item","slotProps","class","isSelected","isToday","disabled","isDisabled","icon","ripple","text","localized","variant","isAdjacent","isHidden","isWeekEnd","isWeekStart","isoDate","showAdjacentMonths","day"],"sources":["../../../src/components/VDatePicker/VDatePickerMonth.tsx"],"sourcesContent":["// Styles\nimport './VDatePickerMonth.sass'\n\n// Components\nimport { VBtn } from '@/components/VBtn'\n\n// Composables\nimport { makeCalendarProps, useCalendar } from '@/composables/calendar'\nimport { useDate } from '@/composables/date/date'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, watch } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VDatePickerMonthSlots = {\n day: {\n props: {\n onClick: () => void\n }\n item: any\n i: number\n }\n}\n\nexport const makeVDatePickerMonthProps = propsFactory({\n color: String,\n hideWeekdays: Boolean,\n multiple: [Boolean, Number, String] as PropType<boolean | 'range' | number | (string & {})>,\n showWeek: Boolean,\n transition: {\n type: String,\n default: 'picker-transition',\n },\n reverseTransition: {\n type: String,\n default: 'picker-reverse-transition',\n },\n\n ...omit(makeCalendarProps(), ['displayValue']),\n}, 'VDatePickerMonth')\n\nexport const VDatePickerMonth = genericComponent<VDatePickerMonthSlots>()({\n name: 'VDatePickerMonth',\n\n props: makeVDatePickerMonthProps(),\n\n emits: {\n 'update:modelValue': (date: unknown) => true,\n 'update:month': (date: number) => true,\n 'update:year': (date: number) => true,\n },\n\n setup (props, { emit, slots }) {\n const daysRef = ref()\n\n const { daysInMonth, model, weekNumbers } = useCalendar(props)\n const adapter = useDate()\n\n const rangeStart = shallowRef()\n const rangeStop = shallowRef()\n const isReverse = shallowRef(false)\n\n const transition = computed(() => {\n return !isReverse.value ? props.transition : props.reverseTransition\n })\n\n if (props.multiple === 'range' && model.value.length > 0) {\n rangeStart.value = model.value[0]\n if (model.value.length > 1) {\n rangeStop.value = model.value[model.value.length - 1]\n }\n }\n\n const atMax = computed(() => {\n const max = ['number', 'string'].includes(typeof props.multiple) ? Number(props.multiple) : Infinity\n\n return model.value.length >= max\n })\n\n watch(daysInMonth, (val, oldVal) => {\n if (!oldVal) return\n\n isReverse.value = adapter.isBefore(val[0].date, oldVal[0].date)\n })\n\n function onRangeClick (value: unknown) {\n const _value = adapter.startOfDay(value)\n\n if (model.value.length === 0) {\n rangeStart.value = undefined\n } else if (model.value.length === 1) {\n rangeStart.value = model.value[0]\n rangeStop.value = undefined\n }\n if (!rangeStart.value) {\n rangeStart.value = _value\n model.value = [rangeStart.value]\n } else if (!rangeStop.value) {\n if (adapter.isSameDay(_value, rangeStart.value)) {\n rangeStart.value = undefined\n model.value = []\n return\n } else if (adapter.isBefore(_value, rangeStart.value)) {\n rangeStop.value = adapter.endOfDay(rangeStart.value)\n rangeStart.value = _value\n } else {\n rangeStop.value = adapter.endOfDay(_value)\n }\n\n const diff = adapter.getDiff(rangeStop.value, rangeStart.value, 'days')\n const datesInRange = [rangeStart.value]\n\n for (let i = 1; i < diff; i++) {\n const nextDate = adapter.addDays(rangeStart.value, i)\n datesInRange.push(nextDate)\n }\n\n datesInRange.push(rangeStop.value)\n\n model.value = datesInRange\n } else {\n rangeStart.value = value\n rangeStop.value = undefined\n model.value = [rangeStart.value]\n }\n }\n\n function onMultipleClick (value: unknown) {\n const index = model.value.findIndex(selection => adapter.isSameDay(selection, value))\n\n if (index === -1) {\n model.value = [...model.value, value]\n } else {\n const value = [...model.value]\n value.splice(index, 1)\n model.value = value\n }\n }\n\n function onClick (value: unknown) {\n if (props.multiple === 'range') {\n onRangeClick(value)\n } else if (props.multiple) {\n onMultipleClick(value)\n } else {\n model.value = [value]\n }\n }\n\n useRender(() => (\n <div class=\"v-date-picker-month\">\n { props.showWeek && (\n <div key=\"weeks\" class=\"v-date-picker-month__weeks\">\n { !props.hideWeekdays && (\n <div key=\"hide-week-days\" class=\"v-date-picker-month__day\"> </div>\n )}\n { weekNumbers.value.map(week => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__day--adjacent',\n ]}\n >{ week }</div>\n ))}\n </div>\n )}\n\n <MaybeTransition name={ transition.value }>\n <div\n ref={ daysRef }\n key={ daysInMonth.value[0].date?.toString() }\n class=\"v-date-picker-month__days\"\n >\n { !props.hideWeekdays && adapter.getWeekdays(props.firstDayOfWeek).map(weekDay => (\n <div\n class={[\n 'v-date-picker-month__day',\n 'v-date-picker-month__weekday',\n ]}\n >{ weekDay }</div>\n ))}\n\n { daysInMonth.value.map((item, i) => {\n const slotProps = {\n props: {\n class: 'v-date-picker-month__day-btn',\n color: item.isSelected || item.isToday ? props.color : undefined,\n disabled: item.isDisabled,\n icon: true,\n ripple: false,\n text: item.localized,\n variant: item.isSelected ? 'flat' : item.isToday ? 'outlined' : 'text',\n onClick: () => onClick(item.date),\n },\n item,\n i,\n } as const\n\n if (atMax.value && !item.isSelected) {\n item.isDisabled = true\n }\n\n return (\n <div\n class={[\n 'v-date-picker-month__day',\n {\n 'v-date-picker-month__day--adjacent': item.isAdjacent,\n 'v-date-picker-month__day--hide-adjacent': item.isHidden,\n 'v-date-picker-month__day--selected': item.isSelected,\n 'v-date-picker-month__day--week-end': item.isWeekEnd,\n 'v-date-picker-month__day--week-start': item.isWeekStart,\n },\n ]}\n data-v-date={ !item.isDisabled ? item.isoDate : undefined }\n >\n { (props.showAdjacentMonths || !item.isAdjacent) && (\n slots.day?.(slotProps) ?? (<VBtn { ...slotProps.props } />)\n )}\n </div>\n )\n })}\n </div>\n </MaybeTransition>\n </div>\n ))\n },\n})\n\nexport type VDatePickerMonth = InstanceType<typeof VDatePickerMonth>\n"],"mappings":"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","ignoreList":[]}
|
package/lib/entry-bundler.js
CHANGED
@@ -16,7 +16,7 @@ export const createVuetify = function () {
|
|
16
16
|
...options
|
17
17
|
});
|
18
18
|
};
|
19
|
-
export const version = "3.7.
|
19
|
+
export const version = "3.7.18-dev.2025-03-19";
|
20
20
|
createVuetify.version = version;
|
21
21
|
export { blueprints, components, directives };
|
22
22
|
export * from "./composables/index.js";
|