UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

1 lines 6.53 kB
{"version":3,"file":"SinglePanel.mjs","sources":["../../../src/date-picker/panel/SinglePanel.tsx"],"sourcesContent":["import { defineComponent, PropType, computed } from 'vue';\nimport { useConfig, usePrefixClass } from '../../hooks/useConfig';\nimport TPanelContent from './PanelContent';\nimport TExtraContent from './ExtraContent';\nimport { TdDatePickerProps } from '../type';\nimport { getDefaultFormat, parseToDayjs } from '../../_common/js/date-picker/format';\nimport useTableData from '../hooks/useTableData';\nimport useDisableDate from '../hooks/useDisableDate';\n\nexport default defineComponent({\n name: 'XSinglePanel',\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 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 },\n setup(props) {\n const COMPONENT_NAME = usePrefixClass('date-picker__panel');\n const { globalConfig } = useConfig('datePicker');\n\n const { format } = getDefaultFormat({\n mode: props.mode,\n format: props.format,\n enableTimePicker: props.enableTimePicker,\n });\n\n const disableDateOptions = computed(() =>\n useDisableDate({\n format,\n mode: props.mode,\n disableDate: props.disableDate,\n }),\n );\n\n const tableData = computed(() =>\n useTableData({\n year: props.year,\n month: props.month,\n mode: props.mode,\n start: props.value ? parseToDayjs(props.value, format).toDate() : undefined,\n firstDayOfWeek: props.firstDayOfWeek || globalConfig.value.firstDayOfWeek,\n ...disableDateOptions.value,\n }),\n );\n\n const panelContentProps = computed(() => ({\n format,\n value: props.value,\n mode: props.mode,\n year: props.year,\n month: props.month,\n firstDayOfWeek: props.firstDayOfWeek || globalConfig.value.firstDayOfWeek,\n tableData: tableData.value,\n popupVisible: props.popupVisible,\n\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 }));\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 }));\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) ? <TExtraContent {...extraProps.value} /> : null}\n <TPanelContent {...panelContentProps.value} />\n {['bottom', 'right'].includes(props.presetsPlacement) ? <TExtraContent {...extraProps.value} /> : null}\n </div>\n );\n },\n});\n"],"names":["name","props","disableDate","mode","type","format","presetsPlacement","timePickerProps","presets","enableTimePicker","firstDayOfWeek","year","month","time","popupVisible","onPanelClick","onCellClick","onCellMouseEnter","onCellMouseLeave","onJumperClick","onConfirmClick","onPresetClick","onYearChange","onMonthChange","onTimePickerChange","start","_createVNode","e"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,mBAAA,eAAA,CAAA;AACEA,EAAAA,IAAAA,EAAAA,cAAAA;AACAC,EAAAA,KAAAA,EAAAA;AACEC,IAAAA,WAAAA,EAAAA,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,QAAAA,CAAAA;AACAC,IAAAA,IAAAA,EAAAA;AACEC,MAAAA,IAAAA,EAAAA,MAAAA;;;AAGFC,IAAAA,MAAAA,EAAAA,MAAAA;AACAC,IAAAA,gBAAAA,EAAAA;AACEF,MAAAA,IAAAA,EAAAA,MAAAA;;;;AAIFG,IAAAA,eAAAA,EAAAA,MAAAA;AACAC,IAAAA,OAAAA,EAAAA,MAAAA;AACAC,IAAAA,gBAAAA,EAAAA,OAAAA;AACAC,IAAAA,cAAAA,EAAAA,MAAAA;AACAC,IAAAA,IAAAA,EAAAA,MAAAA;AACAC,IAAAA,KAAAA,EAAAA,MAAAA;AACAC,IAAAA,IAAAA,EAAAA,MAAAA;AACAC,IAAAA,YAAAA,EAAAA,OAAAA;AACAC,IAAAA,YAAAA,EAAAA,QAAAA;AACAC,IAAAA,WAAAA,EAAAA,QAAAA;AACAC,IAAAA,gBAAAA,EAAAA,QAAAA;AACAC,IAAAA,gBAAAA,EAAAA,QAAAA;AACAC,IAAAA,aAAAA,EAAAA,QAAAA;AACAC,IAAAA,cAAAA,EAAAA,QAAAA;AACAC,IAAAA,aAAAA,EAAAA,QAAAA;AACAC,IAAAA,YAAAA,EAAAA,QAAAA;AACAC,IAAAA,aAAAA,EAAAA,QAAAA;AACAC,IAAAA,kBAAAA,EAAAA,QAAAA;;;AAGM,IAAA,IAAA,cAAA,GAAA,cAAA,CAAA,oBAAA,CAAA,CAAA;AACN,IAAA,IAAA,UAAA,GAAA,SAAA,CAAA,YAAA,CAAA;;;;;;AAMA,OAAA,CAAA;;;AAEoC,MAAA,OAAA,cAAA,CAAA;AAEhCnB,QAAAA,MAAAA,EAAAA,MAAAA;;;AAGF,OAAA,CAAA,CAAA;AAAC,KAAA,CAAA,CAAA;;;;;;AAQCoB,QAAAA,KAAAA,EAAAA,KAAAA,CAAAA,KAAAA,GAAAA,YAAAA,CAAAA,KAAAA,CAAAA,KAAAA,EAAAA,MAAAA,CAAAA,CAAAA,MAAAA,EAAAA,GAAAA,KAAAA,CAAAA;;AAC2D,OAAA,EAAA,kBAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAE5D,KAAA,CAAA,CAAA;;;AAIDpB,QAAAA,MAAAA,EAAAA,MAAAA;;;;;;;;;;;;;;;;;;;AAmBA,KAAA,CAAA,CAAA;;;;;;;;;;AASA,KAAA,CAAA,CAAA;;AAEK,MAAA,OAAAqB,WAAA,CAAA,KAAA,EAAA;;;AAQO,UAAA,IAAA,mBAAA,CAAA;AAAA,UAAA,OAAA,CAAA,mBAAA,GAAA,KAAA,CAAA,YAAA,MAAA,IAAA,IAAA,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,mBAAA,CAAA,IAAA,CAAA,KAAA,EAAA;AAA6BC,YAAAA,CAAAA,EAAAA,CAAAA;AAAE,WAAA,CAAA,CAAA;AAAC,SAAA;;;AAOhD,GAAA;AACF,CAAA,CAAA;;;;"}