UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

1 lines 7.64 kB
{"version":3,"file":"popconfirm.mjs","sources":["../../src/popconfirm/popconfirm.tsx"],"sourcesContent":["import { defineComponent, computed, toRefs } from 'vue';\n\nimport { useConfig, usePrefixClass } from '../hooks/useConfig';\nimport Popup, { PopupProps, PopupVisibleChangeContext } from '../popup/index';\nimport props from './props';\nimport { useContent, useTNodeJSX, useTNodeDefault } from '../hooks/tnode';\nimport useVModel from '../hooks/useVModel';\nimport { useAction } from '../dialog/hooks';\n\nimport type { PopconfirmVisibleChangeContext } from './type';\nimport type { TdDialogProps } from '../dialog/type';\nexport default defineComponent({\n name: 'XPopconfirm',\n props,\n\n setup(props) {\n const { globalConfig } = useConfig('popconfirm');\n const COMPONENT_NAME = usePrefixClass('popconfirm');\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:any = {\n default: <icon-ri-information-fill />,\n warning: <icon-ri-error-warning-fill />,\n danger: <icon-ri-error-warning-fill />,\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":["name","props","innerVisible","setInnerVisible","e","trigger","confirmBtnAction","cancelBtnAction","globalCancel","className","size","globalConfirm","globalConfirmBtnTheme","_resolveComponent","warning","_createVNode","_mergeProps","content"],"mappings":"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"}