UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

1 lines 3.79 kB
{"version":3,"file":"group.mjs","sources":["../../src/avatar/group.tsx"],"sourcesContent":["import { defineComponent, provide, RendererNode } from 'vue';\nimport props from './avatar-group-props';\nimport Avatar from './avatar';\nimport { useTNodeJSX } from '../hooks/tnode';\nimport { usePrefixClass } from '../hooks/useConfig';\n\nexport default defineComponent({\n name: 'XAvatarGroup',\n props,\n\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<RendererNode>): Array<RendererNode> => {\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<RendererNode>) => {\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(children)] : [children];\n\n return <div class={groupClass}>{content}</div>;\n };\n },\n});\n"],"names":["_isVNode","name","props","provide","outAvatar","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAI+B,SAAA,OAAA,CAAA,CAAA,EAAA;AAAA,EAAA,OAAA,OAAA,CAAA,KAAA,UAAA,IAAA,MAAA,CAAA,SAAA,CAAA,QAAA,CAAA,IAAA,CAAA,CAAA,CAAA,KAAA,iBAAA,IAAA,CAAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA;AAE/B,mBAAA,eAAA,CAAA;AACEC,EAAAA,IAAAA,EAAAA,cAAAA;AACAC,EAAAA,KAAAA,EAAAA,KAAAA;;AAGEC,IAAAA,OAAAA,CAAAA,aAAAA,EAAAA,MAAAA,CAAAA,CAAAA;AACA,IAAA,IAAA,cAAA,GAAA,WAAA,EAAA,CAAA;AAEM,IAAA,IAAA,WAAA,GAAA,cAAA,CAAA,QAAA,CAAA,CAAA;AACA,IAAA,IAAA,cAAA,GAAA,cAAA,CAAA,cAAA,CAAA,CAAA;AAEA,IAAA,IAAA,oBAAA,GAAA,SAAA,oBAAA,CAAA,QAAA,EAAA;AACA,MAAA,IAAA,CAAA,QAAA,KAAA,IAAA,IAAA,QAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,MAAA,IAAA,MAAA,CAAA,GAAA,EAAA;AACI,QAAA,IAAA,OAAA,GAAA,kBAAA,CAAA,QAAA,CAAA,CAAA;;AAEIC,QAAAA,SAAAA,CAAAA,IAAAA,CAAAA,WAAAA,CAAAA,OAAAA,EAAAA;AAAA,UAAA,OAAA,EAAA,EAAA,CAAA,MAAA,CAAA,WAAA,CAAA,KAAA,EAAA,YAAA,CAAA;;AAEL,SAAA,EAAA,OAAA,CAAA,OAAA,CAAA,GAAA,OAAA,GAAA;AAAA,UAAA,SAAA,EAAA,SAAA,QAAA,GAAA;AAAA,YAAA,OAAA,CAAA,OAAA,CAAA,CAAA;AAAA,WAAA;AAAA,SAAA,CAAA,CAAA,CAAA;;AAIP,OAAA;;;AAKI,IAAA,IAAA,kBAAA,GAAA,SAAA,kBAAA,CAAA,QAAA,EAAA;AACJ,MAAA,OAAA,cAAA,CAAA,gBAAA,CAAA,IAAA,GAAA,CAAA,MAAA,CAAA,QAAA,CAAA,MAAA,GAAA,MAAA,CAAA,GAAA,CAAA,CAAA;;AAGF,IAAA,OAAA,YAAA;AAAa,MAAA,IAAA,IAAA,CAAA;AACL,MAAA,IAAA,QAAA,GAAA,cAAA,CAAA,SAAA,CAAA,CAAA;AACA,MAAA,IAAA,SAAA,GAAA,MAAA,CAAA,SAAA;;AACN,MAAA,IAAA,UAAA,GAAA,CAAA,EAAA,CAAA,MAAA,CAAA,cAAA,CAAA,KAAA,CAAA,GAAA,IAAA,GAAA,EAAA,EAAA,eAAA,CAAA,IAAA,EAAA,EAAA,CAAA,MAAA,CAAA,WAAA,CAAA,KAAA,EAAA,gBAAA,CAAA,EAAA,SAAA,KAAA,UAAA,CAAA,EAAA,eAAA,CAAA,IAAA,EAAA,EAAA,CAAA,MAAA,CAAA,WAAA,CAAA,KAAA,EAAA,eAAA,CAAA,EAAA,SAAA,KAAA,SAAA,CAAA,EAAA,IAAA,EAAA,CAAA;AAOM,MAAA,IAAA,OAAA,GAAA,GAAA,IAAA,GAAA,IAAA,CAAA,GAAA,CAAA,oBAAA,CAAA,QAAA,CAAA,CAAA,GAAA,CAAA,QAAA,CAAA,CAAA;AAEN,MAAA,OAAAC,WAAA,CAAA,KAAA,EAAA;;AAAmB,OAAA,EAAA,CAAA,OAAA,CAAA,CAAA,CAAA;;AAEvB,GAAA;AACF,CAAA,CAAA;;;;"}