{"version":3,"sources":["../../src/users-management.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { useRolesAndConfig } from \"./api/endpoint.js\";\nimport { ApiProvider, AuthToken, useApiReady } from \"./api/api-provider.js\";\nimport * as React from \"react\";\nimport { useUsers } from \"./lib/api/user.js\";\nimport {\n  UsersManagementError,\n  UsersManagementLoading,\n  UsersManagement as UsersManagementPresentational,\n} from \"./lib/users-management.js\";\nimport type {\n  UsersManagementErrorProps,\n  UsersManagementLoadingProps,\n} from \"./lib/users-management.js\";\nimport { UsersManagementContextProvider } from \"./lib/users-management-context.js\";\nimport { useWorkOsApiUrl } from \"./lib/widgets-context.js\";\nimport { ErrorBoundary } from \"./lib/error-boundary.js\";\nimport { usePermissions } from \"./lib/use-permissions.js\";\nimport type { WidgetRootDomProps } from \"./lib/utils.js\";\n\ninterface UsersManagementProps extends WidgetRootDomProps {\n  authToken: AuthToken;\n}\n\nconst UsersManagement: React.FC<UsersManagementProps> = ({\n  authToken,\n  ...domProps\n}) => {\n  const baseUrl = useWorkOsApiUrl();\n\n  return (\n    <ErrorBoundary\n      fallbackRender={({ error }) => (\n        <UsersManagementError error={error} {...domProps} />\n      )}\n    >\n      <ApiProvider\n        widgetType=\"user-management\"\n        authToken={authToken}\n        baseUrl={baseUrl}\n      >\n        <UsersManagementContextProvider>\n          <UsersManagementImpl {...domProps} />\n        </UsersManagementContextProvider>\n      </ApiProvider>\n    </ErrorBoundary>\n  );\n};\n\nconst UsersManagementImpl = (props: WidgetRootDomProps) => {\n  const isApiReady = useApiReady();\n  const rolesAndConfigQuery = useRolesAndConfig({\n    query: { initialData: { roles: [], multipleRolesEnabled: false } },\n  });\n  const usersQuery = useUsers();\n  const permissionsQuery = usePermissions(\"widgets:users-table:manage\");\n\n  if (\n    permissionsQuery.isLoading ||\n    usersQuery.isLoading ||\n    rolesAndConfigQuery.isLoading ||\n    usersQuery.isPending ||\n    !isApiReady\n  ) {\n    return <UsersManagementLoading {...props} />;\n  }\n\n  if (\n    permissionsQuery.isError ||\n    usersQuery.isError ||\n    rolesAndConfigQuery.isError\n  ) {\n    return (\n      <UsersManagementError\n        error={\n          permissionsQuery.error ||\n          usersQuery.error ||\n          rolesAndConfigQuery.error\n        }\n        {...props}\n      />\n    );\n  }\n\n  return (\n    <ErrorBoundary\n      fallbackRender={({ error }) => (\n        <UsersManagementError error={error} {...props} />\n      )}\n    >\n      <UsersManagementPresentational\n        userData={usersQuery.data}\n        rolesData={rolesAndConfigQuery.data}\n        isPending={usersQuery.isFetching}\n        disableRolesFilter={\n          rolesAndConfigQuery.isPending || rolesAndConfigQuery.isFetching\n        }\n        {...props}\n      />\n    </ErrorBoundary>\n  );\n};\n\nexport type {\n  UsersManagementProps,\n  UsersManagementLoadingProps,\n  UsersManagementErrorProps,\n};\nexport { UsersManagement, UsersManagementLoading, UsersManagementError };\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkCQ;AAhCR,sBAAkC;AAClC,0BAAoD;AAEpD,kBAAyB;AACzB,8BAIO;AAKP,sCAA+C;AAC/C,6BAAgC;AAChC,4BAA8B;AAC9B,6BAA+B;AAO/B,MAAM,kBAAkD,CAAC;AAAA,EACvD;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,cAAU,wCAAgB;AAEhC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAgB,CAAC,EAAE,MAAM,MACvB,4CAAC,gDAAqB,OAAe,GAAG,UAAU;AAAA,MAGpD;AAAA,QAAC;AAAA;AAAA,UACC,YAAW;AAAA,UACX;AAAA,UACA;AAAA,UAEA,sDAAC,kEACC,sDAAC,uBAAqB,GAAG,UAAU,GACrC;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,sBAAsB,CAAC,UAA8B;AACzD,QAAM,iBAAa,iCAAY;AAC/B,QAAM,0BAAsB,mCAAkB;AAAA,IAC5C,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,GAAG,sBAAsB,MAAM,EAAE;AAAA,EACnE,CAAC;AACD,QAAM,iBAAa,sBAAS;AAC5B,QAAM,uBAAmB,uCAAe,4BAA4B;AAEpE,MACE,iBAAiB,aACjB,WAAW,aACX,oBAAoB,aACpB,WAAW,aACX,CAAC,YACD;AACA,WAAO,4CAAC,kDAAwB,GAAG,OAAO;AAAA,EAC5C;AAEA,MACE,iBAAiB,WACjB,WAAW,WACX,oBAAoB,SACpB;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OACE,iBAAiB,SACjB,WAAW,SACX,oBAAoB;AAAA,QAErB,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAgB,CAAC,EAAE,MAAM,MACvB,4CAAC,gDAAqB,OAAe,GAAG,OAAO;AAAA,MAGjD;AAAA,QAAC,wBAAAA;AAAA,QAAA;AAAA,UACC,UAAU,WAAW;AAAA,UACrB,WAAW,oBAAoB;AAAA,UAC/B,WAAW,WAAW;AAAA,UACtB,oBACE,oBAAoB,aAAa,oBAAoB;AAAA,UAEtD,GAAG;AAAA;AAAA,MACN;AAAA;AAAA,EACF;AAEJ;","names":["UsersManagementPresentational"]}