UNPKG

tdesign-vue-next

Version:
1 lines 18 kB
{"version":3,"file":"dialog-card.mjs","sources":["../../../components/dialog/dialog-card.tsx"],"sourcesContent":["import { computed, defineComponent, ref, toRefs } from 'vue';\nimport {\n CloseIcon as TdCloseIcon,\n InfoCircleFilledIcon as TdInfoCircleFilledIcon,\n CheckCircleFilledIcon as TdCheckCircleFilledIcon,\n ErrorCircleFilledIcon as TdErrorCircleFilledIcon,\n} from 'tdesign-icons-vue-next';\nimport dialogCardProps from './dialog-card-props';\nimport { useConfig, useContent, useTNodeJSX, useGlobalIcon, usePrefixClass } from '@tdesign/shared-hooks';\n\nimport { useAction } from './hooks';\n\nimport type { TdDialogProps } from './type';\nimport dialogProps from './props';\nimport { getCSSValue, initDragEvent } from './utils';\n\nexport default defineComponent({\n name: 'TDialogCard',\n // 注册v-draggable指令,传入true时候初始化拖拽事件\n directives: {\n draggable(el, binding) {\n // el 指令绑定的元素\n if (el && binding && binding.value) {\n initDragEvent(el);\n }\n },\n },\n props: {\n ...dialogProps,\n ...dialogCardProps,\n },\n setup(props, { expose }) {\n const rootRef = ref<HTMLElement | null>(null);\n const COMPONENT_NAME = usePrefixClass('dialog');\n const classPrefix = usePrefixClass();\n const renderTNodeJSX = useTNodeJSX();\n const renderContent = useContent();\n const { globalConfig } = useConfig('dialog');\n const { CloseIcon, InfoCircleFilledIcon, CheckCircleFilledIcon, ErrorCircleFilledIcon } = useGlobalIcon({\n CloseIcon: TdCloseIcon,\n InfoCircleFilledIcon: TdInfoCircleFilledIcon,\n CheckCircleFilledIcon: TdCheckCircleFilledIcon,\n ErrorCircleFilledIcon: TdErrorCircleFilledIcon,\n });\n const { cancelBtn, confirmBtn, confirmLoading } = toRefs(props);\n const confirmBtnAction = (e: MouseEvent) => props.onConfirm?.({ e });\n const cancelBtnAction = (e: MouseEvent) => props.onCancel?.({ e });\n const { getConfirmBtn, getCancelBtn } = useAction({ confirmBtnAction, cancelBtnAction });\n // 是否非模态对话框\n const isModeLess = computed(() => props.mode === 'modeless');\n // 仅模态和非模态场景支持拖拽\n const isDraggableMode = computed(() => ['modal', 'modeless'].includes(props.mode));\n // 是否全屏对话框\n const isFullScreen = computed(() => props.mode === 'full-screen');\n const closeBtnAction = (e: MouseEvent) => props?.onCloseBtnClick?.({ e });\n // modal/modeless 模式开启 draggable 后,仅 header 作为拖拽手柄\n // body / footer 区域阻止 mousedown 冒泡,避免误触发拖拽\n const onStopDown = (e: MouseEvent) => {\n if (isDraggableMode.value && props?.draggable) e.stopPropagation();\n };\n\n const resetPosition = () => {\n if (!rootRef.value && isModeLess.value && props.draggable) return;\n rootRef.value.style.position = 'relative';\n rootRef.value.style.left = 'unset';\n rootRef.value.style.top = 'unset';\n };\n\n // 暴露给父组件的接口\n expose({\n $el: rootRef,\n resetPosition,\n });\n\n const dialogClass = computed(() => {\n const dialogClass = [\n `${COMPONENT_NAME.value}`,\n `${COMPONENT_NAME.value}__modal-${props.theme}`,\n isDraggableMode.value && props.draggable && `${COMPONENT_NAME.value}--draggable`,\n props.dialogClassName,\n ];\n\n if (isFullScreen.value) {\n dialogClass.push(`${COMPONENT_NAME.value}__fullscreen`);\n } else {\n dialogClass.push(`${COMPONENT_NAME.value}--default`, `${COMPONENT_NAME.value}--${props.placement}`);\n }\n return dialogClass;\n });\n const dialogStyle = computed(() => {\n return !isFullScreen.value ? { width: getCSSValue(props.width), ...props.dialogStyle } : { ...props.dialogStyle }; // width全屏模式不生效\n });\n\n const renderCard = () => {\n const confirmBtnLoading = computed(() => {\n // @ts-ignore\n return confirmBtn.value?.loading || confirmLoading.value;\n });\n const defaultFooter = (\n <div>\n {getCancelBtn({\n cancelBtn: cancelBtn.value as TdDialogProps['cancelBtn'],\n globalCancel: globalConfig.value.cancel,\n className: `${COMPONENT_NAME.value}__cancel`,\n })}\n {getConfirmBtn({\n theme: props?.theme,\n confirmBtn: confirmBtn.value as TdDialogProps['confirmBtn'],\n globalConfirm: globalConfig.value.confirm,\n globalConfirmBtnTheme: globalConfig.value.confirmBtnTheme,\n className: `${COMPONENT_NAME.value}__confirm`,\n confirmLoading: confirmBtnLoading.value,\n })}\n </div>\n );\n\n const footerContent = renderTNodeJSX('footer', defaultFooter);\n\n const renderHeader = () => {\n // header 值为 true 显示空白头部\n const header = renderTNodeJSX('header', <h5 class=\"title\"></h5>) ?? false;\n const headerClassName = isFullScreen.value\n ? [`${COMPONENT_NAME.value}__header`, `${COMPONENT_NAME.value}__header--fullscreen`]\n : `${COMPONENT_NAME.value}__header`;\n\n const closeClassName = isFullScreen.value\n ? [`${COMPONENT_NAME.value}__close`, `${COMPONENT_NAME.value}__close--fullscreen`]\n : `${COMPONENT_NAME.value}__close`;\n const getIcon = () => {\n const icon = {\n info: <InfoCircleFilledIcon class={`${classPrefix.value}-is-info`} />,\n warning: <ErrorCircleFilledIcon class={`${classPrefix.value}-is-warning`} />,\n danger: <ErrorCircleFilledIcon class={`${classPrefix.value}-is-error`} />,\n success: <CheckCircleFilledIcon class={`${classPrefix.value}-is-success`} />,\n };\n return icon[props?.theme as keyof typeof icon];\n };\n return (\n (header || props?.closeBtn) && (\n <div class={headerClassName}>\n <div class={`${COMPONENT_NAME.value}__header-content`}>\n {getIcon()}\n {header}\n </div>\n\n {props?.closeBtn ? (\n <span class={closeClassName} onClick={closeBtnAction} onMousedown={onStopDown}>\n {renderTNodeJSX('closeBtn', <CloseIcon />)}\n </span>\n ) : null}\n </div>\n )\n );\n };\n\n const renderBody = () => {\n const body = renderContent('default', 'body');\n const bodyClassName =\n props?.theme === 'default' ? [`${COMPONENT_NAME.value}__body`] : [`${COMPONENT_NAME.value}__body__icon`];\n if (isFullScreen.value && footerContent) {\n bodyClassName.push(`${COMPONENT_NAME.value}__body--fullscreen`);\n } else if (isFullScreen.value) {\n bodyClassName.push(`${COMPONENT_NAME.value}__body--fullscreen--without-footer`);\n }\n return (\n <div class={bodyClassName} onMousedown={onStopDown}>\n {body}\n </div>\n );\n };\n\n const renderFooter = () => {\n const footerClassName = isFullScreen.value\n ? [`${COMPONENT_NAME.value}__footer`, `${COMPONENT_NAME.value}__footer--fullscreen`]\n : `${COMPONENT_NAME.value}__footer`;\n\n return (\n footerContent && (\n <div class={footerClassName} onMousedown={onStopDown}>\n {footerContent}\n </div>\n )\n );\n };\n\n return (\n <>\n {renderHeader()}\n {renderBody()}\n {!!props.footer && renderFooter()}\n </>\n );\n };\n\n return () => (\n <div\n key=\"dialog\"\n ref={rootRef}\n class={dialogClass.value}\n style={dialogStyle.value}\n v-draggable={isDraggableMode.value && props.draggable}\n >\n {renderCard()}\n </div>\n );\n },\n});\n"],"names":["defineComponent","name","directives","draggable","el","binding","value","initDragEvent","props","_objectSpread","dialogProps","dialogCardProps","setup","_ref","expose","rootRef","ref","COMPONENT_NAME","usePrefixClass","classPrefix","renderTNodeJSX","useTNodeJSX","renderContent","useContent","_useConfig","useConfig","globalConfig","_useGlobalIcon","useGlobalIcon","CloseIcon","TdCloseIcon","InfoCircleFilledIcon","TdInfoCircleFilledIcon","CheckCircleFilledIcon","TdCheckCircleFilledIcon","ErrorCircleFilledIcon","TdErrorCircleFilledIcon","_toRefs","toRefs","cancelBtn","confirmBtn","confirmLoading","confirmBtnAction","e","_props$onConfirm","onConfirm","call","cancelBtnAction","_props$onCancel","onCancel","_useAction","useAction","getConfirmBtn","getCancelBtn","isModeLess","computed","mode","isDraggableMode","includes","isFullScreen","closeBtnAction","_props$onCloseBtnClic","onCloseBtnClick","onStopDown","stopPropagation","resetPosition","style","position","left","top","$el","dialogClass","concat","theme","dialogClassName","push","placement","dialogStyle","width","getCSSValue","renderCard","confirmBtnLoading","_confirmBtn$value","loading","defaultFooter","globalCancel","cancel","className","globalConfirm","confirm","globalConfirmBtnTheme","confirmBtnTheme","footerContent","renderHeader","_renderTNodeJSX","header","_createVNode","headerClassName","closeClassName","getIcon","icon","info","warning","danger","success","closeBtn","renderBody","body","bodyClassName","renderFooter","footerClassName","_Fragment","footer","_withDirectives"],"mappings":"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"}