UNPKG

tdesign-vue-next

Version:
1 lines 4.34 kB
{"version":3,"file":"group.mjs","sources":["../../../components/avatar/group.tsx"],"sourcesContent":["import { defineComponent, provide, VNode } from 'vue';\nimport props from './avatar-group-props';\nimport Avatar from './avatar';\nimport { useTNodeJSX, usePrefixClass } from '@tdesign/shared-hooks';\n\nimport { getChildren } from '@tdesign/shared-utils';\n\nexport default defineComponent({\n name: 'TAvatarGroup',\n props,\n setup(props) {\n provide('avatarGroup', props);\n const renderTNodeJSX = useTNodeJSX();\n\n const AVATAR_NAME = usePrefixClass('avatar');\n const COMPONENT_NAME = usePrefixClass('avatar-group');\n\n const renderEllipsisAvatar = (children: Array<VNode>): Array<VNode> => {\n if (children?.length > props.max) {\n const content = getEllipsisContent(children);\n const outAvatar = children.slice(0, props.max);\n outAvatar.push(\n <Avatar class={`${AVATAR_NAME.value}__collapse`} size={props.size}>\n {content}\n </Avatar>,\n );\n return outAvatar;\n }\n return children;\n };\n\n // collapseAvatar\n const getEllipsisContent = (children: Array<VNode>) => {\n return renderTNodeJSX('collapseAvatar') || `+${children.length - props.max}`;\n };\n\n return () => {\n const children = renderTNodeJSX('default');\n const { cascading, max } = props;\n const groupClass = [\n `${COMPONENT_NAME.value}`,\n {\n [`${AVATAR_NAME.value}--offset-right`]: cascading === 'right-up',\n [`${AVATAR_NAME.value}--offset-left`]: cascading === 'left-up',\n },\n ];\n const content = max && max >= 0 ? [renderEllipsisAvatar(getChildren(children))] : [children];\n\n return <div class={groupClass}>{content}</div>;\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","setup","provide","renderTNodeJSX","useTNodeJSX","AVATAR_NAME","usePrefixClass","COMPONENT_NAME","renderEllipsisAvatar","children","length","max","content","getEllipsisContent","outAvatar","slice","push","_createVNode","Avatar","concat","value","size","_default","cascading","groupClass","_defineProperty","getChildren"],"mappings":"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"}