tdesign-vue-next
Version:
TDesign Component for vue-next
1 lines • 6.66 kB
Source Map (JSON)
{"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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"}