@workos-inc/widgets 0.0.0-pre.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 (230) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +3 -0
  3. package/dist/cjs/index.d.ts +3 -0
  4. package/dist/cjs/index.d.ts.map +1 -0
  5. package/dist/cjs/index.js +8 -0
  6. package/dist/cjs/index.js.map +1 -0
  7. package/dist/cjs/lib/api/config.d.ts +9 -0
  8. package/dist/cjs/lib/api/config.d.ts.map +1 -0
  9. package/dist/cjs/lib/api/config.js +12 -0
  10. package/dist/cjs/lib/api/config.js.map +1 -0
  11. package/dist/cjs/lib/api/role.d.ts +9 -0
  12. package/dist/cjs/lib/api/role.d.ts.map +1 -0
  13. package/dist/cjs/lib/api/role.js +94 -0
  14. package/dist/cjs/lib/api/role.js.map +1 -0
  15. package/dist/cjs/lib/api/user.d.ts +61 -0
  16. package/dist/cjs/lib/api/user.d.ts.map +1 -0
  17. package/dist/cjs/lib/api/user.js +312 -0
  18. package/dist/cjs/lib/api/user.js.map +1 -0
  19. package/dist/cjs/lib/constants.d.ts +3 -0
  20. package/dist/cjs/lib/constants.d.ts.map +1 -0
  21. package/dist/cjs/lib/constants.js +6 -0
  22. package/dist/cjs/lib/constants.js.map +1 -0
  23. package/dist/cjs/lib/delete-user-dialog.d.ts +12 -0
  24. package/dist/cjs/lib/delete-user-dialog.d.ts.map +1 -0
  25. package/dist/cjs/lib/delete-user-dialog.js +37 -0
  26. package/dist/cjs/lib/delete-user-dialog.js.map +1 -0
  27. package/dist/cjs/lib/edit-user-details-dialog.d.ts +12 -0
  28. package/dist/cjs/lib/edit-user-details-dialog.d.ts.map +1 -0
  29. package/dist/cjs/lib/edit-user-details-dialog.js +81 -0
  30. package/dist/cjs/lib/edit-user-details-dialog.js.map +1 -0
  31. package/dist/cjs/lib/elements.d.ts +32 -0
  32. package/dist/cjs/lib/elements.d.ts.map +1 -0
  33. package/dist/cjs/lib/elements.js +57 -0
  34. package/dist/cjs/lib/elements.js.map +1 -0
  35. package/dist/cjs/lib/invite-user-dialog.d.ts +7 -0
  36. package/dist/cjs/lib/invite-user-dialog.d.ts.map +1 -0
  37. package/dist/cjs/lib/invite-user-dialog.js +167 -0
  38. package/dist/cjs/lib/invite-user-dialog.js.map +1 -0
  39. package/dist/cjs/lib/label.d.ts +7 -0
  40. package/dist/cjs/lib/label.d.ts.map +1 -0
  41. package/dist/cjs/lib/label.js +9 -0
  42. package/dist/cjs/lib/label.js.map +1 -0
  43. package/dist/cjs/lib/pagination.d.ts +8 -0
  44. package/dist/cjs/lib/pagination.d.ts.map +1 -0
  45. package/dist/cjs/lib/pagination.js +67 -0
  46. package/dist/cjs/lib/pagination.js.map +1 -0
  47. package/dist/cjs/lib/resend-invite-dialog.d.ts +10 -0
  48. package/dist/cjs/lib/resend-invite-dialog.d.ts.map +1 -0
  49. package/dist/cjs/lib/resend-invite-dialog.js +71 -0
  50. package/dist/cjs/lib/resend-invite-dialog.js.map +1 -0
  51. package/dist/cjs/lib/revoke-invite-dialog.d.ts +10 -0
  52. package/dist/cjs/lib/revoke-invite-dialog.d.ts.map +1 -0
  53. package/dist/cjs/lib/revoke-invite-dialog.js +37 -0
  54. package/dist/cjs/lib/revoke-invite-dialog.js.map +1 -0
  55. package/dist/cjs/lib/search-provider.d.ts +11 -0
  56. package/dist/cjs/lib/search-provider.d.ts.map +1 -0
  57. package/dist/cjs/lib/search-provider.js +55 -0
  58. package/dist/cjs/lib/search-provider.js.map +1 -0
  59. package/dist/cjs/lib/use-is-hydrated.d.ts +2 -0
  60. package/dist/cjs/lib/use-is-hydrated.d.ts.map +1 -0
  61. package/dist/cjs/lib/use-is-hydrated.js +34 -0
  62. package/dist/cjs/lib/use-is-hydrated.js.map +1 -0
  63. package/dist/cjs/lib/user-actions-dropdown.d.ts +9 -0
  64. package/dist/cjs/lib/user-actions-dropdown.d.ts.map +1 -0
  65. package/dist/cjs/lib/user-actions-dropdown.js +83 -0
  66. package/dist/cjs/lib/user-actions-dropdown.js.map +1 -0
  67. package/dist/cjs/lib/users-filter.d.ts +9 -0
  68. package/dist/cjs/lib/users-filter.d.ts.map +1 -0
  69. package/dist/cjs/lib/users-filter.js +63 -0
  70. package/dist/cjs/lib/users-filter.js.map +1 -0
  71. package/dist/cjs/lib/users-management-context.d.ts +23 -0
  72. package/dist/cjs/lib/users-management-context.d.ts.map +1 -0
  73. package/dist/cjs/lib/users-management-context.js +83 -0
  74. package/dist/cjs/lib/users-management-context.js.map +1 -0
  75. package/dist/cjs/lib/users-management-state.d.ts +22 -0
  76. package/dist/cjs/lib/users-management-state.d.ts.map +1 -0
  77. package/dist/cjs/lib/users-management-state.js +143 -0
  78. package/dist/cjs/lib/users-management-state.js.map +1 -0
  79. package/dist/cjs/lib/users-management.d.ts +12 -0
  80. package/dist/cjs/lib/users-management.d.ts.map +1 -0
  81. package/dist/cjs/lib/users-management.js +141 -0
  82. package/dist/cjs/lib/users-management.js.map +1 -0
  83. package/dist/cjs/lib/users-search.d.ts +3 -0
  84. package/dist/cjs/lib/users-search.d.ts.map +1 -0
  85. package/dist/cjs/lib/users-search.js +65 -0
  86. package/dist/cjs/lib/users-search.js.map +1 -0
  87. package/dist/cjs/lib/utils.d.ts +15 -0
  88. package/dist/cjs/lib/utils.d.ts.map +1 -0
  89. package/dist/cjs/lib/utils.js +78 -0
  90. package/dist/cjs/lib/utils.js.map +1 -0
  91. package/dist/cjs/lib/widgets-context.d.ts +11 -0
  92. package/dist/cjs/lib/widgets-context.d.ts.map +1 -0
  93. package/dist/cjs/lib/widgets-context.js +45 -0
  94. package/dist/cjs/lib/widgets-context.js.map +1 -0
  95. package/dist/cjs/users-management.client.d.ts +6 -0
  96. package/dist/cjs/users-management.client.d.ts.map +1 -0
  97. package/dist/cjs/users-management.client.js +57 -0
  98. package/dist/cjs/users-management.client.js.map +1 -0
  99. package/dist/cjs/workos-widgets.client.d.ts +17 -0
  100. package/dist/cjs/workos-widgets.client.d.ts.map +1 -0
  101. package/dist/cjs/workos-widgets.client.js +55 -0
  102. package/dist/cjs/workos-widgets.client.js.map +1 -0
  103. package/dist/esm/index.d.ts +3 -0
  104. package/dist/esm/index.d.ts.map +1 -0
  105. package/dist/esm/index.js +3 -0
  106. package/dist/esm/index.js.map +1 -0
  107. package/dist/esm/lib/api/config.d.ts +9 -0
  108. package/dist/esm/lib/api/config.d.ts.map +1 -0
  109. package/dist/esm/lib/api/config.js +9 -0
  110. package/dist/esm/lib/api/config.js.map +1 -0
  111. package/dist/esm/lib/api/role.d.ts +9 -0
  112. package/dist/esm/lib/api/role.d.ts.map +1 -0
  113. package/dist/esm/lib/api/role.js +89 -0
  114. package/dist/esm/lib/api/role.js.map +1 -0
  115. package/dist/esm/lib/api/user.d.ts +61 -0
  116. package/dist/esm/lib/api/user.d.ts.map +1 -0
  117. package/dist/esm/lib/api/user.js +302 -0
  118. package/dist/esm/lib/api/user.js.map +1 -0
  119. package/dist/esm/lib/constants.d.ts +3 -0
  120. package/dist/esm/lib/constants.d.ts.map +1 -0
  121. package/dist/esm/lib/constants.js +3 -0
  122. package/dist/esm/lib/constants.js.map +1 -0
  123. package/dist/esm/lib/delete-user-dialog.d.ts +12 -0
  124. package/dist/esm/lib/delete-user-dialog.d.ts.map +1 -0
  125. package/dist/esm/lib/delete-user-dialog.js +33 -0
  126. package/dist/esm/lib/delete-user-dialog.js.map +1 -0
  127. package/dist/esm/lib/edit-user-details-dialog.d.ts +12 -0
  128. package/dist/esm/lib/edit-user-details-dialog.d.ts.map +1 -0
  129. package/dist/esm/lib/edit-user-details-dialog.js +54 -0
  130. package/dist/esm/lib/edit-user-details-dialog.js.map +1 -0
  131. package/dist/esm/lib/elements.d.ts +32 -0
  132. package/dist/esm/lib/elements.d.ts.map +1 -0
  133. package/dist/esm/lib/elements.js +54 -0
  134. package/dist/esm/lib/elements.js.map +1 -0
  135. package/dist/esm/lib/invite-user-dialog.d.ts +7 -0
  136. package/dist/esm/lib/invite-user-dialog.d.ts.map +1 -0
  137. package/dist/esm/lib/invite-user-dialog.js +140 -0
  138. package/dist/esm/lib/invite-user-dialog.js.map +1 -0
  139. package/dist/esm/lib/label.d.ts +7 -0
  140. package/dist/esm/lib/label.d.ts.map +1 -0
  141. package/dist/esm/lib/label.js +6 -0
  142. package/dist/esm/lib/label.js.map +1 -0
  143. package/dist/esm/lib/pagination.d.ts +8 -0
  144. package/dist/esm/lib/pagination.d.ts.map +1 -0
  145. package/dist/esm/lib/pagination.js +40 -0
  146. package/dist/esm/lib/pagination.js.map +1 -0
  147. package/dist/esm/lib/resend-invite-dialog.d.ts +10 -0
  148. package/dist/esm/lib/resend-invite-dialog.d.ts.map +1 -0
  149. package/dist/esm/lib/resend-invite-dialog.js +44 -0
  150. package/dist/esm/lib/resend-invite-dialog.js.map +1 -0
  151. package/dist/esm/lib/revoke-invite-dialog.d.ts +10 -0
  152. package/dist/esm/lib/revoke-invite-dialog.d.ts.map +1 -0
  153. package/dist/esm/lib/revoke-invite-dialog.js +33 -0
  154. package/dist/esm/lib/revoke-invite-dialog.js.map +1 -0
  155. package/dist/esm/lib/search-provider.d.ts +11 -0
  156. package/dist/esm/lib/search-provider.d.ts.map +1 -0
  157. package/dist/esm/lib/search-provider.js +27 -0
  158. package/dist/esm/lib/search-provider.js.map +1 -0
  159. package/dist/esm/lib/use-is-hydrated.d.ts +2 -0
  160. package/dist/esm/lib/use-is-hydrated.d.ts.map +1 -0
  161. package/dist/esm/lib/use-is-hydrated.js +8 -0
  162. package/dist/esm/lib/use-is-hydrated.js.map +1 -0
  163. package/dist/esm/lib/user-actions-dropdown.d.ts +9 -0
  164. package/dist/esm/lib/user-actions-dropdown.d.ts.map +1 -0
  165. package/dist/esm/lib/user-actions-dropdown.js +56 -0
  166. package/dist/esm/lib/user-actions-dropdown.js.map +1 -0
  167. package/dist/esm/lib/users-filter.d.ts +9 -0
  168. package/dist/esm/lib/users-filter.d.ts.map +1 -0
  169. package/dist/esm/lib/users-filter.js +36 -0
  170. package/dist/esm/lib/users-filter.js.map +1 -0
  171. package/dist/esm/lib/users-management-context.d.ts +23 -0
  172. package/dist/esm/lib/users-management-context.d.ts.map +1 -0
  173. package/dist/esm/lib/users-management-context.js +54 -0
  174. package/dist/esm/lib/users-management-context.js.map +1 -0
  175. package/dist/esm/lib/users-management-state.d.ts +22 -0
  176. package/dist/esm/lib/users-management-state.d.ts.map +1 -0
  177. package/dist/esm/lib/users-management-state.js +117 -0
  178. package/dist/esm/lib/users-management-state.js.map +1 -0
  179. package/dist/esm/lib/users-management.d.ts +12 -0
  180. package/dist/esm/lib/users-management.d.ts.map +1 -0
  181. package/dist/esm/lib/users-management.js +114 -0
  182. package/dist/esm/lib/users-management.js.map +1 -0
  183. package/dist/esm/lib/users-search.d.ts +3 -0
  184. package/dist/esm/lib/users-search.d.ts.map +1 -0
  185. package/dist/esm/lib/users-search.js +39 -0
  186. package/dist/esm/lib/users-search.js.map +1 -0
  187. package/dist/esm/lib/utils.d.ts +15 -0
  188. package/dist/esm/lib/utils.d.ts.map +1 -0
  189. package/dist/esm/lib/utils.js +70 -0
  190. package/dist/esm/lib/utils.js.map +1 -0
  191. package/dist/esm/lib/widgets-context.d.ts +11 -0
  192. package/dist/esm/lib/widgets-context.d.ts.map +1 -0
  193. package/dist/esm/lib/widgets-context.js +17 -0
  194. package/dist/esm/lib/widgets-context.js.map +1 -0
  195. package/dist/esm/users-management.client.d.ts +6 -0
  196. package/dist/esm/users-management.client.d.ts.map +1 -0
  197. package/dist/esm/users-management.client.js +30 -0
  198. package/dist/esm/users-management.client.js.map +1 -0
  199. package/dist/esm/workos-widgets.client.d.ts +17 -0
  200. package/dist/esm/workos-widgets.client.d.ts.map +1 -0
  201. package/dist/esm/workos-widgets.client.js +28 -0
  202. package/dist/esm/workos-widgets.client.js.map +1 -0
  203. package/dist/tsconfig.cjs.tsbuildinfo +1 -0
  204. package/dist/tsconfig.esm.tsbuildinfo +1 -0
  205. package/package.json +69 -0
  206. package/src/index.ts +5 -0
  207. package/src/lib/api/config.ts +9 -0
  208. package/src/lib/api/role.ts +124 -0
  209. package/src/lib/api/user.ts +458 -0
  210. package/src/lib/constants.ts +2 -0
  211. package/src/lib/delete-user-dialog.tsx +103 -0
  212. package/src/lib/edit-user-details-dialog.tsx +170 -0
  213. package/src/lib/elements.tsx +175 -0
  214. package/src/lib/invite-user-dialog.tsx +319 -0
  215. package/src/lib/label.tsx +14 -0
  216. package/src/lib/pagination.tsx +69 -0
  217. package/src/lib/resend-invite-dialog.tsx +136 -0
  218. package/src/lib/revoke-invite-dialog.tsx +104 -0
  219. package/src/lib/search-provider.tsx +51 -0
  220. package/src/lib/use-is-hydrated.ts +13 -0
  221. package/src/lib/user-actions-dropdown.tsx +161 -0
  222. package/src/lib/users-filter.tsx +122 -0
  223. package/src/lib/users-management-context.tsx +89 -0
  224. package/src/lib/users-management-state.ts +165 -0
  225. package/src/lib/users-management.tsx +461 -0
  226. package/src/lib/users-search.tsx +130 -0
  227. package/src/lib/utils.ts +94 -0
  228. package/src/lib/widgets-context.ts +29 -0
  229. package/src/users-management.client.tsx +59 -0
  230. package/src/workos-widgets.client.tsx +73 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 WorkOS
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # WorkOS Widgets
2
+
3
+ Coming soon.
@@ -0,0 +1,3 @@
1
+ export { WorkOsWidgets, type WorkOsWidgetsProps, } from "./workos-widgets.client";
2
+ export { UsersManagement } from "./users-management.client";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,KAAK,kBAAkB,GACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UsersManagement = exports.WorkOsWidgets = void 0;
4
+ var workos_widgets_client_1 = require("./workos-widgets.client");
5
+ Object.defineProperty(exports, "WorkOsWidgets", { enumerable: true, get: function () { return workos_widgets_client_1.WorkOsWidgets; } });
6
+ var users_management_client_1 = require("./users-management.client");
7
+ Object.defineProperty(exports, "UsersManagement", { enumerable: true, get: function () { return users_management_client_1.UsersManagement; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,iEAGiC;AAF/B,sHAAA,aAAa,OAAA;AAGf,qEAA4D;AAAnD,0HAAA,eAAe,OAAA"}
@@ -0,0 +1,9 @@
1
+ export declare const DEFAULT_API_HOSTNAME = "api.workos.com";
2
+ export declare const API_ENDPOINTS: {
3
+ USERS: string;
4
+ USER_ROLES: string;
5
+ USER_INVITE: string;
6
+ USER_INVITES: string;
7
+ USER_INVITES_RESEND: (userId: string) => string;
8
+ };
9
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/config.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,mBAAmB,CAAC;AACrD,eAAO,MAAM,aAAa;;;;;kCAKM,MAAM;CAErC,CAAC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.API_ENDPOINTS = exports.DEFAULT_API_HOSTNAME = void 0;
4
+ exports.DEFAULT_API_HOSTNAME = "api.workos.com";
5
+ exports.API_ENDPOINTS = {
6
+ USERS: "_widgets/UserManagement/members",
7
+ USER_ROLES: "_widgets/UserManagement/roles",
8
+ USER_INVITE: "_widgets/UserManagement/invite-user",
9
+ USER_INVITES: "_widgets/UserManagement/invites",
10
+ USER_INVITES_RESEND: (userId) => `_widgets/UserManagement/invites/${userId}/resend`,
11
+ };
12
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/lib/api/config.ts"],"names":[],"mappings":";;;AAAa,QAAA,oBAAoB,GAAG,gBAAgB,CAAC;AACxC,QAAA,aAAa,GAAG;IAC3B,KAAK,EAAE,iCAAiC;IACxC,UAAU,EAAE,+BAA+B;IAC3C,WAAW,EAAE,qCAAqC;IAClD,YAAY,EAAE,iCAAiC;IAC/C,mBAAmB,EAAE,CAAC,MAAc,EAAE,EAAE,CACtC,mCAAmC,MAAM,SAAS;CACrD,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { UsersManagementContextType } from "../users-management-context";
2
+ export interface Role {
3
+ name: string;
4
+ slug: string;
5
+ default: boolean;
6
+ }
7
+ export declare const useRoles: (initialContext?: UsersManagementContextType) => import("@tanstack/react-query").DefinedUseQueryResult<Role[], Error>;
8
+ export declare const useRole: (slug: string, initialContext?: UsersManagementContextType) => import("@tanstack/react-query").UseQueryResult<Role, Error>;
9
+ //# sourceMappingURL=role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/role.ts"],"names":[],"mappings":"AACA,OAAO,EACL,0BAA0B,EAE3B,MAAM,6BAA6B,CAAC;AAKrC,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,QAAQ,oBAAqB,0BAA0B,yEASnE,CAAC;AAEF,eAAO,MAAM,OAAO,SACZ,MAAM,mBACK,0BAA0B,gEA8B5C,CAAC"}
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useRole = exports.useRoles = void 0;
4
+ const react_query_1 = require("@tanstack/react-query");
5
+ const users_management_context_1 = require("../users-management-context");
6
+ const widgets_context_1 = require("../widgets-context");
7
+ const config_1 = require("./config");
8
+ const constants_1 = require("../constants");
9
+ const useRoles = (initialContext) => {
10
+ const { authToken } = (0, users_management_context_1.useUsersManagementContext)(initialContext);
11
+ const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
12
+ return (0, react_query_1.useQuery)({
13
+ queryKey: ["roles"],
14
+ queryFn: () => fetchRoles({ authToken, baseUrl }),
15
+ enabled: !!authToken,
16
+ initialData: [],
17
+ });
18
+ };
19
+ exports.useRoles = useRoles;
20
+ const useRole = (slug, initialContext) => {
21
+ const { authToken } = (0, users_management_context_1.useUsersManagementContext)(initialContext);
22
+ const queryClient = (0, react_query_1.useQueryClient)();
23
+ const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
24
+ return (0, react_query_1.useQuery)({
25
+ queryKey: ["role", slug],
26
+ queryFn: () => {
27
+ if (!authToken) {
28
+ throw new Error("No auth token provided");
29
+ }
30
+ const getRoleOrFetch = async (attempts = 0) => {
31
+ if (attempts >= 3) {
32
+ return fetchRole(slug, { authToken, baseUrl });
33
+ }
34
+ const roles = queryClient.getQueryData(["roles"]);
35
+ const role = roles?.find((role) => role.slug === slug);
36
+ if (role) {
37
+ return role;
38
+ }
39
+ await new Promise((resolve) => setTimeout(resolve, 1000));
40
+ return getRoleOrFetch(attempts + 1);
41
+ };
42
+ return getRoleOrFetch();
43
+ },
44
+ enabled: !!authToken,
45
+ staleTime: Number.POSITIVE_INFINITY,
46
+ });
47
+ };
48
+ exports.useRole = useRole;
49
+ /**
50
+ * Fetch functions
51
+ */
52
+ const fetchRoles = async ({ authToken, baseUrl, }) => {
53
+ if (!authToken) {
54
+ throw new Error("No auth token provided");
55
+ }
56
+ const url = new URL(`${baseUrl}/${config_1.API_ENDPOINTS.USER_ROLES}`);
57
+ const response = await fetch(url, {
58
+ cache: "no-store",
59
+ headers: getAuthHeaders(authToken),
60
+ }).catch((error) => {
61
+ console.error(error);
62
+ // TODO: handle fetch errors
63
+ throw new Error("Failed to fetch roles");
64
+ });
65
+ if (!response.ok) {
66
+ // TODO: handle this case
67
+ throw new Error("Failed to fetch roles");
68
+ }
69
+ const data = await response.json();
70
+ return data;
71
+ };
72
+ const fetchRole = async (slug, { authToken, baseUrl, }) => {
73
+ const url = new URL(`${baseUrl}/${config_1.API_ENDPOINTS.USER_ROLES}/${slug}`);
74
+ const response = await fetch(url, {
75
+ cache: "no-store",
76
+ headers: getAuthHeaders(authToken),
77
+ }).catch((error) => {
78
+ console.error(error);
79
+ // TODO: handle fetch errors
80
+ throw new Error("Failed to fetch role");
81
+ });
82
+ if (!response.ok) {
83
+ // TODO: handle this case
84
+ throw new Error("Failed to fetch role");
85
+ }
86
+ return response.json();
87
+ };
88
+ function getAuthHeaders(authToken) {
89
+ return {
90
+ Authorization: `Bearer ${authToken}`,
91
+ "WorkOS-Widgets-Version": constants_1.WIDGETS_API_VERSION,
92
+ };
93
+ }
94
+ //# sourceMappingURL=role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"role.js","sourceRoot":"","sources":["../../../../src/lib/api/role.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { type UsersManagementContextType } from "../users-management-context";
2
+ export interface PaginationData {
3
+ before?: string;
4
+ after?: string;
5
+ }
6
+ export type UserAction = "edit-role" | "revoke-membership" | "resend-invite" | "revoke-invite";
7
+ export type UserStatus = "Active" | "Invited" | "InviteExpired" | "InviteRevoked";
8
+ export interface UserRole {
9
+ slug: string;
10
+ name: string;
11
+ }
12
+ export interface User {
13
+ id: string;
14
+ email: string;
15
+ profilePictureUrl?: string | null;
16
+ firstName?: string | null;
17
+ lastName?: string | null;
18
+ emailVerified: boolean;
19
+ createdAt: string;
20
+ lastActivityAt?: string | null;
21
+ isLoggedInUser?: boolean;
22
+ roles: UserRole[];
23
+ actions: UserAction[];
24
+ status: UserStatus;
25
+ }
26
+ export type Paginated<T> = {
27
+ data: T;
28
+ pagination: PaginationData;
29
+ };
30
+ type PaginatedUsers = Paginated<User[]>;
31
+ export declare const useUsers: (context?: UsersManagementContextType) => import("@tanstack/react-query").UseQueryResult<PaginatedUsers, Error>;
32
+ export declare const useUser: (userId: string, initialContext?: UsersManagementContextType) => import("@tanstack/react-query").UseQueryResult<User, Error>;
33
+ export declare const useUpdateUserRole: (args?: {
34
+ onError?: (error: unknown) => void;
35
+ }) => import("@tanstack/react-query").UseMutationResult<{
36
+ id: string;
37
+ success: boolean;
38
+ }, unknown, {
39
+ id: string;
40
+ data: {
41
+ roles: string[];
42
+ };
43
+ }, unknown>;
44
+ export interface InviteUserPayload {
45
+ email: string;
46
+ role: string;
47
+ }
48
+ export declare const useInviteUser: (args?: {
49
+ onError?: (error: unknown) => void;
50
+ }) => import("@tanstack/react-query").UseMutationResult<unknown, unknown, InviteUserPayload, unknown>;
51
+ export declare const useDeleteUser: (args?: {
52
+ onError?: (error: unknown) => void;
53
+ }) => import("@tanstack/react-query").UseMutationResult<unknown, unknown, string, unknown>;
54
+ export declare const useRevokeUserInvite: (args?: {
55
+ onError?: (error: unknown) => void;
56
+ }) => import("@tanstack/react-query").UseMutationResult<unknown, unknown, string, unknown>;
57
+ export declare const useResendUserInvite: (args?: {
58
+ onError?: (error: unknown) => void;
59
+ }) => import("@tanstack/react-query").UseMutationResult<unknown, unknown, string, unknown>;
60
+ export {};
61
+ //# sourceMappingURL=user.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.d.ts","sourceRoot":"","sources":["../../../../src/lib/api/user.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,6BAA6B,CAAC;AAMrC,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,UAAU,GAClB,WAAW,GACX,mBAAmB,GACnB,eAAe,GACf,eAAe,CAAC;AAEpB,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,SAAS,GACT,eAAe,GACf,eAAe,CAAC;AAEpB,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,UAAU,EAAE,cAAc,CAAA;CAAE,CAAC;AAEnE,KAAK,cAAc,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;AAWxC,eAAO,MAAM,QAAQ,aAAc,0BAA0B,0EA2B5D,CAAC;AAEF,eAAO,MAAM,OAAO,WACV,MAAM,mBACG,0BAA0B,gEAS5C,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAAW;IACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;QAsNsB,MAAM;aAAW,OAAO;;QA3MrC,MAAM;UACJ;QAAE,KAAK,EAAE,MAAM,EAAE,CAAA;KAAE;WAQ9B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,aAAa,UAAW;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,oGAcA,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW;IACnC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,yFAcA,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAAW;IACzC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,yFAcA,CAAC;AAEF,eAAO,MAAM,mBAAmB,UAAW;IACzC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC,yFAcA,CAAC"}
@@ -0,0 +1,312 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useResendUserInvite = exports.useRevokeUserInvite = exports.useDeleteUser = exports.useInviteUser = exports.useUpdateUserRole = exports.useUser = exports.useUsers = void 0;
4
+ const react_query_1 = require("@tanstack/react-query");
5
+ const users_management_context_1 = require("../users-management-context");
6
+ const utils_1 = require("../utils");
7
+ const widgets_context_1 = require("../widgets-context");
8
+ const config_1 = require("./config");
9
+ const constants_1 = require("../constants");
10
+ class InviteUserError extends Error {
11
+ status;
12
+ constructor(args) {
13
+ super(args.message);
14
+ this.name = "InviteUserError";
15
+ this.status = args.status;
16
+ }
17
+ }
18
+ const useUsers = (context) => {
19
+ const { authToken, state: { pagination, role, searchQuery }, } = (0, users_management_context_1.useUsersManagementContext)(context);
20
+ const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
21
+ const limit = constants_1.USER_ROW_LIMIT;
22
+ const { before, after } = pagination || {};
23
+ return (0, react_query_1.useQuery)({
24
+ queryKey: [
25
+ "users",
26
+ { authToken, baseUrl, limit, before, after, role, searchQuery },
27
+ ],
28
+ queryFn: () => fetchUsers({
29
+ authToken,
30
+ baseUrl,
31
+ limit,
32
+ before,
33
+ after,
34
+ role,
35
+ searchQuery,
36
+ }),
37
+ enabled: !!authToken,
38
+ placeholderData: react_query_1.keepPreviousData,
39
+ });
40
+ };
41
+ exports.useUsers = useUsers;
42
+ const useUser = (userId, initialContext) => {
43
+ const { authToken } = (0, users_management_context_1.useUsersManagementContext)(initialContext);
44
+ const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
45
+ return (0, react_query_1.useQuery)({
46
+ queryKey: ["user", userId],
47
+ queryFn: () => fetchUser(userId, { baseUrl, authToken }),
48
+ enabled: !!authToken,
49
+ });
50
+ };
51
+ exports.useUser = useUser;
52
+ const useUpdateUserRole = (args) => {
53
+ const { authToken } = (0, users_management_context_1.useUsersManagementContext)();
54
+ const queryClient = (0, react_query_1.useQueryClient)();
55
+ const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
56
+ const { onError } = args || {};
57
+ return (0, react_query_1.useMutation)({
58
+ mutationFn: ({ id, data: { roles }, }) => updateUserRole(id, { authToken, baseUrl, data: { roles } }),
59
+ onSuccess: (updatedUser) => {
60
+ queryClient.invalidateQueries({ queryKey: ["users"] });
61
+ queryClient.invalidateQueries({ queryKey: ["user", updatedUser.id] });
62
+ },
63
+ onError,
64
+ });
65
+ };
66
+ exports.useUpdateUserRole = useUpdateUserRole;
67
+ const useInviteUser = (args) => {
68
+ const { authToken } = (0, users_management_context_1.useUsersManagementContext)();
69
+ const queryClient = (0, react_query_1.useQueryClient)();
70
+ const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
71
+ const { onError } = args || {};
72
+ return (0, react_query_1.useMutation)({
73
+ mutationFn: (data) => inviteUser({ authToken, baseUrl, ...data }),
74
+ onSuccess: (_newUser) => {
75
+ queryClient.invalidateQueries({ queryKey: ["users"] });
76
+ },
77
+ onError,
78
+ });
79
+ };
80
+ exports.useInviteUser = useInviteUser;
81
+ const useDeleteUser = (args) => {
82
+ const { authToken } = (0, users_management_context_1.useUsersManagementContext)();
83
+ const queryClient = (0, react_query_1.useQueryClient)();
84
+ const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
85
+ const { onError } = args || {};
86
+ return (0, react_query_1.useMutation)({
87
+ mutationFn: (id) => deleteUser(id, { authToken, baseUrl }),
88
+ onSuccess: (_, userId) => {
89
+ queryClient.invalidateQueries({ queryKey: ["users"] });
90
+ queryClient.removeQueries({ queryKey: ["user", userId] });
91
+ },
92
+ onError,
93
+ });
94
+ };
95
+ exports.useDeleteUser = useDeleteUser;
96
+ const useRevokeUserInvite = (args) => {
97
+ const { authToken } = (0, users_management_context_1.useUsersManagementContext)();
98
+ const queryClient = (0, react_query_1.useQueryClient)();
99
+ const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
100
+ const { onError } = args || {};
101
+ return (0, react_query_1.useMutation)({
102
+ mutationFn: (id) => revokeUserInvite(id, { authToken, baseUrl }),
103
+ onSuccess: (_, userId) => {
104
+ queryClient.invalidateQueries({ queryKey: ["users"] });
105
+ queryClient.removeQueries({ queryKey: ["user", userId] });
106
+ },
107
+ onError,
108
+ });
109
+ };
110
+ exports.useRevokeUserInvite = useRevokeUserInvite;
111
+ const useResendUserInvite = (args) => {
112
+ const { authToken } = (0, users_management_context_1.useUsersManagementContext)();
113
+ const queryClient = (0, react_query_1.useQueryClient)();
114
+ const baseUrl = (0, widgets_context_1.useWorkOsApiUrl)();
115
+ const { onError } = args || {};
116
+ return (0, react_query_1.useMutation)({
117
+ mutationFn: (id) => resendUserInvite(id, { authToken, baseUrl }),
118
+ onSuccess: (_, userId) => {
119
+ queryClient.invalidateQueries({ queryKey: ["users"] });
120
+ queryClient.removeQueries({ queryKey: ["user", userId] });
121
+ },
122
+ onError,
123
+ });
124
+ };
125
+ exports.useResendUserInvite = useResendUserInvite;
126
+ /**
127
+ * Fetch functions
128
+ */
129
+ async function fetchUsers({ baseUrl, authToken, limit, role, before, after, searchQuery, }) {
130
+ if (!authToken) {
131
+ throw new Error("No auth token provided");
132
+ }
133
+ const url = new URL(`${baseUrl}/${config_1.API_ENDPOINTS.USERS}`);
134
+ url.searchParams.set("limit", limit.toString());
135
+ if (before) {
136
+ url.searchParams.set("before", before);
137
+ }
138
+ if (after) {
139
+ url.searchParams.set("after", after);
140
+ }
141
+ if (role) {
142
+ url.searchParams.set("role", role);
143
+ }
144
+ if (searchQuery) {
145
+ url.searchParams.set("search", searchQuery);
146
+ }
147
+ const response = await fetch(url, {
148
+ cache: "no-store",
149
+ headers: getAuthHeaders(authToken),
150
+ }).catch((error) => {
151
+ console.error(error);
152
+ // TODO: handle fetch errors
153
+ throw new Error("Failed to fetch users");
154
+ });
155
+ if (!response.ok) {
156
+ // TODO: handle this case
157
+ throw new Error("Failed to fetch users");
158
+ }
159
+ // TODO validate the response
160
+ const json = await response.json();
161
+ const { data, listMetadata: pagination } = json;
162
+ return { data, pagination };
163
+ }
164
+ const fetchUser = async (userId, { authToken, baseUrl }) => {
165
+ if (!authToken) {
166
+ throw new Error("No auth token provided");
167
+ }
168
+ const response = await fetch(`${baseUrl}/${config_1.API_ENDPOINTS.USERS}/${userId}`, {
169
+ headers: getAuthHeaders(authToken),
170
+ cache: "no-store",
171
+ }).catch((error) => {
172
+ console.error(error);
173
+ // TODO: handle fetch errors
174
+ throw new Error("Failed to fetch user");
175
+ });
176
+ if (!response.ok) {
177
+ // TODO: handle this case
178
+ throw new Error("Failed to fetch user");
179
+ }
180
+ // TODO validate the response
181
+ const json = await response.json();
182
+ return json.data;
183
+ };
184
+ const updateUserRole = async (userId, { authToken, baseUrl, data, }) => {
185
+ if (!authToken) {
186
+ // TODO handle this case
187
+ throw new Error("No auth token");
188
+ }
189
+ const response = await fetch(`${baseUrl}/${config_1.API_ENDPOINTS.USERS}/${userId}`, {
190
+ method: "POST",
191
+ headers: {
192
+ "Content-Type": "application/json",
193
+ ...getAuthHeaders(authToken),
194
+ },
195
+ body: JSON.stringify(data),
196
+ }).catch((error) => {
197
+ console.error(error);
198
+ // TODO: handle fetch errors
199
+ throw new Error("Failed to update user");
200
+ });
201
+ if (!response.ok) {
202
+ throw new Error("Failed to update user");
203
+ }
204
+ // TODO validate the response
205
+ const json = await response.json();
206
+ return json;
207
+ };
208
+ const inviteUser = async ({ authToken, baseUrl, ...data }) => {
209
+ if (!authToken) {
210
+ // TODO handle this case
211
+ throw new Error("No auth token");
212
+ }
213
+ if (!data.role) {
214
+ throw new Error("Role required to invite user");
215
+ }
216
+ const response = await fetch(`${baseUrl}/${config_1.API_ENDPOINTS.USER_INVITE}`, {
217
+ method: "POST",
218
+ headers: {
219
+ "Content-Type": "application/json",
220
+ ...getAuthHeaders(authToken),
221
+ },
222
+ body: JSON.stringify({
223
+ email: data.email,
224
+ roles: [data.role],
225
+ }),
226
+ }).catch((error) => {
227
+ console.error(error);
228
+ // TODO: handle fetch errors
229
+ throw new Error("Failed to invite user");
230
+ });
231
+ if (!response.ok) {
232
+ const { message, status } = await (0, utils_1.parseErrorResponse)(response);
233
+ throw new InviteUserError({
234
+ message,
235
+ status,
236
+ });
237
+ }
238
+ // TODO validate the response
239
+ const json = await response.json();
240
+ return json;
241
+ };
242
+ const deleteUser = async (userId, { authToken, baseUrl }) => {
243
+ if (!authToken) {
244
+ // TODO handle this case
245
+ throw new Error("No auth token");
246
+ }
247
+ const response = await fetch(`${baseUrl}/${config_1.API_ENDPOINTS.USERS}/${userId}`, {
248
+ method: "DELETE",
249
+ headers: getAuthHeaders(authToken),
250
+ }).catch((error) => {
251
+ console.error(error);
252
+ // TODO: handle fetch errors
253
+ throw new Error("Failed to delete user. Please try again.");
254
+ });
255
+ if (!response.ok) {
256
+ console.error(response);
257
+ // TODO: handle server errors
258
+ throw new Error("Failed to delete user. Please try again.");
259
+ }
260
+ // TODO validate the response
261
+ const json = await response.json();
262
+ return json;
263
+ };
264
+ const revokeUserInvite = async (userId, { authToken, baseUrl }) => {
265
+ if (!authToken) {
266
+ // TODO handle this case
267
+ throw new Error("No auth token");
268
+ }
269
+ const response = await fetch(`${baseUrl}/${config_1.API_ENDPOINTS.USER_INVITES}/${userId}`, {
270
+ method: "DELETE",
271
+ headers: getAuthHeaders(authToken),
272
+ }).catch((error) => {
273
+ console.error(error);
274
+ // TODO: handle fetch errors
275
+ throw new Error("Failed to resend user invite. Please try again.");
276
+ });
277
+ if (!response.ok) {
278
+ // TODO: handle server errors
279
+ throw new Error("Failed to resend user invite. Please try again.");
280
+ }
281
+ // TODO validate the response
282
+ const json = await response.json();
283
+ return json;
284
+ };
285
+ const resendUserInvite = async (userId, { authToken, baseUrl }) => {
286
+ if (!authToken) {
287
+ // TODO handle this case
288
+ throw new Error("No auth token");
289
+ }
290
+ const response = await fetch(`${baseUrl}/${config_1.API_ENDPOINTS.USER_INVITES_RESEND(userId)}`, {
291
+ method: "POST",
292
+ headers: getAuthHeaders(authToken),
293
+ }).catch((error) => {
294
+ console.error(error);
295
+ // TODO: handle fetch errors
296
+ throw new Error("Failed to resend user invite. Please try again.");
297
+ });
298
+ if (!response.ok) {
299
+ // TODO: handle server errors
300
+ throw new Error("Failed to resend user invite. Please try again.");
301
+ }
302
+ // TODO validate the response
303
+ const json = await response.json();
304
+ return json;
305
+ };
306
+ function getAuthHeaders(authToken) {
307
+ return {
308
+ Authorization: `Bearer ${authToken}`,
309
+ "WorkOS-Widgets-Version": constants_1.WIDGETS_API_VERSION,
310
+ };
311
+ }
312
+ //# sourceMappingURL=user.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../../../src/lib/api/user.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const USER_ROW_LIMIT = 10;
2
+ export declare const WIDGETS_API_VERSION = "v1";
3
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,mBAAmB,OAAO,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WIDGETS_API_VERSION = exports.USER_ROW_LIMIT = void 0;
4
+ exports.USER_ROW_LIMIT = 10;
5
+ exports.WIDGETS_API_VERSION = "v1";
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,cAAc,GAAG,EAAE,CAAC;AACpB,QAAA,mBAAmB,GAAG,IAAI,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { AlertDialog } from "@radix-ui/themes";
2
+ import { type ReactNode } from "react";
3
+ import type { User } from "./api/user";
4
+ interface DeleteUserDialogProps extends AlertDialog.RootProps {
5
+ open: boolean;
6
+ onOpenChange: (open: boolean) => void;
7
+ user: User;
8
+ children?: ReactNode;
9
+ }
10
+ export declare const DeleteUserDialog: ({ children, user, ...props }: DeleteUserDialogProps) => import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=delete-user-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete-user-dialog.d.ts","sourceRoot":"","sources":["../../../src/lib/delete-user-dialog.tsx"],"names":[],"mappings":"AAGA,OAAO,EACL,WAAW,EAKZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,KAAK,SAAS,EAAU,MAAM,OAAO,CAAC;AAE/C,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,UAAU,qBAAsB,SAAQ,WAAW,CAAC,SAAS;IAC3D,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,gBAAgB,iCAI1B,qBAAqB,4CAoEvB,CAAC"}