{"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    cell: {\n      type: Function as PropType<TdDatePickerProps['cell'] | TdDateRangePickerProps['cell']>,\n    },\n  },\n  setup(props, { slots }) {\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            cell={props.cell}\n            v-slots={slots}\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","cell","setup","_ref","slots","COMPONENT_NAME","usePrefixClass","_getDefaultFormat","getDefaultFormat","timeFormat","disableTimeOptions","isFunction","startValue","isArray","endValue","isRangePicker","parseToDateTime","defaultTimeValue","_createVNode","concat","TDateHeader","val","_props$onMonthChange","call","_props$onYearChange","_ref2","_props$onJumperClick","trigger","TDateTable","date","_ref3","_props$onCellClick","e","_props$onCellMouseEnt","TimePickerPanel","_objectSpread","key","isShowPanel","onChange"],"mappings":"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"}