{"version":3,"file":"chat-message.mjs","sources":["../../../pro-components/chat/chat-message/chat-message.tsx"],"sourcesContent":["import { defineComponent } from 'vue';\nimport type { DefineComponent } from 'vue';\nimport type { TdChatMessageProps } from 'tdesign-web-components';\n// 封装tdesign-web-components 的 chat-message\nimport 'tdesign-web-components/lib/chat-message';\nimport { omiVueify } from 'omi-vueify';\nimport props from './chat-message-props';\nimport { useTNodeJSX } from '@tdesign/shared-hooks';\n\nconst BaseChatMessage = omiVueify('t-chat-item', {\n  methodNames: [],\n}) as DefineComponent<TdChatMessageProps>;\nexport default defineComponent({\n  name: 'ChatMessage',\n  props,\n  setup(props, { slots }) {\n    return () => {\n      const renderTNodeJSX = useTNodeJSX();\n      const baseSlots = {\n        actionbar: () => {\n          const actionbar = renderTNodeJSX('actionbar', { slotFirst: true }) && slots.actionbar?.();\n          return actionbar ? <div>{actionbar}</div> : null;\n        },\n        name: () => {\n          const name = renderTNodeJSX('name', { slotFirst: true }) && slots.name?.();\n          return name ? <div>{name}</div> : null;\n        },\n        avatar: () => {\n          // renderTNodeJSX如果没有插槽，会返回属性值，所以需要判断插槽是否存在\n          const avatar = renderTNodeJSX('avatar', { slotFirst: true }) && slots.avatar?.();\n          return avatar ? <div>{avatar}</div> : null;\n        },\n        datetime: () => {\n          const datetime = renderTNodeJSX('datetime', { slotFirst: true }) && slots.datetime?.();\n          return datetime ? <div>{datetime}</div> : null;\n        },\n        header: () => {\n          const header = renderTNodeJSX('header', { slotFirst: true }) && slots.header?.();\n          return header ? <div>{header}</div> : null;\n        },\n      };\n      let vSlots = null;\n      if (props.allowContentSegmentCustom) {\n        vSlots = {\n          ...slots,\n          ...baseSlots,\n        };\n      } else {\n        vSlots = {\n          ...baseSlots,\n          content: () => {\n            const content = (renderTNodeJSX('content', { slotFirst: true }) && slots.content?.()) || slots.default?.();\n            return content ? <div>{content}</div> : null;\n          },\n        };\n      }\n      return (\n        <BaseChatMessage\n          {...(props as TdChatMessageProps)}\n          v-slots={{\n            ...vSlots,\n          }}\n        />\n      );\n    };\n  },\n});\n"],"names":["BaseChatMessage","omiVueify","methodNames","defineComponent","name","props","setup","slots","_ref","renderTNodeJSX","useTNodeJSX","baseSlots","actionbar","_slots$actionbar","slotFirst","call","_createVNode","_slots$name","avatar","_slots$avatar","datetime","_slots$datetime","header","_slots$header","vSlots","allowContentSegmentCustom","_objectSpread","content","_slots$content","_slots$default"],"mappings":"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"}