{"version":3,"file":"Comment.cjs","sources":["../../../../../../packages/components/comment/src/Comment.tsx"],"sourcesContent":["import type { CustomSlotsType, VueNode } from '@antdv/types';\nimport { flattenChildren } from '@antdv/utils';\nimport { defineComponent } from 'vue';\nimport useConfigInject from '../../config-provider/src/hooks/useConfigInject';\nimport useStyle from '../style';\nimport { commentProps } from './props';\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'AComment',\n  inheritAttrs: false,\n  props: commentProps(),\n  slots: Object as CustomSlotsType<{\n    actions: any\n    author: any\n    avatar: any\n    content: any\n    datetime: any\n    default: any\n  }>,\n  setup(props, { slots, attrs }) {\n    const { prefixCls, direction } = useConfigInject('comment', props);\n\n    // style\n    const [wrapSSR, hashId] = useStyle(prefixCls);\n\n    const renderNested = (prefix: string, children: VueNode) => {\n      return <div class={`${prefix}-nested`}>{children}</div>;\n    };\n    const getAction = (actions: VueNode[]) => {\n      if (!actions || !actions.length)\n        return null;\n\n      const actionList = actions.map((action, index) => <li key={`action-${index}`}>{action}</li>);\n      return actionList;\n    };\n    return () => {\n      const pre = prefixCls.value;\n\n      const actions: any[] = props.actions ?? slots.actions?.();\n      const author = props.author ?? slots.author?.();\n      const avatar = props.avatar ?? slots.avatar?.();\n      const content = props.content ?? slots.content?.();\n      const datetime = props.datetime ?? slots.datetime?.();\n\n      const avatarDom = (\n        <div class={`${pre}-avatar`}>\n          {typeof avatar === 'string' ? <img src={avatar} alt=\"comment-avatar\" /> : avatar}\n        </div>\n      );\n\n      const actionDom = actions\n        ? (\n            <ul class={`${pre}-actions`}>{getAction(Array.isArray(actions) ? actions : [actions])}</ul>\n          )\n        : null;\n\n      const authorContent = (\n        <div class={`${pre}-content-author`}>\n          {author && <span class={`${pre}-content-author-name`}>{author}</span>}\n          {datetime && <span class={`${pre}-content-author-time`}>{datetime}</span>}\n        </div>\n      );\n\n      const contentDom = (\n        <div class={`${pre}-content`}>\n          {authorContent}\n          <div class={`${pre}-content-detail`}>{content}</div>\n          {actionDom}\n        </div>\n      );\n\n      const comment = (\n        <div class={`${pre}-inner`}>\n          {avatarDom}\n          {contentDom}\n        </div>\n      );\n      const children = flattenChildren(slots.default?.());\n      return wrapSSR(\n        <div\n          {...attrs}\n          class={[\n            pre,\n            {\n              [`${pre}-rtl`]: direction.value === 'rtl',\n            },\n            attrs.class,\n            hashId.value,\n          ]}\n        >\n          {comment}\n          {children && children.length ? renderNested(pre, children) : null}\n        </div>,\n      );\n    };\n  },\n});\n"],"names":["defineComponent","compatConfig","MODE","name","inheritAttrs","props","commentProps","slots","Object","setup","attrs","prefixCls","direction","useConfigInject","wrapSSR","hashId","useStyle","renderNested","prefix","children","_createVNode","getAction","actions","length","actionList","map","action","index","pre","value","author","avatar","content","datetime","avatarDom","actionDom","Array","isArray","authorContent","contentDom","comment","flattenChildren","default","class"],"mappings":"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"}