1 |
- {"version":3,"file":"VDateRangePickerHeader.mjs","names":["VBtn","useBackgroundColor","useLocale","useDate","makeDateProps","computed","genericComponent","omit","propsFactory","useRender","makeVDateRangePickerHeaderProps","color","String","title","header","keyboardIcon","type","default","calendarIcon","closeIcon","showInputSwitch","Boolean","range","VDateRangePickerHeader","name","props","emits","cancel","save","input","date","setup","_ref","emit","t","adapter","backgroundColorClasses","backgroundColorStyles","headerText","modelValue","length","format","map","join","titleText","handleHeaderClick","_createVNode","value","inputMode","onClick","_createTextVNode"],"sources":["../../../src/labs/VDateRangePicker/VDateRangePickerHeader.tsx"],"sourcesContent":["// Styles\nimport './VDateRangePickerHeader.sass'\n\n// Components\nimport { VBtn } from '../../components/VBtn'\n\n// Composables\nimport { useBackgroundColor } from '@/composables/color'\nimport { useLocale } from '@/composables/locale'\nimport { useDate } from '@/labs/date'\nimport { makeDateProps } from '@/labs/VDateInput/composables'\n\n// Utilities\nimport { computed } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\nexport const makeVDateRangePickerHeaderProps = propsFactory({\n color: String,\n title: String,\n header: String,\n keyboardIcon: {\n type: String,\n default: '$edit',\n },\n calendarIcon: {\n type: String,\n default: '$calendar',\n },\n closeIcon: {\n type: String,\n default: '$close',\n },\n showInputSwitch: Boolean,\n range: null,\n ...omit(makeDateProps(), ['viewMode', 'format']),\n}, 'VDateRangePickerHeader')\n\nexport const VDateRangePickerHeader = genericComponent()({\n name: 'VDateRangePickerHeader',\n\n props: makeVDateRangePickerHeaderProps(),\n\n emits: {\n cancel: () => true,\n save: () => true,\n 'update:inputMode': (input: string) => true,\n 'update:displayDate': (date: any) => true,\n },\n\n setup (props, { emit }) {\n const { t } = useLocale()\n const adapter = useDate()\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'color')\n\n const headerText = computed(() => {\n if (props.header) return props.header\n\n if (!props.modelValue.length) return t(`$vuetify.datePicker.${props.range ? 'range.' : ''}header.placeholder`)\n\n if (props.modelValue.length === 1) return adapter.format(props.modelValue[0], 'normalDateWithWeekday')\n\n return props.modelValue.map((date: any) => adapter.format(date, 'shortDate')).join(' - ')\n })\n\n const titleText = computed(() => {\n if (props.title) return props.title\n\n if (!props.modelValue.length) return t(`$vuetify.datePicker.${props.range ? 'range.' : ''}title.placeholder`)\n\n return t(`$vuetify.datePicker.${props.range ? 'range.' : ''}title.selected`)\n })\n\n function handleHeaderClick () {\n if (!props.modelValue.length) return\n\n const date = props.modelValue[0]\n\n emit('update:displayDate', date)\n }\n\n useRender(() => (\n <div\n class={[\n 'v-date-range-picker-header',\n backgroundColorClasses.value,\n `v-date-range-picker-header--${props.inputMode}`,\n ]}\n style={ backgroundColorStyles.value }\n >\n { props.inputMode === 'calendar' && (\n <div key=\"calendar-buttons\" class=\"v-date-range-picker-header__buttons\">\n <VBtn\n variant=\"text\"\n icon={ props.closeIcon }\n onClick={ () => emit('cancel') }\n />\n <VBtn\n variant=\"text\"\n onClick={ () => emit('save') }\n >\n Save\n </VBtn>\n </div>\n )}\n <div class=\"v-date-range-picker-header__wrapper\">\n <div class=\"v-date-range-picker-header__title\">\n { titleText.value }\n </div>\n <div class=\"v-date-range-picker-header__text\">\n <div\n class=\"v-date-range-picker-header__date\"\n onClick={ handleHeaderClick }\n >\n { headerText.value }\n </div>\n <VBtn\n variant=\"text\"\n icon={ props.inputMode === 'keyboard' ? props.calendarIcon : props.keyboardIcon }\n onClick={ () => emit('update:inputMode', props.inputMode === 'keyboard' ? 'calendar' : 'keyboard') }\n />\n </div>\n </div>\n </div>\n ))\n\n return {}\n },\n})\n\nexport type VDateRangePickerHeader = InstanceType<typeof VDateRangePickerHeader>\n"],"mappings":"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"}
|