diff --git a/.gitignore b/.gitignore
index 07e24c76..6ea47b58 100644
--- a/.gitignore
+++ b/.gitignore
@@ -120,6 +120,7 @@ dist
docs/agent
docs/assets
docs/auth-client
+docs/use-auth-client
docs/authentication
docs/identity
docs/identity-secp256k1
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 2a46f460..08eb35ef 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -5,6 +5,7 @@
### Added
- feat: management canister interface updates for schnorr signatures
+- docs: documentation and metadata for use-auth-client
### Changed
- feat: replaces hdkey and bip32 implementations with `@scure/bip39` and `@scure/bip32` due to vulnerability and lack of maintenance for `elliptic`
diff --git a/docs/index.html b/docs/index.html
index 33941037..31f55f09 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -25,6 +25,7 @@
Principal
Candid
Auth-Client
+ useAuthClient (React Hook)
Asset Manager
Identity
Secp256k1 Identity
diff --git a/package-lock.json b/package-lock.json
index 865b1b6b..c59fc595 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -16189,6 +16189,8 @@
},
"node_modules/typedoc": {
"version": "0.26.5",
+ "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.26.5.tgz",
+ "integrity": "sha512-Vn9YKdjKtDZqSk+by7beZ+xzkkr8T8CYoiasqyt4TTRFy5+UHzL/mF/o4wGBjRF+rlWQHDb0t6xCpA3JNL5phg==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
@@ -19422,6 +19424,7 @@
"babel-jest": "^29.7.0",
"fake-indexeddb": "^6.0.0",
"jest": "^29.7.0",
+ "typedoc": "^0.26.5",
"vitest": "^2.0.5"
},
"optionalDependencies": {
diff --git a/packages/use-auth-client/README.md b/packages/use-auth-client/README.md
new file mode 100644
index 00000000..09533833
--- /dev/null
+++ b/packages/use-auth-client/README.md
@@ -0,0 +1,41 @@
+# @dfinity/use-auth-client
+
+`@dfinity/use-auth-client`! This is a package for Internet Computer React developers, making it easier to integrate the auth-client with your React application.
+
+You can use it to manage your identity for you, or you can pass it an `idlFactory` and `canisterId` and it will construct and manage your entire `Actor` for you.
+
+To install, use
+```
+npm install @dfinity/use-auth-client
+```
+
+and you can import and set it up like so:
+
+```
+import {useAuthClient} from '@dfinity/use-auth-client';
+
+...ts
+const App = () => {
+ const identityProvider =
+ // eslint-disable-next-line no-undef
+ process.env.DFX_NETWORK === 'local'
+ ? // eslint-disable-next-line no-undef
+ `http://${process.env.CANISTER_ID_INTERNET_IDENTITY}.localhost:4943`
+ : 'https://identity.ic0.app';
+
+ const { isAuthenticated, login, logout, actor } = useAuthClient({
+ loginOptions: {
+ identityProvider,
+ },
+ actorOptions: {
+ canisterId,
+ idlFactory,
+ },
+ });
+ ...
+}
+```
+
+There is a live demo at https://5ibdo-haaaa-aaaab-qajia-cai.icp0.io/
+
+Additional generated documentaion is available at https://agent-js.icp.xyz/use-auth-client/index.html
diff --git a/packages/use-auth-client/package.json b/packages/use-auth-client/package.json
index 1e37d80f..4799cfd0 100644
--- a/packages/use-auth-client/package.json
+++ b/packages/use-auth-client/package.json
@@ -7,11 +7,39 @@
"unpkg": "./lib/esm/index",
"scripts": {
"build": "tsc -b && tsc -p tsconfig-cjs.json",
+ "make:docs/reference": "typedoc src/index.ts --out ../../docs/use-auth-client --excludeInternal",
"test": "jest"
},
- "keywords": [],
- "author": "Kai Peacock",
- "license": "ISC",
+ "keywords": [
+ "internet computer",
+ "internet-computer",
+ "ic",
+ "dfinity",
+ "agent",
+ "actor",
+ "dfx",
+ "canister",
+ "candid",
+ "motoko",
+ "javascript",
+ "typescript",
+ "blockchain",
+ "crypto",
+ "distributed",
+ "api",
+ "sdk"
+ ],
+ "bugs": {
+ "url": "https://github.com/dfinity/agent-js/issues"
+ },
+ "author": "DFINITY Stiftung ",
+ "license": "Apache-2.0",
+ "homepage": "https://internetcomputer.org",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/dfinity/agent-js.git",
+ "directory": "packages/use-auth-client"
+ },
"dependencies": {
"@dfinity/agent": "^2.0.0",
"@dfinity/auth-client": "^2.0.0",
@@ -32,6 +60,7 @@
"babel-jest": "^29.7.0",
"fake-indexeddb": "^6.0.0",
"jest": "^29.7.0",
+ "typedoc": "^0.26.5",
"vitest": "^2.0.5"
},
"optionalDependencies": {