@workos-inc/widgets 1.1.0 → 1.1.1

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 (246) hide show
  1. package/dist/cjs/api/api-provider.d.ts +26 -0
  2. package/dist/cjs/api/api-provider.d.ts.map +1 -0
  3. package/dist/cjs/api/api-provider.js +123 -0
  4. package/dist/cjs/api/api-provider.js.map +1 -0
  5. package/dist/cjs/api/constants.d.ts +2 -0
  6. package/dist/cjs/api/constants.d.ts.map +1 -0
  7. package/dist/cjs/api/constants.js +5 -0
  8. package/dist/cjs/api/constants.js.map +1 -0
  9. package/dist/cjs/api/endpoint.d.ts +957 -0
  10. package/dist/cjs/api/endpoint.d.ts.map +1 -0
  11. package/dist/cjs/api/endpoint.js +856 -0
  12. package/dist/cjs/api/endpoint.js.map +1 -0
  13. package/dist/cjs/api/errors.d.ts +33 -0
  14. package/dist/cjs/api/errors.d.ts.map +1 -0
  15. package/dist/cjs/api/errors.js +40 -0
  16. package/dist/cjs/api/errors.js.map +1 -0
  17. package/dist/cjs/api/index.d.ts +3 -0
  18. package/dist/cjs/api/index.d.ts.map +1 -0
  19. package/dist/cjs/api/index.js +19 -0
  20. package/dist/cjs/api/index.js.map +1 -0
  21. package/dist/cjs/api/utils.d.ts +10 -0
  22. package/dist/cjs/api/utils.d.ts.map +1 -0
  23. package/dist/cjs/api/utils.js +42 -0
  24. package/dist/cjs/api/utils.js.map +1 -0
  25. package/dist/cjs/api/widgets-api-client.d.ts +21 -0
  26. package/dist/cjs/api/widgets-api-client.d.ts.map +1 -0
  27. package/dist/cjs/api/widgets-api-client.js +61 -0
  28. package/dist/cjs/api/widgets-api-client.js.map +1 -0
  29. package/dist/cjs/lib/add-mfa-dialog.js +1 -1
  30. package/dist/cjs/lib/add-mfa-dialog.js.map +1 -1
  31. package/dist/cjs/lib/api/user.d.ts +6 -6
  32. package/dist/cjs/lib/api/user.js +1 -1
  33. package/dist/cjs/lib/change-password-dialog.js +1 -1
  34. package/dist/cjs/lib/change-password-dialog.js.map +1 -1
  35. package/dist/cjs/lib/delete-user-dialog.d.ts +1 -1
  36. package/dist/cjs/lib/delete-user-dialog.d.ts.map +1 -1
  37. package/dist/cjs/lib/edit-user-profile-dialog.d.ts +1 -1
  38. package/dist/cjs/lib/edit-user-profile-dialog.d.ts.map +1 -1
  39. package/dist/cjs/lib/edit-user-profile-dialog.js +1 -1
  40. package/dist/cjs/lib/edit-user-profile-dialog.js.map +1 -1
  41. package/dist/cjs/lib/edit-user-role-dialog.d.ts +1 -1
  42. package/dist/cjs/lib/edit-user-role-dialog.d.ts.map +1 -1
  43. package/dist/cjs/lib/edit-user-role-dialog.js +1 -1
  44. package/dist/cjs/lib/edit-user-role-dialog.js.map +1 -1
  45. package/dist/cjs/lib/elevated-access.js +1 -1
  46. package/dist/cjs/lib/elevated-access.js.map +1 -1
  47. package/dist/cjs/lib/invite-user-dialog.js +1 -1
  48. package/dist/cjs/lib/invite-user-dialog.js.map +1 -1
  49. package/dist/cjs/lib/logout-all-sessions-dialog.js +1 -1
  50. package/dist/cjs/lib/logout-all-sessions-dialog.js.map +1 -1
  51. package/dist/cjs/lib/logout-dialog.d.ts +1 -1
  52. package/dist/cjs/lib/logout-dialog.d.ts.map +1 -1
  53. package/dist/cjs/lib/logout-dialog.js +1 -1
  54. package/dist/cjs/lib/logout-dialog.js.map +1 -1
  55. package/dist/cjs/lib/organization-switcher.d.ts +1 -1
  56. package/dist/cjs/lib/organization-switcher.d.ts.map +1 -1
  57. package/dist/cjs/lib/organization-switcher.js.map +1 -1
  58. package/dist/cjs/lib/resend-invite-dialog.d.ts +1 -1
  59. package/dist/cjs/lib/resend-invite-dialog.d.ts.map +1 -1
  60. package/dist/cjs/lib/reset-mfa-dialog.js +1 -1
  61. package/dist/cjs/lib/reset-mfa-dialog.js.map +1 -1
  62. package/dist/cjs/lib/revoke-invite-dialog.d.ts +1 -1
  63. package/dist/cjs/lib/revoke-invite-dialog.d.ts.map +1 -1
  64. package/dist/cjs/lib/set-password-dialog.js +1 -1
  65. package/dist/cjs/lib/set-password-dialog.js.map +1 -1
  66. package/dist/cjs/lib/use-security-settings.js +1 -1
  67. package/dist/cjs/lib/use-security-settings.js.map +1 -1
  68. package/dist/cjs/lib/user-actions-dropdown.d.ts +1 -1
  69. package/dist/cjs/lib/user-actions-dropdown.d.ts.map +1 -1
  70. package/dist/cjs/lib/user-actions-dropdown.js +1 -1
  71. package/dist/cjs/lib/user-actions-dropdown.js.map +1 -1
  72. package/dist/cjs/lib/user-profile.d.ts +1 -1
  73. package/dist/cjs/lib/user-profile.d.ts.map +1 -1
  74. package/dist/cjs/lib/user-security.d.ts +1 -1
  75. package/dist/cjs/lib/user-security.d.ts.map +1 -1
  76. package/dist/cjs/lib/user-sessions.d.ts +1 -1
  77. package/dist/cjs/lib/user-sessions.d.ts.map +1 -1
  78. package/dist/cjs/lib/users-filter.d.ts +1 -1
  79. package/dist/cjs/lib/users-filter.d.ts.map +1 -1
  80. package/dist/cjs/lib/users-management-state.d.ts +1 -1
  81. package/dist/cjs/lib/users-management-state.d.ts.map +1 -1
  82. package/dist/cjs/lib/users-management.d.ts +1 -1
  83. package/dist/cjs/lib/users-management.d.ts.map +1 -1
  84. package/dist/cjs/lib/utils.d.ts +1 -1
  85. package/dist/cjs/lib/utils.d.ts.map +1 -1
  86. package/dist/cjs/organization-switcher.client.d.ts +1 -1
  87. package/dist/cjs/organization-switcher.client.d.ts.map +1 -1
  88. package/dist/cjs/organization-switcher.client.js +1 -1
  89. package/dist/cjs/organization-switcher.client.js.map +1 -1
  90. package/dist/cjs/user-profile.client.d.ts +1 -1
  91. package/dist/cjs/user-profile.client.d.ts.map +1 -1
  92. package/dist/cjs/user-profile.client.js +1 -1
  93. package/dist/cjs/user-profile.client.js.map +1 -1
  94. package/dist/cjs/user-security.client.d.ts +1 -1
  95. package/dist/cjs/user-security.client.d.ts.map +1 -1
  96. package/dist/cjs/user-security.client.js +1 -1
  97. package/dist/cjs/user-security.client.js.map +1 -1
  98. package/dist/cjs/user-sessions.client.js +1 -1
  99. package/dist/cjs/user-sessions.client.js.map +1 -1
  100. package/dist/cjs/users-management.client.d.ts +1 -1
  101. package/dist/cjs/users-management.client.d.ts.map +1 -1
  102. package/dist/cjs/users-management.client.js +1 -1
  103. package/dist/cjs/users-management.client.js.map +1 -1
  104. package/dist/esm/api/api-provider.d.ts +26 -0
  105. package/dist/esm/api/api-provider.d.ts.map +1 -0
  106. package/dist/esm/api/api-provider.js +94 -0
  107. package/dist/esm/api/api-provider.js.map +1 -0
  108. package/dist/esm/api/constants.d.ts +2 -0
  109. package/dist/esm/api/constants.d.ts.map +1 -0
  110. package/dist/esm/api/constants.js +2 -0
  111. package/dist/esm/api/constants.js.map +1 -0
  112. package/dist/esm/api/endpoint.d.ts +957 -0
  113. package/dist/esm/api/endpoint.d.ts.map +1 -0
  114. package/dist/esm/api/endpoint.js +774 -0
  115. package/dist/esm/api/endpoint.js.map +1 -0
  116. package/dist/esm/api/errors.d.ts +33 -0
  117. package/dist/esm/api/errors.d.ts.map +1 -0
  118. package/dist/esm/api/errors.js +34 -0
  119. package/dist/esm/api/errors.js.map +1 -0
  120. package/dist/esm/api/index.d.ts +3 -0
  121. package/dist/esm/api/index.d.ts.map +1 -0
  122. package/dist/esm/api/index.js +3 -0
  123. package/dist/esm/api/index.js.map +1 -0
  124. package/dist/esm/api/utils.d.ts +10 -0
  125. package/dist/esm/api/utils.d.ts.map +1 -0
  126. package/dist/esm/api/utils.js +36 -0
  127. package/dist/esm/api/utils.js.map +1 -0
  128. package/dist/esm/api/widgets-api-client.d.ts +21 -0
  129. package/dist/esm/api/widgets-api-client.d.ts.map +1 -0
  130. package/dist/esm/api/widgets-api-client.js +56 -0
  131. package/dist/esm/api/widgets-api-client.js.map +1 -0
  132. package/dist/esm/lib/add-mfa-dialog.js +1 -1
  133. package/dist/esm/lib/add-mfa-dialog.js.map +1 -1
  134. package/dist/esm/lib/api/user.d.ts +6 -6
  135. package/dist/esm/lib/api/user.js +1 -1
  136. package/dist/esm/lib/change-password-dialog.js +1 -1
  137. package/dist/esm/lib/change-password-dialog.js.map +1 -1
  138. package/dist/esm/lib/delete-user-dialog.d.ts +1 -1
  139. package/dist/esm/lib/delete-user-dialog.d.ts.map +1 -1
  140. package/dist/esm/lib/edit-user-profile-dialog.d.ts +1 -1
  141. package/dist/esm/lib/edit-user-profile-dialog.d.ts.map +1 -1
  142. package/dist/esm/lib/edit-user-profile-dialog.js +1 -1
  143. package/dist/esm/lib/edit-user-profile-dialog.js.map +1 -1
  144. package/dist/esm/lib/edit-user-role-dialog.d.ts +1 -1
  145. package/dist/esm/lib/edit-user-role-dialog.d.ts.map +1 -1
  146. package/dist/esm/lib/edit-user-role-dialog.js +1 -1
  147. package/dist/esm/lib/edit-user-role-dialog.js.map +1 -1
  148. package/dist/esm/lib/elevated-access.js +1 -1
  149. package/dist/esm/lib/elevated-access.js.map +1 -1
  150. package/dist/esm/lib/invite-user-dialog.js +1 -1
  151. package/dist/esm/lib/invite-user-dialog.js.map +1 -1
  152. package/dist/esm/lib/logout-all-sessions-dialog.js +1 -1
  153. package/dist/esm/lib/logout-all-sessions-dialog.js.map +1 -1
  154. package/dist/esm/lib/logout-dialog.d.ts +1 -1
  155. package/dist/esm/lib/logout-dialog.d.ts.map +1 -1
  156. package/dist/esm/lib/logout-dialog.js +1 -1
  157. package/dist/esm/lib/logout-dialog.js.map +1 -1
  158. package/dist/esm/lib/organization-switcher.d.ts +1 -1
  159. package/dist/esm/lib/organization-switcher.d.ts.map +1 -1
  160. package/dist/esm/lib/organization-switcher.js.map +1 -1
  161. package/dist/esm/lib/resend-invite-dialog.d.ts +1 -1
  162. package/dist/esm/lib/resend-invite-dialog.d.ts.map +1 -1
  163. package/dist/esm/lib/reset-mfa-dialog.js +1 -1
  164. package/dist/esm/lib/reset-mfa-dialog.js.map +1 -1
  165. package/dist/esm/lib/revoke-invite-dialog.d.ts +1 -1
  166. package/dist/esm/lib/revoke-invite-dialog.d.ts.map +1 -1
  167. package/dist/esm/lib/set-password-dialog.js +1 -1
  168. package/dist/esm/lib/set-password-dialog.js.map +1 -1
  169. package/dist/esm/lib/use-security-settings.js +1 -1
  170. package/dist/esm/lib/use-security-settings.js.map +1 -1
  171. package/dist/esm/lib/user-actions-dropdown.d.ts +1 -1
  172. package/dist/esm/lib/user-actions-dropdown.d.ts.map +1 -1
  173. package/dist/esm/lib/user-actions-dropdown.js +1 -1
  174. package/dist/esm/lib/user-actions-dropdown.js.map +1 -1
  175. package/dist/esm/lib/user-profile.d.ts +1 -1
  176. package/dist/esm/lib/user-profile.d.ts.map +1 -1
  177. package/dist/esm/lib/user-security.d.ts +1 -1
  178. package/dist/esm/lib/user-security.d.ts.map +1 -1
  179. package/dist/esm/lib/user-sessions.d.ts +1 -1
  180. package/dist/esm/lib/user-sessions.d.ts.map +1 -1
  181. package/dist/esm/lib/users-filter.d.ts +1 -1
  182. package/dist/esm/lib/users-filter.d.ts.map +1 -1
  183. package/dist/esm/lib/users-management-state.d.ts +1 -1
  184. package/dist/esm/lib/users-management-state.d.ts.map +1 -1
  185. package/dist/esm/lib/users-management.d.ts +1 -1
  186. package/dist/esm/lib/users-management.d.ts.map +1 -1
  187. package/dist/esm/lib/utils.d.ts +1 -1
  188. package/dist/esm/lib/utils.d.ts.map +1 -1
  189. package/dist/esm/organization-switcher.client.d.ts +1 -1
  190. package/dist/esm/organization-switcher.client.d.ts.map +1 -1
  191. package/dist/esm/organization-switcher.client.js +1 -1
  192. package/dist/esm/organization-switcher.client.js.map +1 -1
  193. package/dist/esm/user-profile.client.d.ts +1 -1
  194. package/dist/esm/user-profile.client.d.ts.map +1 -1
  195. package/dist/esm/user-profile.client.js +1 -1
  196. package/dist/esm/user-profile.client.js.map +1 -1
  197. package/dist/esm/user-security.client.d.ts +1 -1
  198. package/dist/esm/user-security.client.d.ts.map +1 -1
  199. package/dist/esm/user-security.client.js +1 -1
  200. package/dist/esm/user-security.client.js.map +1 -1
  201. package/dist/esm/user-sessions.client.js +1 -1
  202. package/dist/esm/user-sessions.client.js.map +1 -1
  203. package/dist/esm/users-management.client.d.ts +1 -1
  204. package/dist/esm/users-management.client.d.ts.map +1 -1
  205. package/dist/esm/users-management.client.js +1 -1
  206. package/dist/esm/users-management.client.js.map +1 -1
  207. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  208. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  209. package/package.json +12 -4
  210. package/src/api/api-provider.tsx +141 -0
  211. package/src/api/constants.ts +1 -0
  212. package/src/api/endpoint.ts +3057 -0
  213. package/src/api/errors.ts +48 -0
  214. package/src/api/index.ts +2 -0
  215. package/src/api/utils.ts +42 -0
  216. package/src/api/widgets-api-client.ts +86 -0
  217. package/src/lib/add-mfa-dialog.tsx +1 -1
  218. package/src/lib/api/user.ts +1 -1
  219. package/src/lib/change-password-dialog.tsx +1 -1
  220. package/src/lib/delete-user-dialog.tsx +1 -1
  221. package/src/lib/edit-user-profile-dialog.tsx +1 -1
  222. package/src/lib/edit-user-role-dialog.tsx +1 -1
  223. package/src/lib/elevated-access.tsx +1 -1
  224. package/src/lib/invite-user-dialog.tsx +1 -1
  225. package/src/lib/logout-all-sessions-dialog.tsx +1 -1
  226. package/src/lib/logout-dialog.tsx +1 -5
  227. package/src/lib/organization-switcher.tsx +1 -5
  228. package/src/lib/resend-invite-dialog.tsx +1 -1
  229. package/src/lib/reset-mfa-dialog.tsx +1 -1
  230. package/src/lib/revoke-invite-dialog.tsx +1 -1
  231. package/src/lib/set-password-dialog.tsx +1 -1
  232. package/src/lib/use-security-settings.tsx +1 -1
  233. package/src/lib/user-actions-dropdown.tsx +2 -2
  234. package/src/lib/user-profile.tsx +1 -1
  235. package/src/lib/user-security.tsx +1 -1
  236. package/src/lib/user-sessions.tsx +1 -1
  237. package/src/lib/users-filter.tsx +1 -1
  238. package/src/lib/users-management-context.tsx +1 -1
  239. package/src/lib/users-management-state.ts +1 -1
  240. package/src/lib/users-management.tsx +1 -1
  241. package/src/lib/utils.ts +1 -1
  242. package/src/organization-switcher.client.tsx +1 -1
  243. package/src/user-profile.client.tsx +1 -1
  244. package/src/user-security.client.tsx +1 -5
  245. package/src/user-sessions.client.tsx +1 -1
  246. package/src/users-management.client.tsx +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workos-inc/widgets",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "exports": {
@@ -48,8 +48,7 @@
48
48
  "@radix-ui/react-use-controllable-state": "^1.1.0",
49
49
  "clsx": "^2.0.0",
50
50
  "ua-parser-js": "^2.0.2",
51
- "use-debounce": "^10.0.4",
52
- "@repo/api": "0.0.0"
51
+ "use-debounce": "^10.0.4"
53
52
  },
54
53
  "peerDependencies": {
55
54
  "@radix-ui/themes": "^3.1.0",
@@ -63,16 +62,25 @@
63
62
  "@types/node": "^20.16.6",
64
63
  "@types/react": "^18.3.12",
65
64
  "@types/react-dom": "^18.3.1",
65
+ "orval": "^7.5.0",
66
66
  "react": "^18.3.1",
67
67
  "react-dom": "^18.3.1",
68
68
  "typescript": "^5.6.2",
69
69
  "@repo/typescript-config": "0.0.0"
70
70
  },
71
+ "typesVersions": {
72
+ "*": {
73
+ "*": [
74
+ "./src/api/*"
75
+ ]
76
+ }
77
+ },
71
78
  "scripts": {
72
79
  "build": "npm run clean:dist && tsc -b ./tsconfig.cjs.json ./tsconfig.esm.json",
73
80
  "build:ci": "tsc --noEmit",
74
81
  "clean": "rm -rf .turbo && rm -rf node_modules && npm run clean:dist",
75
- "clean:dist": "rm -rf dist"
82
+ "clean:dist": "rm -rf dist",
83
+ "generate-api": "orval --config ./orval.config.ts"
76
84
  },
77
85
  "main": "./dist/cjs/index.js",
78
86
  "module": "./dist/esm/index.js",
@@ -0,0 +1,141 @@
1
+ import * as React from "react";
2
+
3
+ export type AuthToken = string | (() => Promise<string>);
4
+
5
+ interface ElevatedAccess {
6
+ token: string;
7
+ expiresAt: string;
8
+ }
9
+
10
+ interface ApiConfig {
11
+ authToken: Promise<string> | string;
12
+ authTokenQueryKey: string;
13
+ baseUrl: string;
14
+ elevatedAccess?: ElevatedAccess;
15
+ setElevatedAccess: (elevatedAccess?: ElevatedAccess) => void;
16
+ }
17
+
18
+ const ApiContext = React.createContext<ApiConfig | undefined>(undefined);
19
+
20
+ interface ApiProviderProps {
21
+ authToken: AuthToken;
22
+ baseUrl: string;
23
+ children: React.ReactNode;
24
+ }
25
+
26
+ export const ApiProvider = ({
27
+ authToken,
28
+ baseUrl,
29
+ children,
30
+ }: ApiProviderProps) => {
31
+ const authTokenPromiseOrString =
32
+ typeof authToken === "string" ? authToken : authToken();
33
+ const [elevatedAccess, setElevatedAccess] = React.useState<ElevatedAccess>();
34
+ const elevatedAccessTimeout = React.useRef<NodeJS.Timeout>();
35
+
36
+ // This effect manages the expiration of elevated access tokens
37
+ // When an elevated access token is present, it checks every 30 seconds if the token has expired
38
+ // If the token has expired (current time > expiration time), it clears the elevated access
39
+ React.useEffect(() => {
40
+ if (elevatedAccessTimeout.current) {
41
+ clearInterval(elevatedAccessTimeout.current);
42
+ }
43
+
44
+ if (elevatedAccess) {
45
+ elevatedAccessTimeout.current = setInterval(() => {
46
+ const now = new Date();
47
+ const expiresAtDate = new Date(elevatedAccess.expiresAt);
48
+
49
+ // Reset the elevated access if it has expired
50
+ if (now > expiresAtDate) {
51
+ setElevatedAccess(undefined);
52
+ }
53
+ }, 30_000); // every 30 seconds
54
+ }
55
+
56
+ return () => {
57
+ if (elevatedAccessTimeout.current) {
58
+ clearInterval(elevatedAccessTimeout.current);
59
+ }
60
+ };
61
+ }, [elevatedAccess]);
62
+
63
+ const value = React.useMemo(
64
+ () => ({
65
+ authToken: authTokenPromiseOrString,
66
+ authTokenQueryKey: getAuthTokenQueryKey(authTokenPromiseOrString),
67
+ baseUrl,
68
+ elevatedAccess,
69
+ setElevatedAccess,
70
+ }),
71
+ [authTokenPromiseOrString, baseUrl, elevatedAccess, setElevatedAccess],
72
+ );
73
+
74
+ return <ApiContext.Provider value={value}>{children}</ApiContext.Provider>;
75
+ };
76
+
77
+ export const useApi = () => {
78
+ const context = React.useContext(ApiContext);
79
+
80
+ if (context === undefined) {
81
+ throw new Error("useApi must be used within an ApiProvider");
82
+ }
83
+
84
+ return context;
85
+ };
86
+
87
+ export const useElevatedAccessToken = () => {
88
+ const { elevatedAccess, setElevatedAccess } = useApi();
89
+
90
+ return { elevatedAccess, setElevatedAccess };
91
+ };
92
+
93
+ // Map promises to a UUID that they can be identified by
94
+ const PromiseKey = new WeakMap<Promise<string>, string>();
95
+ /*
96
+ *
97
+ * @param getAccessToken - Async function that returns a promise that resolves to a string
98
+ * @returns a resolved string or null from the access token promise
99
+ */
100
+ function getAuthTokenQueryKey(
101
+ authTokenPromiseOrString: Promise<string> | string,
102
+ ): string {
103
+ // Need to go by equality of the promise to avoid scenarios where
104
+ // 1. The promise is the same, but the function changes
105
+ // 2. The function is the same, but the promise is different ⚠️
106
+ //
107
+ // This does have the unfortunate side effect where if the function result
108
+ // isn't memoized somehow, then it will invalidate the query on every render.
109
+ // This doesn't occur with the current use case of getAccessToken from
110
+ // useAuth, but could in a custom implementation.
111
+ //
112
+ // Other things I explored:
113
+ // 1. Removing promise api, and force user to resolve the promise
114
+ // themselves. The user can already do this with the string API, so
115
+ // it's not necessary, and they could run into issues 1, or 2 if
116
+ // implemented wrong.
117
+ // 2. Memoizing the function - this results in issue 2, where the function
118
+ // is static, but the promise changes. I believe this actually is the
119
+ // case with useAuth since it only sets the client once on initialization,
120
+ // and binds the function to the client after that promise resolves.
121
+
122
+ if (typeof authTokenPromiseOrString === "string") {
123
+ return authTokenPromiseOrString;
124
+ }
125
+
126
+ const authTokenPromise = authTokenPromiseOrString;
127
+
128
+ // Cannot memoize on the function because it could remain the same while
129
+ // returning a different promise (and useAuth behaves this way).
130
+
131
+ const promiseKey = PromiseKey.get(authTokenPromise);
132
+
133
+ // Side effect, but we we're using a weak map, so it should be pretty safe
134
+ if (!promiseKey) {
135
+ const newPromiseKey = `${Math.random()}`;
136
+ PromiseKey.set(authTokenPromise, newPromiseKey);
137
+ return newPromiseKey;
138
+ } else {
139
+ return promiseKey;
140
+ }
141
+ }
@@ -0,0 +1 @@
1
+ export const WIDGETS_API_VERSION = "1";