{"version":3,"file":"Footer.mjs","sources":["../../../../../components/date-picker/components/base/Footer.tsx"],"sourcesContent":["import { defineComponent, computed, PropType } from 'vue';\nimport { isPlainObject } from 'lodash-es';\nimport { useConfig, usePrefixClass, useTNodeJSX } from '@tdesign/shared-hooks';\nimport TButton from '../../../button';\n\nimport type { TdDatePickerProps } from '../../type';\n\nexport default defineComponent({\n  name: 'TDatePickerTable',\n  props: {\n    enableTimePicker: Boolean,\n    presetsPlacement: String,\n    presets: Object,\n    needConfirm: Boolean,\n    selectedValue: [String, Number, Array, Date] as PropType<TdDatePickerProps['value']>,\n    onPresetClick: Function,\n    onConfirmClick: Function,\n  },\n  setup(props) {\n    const renderTNodeJSX = useTNodeJSX();\n    const COMPONENT_NAME = usePrefixClass('date-picker__footer');\n    const presetsClass = usePrefixClass('date-picker__presets');\n    const { t, globalConfig } = useConfig('datePicker');\n\n    const footerClass = computed(() => [COMPONENT_NAME.value, `${COMPONENT_NAME.value}--${props.presetsPlacement}`]);\n\n    const renderPresets = () => {\n      if (!props.presets) return null;\n      if (isPlainObject(props.presets))\n        return Object.keys(props.presets).map((key: string) => (\n          <TButton\n            key={key}\n            size=\"small\"\n            variant=\"text\"\n            onClick={(e: MouseEvent) =>\n              props.onPresetClick?.(props.presets[key], { e, preset: { [key]: props.presets[key] } })\n            }\n          >\n            {key}\n          </TButton>\n        ));\n      return renderTNodeJSX('presets');\n    };\n    return () => (\n      <div class={footerClass.value}>\n        {<div class={presetsClass.value}>{renderPresets()}</div>}\n        {props.enableTimePicker && props.needConfirm && (\n          <TButton\n            disabled={!props.selectedValue}\n            size=\"small\"\n            theme=\"primary\"\n            onClick={(e: MouseEvent) => props.onConfirmClick?.({ e })}\n          >\n            {t(globalConfig.value.confirm)}\n          </TButton>\n        )}\n      </div>\n    );\n  },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","enableTimePicker","Boolean","presetsPlacement","String","presets","needConfirm","selectedValue","Number","Array","Date","onPresetClick","Function","onConfirmClick","setup","renderTNodeJSX","useTNodeJSX","COMPONENT_NAME","usePrefixClass","presetsClass","_useConfig","useConfig","t","globalConfig","footerClass","computed","value","concat","renderPresets","isPlainObject","keys","map","key","_createVNode","TButton","onClick","e","_props$onPresetClick","preset","_default","_slot","_props$onConfirmClick","confirm"],"mappings":"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"}