@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
@@ -0,0 +1,15 @@
1
+ import { AuthToken } from './api/api-provider.js';
2
+ export { ApiKeysError, ApiKeysErrorProps, ApiKeysLoading, ApiKeysLoadingProps } from './lib/api-keys/api-keys.js';
3
+ import * as React from 'react';
4
+ import { WidgetRootDomProps } from './lib/utils.js';
5
+ import 'react/jsx-runtime';
6
+ import './api/endpoint.js';
7
+ import '@tanstack/react-query';
8
+ import './api/widgets-api-client.js';
9
+
10
+ interface ApiKeysProps extends WidgetRootDomProps {
11
+ authToken: AuthToken;
12
+ }
13
+ declare const ApiKeys: React.FC<ApiKeysProps>;
14
+
15
+ export { ApiKeys, type ApiKeysProps };
@@ -0,0 +1,75 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { ApiProvider, useApiReady } from "./api/api-provider.js";
4
+ import { useWorkOsApiUrl } from "./lib/widgets-context.js";
5
+ import {
6
+ ApiKeysLoading,
7
+ ApiKeys as ApiKeysPresentational,
8
+ ApiKeysError
9
+ } from "./lib/api-keys/api-keys.js";
10
+ import { useListOrganizationApiKeyPermissions } from "./api/endpoint.js";
11
+ import { ErrorBoundary } from "./lib/error-boundary.js";
12
+ import { usePermissions } from "./lib/use-permissions.js";
13
+ import {
14
+ ApiKeysContextProvider,
15
+ useApiKeysContext
16
+ } from "./lib/api-keys/api-keys-context.js";
17
+ import { useApiKeys } from "./lib/api/api-key.js";
18
+ import { CreateApiKeyDialog } from "./lib/api-keys/create-api-key.js";
19
+ const ApiKeys = ({ authToken, ...domProps }) => {
20
+ const baseUrl = useWorkOsApiUrl();
21
+ return /* @__PURE__ */ jsx(
22
+ ErrorBoundary,
23
+ {
24
+ fallbackRender: ({ error }) => /* @__PURE__ */ jsx(ApiKeysError, { ...domProps, error }),
25
+ children: /* @__PURE__ */ jsx(
26
+ ApiProvider,
27
+ {
28
+ widgetType: "api-keys",
29
+ authToken,
30
+ baseUrl,
31
+ children: /* @__PURE__ */ jsxs(ApiKeysContextProvider, { children: [
32
+ /* @__PURE__ */ jsx(CreateApiKeyDialog, {}),
33
+ /* @__PURE__ */ jsx(ApiKeysImpl, { ...domProps })
34
+ ] })
35
+ }
36
+ )
37
+ }
38
+ );
39
+ };
40
+ const ApiKeysImpl = (props) => {
41
+ const isApiReady = useApiReady();
42
+ const apiKeys = useApiKeys();
43
+ const { state } = useApiKeysContext();
44
+ useListOrganizationApiKeyPermissions({ limit: 100 });
45
+ const permissionsQuery = usePermissions("widgets:api-keys:manage");
46
+ if (!isApiReady || apiKeys.isLoading || permissionsQuery.isLoading) {
47
+ return /* @__PURE__ */ jsx(ApiKeysLoading, { ...props });
48
+ }
49
+ if (permissionsQuery.isError || apiKeys.isError) {
50
+ return /* @__PURE__ */ jsx(
51
+ ApiKeysError,
52
+ {
53
+ error: permissionsQuery.error || apiKeys.error,
54
+ ...props
55
+ }
56
+ );
57
+ }
58
+ if (apiKeys.isSuccess) {
59
+ return /* @__PURE__ */ jsx(
60
+ ApiKeysPresentational,
61
+ {
62
+ apiKeys: apiKeys.data,
63
+ searchQuery: state.searchQuery,
64
+ ...props
65
+ }
66
+ );
67
+ }
68
+ return /* @__PURE__ */ jsx(ApiKeysError, { error: apiKeys.error, ...props });
69
+ };
70
+ export {
71
+ ApiKeys,
72
+ ApiKeysError,
73
+ ApiKeysLoading
74
+ };
75
+ //# sourceMappingURL=api-keys.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/api-keys.client.tsx"],"sourcesContent":["\"use client\";\nimport { ApiProvider, AuthToken, useApiReady } from \"./api/api-provider.js\";\nimport { useWorkOsApiUrl } from \"./lib/widgets-context.js\";\nimport {\n ApiKeysLoading,\n ApiKeys as ApiKeysPresentational,\n ApiKeysError,\n} from \"./lib/api-keys/api-keys.js\";\nimport type {\n ApiKeysLoadingProps,\n ApiKeysErrorProps,\n} from \"./lib/api-keys/api-keys.js\";\nimport { useListOrganizationApiKeyPermissions } from \"./api/endpoint.js\";\nimport * as React from \"react\";\nimport { ErrorBoundary } from \"./lib/error-boundary.js\";\nimport { usePermissions } from \"./lib/use-permissions.js\";\nimport {\n ApiKeysContextProvider,\n useApiKeysContext,\n} from \"./lib/api-keys/api-keys-context.js\";\nimport { useApiKeys } from \"./lib/api/api-key.js\";\nimport { CreateApiKeyDialog } from \"./lib/api-keys/create-api-key.js\";\nimport type { WidgetRootDomProps } from \"./lib/utils.js\";\n\ninterface ApiKeysProps extends WidgetRootDomProps {\n authToken: AuthToken;\n}\n\nconst ApiKeys: React.FC<ApiKeysProps> = ({ authToken, ...domProps }) => {\n const baseUrl = useWorkOsApiUrl();\n return (\n <ErrorBoundary\n fallbackRender={({ error }) => (\n <ApiKeysError {...domProps} error={error} />\n )}\n >\n <ApiProvider\n widgetType=\"api-keys\"\n authToken={authToken}\n baseUrl={baseUrl}\n >\n <ApiKeysContextProvider>\n <CreateApiKeyDialog />\n <ApiKeysImpl {...domProps} />\n </ApiKeysContextProvider>\n </ApiProvider>\n </ErrorBoundary>\n );\n};\n\nconst ApiKeysImpl = (props: WidgetRootDomProps) => {\n const isApiReady = useApiReady();\n const apiKeys = useApiKeys();\n const { state } = useApiKeysContext();\n useListOrganizationApiKeyPermissions({ limit: 100 });\n const permissionsQuery = usePermissions(\"widgets:api-keys:manage\");\n\n if (!isApiReady || apiKeys.isLoading || permissionsQuery.isLoading) {\n return <ApiKeysLoading {...props} />;\n }\n\n if (permissionsQuery.isError || apiKeys.isError) {\n return (\n <ApiKeysError\n error={permissionsQuery.error || apiKeys.error}\n {...props}\n />\n );\n }\n\n if (apiKeys.isSuccess) {\n return (\n <ApiKeysPresentational\n apiKeys={apiKeys.data}\n searchQuery={state.searchQuery}\n {...props}\n />\n );\n }\n\n return <ApiKeysError error={apiKeys.error} {...props} />;\n};\n\nexport type { ApiKeysProps, ApiKeysLoadingProps, ApiKeysErrorProps };\nexport { ApiKeys, ApiKeysLoading, ApiKeysError };\n"],"mappings":";AAiCQ,cAQA,YARA;AAhCR,SAAS,aAAwB,mBAAmB;AACpD,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,EACA,WAAW;AAAA,EACX;AAAA,OACK;AAKP,SAAS,4CAA4C;AAErD,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,kBAAkB;AAC3B,SAAS,0BAA0B;AAOnC,MAAM,UAAkC,CAAC,EAAE,WAAW,GAAG,SAAS,MAAM;AACtE,QAAM,UAAU,gBAAgB;AAChC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAgB,CAAC,EAAE,MAAM,MACvB,oBAAC,gBAAc,GAAG,UAAU,OAAc;AAAA,MAG5C;AAAA,QAAC;AAAA;AAAA,UACC,YAAW;AAAA,UACX;AAAA,UACA;AAAA,UAEA,+BAAC,0BACC;AAAA,gCAAC,sBAAmB;AAAA,YACpB,oBAAC,eAAa,GAAG,UAAU;AAAA,aAC7B;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,cAAc,CAAC,UAA8B;AACjD,QAAM,aAAa,YAAY;AAC/B,QAAM,UAAU,WAAW;AAC3B,QAAM,EAAE,MAAM,IAAI,kBAAkB;AACpC,uCAAqC,EAAE,OAAO,IAAI,CAAC;AACnD,QAAM,mBAAmB,eAAe,yBAAyB;AAEjE,MAAI,CAAC,cAAc,QAAQ,aAAa,iBAAiB,WAAW;AAClE,WAAO,oBAAC,kBAAgB,GAAG,OAAO;AAAA,EACpC;AAEA,MAAI,iBAAiB,WAAW,QAAQ,SAAS;AAC/C,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAO,iBAAiB,SAAS,QAAQ;AAAA,QACxC,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AAEA,MAAI,QAAQ,WAAW;AACrB,WACE;AAAA,MAAC;AAAA;AAAA,QACC,SAAS,QAAQ;AAAA,QACjB,aAAa,MAAM;AAAA,QAClB,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AAEA,SAAO,oBAAC,gBAAa,OAAO,QAAQ,OAAQ,GAAG,OAAO;AACxD;","names":[]}
@@ -1,12 +1,13 @@
1
1
  export { WorkOsWidgets, WorkOsWidgetsProps } from './workos-widgets.client.js';
2
2
  export { OrganizationSwitcher, OrganizationSwitcherProps } from './organization-switcher.client.js';
3
- export { AdminPortalSsoConnection, AdminPortalSsoConnectionProps } from './admin-portal-sso-connection-client.js';
3
+ export { AdminPortalSsoConnection, AdminPortalSsoConnectionProps } from './admin-portal-sso-connection.client.js';
4
4
  export { UserProfile, UserProfileProps } from './user-profile.client.js';
5
5
  export { UserSecurity, UserSecurityProps } from './user-security.client.js';
6
6
  export { UserSessions, UserSessionsProps } from './user-sessions.client.js';
7
7
  export { UsersManagement, UsersManagementProps } from './users-management.client.js';
8
8
  export { AdminPortalDomainVerification, AdminPortalDomainVerificationProps } from './admin-portal-domain-verification.client.js';
9
- export { ApiKeys, ApiKeysProps } from './api-keys-client.js';
9
+ export { ApiKeys, ApiKeysProps } from './api-keys.client.js';
10
+ export { Pipes, PipesProps } from './pipes.client.js';
10
11
  export { OrganizationSwitcherLoading } from './lib/organization-switcher.js';
11
12
  export { AdminPortalSsoConnectionLoading } from './lib/admin-portal-sso-connection.js';
12
13
  export { UserProfileLoading } from './lib/user-profile.js';
@@ -14,6 +15,8 @@ export { UserSecurityLoading } from './lib/user-security.js';
14
15
  export { UserSessionsLoading } from './lib/user-sessions.js';
15
16
  export { UsersManagementLoading } from './lib/users-management.js';
16
17
  export { AdminPortalDomainVerificationLoading } from './lib/admin-portal-domain-verification.js';
18
+ export { ApiKeysLoading } from './lib/api-keys/api-keys.js';
19
+ export { PipesLoading } from './lib/pipes.js';
17
20
  import '@radix-ui/themes/props';
18
21
  import '@tanstack/react-query';
19
22
  import 'react';
@@ -21,6 +24,7 @@ import './lib/elements.js';
21
24
  import '@radix-ui/themes';
22
25
  import './api/api-provider.js';
23
26
  import 'react/jsx-runtime';
27
+ import './lib/utils.js';
24
28
  import './api/endpoint.js';
25
29
  import './api/widgets-api-client.js';
26
30
  import './lib/identity-providers.js';
package/dist/esm/index.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  import {
9
9
  AdminPortalSsoConnection,
10
10
  AdminPortalSsoConnectionLoading
11
- } from "./admin-portal-sso-connection-client.js";
11
+ } from "./admin-portal-sso-connection.client.js";
12
12
  import {
13
13
  UserProfile,
14
14
  UserProfileLoading
@@ -29,15 +29,22 @@ import {
29
29
  AdminPortalDomainVerification,
30
30
  AdminPortalDomainVerificationLoading
31
31
  } from "./admin-portal-domain-verification.client.js";
32
- import { ApiKeys } from "./api-keys-client.js";
32
+ import {
33
+ ApiKeys,
34
+ ApiKeysLoading
35
+ } from "./api-keys.client.js";
36
+ import { Pipes, PipesLoading } from "./pipes.client.js";
33
37
  export {
34
38
  AdminPortalDomainVerification,
35
39
  AdminPortalDomainVerificationLoading,
36
40
  AdminPortalSsoConnection,
37
41
  AdminPortalSsoConnectionLoading,
38
42
  ApiKeys,
43
+ ApiKeysLoading,
39
44
  OrganizationSwitcher,
40
45
  OrganizationSwitcherLoading,
46
+ Pipes,
47
+ PipesLoading,
41
48
  UserProfile,
42
49
  UserProfileLoading,
43
50
  UserSecurity,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export {\n WorkOsWidgets,\n type WorkOsWidgetsProps,\n} from \"./workos-widgets.client.js\";\nexport {\n OrganizationSwitcher,\n OrganizationSwitcherLoading,\n type OrganizationSwitcherProps,\n} from \"./organization-switcher.client.js\";\nexport {\n AdminPortalSsoConnection,\n AdminPortalSsoConnectionLoading,\n type AdminPortalSsoConnectionProps,\n} from \"./admin-portal-sso-connection-client.js\";\nexport {\n UserProfile,\n UserProfileLoading,\n type UserProfileProps,\n} from \"./user-profile.client.js\";\nexport {\n UserSecurity,\n UserSecurityLoading,\n type UserSecurityProps,\n} from \"./user-security.client.js\";\nexport {\n UserSessions,\n UserSessionsLoading,\n type UserSessionsProps,\n} from \"./user-sessions.client.js\";\nexport {\n UsersManagement,\n UsersManagementLoading,\n type UsersManagementProps,\n} from \"./users-management.client.js\";\nexport {\n AdminPortalDomainVerification,\n AdminPortalDomainVerificationLoading,\n type AdminPortalDomainVerificationProps,\n} from \"./admin-portal-domain-verification.client.js\";\n\nexport { ApiKeys, type ApiKeysProps } from \"./api-keys-client.js\";\n"],"mappings":"AAAA;AAAA,EACE;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AAEP,SAAS,eAAkC;","names":[]}
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export {\n WorkOsWidgets,\n type WorkOsWidgetsProps,\n} from \"./workos-widgets.client.js\";\nexport {\n OrganizationSwitcher,\n OrganizationSwitcherLoading,\n type OrganizationSwitcherProps,\n} from \"./organization-switcher.client.js\";\nexport {\n AdminPortalSsoConnection,\n AdminPortalSsoConnectionLoading,\n type AdminPortalSsoConnectionProps,\n} from \"./admin-portal-sso-connection.client.js\";\nexport {\n UserProfile,\n UserProfileLoading,\n type UserProfileProps,\n} from \"./user-profile.client.js\";\nexport {\n UserSecurity,\n UserSecurityLoading,\n type UserSecurityProps,\n} from \"./user-security.client.js\";\nexport {\n UserSessions,\n UserSessionsLoading,\n type UserSessionsProps,\n} from \"./user-sessions.client.js\";\nexport {\n UsersManagement,\n UsersManagementLoading,\n type UsersManagementProps,\n} from \"./users-management.client.js\";\nexport {\n AdminPortalDomainVerification,\n AdminPortalDomainVerificationLoading,\n type AdminPortalDomainVerificationProps,\n} from \"./admin-portal-domain-verification.client.js\";\nexport {\n ApiKeys,\n ApiKeysLoading,\n type ApiKeysProps,\n} from \"./api-keys.client.js\";\nexport { Pipes, PipesLoading, type PipesProps } from \"./pipes.client.js\";\n"],"mappings":"AAAA;AAAA,EACE;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP;AAAA,EACE;AAAA,EACA;AAAA,OAEK;AACP,SAAS,OAAO,oBAAqC;","names":[]}
@@ -1,20 +1,24 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { OrganizationDomain } from '../api/endpoint.js';
4
+ import { WidgetRootDomProps } from './utils.js';
4
5
  import '@tanstack/react-query';
5
6
  import '../api/widgets-api-client.js';
6
7
 
7
- interface AdminPortalDomainVerificationProps {
8
+ interface AdminPortalDomainVerificationProps extends WidgetRootDomProps {
8
9
  organizationDomains: OrganizationDomain[];
9
10
  onAddDomain: () => void;
10
11
  onDeleteDomain: (domainId: string) => void;
11
12
  onReverifyDomain: (domainId: string) => void;
12
13
  isPending?: boolean;
13
14
  }
14
- declare const AdminPortalDomainVerification: ({ organizationDomains, onAddDomain, onDeleteDomain, onReverifyDomain, isPending, }: AdminPortalDomainVerificationProps) => react_jsx_runtime.JSX.Element;
15
- declare const AdminPortalDomainVerificationLoading: React.FC;
16
- declare function AdminPortalDomainVerificationError({ error, }: {
15
+ declare const AdminPortalDomainVerification: ({ organizationDomains, onAddDomain, onDeleteDomain, onReverifyDomain, isPending, ...domProps }: AdminPortalDomainVerificationProps) => react_jsx_runtime.JSX.Element;
16
+ interface AdminPortalDomainVerificationLoadingProps extends WidgetRootDomProps {
17
+ }
18
+ declare const AdminPortalDomainVerificationLoading: React.FC<AdminPortalDomainVerificationLoadingProps>;
19
+ interface AdminPortalDomainVerificationErrorProps extends WidgetRootDomProps {
17
20
  error: unknown;
18
- }): react_jsx_runtime.JSX.Element;
21
+ }
22
+ declare const AdminPortalDomainVerificationError: React.FC<AdminPortalDomainVerificationErrorProps>;
19
23
 
20
- export { AdminPortalDomainVerification, AdminPortalDomainVerificationError, AdminPortalDomainVerificationLoading };
24
+ export { AdminPortalDomainVerification, AdminPortalDomainVerificationError, type AdminPortalDomainVerificationErrorProps, AdminPortalDomainVerificationLoading, type AdminPortalDomainVerificationLoadingProps, type AdminPortalDomainVerificationProps };
@@ -7,47 +7,40 @@ import { GenericError } from "./generic-error.js";
7
7
  import { ExternalLinkIcon } from "@radix-ui/react-icons";
8
8
  import * as CardList from "./card-list.js";
9
9
  import { DomainItem } from "./domain-item.js";
10
- import clsx from "clsx";
10
+ import { getDomProps } from "./utils.js";
11
11
  const AdminPortalDomainVerification = ({
12
12
  organizationDomains,
13
13
  onAddDomain,
14
14
  onDeleteDomain,
15
15
  onReverifyDomain,
16
- isPending = false
16
+ isPending = false,
17
+ ...domProps
17
18
  }) => {
18
19
  if (organizationDomains.length === 0) {
19
- return /* @__PURE__ */ jsx(
20
- Card,
21
- {
22
- size: "2",
23
- "data-woswidgets-widget-id": "admin-portal-domain-verification",
24
- children: /* @__PURE__ */ jsxs(Flex, { direction: "row", justify: "between", align: "center", children: [
25
- /* @__PURE__ */ jsx(Text, { size: "2", color: "gray", children: "You haven't added any verified domains yet." }),
26
- /* @__PURE__ */ jsxs(
27
- Button,
28
- {
29
- variant: "outline",
30
- color: "gray",
31
- loading: isPending,
32
- disabled: isPending,
33
- onClick: onAddDomain,
34
- children: [
35
- "Add domain ",
36
- /* @__PURE__ */ jsx(ExternalLinkIcon, {})
37
- ]
38
- }
39
- )
40
- ] })
41
- }
42
- );
20
+ return /* @__PURE__ */ jsx(Card, { size: "2", ...getWidgetRootDomProps("resolved", domProps), children: /* @__PURE__ */ jsxs(Flex, { direction: "row", justify: "between", align: "center", children: [
21
+ /* @__PURE__ */ jsx(Text, { size: "2", color: "gray", children: "You haven't added any verified domains yet." }),
22
+ /* @__PURE__ */ jsxs(
23
+ Button,
24
+ {
25
+ variant: "outline",
26
+ color: "gray",
27
+ loading: isPending,
28
+ disabled: isPending,
29
+ onClick: onAddDomain,
30
+ children: [
31
+ "Add domain ",
32
+ /* @__PURE__ */ jsx(ExternalLinkIcon, {})
33
+ ]
34
+ }
35
+ )
36
+ ] }) });
43
37
  }
44
38
  return /* @__PURE__ */ jsxs(
45
39
  Flex,
46
40
  {
47
41
  direction: "column",
48
42
  gap: "4",
49
- className: clsx("woswidgets-widget"),
50
- "data-woswidgets-widget-id": "admin-portal-domain-verification",
43
+ ...getWidgetRootDomProps("resolved", domProps),
51
44
  children: [
52
45
  /* @__PURE__ */ jsx(CardList.Root, { children: organizationDomains.map((domain) => /* @__PURE__ */ jsx(CardList.Item, { children: /* @__PURE__ */ jsx(
53
46
  DomainItem,
@@ -75,8 +68,8 @@ const AdminPortalDomainVerification = ({
75
68
  }
76
69
  );
77
70
  };
78
- const AdminPortalDomainVerificationLoading = () => {
79
- return /* @__PURE__ */ jsx(Card, { size: "2", children: /* @__PURE__ */ jsxs(Flex, { gap: "4", align: "center", children: [
71
+ const AdminPortalDomainVerificationLoading = (domProps) => {
72
+ return /* @__PURE__ */ jsx(Card, { size: "2", ...getWidgetRootDomProps("loading", domProps), children: /* @__PURE__ */ jsxs(Flex, { gap: "4", align: "center", children: [
80
73
  /* @__PURE__ */ jsx(Skeleton, { children: /* @__PURE__ */ jsx(IconPanel, {}) }),
81
74
  /* @__PURE__ */ jsxs(Flex, { direction: "column", children: [
82
75
  /* @__PURE__ */ jsx(Text, { size: "2", highContrast: true, weight: "bold", as: "p", mb: "-2px", children: /* @__PURE__ */ jsx(Skeleton, { children: "Domain name" }) }),
@@ -84,10 +77,16 @@ const AdminPortalDomainVerificationLoading = () => {
84
77
  ] })
85
78
  ] }) });
86
79
  };
87
- function AdminPortalDomainVerificationError({
88
- error
89
- }) {
90
- return /* @__PURE__ */ jsx(Card, { size: "2", children: /* @__PURE__ */ jsx(GenericError, { error }) });
80
+ const AdminPortalDomainVerificationError = ({ error, ...domProps }) => {
81
+ return /* @__PURE__ */ jsx(Card, { size: "2", ...getWidgetRootDomProps("error", domProps), children: /* @__PURE__ */ jsx(GenericError, { error }) });
82
+ };
83
+ function getWidgetRootDomProps(state, domProps) {
84
+ return getDomProps({
85
+ ...domProps,
86
+ isWidgetRoot: true,
87
+ widgetId: "admin-portal-domain-verification",
88
+ widgetState: state
89
+ });
91
90
  }
92
91
  export {
93
92
  AdminPortalDomainVerification,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/lib/admin-portal-domain-verification.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Box, Button, Card, Flex, Text } from \"@radix-ui/themes\";\nimport { Skeleton } from \"./elements.js\";\nimport { IconPanel } from \"./icon-panel.js\";\nimport { GenericError } from \"./generic-error.js\";\nimport { ExternalLinkIcon } from \"@radix-ui/react-icons\";\nimport * as CardList from \"./card-list.js\";\nimport { OrganizationDomain } from \"../api/endpoint.js\";\nimport { DomainItem } from \"./domain-item.js\";\n\nimport clsx from \"clsx\";\n\ninterface AdminPortalDomainVerificationProps {\n organizationDomains: OrganizationDomain[];\n onAddDomain: () => void;\n onDeleteDomain: (domainId: string) => void;\n onReverifyDomain: (domainId: string) => void;\n isPending?: boolean;\n}\n\nexport const AdminPortalDomainVerification = ({\n organizationDomains,\n onAddDomain,\n onDeleteDomain,\n onReverifyDomain,\n isPending = false,\n}: AdminPortalDomainVerificationProps) => {\n if (organizationDomains.length === 0) {\n return (\n <Card\n size=\"2\"\n data-woswidgets-widget-id=\"admin-portal-domain-verification\"\n >\n <Flex direction=\"row\" justify=\"between\" align=\"center\">\n <Text size=\"2\" color=\"gray\">\n You haven't added any verified domains yet.\n </Text>\n <Button\n variant=\"outline\"\n color=\"gray\"\n loading={isPending}\n disabled={isPending}\n onClick={onAddDomain}\n >\n Add domain <ExternalLinkIcon />\n </Button>\n </Flex>\n </Card>\n );\n }\n\n return (\n <Flex\n direction=\"column\"\n gap=\"4\"\n className={clsx(\"woswidgets-widget\")}\n data-woswidgets-widget-id=\"admin-portal-domain-verification\"\n >\n <CardList.Root>\n {organizationDomains.map((domain) => (\n <CardList.Item key={domain.id}>\n <DomainItem\n domain={domain}\n onDeleteDomain={onDeleteDomain}\n onReverifyDomain={onReverifyDomain}\n />\n </CardList.Item>\n ))}\n </CardList.Root>\n\n <Box>\n <Button\n loading={isPending}\n disabled={isPending}\n color=\"gray\"\n variant=\"outline\"\n onClick={onAddDomain}\n >\n Add domain <ExternalLinkIcon />\n </Button>\n </Box>\n </Flex>\n );\n};\n\nexport const AdminPortalDomainVerificationLoading: React.FC = () => {\n return (\n <Card size=\"2\">\n <Flex gap=\"4\" align=\"center\">\n <Skeleton>\n <IconPanel />\n </Skeleton>\n\n <Flex direction=\"column\">\n <Text size=\"2\" highContrast weight=\"bold\" as=\"p\" mb=\"-2px\">\n <Skeleton>Domain name</Skeleton>\n </Text>\n\n <Text size=\"2\" color=\"gray\" as=\"p\">\n <Skeleton>Added recently</Skeleton>\n </Text>\n </Flex>\n </Flex>\n </Card>\n );\n};\n\nexport function AdminPortalDomainVerificationError({\n error,\n}: {\n error: unknown;\n}) {\n return (\n <Card size=\"2\">\n <GenericError error={error} />\n </Card>\n );\n}\n"],"mappings":";AAoCU,cAGA,YAHA;AAjCV,SAAS,KAAK,QAAQ,MAAM,MAAM,YAAY;AAC9C,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AACjC,YAAY,cAAc;AAE1B,SAAS,kBAAkB;AAE3B,OAAO,UAAU;AAUV,MAAM,gCAAgC,CAAC;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AACd,MAA0C;AACxC,MAAI,oBAAoB,WAAW,GAAG;AACpC,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,6BAA0B;AAAA,QAE1B,+BAAC,QAAK,WAAU,OAAM,SAAQ,WAAU,OAAM,UAC5C;AAAA,8BAAC,QAAK,MAAK,KAAI,OAAM,QAAO,yDAE5B;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,SAAQ;AAAA,cACR,OAAM;AAAA,cACN,SAAS;AAAA,cACT,UAAU;AAAA,cACV,SAAS;AAAA,cACV;AAAA;AAAA,gBACY,oBAAC,oBAAiB;AAAA;AAAA;AAAA,UAC/B;AAAA,WACF;AAAA;AAAA,IACF;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,KAAI;AAAA,MACJ,WAAW,KAAK,mBAAmB;AAAA,MACnC,6BAA0B;AAAA,MAE1B;AAAA,4BAAC,SAAS,MAAT,EACE,8BAAoB,IAAI,CAAC,WACxB,oBAAC,SAAS,MAAT,EACC;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF,KALkB,OAAO,EAM3B,CACD,GACH;AAAA,QAEA,oBAAC,OACC;AAAA,UAAC;AAAA;AAAA,YACC,SAAS;AAAA,YACT,UAAU;AAAA,YACV,OAAM;AAAA,YACN,SAAQ;AAAA,YACR,SAAS;AAAA,YACV;AAAA;AAAA,cACY,oBAAC,oBAAiB;AAAA;AAAA;AAAA,QAC/B,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;AAEO,MAAM,uCAAiD,MAAM;AAClE,SACE,oBAAC,QAAK,MAAK,KACT,+BAAC,QAAK,KAAI,KAAI,OAAM,UAClB;AAAA,wBAAC,YACC,8BAAC,aAAU,GACb;AAAA,IAEA,qBAAC,QAAK,WAAU,UACd;AAAA,0BAAC,QAAK,MAAK,KAAI,cAAY,MAAC,QAAO,QAAO,IAAG,KAAI,IAAG,QAClD,8BAAC,YAAS,yBAAW,GACvB;AAAA,MAEA,oBAAC,QAAK,MAAK,KAAI,OAAM,QAAO,IAAG,KAC7B,8BAAC,YAAS,4BAAc,GAC1B;AAAA,OACF;AAAA,KACF,GACF;AAEJ;AAEO,SAAS,mCAAmC;AAAA,EACjD;AACF,GAEG;AACD,SACE,oBAAC,QAAK,MAAK,KACT,8BAAC,gBAAa,OAAc,GAC9B;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/lib/admin-portal-domain-verification.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { Box, Button, Card, Flex, Text } from \"@radix-ui/themes\";\nimport { Skeleton } from \"./elements.js\";\nimport { IconPanel } from \"./icon-panel.js\";\nimport { GenericError } from \"./generic-error.js\";\nimport { ExternalLinkIcon } from \"@radix-ui/react-icons\";\nimport * as CardList from \"./card-list.js\";\nimport { OrganizationDomain } from \"../api/endpoint.js\";\nimport { DomainItem } from \"./domain-item.js\";\nimport { getDomProps } from \"./utils.js\";\nimport type { WidgetRootDomProps, WidgetRootState } from \"./utils.js\";\n\ninterface AdminPortalDomainVerificationProps extends WidgetRootDomProps {\n organizationDomains: OrganizationDomain[];\n onAddDomain: () => void;\n onDeleteDomain: (domainId: string) => void;\n onReverifyDomain: (domainId: string) => void;\n isPending?: boolean;\n}\n\nconst AdminPortalDomainVerification = ({\n organizationDomains,\n onAddDomain,\n onDeleteDomain,\n onReverifyDomain,\n isPending = false,\n ...domProps\n}: AdminPortalDomainVerificationProps) => {\n if (organizationDomains.length === 0) {\n return (\n <Card size=\"2\" {...getWidgetRootDomProps(\"resolved\", domProps)}>\n <Flex direction=\"row\" justify=\"between\" align=\"center\">\n <Text size=\"2\" color=\"gray\">\n You haven't added any verified domains yet.\n </Text>\n <Button\n variant=\"outline\"\n color=\"gray\"\n loading={isPending}\n disabled={isPending}\n onClick={onAddDomain}\n >\n Add domain <ExternalLinkIcon />\n </Button>\n </Flex>\n </Card>\n );\n }\n\n return (\n <Flex\n direction=\"column\"\n gap=\"4\"\n {...getWidgetRootDomProps(\"resolved\", domProps)}\n >\n <CardList.Root>\n {organizationDomains.map((domain) => (\n <CardList.Item key={domain.id}>\n <DomainItem\n domain={domain}\n onDeleteDomain={onDeleteDomain}\n onReverifyDomain={onReverifyDomain}\n />\n </CardList.Item>\n ))}\n </CardList.Root>\n\n <Box>\n <Button\n loading={isPending}\n disabled={isPending}\n color=\"gray\"\n variant=\"outline\"\n onClick={onAddDomain}\n >\n Add domain <ExternalLinkIcon />\n </Button>\n </Box>\n </Flex>\n );\n};\n\ninterface AdminPortalDomainVerificationLoadingProps\n extends WidgetRootDomProps {}\n\nconst AdminPortalDomainVerificationLoading: React.FC<\n AdminPortalDomainVerificationLoadingProps\n> = (domProps) => {\n return (\n <Card size=\"2\" {...getWidgetRootDomProps(\"loading\", domProps)}>\n <Flex gap=\"4\" align=\"center\">\n <Skeleton>\n <IconPanel />\n </Skeleton>\n\n <Flex direction=\"column\">\n <Text size=\"2\" highContrast weight=\"bold\" as=\"p\" mb=\"-2px\">\n <Skeleton>Domain name</Skeleton>\n </Text>\n\n <Text size=\"2\" color=\"gray\" as=\"p\">\n <Skeleton>Added recently</Skeleton>\n </Text>\n </Flex>\n </Flex>\n </Card>\n );\n};\n\ninterface AdminPortalDomainVerificationErrorProps extends WidgetRootDomProps {\n error: unknown;\n}\n\nconst AdminPortalDomainVerificationError: React.FC<\n AdminPortalDomainVerificationErrorProps\n> = ({ error, ...domProps }) => {\n return (\n <Card size=\"2\" {...getWidgetRootDomProps(\"error\", domProps)}>\n <GenericError error={error} />\n </Card>\n );\n};\n\nfunction getWidgetRootDomProps(\n state: WidgetRootState,\n domProps: WidgetRootDomProps,\n) {\n return getDomProps({\n ...domProps,\n isWidgetRoot: true,\n widgetId: \"admin-portal-domain-verification\",\n widgetState: state,\n });\n}\n\nexport type {\n AdminPortalDomainVerificationProps,\n AdminPortalDomainVerificationLoadingProps,\n AdminPortalDomainVerificationErrorProps,\n};\nexport {\n AdminPortalDomainVerification,\n AdminPortalDomainVerificationLoading,\n AdminPortalDomainVerificationError,\n};\n"],"mappings":";AAkCU,cAGA,YAHA;AA/BV,SAAS,KAAK,QAAQ,MAAM,MAAM,YAAY;AAC9C,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAC1B,SAAS,oBAAoB;AAC7B,SAAS,wBAAwB;AACjC,YAAY,cAAc;AAE1B,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAW5B,MAAM,gCAAgC,CAAC;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,GAAG;AACL,MAA0C;AACxC,MAAI,oBAAoB,WAAW,GAAG;AACpC,WACE,oBAAC,QAAK,MAAK,KAAK,GAAG,sBAAsB,YAAY,QAAQ,GAC3D,+BAAC,QAAK,WAAU,OAAM,SAAQ,WAAU,OAAM,UAC5C;AAAA,0BAAC,QAAK,MAAK,KAAI,OAAM,QAAO,yDAE5B;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC,SAAQ;AAAA,UACR,OAAM;AAAA,UACN,SAAS;AAAA,UACT,UAAU;AAAA,UACV,SAAS;AAAA,UACV;AAAA;AAAA,YACY,oBAAC,oBAAiB;AAAA;AAAA;AAAA,MAC/B;AAAA,OACF,GACF;AAAA,EAEJ;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,KAAI;AAAA,MACH,GAAG,sBAAsB,YAAY,QAAQ;AAAA,MAE9C;AAAA,4BAAC,SAAS,MAAT,EACE,8BAAoB,IAAI,CAAC,WACxB,oBAAC,SAAS,MAAT,EACC;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF,KALkB,OAAO,EAM3B,CACD,GACH;AAAA,QAEA,oBAAC,OACC;AAAA,UAAC;AAAA;AAAA,YACC,SAAS;AAAA,YACT,UAAU;AAAA,YACV,OAAM;AAAA,YACN,SAAQ;AAAA,YACR,SAAS;AAAA,YACV;AAAA;AAAA,cACY,oBAAC,oBAAiB;AAAA;AAAA;AAAA,QAC/B,GACF;AAAA;AAAA;AAAA,EACF;AAEJ;AAKA,MAAM,uCAEF,CAAC,aAAa;AAChB,SACE,oBAAC,QAAK,MAAK,KAAK,GAAG,sBAAsB,WAAW,QAAQ,GAC1D,+BAAC,QAAK,KAAI,KAAI,OAAM,UAClB;AAAA,wBAAC,YACC,8BAAC,aAAU,GACb;AAAA,IAEA,qBAAC,QAAK,WAAU,UACd;AAAA,0BAAC,QAAK,MAAK,KAAI,cAAY,MAAC,QAAO,QAAO,IAAG,KAAI,IAAG,QAClD,8BAAC,YAAS,yBAAW,GACvB;AAAA,MAEA,oBAAC,QAAK,MAAK,KAAI,OAAM,QAAO,IAAG,KAC7B,8BAAC,YAAS,4BAAc,GAC1B;AAAA,OACF;AAAA,KACF,GACF;AAEJ;AAMA,MAAM,qCAEF,CAAC,EAAE,OAAO,GAAG,SAAS,MAAM;AAC9B,SACE,oBAAC,QAAK,MAAK,KAAK,GAAG,sBAAsB,SAAS,QAAQ,GACxD,8BAAC,gBAAa,OAAc,GAC9B;AAEJ;AAEA,SAAS,sBACP,OACA,UACA;AACA,SAAO,YAAY;AAAA,IACjB,GAAG;AAAA,IACH,cAAc;AAAA,IACd,UAAU;AAAA,IACV,aAAa;AAAA,EACf,CAAC;AACH;","names":[]}
@@ -1,6 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { IdentityProvider } from './identity-providers.js';
4
+ import { WidgetRootDomProps } from './utils.js';
5
+ import '../api/endpoint.js';
6
+ import '@tanstack/react-query';
7
+ import '../api/widgets-api-client.js';
4
8
 
5
9
  interface NotConfiguredProps {
6
10
  connectionStatus: "NotConfigured";
@@ -23,20 +27,23 @@ interface RequiresActionProps {
23
27
  expiryDate: Date | null;
24
28
  }
25
29
  type AdminPortalSsoConnectionStatusProps = NotConfiguredProps | InactiveProps | ActiveProps | RequiresActionProps;
26
- type AdminPortalSsoConnectionProps = AdminPortalSsoConnectionStatusProps & {
30
+ type AdminPortalSsoConnectionProps = WidgetRootDomProps & AdminPortalSsoConnectionStatusProps & {
27
31
  currentDate: Date | null;
28
32
  lastSession: Date | null;
29
33
  adminPortalOpenButton: React.ReactNode;
30
34
  };
31
- declare const AdminPortalSsoConnection: ({ currentDate, connectionStatus, identityProvider, expiryDate, lastSession, adminPortalOpenButton, }: AdminPortalSsoConnectionProps) => react_jsx_runtime.JSX.Element;
35
+ declare const AdminPortalSsoConnection: React.FC<AdminPortalSsoConnectionProps>;
32
36
  declare function AdminPortalOpenButton({ isPending, href, initConfig, }: {
33
37
  isPending: boolean;
34
38
  href: string | null;
35
39
  initConfig: () => void;
36
40
  }): react_jsx_runtime.JSX.Element;
37
- declare const AdminPortalSsoConnectionLoading: React.FC;
38
- declare function AdminPortalSsoConnectionError({ error }: {
41
+ interface AdminPortalSsoConnectionLoadingProps extends WidgetRootDomProps {
42
+ }
43
+ declare const AdminPortalSsoConnectionLoading: React.FC<AdminPortalSsoConnectionLoadingProps>;
44
+ interface AdminPortalSsoConnectionErrorProps extends WidgetRootDomProps {
39
45
  error: unknown;
40
- }): react_jsx_runtime.JSX.Element;
46
+ }
47
+ declare const AdminPortalSsoConnectionError: React.FC<AdminPortalSsoConnectionErrorProps>;
41
48
 
42
- export { AdminPortalOpenButton, AdminPortalSsoConnection, AdminPortalSsoConnectionError, AdminPortalSsoConnectionLoading, type AdminPortalSsoConnectionProps, type AdminPortalSsoConnectionStatusProps };
49
+ export { AdminPortalOpenButton, AdminPortalSsoConnection, AdminPortalSsoConnectionError, type AdminPortalSsoConnectionErrorProps, AdminPortalSsoConnectionLoading, type AdminPortalSsoConnectionLoadingProps, type AdminPortalSsoConnectionProps, type AdminPortalSsoConnectionStatusProps };
@@ -15,8 +15,10 @@ import {
15
15
  getIdentityProviderName
16
16
  } from "./identity-providers.js";
17
17
  import { Status } from "./status.js";
18
- import { unreachable } from "./utils.js";
19
- import clsx from "clsx";
18
+ import {
19
+ getDomProps,
20
+ unreachable
21
+ } from "./utils.js";
20
22
  import { getErrorMessage } from "./generic-error.js";
21
23
  const AdminPortalSsoConnectionContext = React.createContext(null);
22
24
  AdminPortalSsoConnectionContext.displayName = "AdminPortalSsoConnectionContext";
@@ -35,84 +37,77 @@ const AdminPortalSsoConnection = ({
35
37
  identityProvider,
36
38
  expiryDate,
37
39
  lastSession,
38
- adminPortalOpenButton
40
+ adminPortalOpenButton,
41
+ ...domProps
39
42
  }) => {
40
- return /* @__PURE__ */ jsx(
41
- CardList.Root,
42
- {
43
- size: "2",
44
- className: clsx("woswidgets-widget"),
45
- "data-woswidgets-widget-id": "admin-portal-sso-connection",
46
- children: /* @__PURE__ */ jsxs(AdminPortalSsoConnectionContext.Provider, { value: { connectionStatus }, children: [
47
- /* @__PURE__ */ jsx(CardList.Item, { children: /* @__PURE__ */ jsx(Flex, { direction: "row", justify: "between", align: "center", gap: "2", children: (() => {
48
- if (connectionStatus === "NotConfigured") {
49
- return /* @__PURE__ */ jsxs(Fragment, { children: [
50
- /* @__PURE__ */ jsx(Text, { size: "2", color: "gray", ml: "2", children: "You haven\u2019t set up Single Sign-On yet." }),
51
- adminPortalOpenButton
52
- ] });
43
+ return /* @__PURE__ */ jsx(CardList.Root, { size: "2", ...getWidgetRootDomProps("resolved", domProps), children: /* @__PURE__ */ jsxs(AdminPortalSsoConnectionContext.Provider, { value: { connectionStatus }, children: [
44
+ /* @__PURE__ */ jsx(CardList.Item, { children: /* @__PURE__ */ jsx(Flex, { direction: "row", justify: "between", align: "center", gap: "2", children: (() => {
45
+ if (connectionStatus === "NotConfigured") {
46
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
47
+ /* @__PURE__ */ jsx(Text, { size: "2", color: "gray", children: "You haven\u2019t set up Single Sign-On yet." }),
48
+ adminPortalOpenButton
49
+ ] });
50
+ }
51
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
52
+ /* @__PURE__ */ jsx(
53
+ SessionInfo,
54
+ {
55
+ connectionStatus,
56
+ identityProvider,
57
+ lastSession,
58
+ currentDate
53
59
  }
54
- return /* @__PURE__ */ jsxs(Fragment, { children: [
55
- /* @__PURE__ */ jsx(
56
- SessionInfo,
57
- {
58
- connectionStatus,
59
- identityProvider,
60
- lastSession,
61
- currentDate
60
+ ),
61
+ /* @__PURE__ */ jsxs(Flex, { gap: "5", align: "center", children: [
62
+ /* @__PURE__ */ jsx(SsoStatus, { status: connectionStatus }),
63
+ adminPortalOpenButton
64
+ ] })
65
+ ] });
66
+ })() }) }),
67
+ connectionStatus === "Expired" && /* @__PURE__ */ jsx(CardList.Item, { children: /* @__PURE__ */ jsxs(Flex, { align: "start", gap: "2", children: [
68
+ /* @__PURE__ */ jsx(Box, { asChild: true, mt: "2px", flexShrink: "0", children: /* @__PURE__ */ jsx(InfoCircledIcon, { color: "gray" }) }),
69
+ (() => {
70
+ if (connectionStatus === "Expired") {
71
+ return /* @__PURE__ */ jsxs(Text, { size: "2", color: "gray", children: [
72
+ (() => {
73
+ if (!expiryDate) {
74
+ return "The SAML response signing certificate has expired";
62
75
  }
63
- ),
64
- /* @__PURE__ */ jsxs(Flex, { gap: "5", align: "center", children: [
65
- /* @__PURE__ */ jsx(SsoStatus, { status: connectionStatus }),
66
- adminPortalOpenButton
67
- ] })
68
- ] });
69
- })() }) }),
70
- connectionStatus === "Expired" && /* @__PURE__ */ jsx(CardList.Item, { children: /* @__PURE__ */ jsxs(Flex, { align: "start", gap: "2", children: [
71
- /* @__PURE__ */ jsx(Box, { asChild: true, mt: "2px", flexShrink: "0", children: /* @__PURE__ */ jsx(InfoCircledIcon, { color: "gray" }) }),
72
- (() => {
73
- if (connectionStatus === "Expired") {
74
- return /* @__PURE__ */ jsxs(Text, { size: "2", color: "gray", children: [
75
- (() => {
76
- if (!expiryDate) {
77
- return "The SAML response signing certificate has expired";
78
- }
79
- return /* @__PURE__ */ jsxs(Fragment, { children: [
80
- "The SAML response signing certificate expired on",
81
- " ",
82
- /* @__PURE__ */ jsx(Text, { weight: "bold", as: "span", children: expiryDate?.toLocaleString("en-US", {
83
- month: "long",
84
- day: "numeric",
85
- year: "numeric"
86
- }) })
87
- ] });
88
- })(),
89
- ". Users won\u2019t be able to sign-in to the application until the certificate is renewed."
76
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
77
+ "The SAML response signing certificate expired on",
78
+ " ",
79
+ /* @__PURE__ */ jsx(Text, { weight: "bold", as: "span", children: expiryDate?.toLocaleString("en-US", {
80
+ month: "long",
81
+ day: "numeric",
82
+ year: "numeric"
83
+ }) })
90
84
  ] });
91
- }
92
- if (connectionStatus === "Expiring") {
93
- return /* @__PURE__ */ jsxs(Text, { size: "2", color: "gray", children: [
94
- (() => {
95
- if (!expiryDate) {
96
- return "The SAML response signing certificate is expiring soon";
97
- }
98
- return /* @__PURE__ */ jsxs(Fragment, { children: [
99
- "The SAML response signing certificate will expire on",
100
- " ",
101
- /* @__PURE__ */ jsx(Text, { weight: "bold", as: "span", children: expiryDate?.toLocaleString("en-US", {
102
- month: "long",
103
- day: "numeric",
104
- year: "numeric"
105
- }) })
106
- ] });
107
- })(),
108
- ". When expired, users won\u2019t be able to sign-in."
85
+ })(),
86
+ ". Users won\u2019t be able to sign-in to the application until the certificate is renewed."
87
+ ] });
88
+ }
89
+ if (connectionStatus === "Expiring") {
90
+ return /* @__PURE__ */ jsxs(Text, { size: "2", color: "gray", children: [
91
+ (() => {
92
+ if (!expiryDate) {
93
+ return "The SAML response signing certificate is expiring soon";
94
+ }
95
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
96
+ "The SAML response signing certificate will expire on",
97
+ " ",
98
+ /* @__PURE__ */ jsx(Text, { weight: "bold", as: "span", children: expiryDate?.toLocaleString("en-US", {
99
+ month: "long",
100
+ day: "numeric",
101
+ year: "numeric"
102
+ }) })
109
103
  ] });
110
- }
111
- })()
112
- ] }) })
113
- ] })
114
- }
115
- );
104
+ })(),
105
+ ". When expired, users won\u2019t be able to sign-in."
106
+ ] });
107
+ }
108
+ })()
109
+ ] }) })
110
+ ] }) });
116
111
  };
117
112
  function SsoStatus({
118
113
  status
@@ -197,8 +192,8 @@ function AdminPortalOpenButton({
197
192
  }
198
193
  );
199
194
  }
200
- const AdminPortalSsoConnectionLoading = () => {
201
- return /* @__PURE__ */ jsx(Card, { size: "2", children: /* @__PURE__ */ jsxs(Flex, { direction: "row", justify: "between", align: "center", gap: "2", children: [
195
+ const AdminPortalSsoConnectionLoading = (props) => {
196
+ return /* @__PURE__ */ jsx(Card, { size: "2", ...getWidgetRootDomProps("loading", props), children: /* @__PURE__ */ jsxs(Flex, { direction: "row", justify: "between", align: "center", gap: "2", children: [
202
197
  /* @__PURE__ */ jsxs(Flex, { gap: "4", align: "center", children: [
203
198
  /* @__PURE__ */ jsx(Skeleton, { children: /* @__PURE__ */ jsx(IconPanel, { color: "panel", children: /* @__PURE__ */ jsx(ProviderIcon, { provider: "okta", size: "2" }) }) }),
204
199
  /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: "1", my: "-4px", children: [
@@ -215,12 +210,12 @@ const AdminPortalSsoConnectionLoading = () => {
215
210
  ] })
216
211
  ] }) });
217
212
  };
218
- function AdminPortalSsoConnectionError({ error }) {
213
+ const AdminPortalSsoConnectionError = ({ error, ...domProps }) => {
219
214
  React.useEffect(() => {
220
215
  console.error(error);
221
216
  }, [error]);
222
217
  const { heading, message } = getErrorMessage(error);
223
- return /* @__PURE__ */ jsx(Card, { size: "2", children: /* @__PURE__ */ jsx(Flex, { direction: "row", justify: "between", align: "center", gap: "2", children: /* @__PURE__ */ jsxs(Flex, { gap: "4", align: "center", children: [
218
+ return /* @__PURE__ */ jsx(Card, { size: "2", ...getWidgetRootDomProps("error", domProps), children: /* @__PURE__ */ jsx(Flex, { direction: "row", justify: "between", align: "center", gap: "2", children: /* @__PURE__ */ jsxs(Flex, { gap: "4", align: "center", children: [
224
219
  /* @__PURE__ */ jsx(
225
220
  Flex,
226
221
  {
@@ -242,7 +237,7 @@ function AdminPortalSsoConnectionError({ error }) {
242
237
  /* @__PURE__ */ jsx(Text, { size: "2", color: "gray", children: message })
243
238
  ] })
244
239
  ] }) }) });
245
- }
240
+ };
246
241
  function getRelativeTimeString(currentDate, lastSession) {
247
242
  if (!currentDate || !lastSession) {
248
243
  return null;
@@ -272,6 +267,14 @@ function getRelativeTimeString(currentDate, lastSession) {
272
267
  }
273
268
  return rtf.format(diffYears, "year");
274
269
  }
270
+ function getWidgetRootDomProps(state, domProps) {
271
+ return getDomProps({
272
+ ...domProps,
273
+ isWidgetRoot: true,
274
+ widgetId: "admin-portal-sso-connection",
275
+ widgetState: state
276
+ });
277
+ }
275
278
  export {
276
279
  AdminPortalOpenButton,
277
280
  AdminPortalSsoConnection,