@workos-inc/widgets 1.8.2 → 1.9.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 (88) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/cjs/api/api-provider.cjs.map +1 -1
  3. package/dist/cjs/api/api-provider.d.cts +1 -1
  4. package/dist/cjs/api/endpoint.cjs +702 -623
  5. package/dist/cjs/api/endpoint.cjs.map +1 -1
  6. package/dist/cjs/api/endpoint.d.cts +810 -729
  7. package/dist/cjs/directory-sync.client.cjs +143 -0
  8. package/dist/cjs/directory-sync.client.cjs.map +1 -0
  9. package/dist/cjs/directory-sync.client.d.cts +26 -0
  10. package/dist/cjs/experimental/api/fetch.cjs +309 -252
  11. package/dist/cjs/experimental/api/fetch.cjs.map +1 -1
  12. package/dist/cjs/experimental/api/fetch.d.cts +809 -731
  13. package/dist/cjs/experimental/api/react-query.cjs +695 -613
  14. package/dist/cjs/experimental/api/react-query.cjs.map +1 -1
  15. package/dist/cjs/experimental/api/react-query.d.cts +1355 -1250
  16. package/dist/cjs/experimental/api/swr.cjs +660 -583
  17. package/dist/cjs/experimental/api/swr.cjs.map +1 -1
  18. package/dist/cjs/experimental/api/swr.d.cts +1307 -1212
  19. package/dist/cjs/index.cjs +5 -0
  20. package/dist/cjs/index.cjs.map +1 -1
  21. package/dist/cjs/index.d.cts +2 -0
  22. package/dist/cjs/lib/api-keys/api-keys-context.cjs +1 -1
  23. package/dist/cjs/lib/api-keys/api-keys-context.cjs.map +1 -1
  24. package/dist/cjs/lib/api-keys/api-keys-table.cjs +7 -5
  25. package/dist/cjs/lib/api-keys/api-keys-table.cjs.map +1 -1
  26. package/dist/cjs/lib/directory-sync.cjs +288 -0
  27. package/dist/cjs/lib/directory-sync.cjs.map +1 -0
  28. package/dist/cjs/lib/directory-sync.d.cts +72 -0
  29. package/dist/cjs/lib/identity-providers.cjs +57 -1
  30. package/dist/cjs/lib/identity-providers.cjs.map +1 -1
  31. package/dist/cjs/lib/identity-providers.d.cts +5 -3
  32. package/dist/cjs/lib/pipes.cjs +9 -9
  33. package/dist/cjs/lib/pipes.cjs.map +1 -1
  34. package/dist/cjs/lib/reset-mfa-dialog.cjs +2 -1
  35. package/dist/cjs/lib/reset-mfa-dialog.cjs.map +1 -1
  36. package/dist/cjs/lib/use-permissions.cjs.map +1 -1
  37. package/dist/cjs/lib/use-permissions.d.cts +1 -1
  38. package/dist/cjs/lib/users-management-context.cjs +1 -1
  39. package/dist/cjs/lib/users-management-context.cjs.map +1 -1
  40. package/dist/cjs/lib/users-management.cjs +3 -3
  41. package/dist/cjs/lib/users-management.cjs.map +1 -1
  42. package/dist/cjs/lib/utils.cjs +9 -0
  43. package/dist/cjs/lib/utils.cjs.map +1 -1
  44. package/dist/cjs/lib/utils.d.cts +16 -2
  45. package/dist/esm/api/api-provider.d.ts +1 -1
  46. package/dist/esm/api/api-provider.js.map +1 -1
  47. package/dist/esm/api/endpoint.d.ts +810 -729
  48. package/dist/esm/api/endpoint.js +691 -618
  49. package/dist/esm/api/endpoint.js.map +1 -1
  50. package/dist/esm/directory-sync.client.d.ts +26 -0
  51. package/dist/esm/directory-sync.client.js +121 -0
  52. package/dist/esm/directory-sync.client.js.map +1 -0
  53. package/dist/esm/experimental/api/fetch.d.ts +809 -731
  54. package/dist/esm/experimental/api/fetch.js +300 -247
  55. package/dist/esm/experimental/api/fetch.js.map +1 -1
  56. package/dist/esm/experimental/api/react-query.d.ts +1355 -1250
  57. package/dist/esm/experimental/api/react-query.js +683 -608
  58. package/dist/esm/experimental/api/react-query.js.map +1 -1
  59. package/dist/esm/experimental/api/swr.d.ts +1307 -1212
  60. package/dist/esm/experimental/api/swr.js +649 -578
  61. package/dist/esm/experimental/api/swr.js.map +1 -1
  62. package/dist/esm/index.d.ts +2 -0
  63. package/dist/esm/index.js +6 -0
  64. package/dist/esm/index.js.map +1 -1
  65. package/dist/esm/lib/api-keys/api-keys-context.js +1 -1
  66. package/dist/esm/lib/api-keys/api-keys-context.js.map +1 -1
  67. package/dist/esm/lib/api-keys/api-keys-table.js +7 -5
  68. package/dist/esm/lib/api-keys/api-keys-table.js.map +1 -1
  69. package/dist/esm/lib/directory-sync.d.ts +72 -0
  70. package/dist/esm/lib/directory-sync.js +259 -0
  71. package/dist/esm/lib/directory-sync.js.map +1 -0
  72. package/dist/esm/lib/identity-providers.d.ts +5 -3
  73. package/dist/esm/lib/identity-providers.js +55 -1
  74. package/dist/esm/lib/identity-providers.js.map +1 -1
  75. package/dist/esm/lib/pipes.js +9 -10
  76. package/dist/esm/lib/pipes.js.map +1 -1
  77. package/dist/esm/lib/reset-mfa-dialog.js +2 -1
  78. package/dist/esm/lib/reset-mfa-dialog.js.map +1 -1
  79. package/dist/esm/lib/use-permissions.d.ts +1 -1
  80. package/dist/esm/lib/use-permissions.js.map +1 -1
  81. package/dist/esm/lib/users-management-context.js +1 -1
  82. package/dist/esm/lib/users-management-context.js.map +1 -1
  83. package/dist/esm/lib/users-management.js +5 -4
  84. package/dist/esm/lib/users-management.js.map +1 -1
  85. package/dist/esm/lib/utils.d.ts +16 -2
  86. package/dist/esm/lib/utils.js +8 -0
  87. package/dist/esm/lib/utils.js.map +1 -1
  88. package/package.json +3 -3
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ "use client";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var directory_sync_client_exports = {};
21
+ __export(directory_sync_client_exports, {
22
+ DirectorySync: () => DirectorySync,
23
+ DirectorySyncError: () => import_directory_sync.DirectorySyncError,
24
+ DirectorySyncLoading: () => import_directory_sync.DirectorySyncLoading
25
+ });
26
+ module.exports = __toCommonJS(directory_sync_client_exports);
27
+ var import_jsx_runtime = require("react/jsx-runtime");
28
+ var import_directory_sync = require("./lib/directory-sync.js");
29
+ var import_api_provider = require("./api/api-provider.js");
30
+ var import_widgets_context = require("./lib/widgets-context.js");
31
+ var import_error_boundary = require("./lib/error-boundary.js");
32
+ var import_endpoint = require("./api/endpoint.js");
33
+ var import_use_permissions = require("./lib/use-permissions.js");
34
+ const DirectorySync = ({
35
+ authToken,
36
+ ...domProps
37
+ }) => {
38
+ const baseUrl = (0, import_widgets_context.useWorkOsApiUrl)();
39
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
40
+ import_error_boundary.ErrorBoundary,
41
+ {
42
+ fallbackRender: ({ error }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_directory_sync.DirectorySyncError, { ...domProps, error }),
43
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
44
+ import_api_provider.ApiProvider,
45
+ {
46
+ widgetType: "directory-sync",
47
+ authToken,
48
+ baseUrl,
49
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DirectorySyncImpl, { ...domProps })
50
+ }
51
+ )
52
+ }
53
+ );
54
+ };
55
+ const DirectorySyncImpl = (props) => {
56
+ const isApiReady = (0, import_api_provider.useApiReady)();
57
+ const { data: directories, isLoading, isError, error } = (0, import_endpoint.useListDirectories)();
58
+ const permissionsQuery = (0, import_use_permissions.usePermissions)("widgets:dsync:manage");
59
+ if (!isApiReady || isLoading || permissionsQuery.isLoading) {
60
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_directory_sync.DirectorySyncLoading, { ...props });
61
+ }
62
+ if (permissionsQuery.isError || isError) {
63
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_directory_sync.DirectorySyncError, { error: permissionsQuery.error || error, ...props });
64
+ }
65
+ if (!directories?.data?.length) {
66
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_directory_sync.DirectorySync, { ...props, state: import_endpoint.DirectoryState.unlinked });
67
+ }
68
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
69
+ import_error_boundary.ErrorBoundary,
70
+ {
71
+ fallbackRender: ({ error: error2 }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_directory_sync.DirectorySyncError, { error: error2, ...props }),
72
+ children: directories.data.map((directory) => {
73
+ const { id, state, type, metadata, updatedAt } = directory;
74
+ const commonProps = { ...props, type, metadata, lastSyncAt: updatedAt };
75
+ switch (state) {
76
+ case import_endpoint.DirectoryState.invalid_credentials:
77
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
78
+ import_directory_sync.DirectorySync,
79
+ {
80
+ ...commonProps,
81
+ state,
82
+ errorMessage: "Your directory credentials are invalid or have expired. Please re-authenticate to resume syncing."
83
+ },
84
+ id
85
+ );
86
+ case import_endpoint.DirectoryState.linked:
87
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
88
+ import_directory_sync.DirectorySync,
89
+ {
90
+ ...commonProps,
91
+ state
92
+ },
93
+ id
94
+ );
95
+ case import_endpoint.DirectoryState.validating:
96
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
97
+ import_directory_sync.DirectorySync,
98
+ {
99
+ ...commonProps,
100
+ state
101
+ },
102
+ id
103
+ );
104
+ case import_endpoint.DirectoryState.deleting:
105
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
106
+ import_directory_sync.DirectorySync,
107
+ {
108
+ ...commonProps,
109
+ state
110
+ },
111
+ id
112
+ );
113
+ case import_endpoint.DirectoryState.unlinked:
114
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
115
+ import_directory_sync.DirectorySync,
116
+ {
117
+ ...commonProps,
118
+ state
119
+ },
120
+ id
121
+ );
122
+ case import_endpoint.DirectoryState.requires_type:
123
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
124
+ import_directory_sync.DirectorySync,
125
+ {
126
+ ...commonProps,
127
+ state,
128
+ errorMessage: "Your directory requires additional configuration. Please complete setup to begin syncing."
129
+ },
130
+ id
131
+ );
132
+ }
133
+ })
134
+ }
135
+ );
136
+ };
137
+ // Annotate the CommonJS export names for ESM import in node:
138
+ 0 && (module.exports = {
139
+ DirectorySync,
140
+ DirectorySyncError,
141
+ DirectorySyncLoading
142
+ });
143
+ //# sourceMappingURL=directory-sync.client.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/directory-sync.client.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n DirectorySyncError,\n DirectorySyncLoading,\n DirectorySync as DirectorySyncPresentational,\n} from \"./lib/directory-sync.js\";\nimport type {\n DirectorySyncErrorProps,\n DirectorySyncLoadingProps,\n} from \"./lib/directory-sync.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\";\nimport { DirectoryState, useListDirectories } from \"./api/endpoint.js\";\nimport { usePermissions } from \"./lib/use-permissions.js\";\ninterface DirectorySyncProps extends WidgetRootDomProps {\n authToken: AuthToken;\n}\n\nconst DirectorySync: React.FC<DirectorySyncProps> = ({\n authToken,\n ...domProps\n}) => {\n const baseUrl = useWorkOsApiUrl();\n\n return (\n <ErrorBoundary\n fallbackRender={({ error }) => (\n <DirectorySyncError {...domProps} error={error} />\n )}\n >\n <ApiProvider\n widgetType=\"directory-sync\"\n authToken={authToken}\n baseUrl={baseUrl}\n >\n <DirectorySyncImpl {...domProps} />\n </ApiProvider>\n </ErrorBoundary>\n );\n};\n\nconst DirectorySyncImpl = (props: WidgetRootDomProps) => {\n const isApiReady = useApiReady();\n const { data: directories, isLoading, isError, error } = useListDirectories();\n const permissionsQuery = usePermissions(\"widgets:dsync:manage\");\n\n if (!isApiReady || isLoading || permissionsQuery.isLoading) {\n return <DirectorySyncLoading {...props} />;\n }\n\n if (permissionsQuery.isError || isError) {\n return (\n <DirectorySyncError error={permissionsQuery.error || error} {...props} />\n );\n }\n\n if (!directories?.data?.length) {\n return (\n <DirectorySyncPresentational {...props} state={DirectoryState.unlinked} />\n );\n }\n\n return (\n <ErrorBoundary\n fallbackRender={({ error }) => (\n <DirectorySyncError error={error} {...props} />\n )}\n >\n {directories.data.map((directory) => {\n const { id, state, type, metadata, updatedAt } = directory;\n const commonProps = { ...props, type, metadata, lastSyncAt: updatedAt };\n\n switch (state) {\n case DirectoryState.invalid_credentials:\n return (\n <DirectorySyncPresentational\n key={id}\n {...commonProps}\n state={state}\n errorMessage=\"Your directory credentials are invalid or have expired. Please re-authenticate to resume syncing.\"\n />\n );\n case DirectoryState.linked:\n return (\n <DirectorySyncPresentational\n key={id}\n {...commonProps}\n state={state}\n />\n );\n case DirectoryState.validating:\n return (\n <DirectorySyncPresentational\n key={id}\n {...commonProps}\n state={state}\n />\n );\n case DirectoryState.deleting:\n return (\n <DirectorySyncPresentational\n key={id}\n {...commonProps}\n state={state}\n />\n );\n case DirectoryState.unlinked:\n return (\n <DirectorySyncPresentational\n key={id}\n {...commonProps}\n state={state}\n />\n );\n case DirectoryState.requires_type:\n return (\n <DirectorySyncPresentational\n key={id}\n {...commonProps}\n state={state}\n errorMessage=\"Your directory requires additional configuration. Please complete setup to begin syncing.\"\n />\n );\n }\n })}\n </ErrorBoundary>\n );\n};\n\nexport type {\n DirectorySyncProps,\n DirectorySyncLoadingProps,\n DirectorySyncErrorProps,\n};\nexport { DirectorySync, DirectorySyncLoading, DirectorySyncError };\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BQ;AA5BR,4BAIO;AAKP,0BAAoD;AACpD,6BAAgC;AAChC,4BAA8B;AAE9B,sBAAmD;AACnD,6BAA+B;AAK/B,MAAM,gBAA8C,CAAC;AAAA,EACnD;AAAA,EACA,GAAG;AACL,MAAM;AACJ,QAAM,cAAU,wCAAgB;AAEhC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAgB,CAAC,EAAE,MAAM,MACvB,4CAAC,4CAAoB,GAAG,UAAU,OAAc;AAAA,MAGlD;AAAA,QAAC;AAAA;AAAA,UACC,YAAW;AAAA,UACX;AAAA,UACA;AAAA,UAEA,sDAAC,qBAAmB,GAAG,UAAU;AAAA;AAAA,MACnC;AAAA;AAAA,EACF;AAEJ;AAEA,MAAM,oBAAoB,CAAC,UAA8B;AACvD,QAAM,iBAAa,iCAAY;AAC/B,QAAM,EAAE,MAAM,aAAa,WAAW,SAAS,MAAM,QAAI,oCAAmB;AAC5E,QAAM,uBAAmB,uCAAe,sBAAsB;AAE9D,MAAI,CAAC,cAAc,aAAa,iBAAiB,WAAW;AAC1D,WAAO,4CAAC,8CAAsB,GAAG,OAAO;AAAA,EAC1C;AAEA,MAAI,iBAAiB,WAAW,SAAS;AACvC,WACE,4CAAC,4CAAmB,OAAO,iBAAiB,SAAS,OAAQ,GAAG,OAAO;AAAA,EAE3E;AAEA,MAAI,CAAC,aAAa,MAAM,QAAQ;AAC9B,WACE,4CAAC,sBAAAA,eAAA,EAA6B,GAAG,OAAO,OAAO,+BAAe,UAAU;AAAA,EAE5E;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,gBAAgB,CAAC,EAAE,OAAAC,OAAM,MACvB,4CAAC,4CAAmB,OAAOA,QAAQ,GAAG,OAAO;AAAA,MAG9C,sBAAY,KAAK,IAAI,CAAC,cAAc;AACnC,cAAM,EAAE,IAAI,OAAO,MAAM,UAAU,UAAU,IAAI;AACjD,cAAM,cAAc,EAAE,GAAG,OAAO,MAAM,UAAU,YAAY,UAAU;AAEtE,gBAAQ,OAAO;AAAA,UACb,KAAK,+BAAe;AAClB,mBACE;AAAA,cAAC,sBAAAD;AAAA,cAAA;AAAA,gBAEE,GAAG;AAAA,gBACJ;AAAA,gBACA,cAAa;AAAA;AAAA,cAHR;AAAA,YAIP;AAAA,UAEJ,KAAK,+BAAe;AAClB,mBACE;AAAA,cAAC,sBAAAA;AAAA,cAAA;AAAA,gBAEE,GAAG;AAAA,gBACJ;AAAA;AAAA,cAFK;AAAA,YAGP;AAAA,UAEJ,KAAK,+BAAe;AAClB,mBACE;AAAA,cAAC,sBAAAA;AAAA,cAAA;AAAA,gBAEE,GAAG;AAAA,gBACJ;AAAA;AAAA,cAFK;AAAA,YAGP;AAAA,UAEJ,KAAK,+BAAe;AAClB,mBACE;AAAA,cAAC,sBAAAA;AAAA,cAAA;AAAA,gBAEE,GAAG;AAAA,gBACJ;AAAA;AAAA,cAFK;AAAA,YAGP;AAAA,UAEJ,KAAK,+BAAe;AAClB,mBACE;AAAA,cAAC,sBAAAA;AAAA,cAAA;AAAA,gBAEE,GAAG;AAAA,gBACJ;AAAA;AAAA,cAFK;AAAA,YAGP;AAAA,UAEJ,KAAK,+BAAe;AAClB,mBACE;AAAA,cAAC,sBAAAA;AAAA,cAAA;AAAA,gBAEE,GAAG;AAAA,gBACJ;AAAA,gBACA,cAAa;AAAA;AAAA,cAHR;AAAA,YAIP;AAAA,QAEN;AAAA,MACF,CAAC;AAAA;AAAA,EACH;AAEJ;","names":["DirectorySyncPresentational","error"]}
@@ -0,0 +1,26 @@
1
+ import * as React from 'react';
2
+ export { DirectorySyncError, DirectorySyncErrorProps, DirectorySyncLoading, DirectorySyncLoadingProps } from './lib/directory-sync.cjs';
3
+ import { AuthToken } from './api/api-provider.cjs';
4
+ import { WidgetRootDomProps } from './lib/utils.cjs';
5
+ import './api/endpoint.cjs';
6
+ import '@tanstack/react-query';
7
+ import './api/widgets-api-client.cjs';
8
+ import 'react/jsx-runtime';
9
+ import './lib/elements.cjs';
10
+ import '@radix-ui/themes';
11
+ import '@radix-ui/themes/props';
12
+ import './dialog-C15qCLN3.cjs';
13
+ import '@radix-ui/themes/components/dialog';
14
+ import './alert-dialog-BlG3_awx.cjs';
15
+ import '@radix-ui/themes/components/alert-dialog';
16
+ import './dropdown-menu-BQ5LtvdR.cjs';
17
+ import '@radix-ui/themes/components/dropdown-menu';
18
+ import './select-KR89Qnvm.cjs';
19
+ import '@radix-ui/themes/components/select';
20
+
21
+ interface DirectorySyncProps extends WidgetRootDomProps {
22
+ authToken: AuthToken;
23
+ }
24
+ declare const DirectorySync: React.FC<DirectorySyncProps>;
25
+
26
+ export { DirectorySync, type DirectorySyncProps };