@descope/nextjs-sdk 0.0.7 → 0.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -322,11 +322,21 @@ The widget lets you:
322
322
 
323
323
  ```js
324
324
  import { AccessKeyManagement } from '@descope/nextjs-sdk';
325
- ...
326
- <AccessKeyManagement
327
- widgetId="access-key-management-widget"
328
- tenant="tenant-id"
329
- />
325
+ {
326
+ /* admin view: manage all tenant users' access keys */
327
+ }
328
+ <AccessKeyManagement
329
+ widgetId="access-key-management-widget"
330
+ tenant="tenant-id"
331
+ />;
332
+
333
+ {
334
+ /* user view: mange access key for the logged-in tenant's user */
335
+ }
336
+ <AccessKeyManagement
337
+ widgetId="user-access-key-management-widget"
338
+ tenant="tenant-id"
339
+ />;
330
340
  ```
331
341
 
332
342
  Example:
@@ -350,6 +360,34 @@ import { AuditManagement } from '@descope/nextjs-sdk';
350
360
  Example:
351
361
  [Manage Audit](./examples/app-router/app/manage-audit/page.tsx)
352
362
 
363
+ #### User Profile
364
+
365
+ The `UserProfile` widget lets you embed a user profile component in your app and let the logged in user update his profile.
366
+
367
+ The widget lets you:
368
+
369
+ - Update user profile picture
370
+ - Update user personal information
371
+ - Update authentication methods
372
+ - Logout
373
+
374
+ ###### Usage
375
+
376
+ ```js
377
+ import { UserProfile } from '@descope/nextjs-sdk';
378
+ ...
379
+ <UserProfile
380
+ widgetId="user-profile-widget"
381
+ onLogout={() => {
382
+ // add here you own logout callback
383
+ window.location.href = '/login';
384
+ }}
385
+ />
386
+ ```
387
+
388
+ Example:
389
+ [User Profile](./examples/app-router/app/my-user-profile/page.tsx)
390
+
353
391
  ## Code Example
354
392
 
355
393
  You can find an example react app in the [examples folder](./examples). - [App Router](/examples/app-router/) - [Pages Router](/examples/pages-router/)
@@ -27,3 +27,12 @@ export declare const AuditManagement: ComponentType<{
27
27
  theme?: import("@descope/web-component").ThemeOptions;
28
28
  debug?: boolean;
29
29
  } & import("react").RefAttributes<HTMLElement>>;
30
+ export declare const UserProfile: ComponentType<Omit<{
31
+ logger?: import("@descope/web-component").ILogger;
32
+ tenant: string;
33
+ widgetId: string;
34
+ theme?: import("@descope/web-component").ThemeOptions;
35
+ debug?: boolean;
36
+ }, "tenant"> & {
37
+ onLogout?: (e: CustomEvent<any>) => void;
38
+ } & import("react").RefAttributes<HTMLElement>>;
@@ -27,3 +27,12 @@ export declare const AuditManagement: ComponentType<{
27
27
  theme?: import("@descope/web-component").ThemeOptions;
28
28
  debug?: boolean;
29
29
  } & import("react").RefAttributes<HTMLElement>>;
30
+ export declare const UserProfile: ComponentType<Omit<{
31
+ logger?: import("@descope/web-component").ILogger;
32
+ tenant: string;
33
+ widgetId: string;
34
+ theme?: import("@descope/web-component").ThemeOptions;
35
+ debug?: boolean;
36
+ }, "tenant"> & {
37
+ onLogout?: (e: CustomEvent<any>) => void;
38
+ } & import("react").RefAttributes<HTMLElement>>;
package/dist/index.d.ts CHANGED
@@ -196,5 +196,14 @@ declare const AuditManagement: ComponentType<{
196
196
  theme?: _descope_web_component.ThemeOptions;
197
197
  debug?: boolean;
198
198
  } & React.RefAttributes<HTMLElement>>;
199
+ declare const UserProfile: ComponentType<Omit<{
200
+ logger?: _descope_web_component.ILogger;
201
+ tenant: string;
202
+ widgetId: string;
203
+ theme?: _descope_web_component.ThemeOptions;
204
+ debug?: boolean;
205
+ }, "tenant"> & {
206
+ onLogout?: (e: CustomEvent<any>) => void;
207
+ } & React.RefAttributes<HTMLElement>>;
199
208
 
200
- export { AccessKeyManagement, AuditManagement, AuthProvider, Descope, RoleManagement, SignInFlow, SignUpFlow, SignUpOrInFlow, UserManagement };
209
+ export { AccessKeyManagement, AuditManagement, AuthProvider, Descope, RoleManagement, SignInFlow, SignUpFlow, SignUpOrInFlow, UserManagement, UserProfile };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
  export { default as AuthProvider } from './shared/AuthProvider.js';
2
2
  export { Descope, SignInFlow, SignUpFlow, SignUpOrInFlow } from './shared/DescopeFlows.js';
3
- export { AccessKeyManagement, AuditManagement, RoleManagement, UserManagement } from './shared/DescopeWidgets.js';
3
+ export { AccessKeyManagement, AuditManagement, RoleManagement, UserManagement, UserProfile } from './shared/DescopeWidgets.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  const DESCOPE_SESSION_HEADER = 'x-descope-session';
2
2
  const baseHeaders = {
3
3
  'x-descope-sdk-name': 'nextjs',
4
- 'x-descope-sdk-version': "0.0.7"
4
+ 'x-descope-sdk-version': "0.0.9"
5
5
  };
6
6
  const DEFAULT_PUBLIC_ROUTES = {
7
7
  signIn: process.env.SIGN_IN_ROUTE || '/sign-in',
@@ -27,3 +27,12 @@ export declare const AuditManagement: ComponentType<{
27
27
  theme?: import("@descope/web-component").ThemeOptions;
28
28
  debug?: boolean;
29
29
  } & import("react").RefAttributes<HTMLElement>>;
30
+ export declare const UserProfile: ComponentType<Omit<{
31
+ logger?: import("@descope/web-component").ILogger;
32
+ tenant: string;
33
+ widgetId: string;
34
+ theme?: import("@descope/web-component").ThemeOptions;
35
+ debug?: boolean;
36
+ }, "tenant"> & {
37
+ onLogout?: (e: CustomEvent<any>) => void;
38
+ } & import("react").RefAttributes<HTMLElement>>;
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import dynamic from 'next/dynamic';
3
- import { UserManagement as UserManagement$1, RoleManagement as RoleManagement$1, AccessKeyManagement as AccessKeyManagement$1, AuditManagement as AuditManagement$1 } from '@descope/react-sdk';
3
+ import { UserManagement as UserManagement$1, RoleManagement as RoleManagement$1, AccessKeyManagement as AccessKeyManagement$1, AuditManagement as AuditManagement$1, UserProfile as UserProfile$1 } from '@descope/react-sdk';
4
4
 
5
5
  // a helper function to dynamically load the components
6
6
  // This function prevents Next.js from trying to server-side render these components
@@ -13,6 +13,7 @@ const UserManagement = dynamicWidgetComponent(UserManagement$1);
13
13
  const RoleManagement = dynamicWidgetComponent(RoleManagement$1);
14
14
  const AccessKeyManagement = dynamicWidgetComponent(AccessKeyManagement$1);
15
15
  const AuditManagement = dynamicWidgetComponent(AuditManagement$1);
16
+ const UserProfile = dynamicWidgetComponent(UserProfile$1);
16
17
 
17
- export { AccessKeyManagement, AuditManagement, RoleManagement, UserManagement };
18
+ export { AccessKeyManagement, AuditManagement, RoleManagement, UserManagement, UserProfile };
18
19
  //# sourceMappingURL=DescopeWidgets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DescopeWidgets.js","sources":["../../src/shared/DescopeWidgets.tsx"],"sourcesContent":["'use client';\n\nimport { ComponentType } from 'react';\nimport dynamic from 'next/dynamic';\nimport {\n\tUserManagement as UserManagementWC,\n\tRoleManagement as RoleManagementWC,\n\tAccessKeyManagement as AccessKeyManagementWC,\n\tAuditManagement as AuditManagementWC\n} from '@descope/react-sdk';\n\n// a helper function to dynamically load the components\n// This function prevents Next.js from trying to server-side render these components\n// Update the helper function to use generics for preserving component prop types\nconst dynamicWidgetComponent = <P extends {}>(Component: ComponentType<P>) =>\n\tdynamic<P>(() => Promise.resolve(Component), {\n\t\tssr: false // Disable server-side rendering for this component\n\t});\n\n// Use the helper function to create dynamically loaded components\nexport const UserManagement = dynamicWidgetComponent(UserManagementWC);\nexport const RoleManagement = dynamicWidgetComponent(RoleManagementWC);\nexport const AccessKeyManagement = dynamicWidgetComponent(\n\tAccessKeyManagementWC\n);\nexport const AuditManagement = dynamicWidgetComponent(AuditManagementWC);\n"],"names":[],"mappings":";;;;AAWA;AACA;AACA;AACA;;AAGE;AAEF;;;;;;"}
1
+ {"version":3,"file":"DescopeWidgets.js","sources":["../../src/shared/DescopeWidgets.tsx"],"sourcesContent":["'use client';\n\nimport { ComponentType } from 'react';\nimport dynamic from 'next/dynamic';\nimport {\n\tUserManagement as UserManagementWC,\n\tRoleManagement as RoleManagementWC,\n\tAccessKeyManagement as AccessKeyManagementWC,\n\tAuditManagement as AuditManagementWC,\n\tUserProfile as UserProfileWc\n} from '@descope/react-sdk';\n\n// a helper function to dynamically load the components\n// This function prevents Next.js from trying to server-side render these components\n// Update the helper function to use generics for preserving component prop types\nconst dynamicWidgetComponent = <P extends {}>(Component: ComponentType<P>) =>\n\tdynamic<P>(() => Promise.resolve(Component), {\n\t\tssr: false // Disable server-side rendering for this component\n\t});\n\n// Use the helper function to create dynamically loaded components\nexport const UserManagement = dynamicWidgetComponent(UserManagementWC);\nexport const RoleManagement = dynamicWidgetComponent(RoleManagementWC);\nexport const AccessKeyManagement = dynamicWidgetComponent(\n\tAccessKeyManagementWC\n);\nexport const AuditManagement = dynamicWidgetComponent(AuditManagementWC);\nexport const UserProfile = dynamicWidgetComponent(UserProfileWc);\n"],"names":[],"mappings":";;;;AAYA;AACA;AACA;AACA;;AAGE;AAEF;;;;;;;"}
@@ -1,7 +1,7 @@
1
1
  // eslint-disable-next-line import/prefer-default-export
2
2
  const baseHeaders = {
3
3
  'x-descope-sdk-name': 'nextjs',
4
- 'x-descope-sdk-version': "0.0.7"
4
+ 'x-descope-sdk-version': "0.0.9"
5
5
  };
6
6
 
7
7
  export { baseHeaders };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descope/nextjs-sdk",
3
- "version": "0.0.7",
3
+ "version": "0.0.9",
4
4
  "description": "Descope NextJS SDK",
5
5
  "author": "Descope Team <info@descope.com>",
6
6
  "homepage": "https://github.com/descope/nextjs-sdk",
@@ -73,8 +73,8 @@
73
73
  ]
74
74
  },
75
75
  "dependencies": {
76
- "@descope/node-sdk": "1.6.6",
77
- "@descope/react-sdk": "2.0.20"
76
+ "@descope/node-sdk": "1.6.8",
77
+ "@descope/react-sdk": "2.0.25"
78
78
  },
79
79
  "devDependencies": {
80
80
  "@babel/core": "7.23.9",