UNPKG

tdesign-vue-next

Version:
1 lines 6.54 kB
{"version":3,"file":"comment.mjs","sources":["../../../components/comment/comment.tsx"],"sourcesContent":["import { defineComponent, computed } from 'vue';\nimport props from './props';\n\nimport { usePrefixClass } from '../hooks/useConfig';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport Button from '../button';\nimport { isString } from 'lodash-es';\nimport { isArray } 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\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 return (\n <div class={`${COMPONENT_NAME.value}__actions`}>\n {(isArray(actions) ? actions : [actions]).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","reply","author","datetime","quote","actions","content","avatar","showAuthorDatetime","computed","replyDom","_createVNode","concat","value","quoteDom","avatarDom","isString","authorDatetimeDom","renderActions","length","isArray","map","action","index","Button","_default","contentDom"],"mappings":"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"}