{"version":3,"file":"index.mjs","sources":["../../../../../../components/avatar-group/src/index.tsx"],"sourcesContent":["import { computed, defineComponent, mergeProps, toRefs } from 'vue'\nimport { unRefs, useNamespace } from '@fusion-ui-vue/utils'\nimport { css, cx } from '@fusion-ui-vue/theme'\nimport { FnAvatar } from '../../avatar'\nimport { avatarGroupProps } from './avatar-group'\n\nexport default defineComponent({\n  props: avatarGroupProps,\n  setup(props, { slots, attrs }) {\n    const { max, avatarBorder, ...avatarProps } = toRefs(props)\n    const ns = useNamespace('avatar-group')\n    const slotsVNodes = slots?.default?.() ?? []\n\n    let vNodes = slotsVNodes\n    if (max.value && +max.value < slotsVNodes.length) {\n      const count = slotsVNodes.length - +max.value\n      vNodes = [\n        ...slotsVNodes.slice(0, +max.value),\n        <FnAvatar>+{count}</FnAvatar>,\n      ]\n    }\n\n    const renderVNodes = computed(() => {\n      return vNodes.map((VNode: any) => (\n        <VNode {...mergeProps(unRefs(avatarProps), VNode.props ?? {})} />\n      ))\n    })\n\n    const classList = computed(() => {\n      const classes = (attrs?.class as string)?.split(' ') ?? []\n      classes.push(ns.b())\n      classes.push(css`\n        & .fn-avatar {\n          border: 2px solid ${avatarBorder.value};\n        }\n      `)\n      return cx(classes)\n    })\n\n    return () => (\n      <div {...mergeProps(attrs, { class: classList.value })}>\n        {renderVNodes.value.reverse()}\n      </div>\n    )\n  },\n})\n"],"names":["props","avatarGroupProps","setup","slots","attrs","max","avatarBorder","avatarProps","toRefs","ns","useNamespace","slotsVNodes","default","vNodes","value","length","count","slice","_createVNode","FnAvatar","_createTextVNode","renderVNodes","computed","map","VNode","mergeProps","unRefs","classList","classes","class","split","push","b","css","cx","reverse"],"mappings":";;;;;;;;;AAMA,kCAA+B,eAAA,CAAA;AAAA,EAC7BA,KAAOC,EAAAA,gBAAAA;AAAAA,EACPC,MAAMF,KAAO,EAAA;AAAA,IAAEG,KAAAA;AAAAA,IAAOC,KAAAA;AAAAA,GAAS,EAAA;;AAC7B,IAAM,MAAA;AAAA,MAAEC,GAAAA;AAAAA,MAAKC,YAAAA;AAAAA,MAAc,GAAGC,WAAAA;AAAAA,KAAY,GAAIC,OAAOR,KAAK,CAAA,CAAA;AAC1D,IAAMS,MAAAA,EAAAA,GAAKC,aAAa,cAAc,CAAA,CAAA;AACtC,IAAA,MAAMC,WAAcR,GAAAA,CAAAA,EAAAA,GAAAA,CAAAA,EAAAA,GAAAA,KAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAOS,OAAPT,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,IAAAA,CAAAA,KAAAA,CAAAA,KAAAA,IAAAA,GAAAA,EAAAA,GAAsB,EAAE,CAAA;AAE5C,IAAA,IAAIU,MAASF,GAAAA,WAAAA,CAAAA;AACb,IAAA,IAAIN,IAAIS,KAAS,IAAA,CAACT,GAAIS,CAAAA,KAAAA,GAAQH,YAAYI,MAAQ,EAAA;AAChD,MAAA,MAAMC,KAAQL,GAAAA,WAAAA,CAAYI,MAAS,GAAA,CAACV,GAAIS,CAAAA,KAAAA,CAAAA;AACxCD,MAAS,MAAA,GAAA,CACP,GAAGF,WAAAA,CAAYM,KAAM,CAAA,CAAA,EAAG,CAACZ,GAAAA,CAAIS,KAAK,CAAA,EAACI,WAAAC,CAAAA,QAAAA,EAAA,IAAA,EAAA;AAAA,QAAAP,SAAAA,MAAAQ,CAAAA,sBACvBJ,KAAK,CAAA;AAAA,OAClB,CAAA,CAAA,CAAA;AAAA,KACH;AAEA,IAAMK,MAAAA,YAAAA,GAAeC,SAAS,MAAM;AAClC,MAAOT,OAAAA,MAAAA,CAAOU,IAAKC;;AAAUN,QAAAA,OAAAA,WAAAA,CAAAM,KAChBC,EAAAA,UAAAA,CAAWC,MAAOnB,CAAAA,WAAW,CAAGiB,EAAAA,CAAAA,GAAAA,GAAAA,KAAMxB,CAAAA,KAAAA,KAANwB,IAAAA,GAAAA,GAAAA,GAAe,EAAE,GAAC,IAAA,CAAA,CAAA;AAAA,OAC9D,CAAA,CAAA;AAAA,KACF,CAAA,CAAA;AAED,IAAMG,MAAAA,SAAAA,GAAYL,SAAS,MAAM;;AAC/B,MAAMM,MAAAA,OAAAA,GAAAA,CAAWxB,GAAAA,GAAAA,CAAAA,GAAAA,GAAAA,KAAOyB,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,KAAAA,KAAPzB,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,GAAAA,CAAyB0B,KAAM,CAAA,GAAA,CAAA,KAA/B1B,IAAAA,GAAAA,GAAAA,GAAuC,EAAE,CAAA;AAC1DwB,MAAQG,OAAAA,CAAAA,IAAAA,CAAKtB,EAAGuB,CAAAA,CAAAA,EAAG,CAAA,CAAA;AACnBJ,MAAAA,OAAAA,CAAQG,IAAKE,CAAAA,GAAAA,CAAAA;AAAAA;AAAAA,4BAAAA,EAEW3B,aAAaQ,KAAM,CAAA;AAAA;AAAA,MAE1C,CAAA,CAAA,CAAA;AACD,MAAA,OAAOoB,GAAGN,OAAO,CAAA,CAAA;AAAA,KAClB,CAAA,CAAA;AAED,IAAA,OAAO,MAAAV,WAAAA,CAAA,KACIO,EAAAA,UAAAA,CAAWrB,KAAO,EAAA;AAAA,MAAEyB,OAAOF,SAAUb,CAAAA,KAAAA;AAAAA,KAAO,IAClDO,aAAaP,KAAMqB,CAAAA,OAAAA,EAAS,CAEhC,CAAA,CAAA;AAAA,GACH;AACF,CAAC,CAAA;;;;"}