{"version":3,"file":"UdpTenantSelect.mjs","names":["React","useCallback","useMemo","UdpAutocomplete","FormChangeEvent","Tenant","TenantTypeEnums","UdpTenantSelectProps","tenants","value","onTenantChange","tenant","label","sortByName","list","sort","a","b","tenantName","toLowerCase","localeCompare","UdpTenantSelect","FC","t0","$","_c","t1","undefined","t2","bb0","t3","Symbol","for","hasMultipleTypes","some","_temp","_temp2","filter","_temp3","_temp4","options","e","target","handleChange","t4","t5","_temp5","t_0","t","tenantType","Product","t_1","t_2","option"],"sources":["../../../src/utilities/tenant/UdpTenantSelect.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\nimport { UdpAutocomplete } from '../../UI/fluent-web-components/UdpAutocomplete';\nimport { FormChangeEvent } from '../../UI/fluent-web-components/utils/formEvents';\nimport { Tenant } from '../types';\nimport { TenantTypeEnums } from '../../enums/unitySystemEnums';\n\ninterface UdpTenantSelectProps {\n  tenants?: Tenant[] | null;\n  value?: Tenant | null;\n  onTenantChange?: (tenant: Tenant) => void;\n  label?: string;\n}\n\nconst sortByName = (list: Tenant[]): Tenant[] =>\n  [...list].sort((a, b) =>\n    a.tenantName.toLowerCase().localeCompare(b.tenantName.toLowerCase())\n  );\n\nexport const UdpTenantSelect: React.FC<UdpTenantSelectProps> = ({\n  tenants,\n  value,\n  onTenantChange,\n  label = 'Current Tenant',\n}) => {\n  const options = useMemo(() => {\n    if (!tenants) return [];\n    const hasMultipleTypes =\n      tenants.some((t) => t.tenantType === TenantTypeEnums.Tenant) &&\n      tenants.some((t) => t.tenantType === TenantTypeEnums.Product);\n    if (!hasMultipleTypes) return sortByName(tenants);\n    return [\n      ...sortByName(tenants.filter((t) => t.tenantType === TenantTypeEnums.Tenant)),\n      ...sortByName(tenants.filter((t) => t.tenantType === TenantTypeEnums.Product)),\n    ];\n  }, [tenants]);\n\n  const handleChange = useCallback(\n    (e: FormChangeEvent<Tenant>) => {\n      if (e.target.value) onTenantChange?.(e.target.value);\n    },\n    [onTenantChange]\n  );\n\n  return (\n    <UdpAutocomplete<Tenant>\n      value={value ?? undefined}\n      options={options}\n      optionLabel={(option: Tenant) => option?.tenantName ?? ''}\n      optionValue=\"tenantId\"\n      label={label}\n      includeErrorPadding={false}\n      onChange={handleChange}\n    />\n  );\n};\n"],"mappings":";;;;;AAaA,MAAMa,cAAcC,SAClB,CAAC,GAAGA,KAAK,CAACC,MAAMC,GAAGC,MACjBD,EAAEE,WAAWC,aAAa,CAACC,cAAcH,EAAEC,WAAWC,aAAa,CACrE,CAAC;AAEH,MAAaE,mBAAkDE,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAC,MAAA,EAAAjB,SAAAC,OAAAC,gBAAAE,OAAAc,OAAAH;CAI9D,MAAAX,QAAAc,OAAAC,KAAAA,IAAA,mBAAAD;CAAwB,IAAAE;AAAAC,MAAA;AAGtB,MAAI,CAACrB,SAAO;GAAA,IAAAsB;AAAA,OAAAN,EAAA,OAAAO,OAAAC,IAAA,4BAAA,EAAA;AAASF,SAAA,EAAE;AAAAN,MAAA,KAAAM;SAAAA,MAAAN,EAAA;AAATI,QAAOE;AAAP,SAAAD;;AAId,MAAI,EAFFrB,QAAO0B,KAAMC,MACgD,IAA7D3B,QAAO0B,KAAME,OAAgD,GAC1C;GAAA,IAAAN;AAAA,OAAAN,EAAA,OAAAhB,SAAA;AAASsB,SAAAjB,WAAWL,QAAQ;AAAAgB,MAAA,KAAAhB;AAAAgB,MAAA,KAAAM;SAAAA,MAAAN,EAAA;AAA1BI,QAAOE;AAAP,SAAAD;;EAA2B,IAAAC;AAAA,MAAAN,EAAA,OAAAhB,SAAA;AAC3CsB,QAAA,CAAA,GACFjB,WAAWL,QAAO6B,OAAQC,OAA+C,CAAC,EAAA,GAC1EzB,WAAWL,QAAO6B,OAAQE,OAAgD,CAAC,CAC/E;AAAAf,KAAA,KAAAhB;AAAAgB,KAAA,KAAAM;QAAAA,MAAAN,EAAA;AAHDI,OAAOE;;CANT,MAAAU,UAAgBZ;CAUF,IAAAE;AAAA,KAAAN,EAAA,OAAAd,gBAAA;AAGZoB,QAAAW,MAAA;AACE,OAAIA,EAACC,OAAOjC,MAAQC,kBAAiB+B,EAACC,OAAOjC,MAAO;;AACrDe,IAAA,KAAAd;AAAAc,IAAA,KAAAM;OAAAA,MAAAN,EAAA;CAHH,MAAAmB,eAAqBb;CASV,MAAAc,KAAAnC,SAAAkB,KAAAA;CAAkB,IAAAkB;AAAA,KAAArB,EAAA,OAAAmB,gBAAAnB,EAAA,OAAAZ,SAAAY,EAAA,OAAAgB,WAAAhB,EAAA,QAAAoB,IAAA;AAD3BC,OAAA,sBAAA,cAAC,iBAAD;GACS,OAAAD;GACEJ;GACI,aAAAM;GACD,aAAA;GACLlC;GACc,qBAAA;GACX+B,UAAAA;GACV,CAAA;AAAAnB,IAAA,KAAAmB;AAAAnB,IAAA,KAAAZ;AAAAY,IAAA,KAAAgB;AAAAhB,IAAA,MAAAoB;AAAApB,IAAA,MAAAqB;OAAAA,MAAArB,EAAA;AAAA,QARFqB;;AA1B2D,SAAAV,MAAAY,KAAA;AAAA,QASrCC,IAACC,eAAgB3C,gBAAeD;;AATK,SAAA+B,OAAAY,GAAA;AAAA,QAUrCA,EAACC,eAAgB3C,gBAAe4C;;AAVK,SAAAZ,OAAAa,KAAA;AAAA,QAarBH,IAACC,eAAgB3C,gBAAeD;;AAbX,SAAAkC,OAAAa,KAAA;AAAA,QAcrBJ,IAACC,eAAgB3C,gBAAe4C;;AAdX,SAAAJ,OAAAO,QAAA;AAAA,QA6BxBA,QAAMnC,cAAN"}