{"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: 'TDatePickerFooter',\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 (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      const presetsNode = renderTNodeJSX('presets');\n      return presetsNode ?? null;\n    };\n    return () => {\n      const presetsContent = renderPresets();\n      const hasPresetsContent = Array.isArray(presetsContent) ? presetsContent.length > 0 : !!presetsContent;\n      return (\n        <div class={footerClass.value}>\n          {hasPresetsContent ? <div class={presetsClass.value}>{presetsContent}</div> : null}\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});\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","presetsNode","_slot","presetsContent","hasPresetsContent","isArray","length","_props$onConfirmClick","confirm"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGoB,SAAAA,QAAAC,CAAA,EAAA;AAAA,EAAA,OAAA,OAAAA,CAAA,KAAA,UAAA,IAAAC,MAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAC,IAAA,CAAAJ,CAAA,CAAAK,KAAAA,iBAAAA,IAAAA,CAAAA,OAAA,CAAAL,CAAA,CAAA,CAAA;AAAA,CAAA;AAIpB,kBAAeM,eAAgB,CAAA;AAC7BC,EAAAA,IAAM,EAAA,mBAAA;AACNC,EAAAA,KAAO,EAAA;AACLC,IAAAA,gBAAkB,EAAAC,OAAA;AAClBC,IAAAA,gBAAkB,EAAAC,MAAA;AAClBC,IAAAA,OAAS,EAAAZ,MAAA;AACTa,IAAAA,WAAa,EAAAJ,OAAA;IACbK,aAAe,EAAA,CAACH,MAAQ,EAAAI,MAAA,EAAQC,OAAOC,IAAI,CAAA;AAC3CC,IAAAA,aAAe,EAAAC,QAAA;AACfC,IAAAA,cAAgB,EAAAD,QAAAA;GAClB;AACAE,EAAAA,OAAAA,SAAAA,MAAMd,KAAO,EAAA;AACX,IAAA,IAAMe,iBAAiBC,WAAY,EAAA,CAAA;AAC7B,IAAA,IAAAC,cAAA,GAAiBC,eAAe,qBAAqB,CAAA,CAAA;AACrD,IAAA,IAAAC,YAAA,GAAeD,eAAe,sBAAsB,CAAA,CAAA;AAC1D,IAAA,IAAAE,UAAA,GAA4BC,UAAU,YAAY,CAAA;MAA1CC,CAAA,GAAAF,UAAA,CAAAE,CAAA;MAAGC,YAAa,GAAAH,UAAA,CAAbG,YAAa,CAAA;IAElB,IAAAC,WAAA,GAAcC,QAAS,CAAA,YAAA;AAAA,MAAA,OAAM,CAACR,cAAA,CAAeS,KAAO,EAAA,EAAA,CAAAC,MAAA,CAAGV,cAAe,CAAAS,KAAA,QAAAC,MAAA,CAAU3B,KAAM,CAAAG,gBAAA,CAAmB,CAAA,CAAA;KAAA,CAAA,CAAA;AAE/G,IAAA,IAAMyB,gBAAgB,SAAhBA,gBAAsB;MACtB,IAAAC,aAAA,CAAc7B,MAAMK,OAAO,CAAA,EAC7B,OAAOZ,OAAOqC,IAAK,CAAA9B,KAAA,CAAMK,OAAO,CAAA,CAAE0B,IAAI,UAACC,GAAA,EAAA;QAAA,OAAAC,WAAA,CAAAC,MAAA,EAAA;AAAA,UAAA,KAAA,EAE9BF,GACL;AAAA,UAAA,MAAA,EAAA,OAAA;AAAA,UAAA,SAAA,EAAA,MAAA;UAAA,SAES,EAAA,SAAAG,QAACC,CAAA,EAAA;AAAA,YAAA,IAAAC,oBAAA,CAAA;YAAA,OAAAA,CAAAA,oBAAA,GACRrC,KAAM,CAAAW,aAAA,MAAA0B,IAAAA,IAAAA,oBAAA,uBAANA,oBAAA,CAAAzC,IAAA,CAAAI,KAAM,EAAgBA,MAAMK,OAAQ,CAAA2B,GAAA,CAAA,EAAM;AAAEI,cAAAA,CAAA,EAAAA,CAAA;cAAGE,4BAAWN,GAAM,EAAAhC,KAAA,CAAMK,QAAQ2B,GAAK,CAAA,CAAA;AAAE,aAAC,CAGvF,CAAA;AAAA,WAAA;AAAA,SAAA,EAAAzC,OAAA,CAAAyC,GAAA,CAAA,GAAAA,GAAA,GAAA;AAAA,UAAA,SAAA,EAAA,SAAAO,QAAA,GAAA;AAAA,YAAA,OAAA,CAAAP,GAAA,CAAA,CAAA;AAAA,WAAA;AAAA,SAAA,CAAA,CAAA;AAAA,OAEJ,CAAA,CAAA;AACG,MAAA,IAAAQ,WAAA,GAAczB,eAAe,SAAS,CAAA,CAAA;AAC5C,MAAA,OAAOyB,WAAe,KAAfA,IAAAA,IAAAA,WAAe,KAAfA,KAAAA,CAAAA,GAAAA,WAAe,GAAA,IAAA,CAAA;KACxB,CAAA;AACA,IAAA,OAAO,YAAM;AAAA,MAAA,IAAAC,KAAA,CAAA;AACX,MAAA,IAAMC,iBAAiBd,aAAc,EAAA,CAAA;AAC/B,MAAA,IAAAe,iBAAA,GAAoBlC,MAAMmC,OAAQ,CAAAF,cAAc,IAAIA,cAAe,CAAAG,MAAA,GAAS,CAAI,GAAA,CAAC,CAACH,cAAA,CAAA;AAEtF,MAAA,OAAAT,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAYT,WAAY,CAAAE,KAAAA;OACrBiB,EAAAA,CAAAA,iBAAA,GAAAV,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAgCd,aAAaO,KAAAA;AAAQ,OAAA,EAAA,CAAAgB,cAAA,CAAA,CAAA,GAAwB,IAAA,EAC7E1C,KAAM,CAAAC,gBAAA,IAAoBD,KAAM,CAAAM,WAAA,IAAA2B,WAAA,CAAAC,MAAA,EAAA;QAAA,UAEnB,EAAA,CAAClC,KAAM,CAAAO,aAAA;AAAA,QAAA,MAAA,EAAA,OAAA;AAAA,QAAA,OAAA,EAAA,SAAA;QAAA,SAGR,EAAA,SAAA4B,QAACC,CAAkB,EAAA;AAAA,UAAA,IAAAU,qBAAA,CAAA;AAAA,UAAA,OAAA,CAAAA,qBAAA,GAAA9C,KAAA,CAAMa,cAAiB,MAAA,IAAA,IAAAiC,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAvBA,qBAAA,CAAAlD,IAAA,CAAAI,KAAA,EAAuB;AAAEoC,YAAAA,CAAE,EAAFA,CAAAA;AAAE,WAAC,CAEvD,CAAA;AAAA,SAAA;AAAA,OAAA,EAAA7C,OAAA,CAAAkD,KAAA,GAAAnB,CAAA,CAAEC,YAAa,CAAAG,KAAA,CAAMqB,OAAO,CAAA,IAAAN,KAAA,GAAA;AAAA,QAAA,SAAA,EAAA,SAAAF,QAAA,GAAA;AAAA,UAAA,OAAA,CAAAE,KAAA,CAAA,CAAA;AAAA,SAAA;OAN9B,CAAA,CAAA,CAAA,CAAA;KAWT,CAAA;AACF,GAAA;AACF,CAAC,CAAA;;;;"}