{"version":3,"file":"PanelContent.mjs","sources":["../../../../../components/date-picker/components/panel/PanelContent.tsx"],"sourcesContent":["import { defineComponent, PropType } from 'vue';\nimport { isFunction, isArray } from 'lodash-es';\nimport { usePrefixClass } from '@tdesign/shared-hooks';\nimport type { TdDatePickerProps, TdDateRangePickerProps } from '../../type';\n\nimport TDateHeader from '../base/Header';\nimport TDateTable from '../base/Table';\nimport { TimePickerPanel } from '../../../time-picker';\nimport { getDefaultFormat } from '@tdesign/common-js/date-picker/format';\nimport type { DateValue } from '@tdesign/common-js/date-picker/utils';\nimport { parseToDateTime } from '../../utils';\n\nexport default defineComponent({\n  name: 'TPanelContent',\n  props: {\n    mode: String as PropType<TdDatePickerProps['mode']>,\n    format: String as PropType<TdDatePickerProps['format']>,\n    enableTimePicker: Boolean as PropType<TdDatePickerProps['enableTimePicker']>,\n    timePickerProps: {\n      type: Object as PropType<TdDatePickerProps['timePickerProps']>,\n      default: () => ({}),\n    },\n    year: Number,\n    month: Number,\n    range: [Array, Function] as PropType<TdDatePickerProps['range']>,\n    tableData: Array,\n    time: String,\n    multiple: Boolean,\n    firstDayOfWeek: Number,\n    partial: String,\n    popupVisible: Boolean,\n    onYearChange: Function,\n    onMonthChange: Function,\n    onJumperClick: Function,\n    onCellMouseEnter: Function,\n    onCellClick: Function,\n    onCellMouseLeave: Function,\n    onTimePickerChange: Function,\n    value: [String, Number, Array, Date],\n    internalYear: Array as PropType<Array<number>>,\n    disableTime: Function,\n    defaultTime: [String, Array] as PropType<TdDatePickerProps['defaultTime'] | TdDateRangePickerProps['defaultTime']>,\n  },\n  setup(props) {\n    const COMPONENT_NAME = usePrefixClass('date-picker__panel');\n\n    const { timeFormat } = getDefaultFormat({\n      mode: props.mode,\n      format: props.format,\n      enableTimePicker: props.enableTimePicker,\n    });\n\n    const disableTimeOptions = () => {\n      if (!isFunction(props.disableTime)) {\n        return {};\n      }\n\n      const startValue = isArray(props.value) ? props.value[0] : props.value;\n      const endValue = isArray(props.value) ? props.value[1] : props.value;\n\n      const isRangePicker = props.partial;\n\n      if (!isRangePicker) {\n        return props.disableTime(\n          parseToDateTime(startValue as DateValue, props.format),\n        ) as TdDatePickerProps['disableTime'];\n      }\n\n      return props.disableTime(\n        [parseToDateTime(startValue as DateValue, props.format), parseToDateTime(endValue as DateValue, props.format)],\n        {\n          partial: props.partial,\n        },\n      ) as TdDateRangePickerProps['disableTime'];\n    };\n\n    const defaultTimeValue = '00:00:00';\n\n    return () => (\n      <div class={`${COMPONENT_NAME.value}-content`}>\n        <div class={`${COMPONENT_NAME.value}-${props.mode}`}>\n          <TDateHeader\n            mode={props.mode}\n            year={props.year}\n            month={props.month}\n            range={props.range}\n            internalYear={props.internalYear}\n            partial={props.partial}\n            onMonthChange={(val: number) => props.onMonthChange?.(val, { partial: props.partial })}\n            onYearChange={(val: number) => props.onYearChange?.(val, { partial: props.partial })}\n            onJumperClick={({ trigger }: { trigger: string }) =>\n              props.onJumperClick?.({ trigger, partial: props.partial })\n            }\n          />\n\n          <TDateTable\n            mode={props.mode}\n            data={props.tableData}\n            time={props.time}\n            value={props.value}\n            format={props.format}\n            multiple={props.multiple}\n            firstDayOfWeek={props.firstDayOfWeek}\n            onCellClick={(date: Date, { e }: { e: MouseEvent }) =>\n              props.onCellClick?.(date, { e, partial: props.partial })\n            }\n            onCellMouseEnter={(date: Date) => props.onCellMouseEnter?.(date, { partial: props.partial })}\n            onCellMouseLeave={props.onCellMouseLeave}\n          />\n        </div>\n\n        {props.enableTimePicker && (\n          <div class={`${COMPONENT_NAME.value}-time`}>\n            <div class={`${COMPONENT_NAME.value}-time-viewer`}>{props.time || defaultTimeValue}</div>\n            <TimePickerPanel\n              {...{\n                key: props.partial,\n                isShowPanel: props.popupVisible,\n                format: timeFormat,\n                value: props.time || defaultTimeValue,\n                onChange: props.onTimePickerChange,\n                disableTime: disableTimeOptions,\n                ...props.timePickerProps,\n              }}\n            />\n          </div>\n        )}\n      </div>\n    );\n  },\n});\n"],"names":["defineComponent","name","props","mode","String","format","enableTimePicker","Boolean","timePickerProps","type","Object","default","year","Number","month","range","Array","Function","tableData","time","multiple","firstDayOfWeek","partial","popupVisible","onYearChange","onMonthChange","onJumperClick","onCellMouseEnter","onCellClick","onCellMouseLeave","onTimePickerChange","value","Date","internalYear","disableTime","defaultTime","setup","COMPONENT_NAME","usePrefixClass","_getDefaultFormat","getDefaultFormat","timeFormat","disableTimeOptions","isFunction","startValue","isArray","endValue","isRangePicker","parseToDateTime","defaultTimeValue","_createVNode","concat","TDateHeader","val","_props$onMonthChange","call","_props$onYearChange","_ref","_props$onJumperClick","trigger","TDateTable","date","_ref2","_props$onCellClick","e","_props$onCellMouseEnt","TimePickerPanel","_objectSpread","key","isShowPanel","onChange"],"mappings":"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"}