{"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  },\n  setup(props) {\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    }));\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) ? <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":["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","setup","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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"}