UNPKG

@vuesax-alpha/nightly

Version:
1 lines 3.4 kB
{"version":3,"file":"use-avatar-status.mjs","sources":["../../../../../../../packages/components/avatar/src/composables/use-avatar-status.ts"],"sourcesContent":["import { computed } from 'vue'\nimport { isArray } from '@vue/shared'\nimport { avatarGroupContextKey } from '@vuesax-alpha/tokens'\nimport { useGroupInject } from '@vuesax-alpha/hooks'\nimport { debugWarn } from '@vuesax-alpha/utils'\nimport type { ComponentInternalInstance } from 'vue'\n\nexport const useAvatarStatus = (slots: ComponentInternalInstance['slots']) => {\n const avatarGroup = useGroupInject(avatarGroupContextKey)\n\n const isHidden = computed(\n () => avatarGroup && avatarGroup.index.value > avatarGroup.max - 1\n )\n\n const isLastest = computed(\n () => !!avatarGroup?.max && avatarGroup.index.value === avatarGroup.max - 1\n )\n\n const moreNumber = computed(\n () =>\n avatarGroup && avatarGroup.children.length - avatarGroup.index.value - 1\n )\n\n const showLastest = computed(\n () =>\n avatarGroup &&\n avatarGroup.children.length - avatarGroup.index.value - 1 != 0\n )\n\n // split text: 'Evan You' -> EY, lyli -> lyli\n const getText = computed(() => {\n const slotText = slots.text?.()\n if (!slotText) return ''\n\n if (slotText.length > 1) {\n debugWarn('Avatar slot=\"text\"', 'requires exact only one valid child.')\n return ''\n }\n\n const nodeText = slotText[0]\n\n if (isArray(nodeText.children) || !nodeText.children) return ''\n\n const text = nodeText.children as string\n\n let getLetters: string[] = [text]\n if (text.length > 5) {\n getLetters = text.split(/\\s/g).map((item) => item[0])\n }\n return getLetters.join('')\n })\n\n return {\n isHidden,\n isLastest,\n getText,\n moreNumber,\n showLastest,\n }\n}\n"],"names":[],"mappings":";;;;;;;;;AAOa,MAAA,eAAA,GAAkB,CAAC,KAA8C,KAAA;AAC5E,EAAM,MAAA,WAAA,GAAc,eAAe,qBAAqB,CAAA,CAAA;AAExD,EAAA,MAAM,QAAW,GAAA,QAAA;AAAA,IACf,MAAM,WAAe,IAAA,WAAA,CAAY,KAAM,CAAA,KAAA,GAAQ,YAAY,GAAM,GAAA,CAAA;AAAA,GACnE,CAAA;AAEA,EAAA,MAAM,SAAY,GAAA,QAAA;AAAA,IAChB,MAAM,CAAC,EAAC,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAa,QAAO,WAAY,CAAA,KAAA,CAAM,KAAU,KAAA,WAAA,CAAY,GAAM,GAAA,CAAA;AAAA,GAC5E,CAAA;AAEA,EAAA,MAAM,UAAa,GAAA,QAAA;AAAA,IACjB,MACE,WAAe,IAAA,WAAA,CAAY,SAAS,MAAS,GAAA,WAAA,CAAY,MAAM,KAAQ,GAAA,CAAA;AAAA,GAC3E,CAAA;AAEA,EAAA,MAAM,WAAc,GAAA,QAAA;AAAA,IAClB,MACE,eACA,WAAY,CAAA,QAAA,CAAS,SAAS,WAAY,CAAA,KAAA,CAAM,QAAQ,CAAK,IAAA,CAAA;AAAA,GACjE,CAAA;AAGA,EAAM,MAAA,OAAA,GAAU,SAAS,MAAM;AA9BjC,IAAA,IAAA,EAAA,CAAA;AA+BI,IAAM,MAAA,QAAA,GAAA,CAAW,WAAM,IAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AACjB,IAAA,IAAI,CAAC,QAAA;AAAU,MAAO,OAAA,EAAA,CAAA;AAEtB,IAAI,IAAA,QAAA,CAAS,SAAS,CAAG,EAAA;AACvB,MAAA,SAAA,CAAU,sBAAsB,sCAAsC,CAAA,CAAA;AACtE,MAAO,OAAA,EAAA,CAAA;AAAA,KACT;AAEA,IAAA,MAAM,WAAW,QAAS,CAAA,CAAA,CAAA,CAAA;AAE1B,IAAA,IAAI,OAAQ,CAAA,QAAA,CAAS,QAAQ,CAAA,IAAK,CAAC,QAAS,CAAA,QAAA;AAAU,MAAO,OAAA,EAAA,CAAA;AAE7D,IAAA,MAAM,OAAO,QAAS,CAAA,QAAA,CAAA;AAEtB,IAAI,IAAA,UAAA,GAAuB,CAAC,IAAI,CAAA,CAAA;AAChC,IAAI,IAAA,IAAA,CAAK,SAAS,CAAG,EAAA;AACnB,MAAa,UAAA,GAAA,IAAA,CAAK,MAAM,KAAK,CAAA,CAAE,IAAI,CAAC,IAAA,KAAS,KAAK,CAAE,CAAA,CAAA,CAAA;AAAA,KACtD;AACA,IAAO,OAAA,UAAA,CAAW,KAAK,EAAE,CAAA,CAAA;AAAA,GAC1B,CAAA,CAAA;AAED,EAAO,OAAA;AAAA,IACL,QAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,GACF,CAAA;AACF;;;;"}