@thunderid/nextjs 1.2.3 → 1.3.0

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.
Files changed (79) hide show
  1. package/dist/ThunderIDNextClient.d.ts +33 -1
  2. package/dist/ThunderIDNextClient.d.ts.map +1 -1
  3. package/dist/ThunderIDNextClient.js +27 -0
  4. package/dist/ThunderIDNextClient.js.map +1 -1
  5. package/dist/cjs/ThunderIDNextClient.cjs +27 -0
  6. package/dist/cjs/ThunderIDNextClient.cjs.map +1 -1
  7. package/dist/cjs/client/components/presentation/AuthFlowSelect/AuthFlowSelect.cjs +25 -0
  8. package/dist/cjs/client/components/presentation/AuthFlowSelect/AuthFlowSelect.cjs.map +1 -0
  9. package/dist/cjs/client/components/presentation/UserSelect/UserSelect.cjs +25 -0
  10. package/dist/cjs/client/components/presentation/UserSelect/UserSelect.cjs.map +1 -0
  11. package/dist/cjs/client/components/presentation/UserTypeSelect/UserTypeSelect.cjs +25 -0
  12. package/dist/cjs/client/components/presentation/UserTypeSelect/UserTypeSelect.cjs.map +1 -0
  13. package/dist/cjs/client/fetchAuthFlowsFromServer.cjs +18 -0
  14. package/dist/cjs/client/fetchAuthFlowsFromServer.cjs.map +1 -0
  15. package/dist/cjs/client/fetchUserTypesFromServer.cjs +18 -0
  16. package/dist/cjs/client/fetchUserTypesFromServer.cjs.map +1 -0
  17. package/dist/cjs/client/fetchUsersFromServer.cjs +18 -0
  18. package/dist/cjs/client/fetchUsersFromServer.cjs.map +1 -0
  19. package/dist/cjs/client/index.cjs +3 -0
  20. package/dist/cjs/client/loadPageFromAction.cjs +19 -0
  21. package/dist/cjs/client/loadPageFromAction.cjs.map +1 -0
  22. package/dist/cjs/index.cjs +6 -0
  23. package/dist/cjs/server/actions/getAuthFlowsAction.cjs +28 -0
  24. package/dist/cjs/server/actions/getAuthFlowsAction.cjs.map +1 -0
  25. package/dist/cjs/server/actions/getUserTypesAction.cjs +27 -0
  26. package/dist/cjs/server/actions/getUserTypesAction.cjs.map +1 -0
  27. package/dist/cjs/server/actions/getUsersAction.cjs +28 -0
  28. package/dist/cjs/server/actions/getUsersAction.cjs.map +1 -0
  29. package/dist/cjs/server/actions/runSelectPageAction.cjs +47 -0
  30. package/dist/cjs/server/actions/runSelectPageAction.cjs.map +1 -0
  31. package/dist/client/components/presentation/AuthFlowSelect/AuthFlowSelect.d.ts +11 -0
  32. package/dist/client/components/presentation/AuthFlowSelect/AuthFlowSelect.d.ts.map +1 -0
  33. package/dist/client/components/presentation/AuthFlowSelect/AuthFlowSelect.js +22 -0
  34. package/dist/client/components/presentation/AuthFlowSelect/AuthFlowSelect.js.map +1 -0
  35. package/dist/client/components/presentation/UserSelect/UserSelect.d.ts +11 -0
  36. package/dist/client/components/presentation/UserSelect/UserSelect.d.ts.map +1 -0
  37. package/dist/client/components/presentation/UserSelect/UserSelect.js +22 -0
  38. package/dist/client/components/presentation/UserSelect/UserSelect.js.map +1 -0
  39. package/dist/client/components/presentation/UserTypeSelect/UserTypeSelect.d.ts +11 -0
  40. package/dist/client/components/presentation/UserTypeSelect/UserTypeSelect.d.ts.map +1 -0
  41. package/dist/client/components/presentation/UserTypeSelect/UserTypeSelect.js +22 -0
  42. package/dist/client/components/presentation/UserTypeSelect/UserTypeSelect.js.map +1 -0
  43. package/dist/client/fetchAuthFlowsFromServer.d.ts +9 -0
  44. package/dist/client/fetchAuthFlowsFromServer.d.ts.map +1 -0
  45. package/dist/client/fetchAuthFlowsFromServer.js +18 -0
  46. package/dist/client/fetchAuthFlowsFromServer.js.map +1 -0
  47. package/dist/client/fetchUserTypesFromServer.d.ts +9 -0
  48. package/dist/client/fetchUserTypesFromServer.d.ts.map +1 -0
  49. package/dist/client/fetchUserTypesFromServer.js +18 -0
  50. package/dist/client/fetchUserTypesFromServer.js.map +1 -0
  51. package/dist/client/fetchUsersFromServer.d.ts +8 -0
  52. package/dist/client/fetchUsersFromServer.d.ts.map +1 -0
  53. package/dist/client/fetchUsersFromServer.js +18 -0
  54. package/dist/client/fetchUsersFromServer.js.map +1 -0
  55. package/dist/client/index.d.ts +6 -0
  56. package/dist/client/index.d.ts.map +1 -1
  57. package/dist/client/index.js +3 -0
  58. package/dist/client/loadPageFromAction.d.ts +9 -0
  59. package/dist/client/loadPageFromAction.d.ts.map +1 -0
  60. package/dist/client/loadPageFromAction.js +17 -0
  61. package/dist/client/loadPageFromAction.js.map +1 -0
  62. package/dist/index.js +4 -1
  63. package/dist/server/actions/getAuthFlowsAction.d.ts +19 -0
  64. package/dist/server/actions/getAuthFlowsAction.d.ts.map +1 -0
  65. package/dist/server/actions/getAuthFlowsAction.js +26 -0
  66. package/dist/server/actions/getAuthFlowsAction.js.map +1 -0
  67. package/dist/server/actions/getUserTypesAction.d.ts +18 -0
  68. package/dist/server/actions/getUserTypesAction.d.ts.map +1 -0
  69. package/dist/server/actions/getUserTypesAction.js +25 -0
  70. package/dist/server/actions/getUserTypesAction.js.map +1 -0
  71. package/dist/server/actions/getUsersAction.d.ts +18 -0
  72. package/dist/server/actions/getUsersAction.d.ts.map +1 -0
  73. package/dist/server/actions/getUsersAction.js +26 -0
  74. package/dist/server/actions/getUsersAction.js.map +1 -0
  75. package/dist/server/actions/runSelectPageAction.d.ts +28 -0
  76. package/dist/server/actions/runSelectPageAction.d.ts.map +1 -0
  77. package/dist/server/actions/runSelectPageAction.js +45 -0
  78. package/dist/server/actions/runSelectPageAction.js.map +1 -0
  79. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserTypesAction.cjs","names":["runSelectPageAction"],"sources":["../../../../src/server/actions/getUserTypesAction.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use server';\n\nimport {capPageSize, toUserTypeSelectPage} from '@thunderid/node';\nimport runSelectPageAction, {SelectPageActionResult} from './runSelectPageAction';\n\n/**\n * Request from the browser. Carries only paging; the session comes from the request cookie.\n */\nexport interface GetUserTypesActionRequest {\n limit?: number;\n offset?: number;\n}\n\nexport type GetUserTypesActionResult = SelectPageActionResult;\n\n/**\n * Loads one page of user types for a `USER_TYPE_SELECT` picker using the signed-in user's server-held\n * session.\n *\n * Never throws across the server action boundary; failures are mapped to a plain result.\n */\nconst getUserTypesAction = async ({limit, offset}: GetUserTypesActionRequest = {}): Promise<GetUserTypesActionResult> =>\n runSelectPageAction('user types', {limit, offset}, async (client, sessionId, query) =>\n toUserTypeSelectPage(\n await client.getUserTypes({limit: capPageSize(query.limit), offset: query.offset}, sessionId),\n query.offset ?? 0,\n ),\n );\n\nexport default getUserTypesAction;\n"],"mappings":";;;;;;;;;;;;;;;AAwBA,MAAM,qBAAqB,OAAO,EAAC,OAAO,WAAqC,EAAE,KAC/EA,oCAAoB,cAAc;CAAC;CAAO;CAAO,EAAE,OAAO,QAAQ,WAAW,qDAEzE,MAAM,OAAO,aAAa;CAAC,yCAAmB,MAAM,MAAM;CAAE,QAAQ,MAAM;CAAO,EAAE,UAAU,EAC7F,MAAM,UAAU,EACjB,CACF;AAEH,iCAAe"}
@@ -0,0 +1,28 @@
1
+ 'use server';
2
+
3
+
4
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
5
+ const require_runSelectPageAction = require('./runSelectPageAction.cjs');
6
+ let __thunderid_node = require("@thunderid/node");
7
+ __thunderid_node = require_rolldown_runtime.__toESM(__thunderid_node);
8
+
9
+ //#region src/server/actions/getUsersAction.ts
10
+ /**
11
+ * Loads one page of users for a `USER_SELECT` picker using the signed-in user's server-held session.
12
+ *
13
+ * Never throws across the server action boundary; failures are mapped to a plain result.
14
+ */
15
+ const getUsersAction = async ({ filter, limit, offset } = {}) => require_runSelectPageAction.default("users", {
16
+ filter,
17
+ limit,
18
+ offset
19
+ }, async (client, sessionId, query) => (0, __thunderid_node.toUserSelectPage)(await client.getUsers({
20
+ filter: query.filter,
21
+ limit: query.limit,
22
+ offset: query.offset
23
+ }, sessionId), query.offset ?? 0), { allowFilter: true });
24
+ var getUsersAction_default = getUsersAction;
25
+
26
+ //#endregion
27
+ exports.default = getUsersAction_default;
28
+ //# sourceMappingURL=getUsersAction.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUsersAction.cjs","names":["runSelectPageAction"],"sources":["../../../../src/server/actions/getUsersAction.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use server';\n\nimport {toUserSelectPage} from '@thunderid/node';\nimport runSelectPageAction, {SelectPageActionResult} from './runSelectPageAction';\n\n/**\n * Request from the browser. Carries no session ID, token, or URL; the session comes from the request cookie.\n */\nexport interface GetUsersActionRequest {\n filter?: string;\n limit?: number;\n offset?: number;\n}\n\nexport type GetUsersActionResult = SelectPageActionResult;\n\n/**\n * Loads one page of users for a `USER_SELECT` picker using the signed-in user's server-held session.\n *\n * Never throws across the server action boundary; failures are mapped to a plain result.\n */\nconst getUsersAction = async ({filter, limit, offset}: GetUsersActionRequest = {}): Promise<GetUsersActionResult> =>\n runSelectPageAction(\n 'users',\n {filter, limit, offset},\n async (client, sessionId, query) =>\n toUserSelectPage(\n await client.getUsers({filter: query.filter, limit: query.limit, offset: query.offset}, sessionId),\n query.offset ?? 0,\n ),\n {allowFilter: true},\n );\n\nexport default getUsersAction;\n"],"mappings":";;;;;;;;;;;;;;AAwBA,MAAM,iBAAiB,OAAO,EAAC,QAAQ,OAAO,WAAiC,EAAE,KAC/EA,oCACE,SACA;CAAC;CAAQ;CAAO;CAAO,EACvB,OAAO,QAAQ,WAAW,iDAEtB,MAAM,OAAO,SAAS;CAAC,QAAQ,MAAM;CAAQ,OAAO,MAAM;CAAO,QAAQ,MAAM;CAAO,EAAE,UAAU,EAClG,MAAM,UAAU,EACjB,EACH,EAAC,aAAa,MAAK,CACpB;AAEH,6BAAe"}
@@ -0,0 +1,47 @@
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ const require_getSessionId = require('./getSessionId.cjs');
3
+ const require_getClient = require('../getClient.cjs');
4
+ let __thunderid_node = require("@thunderid/node");
5
+ __thunderid_node = require_rolldown_runtime.__toESM(__thunderid_node);
6
+
7
+ //#region src/server/actions/runSelectPageAction.ts
8
+ /**
9
+ * Runs one select page load with the signed-in user's server-held session. The session comes from the
10
+ * request cookie, never from the caller. A server action is a public endpoint, so the paging values the caller
11
+ * sends are checked here and not trusted from their TypeScript types. A missing session, a malformed request or any
12
+ * failure becomes a plain result.
13
+ */
14
+ const runSelectPageAction = async (resource, rawQuery, load, { allowFilter = false } = {}) => {
15
+ const sessionId = await require_getSessionId.default();
16
+ if (!sessionId) return {
17
+ message: `Failed to load ${resource} (HTTP 401).`,
18
+ statusCode: 401,
19
+ success: false
20
+ };
21
+ const checked = (0, __thunderid_node.parseSelectPageQuery)(rawQuery ?? {}, { allowFilter });
22
+ if (checked.invalid !== void 0) return {
23
+ message: `Failed to load ${resource} (HTTP 400).`,
24
+ statusCode: 400,
25
+ success: false
26
+ };
27
+ const { query } = checked;
28
+ try {
29
+ return {
30
+ page: await (0, __thunderid_node.loadPageWithRetryAndLog)(resource, {
31
+ limit: query.limit,
32
+ offset: query.offset
33
+ }, () => load(require_getClient.default(), sessionId, query)),
34
+ success: true
35
+ };
36
+ } catch (error) {
37
+ return {
38
+ ...(0, __thunderid_node.mapSelectPageError)(error, resource),
39
+ success: false
40
+ };
41
+ }
42
+ };
43
+ var runSelectPageAction_default = runSelectPageAction;
44
+
45
+ //#endregion
46
+ exports.default = runSelectPageAction_default;
47
+ //# sourceMappingURL=runSelectPageAction.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runSelectPageAction.cjs","names":["sessionId: string | undefined","getSessionId","checked: SelectPageQueryResult","getClient"],"sources":["../../../../src/server/actions/runSelectPageAction.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {loadPageWithRetryAndLog, mapSelectPageError, parseSelectPageQuery} from '@thunderid/node';\nimport type {SelectPageErrorResult, SelectPage, SelectPageQuery, SelectPageQueryResult} from '@thunderid/node';\nimport getSessionId from './getSessionId';\nimport type ThunderIDNextClient from '../../ThunderIDNextClient';\nimport getClient from '../getClient';\n\n/**\n * What a select page server action returns: the normalized page, or a plain failure. It never\n * throws, because a thrown class instance loses its prototype chain crossing the server action boundary. A failure\n * carries a message built on the server and the status, never the text of the upstream reply.\n */\nexport type SelectPageActionResult = {page: SelectPage; success: true} | ({success: false} & SelectPageErrorResult);\n\n/**\n * Runs one select page load with the signed-in user's server-held session. The session comes from the\n * request cookie, never from the caller. A server action is a public endpoint, so the paging values the caller\n * sends are checked here and not trusted from their TypeScript types. A missing session, a malformed request or any\n * failure becomes a plain result.\n */\nconst runSelectPageAction = async (\n resource: string,\n rawQuery: {filter?: unknown; limit?: unknown; offset?: unknown},\n load: (client: ThunderIDNextClient, sessionId: string, query: SelectPageQuery) => Promise<SelectPage>,\n {allowFilter = false}: {allowFilter?: boolean} = {},\n): Promise<SelectPageActionResult> => {\n const sessionId: string | undefined = await getSessionId();\n\n if (!sessionId) {\n return {message: `Failed to load ${resource} (HTTP 401).`, statusCode: 401, success: false};\n }\n\n const checked: SelectPageQueryResult = parseSelectPageQuery(rawQuery ?? {}, {allowFilter});\n\n if (checked.invalid !== undefined) {\n return {message: `Failed to load ${resource} (HTTP 400).`, statusCode: 400, success: false};\n }\n\n const {query} = checked;\n\n try {\n // The retry and the failure log live here, where the real error and its status still exist. The plain result\n // sent to the browser carries only a message built here and the status.\n const page: SelectPage = await loadPageWithRetryAndLog(resource, {limit: query.limit, offset: query.offset}, () =>\n load(getClient(), sessionId, query),\n );\n\n return {page, success: true};\n } catch (error) {\n return {...mapSelectPageError(error, resource), success: false};\n }\n};\n\nexport default runSelectPageAction;\n"],"mappings":";;;;;;;;;;;;;AAsBA,MAAM,sBAAsB,OAC1B,UACA,UACA,MACA,EAAC,cAAc,UAAkC,EAAE,KACf;CACpC,MAAMA,YAAgC,MAAMC,8BAAc;AAE1D,KAAI,CAAC,UACH,QAAO;EAAC,SAAS,kBAAkB,SAAS;EAAe,YAAY;EAAK,SAAS;EAAM;CAG7F,MAAMC,qDAAsD,YAAY,EAAE,EAAE,EAAC,aAAY,CAAC;AAE1F,KAAI,QAAQ,YAAY,OACtB,QAAO;EAAC,SAAS,kBAAkB,SAAS;EAAe,YAAY;EAAK,SAAS;EAAM;CAG7F,MAAM,EAAC,UAAS;AAEhB,KAAI;AAOF,SAAO;GAAC,MAJiB,oDAA8B,UAAU;IAAC,OAAO,MAAM;IAAO,QAAQ,MAAM;IAAO,QACzG,KAAKC,2BAAW,EAAE,WAAW,MAAM,CACpC;GAEa,SAAS;GAAK;UACrB,OAAO;AACd,SAAO;GAAC,4CAAsB,OAAO,SAAS;GAAE,SAAS;GAAM;;;AAInE,kCAAe"}
@@ -0,0 +1,11 @@
1
+ import { BaseAuthFlowSelectProps } from '@thunderid/react';
2
+ import { FC } from 'react';
3
+ export type AuthFlowSelectProps = Omit<BaseAuthFlowSelectProps, 'fetchAuthFlows'>;
4
+ /**
5
+ * Authentication-flow picker for signed-in screens. Flows load through a server action that uses the
6
+ * signed-in user's server-held session, so the access token never reaches the browser. It takes no
7
+ * data source; for a custom one use `Select` with `useInfiniteOptions`.
8
+ */
9
+ declare const AuthFlowSelect: FC<AuthFlowSelectProps>;
10
+ export default AuthFlowSelect;
11
+ //# sourceMappingURL=AuthFlowSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthFlowSelect.d.ts","sourceRoot":"","sources":["../../../../../src/client/components/presentation/AuthFlowSelect/AuthFlowSelect.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAqB,uBAAuB,EAAC,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAC,EAAE,EAAC,MAAM,OAAO,CAAC;AAGzB,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;AAElF;;;;GAIG;AACH,QAAA,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAE3C,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+
3
+
4
+ import fetchAuthFlowsFromServer_default from "../../../fetchAuthFlowsFromServer.js";
5
+ import { BaseAuthFlowSelect } from "@thunderid/react";
6
+ import { jsx } from "react/jsx-runtime";
7
+
8
+ //#region src/client/components/presentation/AuthFlowSelect/AuthFlowSelect.tsx
9
+ /**
10
+ * Authentication-flow picker for signed-in screens. Flows load through a server action that uses the
11
+ * signed-in user's server-held session, so the access token never reaches the browser. It takes no
12
+ * data source; for a custom one use `Select` with `useInfiniteOptions`.
13
+ */
14
+ const AuthFlowSelect = (props) => /* @__PURE__ */ jsx(BaseAuthFlowSelect, {
15
+ ...props,
16
+ fetchAuthFlows: fetchAuthFlowsFromServer_default
17
+ });
18
+ var AuthFlowSelect_default = AuthFlowSelect;
19
+
20
+ //#endregion
21
+ export { AuthFlowSelect_default as default };
22
+ //# sourceMappingURL=AuthFlowSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthFlowSelect.js","names":["AuthFlowSelect: FC<AuthFlowSelectProps>","fetchAuthFlowsFromServer"],"sources":["../../../../../src/client/components/presentation/AuthFlowSelect/AuthFlowSelect.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {BaseAuthFlowSelect, BaseAuthFlowSelectProps} from '@thunderid/react';\nimport {FC} from 'react';\nimport fetchAuthFlowsFromServer from '../../../fetchAuthFlowsFromServer';\n\nexport type AuthFlowSelectProps = Omit<BaseAuthFlowSelectProps, 'fetchAuthFlows'>;\n\n/**\n * Authentication-flow picker for signed-in screens. Flows load through a server action that uses the\n * signed-in user's server-held session, so the access token never reaches the browser. It takes no\n * data source; for a custom one use `Select` with `useInfiniteOptions`.\n */\nconst AuthFlowSelect: FC<AuthFlowSelectProps> = (props: AuthFlowSelectProps) => (\n <BaseAuthFlowSelect {...props} fetchAuthFlows={fetchAuthFlowsFromServer} />\n);\n\nexport default AuthFlowSelect;\n"],"mappings":";;;;;;;;;;;;;AAgBA,MAAMA,kBAA2C,UAC/C,oBAAC;CAAmB,GAAI;CAAO,gBAAgBC;EAA4B;AAG7E,6BAAe"}
@@ -0,0 +1,11 @@
1
+ import { BaseUserSelectProps } from '@thunderid/react';
2
+ import { FC } from 'react';
3
+ export type UserSelectProps = Omit<BaseUserSelectProps, 'fetchUsers'>;
4
+ /**
5
+ * Single-user picker for signed-in screens. Users load through a server action that uses the
6
+ * signed-in user's server-held session, so the access token never reaches the browser. It takes no
7
+ * data source; for a custom one use `Select` with `useInfiniteOptions`.
8
+ */
9
+ declare const UserSelect: FC<UserSelectProps>;
10
+ export default UserSelect;
11
+ //# sourceMappingURL=UserSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserSelect.d.ts","sourceRoot":"","sources":["../../../../../src/client/components/presentation/UserSelect/UserSelect.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAiB,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAC,EAAE,EAAC,MAAM,OAAO,CAAC;AAGzB,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;AAEtE;;;;GAIG;AACH,QAAA,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAEnC,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+
3
+
4
+ import fetchUsersFromServer_default from "../../../fetchUsersFromServer.js";
5
+ import { BaseUserSelect } from "@thunderid/react";
6
+ import { jsx } from "react/jsx-runtime";
7
+
8
+ //#region src/client/components/presentation/UserSelect/UserSelect.tsx
9
+ /**
10
+ * Single-user picker for signed-in screens. Users load through a server action that uses the
11
+ * signed-in user's server-held session, so the access token never reaches the browser. It takes no
12
+ * data source; for a custom one use `Select` with `useInfiniteOptions`.
13
+ */
14
+ const UserSelect = (props) => /* @__PURE__ */ jsx(BaseUserSelect, {
15
+ ...props,
16
+ fetchUsers: fetchUsersFromServer_default
17
+ });
18
+ var UserSelect_default = UserSelect;
19
+
20
+ //#endregion
21
+ export { UserSelect_default as default };
22
+ //# sourceMappingURL=UserSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserSelect.js","names":["UserSelect: FC<UserSelectProps>","fetchUsersFromServer"],"sources":["../../../../../src/client/components/presentation/UserSelect/UserSelect.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {BaseUserSelect, BaseUserSelectProps} from '@thunderid/react';\nimport {FC} from 'react';\nimport fetchUsersFromServer from '../../../fetchUsersFromServer';\n\nexport type UserSelectProps = Omit<BaseUserSelectProps, 'fetchUsers'>;\n\n/**\n * Single-user picker for signed-in screens. Users load through a server action that uses the\n * signed-in user's server-held session, so the access token never reaches the browser. It takes no\n * data source; for a custom one use `Select` with `useInfiniteOptions`.\n */\nconst UserSelect: FC<UserSelectProps> = (props: UserSelectProps) => (\n <BaseUserSelect {...props} fetchUsers={fetchUsersFromServer} />\n);\n\nexport default UserSelect;\n"],"mappings":";;;;;;;;;;;;;AAgBA,MAAMA,cAAmC,UACvC,oBAAC;CAAe,GAAI;CAAO,YAAYC;EAAwB;AAGjE,yBAAe"}
@@ -0,0 +1,11 @@
1
+ import { BaseUserTypeSelectProps } from '@thunderid/react';
2
+ import { FC } from 'react';
3
+ export type UserTypeSelectProps = Omit<BaseUserTypeSelectProps, 'fetchUserTypes'>;
4
+ /**
5
+ * User-type picker for signed-in screens. User types load through a server action that uses the
6
+ * signed-in user's server-held session, so the access token never reaches the browser. It takes no
7
+ * data source; for a custom one use `Select` with `useInfiniteOptions`.
8
+ */
9
+ declare const UserTypeSelect: FC<UserTypeSelectProps>;
10
+ export default UserTypeSelect;
11
+ //# sourceMappingURL=UserTypeSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserTypeSelect.d.ts","sourceRoot":"","sources":["../../../../../src/client/components/presentation/UserTypeSelect/UserTypeSelect.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAqB,uBAAuB,EAAC,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAC,EAAE,EAAC,MAAM,OAAO,CAAC;AAGzB,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,CAAC;AAElF;;;;GAIG;AACH,QAAA,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAE3C,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,22 @@
1
+ 'use client';
2
+
3
+
4
+ import fetchUserTypesFromServer_default from "../../../fetchUserTypesFromServer.js";
5
+ import { BaseUserTypeSelect } from "@thunderid/react";
6
+ import { jsx } from "react/jsx-runtime";
7
+
8
+ //#region src/client/components/presentation/UserTypeSelect/UserTypeSelect.tsx
9
+ /**
10
+ * User-type picker for signed-in screens. User types load through a server action that uses the
11
+ * signed-in user's server-held session, so the access token never reaches the browser. It takes no
12
+ * data source; for a custom one use `Select` with `useInfiniteOptions`.
13
+ */
14
+ const UserTypeSelect = (props) => /* @__PURE__ */ jsx(BaseUserTypeSelect, {
15
+ ...props,
16
+ fetchUserTypes: fetchUserTypesFromServer_default
17
+ });
18
+ var UserTypeSelect_default = UserTypeSelect;
19
+
20
+ //#endregion
21
+ export { UserTypeSelect_default as default };
22
+ //# sourceMappingURL=UserTypeSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserTypeSelect.js","names":["UserTypeSelect: FC<UserTypeSelectProps>","fetchUserTypesFromServer"],"sources":["../../../../../src/client/components/presentation/UserTypeSelect/UserTypeSelect.tsx"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use client';\n\nimport {BaseUserTypeSelect, BaseUserTypeSelectProps} from '@thunderid/react';\nimport {FC} from 'react';\nimport fetchUserTypesFromServer from '../../../fetchUserTypesFromServer';\n\nexport type UserTypeSelectProps = Omit<BaseUserTypeSelectProps, 'fetchUserTypes'>;\n\n/**\n * User-type picker for signed-in screens. User types load through a server action that uses the\n * signed-in user's server-held session, so the access token never reaches the browser. It takes no\n * data source; for a custom one use `Select` with `useInfiniteOptions`.\n */\nconst UserTypeSelect: FC<UserTypeSelectProps> = (props: UserTypeSelectProps) => (\n <BaseUserTypeSelect {...props} fetchUserTypes={fetchUserTypesFromServer} />\n);\n\nexport default UserTypeSelect;\n"],"mappings":";;;;;;;;;;;;;AAgBA,MAAMA,kBAA2C,UAC/C,oBAAC;CAAmB,GAAI;CAAO,gBAAgBC;EAA4B;AAG7E,6BAAe"}
@@ -0,0 +1,9 @@
1
+ import type { FetchAuthFlows } from '@thunderid/node';
2
+ /**
3
+ * The loader behind `AuthFlowSelect`: loads authentication flows through {@link getAuthFlowsAction} with the
4
+ * signed-in user's server-held session. Requires an existing session. `request.signal` is not forwarded because
5
+ * an `AbortSignal` cannot cross the server action boundary.
6
+ */
7
+ declare const fetchAuthFlowsFromServer: FetchAuthFlows;
8
+ export default fetchAuthFlowsFromServer;
9
+ //# sourceMappingURL=fetchAuthFlowsFromServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchAuthFlowsFromServer.d.ts","sourceRoot":"","sources":["../../src/client/fetchAuthFlowsFromServer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,cAAc,EAAgC,MAAM,iBAAiB,CAAC;AAInF;;;;GAIG;AACH,QAAA,MAAM,wBAAwB,EAAE,cAC+D,CAAC;AAEhG,eAAe,wBAAwB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import loadPageFromAction_default from "./loadPageFromAction.js";
2
+ import getAuthFlowsAction_default from "../server/actions/getAuthFlowsAction.js";
3
+
4
+ //#region src/client/fetchAuthFlowsFromServer.ts
5
+ /**
6
+ * The loader behind `AuthFlowSelect`: loads authentication flows through {@link getAuthFlowsAction} with the
7
+ * signed-in user's server-held session. Requires an existing session. `request.signal` is not forwarded because
8
+ * an `AbortSignal` cannot cross the server action boundary.
9
+ */
10
+ const fetchAuthFlowsFromServer = async ({ limit, offset }) => loadPageFromAction_default(await getAuthFlowsAction_default({
11
+ limit,
12
+ offset
13
+ }), "getAuthFlowsAction-Error-001");
14
+ var fetchAuthFlowsFromServer_default = fetchAuthFlowsFromServer;
15
+
16
+ //#endregion
17
+ export { fetchAuthFlowsFromServer_default as default };
18
+ //# sourceMappingURL=fetchAuthFlowsFromServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchAuthFlowsFromServer.js","names":["fetchAuthFlowsFromServer: FetchAuthFlows","loadPageFromAction","getAuthFlowsAction"],"sources":["../../src/client/fetchAuthFlowsFromServer.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {FetchAuthFlows, SelectPage, SelectPageRequest} from '@thunderid/node';\nimport loadPageFromAction from './loadPageFromAction';\nimport getAuthFlowsAction from '../server/actions/getAuthFlowsAction';\n\n/**\n * The loader behind `AuthFlowSelect`: loads authentication flows through {@link getAuthFlowsAction} with the\n * signed-in user's server-held session. Requires an existing session. `request.signal` is not forwarded because\n * an `AbortSignal` cannot cross the server action boundary.\n */\nconst fetchAuthFlowsFromServer: FetchAuthFlows = async ({limit, offset}: SelectPageRequest): Promise<SelectPage> =>\n loadPageFromAction(await getAuthFlowsAction({limit, offset}), 'getAuthFlowsAction-Error-001');\n\nexport default fetchAuthFlowsFromServer;\n"],"mappings":";;;;;;;;;AAYA,MAAMA,2BAA2C,OAAO,EAAC,OAAO,aAC9DC,2BAAmB,MAAMC,2BAAmB;CAAC;CAAO;CAAO,CAAC,EAAE,+BAA+B;AAE/F,uCAAe"}
@@ -0,0 +1,9 @@
1
+ import type { FetchUserTypes } from '@thunderid/node';
2
+ /**
3
+ * The loader behind `UserTypeSelect`: loads user types through {@link getUserTypesAction} with the signed-in
4
+ * user's server-held session. Requires an existing session. `request.signal` is not forwarded because an
5
+ * `AbortSignal` cannot cross the server action boundary.
6
+ */
7
+ declare const fetchUserTypesFromServer: FetchUserTypes;
8
+ export default fetchUserTypesFromServer;
9
+ //# sourceMappingURL=fetchUserTypesFromServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchUserTypesFromServer.d.ts","sourceRoot":"","sources":["../../src/client/fetchUserTypesFromServer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,cAAc,EAAgC,MAAM,iBAAiB,CAAC;AAInF;;;;GAIG;AACH,QAAA,MAAM,wBAAwB,EAAE,cAC+D,CAAC;AAEhG,eAAe,wBAAwB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import loadPageFromAction_default from "./loadPageFromAction.js";
2
+ import getUserTypesAction_default from "../server/actions/getUserTypesAction.js";
3
+
4
+ //#region src/client/fetchUserTypesFromServer.ts
5
+ /**
6
+ * The loader behind `UserTypeSelect`: loads user types through {@link getUserTypesAction} with the signed-in
7
+ * user's server-held session. Requires an existing session. `request.signal` is not forwarded because an
8
+ * `AbortSignal` cannot cross the server action boundary.
9
+ */
10
+ const fetchUserTypesFromServer = async ({ limit, offset }) => loadPageFromAction_default(await getUserTypesAction_default({
11
+ limit,
12
+ offset
13
+ }), "getUserTypesAction-Error-001");
14
+ var fetchUserTypesFromServer_default = fetchUserTypesFromServer;
15
+
16
+ //#endregion
17
+ export { fetchUserTypesFromServer_default as default };
18
+ //# sourceMappingURL=fetchUserTypesFromServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchUserTypesFromServer.js","names":["fetchUserTypesFromServer: FetchUserTypes","loadPageFromAction","getUserTypesAction"],"sources":["../../src/client/fetchUserTypesFromServer.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {FetchUserTypes, SelectPage, SelectPageRequest} from '@thunderid/node';\nimport loadPageFromAction from './loadPageFromAction';\nimport getUserTypesAction from '../server/actions/getUserTypesAction';\n\n/**\n * The loader behind `UserTypeSelect`: loads user types through {@link getUserTypesAction} with the signed-in\n * user's server-held session. Requires an existing session. `request.signal` is not forwarded because an\n * `AbortSignal` cannot cross the server action boundary.\n */\nconst fetchUserTypesFromServer: FetchUserTypes = async ({limit, offset}: SelectPageRequest): Promise<SelectPage> =>\n loadPageFromAction(await getUserTypesAction({limit, offset}), 'getUserTypesAction-Error-001');\n\nexport default fetchUserTypesFromServer;\n"],"mappings":";;;;;;;;;AAYA,MAAMA,2BAA2C,OAAO,EAAC,OAAO,aAC9DC,2BAAmB,MAAMC,2BAAmB;CAAC;CAAO;CAAO,CAAC,EAAE,+BAA+B;AAE/F,uCAAe"}
@@ -0,0 +1,8 @@
1
+ import type { FetchUsers } from '@thunderid/node';
2
+ /**
3
+ * The loader behind `UserSelect`: loads users through {@link getUsersAction} with the signed-in user's server-held session.
4
+ * Requires an existing session. `request.signal` is not forwarded because an `AbortSignal` cannot cross the server action boundary.
5
+ */
6
+ declare const fetchUsersFromServer: FetchUsers;
7
+ export default fetchUsersFromServer;
8
+ //# sourceMappingURL=fetchUsersFromServer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchUsersFromServer.d.ts","sourceRoot":"","sources":["../../src/client/fetchUsersFromServer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,UAAU,EAAgC,MAAM,iBAAiB,CAAC;AAI/E;;;GAGG;AACH,QAAA,MAAM,oBAAoB,EAAE,UACmE,CAAC;AAEhG,eAAe,oBAAoB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import loadPageFromAction_default from "./loadPageFromAction.js";
2
+ import getUsersAction_default from "../server/actions/getUsersAction.js";
3
+
4
+ //#region src/client/fetchUsersFromServer.ts
5
+ /**
6
+ * The loader behind `UserSelect`: loads users through {@link getUsersAction} with the signed-in user's server-held session.
7
+ * Requires an existing session. `request.signal` is not forwarded because an `AbortSignal` cannot cross the server action boundary.
8
+ */
9
+ const fetchUsersFromServer = async ({ filter, limit, offset }) => loadPageFromAction_default(await getUsersAction_default({
10
+ filter,
11
+ limit,
12
+ offset
13
+ }), "getUsersAction-Error-001");
14
+ var fetchUsersFromServer_default = fetchUsersFromServer;
15
+
16
+ //#endregion
17
+ export { fetchUsersFromServer_default as default };
18
+ //# sourceMappingURL=fetchUsersFromServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchUsersFromServer.js","names":["fetchUsersFromServer: FetchUsers","loadPageFromAction","getUsersAction"],"sources":["../../src/client/fetchUsersFromServer.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {FetchUsers, SelectPage, SelectPageRequest} from '@thunderid/node';\nimport loadPageFromAction from './loadPageFromAction';\nimport getUsersAction from '../server/actions/getUsersAction';\n\n/**\n * The loader behind `UserSelect`: loads users through {@link getUsersAction} with the signed-in user's server-held session.\n * Requires an existing session. `request.signal` is not forwarded because an `AbortSignal` cannot cross the server action boundary.\n */\nconst fetchUsersFromServer: FetchUsers = async ({filter, limit, offset}: SelectPageRequest): Promise<SelectPage> =>\n loadPageFromAction(await getUsersAction({filter, limit, offset}), 'getUsersAction-Error-001');\n\nexport default fetchUsersFromServer;\n"],"mappings":";;;;;;;;AAWA,MAAMA,uBAAmC,OAAO,EAAC,QAAQ,OAAO,aAC9DC,2BAAmB,MAAMC,uBAAe;CAAC;CAAQ;CAAO;CAAO,CAAC,EAAE,2BAA2B;AAE/F,mCAAe"}
@@ -23,4 +23,10 @@ export { default as UserProfile } from './components/presentation/UserProfile/Us
23
23
  export type { UserProfileProps } from './components/presentation/UserProfile/UserProfile';
24
24
  export { default as ChangeCredential } from './components/presentation/ChangeCredential/ChangeCredential';
25
25
  export type { ChangeCredentialProps } from './components/presentation/ChangeCredential/ChangeCredential';
26
+ export { default as UserSelect } from './components/presentation/UserSelect/UserSelect';
27
+ export type { UserSelectProps } from './components/presentation/UserSelect/UserSelect';
28
+ export { default as AuthFlowSelect } from './components/presentation/AuthFlowSelect/AuthFlowSelect';
29
+ export type { AuthFlowSelectProps } from './components/presentation/AuthFlowSelect/AuthFlowSelect';
30
+ export { default as UserTypeSelect } from './components/presentation/UserTypeSelect/UserTypeSelect';
31
+ export type { UserTypeSelectProps } from './components/presentation/UserTypeSelect/UserTypeSelect';
26
32
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,mCAAmC,CAAC;AAE1E,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,wCAAwC,CAAC;AAC3E,YAAY,EAAC,aAAa,EAAC,MAAM,wCAAwC,CAAC;AAE1E,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,0CAA0C,CAAC;AAC9E,YAAY,EAAC,cAAc,EAAC,MAAM,0CAA0C,CAAC;AAE7E,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gDAAgD,CAAC;AACvF,YAAY,EAAC,iBAAiB,EAAC,MAAM,gDAAgD,CAAC;AAEtF,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gDAAgD,CAAC;AACvF,YAAY,EAAC,iBAAiB,EAAC,MAAM,gDAAgD,CAAC;AAEtF,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,yCAAyC,CAAC;AAC1E,YAAY,EAAC,WAAW,EAAC,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,kDAAkD,CAAC;AAC1F,YAAY,EAAC,kBAAkB,EAAC,MAAM,kDAAkD,CAAC;AAEzF,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,qCAAqC,CAAC;AACpE,YAAY,EAAC,SAAS,EAAC,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,yCAAyC,CAAC;AAC1E,YAAY,EAAC,WAAW,EAAC,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,qDAAqD,CAAC;AAC5F,YAAY,EAAC,iBAAiB,EAAC,MAAM,qDAAqD,CAAC;AAE3F,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,iDAAiD,CAAC;AACtF,YAAY,EAAC,eAAe,EAAC,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,mDAAmD,CAAC;AACzF,YAAY,EAAC,gBAAgB,EAAC,MAAM,mDAAmD,CAAC;AAExF,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,6DAA6D,CAAC;AACxG,YAAY,EAAC,qBAAqB,EAAC,MAAM,6DAA6D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,mCAAmC,CAAC;AAE1E,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,wCAAwC,CAAC;AAC3E,YAAY,EAAC,aAAa,EAAC,MAAM,wCAAwC,CAAC;AAE1E,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,0CAA0C,CAAC;AAC9E,YAAY,EAAC,cAAc,EAAC,MAAM,0CAA0C,CAAC;AAE7E,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gDAAgD,CAAC;AACvF,YAAY,EAAC,iBAAiB,EAAC,MAAM,gDAAgD,CAAC;AAEtF,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gDAAgD,CAAC;AACvF,YAAY,EAAC,iBAAiB,EAAC,MAAM,gDAAgD,CAAC;AAEtF,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,yCAAyC,CAAC;AAC1E,YAAY,EAAC,WAAW,EAAC,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,kDAAkD,CAAC;AAC1F,YAAY,EAAC,kBAAkB,EAAC,MAAM,kDAAkD,CAAC;AAEzF,OAAO,EAAC,OAAO,IAAI,IAAI,EAAC,MAAM,qCAAqC,CAAC;AACpE,YAAY,EAAC,SAAS,EAAC,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,yCAAyC,CAAC;AAC1E,YAAY,EAAC,WAAW,EAAC,MAAM,yCAAyC,CAAC;AAEzE,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,qDAAqD,CAAC;AAC5F,YAAY,EAAC,iBAAiB,EAAC,MAAM,qDAAqD,CAAC;AAE3F,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,iDAAiD,CAAC;AACtF,YAAY,EAAC,eAAe,EAAC,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,mDAAmD,CAAC;AACzF,YAAY,EAAC,gBAAgB,EAAC,MAAM,mDAAmD,CAAC;AAExF,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,6DAA6D,CAAC;AACxG,YAAY,EAAC,qBAAqB,EAAC,MAAM,6DAA6D,CAAC;AAEvG,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,iDAAiD,CAAC;AACtF,YAAY,EAAC,eAAe,EAAC,MAAM,iDAAiD,CAAC;AAErF,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,yDAAyD,CAAC;AAClG,YAAY,EAAC,mBAAmB,EAAC,MAAM,yDAAyD,CAAC;AAEjG,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,yDAAyD,CAAC;AAClG,YAAY,EAAC,mBAAmB,EAAC,MAAM,yDAAyD,CAAC"}
@@ -11,5 +11,8 @@ import UserProfile_default from "./components/presentation/UserProfile/UserProfi
11
11
  import UserDropdown_default from "./components/presentation/UserDropdown/UserDropdown.js";
12
12
  import UserAvatar_default from "./components/presentation/UserAvatar/UserAvatar.js";
13
13
  import ChangeCredential_default from "./components/presentation/ChangeCredential/ChangeCredential.js";
14
+ import UserSelect_default from "./components/presentation/UserSelect/UserSelect.js";
15
+ import AuthFlowSelect_default from "./components/presentation/AuthFlowSelect/AuthFlowSelect.js";
16
+ import UserTypeSelect_default from "./components/presentation/UserTypeSelect/UserTypeSelect.js";
14
17
 
15
18
  export { };
@@ -0,0 +1,9 @@
1
+ import type { SelectPage } from '@thunderid/node';
2
+ import type { SelectPageActionResult } from '../server/actions/runSelectPageAction';
3
+ /**
4
+ * Turns a select page server action result into a loader page, or throws the failure it carries. The message was built
5
+ * on the server from fixed words and the status, so it is safe to show to a developer.
6
+ */
7
+ declare const loadPageFromAction: (result: SelectPageActionResult, errorCode: string) => SelectPage;
8
+ export default loadPageFromAction;
9
+ //# sourceMappingURL=loadPageFromAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadPageFromAction.d.ts","sourceRoot":"","sources":["../../src/client/loadPageFromAction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,uCAAuC,CAAC;AAElF;;;GAGG;AACH,QAAA,MAAM,kBAAkB,GAAI,QAAQ,sBAAsB,EAAE,WAAW,MAAM,KAAG,UAU/E,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { ThunderIDAPIError, ThunderIDRuntimeError } from "@thunderid/node";
2
+
3
+ //#region src/client/loadPageFromAction.ts
4
+ /**
5
+ * Turns a select page server action result into a loader page, or throws the failure it carries. The message was built
6
+ * on the server from fixed words and the status, so it is safe to show to a developer.
7
+ */
8
+ const loadPageFromAction = (result, errorCode) => {
9
+ if (result.success) return result.page;
10
+ if (result.statusCode !== void 0) throw new ThunderIDAPIError(result.message, errorCode, "nextjs", result.statusCode);
11
+ throw new ThunderIDRuntimeError(result.message, errorCode, "nextjs");
12
+ };
13
+ var loadPageFromAction_default = loadPageFromAction;
14
+
15
+ //#endregion
16
+ export { loadPageFromAction_default as default };
17
+ //# sourceMappingURL=loadPageFromAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadPageFromAction.js","names":[],"sources":["../../src/client/loadPageFromAction.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\nimport {ThunderIDAPIError, ThunderIDRuntimeError} from '@thunderid/node';\nimport type {SelectPage} from '@thunderid/node';\nimport type {SelectPageActionResult} from '../server/actions/runSelectPageAction';\n\n/**\n * Turns a select page server action result into a loader page, or throws the failure it carries. The message was built\n * on the server from fixed words and the status, so it is safe to show to a developer.\n */\nconst loadPageFromAction = (result: SelectPageActionResult, errorCode: string): SelectPage => {\n if (result.success) {\n return result.page;\n }\n\n if (result.statusCode !== undefined) {\n throw new ThunderIDAPIError(result.message, errorCode, 'nextjs', result.statusCode);\n }\n\n throw new ThunderIDRuntimeError(result.message, errorCode, 'nextjs');\n};\n\nexport default loadPageFromAction;\n"],"mappings":";;;;;;;AAWA,MAAM,sBAAsB,QAAgC,cAAkC;AAC5F,KAAI,OAAO,QACT,QAAO,OAAO;AAGhB,KAAI,OAAO,eAAe,OACxB,OAAM,IAAI,kBAAkB,OAAO,SAAS,WAAW,UAAU,OAAO,WAAW;AAGrF,OAAM,IAAI,sBAAsB,OAAO,SAAS,WAAW,SAAS;;AAGtE,iCAAe"}
package/dist/index.js CHANGED
@@ -18,6 +18,9 @@ import UserProfile_default from "./client/components/presentation/UserProfile/Us
18
18
  import UserDropdown_default from "./client/components/presentation/UserDropdown/UserDropdown.js";
19
19
  import UserAvatar_default from "./client/components/presentation/UserAvatar/UserAvatar.js";
20
20
  import ChangeCredential_default from "./client/components/presentation/ChangeCredential/ChangeCredential.js";
21
+ import UserSelect_default from "./client/components/presentation/UserSelect/UserSelect.js";
22
+ import AuthFlowSelect_default from "./client/components/presentation/AuthFlowSelect/AuthFlowSelect.js";
23
+ import UserTypeSelect_default from "./client/components/presentation/UserTypeSelect/UserTypeSelect.js";
21
24
  import "./client/index.js";
22
25
 
23
- export { ChangeCredential_default as ChangeCredential, SignIn_default as SignIn, SignInButton_default as SignInButton, SignOutButton_default as SignOutButton, SignUp_default as SignUp, SignUpButton_default as SignUpButton, SignedIn_default as SignedIn, SignedOut_default as SignedOut, ThunderIDNextClient_default as ThunderIDNext, ThunderIDProvider_default as ThunderIDProvider, User_default as User, UserAvatar_default as UserAvatar, UserDropdown_default as UserDropdown, UserProfile_default as UserProfile, backchannelLogout_default as backchannelLogout, createRouteMatcher_default as createRouteMatcher, removeChunkedCookieFromHeader, replaceChunkedCookieInHeader, thunderIDProxy_default as thunderIDProxy, thunderid_default as thunderid, useThunderID_default as useThunderID };
26
+ export { AuthFlowSelect_default as AuthFlowSelect, ChangeCredential_default as ChangeCredential, SignIn_default as SignIn, SignInButton_default as SignInButton, SignOutButton_default as SignOutButton, SignUp_default as SignUp, SignUpButton_default as SignUpButton, SignedIn_default as SignedIn, SignedOut_default as SignedOut, ThunderIDNextClient_default as ThunderIDNext, ThunderIDProvider_default as ThunderIDProvider, User_default as User, UserAvatar_default as UserAvatar, UserDropdown_default as UserDropdown, UserProfile_default as UserProfile, UserSelect_default as UserSelect, UserTypeSelect_default as UserTypeSelect, backchannelLogout_default as backchannelLogout, createRouteMatcher_default as createRouteMatcher, removeChunkedCookieFromHeader, replaceChunkedCookieInHeader, thunderIDProxy_default as thunderIDProxy, thunderid_default as thunderid, useThunderID_default as useThunderID };
@@ -0,0 +1,19 @@
1
+ import { SelectPageActionResult } from './runSelectPageAction';
2
+ /**
3
+ * Request from the browser. Carries only paging; the session comes from the request cookie and the flow
4
+ * type is fixed to authentication on the server.
5
+ */
6
+ export interface GetAuthFlowsActionRequest {
7
+ limit?: number;
8
+ offset?: number;
9
+ }
10
+ export type GetAuthFlowsActionResult = SelectPageActionResult;
11
+ /**
12
+ * Loads one page of authentication flows for an `AUTH_FLOW_SELECT` picker using the signed-in user's
13
+ * server-held session.
14
+ *
15
+ * Never throws across the server action boundary; failures are mapped to a plain result.
16
+ */
17
+ declare const getAuthFlowsAction: ({ limit, offset }?: GetAuthFlowsActionRequest) => Promise<GetAuthFlowsActionResult>;
18
+ export default getAuthFlowsAction;
19
+ //# sourceMappingURL=getAuthFlowsAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAuthFlowsAction.d.ts","sourceRoot":"","sources":["../../../src/server/actions/getAuthFlowsAction.ts"],"names":[],"mappings":"AAMA,OAA4B,EAAC,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AAElF;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAE9D;;;;;GAKG;AACH,QAAA,MAAM,kBAAkB,GAAU,oBAAiB,yBAA8B,KAAG,OAAO,CAAC,wBAAwB,CASjH,CAAC;AAEJ,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,26 @@
1
+ 'use server';
2
+
3
+
4
+ import runSelectPageAction_default from "./runSelectPageAction.js";
5
+ import { AuthFlowSelectConstants, capPageSize, toAuthFlowSelectPage } from "@thunderid/node";
6
+
7
+ //#region src/server/actions/getAuthFlowsAction.ts
8
+ /**
9
+ * Loads one page of authentication flows for an `AUTH_FLOW_SELECT` picker using the signed-in user's
10
+ * server-held session.
11
+ *
12
+ * Never throws across the server action boundary; failures are mapped to a plain result.
13
+ */
14
+ const getAuthFlowsAction = async ({ limit, offset } = {}) => runSelectPageAction_default("auth flows", {
15
+ limit,
16
+ offset
17
+ }, async (client, sessionId, query) => toAuthFlowSelectPage(await client.getFlows({
18
+ flowType: AuthFlowSelectConstants.FLOW_TYPE,
19
+ limit: capPageSize(query.limit),
20
+ offset: query.offset
21
+ }, sessionId), query.offset ?? 0));
22
+ var getAuthFlowsAction_default = getAuthFlowsAction;
23
+
24
+ //#endregion
25
+ export { getAuthFlowsAction_default as default };
26
+ //# sourceMappingURL=getAuthFlowsAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAuthFlowsAction.js","names":["runSelectPageAction"],"sources":["../../../src/server/actions/getAuthFlowsAction.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use server';\n\nimport {AuthFlowSelectConstants, capPageSize, toAuthFlowSelectPage} from '@thunderid/node';\nimport runSelectPageAction, {SelectPageActionResult} from './runSelectPageAction';\n\n/**\n * Request from the browser. Carries only paging; the session comes from the request cookie and the flow\n * type is fixed to authentication on the server.\n */\nexport interface GetAuthFlowsActionRequest {\n limit?: number;\n offset?: number;\n}\n\nexport type GetAuthFlowsActionResult = SelectPageActionResult;\n\n/**\n * Loads one page of authentication flows for an `AUTH_FLOW_SELECT` picker using the signed-in user's\n * server-held session.\n *\n * Never throws across the server action boundary; failures are mapped to a plain result.\n */\nconst getAuthFlowsAction = async ({limit, offset}: GetAuthFlowsActionRequest = {}): Promise<GetAuthFlowsActionResult> =>\n runSelectPageAction('auth flows', {limit, offset}, async (client, sessionId, query) =>\n toAuthFlowSelectPage(\n await client.getFlows(\n {flowType: AuthFlowSelectConstants.FLOW_TYPE, limit: capPageSize(query.limit), offset: query.offset},\n sessionId,\n ),\n query.offset ?? 0,\n ),\n );\n\nexport default getAuthFlowsAction;\n"],"mappings":";;;;;;;;;;;;;AAyBA,MAAM,qBAAqB,OAAO,EAAC,OAAO,WAAqC,EAAE,KAC/EA,4BAAoB,cAAc;CAAC;CAAO;CAAO,EAAE,OAAO,QAAQ,WAAW,UAC3E,qBACE,MAAM,OAAO,SACX;CAAC,UAAU,wBAAwB;CAAW,OAAO,YAAY,MAAM,MAAM;CAAE,QAAQ,MAAM;CAAO,EACpG,UACD,EACD,MAAM,UAAU,EACjB,CACF;AAEH,iCAAe"}
@@ -0,0 +1,18 @@
1
+ import { SelectPageActionResult } from './runSelectPageAction';
2
+ /**
3
+ * Request from the browser. Carries only paging; the session comes from the request cookie.
4
+ */
5
+ export interface GetUserTypesActionRequest {
6
+ limit?: number;
7
+ offset?: number;
8
+ }
9
+ export type GetUserTypesActionResult = SelectPageActionResult;
10
+ /**
11
+ * Loads one page of user types for a `USER_TYPE_SELECT` picker using the signed-in user's server-held
12
+ * session.
13
+ *
14
+ * Never throws across the server action boundary; failures are mapped to a plain result.
15
+ */
16
+ declare const getUserTypesAction: ({ limit, offset }?: GetUserTypesActionRequest) => Promise<GetUserTypesActionResult>;
17
+ export default getUserTypesAction;
18
+ //# sourceMappingURL=getUserTypesAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserTypesAction.d.ts","sourceRoot":"","sources":["../../../src/server/actions/getUserTypesAction.ts"],"names":[],"mappings":"AAMA,OAA4B,EAAC,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;AAE9D;;;;;GAKG;AACH,QAAA,MAAM,kBAAkB,GAAU,oBAAiB,yBAA8B,KAAG,OAAO,CAAC,wBAAwB,CAMjH,CAAC;AAEJ,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,25 @@
1
+ 'use server';
2
+
3
+
4
+ import runSelectPageAction_default from "./runSelectPageAction.js";
5
+ import { capPageSize, toUserTypeSelectPage } from "@thunderid/node";
6
+
7
+ //#region src/server/actions/getUserTypesAction.ts
8
+ /**
9
+ * Loads one page of user types for a `USER_TYPE_SELECT` picker using the signed-in user's server-held
10
+ * session.
11
+ *
12
+ * Never throws across the server action boundary; failures are mapped to a plain result.
13
+ */
14
+ const getUserTypesAction = async ({ limit, offset } = {}) => runSelectPageAction_default("user types", {
15
+ limit,
16
+ offset
17
+ }, async (client, sessionId, query) => toUserTypeSelectPage(await client.getUserTypes({
18
+ limit: capPageSize(query.limit),
19
+ offset: query.offset
20
+ }, sessionId), query.offset ?? 0));
21
+ var getUserTypesAction_default = getUserTypesAction;
22
+
23
+ //#endregion
24
+ export { getUserTypesAction_default as default };
25
+ //# sourceMappingURL=getUserTypesAction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUserTypesAction.js","names":["runSelectPageAction"],"sources":["../../../src/server/actions/getUserTypesAction.ts"],"sourcesContent":["// Copyright 2026 The ThunderID Authors\n// SPDX-License-Identifier: Apache-2.0\n\n'use server';\n\nimport {capPageSize, toUserTypeSelectPage} from '@thunderid/node';\nimport runSelectPageAction, {SelectPageActionResult} from './runSelectPageAction';\n\n/**\n * Request from the browser. Carries only paging; the session comes from the request cookie.\n */\nexport interface GetUserTypesActionRequest {\n limit?: number;\n offset?: number;\n}\n\nexport type GetUserTypesActionResult = SelectPageActionResult;\n\n/**\n * Loads one page of user types for a `USER_TYPE_SELECT` picker using the signed-in user's server-held\n * session.\n *\n * Never throws across the server action boundary; failures are mapped to a plain result.\n */\nconst getUserTypesAction = async ({limit, offset}: GetUserTypesActionRequest = {}): Promise<GetUserTypesActionResult> =>\n runSelectPageAction('user types', {limit, offset}, async (client, sessionId, query) =>\n toUserTypeSelectPage(\n await client.getUserTypes({limit: capPageSize(query.limit), offset: query.offset}, sessionId),\n query.offset ?? 0,\n ),\n );\n\nexport default getUserTypesAction;\n"],"mappings":";;;;;;;;;;;;;AAwBA,MAAM,qBAAqB,OAAO,EAAC,OAAO,WAAqC,EAAE,KAC/EA,4BAAoB,cAAc;CAAC;CAAO;CAAO,EAAE,OAAO,QAAQ,WAAW,UAC3E,qBACE,MAAM,OAAO,aAAa;CAAC,OAAO,YAAY,MAAM,MAAM;CAAE,QAAQ,MAAM;CAAO,EAAE,UAAU,EAC7F,MAAM,UAAU,EACjB,CACF;AAEH,iCAAe"}
@@ -0,0 +1,18 @@
1
+ import { SelectPageActionResult } from './runSelectPageAction';
2
+ /**
3
+ * Request from the browser. Carries no session ID, token, or URL; the session comes from the request cookie.
4
+ */
5
+ export interface GetUsersActionRequest {
6
+ filter?: string;
7
+ limit?: number;
8
+ offset?: number;
9
+ }
10
+ export type GetUsersActionResult = SelectPageActionResult;
11
+ /**
12
+ * Loads one page of users for a `USER_SELECT` picker using the signed-in user's server-held session.
13
+ *
14
+ * Never throws across the server action boundary; failures are mapped to a plain result.
15
+ */
16
+ declare const getUsersAction: ({ filter, limit, offset }?: GetUsersActionRequest) => Promise<GetUsersActionResult>;
17
+ export default getUsersAction;
18
+ //# sourceMappingURL=getUsersAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getUsersAction.d.ts","sourceRoot":"","sources":["../../../src/server/actions/getUsersAction.ts"],"names":[],"mappings":"AAMA,OAA4B,EAAC,sBAAsB,EAAC,MAAM,uBAAuB,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE1D;;;;GAIG;AACH,QAAA,MAAM,cAAc,GAAU,4BAAyB,qBAA0B,KAAG,OAAO,CAAC,oBAAoB,CAU7G,CAAC;AAEJ,eAAe,cAAc,CAAC"}
@@ -0,0 +1,26 @@
1
+ 'use server';
2
+
3
+
4
+ import runSelectPageAction_default from "./runSelectPageAction.js";
5
+ import { toUserSelectPage } from "@thunderid/node";
6
+
7
+ //#region src/server/actions/getUsersAction.ts
8
+ /**
9
+ * Loads one page of users for a `USER_SELECT` picker using the signed-in user's server-held session.
10
+ *
11
+ * Never throws across the server action boundary; failures are mapped to a plain result.
12
+ */
13
+ const getUsersAction = async ({ filter, limit, offset } = {}) => runSelectPageAction_default("users", {
14
+ filter,
15
+ limit,
16
+ offset
17
+ }, async (client, sessionId, query) => toUserSelectPage(await client.getUsers({
18
+ filter: query.filter,
19
+ limit: query.limit,
20
+ offset: query.offset
21
+ }, sessionId), query.offset ?? 0), { allowFilter: true });
22
+ var getUsersAction_default = getUsersAction;
23
+
24
+ //#endregion
25
+ export { getUsersAction_default as default };
26
+ //# sourceMappingURL=getUsersAction.js.map