{"version":3,"file":"comment.mjs","sources":["../../../components/comment/comment.tsx"],"sourcesContent":["import { defineComponent, computed } from 'vue';\nimport props from './props';\n\nimport { useTNodeJSX, usePrefixClass, useFlatChildrenSlots } from '@tdesign/shared-hooks';\n\nimport Button from '../button';\nimport { isString } from 'lodash-es';\n\nexport default defineComponent({\n  name: 'TComment',\n  props,\n  setup() {\n    const COMPONENT_NAME = usePrefixClass('comment');\n    const renderTNodeJSX = useTNodeJSX();\n    const getFlatChildren = useFlatChildrenSlots();\n\n    return () => {\n      const reply = renderTNodeJSX('reply');\n      const author = renderTNodeJSX('author');\n      const datetime = renderTNodeJSX('datetime');\n      const quote = renderTNodeJSX('quote');\n      const actions = renderTNodeJSX('actions');\n      const content = renderTNodeJSX('content');\n      const avatar = renderTNodeJSX('avatar');\n      const showAuthorDatetime = computed(() => author || datetime);\n\n      const replyDom = reply ? <div class={`${COMPONENT_NAME.value}__reply`}>{reply}</div> : null;\n\n      const quoteDom = quote ? <div class={`${COMPONENT_NAME.value}__quote`}>{quote}</div> : null;\n\n      const avatarDom = avatar ? (\n        <div class={`${COMPONENT_NAME.value}__avatar`}>\n          {isString(avatar) ? <img src={avatar} alt=\"\" class={`${COMPONENT_NAME.value}__avatar-image`} /> : avatar}\n        </div>\n      ) : null;\n\n      const authorDatetimeDom = showAuthorDatetime.value && (\n        <div class={`${COMPONENT_NAME.value}__author`}>\n          {author && <span class={`${COMPONENT_NAME.value}__name`}>{author}</span>}\n          {datetime && <span class={`${COMPONENT_NAME.value}__time`}>{datetime}</span>}\n        </div>\n      );\n\n      const renderActions = () => {\n        if (!actions || !actions.length) return null;\n        const flatChildren = getFlatChildren(actions);\n        return (\n          <div class={`${COMPONENT_NAME.value}__actions`}>\n            {flatChildren.map((action, index) => (\n              <Button key={`action-${index}`} size=\"small\" variant=\"text\">\n                {action}\n              </Button>\n            ))}\n          </div>\n        );\n      };\n\n      const contentDom = (\n        <div class={`${COMPONENT_NAME.value}__content`}>\n          {authorDatetimeDom}\n          <div class={`${COMPONENT_NAME.value}__detail`}>{content}</div>\n          {quoteDom}\n          {renderActions()}\n        </div>\n      );\n\n      return (\n        <div class={COMPONENT_NAME.value}>\n          <div class={`${COMPONENT_NAME.value}__inner`}>\n            {avatarDom}\n            {contentDom}\n          </div>\n          {replyDom}\n        </div>\n      );\n    };\n  },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","setup","COMPONENT_NAME","usePrefixClass","renderTNodeJSX","useTNodeJSX","getFlatChildren","useFlatChildrenSlots","reply","author","datetime","quote","actions","content","avatar","showAuthorDatetime","computed","replyDom","_createVNode","concat","value","quoteDom","avatarDom","isString","authorDatetimeDom","renderActions","length","flatChildren","map","action","index","Button","_default","contentDom"],"mappings":"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"}