tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 11 kB
Source Map (JSON)
{"version":3,"file":"SinglePanel.mjs","sources":["../../../../../components/date-picker/components/panel/SinglePanel.tsx"],"sourcesContent":["import { defineComponent, PropType, computed } from 'vue';\nimport { useConfig, usePrefixClass } from '@tdesign/shared-hooks';\nimport TPanelContent from './PanelContent';\nimport TExtraContent from './ExtraContent';\nimport { getDefaultFormat, parseToDayjs } from '@tdesign/common-js/date-picker/format';\nimport { useTableData, useDisableDate } from '../../hooks';\n\nimport type { TdDatePickerProps, DateMultipleValue, DateValue } from '../../type';\n\nexport default defineComponent({\n name: 'TSinglePanel',\n props: {\n disableDate: [Object, Array, Function] as PropType<TdDatePickerProps['disableDate']>,\n mode: {\n type: String as PropType<TdDatePickerProps['mode']>,\n default: 'date',\n },\n format: String as PropType<TdDatePickerProps['format']>,\n presetsPlacement: {\n type: String as PropType<TdDatePickerProps['presetsPlacement']>,\n default: 'bottom',\n },\n value: [String, Number, Array, Date] as PropType<TdDatePickerProps['value']>,\n timePickerProps: Object as PropType<TdDatePickerProps['timePickerProps']>,\n presets: Object as PropType<TdDatePickerProps['presets']>,\n enableTimePicker: Boolean,\n firstDayOfWeek: Number,\n year: Number,\n month: Number,\n time: String,\n popupVisible: Boolean,\n multiple: Boolean,\n needConfirm: Boolean,\n defaultTime: [String, Array] as PropType<TdDatePickerProps['defaultTime']>,\n range: [Array, Function] as PropType<TdDatePickerProps['range']>,\n onPanelClick: Function,\n onCellClick: Function,\n onCellMouseEnter: Function,\n onCellMouseLeave: Function,\n onJumperClick: Function,\n onConfirmClick: Function,\n onPresetClick: Function,\n onYearChange: Function,\n onMonthChange: Function,\n onTimePickerChange: Function,\n disableTime: Function,\n cell: Function as PropType<TdDatePickerProps['cell']>,\n },\n setup(props, { slots }) {\n const COMPONENT_NAME = usePrefixClass('date-picker__panel');\n const { globalConfig } = useConfig('datePicker');\n\n const format = computed(\n () =>\n getDefaultFormat({\n mode: props.mode,\n format: props.format,\n enableTimePicker: props.enableTimePicker,\n })?.format,\n );\n\n const disableDateOptions = computed(() =>\n useDisableDate({\n format: format.value,\n mode: props.mode,\n disableDate: props.disableDate,\n }),\n );\n const tableData = computed(() =>\n useTableData({\n year: props.year,\n month: props.month,\n mode: props.mode,\n range: props.range,\n start: props.value\n ? parseToDayjs(\n props.multiple ? (props.value as DateMultipleValue)[0] : (props.value as DateValue),\n format.value,\n ).toDate()\n : undefined,\n firstDayOfWeek: props.firstDayOfWeek || globalConfig.value.firstDayOfWeek,\n multiple: props.multiple,\n value: props.value,\n ...disableDateOptions.value,\n }),\n );\n\n const panelContentProps = computed(() => ({\n format: format.value,\n value: props.value,\n mode: props.mode,\n year: props.year,\n month: props.month,\n range: props.range,\n firstDayOfWeek: props.firstDayOfWeek || globalConfig.value.firstDayOfWeek,\n tableData: tableData.value,\n popupVisible: props.popupVisible,\n multiple: props.multiple,\n enableTimePicker: props.enableTimePicker,\n timePickerProps: props.timePickerProps,\n time: props.time,\n onMonthChange: props.onMonthChange,\n onYearChange: props.onYearChange,\n onJumperClick: props.onJumperClick,\n onCellClick: props.onCellClick,\n onCellMouseEnter: props.onCellMouseEnter,\n onCellMouseLeave: props.onCellMouseLeave,\n onTimePickerChange: props.onTimePickerChange,\n defaultTime: props.defaultTime,\n disableTime: props.disableTime,\n cell: props.cell,\n }));\n\n const extraProps = computed(() => ({\n presets: props.presets,\n enableTimePicker: props.enableTimePicker,\n presetsPlacement: props.presetsPlacement,\n onPresetClick: props.onPresetClick,\n onConfirmClick: props.onConfirmClick,\n selectedValue: props.value,\n needConfirm: props.needConfirm,\n }));\n\n return () => (\n <div\n class={[\n COMPONENT_NAME.value,\n {\n [`${COMPONENT_NAME.value}--direction-row`]: ['left', 'right'].includes(props.presetsPlacement),\n },\n ]}\n onClick={(e) => props.onPanelClick?.({ e })}\n >\n {['top', 'left'].includes(props.presetsPlacement) ? (\n <TExtraContent {...extraProps.value} v-slots={slots.presets ? { presets: slots.presets } : {}} />\n ) : null}\n <TPanelContent {...panelContentProps.value} v-slots={slots} />\n {['bottom', 'right'].includes(props.presetsPlacement) ? (\n <TExtraContent {...extraProps.value} v-slots={slots.presets ? { presets: slots.presets } : {}} />\n ) : null}\n </div>\n );\n },\n});\n"],"names":["defineComponent","name","props","disableDate","Object","Array","Function","mode","type","String","format","presetsPlacement","value","Number","Date","timePickerProps","presets","enableTimePicker","Boolean","firstDayOfWeek","year","month","time","popupVisible","multiple","needConfirm","defaultTime","range","onPanelClick","onCellClick","onCellMouseEnter","onCellMouseLeave","onJumperClick","onConfirmClick","onPresetClick","onYearChange","onMonthChange","onTimePickerChange","disableTime","cell","setup","_ref","slots","COMPONENT_NAME","usePrefixClass","_useConfig","useConfig","globalConfig","computed","_getDefaultFormat","getDefaultFormat","disableDateOptions","useDisableDate","tableData","useTableData","_objectSpread","start","parseToDayjs","toDate","panelContentProps","extraProps","selectedValue","_createVNode","_defineProperty","concat","includes","onClick","e","_props$onPanelClick","call","TExtraContent","TPanelContent"],"mappings":"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"}