@workos-inc/widgets 1.5.1 → 1.6.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 (192) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/cjs/admin-portal-domain-verification.client.cjs +32 -17
  3. package/dist/cjs/admin-portal-domain-verification.client.cjs.map +1 -1
  4. package/dist/cjs/admin-portal-domain-verification.client.d.cts +3 -2
  5. package/dist/cjs/{admin-portal-sso-connection-client.cjs → admin-portal-sso-connection.client.cjs} +58 -31
  6. package/dist/cjs/admin-portal-sso-connection.client.cjs.map +1 -0
  7. package/dist/cjs/admin-portal-sso-connection.client.d.cts +16 -0
  8. package/dist/cjs/api/api-provider.cjs +1 -1
  9. package/dist/cjs/api/api-provider.cjs.map +1 -1
  10. package/dist/cjs/api/api-provider.d.cts +1 -1
  11. package/dist/cjs/api/endpoint.cjs +62 -2
  12. package/dist/cjs/api/endpoint.cjs.map +1 -1
  13. package/dist/cjs/api/endpoint.d.cts +62 -1
  14. package/dist/cjs/{api-keys-client.cjs → api-keys.client.cjs} +42 -25
  15. package/dist/cjs/api-keys.client.cjs.map +1 -0
  16. package/dist/cjs/api-keys.client.d.cts +15 -0
  17. package/dist/cjs/index.cjs +9 -2
  18. package/dist/cjs/index.cjs.map +1 -1
  19. package/dist/cjs/index.d.cts +6 -2
  20. package/dist/cjs/lib/admin-portal-domain-verification.cjs +33 -34
  21. package/dist/cjs/lib/admin-portal-domain-verification.cjs.map +1 -1
  22. package/dist/cjs/lib/admin-portal-domain-verification.d.cts +10 -6
  23. package/dist/cjs/lib/admin-portal-sso-connection.cjs +79 -79
  24. package/dist/cjs/lib/admin-portal-sso-connection.cjs.map +1 -1
  25. package/dist/cjs/lib/admin-portal-sso-connection.d.cts +13 -6
  26. package/dist/cjs/lib/api-keys/api-keys.cjs +70 -66
  27. package/dist/cjs/lib/api-keys/api-keys.cjs.map +1 -1
  28. package/dist/cjs/lib/api-keys/api-keys.d.cts +16 -8
  29. package/dist/cjs/lib/constants.cjs +5 -2
  30. package/dist/cjs/lib/constants.cjs.map +1 -1
  31. package/dist/cjs/lib/constants.d.cts +2 -1
  32. package/dist/cjs/lib/elevated-access.cjs.map +1 -1
  33. package/dist/cjs/lib/empty-state.cjs +24 -8
  34. package/dist/cjs/lib/empty-state.cjs.map +1 -1
  35. package/dist/cjs/lib/empty-state.d.cts +6 -2
  36. package/dist/cjs/lib/generic-error.cjs +33 -24
  37. package/dist/cjs/lib/generic-error.cjs.map +1 -1
  38. package/dist/cjs/lib/generic-error.d.cts +5 -2
  39. package/dist/cjs/lib/identity-providers.cjs +2 -1
  40. package/dist/cjs/lib/identity-providers.cjs.map +1 -1
  41. package/dist/cjs/lib/identity-providers.d.cts +2 -2
  42. package/dist/cjs/lib/oauth-icons.cjs +12 -7
  43. package/dist/cjs/lib/oauth-icons.cjs.map +1 -1
  44. package/dist/cjs/lib/oauth-icons.d.cts +7 -3
  45. package/dist/cjs/lib/organization-switcher.cjs +62 -9
  46. package/dist/cjs/lib/organization-switcher.cjs.map +1 -1
  47. package/dist/cjs/lib/organization-switcher.d.cts +12 -9
  48. package/dist/cjs/lib/otp-input.cjs +1 -1
  49. package/dist/cjs/lib/otp-input.cjs.map +1 -1
  50. package/dist/cjs/lib/pipes.cjs +343 -0
  51. package/dist/cjs/lib/pipes.cjs.map +1 -0
  52. package/dist/cjs/lib/pipes.d.cts +19 -0
  53. package/dist/cjs/lib/provider-icon.cjs +0 -6
  54. package/dist/cjs/lib/provider-icon.cjs.map +1 -1
  55. package/dist/cjs/lib/provider-icon.d.cts +4 -1
  56. package/dist/cjs/lib/save-button.cjs.map +1 -1
  57. package/dist/cjs/lib/user-profile.cjs +77 -83
  58. package/dist/cjs/lib/user-profile.cjs.map +1 -1
  59. package/dist/cjs/lib/user-profile.d.cts +11 -7
  60. package/dist/cjs/lib/user-security.cjs +30 -24
  61. package/dist/cjs/lib/user-security.cjs.map +1 -1
  62. package/dist/cjs/lib/user-security.d.cts +10 -7
  63. package/dist/cjs/lib/user-sessions.cjs +19 -9
  64. package/dist/cjs/lib/user-sessions.cjs.map +1 -1
  65. package/dist/cjs/lib/user-sessions.d.cts +10 -6
  66. package/dist/cjs/lib/users-management.cjs +224 -216
  67. package/dist/cjs/lib/users-management.cjs.map +1 -1
  68. package/dist/cjs/lib/users-management.d.cts +10 -7
  69. package/dist/cjs/lib/utils.cjs +43 -0
  70. package/dist/cjs/lib/utils.cjs.map +1 -1
  71. package/dist/cjs/lib/utils.d.cts +29 -2
  72. package/dist/cjs/organization-switcher.client.cjs +45 -16
  73. package/dist/cjs/organization-switcher.client.cjs.map +1 -1
  74. package/dist/cjs/organization-switcher.client.d.cts +2 -1
  75. package/dist/cjs/pipes.client.cjs +64 -0
  76. package/dist/cjs/pipes.client.cjs.map +1 -0
  77. package/dist/cjs/pipes.client.d.cts +15 -0
  78. package/dist/cjs/user-profile.client.cjs +27 -10
  79. package/dist/cjs/user-profile.client.cjs.map +1 -1
  80. package/dist/cjs/user-profile.client.d.cts +4 -3
  81. package/dist/cjs/user-security.client.cjs +27 -10
  82. package/dist/cjs/user-security.client.cjs.map +1 -1
  83. package/dist/cjs/user-security.client.d.cts +3 -2
  84. package/dist/cjs/user-sessions.client.cjs +34 -16
  85. package/dist/cjs/user-sessions.client.cjs.map +1 -1
  86. package/dist/cjs/user-sessions.client.d.cts +4 -2
  87. package/dist/cjs/users-management.client.cjs +35 -18
  88. package/dist/cjs/users-management.client.cjs.map +1 -1
  89. package/dist/cjs/users-management.client.d.cts +3 -2
  90. package/dist/cjs/workos-widgets.client.cjs +7 -12
  91. package/dist/cjs/workos-widgets.client.cjs.map +1 -1
  92. package/dist/css/lib/provider-icon.css +16 -11
  93. package/dist/esm/admin-portal-domain-verification.client.d.ts +3 -2
  94. package/dist/esm/admin-portal-domain-verification.client.js +31 -17
  95. package/dist/esm/admin-portal-domain-verification.client.js.map +1 -1
  96. package/dist/esm/admin-portal-sso-connection.client.d.ts +16 -0
  97. package/dist/esm/{admin-portal-sso-connection-client.js → admin-portal-sso-connection.client.js} +57 -31
  98. package/dist/esm/admin-portal-sso-connection.client.js.map +1 -0
  99. package/dist/esm/api/api-provider.d.ts +1 -1
  100. package/dist/esm/api/api-provider.js +1 -1
  101. package/dist/esm/api/api-provider.js.map +1 -1
  102. package/dist/esm/api/endpoint.d.ts +62 -1
  103. package/dist/esm/api/endpoint.js +56 -2
  104. package/dist/esm/api/endpoint.js.map +1 -1
  105. package/dist/esm/api-keys.client.d.ts +15 -0
  106. package/dist/esm/api-keys.client.js +75 -0
  107. package/dist/esm/api-keys.client.js.map +1 -0
  108. package/dist/esm/index.d.ts +6 -2
  109. package/dist/esm/index.js +9 -2
  110. package/dist/esm/index.js.map +1 -1
  111. package/dist/esm/lib/admin-portal-domain-verification.d.ts +10 -6
  112. package/dist/esm/lib/admin-portal-domain-verification.js +33 -34
  113. package/dist/esm/lib/admin-portal-domain-verification.js.map +1 -1
  114. package/dist/esm/lib/admin-portal-sso-connection.d.ts +13 -6
  115. package/dist/esm/lib/admin-portal-sso-connection.js +83 -80
  116. package/dist/esm/lib/admin-portal-sso-connection.js.map +1 -1
  117. package/dist/esm/lib/api-keys/api-keys.d.ts +16 -8
  118. package/dist/esm/lib/api-keys/api-keys.js +69 -54
  119. package/dist/esm/lib/api-keys/api-keys.js.map +1 -1
  120. package/dist/esm/lib/constants.d.ts +2 -1
  121. package/dist/esm/lib/constants.js +3 -1
  122. package/dist/esm/lib/constants.js.map +1 -1
  123. package/dist/esm/lib/elevated-access.js.map +1 -1
  124. package/dist/esm/lib/empty-state.d.ts +6 -2
  125. package/dist/esm/lib/empty-state.js +24 -8
  126. package/dist/esm/lib/empty-state.js.map +1 -1
  127. package/dist/esm/lib/generic-error.d.ts +5 -2
  128. package/dist/esm/lib/generic-error.js +33 -24
  129. package/dist/esm/lib/generic-error.js.map +1 -1
  130. package/dist/esm/lib/identity-providers.d.ts +2 -2
  131. package/dist/esm/lib/identity-providers.js +2 -1
  132. package/dist/esm/lib/identity-providers.js.map +1 -1
  133. package/dist/esm/lib/oauth-icons.d.ts +7 -3
  134. package/dist/esm/lib/oauth-icons.js +11 -6
  135. package/dist/esm/lib/oauth-icons.js.map +1 -1
  136. package/dist/esm/lib/organization-switcher.d.ts +12 -9
  137. package/dist/esm/lib/organization-switcher.js +54 -9
  138. package/dist/esm/lib/organization-switcher.js.map +1 -1
  139. package/dist/esm/lib/otp-input.js +1 -1
  140. package/dist/esm/lib/otp-input.js.map +1 -1
  141. package/dist/esm/lib/pipes.d.ts +19 -0
  142. package/dist/esm/lib/pipes.js +334 -0
  143. package/dist/esm/lib/pipes.js.map +1 -0
  144. package/dist/esm/lib/provider-icon.d.ts +4 -1
  145. package/dist/esm/lib/provider-icon.js +0 -8
  146. package/dist/esm/lib/provider-icon.js.map +1 -1
  147. package/dist/esm/lib/save-button.js.map +1 -1
  148. package/dist/esm/lib/user-profile.d.ts +11 -7
  149. package/dist/esm/lib/user-profile.js +82 -75
  150. package/dist/esm/lib/user-profile.js.map +1 -1
  151. package/dist/esm/lib/user-security.d.ts +10 -7
  152. package/dist/esm/lib/user-security.js +34 -25
  153. package/dist/esm/lib/user-security.js.map +1 -1
  154. package/dist/esm/lib/user-sessions.d.ts +10 -6
  155. package/dist/esm/lib/user-sessions.js +20 -9
  156. package/dist/esm/lib/user-sessions.js.map +1 -1
  157. package/dist/esm/lib/users-management.d.ts +10 -7
  158. package/dist/esm/lib/users-management.js +230 -217
  159. package/dist/esm/lib/users-management.js.map +1 -1
  160. package/dist/esm/lib/utils.d.ts +29 -2
  161. package/dist/esm/lib/utils.js +46 -1
  162. package/dist/esm/lib/utils.js.map +1 -1
  163. package/dist/esm/organization-switcher.client.d.ts +2 -1
  164. package/dist/esm/organization-switcher.client.js +44 -16
  165. package/dist/esm/organization-switcher.client.js.map +1 -1
  166. package/dist/esm/pipes.client.d.ts +15 -0
  167. package/dist/esm/pipes.client.js +42 -0
  168. package/dist/esm/pipes.client.js.map +1 -0
  169. package/dist/esm/user-profile.client.d.ts +4 -3
  170. package/dist/esm/user-profile.client.js +26 -10
  171. package/dist/esm/user-profile.client.js.map +1 -1
  172. package/dist/esm/user-security.client.d.ts +3 -2
  173. package/dist/esm/user-security.client.js +26 -10
  174. package/dist/esm/user-security.client.js.map +1 -1
  175. package/dist/esm/user-sessions.client.d.ts +4 -2
  176. package/dist/esm/user-sessions.client.js +33 -16
  177. package/dist/esm/user-sessions.client.js.map +1 -1
  178. package/dist/esm/users-management.client.d.ts +3 -2
  179. package/dist/esm/users-management.client.js +34 -18
  180. package/dist/esm/users-management.client.js.map +1 -1
  181. package/dist/esm/workos-widgets.client.js +7 -12
  182. package/dist/esm/workos-widgets.client.js.map +1 -1
  183. package/package.json +17 -10
  184. package/dist/cjs/admin-portal-sso-connection-client.cjs.map +0 -1
  185. package/dist/cjs/admin-portal-sso-connection-client.d.cts +0 -12
  186. package/dist/cjs/api-keys-client.cjs.map +0 -1
  187. package/dist/cjs/api-keys-client.d.cts +0 -10
  188. package/dist/esm/admin-portal-sso-connection-client.d.ts +0 -12
  189. package/dist/esm/admin-portal-sso-connection-client.js.map +0 -1
  190. package/dist/esm/api-keys-client.d.ts +0 -10
  191. package/dist/esm/api-keys-client.js +0 -60
  192. package/dist/esm/api-keys-client.js.map +0 -1
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  var user_profile_client_exports = {};
21
21
  __export(user_profile_client_exports, {
22
22
  UserProfile: () => UserProfile,
23
+ UserProfileError: () => import_user_profile.UserProfileError,
23
24
  UserProfileLoading: () => import_user_profile.UserProfileLoading
24
25
  });
25
26
  module.exports = __toCommonJS(user_profile_client_exports);
@@ -29,33 +30,49 @@ var import_endpoint = require("./api/endpoint.js");
29
30
  var import_api_provider = require("./api/api-provider.js");
30
31
  var import_widgets_context = require("./lib/widgets-context.js");
31
32
  var import_error_boundary = require("./lib/error-boundary.js");
32
- const UserProfile = ({ authToken }) => {
33
+ const UserProfile = ({
34
+ authToken,
35
+ ...domProps
36
+ }) => {
33
37
  const baseUrl = (0, import_widgets_context.useWorkOsApiUrl)();
34
38
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
35
- import_api_provider.ApiProvider,
39
+ import_error_boundary.ErrorBoundary,
36
40
  {
37
- widgetType: "user-profile",
38
- authToken,
39
- baseUrl,
40
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UserProfileContent, {})
41
+ fallbackRender: ({ error }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_profile.UserProfileError, { ...domProps, error }),
42
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
43
+ import_api_provider.ApiProvider,
44
+ {
45
+ widgetType: "user-profile",
46
+ authToken,
47
+ baseUrl,
48
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UserProfileImpl, { ...domProps })
49
+ }
50
+ )
41
51
  }
42
52
  );
43
53
  };
44
- const UserProfileContent = () => {
54
+ const UserProfileImpl = (props) => {
45
55
  const isApiReady = (0, import_api_provider.useApiReady)();
46
56
  const meQuery = (0, import_endpoint.useMe)();
47
57
  if (!isApiReady || meQuery.isLoading) {
48
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_profile.UserProfileLoading, {});
58
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_profile.UserProfileLoading, { ...props });
49
59
  }
50
60
  if (meQuery.isError) {
51
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_profile.UserProfileError, { error: meQuery.error });
61
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_profile.UserProfileError, { error: meQuery.error, ...props });
52
62
  }
53
63
  const user = meQuery.data;
54
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_error_boundary.ErrorBoundary, { FallbackComponent: import_user_profile.UserProfileError, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_profile.UserProfile, { userData: user }) });
64
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
65
+ import_error_boundary.ErrorBoundary,
66
+ {
67
+ fallbackRender: ({ error }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_profile.UserProfileError, { error, ...props }),
68
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_profile.UserProfile, { userData: user, ...props })
69
+ }
70
+ );
55
71
  };
56
72
  // Annotate the CommonJS export names for ESM import in node:
57
73
  0 && (module.exports = {
58
74
  UserProfile,
75
+ UserProfileError,
59
76
  UserProfileLoading
60
77
  });
61
78
  //# sourceMappingURL=user-profile.client.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/user-profile.client.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n UserProfileError,\n UserProfileLoading,\n UserProfile as UserProfilePresentational,\n} from \"./lib/user-profile.js\";\nimport { useMe } from \"./api/endpoint.js\";\nimport { ApiProvider, AuthToken, useApiReady } from \"./api/api-provider.js\";\nimport { useWorkOsApiUrl } from \"./lib/widgets-context.js\";\nimport { ErrorBoundary } from \"./lib/error-boundary.js\";\n\nexport interface UserProfileProps {\n authToken: AuthToken;\n}\n\nexport const UserProfile: React.FC<UserProfileProps> = ({ authToken }) => {\n const baseUrl = useWorkOsApiUrl();\n\n return (\n <ApiProvider\n widgetType=\"user-profile\"\n authToken={authToken}\n baseUrl={baseUrl}\n >\n <UserProfileContent />\n </ApiProvider>\n );\n};\n\nexport { UserProfileLoading };\n\nconst UserProfileContent = () => {\n const isApiReady = useApiReady();\n const meQuery = useMe();\n\n if (!isApiReady || meQuery.isLoading) {\n return <UserProfileLoading />;\n }\n\n if (meQuery.isError) {\n return <UserProfileError error={meQuery.error} />;\n }\n\n const user = meQuery.data!;\n\n return (\n <ErrorBoundary FallbackComponent={UserProfileError}>\n <UserProfilePresentational userData={user} />\n </ErrorBoundary>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0BM;AAvBN,0BAIO;AACP,sBAAsB;AACtB,0BAAoD;AACpD,6BAAgC;AAChC,4BAA8B;AAMvB,MAAM,cAA0C,CAAC,EAAE,UAAU,MAAM;AACxE,QAAM,cAAU,wCAAgB;AAEhC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,YAAW;AAAA,MACX;AAAA,MACA;AAAA,MAEA,sDAAC,sBAAmB;AAAA;AAAA,EACtB;AAEJ;AAIA,MAAM,qBAAqB,MAAM;AAC/B,QAAM,iBAAa,iCAAY;AAC/B,QAAM,cAAU,uBAAM;AAEtB,MAAI,CAAC,cAAc,QAAQ,WAAW;AACpC,WAAO,4CAAC,0CAAmB;AAAA,EAC7B;AAEA,MAAI,QAAQ,SAAS;AACnB,WAAO,4CAAC,wCAAiB,OAAO,QAAQ,OAAO;AAAA,EACjD;AAEA,QAAM,OAAO,QAAQ;AAErB,SACE,4CAAC,uCAAc,mBAAmB,sCAChC,sDAAC,oBAAAA,aAAA,EAA0B,UAAU,MAAM,GAC7C;AAEJ;","names":["UserProfilePresentational"]}
1
+ {"version":3,"sources":["../../src/user-profile.client.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n UserProfileError,\n UserProfileLoading,\n UserProfile as UserProfilePresentational,\n} from \"./lib/user-profile.js\";\nimport type {\n UserProfileErrorProps,\n UserProfileLoadingProps,\n} from \"./lib/user-profile.js\";\nimport { useMe } from \"./api/endpoint.js\";\nimport { ApiProvider, AuthToken, useApiReady } from \"./api/api-provider.js\";\nimport { useWorkOsApiUrl } from \"./lib/widgets-context.js\";\nimport { ErrorBoundary } from \"./lib/error-boundary.js\";\nimport type { WidgetRootDomProps } from \"./lib/utils.js\";\n\ninterface UserProfileProps extends WidgetRootDomProps {\n authToken: AuthToken;\n}\n\nconst UserProfile: React.FC<UserProfileProps> = ({\n authToken,\n ...domProps\n}) => {\n const baseUrl = useWorkOsApiUrl();\n\n return (\n <ErrorBoundary\n fallbackRender={({ error }) => (\n <UserProfileError {...domProps} error={error} />\n )}\n >\n <ApiProvider\n widgetType=\"user-profile\"\n authToken={authToken}\n baseUrl={baseUrl}\n >\n <UserProfileImpl {...domProps} />\n </ApiProvider>\n </ErrorBoundary>\n );\n};\n\nconst UserProfileImpl = (props: WidgetRootDomProps) => {\n const isApiReady = useApiReady();\n const meQuery = useMe();\n\n if (!isApiReady || meQuery.isLoading) {\n return <UserProfileLoading {...props} />;\n }\n\n if (meQuery.isError) {\n return <UserProfileError error={meQuery.error} {...props} />;\n }\n\n const user = meQuery.data!;\n\n return (\n <ErrorBoundary\n fallbackRender={({ error }) => (\n <UserProfileError error={error} {...props} />\n )}\n >\n <UserProfilePresentational userData={user} {...props} />\n </ErrorBoundary>\n );\n};\n\nexport type {\n UserProfileProps,\n UserProfileLoadingProps,\n UserProfileErrorProps,\n};\nexport { UserProfile, UserProfileLoading, UserProfileError };\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BQ;AA5BR,0BAIO;AAKP,sBAAsB;AACtB,0BAAoD;AACpD,6BAAgC;AAChC,4BAA8B;AAO9B,MAAM,cAA0C,CAAC;AAAA,EAC/C;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,cAAU,wCAAgB;AAEhC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAgB,CAAC,EAAE,MAAM,MACvB,4CAAC,wCAAkB,GAAG,UAAU,OAAc;AAAA,MAGhD;AAAA,QAAC;AAAA;AAAA,UACC,YAAW;AAAA,UACX;AAAA,UACA;AAAA,UAEA,sDAAC,mBAAiB,GAAG,UAAU;AAAA;AAAA,MACjC;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,kBAAkB,CAAC,UAA8B;AACrD,QAAM,iBAAa,iCAAY;AAC/B,QAAM,cAAU,uBAAM;AAEtB,MAAI,CAAC,cAAc,QAAQ,WAAW;AACpC,WAAO,4CAAC,0CAAoB,GAAG,OAAO;AAAA,EACxC;AAEA,MAAI,QAAQ,SAAS;AACnB,WAAO,4CAAC,wCAAiB,OAAO,QAAQ,OAAQ,GAAG,OAAO;AAAA,EAC5D;AAEA,QAAM,OAAO,QAAQ;AAErB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAgB,CAAC,EAAE,MAAM,MACvB,4CAAC,wCAAiB,OAAe,GAAG,OAAO;AAAA,MAG7C,sDAAC,oBAAAA,aAAA,EAA0B,UAAU,MAAO,GAAG,OAAO;AAAA;AAAA,EACxD;AAEJ;","names":["UserProfilePresentational"]}
@@ -1,12 +1,13 @@
1
1
  import * as React from 'react';
2
- export { UserProfileLoading } from './lib/user-profile.cjs';
2
+ export { UserProfileError, UserProfileErrorProps, UserProfileLoading, UserProfileLoadingProps } from './lib/user-profile.cjs';
3
3
  import { AuthToken } from './api/api-provider.cjs';
4
- import 'react/jsx-runtime';
4
+ import { WidgetRootDomProps } from './lib/utils.cjs';
5
5
  import './api/endpoint.cjs';
6
6
  import '@tanstack/react-query';
7
7
  import './api/widgets-api-client.cjs';
8
+ import 'react/jsx-runtime';
8
9
 
9
- interface UserProfileProps {
10
+ interface UserProfileProps extends WidgetRootDomProps {
10
11
  authToken: AuthToken;
11
12
  }
12
13
  declare const UserProfile: React.FC<UserProfileProps>;
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  var user_security_client_exports = {};
21
21
  __export(user_security_client_exports, {
22
22
  UserSecurity: () => UserSecurity,
23
+ UserSecurityError: () => import_user_security.UserSecurityError,
23
24
  UserSecurityLoading: () => import_user_security.UserSecurityLoading
24
25
  });
25
26
  module.exports = __toCommonJS(user_security_client_exports);
@@ -29,19 +30,28 @@ var import_endpoint = require("./api/endpoint.js");
29
30
  var import_user_security = require("./lib/user-security.js");
30
31
  var import_widgets_context = require("./lib/widgets-context.js");
31
32
  var import_error_boundary = require("./lib/error-boundary.js");
32
- const UserSecurity = ({ authToken }) => {
33
+ const UserSecurity = ({
34
+ authToken,
35
+ ...domProps
36
+ }) => {
33
37
  const baseUrl = (0, import_widgets_context.useWorkOsApiUrl)();
34
38
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
35
- import_api_provider.ApiProvider,
39
+ import_error_boundary.ErrorBoundary,
36
40
  {
37
- widgetType: "user-security",
38
- authToken,
39
- baseUrl,
40
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UserSecurityContent, {})
41
+ fallbackRender: ({ error }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_security.UserSecurityError, { error, ...domProps }),
42
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
43
+ import_api_provider.ApiProvider,
44
+ {
45
+ widgetType: "user-security",
46
+ authToken,
47
+ baseUrl,
48
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UserSecurityImpl, { ...domProps })
49
+ }
50
+ )
41
51
  }
42
52
  );
43
53
  };
44
- const UserSecurityContent = () => {
54
+ const UserSecurityImpl = (props) => {
45
55
  const isApiReady = (0, import_api_provider.useApiReady)();
46
56
  const {
47
57
  data: settings,
@@ -53,16 +63,23 @@ const UserSecurityContent = () => {
53
63
  query: { enabled: isApiReady }
54
64
  });
55
65
  if (!isApiReady || isLoading) {
56
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_security.UserSecurityLoading, {});
66
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_security.UserSecurityLoading, { ...props });
57
67
  }
58
68
  if (isError || !isSuccess) {
59
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_security.UserSecurityError, { error });
69
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_security.UserSecurityError, { error, ...props });
60
70
  }
61
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_error_boundary.ErrorBoundary, { FallbackComponent: import_user_security.UserSecurityError, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_security.UserSecurity, { settings: settings.data }) });
71
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
72
+ import_error_boundary.ErrorBoundary,
73
+ {
74
+ fallbackRender: ({ error: error2 }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_security.UserSecurityError, { error: error2, ...props }),
75
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_security.UserSecurity, { settings: settings.data, ...props })
76
+ }
77
+ );
62
78
  };
63
79
  // Annotate the CommonJS export names for ESM import in node:
64
80
  0 && (module.exports = {
65
81
  UserSecurity,
82
+ UserSecurityError,
66
83
  UserSecurityLoading
67
84
  });
68
85
  //# sourceMappingURL=user-security.client.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/user-security.client.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { ApiProvider, AuthToken, useApiReady } from \"./api/api-provider.js\";\nimport { useAuthenticationInformation } from \"./api/endpoint.js\";\nimport {\n UserSecurityError,\n UserSecurityLoading,\n UserSecurity as UserSecurityPresentational,\n} from \"./lib/user-security.js\";\nimport { useWorkOsApiUrl } from \"./lib/widgets-context.js\";\nimport { ErrorBoundary } from \"./lib/error-boundary.js\";\n\nexport interface UserSecurityProps {\n authToken: AuthToken;\n}\n\nexport const UserSecurity: React.FC<UserSecurityProps> = ({ authToken }) => {\n const baseUrl = useWorkOsApiUrl();\n\n return (\n <ApiProvider\n widgetType=\"user-security\"\n authToken={authToken}\n baseUrl={baseUrl}\n >\n <UserSecurityContent />\n </ApiProvider>\n );\n};\n\nexport { UserSecurityLoading };\n\nconst UserSecurityContent = () => {\n const isApiReady = useApiReady();\n const {\n data: settings,\n isLoading,\n isError,\n isSuccess,\n error,\n } = useAuthenticationInformation({\n query: { enabled: isApiReady },\n });\n\n if (!isApiReady || isLoading) {\n return <UserSecurityLoading />;\n }\n\n if (isError || !isSuccess) {\n return <UserSecurityError error={error} />;\n }\n\n return (\n <ErrorBoundary FallbackComponent={UserSecurityError}>\n <UserSecurityPresentational settings={settings.data} />\n </ErrorBoundary>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA0BM;AAvBN,0BAAoD;AACpD,sBAA6C;AAC7C,2BAIO;AACP,6BAAgC;AAChC,4BAA8B;AAMvB,MAAM,eAA4C,CAAC,EAAE,UAAU,MAAM;AAC1E,QAAM,cAAU,wCAAgB;AAEhC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,YAAW;AAAA,MACX;AAAA,MACA;AAAA,MAEA,sDAAC,uBAAoB;AAAA;AAAA,EACvB;AAEJ;AAIA,MAAM,sBAAsB,MAAM;AAChC,QAAM,iBAAa,iCAAY;AAC/B,QAAM;AAAA,IACJ,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,8CAA6B;AAAA,IAC/B,OAAO,EAAE,SAAS,WAAW;AAAA,EAC/B,CAAC;AAED,MAAI,CAAC,cAAc,WAAW;AAC5B,WAAO,4CAAC,4CAAoB;AAAA,EAC9B;AAEA,MAAI,WAAW,CAAC,WAAW;AACzB,WAAO,4CAAC,0CAAkB,OAAc;AAAA,EAC1C;AAEA,SACE,4CAAC,uCAAc,mBAAmB,wCAChC,sDAAC,qBAAAA,cAAA,EAA2B,UAAU,SAAS,MAAM,GACvD;AAEJ;","names":["UserSecurityPresentational"]}
1
+ {"version":3,"sources":["../../src/user-security.client.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { ApiProvider, AuthToken, useApiReady } from \"./api/api-provider.js\";\nimport { useAuthenticationInformation } from \"./api/endpoint.js\";\nimport {\n UserSecurityError,\n UserSecurityLoading,\n UserSecurity as UserSecurityPresentational,\n} from \"./lib/user-security.js\";\nimport type {\n UserSecurityErrorProps,\n UserSecurityLoadingProps,\n} from \"./lib/user-security.js\";\nimport { useWorkOsApiUrl } from \"./lib/widgets-context.js\";\nimport { ErrorBoundary } from \"./lib/error-boundary.js\";\nimport type { WidgetRootDomProps } from \"./lib/utils.js\";\n\ninterface UserSecurityProps extends WidgetRootDomProps {\n authToken: AuthToken;\n}\n\nconst UserSecurity: React.FC<UserSecurityProps> = ({\n authToken,\n ...domProps\n}) => {\n const baseUrl = useWorkOsApiUrl();\n\n return (\n <ErrorBoundary\n fallbackRender={({ error }) => (\n <UserSecurityError error={error} {...domProps} />\n )}\n >\n <ApiProvider\n widgetType=\"user-security\"\n authToken={authToken}\n baseUrl={baseUrl}\n >\n <UserSecurityImpl {...domProps} />\n </ApiProvider>\n </ErrorBoundary>\n );\n};\n\nconst UserSecurityImpl = (props: WidgetRootDomProps) => {\n const isApiReady = useApiReady();\n const {\n data: settings,\n isLoading,\n isError,\n isSuccess,\n error,\n } = useAuthenticationInformation({\n query: { enabled: isApiReady },\n });\n\n if (!isApiReady || isLoading) {\n return <UserSecurityLoading {...props} />;\n }\n\n if (isError || !isSuccess) {\n return <UserSecurityError error={error} {...props} />;\n }\n\n return (\n <ErrorBoundary\n fallbackRender={({ error }) => (\n <UserSecurityError error={error} {...props} />\n )}\n >\n <UserSecurityPresentational settings={settings.data} {...props} />\n </ErrorBoundary>\n );\n};\n\nexport type {\n UserSecurityProps,\n UserSecurityLoadingProps,\n UserSecurityErrorProps,\n};\nexport { UserSecurity, UserSecurityLoading, UserSecurityError };\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BQ;AA5BR,0BAAoD;AACpD,sBAA6C;AAC7C,2BAIO;AAKP,6BAAgC;AAChC,4BAA8B;AAO9B,MAAM,eAA4C,CAAC;AAAA,EACjD;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,cAAU,wCAAgB;AAEhC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAgB,CAAC,EAAE,MAAM,MACvB,4CAAC,0CAAkB,OAAe,GAAG,UAAU;AAAA,MAGjD;AAAA,QAAC;AAAA;AAAA,UACC,YAAW;AAAA,UACX;AAAA,UACA;AAAA,UAEA,sDAAC,oBAAkB,GAAG,UAAU;AAAA;AAAA,MAClC;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,mBAAmB,CAAC,UAA8B;AACtD,QAAM,iBAAa,iCAAY;AAC/B,QAAM;AAAA,IACJ,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,QAAI,8CAA6B;AAAA,IAC/B,OAAO,EAAE,SAAS,WAAW;AAAA,EAC/B,CAAC;AAED,MAAI,CAAC,cAAc,WAAW;AAC5B,WAAO,4CAAC,4CAAqB,GAAG,OAAO;AAAA,EACzC;AAEA,MAAI,WAAW,CAAC,WAAW;AACzB,WAAO,4CAAC,0CAAkB,OAAe,GAAG,OAAO;AAAA,EACrD;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAgB,CAAC,EAAE,OAAAA,OAAM,MACvB,4CAAC,0CAAkB,OAAOA,QAAQ,GAAG,OAAO;AAAA,MAG9C,sDAAC,qBAAAC,cAAA,EAA2B,UAAU,SAAS,MAAO,GAAG,OAAO;AAAA;AAAA,EAClE;AAEJ;","names":["error","UserSecurityPresentational"]}
@@ -1,12 +1,13 @@
1
1
  import * as React from 'react';
2
2
  import { AuthToken } from './api/api-provider.cjs';
3
- export { UserSecurityLoading } from './lib/user-security.cjs';
3
+ export { UserSecurityError, UserSecurityErrorProps, UserSecurityLoading, UserSecurityLoadingProps } from './lib/user-security.cjs';
4
+ import { WidgetRootDomProps } from './lib/utils.cjs';
4
5
  import 'react/jsx-runtime';
5
6
  import './api/endpoint.cjs';
6
7
  import '@tanstack/react-query';
7
8
  import './api/widgets-api-client.cjs';
8
9
 
9
- interface UserSecurityProps {
10
+ interface UserSecurityProps extends WidgetRootDomProps {
10
11
  authToken: AuthToken;
11
12
  }
12
13
  declare const UserSecurity: React.FC<UserSecurityProps>;
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  var user_sessions_client_exports = {};
21
21
  __export(user_sessions_client_exports, {
22
22
  UserSessions: () => UserSessions,
23
+ UserSessionsError: () => import_user_sessions.UserSessionsError,
23
24
  UserSessionsLoading: () => import_user_sessions.UserSessionsLoading
24
25
  });
25
26
  module.exports = __toCommonJS(user_sessions_client_exports);
@@ -31,47 +32,63 @@ var import_widgets_context = require("./lib/widgets-context.js");
31
32
  var import_error_boundary = require("./lib/error-boundary.js");
32
33
  var import_react_query = require("@tanstack/react-query");
33
34
  var import_utils = require("./api/utils.js");
34
- const UserSessions = (props) => {
35
+ const UserSessions = ({
36
+ authToken,
37
+ ...passthroughProps
38
+ }) => {
35
39
  const baseUrl = (0, import_widgets_context.useWorkOsApiUrl)();
36
40
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
37
- import_api_provider.ApiProvider,
41
+ import_error_boundary.ErrorBoundary,
38
42
  {
39
- widgetType: "user-sessions",
40
- authToken: props.authToken,
41
- baseUrl,
43
+ fallbackRender: ({ error }) => {
44
+ const { currentSessionId, ...domProps } = passthroughProps;
45
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_sessions.UserSessionsError, { error, ...domProps });
46
+ },
42
47
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
43
- UserSessionsContent,
48
+ import_api_provider.ApiProvider,
44
49
  {
45
- currentSessionId: "currentSessionId" in props ? props.currentSessionId : void 0
50
+ widgetType: "user-sessions",
51
+ authToken,
52
+ baseUrl,
53
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UserSessionsImpl, { ...passthroughProps })
46
54
  }
47
55
  )
48
56
  }
49
57
  );
50
58
  };
51
- const UserSessionsContent = ({
52
- currentSessionId
59
+ const UserSessionsImpl = ({
60
+ currentSessionId,
61
+ ...domProps
53
62
  }) => {
54
63
  const isApiReady = (0, import_api_provider.useApiReady)();
55
64
  const sessionsQuery = (0, import_endpoint.useSessions)();
56
65
  const currentSessionIdQuery = useCurrentSessionIdQuery(currentSessionId);
57
66
  if (!isApiReady || sessionsQuery.isLoading || currentSessionIdQuery.isLoading) {
58
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_sessions.UserSessionsLoading, {});
67
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_sessions.UserSessionsLoading, { ...domProps });
59
68
  }
60
69
  if (sessionsQuery.isError || currentSessionIdQuery.isError) {
61
70
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
62
71
  import_user_sessions.UserSessionsError,
63
72
  {
64
- error: sessionsQuery.error || currentSessionIdQuery.error
73
+ error: sessionsQuery.error || currentSessionIdQuery.error,
74
+ ...domProps
65
75
  }
66
76
  );
67
77
  }
68
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_error_boundary.ErrorBoundary, { FallbackComponent: import_user_sessions.UserSessionsError, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
69
- import_user_sessions.UserSessions,
78
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
79
+ import_error_boundary.ErrorBoundary,
70
80
  {
71
- sessionsData: sessionsQuery.data?.data || [],
72
- currentSessionId: currentSessionIdQuery.data ?? ""
81
+ fallbackRender: ({ error }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_sessions.UserSessionsError, { error, ...domProps }),
82
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
83
+ import_user_sessions.UserSessions,
84
+ {
85
+ sessionsData: sessionsQuery.data?.data || [],
86
+ currentSessionId: currentSessionIdQuery.data ?? "",
87
+ ...domProps
88
+ }
89
+ )
73
90
  }
74
- ) });
91
+ );
75
92
  };
76
93
  function useCurrentSessionIdQuery(currentSessionId) {
77
94
  const { authToken } = (0, import_api_provider.useApi)();
@@ -89,6 +106,7 @@ function useCurrentSessionIdQuery(currentSessionId) {
89
106
  // Annotate the CommonJS export names for ESM import in node:
90
107
  0 && (module.exports = {
91
108
  UserSessions,
109
+ UserSessionsError,
92
110
  UserSessionsLoading
93
111
  });
94
112
  //# sourceMappingURL=user-sessions.client.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/user-sessions.client.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n UserSessionsError,\n UserSessionsLoading,\n UserSessions as UserSessionsPresentational,\n} from \"./lib/user-sessions.js\";\nimport { useSessions } from \"./api/endpoint.js\";\nimport { ApiProvider, useApi, useApiReady } from \"./api/api-provider.js\";\nimport { useWorkOsApiUrl } from \"./lib/widgets-context.js\";\nimport { ErrorBoundary } from \"./lib/error-boundary.js\";\nimport { useQuery, skipToken } from \"@tanstack/react-query\";\nimport { getClaims } from \"./api/utils.js\";\n\ntype UserSessionsWithoutCurrentSessionIdProps = {\n authToken: () => Promise<string>;\n};\n\ntype UserSessionsWithCurrentSessionIdProps = {\n authToken: string;\n currentSessionId: string;\n};\n\nexport type UserSessionsProps =\n | UserSessionsWithoutCurrentSessionIdProps\n | UserSessionsWithCurrentSessionIdProps;\n\nexport const UserSessions: React.FC<UserSessionsProps> = (props) => {\n const baseUrl = useWorkOsApiUrl();\n\n return (\n <ApiProvider\n widgetType=\"user-sessions\"\n authToken={props.authToken}\n baseUrl={baseUrl}\n >\n <UserSessionsContent\n currentSessionId={\n \"currentSessionId\" in props ? props.currentSessionId : undefined\n }\n />\n </ApiProvider>\n );\n};\n\nexport { UserSessionsLoading };\n\nconst UserSessionsContent = ({\n currentSessionId,\n}: {\n currentSessionId?: string;\n}) => {\n const isApiReady = useApiReady();\n const sessionsQuery = useSessions();\n const currentSessionIdQuery = useCurrentSessionIdQuery(currentSessionId);\n\n if (\n !isApiReady ||\n sessionsQuery.isLoading ||\n currentSessionIdQuery.isLoading\n ) {\n return <UserSessionsLoading />;\n }\n\n if (sessionsQuery.isError || currentSessionIdQuery.isError) {\n return (\n <UserSessionsError\n error={sessionsQuery.error || currentSessionIdQuery.error}\n />\n );\n }\n\n return (\n <ErrorBoundary FallbackComponent={UserSessionsError}>\n <UserSessionsPresentational\n sessionsData={sessionsQuery.data?.data || []}\n currentSessionId={currentSessionIdQuery.data ?? \"\"}\n />\n </ErrorBoundary>\n );\n};\n\nfunction useCurrentSessionIdQuery(currentSessionId?: string) {\n const { authToken } = useApi();\n\n return useQuery({\n queryKey: [\"authToken\", authToken],\n queryFn: authToken\n ? async () => {\n if (currentSessionId) {\n return currentSessionId;\n }\n\n const { sid } = getClaims(authToken);\n return sid;\n }\n : skipToken,\n });\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqCM;AAlCN,2BAIO;AACP,sBAA4B;AAC5B,0BAAiD;AACjD,6BAAgC;AAChC,4BAA8B;AAC9B,yBAAoC;AACpC,mBAA0B;AAenB,MAAM,eAA4C,CAAC,UAAU;AAClE,QAAM,cAAU,wCAAgB;AAEhC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,YAAW;AAAA,MACX,WAAW,MAAM;AAAA,MACjB;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,kBACE,sBAAsB,QAAQ,MAAM,mBAAmB;AAAA;AAAA,MAE3D;AAAA;AAAA,EACF;AAEJ;AAIA,MAAM,sBAAsB,CAAC;AAAA,EAC3B;AACF,MAEM;AACJ,QAAM,iBAAa,iCAAY;AAC/B,QAAM,oBAAgB,6BAAY;AAClC,QAAM,wBAAwB,yBAAyB,gBAAgB;AAEvE,MACE,CAAC,cACD,cAAc,aACd,sBAAsB,WACtB;AACA,WAAO,4CAAC,4CAAoB;AAAA,EAC9B;AAEA,MAAI,cAAc,WAAW,sBAAsB,SAAS;AAC1D,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAO,cAAc,SAAS,sBAAsB;AAAA;AAAA,IACtD;AAAA,EAEJ;AAEA,SACE,4CAAC,uCAAc,mBAAmB,wCAChC;AAAA,IAAC,qBAAAA;AAAA,IAAA;AAAA,MACC,cAAc,cAAc,MAAM,QAAQ,CAAC;AAAA,MAC3C,kBAAkB,sBAAsB,QAAQ;AAAA;AAAA,EAClD,GACF;AAEJ;AAEA,SAAS,yBAAyB,kBAA2B;AAC3D,QAAM,EAAE,UAAU,QAAI,4BAAO;AAE7B,aAAO,6BAAS;AAAA,IACd,UAAU,CAAC,aAAa,SAAS;AAAA,IACjC,SAAS,YACL,YAAY;AACV,UAAI,kBAAkB;AACpB,eAAO;AAAA,MACT;AAEA,YAAM,EAAE,IAAI,QAAI,wBAAU,SAAS;AACnC,aAAO;AAAA,IACT,IACA;AAAA,EACN,CAAC;AACH;","names":["UserSessionsPresentational"]}
1
+ {"version":3,"sources":["../../src/user-sessions.client.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n UserSessionsError,\n UserSessionsLoading,\n UserSessions as UserSessionsPresentational,\n} from \"./lib/user-sessions.js\";\nimport type {\n UserSessionsErrorProps,\n UserSessionsLoadingProps,\n} from \"./lib/user-sessions.js\";\nimport { useSessions } from \"./api/endpoint.js\";\nimport { ApiProvider, useApi, useApiReady } from \"./api/api-provider.js\";\nimport { useWorkOsApiUrl } from \"./lib/widgets-context.js\";\nimport { ErrorBoundary } from \"./lib/error-boundary.js\";\nimport { useQuery, skipToken } from \"@tanstack/react-query\";\nimport { getClaims } from \"./api/utils.js\";\nimport { WidgetRootDomProps } from \"./lib/utils.js\";\n\ntype UserSessionsWithoutCurrentSessionIdProps = {\n authToken: () => Promise<string>;\n currentSessionId?: never;\n};\n\ntype UserSessionsWithCurrentSessionIdProps = {\n authToken: string;\n currentSessionId: string;\n};\n\ntype UserSessionsProps = WidgetRootDomProps &\n (\n | UserSessionsWithoutCurrentSessionIdProps\n | UserSessionsWithCurrentSessionIdProps\n );\n\nconst UserSessions: React.FC<UserSessionsProps> = ({\n authToken,\n ...passthroughProps\n}) => {\n const baseUrl = useWorkOsApiUrl();\n return (\n <ErrorBoundary\n fallbackRender={({ error }) => {\n const { currentSessionId, ...domProps } = passthroughProps;\n return <UserSessionsError error={error} {...domProps} />;\n }}\n >\n <ApiProvider\n widgetType=\"user-sessions\"\n authToken={authToken}\n baseUrl={baseUrl}\n >\n <UserSessionsImpl {...passthroughProps} />\n </ApiProvider>\n </ErrorBoundary>\n );\n};\n\ninterface UserSessionsImplProps extends WidgetRootDomProps {\n currentSessionId?: string;\n}\n\nconst UserSessionsImpl: React.FC<UserSessionsImplProps> = ({\n currentSessionId,\n ...domProps\n}) => {\n const isApiReady = useApiReady();\n const sessionsQuery = useSessions();\n const currentSessionIdQuery = useCurrentSessionIdQuery(currentSessionId);\n\n if (\n !isApiReady ||\n sessionsQuery.isLoading ||\n currentSessionIdQuery.isLoading\n ) {\n return <UserSessionsLoading {...domProps} />;\n }\n\n if (sessionsQuery.isError || currentSessionIdQuery.isError) {\n return (\n <UserSessionsError\n error={sessionsQuery.error || currentSessionIdQuery.error}\n {...domProps}\n />\n );\n }\n\n return (\n <ErrorBoundary\n fallbackRender={({ error }) => (\n <UserSessionsError error={error} {...domProps} />\n )}\n >\n <UserSessionsPresentational\n sessionsData={sessionsQuery.data?.data || []}\n currentSessionId={currentSessionIdQuery.data ?? \"\"}\n {...domProps}\n />\n </ErrorBoundary>\n );\n};\n\nfunction useCurrentSessionIdQuery(currentSessionId?: string) {\n const { authToken } = useApi();\n\n return useQuery({\n queryKey: [\"authToken\", authToken],\n queryFn: authToken\n ? async () => {\n if (currentSessionId) {\n return currentSessionId;\n }\n\n const { sid } = getClaims(authToken);\n return sid;\n }\n : skipToken,\n });\n}\n\nexport type {\n UserSessionsProps,\n UserSessionsLoadingProps,\n UserSessionsErrorProps,\n};\nexport { UserSessions, UserSessionsLoading, UserSessionsError };\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA6Ce;AA1Cf,2BAIO;AAKP,sBAA4B;AAC5B,0BAAiD;AACjD,6BAAgC;AAChC,4BAA8B;AAC9B,yBAAoC;AACpC,mBAA0B;AAmB1B,MAAM,eAA4C,CAAC;AAAA,EACjD;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,cAAU,wCAAgB;AAChC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAgB,CAAC,EAAE,MAAM,MAAM;AAC7B,cAAM,EAAE,kBAAkB,GAAG,SAAS,IAAI;AAC1C,eAAO,4CAAC,0CAAkB,OAAe,GAAG,UAAU;AAAA,MACxD;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,YAAW;AAAA,UACX;AAAA,UACA;AAAA,UAEA,sDAAC,oBAAkB,GAAG,kBAAkB;AAAA;AAAA,MAC1C;AAAA;AAAA,EACF;AAEJ;AAMA,MAAM,mBAAoD,CAAC;AAAA,EACzD;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,iBAAa,iCAAY;AAC/B,QAAM,oBAAgB,6BAAY;AAClC,QAAM,wBAAwB,yBAAyB,gBAAgB;AAEvE,MACE,CAAC,cACD,cAAc,aACd,sBAAsB,WACtB;AACA,WAAO,4CAAC,4CAAqB,GAAG,UAAU;AAAA,EAC5C;AAEA,MAAI,cAAc,WAAW,sBAAsB,SAAS;AAC1D,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAO,cAAc,SAAS,sBAAsB;AAAA,QACnD,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAgB,CAAC,EAAE,MAAM,MACvB,4CAAC,0CAAkB,OAAe,GAAG,UAAU;AAAA,MAGjD;AAAA,QAAC,qBAAAA;AAAA,QAAA;AAAA,UACC,cAAc,cAAc,MAAM,QAAQ,CAAC;AAAA,UAC3C,kBAAkB,sBAAsB,QAAQ;AAAA,UAC/C,GAAG;AAAA;AAAA,MACN;AAAA;AAAA,EACF;AAEJ;AAEA,SAAS,yBAAyB,kBAA2B;AAC3D,QAAM,EAAE,UAAU,QAAI,4BAAO;AAE7B,aAAO,6BAAS;AAAA,IACd,UAAU,CAAC,aAAa,SAAS;AAAA,IACjC,SAAS,YACL,YAAY;AACV,UAAI,kBAAkB;AACpB,eAAO;AAAA,MACT;AAEA,YAAM,EAAE,IAAI,QAAI,wBAAU,SAAS;AACnC,aAAO;AAAA,IACT,IACA;AAAA,EACN,CAAC;AACH;","names":["UserSessionsPresentational"]}
@@ -1,5 +1,6 @@
1
1
  import * as React from 'react';
2
- export { UserSessionsLoading } from './lib/user-sessions.cjs';
2
+ export { UserSessionsError, UserSessionsErrorProps, UserSessionsLoading, UserSessionsLoadingProps } from './lib/user-sessions.cjs';
3
+ import { WidgetRootDomProps } from './lib/utils.cjs';
3
4
  import 'react/jsx-runtime';
4
5
  import './api/endpoint.cjs';
5
6
  import '@tanstack/react-query';
@@ -7,12 +8,13 @@ import './api/widgets-api-client.cjs';
7
8
 
8
9
  type UserSessionsWithoutCurrentSessionIdProps = {
9
10
  authToken: () => Promise<string>;
11
+ currentSessionId?: never;
10
12
  };
11
13
  type UserSessionsWithCurrentSessionIdProps = {
12
14
  authToken: string;
13
15
  currentSessionId: string;
14
16
  };
15
- type UserSessionsProps = UserSessionsWithoutCurrentSessionIdProps | UserSessionsWithCurrentSessionIdProps;
17
+ type UserSessionsProps = WidgetRootDomProps & (UserSessionsWithoutCurrentSessionIdProps | UserSessionsWithCurrentSessionIdProps);
16
18
  declare const UserSessions: React.FC<UserSessionsProps>;
17
19
 
18
20
  export { UserSessions, type UserSessionsProps };
@@ -20,6 +20,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
20
20
  var users_management_client_exports = {};
21
21
  __export(users_management_client_exports, {
22
22
  UsersManagement: () => UsersManagement,
23
+ UsersManagementError: () => import_users_management.UsersManagementError,
23
24
  UsersManagementLoading: () => import_users_management.UsersManagementLoading
24
25
  });
25
26
  module.exports = __toCommonJS(users_management_client_exports);
@@ -33,20 +34,27 @@ var import_widgets_context = require("./lib/widgets-context.js");
33
34
  var import_error_boundary = require("./lib/error-boundary.js");
34
35
  var import_use_permissions = require("./lib/use-permissions.js");
35
36
  const UsersManagement = ({
36
- authToken
37
+ authToken,
38
+ ...domProps
37
39
  }) => {
38
40
  const baseUrl = (0, import_widgets_context.useWorkOsApiUrl)();
39
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_error_boundary.ErrorBoundary, { FallbackComponent: import_users_management.UsersManagementError, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
40
- import_api_provider.ApiProvider,
41
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
42
+ import_error_boundary.ErrorBoundary,
41
43
  {
42
- widgetType: "user-management",
43
- authToken,
44
- baseUrl,
45
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_users_management_context.UsersManagementContextProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsersManagementContent, {}) })
44
+ fallbackRender: ({ error }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_users_management.UsersManagementError, { error, ...domProps }),
45
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
46
+ import_api_provider.ApiProvider,
47
+ {
48
+ widgetType: "user-management",
49
+ authToken,
50
+ baseUrl,
51
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_users_management_context.UsersManagementContextProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsersManagementImpl, { ...domProps }) })
52
+ }
53
+ )
46
54
  }
47
- ) });
55
+ );
48
56
  };
49
- const UsersManagementContent = () => {
57
+ const UsersManagementImpl = (props) => {
50
58
  const isApiReady = (0, import_api_provider.useApiReady)();
51
59
  const rolesAndConfigQuery = (0, import_endpoint.useRolesAndConfig)({
52
60
  query: { initialData: { roles: [], multipleRolesEnabled: false } }
@@ -54,29 +62,38 @@ const UsersManagementContent = () => {
54
62
  const usersQuery = (0, import_user.useUsers)();
55
63
  const permissionsQuery = (0, import_use_permissions.usePermissions)("widgets:users-table:manage");
56
64
  if (permissionsQuery.isLoading || usersQuery.isLoading || rolesAndConfigQuery.isLoading || usersQuery.isPending || !isApiReady) {
57
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_users_management.UsersManagementLoading, {});
65
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_users_management.UsersManagementLoading, { ...props });
58
66
  }
59
67
  if (permissionsQuery.isError || usersQuery.isError || rolesAndConfigQuery.isError) {
60
68
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
61
69
  import_users_management.UsersManagementError,
62
70
  {
63
- error: permissionsQuery.error || usersQuery.error || rolesAndConfigQuery.error
71
+ error: permissionsQuery.error || usersQuery.error || rolesAndConfigQuery.error,
72
+ ...props
64
73
  }
65
74
  );
66
75
  }
67
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_error_boundary.ErrorBoundary, { FallbackComponent: import_users_management.UsersManagementError, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
68
- import_users_management.UsersManagement,
76
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
77
+ import_error_boundary.ErrorBoundary,
69
78
  {
70
- userData: usersQuery.data,
71
- rolesData: rolesAndConfigQuery.data,
72
- isPending: usersQuery.isFetching,
73
- disableRolesFilter: rolesAndConfigQuery.isPending || rolesAndConfigQuery.isFetching
79
+ fallbackRender: ({ error }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_users_management.UsersManagementError, { error, ...props }),
80
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
81
+ import_users_management.UsersManagement,
82
+ {
83
+ userData: usersQuery.data,
84
+ rolesData: rolesAndConfigQuery.data,
85
+ isPending: usersQuery.isFetching,
86
+ disableRolesFilter: rolesAndConfigQuery.isPending || rolesAndConfigQuery.isFetching,
87
+ ...props
88
+ }
89
+ )
74
90
  }
75
- ) });
91
+ );
76
92
  };
77
93
  // Annotate the CommonJS export names for ESM import in node:
78
94
  0 && (module.exports = {
79
95
  UsersManagement,
96
+ UsersManagementError,
80
97
  UsersManagementLoading
81
98
  });
82
99
  //# sourceMappingURL=users-management.client.cjs.map
@@ -1 +1 @@
1
- {"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 { 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\";\n\nexport interface UsersManagementProps {\n authToken: AuthToken;\n}\n\nexport const UsersManagement: React.FC<UsersManagementProps> = ({\n authToken,\n}) => {\n const baseUrl = useWorkOsApiUrl();\n\n return (\n <ErrorBoundary FallbackComponent={UsersManagementError}>\n <ApiProvider\n widgetType=\"user-management\"\n authToken={authToken}\n baseUrl={baseUrl}\n >\n <UsersManagementContextProvider>\n <UsersManagementContent />\n </UsersManagementContextProvider>\n </ApiProvider>\n </ErrorBoundary>\n );\n};\n\nexport { UsersManagementLoading };\n\nconst UsersManagementContent = () => {\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 />;\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 />\n );\n }\n\n return (\n <ErrorBoundary FallbackComponent={UsersManagementError}>\n <UsersManagementPresentational\n userData={usersQuery.data}\n rolesData={rolesAndConfigQuery.data}\n isPending={usersQuery.isFetching}\n disableRolesFilter={\n rolesAndConfigQuery.isPending || rolesAndConfigQuery.isFetching\n }\n />\n </ErrorBoundary>\n );\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiCU;AA/BV,sBAAkC;AAClC,0BAAoD;AAEpD,kBAAyB;AACzB,8BAIO;AACP,sCAA+C;AAC/C,6BAAgC;AAChC,4BAA8B;AAC9B,6BAA+B;AAMxB,MAAM,kBAAkD,CAAC;AAAA,EAC9D;AACF,MAAM;AACJ,QAAM,cAAU,wCAAgB;AAEhC,SACE,4CAAC,uCAAc,mBAAmB,8CAChC;AAAA,IAAC;AAAA;AAAA,MACC,YAAW;AAAA,MACX;AAAA,MACA;AAAA,MAEA,sDAAC,kEACC,sDAAC,0BAAuB,GAC1B;AAAA;AAAA,EACF,GACF;AAEJ;AAIA,MAAM,yBAAyB,MAAM;AACnC,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,kDAAuB;AAAA,EACjC;AAEA,MACE,iBAAiB,WACjB,WAAW,WACX,oBAAoB,SACpB;AACA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OACE,iBAAiB,SACjB,WAAW,SACX,oBAAoB;AAAA;AAAA,IAExB;AAAA,EAEJ;AAEA,SACE,4CAAC,uCAAc,mBAAmB,8CAChC;AAAA,IAAC,wBAAAA;AAAA,IAAA;AAAA,MACC,UAAU,WAAW;AAAA,MACrB,WAAW,oBAAoB;AAAA,MAC/B,WAAW,WAAW;AAAA,MACtB,oBACE,oBAAoB,aAAa,oBAAoB;AAAA;AAAA,EAEzD,GACF;AAEJ;","names":["UsersManagementPresentational"]}
1
+ {"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"]}
@@ -1,12 +1,13 @@
1
1
  import { AuthToken } from './api/api-provider.cjs';
2
2
  import * as React from 'react';
3
- export { UsersManagementLoading } from './lib/users-management.cjs';
3
+ export { UsersManagementError, UsersManagementErrorProps, UsersManagementLoading, UsersManagementLoadingProps } from './lib/users-management.cjs';
4
+ import { WidgetRootDomProps } from './lib/utils.cjs';
4
5
  import 'react/jsx-runtime';
5
6
  import './api/endpoint.cjs';
6
7
  import '@tanstack/react-query';
7
8
  import './api/widgets-api-client.cjs';
8
9
 
9
- interface UsersManagementProps {
10
+ interface UsersManagementProps extends WidgetRootDomProps {
10
11
  authToken: AuthToken;
11
12
  }
12
13
  declare const UsersManagement: React.FC<UsersManagementProps>;
@@ -40,17 +40,17 @@ var React = __toESM(require("react"), 1);
40
40
  var import_utils = require("./lib/utils.js");
41
41
  var import_config = require("./lib/api/config.js");
42
42
  var import_widgets_context = require("./lib/widgets-context.js");
43
- let queryClientInternal;
43
+ var import_constants = require("./lib/constants.js");
44
44
  const WorkOsWidgets = ({
45
45
  elements = {},
46
- className,
47
46
  theme: { fontFamily, ...radixThemesProps } = {},
48
47
  style = {},
49
48
  children,
50
49
  apiHostname = import_config.DEFAULT_API_HOSTNAME,
51
50
  port = null,
52
51
  https = true,
53
- queryClient
52
+ queryClient,
53
+ className
54
54
  }) => {
55
55
  const customStyle = fontFamily ? {
56
56
  "--default-font-family": fontFamily,
@@ -74,6 +74,7 @@ const WorkOsWidgets = ({
74
74
  import_themes.Theme,
75
75
  {
76
76
  ...radixThemesProps,
77
+ ...{ [`data-${import_constants.WIDGETS_DATA_ATTRIBUTE_NAMESPACE}-root`]: true },
77
78
  style: customStyle,
78
79
  className: (0, import_clsx.default)((0, import_utils.namespaceClassNames)("root"), className),
79
80
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_widgets_context.WidgetsContext.Provider, { value: { elements, apiBaseUrl }, children })
@@ -84,15 +85,9 @@ const QueryClientProviderImpl = ({
84
85
  client: providedClient,
85
86
  children
86
87
  }) => {
87
- let queryClient;
88
- if (providedClient) {
89
- queryClient = providedClient;
90
- } else if (queryClientInternal) {
91
- queryClient = queryClientInternal;
92
- } else {
93
- queryClientInternal = new import_react_query.QueryClient();
94
- queryClient = queryClientInternal;
95
- }
88
+ const [queryClient] = React.useState(
89
+ () => providedClient ?? new import_react_query.QueryClient()
90
+ );
96
91
  const client = (0, import_react_query.useQueryClient)(queryClient);
97
92
  if (Object.is(client, providedClient)) {
98
93
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/workos-widgets.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { Theme as RadixThemes } from \"@radix-ui/themes\";\nimport type { GetPropDefTypes, themePropDefs } from \"@radix-ui/themes/props\";\nimport {\n QueryClient,\n QueryClientProvider,\n useQueryClient,\n} from \"@tanstack/react-query\";\nimport cx from \"clsx\";\nimport * as React from \"react\";\nimport { namespaceClassNames } from \"./lib/utils.js\";\nimport { DEFAULT_API_HOSTNAME } from \"./lib/api/config.js\";\nimport type { Elements } from \"./lib/elements.js\";\nimport { WidgetsContext } from \"./lib/widgets-context.js\";\n\nlet queryClientInternal: QueryClient | undefined;\n\nexport interface WorkOsWidgetsProps {\n elements?: Elements;\n theme?: Omit<GetPropDefTypes<typeof themePropDefs>, \"asChild\"> & {\n fontFamily?: string;\n };\n style?: React.CSSProperties;\n className?: string;\n children: React.ReactNode;\n apiHostname?: string;\n port?: number | null;\n https?: boolean;\n /**\n * Optional query client for users who are already using Tanstack Query. If\n * not provided, a new query client will be created and mounted internally.\n */\n queryClient?: QueryClient;\n}\n\nexport const WorkOsWidgets: React.FC<WorkOsWidgetsProps> = ({\n elements = {},\n className,\n theme: { fontFamily, ...radixThemesProps } = {},\n style = {},\n children,\n apiHostname = DEFAULT_API_HOSTNAME,\n port = null,\n https = true,\n queryClient,\n}) => {\n const customStyle: React.CSSProperties = fontFamily\n ? {\n \"--default-font-family\": fontFamily,\n ...style,\n }\n : style;\n\n const apiBaseUrl = React.useMemo(() => {\n try {\n const url = new URL(\n \"/\",\n `${https ? \"https\" : \"http\"}://${apiHostname}${port ? `:${port}` : \"\"}`,\n );\n return url.toString().slice(0, -1);\n } catch {\n console.error(\n \"Failed to validate the WorkOS API URL. Check to ensure that valid `apiHostname` and `port` props are passed to WorkOsWidgets\",\n );\n return `https://${DEFAULT_API_HOSTNAME}`;\n }\n }, [apiHostname, https, port]);\n\n return (\n <QueryClientProviderImpl client={queryClient}>\n <RadixThemes\n {...radixThemesProps}\n style={customStyle}\n className={cx(namespaceClassNames(\"root\"), className)}\n >\n <WidgetsContext.Provider value={{ elements, apiBaseUrl }}>\n {children}\n </WidgetsContext.Provider>\n </RadixThemes>\n </QueryClientProviderImpl>\n );\n};\n\nconst QueryClientProviderImpl = ({\n client: providedClient,\n children,\n}: {\n client: QueryClient | undefined;\n children: React.ReactNode;\n}) => {\n let queryClient: QueryClient;\n if (providedClient) {\n queryClient = providedClient;\n } else if (queryClientInternal) {\n queryClient = queryClientInternal;\n } else {\n queryClientInternal = new QueryClient();\n queryClient = queryClientInternal;\n }\n\n const client = useQueryClient(queryClient);\n if (Object.is(client, providedClient)) {\n // No need for a new context provider if the user provided the client to\n // their own provider, which has already mounted the client.\n return <>{children}</>;\n }\n\n return <QueryClientProvider client={client}>{children}</QueryClientProvider>;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA4EQ;AA1ER,oBAAqC;AAErC,yBAIO;AACP,kBAAe;AACf,YAAuB;AACvB,mBAAoC;AACpC,oBAAqC;AAErC,6BAA+B;AAE/B,IAAI;AAoBG,MAAM,gBAA8C,CAAC;AAAA,EAC1D,WAAW,CAAC;AAAA,EACZ;AAAA,EACA,OAAO,EAAE,YAAY,GAAG,iBAAiB,IAAI,CAAC;AAAA,EAC9C,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,EACR;AACF,MAAM;AACJ,QAAM,cAAmC,aACrC;AAAA,IACE,yBAAyB;AAAA,IACzB,GAAG;AAAA,EACL,IACA;AAEJ,QAAM,aAAa,MAAM,QAAQ,MAAM;AACrC,QAAI;AACF,YAAM,MAAM,IAAI;AAAA,QACd;AAAA,QACA,GAAG,QAAQ,UAAU,MAAM,MAAM,WAAW,GAAG,OAAO,IAAI,IAAI,KAAK,EAAE;AAAA,MACvE;AACA,aAAO,IAAI,SAAS,EAAE,MAAM,GAAG,EAAE;AAAA,IACnC,QAAQ;AACN,cAAQ;AAAA,QACN;AAAA,MACF;AACA,aAAO,WAAW,kCAAoB;AAAA,IACxC;AAAA,EACF,GAAG,CAAC,aAAa,OAAO,IAAI,CAAC;AAE7B,SACE,4CAAC,2BAAwB,QAAQ,aAC/B;AAAA,IAAC,cAAAA;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACJ,OAAO;AAAA,MACP,eAAW,YAAAC,aAAG,kCAAoB,MAAM,GAAG,SAAS;AAAA,MAEpD,sDAAC,sCAAe,UAAf,EAAwB,OAAO,EAAE,UAAU,WAAW,GACpD,UACH;AAAA;AAAA,EACF,GACF;AAEJ;AAEA,MAAM,0BAA0B,CAAC;AAAA,EAC/B,QAAQ;AAAA,EACR;AACF,MAGM;AACJ,MAAI;AACJ,MAAI,gBAAgB;AAClB,kBAAc;AAAA,EAChB,WAAW,qBAAqB;AAC9B,kBAAc;AAAA,EAChB,OAAO;AACL,0BAAsB,IAAI,+BAAY;AACtC,kBAAc;AAAA,EAChB;AAEA,QAAM,aAAS,mCAAe,WAAW;AACzC,MAAI,OAAO,GAAG,QAAQ,cAAc,GAAG;AAGrC,WAAO,2EAAG,UAAS;AAAA,EACrB;AAEA,SAAO,4CAAC,0CAAoB,QAAiB,UAAS;AACxD;","names":["RadixThemes","cx"]}
1
+ {"version":3,"sources":["../../src/workos-widgets.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { Theme as RadixThemes } from \"@radix-ui/themes\";\nimport type { GetPropDefTypes, themePropDefs } from \"@radix-ui/themes/props\";\nimport {\n QueryClient,\n QueryClientProvider,\n useQueryClient,\n} from \"@tanstack/react-query\";\nimport cx from \"clsx\";\nimport * as React from \"react\";\nimport { namespaceClassNames } from \"./lib/utils.js\";\nimport { DEFAULT_API_HOSTNAME } from \"./lib/api/config.js\";\nimport type { Elements } from \"./lib/elements.js\";\nimport { WidgetsContext } from \"./lib/widgets-context.js\";\nimport { WIDGETS_DATA_ATTRIBUTE_NAMESPACE } from \"./lib/constants.js\";\n\nexport interface WorkOsWidgetsProps {\n elements?: Elements;\n theme?: Omit<GetPropDefTypes<typeof themePropDefs>, \"asChild\"> & {\n fontFamily?: string;\n };\n style?: React.CSSProperties;\n className?: string;\n children: React.ReactNode;\n apiHostname?: string;\n port?: number | null;\n https?: boolean;\n /**\n * Optional query client for users who are already using Tanstack Query. If\n * not provided, a new query client will be created and mounted internally.\n */\n queryClient?: QueryClient;\n}\n\nexport const WorkOsWidgets: React.FC<WorkOsWidgetsProps> = ({\n elements = {},\n theme: { fontFamily, ...radixThemesProps } = {},\n style = {},\n children,\n apiHostname = DEFAULT_API_HOSTNAME,\n port = null,\n https = true,\n queryClient,\n className,\n}) => {\n const customStyle: React.CSSProperties = fontFamily\n ? {\n \"--default-font-family\": fontFamily,\n ...style,\n }\n : style;\n\n const apiBaseUrl = React.useMemo(() => {\n try {\n const url = new URL(\n \"/\",\n `${https ? \"https\" : \"http\"}://${apiHostname}${port ? `:${port}` : \"\"}`,\n );\n return url.toString().slice(0, -1);\n } catch {\n console.error(\n \"Failed to validate the WorkOS API URL. Check to ensure that valid `apiHostname` and `port` props are passed to WorkOsWidgets\",\n );\n return `https://${DEFAULT_API_HOSTNAME}`;\n }\n }, [apiHostname, https, port]);\n\n return (\n <QueryClientProviderImpl client={queryClient}>\n <RadixThemes\n {...radixThemesProps}\n {...{ [`data-${WIDGETS_DATA_ATTRIBUTE_NAMESPACE}-root`]: true }}\n style={customStyle}\n className={cx(namespaceClassNames(\"root\"), className)}\n >\n <WidgetsContext.Provider value={{ elements, apiBaseUrl }}>\n {children}\n </WidgetsContext.Provider>\n </RadixThemes>\n </QueryClientProviderImpl>\n );\n};\n\nconst QueryClientProviderImpl = ({\n client: providedClient,\n children,\n}: {\n client: QueryClient | undefined;\n children: React.ReactNode;\n}) => {\n const [queryClient] = React.useState(\n () => providedClient ?? new QueryClient(),\n );\n\n const client = useQueryClient(queryClient);\n if (Object.is(client, providedClient)) {\n // No need for a new context provider if the user provided the client to\n // their own provider, which has already mounted the client.\n return <>{children}</>;\n }\n\n return <QueryClientProvider client={client}>{children}</QueryClientProvider>;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA4EQ;AA1ER,oBAAqC;AAErC,yBAIO;AACP,kBAAe;AACf,YAAuB;AACvB,mBAAoC;AACpC,oBAAqC;AAErC,6BAA+B;AAC/B,uBAAiD;AAoB1C,MAAM,gBAA8C,CAAC;AAAA,EAC1D,WAAW,CAAC;AAAA,EACZ,OAAO,EAAE,YAAY,GAAG,iBAAiB,IAAI,CAAC;AAAA,EAC9C,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,cAAc;AAAA,EACd,OAAO;AAAA,EACP,QAAQ;AAAA,EACR;AAAA,EACA;AACF,MAAM;AACJ,QAAM,cAAmC,aACrC;AAAA,IACE,yBAAyB;AAAA,IACzB,GAAG;AAAA,EACL,IACA;AAEJ,QAAM,aAAa,MAAM,QAAQ,MAAM;AACrC,QAAI;AACF,YAAM,MAAM,IAAI;AAAA,QACd;AAAA,QACA,GAAG,QAAQ,UAAU,MAAM,MAAM,WAAW,GAAG,OAAO,IAAI,IAAI,KAAK,EAAE;AAAA,MACvE;AACA,aAAO,IAAI,SAAS,EAAE,MAAM,GAAG,EAAE;AAAA,IACnC,QAAQ;AACN,cAAQ;AAAA,QACN;AAAA,MACF;AACA,aAAO,WAAW,kCAAoB;AAAA,IACxC;AAAA,EACF,GAAG,CAAC,aAAa,OAAO,IAAI,CAAC;AAE7B,SACE,4CAAC,2BAAwB,QAAQ,aAC/B;AAAA,IAAC,cAAAA;AAAA,IAAA;AAAA,MACE,GAAG;AAAA,MACH,GAAG,EAAE,CAAC,QAAQ,iDAAgC,OAAO,GAAG,KAAK;AAAA,MAC9D,OAAO;AAAA,MACP,eAAW,YAAAC,aAAG,kCAAoB,MAAM,GAAG,SAAS;AAAA,MAEpD,sDAAC,sCAAe,UAAf,EAAwB,OAAO,EAAE,UAAU,WAAW,GACpD,UACH;AAAA;AAAA,EACF,GACF;AAEJ;AAEA,MAAM,0BAA0B,CAAC;AAAA,EAC/B,QAAQ;AAAA,EACR;AACF,MAGM;AACJ,QAAM,CAAC,WAAW,IAAI,MAAM;AAAA,IAC1B,MAAM,kBAAkB,IAAI,+BAAY;AAAA,EAC1C;AAEA,QAAM,aAAS,mCAAe,WAAW;AACzC,MAAI,OAAO,GAAG,QAAQ,cAAc,GAAG;AAGrC,WAAO,2EAAG,UAAS;AAAA,EACrB;AAEA,SAAO,4CAAC,0CAAoB,QAAiB,UAAS;AACxD;","names":["RadixThemes","cx"]}