{"version":3,"sources":["../../../../src/lib/api-keys/api-key-details-dialog.tsx"],"sourcesContent":["import { Flex, Box, Text, ScrollArea } from \"@radix-ui/themes\";\nimport { Button, Dialog, Label } from \"../elements.js\";\nimport { ApiKeyDetailsCard } from \"./api-key-details-card.js\";\nimport {\n  ListOrganizationApiKeysResponseData,\n  useListOrganizationApiKeyPermissions,\n} from \"../../api/endpoint.js\";\nimport { Translation } from \"../i18n/translation.js\";\n\nfunction Permission({\n  ...permission\n}: {\n  name: string;\n  description?: string | null;\n}) {\n  return (\n    <Box className=\"woswidgets-api-key-details-permission\" px=\"4\" py=\"3\">\n      <Flex direction=\"column\">\n        <Text size=\"2\" weight=\"bold\">\n          {permission.name}\n        </Text>\n        {permission.description ? (\n          <Text size=\"2\" color=\"gray\">\n            {permission.description}\n          </Text>\n        ) : null}\n      </Flex>\n    </Box>\n  );\n}\n\nexport function ApiKeyDetailsDialog({\n  open,\n  onOpenChange,\n  apiKey,\n  permissions,\n}: {\n  open: boolean;\n  onOpenChange: (open: boolean) => void;\n  apiKey: ListOrganizationApiKeysResponseData;\n  permissions: string[];\n}) {\n  const permissionsQuery = useListOrganizationApiKeyPermissions({ limit: 100 });\n  const filteredPermissions = permissions.map((permission) =>\n    permissionsQuery.data?.data.find((p) => p.slug === permission),\n  );\n\n  return (\n    <Dialog.Root open={open} onOpenChange={onOpenChange}>\n      <Dialog.Content maxWidth=\"529px\">\n        <Dialog.Title>\n          <Translation\n            defaultMessage=\"API key details\"\n            id=\"dqU4kt\"\n            description=\"Dialog title for viewing API key details\"\n          />\n        </Dialog.Title>\n        <Flex direction=\"column\" gap=\"5\">\n          <ApiKeyDetailsCard apiKey={apiKey} mt=\"5\" />\n          {permissions.length ? (\n            <Flex direction=\"column\" gap=\"2\">\n              <Label>\n                <Translation\n                  defaultMessage=\"Permissions\"\n                  id=\"i0XUeg\"\n                  description=\"Label for API key permissions section\"\n                />\n              </Label>\n              <Flex\n                style={{\n                  borderRadius: \"var(--radius-3)\",\n                  borderColor: \"var(--gray-6)\",\n                  borderWidth: \"1px\",\n                  borderStyle: \"solid\",\n                }}\n                direction=\"column\"\n                align=\"stretch\"\n              >\n                <ScrollArea style={{ maxHeight: \"calc(50vh - 150px)\" }}>\n                  {filteredPermissions.map((permission) => {\n                    if (!permission) return null;\n                    return <Permission key={permission.name} {...permission} />;\n                  })}\n                </ScrollArea>\n              </Flex>\n            </Flex>\n          ) : null}\n        </Flex>\n        <Flex align=\"center\" gap=\"3\" justify=\"end\" mt=\"5\">\n          <Dialog.Close>\n            <Button variant=\"secondary\">\n              <Translation\n                defaultMessage=\"Close\"\n                id=\"/4YwoE\"\n                description=\"Button to close the API key details dialog\"\n              />\n            </Button>\n          </Dialog.Close>\n        </Flex>\n      </Dialog.Content>\n    </Dialog.Root>\n  );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBM;AAjBN,oBAA4C;AAC5C,sBAAsC;AACtC,kCAAkC;AAClC,sBAGO;AACP,yBAA4B;AAE5B,SAAS,WAAW;AAAA,EAClB,GAAG;AACL,GAGG;AACD,SACE,4CAAC,qBAAI,WAAU,yCAAwC,IAAG,KAAI,IAAG,KAC/D,uDAAC,sBAAK,WAAU,UACd;AAAA,gDAAC,sBAAK,MAAK,KAAI,QAAO,QACnB,qBAAW,MACd;AAAA,IACC,WAAW,cACV,4CAAC,sBAAK,MAAK,KAAI,OAAM,QAClB,qBAAW,aACd,IACE;AAAA,KACN,GACF;AAEJ;AAEO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AACD,QAAM,uBAAmB,sDAAqC,EAAE,OAAO,IAAI,CAAC;AAC5E,QAAM,sBAAsB,YAAY;AAAA,IAAI,CAAC,eAC3C,iBAAiB,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,SAAS,UAAU;AAAA,EAC/D;AAEA,SACE,4CAAC,uBAAO,MAAP,EAAY,MAAY,cACvB,uDAAC,uBAAO,SAAP,EAAe,UAAS,SACvB;AAAA,gDAAC,uBAAO,OAAP,EACC;AAAA,MAAC;AAAA;AAAA,QACC,gBAAe;AAAA,QACf,IAAG;AAAA,QACH,aAAY;AAAA;AAAA,IACd,GACF;AAAA,IACA,6CAAC,sBAAK,WAAU,UAAS,KAAI,KAC3B;AAAA,kDAAC,iDAAkB,QAAgB,IAAG,KAAI;AAAA,MACzC,YAAY,SACX,6CAAC,sBAAK,WAAU,UAAS,KAAI,KAC3B;AAAA,oDAAC,yBACC;AAAA,UAAC;AAAA;AAAA,YACC,gBAAe;AAAA,YACf,IAAG;AAAA,YACH,aAAY;AAAA;AAAA,QACd,GACF;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,OAAO;AAAA,cACL,cAAc;AAAA,cACd,aAAa;AAAA,cACb,aAAa;AAAA,cACb,aAAa;AAAA,YACf;AAAA,YACA,WAAU;AAAA,YACV,OAAM;AAAA,YAEN,sDAAC,4BAAW,OAAO,EAAE,WAAW,qBAAqB,GAClD,8BAAoB,IAAI,CAAC,eAAe;AACvC,kBAAI,CAAC,WAAY,QAAO;AACxB,qBAAO,4CAAC,cAAkC,GAAG,cAArB,WAAW,IAAsB;AAAA,YAC3D,CAAC,GACH;AAAA;AAAA,QACF;AAAA,SACF,IACE;AAAA,OACN;AAAA,IACA,4CAAC,sBAAK,OAAM,UAAS,KAAI,KAAI,SAAQ,OAAM,IAAG,KAC5C,sDAAC,uBAAO,OAAP,EACC,sDAAC,0BAAO,SAAQ,aACd;AAAA,MAAC;AAAA;AAAA,QACC,gBAAe;AAAA,QACf,IAAG;AAAA,QACH,aAAY;AAAA;AAAA,IACd,GACF,GACF,GACF;AAAA,KACF,GACF;AAEJ;","names":[]}