tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 19.5 kB
Source Map (JSON)
{"version":3,"file":"dialog-card.mjs","sources":["../../../components/dialog/dialog-card.tsx"],"sourcesContent":["import { computed, defineComponent, getCurrentInstance, 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 instance = getCurrentInstance();\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 // 对话框位置,支持全局配置,优先级:组件属性 > 全局配置\n const placement = computed(() => props.placement ?? globalConfig.value.placement);\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}--${placement.value}`);\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 // 自定义关闭按钮(TNode 或插槽)时,不套用默认 __close 容器样式,实现完全替换\n const isCustomCloseBtn =\n typeof props?.closeBtn === 'function' || Boolean(instance?.slots?.closeBtn || instance?.slots?.['close-btn']);\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\n class={isCustomCloseBtn ? undefined : closeClassName}\n onClick={closeBtnAction}\n onMousedown={onStopDown}\n >\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","instance","getCurrentInstance","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","placement","_props$placement","closeBtnAction","_props$onCloseBtnClic","onCloseBtnClick","onStopDown","stopPropagation","resetPosition","style","position","left","top","$el","dialogClass","concat","theme","dialogClassName","push","dialogStyle","width","getCSSValue","renderCard","confirmBtnLoading","_confirmBtn$value","loading","defaultFooter","globalCancel","cancel","className","globalConfirm","confirm","globalConfirmBtnTheme","confirmBtnTheme","footerContent","renderHeader","_renderTNodeJSX","_instance$slots","_instance$slots2","header","_createVNode","headerClassName","closeClassName","isCustomCloseBtn","closeBtn","Boolean","slots","getIcon","icon","info","warning","danger","success","renderBody","body","bodyClassName","renderFooter","footerClassName","_Fragment","footer","_withDirectives"],"mappings":"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"}