{"version":3,"sources":["../src/components/Persona/usePersona.ts"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { usePersonaBase_unstable } from '@fluentui/react-persona';\nimport { slot } from '@fluentui/react-utilities';\nimport type { PersonaProps, PersonaState } from './Persona.types';\nimport { Avatar } from '../Avatar';\n\n/**\n * Create the state required to render Persona.\n *\n * The returned state can be modified with hooks such as usePersonaStyles_unstable,\n * before being passed to renderPersona_unstable.\n *\n * @param props - props from this instance of Persona\n * @param ref - reference to root HTMLDivElement of Persona\n */\nexport const usePersona = (props: PersonaProps, ref: React.Ref<HTMLDivElement>): PersonaState => {\n  const { textPosition = 'after', ...baseProps } = props;\n  const baseState = usePersonaBase_unstable(baseProps, ref);\n\n  const state: PersonaState = {\n    ...baseState,\n    textPosition,\n    components: {\n      // eslint-disable-next-line @typescript-eslint/no-deprecated\n      ...baseState.components,\n      avatar: Avatar,\n    },\n    avatar: slot.optional(props.avatar, {\n      renderByDefault: true,\n      defaultProps: {\n        name: props.name,\n      },\n      elementType: Avatar,\n    }),\n  };\n\n  state.root['data-text-position'] = state.textPosition;\n\n  return state;\n};\n"],"names":["usePersona","props","ref","textPosition","baseProps","baseState","usePersonaBase_unstable","state","components","avatar","Avatar","slot","optional","renderByDefault","defaultProps","name","elementType","root"],"mappings":"AAAA;;;;;+BAiBaA;;;eAAAA;;;8BAd2B;gCACnB;wBAEE;AAWhB,MAAMA,aAAa,CAACC,OAAqBC;IAC9C,MAAM,EAAEC,eAAe,OAAO,EAAE,GAAGC,WAAW,GAAGH;IACjD,MAAMI,YAAYC,IAAAA,qCAAuB,EAACF,WAAWF;IAErD,MAAMK,QAAsB;QAC1B,GAAGF,SAAS;QACZF;QACAK,YAAY;YACV,4DAA4D;YAC5D,GAAGH,UAAUG,UAAU;YACvBC,QAAQC,cAAM;QAChB;QACAD,QAAQE,oBAAI,CAACC,QAAQ,CAACX,MAAMQ,MAAM,EAAE;YAClCI,iBAAiB;YACjBC,cAAc;gBACZC,MAAMd,MAAMc,IAAI;YAClB;YACAC,aAAaN,cAAM;QACrB;IACF;IAEAH,MAAMU,IAAI,CAAC,qBAAqB,GAAGV,MAAMJ,YAAY;IAErD,OAAOI;AACT"}