UNPKG

tdesign-vue-next

Version:
1 lines 9.71 kB
{"version":3,"file":"popconfirm.mjs","sources":["../../../components/popconfirm/popconfirm.tsx"],"sourcesContent":["import { defineComponent, computed, toRefs } from 'vue';\nimport {\n InfoCircleFilledIcon as TdInfoCircleFilledIcon,\n ErrorCircleFilledIcon as TdErrorCircleFilledIcon,\n} from 'tdesign-icons-vue-next';\n\nimport {\n useConfig,\n useVModel,\n useContent,\n useTNodeJSX,\n useGlobalIcon,\n usePrefixClass,\n useTNodeDefault,\n} from '@tdesign/hooks';\n\nimport Popup, { PopupProps, PopupVisibleChangeContext } from '../popup/index';\nimport props from './props';\n\nimport { useAction } from '../dialog/hooks';\n\nimport type { PopconfirmVisibleChangeContext } from './type';\nimport type { TdDialogProps } from '../dialog/type';\nexport default defineComponent({\n name: 'TPopconfirm',\n props,\n setup(props) {\n const { globalConfig } = useConfig('popconfirm');\n const COMPONENT_NAME = usePrefixClass('popconfirm');\n const { InfoCircleFilledIcon, ErrorCircleFilledIcon } = useGlobalIcon({\n InfoCircleFilledIcon: TdInfoCircleFilledIcon,\n ErrorCircleFilledIcon: TdErrorCircleFilledIcon,\n });\n\n const { visible, modelValue } = toRefs(props);\n const [innerVisible, setInnerVisible] = useVModel(\n visible,\n modelValue,\n props.defaultVisible,\n props.onVisibleChange,\n 'visible',\n );\n\n const confirmBtnAction = (e: MouseEvent) => {\n props.onConfirm?.({ e });\n setInnerVisible(false, { e, trigger: 'confirm' });\n };\n\n const cancelBtnAction = (e: MouseEvent) => {\n props.onCancel?.({ e });\n setInnerVisible(false, { e, trigger: 'cancel' });\n };\n\n const { getConfirmBtn, getCancelBtn } = useAction({ confirmBtnAction, cancelBtnAction });\n\n const renderTNodeJSX = useTNodeJSX();\n const innerPopupProps = computed(() => {\n return {\n showArrow: props.showArrow,\n overlayClassName: COMPONENT_NAME.value,\n trigger: 'click' as PopupProps['trigger'],\n destroyOnClose: props.destroyOnClose,\n placement: props.placement,\n ...(props.popupProps as PopupProps),\n };\n });\n\n const renderTNodeDefault = useTNodeDefault();\n const renderContent = () => {\n const cancelBtn = getCancelBtn({\n cancelBtn: props.cancelBtn as TdDialogProps['cancelBtn'],\n globalCancel: globalConfig.value.cancel,\n className: `${COMPONENT_NAME.value}__cancel`,\n size: 'small',\n });\n\n const confirmBtn = getConfirmBtn({\n theme: props.theme,\n confirmBtn: props.confirmBtn as TdDialogProps['confirmBtn'],\n globalConfirm: globalConfig.value.confirm,\n globalConfirmBtnTheme: globalConfig.value.confirmBtnTheme,\n className: `${COMPONENT_NAME.value}__confirm`,\n size: 'small',\n });\n\n const renderIcon = () => {\n const Icon = {\n default: InfoCircleFilledIcon,\n warning: ErrorCircleFilledIcon,\n danger: ErrorCircleFilledIcon,\n }[props.theme];\n const theme = props.theme || 'default';\n return renderTNodeDefault('icon', <Icon class={`${COMPONENT_NAME.value}__icon--${theme}`} />);\n };\n\n return (\n <div class={`${COMPONENT_NAME.value}__content`}>\n <div class={`${COMPONENT_NAME.value}__body`}>\n {renderIcon()}\n <div class={`${COMPONENT_NAME.value}__inner`}>{renderTNodeJSX('content')}</div>\n </div>\n {Boolean(cancelBtn || confirmBtn) && (\n <div class={`${COMPONENT_NAME.value}__buttons`}>\n {cancelBtn}\n {confirmBtn}\n </div>\n )}\n </div>\n );\n };\n\n const onPopupVisibleChange = (val: boolean, context: PopupVisibleChangeContext) => {\n setInnerVisible(val, context as PopconfirmVisibleChangeContext);\n };\n\n const renderTNodeContent = useContent();\n\n return () => (\n <Popup\n visible={innerVisible.value}\n {...innerPopupProps.value}\n onVisibleChange={onPopupVisibleChange}\n v-slots={{\n content: renderContent,\n }}\n >\n {renderTNodeContent('default', 'triggerElement')}\n </Popup>\n );\n },\n});\n"],"names":["defineComponent","name","props","setup","_useConfig","useConfig","globalConfig","COMPONENT_NAME","usePrefixClass","_useGlobalIcon","useGlobalIcon","InfoCircleFilledIcon","TdInfoCircleFilledIcon","ErrorCircleFilledIcon","TdErrorCircleFilledIcon","_toRefs","toRefs","visible","modelValue","_useVModel","useVModel","defaultVisible","onVisibleChange","_useVModel2","_slicedToArray","innerVisible","setInnerVisible","confirmBtnAction","e","_props2$onConfirm","onConfirm","trigger","cancelBtnAction","_props2$onCancel","onCancel","_useAction","useAction","getConfirmBtn","getCancelBtn","renderTNodeJSX","useTNodeJSX","innerPopupProps","computed","_objectSpread","showArrow","overlayClassName","value","destroyOnClose","placement","popupProps","renderTNodeDefault","useTNodeDefault","renderContent","cancelBtn","globalCancel","cancel","className","concat","size","confirmBtn","theme","globalConfirm","confirm","globalConfirmBtnTheme","confirmBtnTheme","renderIcon","Icon","warning","danger","_createVNode","Boolean","onPopupVisibleChange","val","context","renderTNodeContent","useContent","Popup","_mergeProps","_default","content"],"mappings":"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"}