{"version":3,"sources":["../../src/api-keys.client.tsx"],"sourcesContent":["\"use client\";\nimport { ApiProvider, AuthToken, useApiReady } from \"./api/api-provider.js\";\nimport { useWorkOsApiUrl } from \"./lib/widgets-context.js\";\nimport {\n  ApiKeysLoading,\n  ApiKeys as ApiKeysPresentational,\n  ApiKeysError,\n} from \"./lib/api-keys/api-keys.js\";\nimport type {\n  ApiKeysLoadingProps,\n  ApiKeysErrorProps,\n} from \"./lib/api-keys/api-keys.js\";\nimport { useListOrganizationApiKeyPermissions } from \"./api/endpoint.js\";\nimport * as React from \"react\";\nimport { ErrorBoundary } from \"./lib/error-boundary.js\";\nimport { usePermissions } from \"./lib/use-permissions.js\";\nimport {\n  ApiKeysContextProvider,\n  useApiKeysContext,\n} from \"./lib/api-keys/api-keys-context.js\";\nimport { useApiKeys } from \"./lib/api/api-key.js\";\nimport { CreateApiKeyDialog } from \"./lib/api-keys/create-api-key.js\";\nimport type { WidgetRootDomProps } from \"./lib/utils.js\";\n\ninterface ApiKeysProps extends WidgetRootDomProps {\n  authToken: AuthToken;\n}\n\nconst ApiKeys: React.FC<ApiKeysProps> = ({ authToken, ...domProps }) => {\n  const baseUrl = useWorkOsApiUrl();\n  return (\n    <ErrorBoundary\n      fallbackRender={({ error }) => (\n        <ApiKeysError {...domProps} error={error} />\n      )}\n    >\n      <ApiProvider\n        widgetType=\"api-keys\"\n        authToken={authToken}\n        baseUrl={baseUrl}\n      >\n        <ApiKeysContextProvider>\n          <CreateApiKeyDialog />\n          <ApiKeysImpl {...domProps} />\n        </ApiKeysContextProvider>\n      </ApiProvider>\n    </ErrorBoundary>\n  );\n};\n\nconst ApiKeysImpl = (props: WidgetRootDomProps) => {\n  const isApiReady = useApiReady();\n  const apiKeys = useApiKeys();\n  const { state } = useApiKeysContext();\n  useListOrganizationApiKeyPermissions({ limit: 100 });\n  const permissionsQuery = usePermissions(\"widgets:api-keys:manage\");\n\n  if (!isApiReady || apiKeys.isLoading || permissionsQuery.isLoading) {\n    return <ApiKeysLoading {...props} />;\n  }\n\n  if (permissionsQuery.isError || apiKeys.isError) {\n    return (\n      <ApiKeysError\n        error={permissionsQuery.error || apiKeys.error}\n        {...props}\n      />\n    );\n  }\n\n  if (apiKeys.isSuccess) {\n    return (\n      <ApiKeysPresentational\n        apiKeys={apiKeys.data}\n        searchQuery={state.searchQuery}\n        {...props}\n      />\n    );\n  }\n\n  return <ApiKeysError error={apiKeys.error} {...props} />;\n};\n\nexport type { ApiKeysProps, ApiKeysLoadingProps, ApiKeysErrorProps };\nexport { ApiKeys, ApiKeysLoading, ApiKeysError };\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiCQ;AAhCR,0BAAoD;AACpD,6BAAgC;AAChC,sBAIO;AAKP,sBAAqD;AAErD,4BAA8B;AAC9B,6BAA+B;AAC/B,8BAGO;AACP,qBAA2B;AAC3B,4BAAmC;AAOnC,MAAM,UAAkC,CAAC,EAAE,WAAW,GAAG,SAAS,MAAM;AACtE,QAAM,cAAU,wCAAgB;AAChC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAgB,CAAC,EAAE,MAAM,MACvB,4CAAC,gCAAc,GAAG,UAAU,OAAc;AAAA,MAG5C;AAAA,QAAC;AAAA;AAAA,UACC,YAAW;AAAA,UACX;AAAA,UACA;AAAA,UAEA,uDAAC,kDACC;AAAA,wDAAC,4CAAmB;AAAA,YACpB,4CAAC,eAAa,GAAG,UAAU;AAAA,aAC7B;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,cAAc,CAAC,UAA8B;AACjD,QAAM,iBAAa,iCAAY;AAC/B,QAAM,cAAU,2BAAW;AAC3B,QAAM,EAAE,MAAM,QAAI,2CAAkB;AACpC,4DAAqC,EAAE,OAAO,IAAI,CAAC;AACnD,QAAM,uBAAmB,uCAAe,yBAAyB;AAEjE,MAAI,CAAC,cAAc,QAAQ,aAAa,iBAAiB,WAAW;AAClE,WAAO,4CAAC,kCAAgB,GAAG,OAAO;AAAA,EACpC;AAEA,MAAI,iBAAiB,WAAW,QAAQ,SAAS;AAC/C,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAO,iBAAiB,SAAS,QAAQ;AAAA,QACxC,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AAEA,MAAI,QAAQ,WAAW;AACrB,WACE;AAAA,MAAC,gBAAAA;AAAA,MAAA;AAAA,QACC,SAAS,QAAQ;AAAA,QACjB,aAAa,MAAM;AAAA,QAClB,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AAEA,SAAO,4CAAC,gCAAa,OAAO,QAAQ,OAAQ,GAAG,OAAO;AACxD;","names":["ApiKeysPresentational"]}