{"version":3,"file":"useRoleAutocomplete.mjs","sources":["../../../../../../../../web/src/adminPortal/utils/useRoleAutocomplete.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { ROLE_ID_STYTCH_MEMBER } from './roles';\nimport { useRoleDisplayInfo } from './useRoleDisplayInfo';\nimport { useRoles } from './useRoles';\nimport { useRoleSortFn } from './useRoleSortFn';\n\nexport const useRoleAutocomplete = ({\n  excludeStytchMember = false,\n  includeOrgRoles = false,\n}: { excludeStytchMember?: boolean; includeOrgRoles?: boolean } = {}) => {\n  const allRoles = useRoles(includeOrgRoles);\n  const assignableRoles = useMemo(\n    () => (excludeStytchMember ? allRoles?.filter((role) => role.role_id !== ROLE_ID_STYTCH_MEMBER) : allRoles),\n    [allRoles, excludeStytchMember],\n  );\n\n  const sortRoles = useRoleSortFn();\n\n  const roleSelectItems = useMemo(() => {\n    return sortRoles(assignableRoles ?? []).map((role) => role.role_id);\n  }, [assignableRoles, sortRoles]);\n\n  const { roleInfo, getRoleIdDisplayName } = useRoleDisplayInfo(includeOrgRoles);\n\n  return {\n    selectItems: roleSelectItems,\n    getOptionDescription: (roleId: string) => roleInfo[roleId].description,\n    getOptionLabel: getRoleIdDisplayName,\n  };\n};\n"],"names":["useRoleAutocomplete","excludeStytchMember","includeOrgRoles","allRoles","useRoles","assignableRoles","useMemo","filter","role","role_id","ROLE_ID_STYTCH_MEMBER","sortRoles","useRoleSortFn","roleSelectItems","map","roleInfo","getRoleIdDisplayName","useRoleDisplayInfo","selectItems","getOptionDescription","roleId","description","getOptionLabel"],"mappings":";;;;;;;AAOO,MAAMA,mBAAAA,GAAsB,CAAC,EAClCC,mBAAAA,GAAsB,KAAK,EAC3BC,eAAAA,GAAkB,KAAK,EACsC,GAAG,EAAE,GAAA;AAClE,IAAA,MAAMC,WAAWC,QAAAA,CAASF,eAAAA,CAAAA;AAC1B,IAAA,MAAMG,eAAAA,GAAkBC,CAAAA,CACtB,IAAOL,mBAAAA,GAAsBE,QAAAA,EAAUI,MAAAA,CAAO,CAACC,IAAAA,GAASA,IAAAA,CAAKC,OAAO,KAAKC,qBAAAA,CAAAA,GAAyBP,QAAAA,EAClG;AAACA,QAAAA,QAAAA;AAAUF,QAAAA;AAAoB,KAAA,CAAA;AAGjC,IAAA,MAAMU,SAAAA,GAAYC,aAAAA,EAAAA;AAElB,IAAA,MAAMC,kBAAkBP,CAAAA,CAAQ,IAAA;QAC9B,OAAOK,SAAAA,CAAUN,mBAAmB,EAAE,CAAA,CAAES,GAAG,CAAC,CAACN,IAAAA,GAASA,IAAAA,CAAKC,OAAO,CAAA;IACpE,CAAA,EAAG;AAACJ,QAAAA,eAAAA;AAAiBM,QAAAA;AAAU,KAAA,CAAA;AAE/B,IAAA,MAAM,EAAEI,QAAQ,EAAEC,oBAAoB,EAAE,GAAGC,kBAAAA,CAAmBf,eAAAA,CAAAA;IAE9D,OAAO;QACLgB,WAAAA,EAAaL,eAAAA;AACbM,QAAAA,oBAAAA,EAAsB,CAACC,MAAAA,GAAmBL,QAAQ,CAACK,MAAAA,CAAO,CAACC,WAAW;QACtEC,cAAAA,EAAgBN;AAClB,KAAA;AACF;;;;"}