@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
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.useUsersManagementState = useUsersManagementState;
27
+ const React = __importStar(require("react"));
28
+ const utils_1 = require("./utils");
29
+ function useUsersManagementState(initialState) {
30
+ const [[state, effects], dispatch] = React.useReducer(reducer, [
31
+ initialState,
32
+ [],
33
+ ]);
34
+ React.useEffect(() => {
35
+ if (window !== window.top) {
36
+ // do not use query params if widget is rendered in an iframe
37
+ return;
38
+ }
39
+ const params = new URLSearchParams(window.location.search);
40
+ dispatch({ type: "INIT", params });
41
+ }, []);
42
+ React.useEffect(() => {
43
+ for (const effect of effects) {
44
+ effect();
45
+ }
46
+ }, [effects]);
47
+ return [state, dispatch];
48
+ }
49
+ function reducer(current, action) {
50
+ const effects = [];
51
+ const exec = (fn) => {
52
+ const effect = () => {
53
+ if (!effect.disposed) {
54
+ effect.disposed = true;
55
+ fn();
56
+ }
57
+ };
58
+ effect.disposed = false;
59
+ effects.push(effect);
60
+ };
61
+ const [currentState] = current;
62
+ switch (action.type) {
63
+ case "INIT": {
64
+ const { params } = action;
65
+ let role, searchQuery;
66
+ if ((role = params.get("ak_role"))) {
67
+ return [{ ...currentState, searchQuery: null, role }, effects];
68
+ }
69
+ if ((searchQuery = params.get("ak_q"))) {
70
+ return [{ ...currentState, searchQuery, role: null }, effects];
71
+ }
72
+ return current;
73
+ }
74
+ case "SET_PAGINATION": {
75
+ const { pagination } = action;
76
+ if ((pagination.after &&
77
+ pagination.after === currentState.pagination?.after) ||
78
+ (pagination.before &&
79
+ pagination.before === currentState.pagination?.before)) {
80
+ return current;
81
+ }
82
+ return [{ ...currentState, pagination }, effects];
83
+ }
84
+ case "FILTER_BY_ROLE": {
85
+ if (action.role === currentState.role) {
86
+ return current;
87
+ }
88
+ const { role } = action;
89
+ exec(() => updateQueryParams({ ak_role: role, ak_q: null }, { replaceState: true }));
90
+ return [
91
+ { ...currentState, pagination: null, role, searchQuery: null },
92
+ effects,
93
+ ];
94
+ }
95
+ case "FILTER_BY_SEARCH": {
96
+ if (action.searchQuery === currentState.searchQuery) {
97
+ return current;
98
+ }
99
+ const { searchQuery } = action;
100
+ exec(() => updateQueryParams({ ak_role: null, ak_q: searchQuery }, { replaceState: true }));
101
+ return [
102
+ { ...currentState, pagination: null, role: null, searchQuery },
103
+ effects,
104
+ ];
105
+ //
106
+ break;
107
+ }
108
+ default:
109
+ return current;
110
+ }
111
+ }
112
+ function updateQueryParams(newParams, args = {}) {
113
+ if (!utils_1.canUseDOM) {
114
+ throw new Error("Cannot update query params on the server");
115
+ }
116
+ if (window !== window.top) {
117
+ // do not update query params if widget is rendered in an iframe
118
+ return;
119
+ }
120
+ const initialSearch = window.location.search;
121
+ const params = new URLSearchParams(initialSearch);
122
+ Object.entries(newParams).forEach(([key, value]) => {
123
+ if (value != null && value !== "") {
124
+ params.set(key, String(value));
125
+ }
126
+ else {
127
+ params.delete(key);
128
+ }
129
+ });
130
+ if (initialSearch === `?${params.toString()}`) {
131
+ return;
132
+ }
133
+ const newUrl = params.toString()
134
+ ? `${window.location.pathname}?${params}`
135
+ : window.location.pathname;
136
+ if (args.replaceState) {
137
+ window.history.replaceState({}, "", newUrl);
138
+ }
139
+ else {
140
+ window.history.pushState({}, "", newUrl);
141
+ }
142
+ }
143
+ //# sourceMappingURL=users-management-state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users-management-state.js","sourceRoot":"","sources":["../../../src/lib/users-management-state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { Role } from "./api/role";
2
+ import type { Paginated, User } from "./api/user";
3
+ interface UsersManagementProps {
4
+ rolesData: Role[] | undefined;
5
+ userData: Paginated<User[]> | undefined;
6
+ alternate?: boolean;
7
+ isPending?: boolean;
8
+ isInitialLoading?: boolean;
9
+ }
10
+ export declare const UsersManagement: ({ userData, rolesData, alternate, isPending, isInitialLoading, }: UsersManagementProps) => import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=users-management.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users-management.d.ts","sourceRoot":"","sources":["../../../src/lib/users-management.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAmBlD,UAAU,oBAAoB;IAC5B,SAAS,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;IAC9B,QAAQ,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IAGxC,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,eAAe,qEAMzB,oBAAoB,4CAgLtB,CAAC"}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ "use client";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.UsersManagement = void 0;
28
+ const jsx_runtime_1 = require("react/jsx-runtime");
29
+ const React = __importStar(require("react"));
30
+ const themes_1 = require("@radix-ui/themes");
31
+ const elements_1 = require("./elements");
32
+ const invite_user_dialog_1 = require("./invite-user-dialog");
33
+ const pagination_1 = require("./pagination");
34
+ const search_provider_1 = require("./search-provider");
35
+ const use_is_hydrated_1 = require("./use-is-hydrated");
36
+ const user_actions_dropdown_1 = require("./user-actions-dropdown");
37
+ const users_filter_1 = require("./users-filter");
38
+ const users_search_1 = require("./users-search");
39
+ const utils_1 = require("./utils");
40
+ const constants_1 = require("./constants");
41
+ const users_management_context_1 = require("./users-management-context");
42
+ const UsersManagement = ({ userData, rolesData, alternate, isPending, isInitialLoading, }) => {
43
+ const users = userData?.data;
44
+ const usersCount = users?.length ?? 0;
45
+ const isHydrated = (0, use_is_hydrated_1.useIsHydrated)();
46
+ return ((0, jsx_runtime_1.jsx)(search_provider_1.SearchProvider, { children: (0, jsx_runtime_1.jsxs)(themes_1.Flex, { direction: "column", gap: "3", children: [(0, jsx_runtime_1.jsxs)(themes_1.Grid, { columns: "1fr auto", gap: "2", children: [(0, jsx_runtime_1.jsxs)(themes_1.Flex, { gap: "2", align: "center", children: [(0, jsx_runtime_1.jsx)(themes_1.Skeleton, { loading: isInitialLoading, children: (0, jsx_runtime_1.jsx)(themes_1.Box, { flexBasis: "380px", flexGrow: "0", flexShrink: "1", children: (0, jsx_runtime_1.jsx)(users_search_1.UsersSearch, {}) }) }), (0, jsx_runtime_1.jsx)(themes_1.Skeleton, { loading: isInitialLoading, children: (0, jsx_runtime_1.jsx)(themes_1.Box, { flexGrow: "0", flexShrink: "0", children: (0, jsx_runtime_1.jsx)(users_filter_1.UsersFilter, { roles: rolesData }) }) })] }), (0, jsx_runtime_1.jsx)(themes_1.Skeleton, { loading: isInitialLoading, children: (0, jsx_runtime_1.jsx)(themes_1.Box, { flexGrow: "0", flexShrink: "0", style: { placeSelf: "flex-end" }, children: (0, jsx_runtime_1.jsx)(invite_user_dialog_1.InviteUserDialog, { children: (0, jsx_runtime_1.jsx)(elements_1.PrimaryButton, { children: "Invite user" }) }) }) })] }), (0, jsx_runtime_1.jsxs)(themes_1.Table.Root, { variant: "ghost", size: "1", children: [(0, jsx_runtime_1.jsx)(themes_1.Table.Header, { children: (0, jsx_runtime_1.jsxs)(themes_1.Table.Row, { children: [(0, jsx_runtime_1.jsx)(themes_1.Table.ColumnHeaderCell, { width: "260px", children: (0, jsx_runtime_1.jsx)(themes_1.Skeleton, { loading: isInitialLoading, children: "User" }) }), (0, jsx_runtime_1.jsx)(themes_1.Table.ColumnHeaderCell, { width: "100px", children: (0, jsx_runtime_1.jsx)(themes_1.Skeleton, { loading: isInitialLoading, children: "Role" }) }), (0, jsx_runtime_1.jsx)(themes_1.Table.ColumnHeaderCell, { width: "140px", children: (0, jsx_runtime_1.jsx)(themes_1.Skeleton, { loading: isInitialLoading, children: "Last active" }) }), (0, jsx_runtime_1.jsx)(themes_1.Table.ColumnHeaderCell, { width: "28px" })] }) }), (0, jsx_runtime_1.jsxs)(themes_1.Table.Body, { style: {
47
+ transition: `opacity 0.2s ease-out ${isPending ? "0.2s" : "0s"}`,
48
+ opacity: isPending && usersCount > 0 ? 0.5 : 1,
49
+ }, children: [isInitialLoading && ((0, jsx_runtime_1.jsx)(SkeletonRows, { length: constants_1.USER_ROW_LIMIT, alternate: alternate })), users?.map((user, i) => {
50
+ // TODO only support one role for now
51
+ const userRole = user.roles[0]?.name;
52
+ const userDisplayName = (0, utils_1.getBestName)(user);
53
+ const dimText = user.status === "InviteRevoked" ||
54
+ user.status === "InviteExpired";
55
+ return ((0, jsx_runtime_1.jsxs)(themes_1.Table.Row, { align: "center", style: {
56
+ background: alternate && i % 2 === 1 ? "var(--gray-a1)" : undefined,
57
+ }, children: [(0, jsx_runtime_1.jsx)(themes_1.Table.RowHeaderCell, { children: (0, jsx_runtime_1.jsxs)(themes_1.Flex, { align: "center", gap: "3", overflow: "hidden", height: "var(--space-7)", children: [(0, jsx_runtime_1.jsx)(elements_1.Avatar, { size: "2", fallback: (0, jsx_runtime_1.jsx)(FallbackUserIcon, {}), src: user.profilePictureUrl ?? undefined, dim: dimText }), userDisplayName ? ((0, jsx_runtime_1.jsxs)(themes_1.Flex, { direction: "column", align: "start", height: "var(--space-7)", justify: "center", overflow: "hidden", children: [(0, jsx_runtime_1.jsxs)(themes_1.Flex, { gap: "2", align: "center", minWidth: "0", children: [(0, jsx_runtime_1.jsx)(TableCellText, { dim: dimText, children: userDisplayName }), (0, jsx_runtime_1.jsx)(UserBadge, { user: user })] }), (0, jsx_runtime_1.jsx)(TableCellText, { level: "secondary", title: user.email, dim: dimText, children: user.email })] })) : ((0, jsx_runtime_1.jsxs)(themes_1.Flex, { gap: "2", align: "center", minWidth: "0", children: [(0, jsx_runtime_1.jsx)(TableCellText, { dim: dimText, title: user.email, children: user.email }), (0, jsx_runtime_1.jsx)(UserBadge, { user: user })] }))] }) }), (0, jsx_runtime_1.jsx)(themes_1.Table.Cell, { children: (0, jsx_runtime_1.jsx)(TableCellText, { dim: dimText, children: userRole || ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(themes_1.VisuallyHidden, { children: "No roles assigned" }), (0, jsx_runtime_1.jsx)("span", { "aria-hidden": true, style: { userSelect: "none" }, children: "\u2013" })] })) }) }), (0, jsx_runtime_1.jsx)(themes_1.Table.Cell, { children: (0, jsx_runtime_1.jsx)(LastActive, { user: user, isHydrated: isHydrated, dim: dimText }) }), (0, jsx_runtime_1.jsx)(themes_1.Table.Cell, { justify: "end", children: (0, jsx_runtime_1.jsx)(user_actions_dropdown_1.UserActionsDropdown, { user: user, children: (0, jsx_runtime_1.jsxs)(elements_1.IconButton, { title: "User actions", children: [(0, jsx_runtime_1.jsx)(themes_1.VisuallyHidden, { children: "User actions" }), (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", width: "16", height: "16", strokeWidth: 1.5, stroke: "currentColor", "aria-hidden": true, children: (0, jsx_runtime_1.jsx)("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M6.75 12a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM12.75 12a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM18.75 12a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z" }) })] }) }) })] }, user.id));
58
+ }), users?.length === 0 && ((0, jsx_runtime_1.jsx)(themes_1.Table.Row, { align: "center", children: (0, jsx_runtime_1.jsx)(themes_1.Table.Cell, { colSpan: 4, children: (0, jsx_runtime_1.jsx)(UsersManagementEmptyState, {}) }) }))] })] }), (0, jsx_runtime_1.jsx)(pagination_1.Pagination, { isPending: isPending, pagination: userData?.pagination })] }) }));
59
+ };
60
+ exports.UsersManagement = UsersManagement;
61
+ function UserBadge({ user }) {
62
+ // TODO: This is not yet available in the data. Update here after API is updated.
63
+ if (user.isLoggedInUser) {
64
+ return ((0, jsx_runtime_1.jsx)(elements_1.Badge, { color: "gray", style: { userSelect: "none" }, children: "You" }));
65
+ }
66
+ if (user.status === "Invited") {
67
+ return ((0, jsx_runtime_1.jsxs)(elements_1.Badge, { color: "amber", style: { userSelect: "none" }, children: [(0, jsx_runtime_1.jsx)(themes_1.VisuallyHidden, { children: "Status: " }), "Invited"] }));
68
+ }
69
+ if (user.status === "InviteExpired") {
70
+ return ((0, jsx_runtime_1.jsxs)(elements_1.Badge, { color: "red", style: { userSelect: "none" }, children: [(0, jsx_runtime_1.jsx)(themes_1.VisuallyHidden, { children: "Status: Invite " }), "Expired"] }));
71
+ }
72
+ if (user.status === "InviteRevoked") {
73
+ return ((0, jsx_runtime_1.jsxs)(elements_1.Badge, { color: "red", style: { userSelect: "none" }, children: [(0, jsx_runtime_1.jsx)(themes_1.VisuallyHidden, { children: "Status: Invite " }), "Revoked"] }));
74
+ }
75
+ return null;
76
+ }
77
+ function LastActive(props) {
78
+ if (!props.user.lastActivityAt) {
79
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(themes_1.VisuallyHidden, { children: props.user.status === "Active" ? "Never" : "Not active" }), (0, jsx_runtime_1.jsx)(TableCellText, { dim: props.dim, "aria-hidden": true, style: { userSelect: "none" }, children: "\u2013" })] }));
80
+ }
81
+ return (0, jsx_runtime_1.jsx)(LastActiveImpl, { ...props, date: props.user.lastActivityAt });
82
+ }
83
+ function LastActiveImpl({ date, isHydrated, dim, }) {
84
+ const { lastActiveDateTime, lastActiveDisplay } = React.useMemo(() => {
85
+ const defaultTimeZone = "America/Los_Angeles";
86
+ const lastActiveDate = new Date(date);
87
+ const lastActiveDateTime = lastActiveDate.toLocaleTimeString("en-US", {
88
+ // hard-coded timezone before hydration to prevent server/client mismatch
89
+ timeZone: isHydrated ? undefined : defaultTimeZone,
90
+ month: "long",
91
+ day: "numeric",
92
+ year: "numeric",
93
+ hour: "numeric",
94
+ minute: "numeric",
95
+ });
96
+ // Server and client may produce a different 'now' date, so only
97
+ // show comparative date if the component is hydrated to prevent a
98
+ // server/client mismatch
99
+ const lastActiveDisplay = isHydrated
100
+ ? (0, utils_1.getComparativeReadableDate)(new Date(), lastActiveDate)
101
+ : lastActiveDate.toLocaleDateString("en-US", {
102
+ // hard-coded timezone to prevent server/client mismatch
103
+ timeZone: defaultTimeZone,
104
+ month: "long",
105
+ day: "numeric",
106
+ year: "numeric",
107
+ });
108
+ return { lastActiveDateTime, lastActiveDisplay };
109
+ }, [isHydrated, date]);
110
+ // handle cases where the DB might return an invalid date string
111
+ if (lastActiveDisplay === "Invalid Date") {
112
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(themes_1.VisuallyHidden, { children: "Unknown" }), (0, jsx_runtime_1.jsx)(TableCellText, { dim: dim, "aria-hidden": true, style: { userSelect: "none" }, children: "\u2013" })] }));
113
+ }
114
+ return ((0, jsx_runtime_1.jsx)(TableCellText, { asChild: true, dim: dim, children: (0, jsx_runtime_1.jsx)("time", { dateTime: date, title: lastActiveDateTime, children: lastActiveDisplay }) }));
115
+ }
116
+ const SkeletonRows = ({ length, alternate = false, }) => {
117
+ return Array.from({ length }, (_, index) => {
118
+ return ((0, jsx_runtime_1.jsxs)(themes_1.Table.Row, { align: "center", style: {
119
+ background: alternate && index % 2 === 1 ? "var(--gray-a1)" : undefined,
120
+ }, children: [(0, jsx_runtime_1.jsx)(themes_1.Table.RowHeaderCell, { children: (0, jsx_runtime_1.jsxs)(themes_1.Flex, { align: "center", gap: "3", children: [(0, jsx_runtime_1.jsx)(themes_1.Skeleton, { children: (0, jsx_runtime_1.jsx)(elements_1.Avatar, { size: "2", fallback: "F" }) }), (0, jsx_runtime_1.jsxs)(themes_1.Flex, { direction: "column", height: "var(--space-7)", justify: "center", children: [(0, jsx_runtime_1.jsx)(themes_1.Skeleton, { width: "180px", height: "var(--space-4)" }), (0, jsx_runtime_1.jsx)(themes_1.Skeleton, { width: "90px", height: "var(--space-3)", mt: "1" })] })] }) }), (0, jsx_runtime_1.jsx)(themes_1.Table.Cell, { children: (0, jsx_runtime_1.jsx)(themes_1.Flex, { wrap: "wrap", gap: "1", children: (0, jsx_runtime_1.jsx)(themes_1.Skeleton, { width: "75px", height: "var(--space-4)" }) }) }), (0, jsx_runtime_1.jsx)(themes_1.Table.Cell, { children: (0, jsx_runtime_1.jsx)(themes_1.Skeleton, { width: "120px", height: "var(--space-4)" }) }), (0, jsx_runtime_1.jsx)(themes_1.Table.Cell, { justify: "end" })] }, index));
121
+ });
122
+ };
123
+ const TableCellText = React.forwardRef(function TableCellText({ children, dim, level = "primary", ...props }, forwardedRef) {
124
+ return ((0, jsx_runtime_1.jsx)(themes_1.Text, { ref: forwardedRef, color: level === "secondary" ? "gray" : undefined, weight: level === "secondary" ? "regular" : "medium", size: level === "secondary" ? "1" : "2", truncate: true, ...props, style: dim
125
+ ? {
126
+ // TODO: use CSS var instead of hard-coded value for opacity
127
+ opacity: 0.6,
128
+ ...props.style,
129
+ }
130
+ : props.style, children: children }));
131
+ });
132
+ const FallbackUserIcon = () => ((0, jsx_runtime_1.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", fill: "currentColor", viewBox: "0 0 256 256", children: [(0, jsx_runtime_1.jsx)("title", { children: "User icon" }), (0, jsx_runtime_1.jsx)("path", { d: "M229.19,213c-15.81-27.32-40.63-46.49-69.47-54.62a70,70,0,1,0-63.44,0C67.44,166.5,42.62,185.67,26.81,213a6,6,0,1,0,10.38,6C56.4,185.81,90.34,166,128,166s71.6,19.81,90.81,53a6,6,0,1,0,10.38-6ZM70,96a58,58,0,1,1,58,58A58.07,58.07,0,0,1,70,96Z" })] }));
133
+ const UsersManagementEmptyState = () => {
134
+ const { clearSearch } = (0, search_provider_1.useSearchContext)();
135
+ const { state: { searchQuery }, } = (0, users_management_context_1.useUsersManagementContext)();
136
+ if (searchQuery) {
137
+ return ((0, jsx_runtime_1.jsxs)(themes_1.Flex, { align: "center", justify: "center", py: "8", direction: "column", gap: "2", children: [(0, jsx_runtime_1.jsxs)(themes_1.Text, { size: "2", children: ["No users found for query ", (0, jsx_runtime_1.jsxs)(themes_1.Text, { weight: "medium", children: ["\u201C", searchQuery, "\u201D"] })] }), (0, jsx_runtime_1.jsx)(elements_1.SecondaryButton, { size: "1", onClick: clearSearch, children: "Clear search" })] }));
138
+ }
139
+ return ((0, jsx_runtime_1.jsx)(themes_1.Flex, { align: "center", justify: "center", py: "8", gap: "2", children: (0, jsx_runtime_1.jsx)(themes_1.Text, { size: "2", children: "No users found" }) }));
140
+ };
141
+ //# sourceMappingURL=users-management.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users-management.js","sourceRoot":"","sources":["../../../src/lib/users-management.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ export declare const UsersSearch: React.ForwardRefExoticComponent<Omit<Omit<import("@radix-ui/themes/dist/cjs/components/text-field").RootProps & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
3
+ //# sourceMappingURL=users-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users-search.d.ts","sourceRoot":"","sources":["../../../src/lib/users-search.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,eAAO,MAAM,WAAW,wPAyDvB,CAAC"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ "use client";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.UsersSearch = void 0;
28
+ const jsx_runtime_1 = require("react/jsx-runtime");
29
+ const react_compose_refs_1 = require("@radix-ui/react-compose-refs");
30
+ const react_icons_1 = require("@radix-ui/react-icons");
31
+ const themes_1 = require("@radix-ui/themes");
32
+ const React = __importStar(require("react"));
33
+ const use_debounce_1 = require("use-debounce");
34
+ const elements_1 = require("./elements");
35
+ const search_provider_1 = require("./search-provider");
36
+ const users_management_context_1 = require("./users-management-context");
37
+ exports.UsersSearch = React.forwardRef((props, ref) => {
38
+ const { inputRef, clearSearch, searchValue, setSearchValue } = (0, search_provider_1.useSearchContext)();
39
+ const { dispatch } = (0, users_management_context_1.useUsersManagementContext)();
40
+ const filter = (0, use_debounce_1.useDebouncedCallback)((value) => {
41
+ dispatch({ type: "FILTER_BY_SEARCH", searchQuery: value });
42
+ }, 200);
43
+ const resetSearch = () => {
44
+ clearSearch();
45
+ filter.cancel();
46
+ };
47
+ return ((0, jsx_runtime_1.jsxs)(elements_1.TextField, { ref: (0, react_compose_refs_1.useComposedRefs)(inputRef, ref), autoComplete: "off", placeholder: "Search by name or e-mail", value: searchValue, onChange: (event) => {
48
+ const value = event.target.value;
49
+ setSearchValue(value);
50
+ filter(value);
51
+ }, onKeyDown: (event) => {
52
+ if (event.key === "Escape") {
53
+ event.preventDefault();
54
+ resetSearch();
55
+ }
56
+ }, ...props, children: [(0, jsx_runtime_1.jsx)(elements_1.TextFieldSlot, { side: "left", children: (0, jsx_runtime_1.jsx)(react_icons_1.MagnifyingGlassIcon, { "aria-hidden": "true", height: "16", width: "16" }) }), (0, jsx_runtime_1.jsx)(elements_1.TextFieldSlot, { side: "right", children: searchValue && ((0, jsx_runtime_1.jsx)(themes_1.IconButton, { size: "1", color: "gray", variant: "ghost", radius: "full", onClick: resetSearch, "aria-label": "Clear search", title: "Clear search", children: (0, jsx_runtime_1.jsx)(react_icons_1.Cross2Icon, { "aria-hidden": "true" }) })) })] }));
57
+ });
58
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
59
+ function FilterMenu() {
60
+ return ((0, jsx_runtime_1.jsxs)(themes_1.DropdownMenu.Root, { children: [(0, jsx_runtime_1.jsx)(themes_1.DropdownMenu.Trigger, { children: (0, jsx_runtime_1.jsx)(themes_1.IconButton, { size: "1", color: "gray", variant: "ghost", radius: "full", "aria-label": "Filter users", title: "Filter users", children: (0, jsx_runtime_1.jsx)(FilterIcon, { "aria-hidden": "true" }) }) }), (0, jsx_runtime_1.jsxs)(themes_1.DropdownMenu.Content, { size: "2", align: "end", children: [(0, jsx_runtime_1.jsx)(elements_1.PrimaryMenuItem, { children: (0, jsx_runtime_1.jsxs)(themes_1.Flex, { gap: "2", align: "center", children: [(0, jsx_runtime_1.jsx)(themes_1.Checkbox, { variant: "surface" }), "One"] }) }), (0, jsx_runtime_1.jsx)(elements_1.PrimaryMenuItem, { children: (0, jsx_runtime_1.jsxs)(themes_1.Flex, { gap: "2", align: "center", children: [(0, jsx_runtime_1.jsx)(themes_1.Checkbox, {}), "Two"] }) })] })] }));
61
+ }
62
+ const FilterIcon = React.forwardRef(function FilterIcon({ children, ...props }, forwardedRef) {
63
+ return ((0, jsx_runtime_1.jsxs)("svg", { width: "15", height: "15", viewBox: "0 0 15 15", fill: "currentColor", xmlns: "http://www.w3.org/2000/svg", ref: forwardedRef, ...props, children: [children, (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M1.5 1C1.22386 1 1 1.22386 1 1.5V4.5C1 4.66316 1.07961 4.81605 1.21327 4.90962L6 8.26033V13.5C6 13.6733 6.08973 13.8342 6.23713 13.9253C6.38454 14.0164 6.56861 14.0247 6.72361 13.9472L8.72361 12.9472C8.893 12.8625 9 12.6894 9 12.5V8.26033L13.7867 4.90962C13.9204 4.81605 14 4.66316 14 4.5V1.5C14 1.22386 13.7761 1 13.5 1H1.5ZM2 4.23967V2H13V4.23967L8.21327 7.59038C8.07961 7.68395 8 7.83684 8 8V12.191L7 12.691V8C7 7.83684 6.92039 7.68395 6.78673 7.59038L2 4.23967ZM12 3H3V4H12V3Z", fill: "black" })] }));
64
+ });
65
+ //# sourceMappingURL=users-search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users-search.js","sourceRoot":"","sources":["../../../src/lib/users-search.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEb,qEAA+D;AAC/D,uDAAwE;AACxE,6CAA4E;AAC5E,6CAA+B;AAC/B,+CAAoD;AACpD,yCAAuE;AACvE,uDAAqD;AACrD,yEAAuE;AAI1D,QAAA,WAAW,GAAG,KAAK,CAAC,UAAU,CACzC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACb,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,GAC1D,IAAA,kCAAgB,GAAE,CAAC;IACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,oDAAyB,GAAE,CAAC;IAEjD,MAAM,MAAM,GAAG,IAAA,mCAAoB,EAAC,CAAC,KAAK,EAAE,EAAE;QAC5C,QAAQ,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7D,CAAC,EAAE,GAAG,CAAC,CAAC;IAER,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,WAAW,EAAE,CAAC;QACd,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CACL,wBAAC,oBAAS,IACR,GAAG,EAAE,IAAA,oCAAe,EAAC,QAAQ,EAAE,GAAG,CAAC,EACnC,YAAY,EAAC,KAAK,EAClB,WAAW,EAAC,0BAA0B,EACtC,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;YAClB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;YACjC,cAAc,CAAC,KAAK,CAAC,CAAC;YACtB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,EACD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;YACnB,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC3B,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,WAAW,EAAE,CAAC;YAChB,CAAC;QACH,CAAC,KACG,KAAK,aAET,uBAAC,wBAAa,IAAC,IAAI,EAAC,MAAM,YACxB,uBAAC,iCAAmB,mBAAa,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,GAAG,GACnD,EAEhB,uBAAC,wBAAa,IAAC,IAAI,EAAC,OAAO,YACxB,WAAW,IAAI,CACd,uBAAC,mBAAU,IACT,IAAI,EAAC,GAAG,EACR,KAAK,EAAC,MAAM,EACZ,OAAO,EAAC,OAAO,EACf,MAAM,EAAC,MAAM,EACb,OAAO,EAAE,WAAW,gBACT,cAAc,EACzB,KAAK,EAAC,cAAc,YAEpB,uBAAC,wBAAU,mBAAa,MAAM,GAAG,GACtB,CACd,GAEa,IACN,CACb,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,6DAA6D;AAC7D,SAAS,UAAU;IACjB,OAAO,CACL,wBAAC,qBAAY,CAAC,IAAI,eAChB,uBAAC,qBAAY,CAAC,OAAO,cACnB,uBAAC,mBAAU,IACT,IAAI,EAAC,GAAG,EACR,KAAK,EAAC,MAAM,EACZ,OAAO,EAAC,OAAO,EACf,MAAM,EAAC,MAAM,gBACF,cAAc,EACzB,KAAK,EAAC,cAAc,YAEpB,uBAAC,UAAU,mBAAa,MAAM,GAAG,GACtB,GACQ,EACvB,wBAAC,qBAAY,CAAC,OAAO,IAAC,IAAI,EAAC,GAAG,EAAC,KAAK,EAAC,KAAK,aACxC,uBAAC,0BAAe,cACd,wBAAC,aAAI,IAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,QAAQ,aAC1B,uBAAC,iBAAQ,IAAC,OAAO,EAAC,SAAS,GAAG,WAEzB,GACS,EAClB,uBAAC,0BAAe,cACd,wBAAC,aAAI,IAAC,GAAG,EAAC,GAAG,EAAC,KAAK,EAAC,QAAQ,aAC1B,uBAAC,iBAAQ,KAAG,WAEP,GACS,IACG,IACL,CACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAGjC,SAAS,UAAU,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY;IACxD,OAAO,CACL,iCACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,cAAc,EACnB,KAAK,EAAC,4BAA4B,EAClC,GAAG,EAAE,YAAY,KACb,KAAK,aAER,QAAQ,EACT,iCACE,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,keAAke,EACpe,IAAI,EAAC,OAAO,GACZ,IACE,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { User } from "./api/user";
2
+ export declare const canUseDOM: boolean;
3
+ export declare function getBestName({ firstName, lastName, }: Pick<User, "firstName" | "lastName">): string | null;
4
+ export declare function getComparativeReadableDate(now: Date, then: Date, options?: {
5
+ timeZone?: string;
6
+ }): string;
7
+ export declare function isObjectLike(value: unknown): value is Record<string, unknown>;
8
+ export declare function isErrorLike(value: unknown): value is Record<string, unknown> & {
9
+ message: string;
10
+ };
11
+ export declare function parseErrorResponse(response: Response): Promise<{
12
+ message: string;
13
+ status: number;
14
+ }>;
15
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEvC,eAAO,MAAM,SAAS,SAIrB,CAAC;AAEF,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,QAAQ,GACT,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,CAAC,iBAEtC;AAED,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,MAAM,CAwCR;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAE7E;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,GACb,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAExD;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAoB9C"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canUseDOM = void 0;
4
+ exports.getBestName = getBestName;
5
+ exports.getComparativeReadableDate = getComparativeReadableDate;
6
+ exports.isObjectLike = isObjectLike;
7
+ exports.isErrorLike = isErrorLike;
8
+ exports.parseErrorResponse = parseErrorResponse;
9
+ exports.canUseDOM = !!(typeof window !== "undefined" &&
10
+ window.document &&
11
+ window.document.createElement);
12
+ function getBestName({ firstName, lastName, }) {
13
+ return [firstName, lastName].filter(Boolean).join(" ") || null;
14
+ }
15
+ function getComparativeReadableDate(now, then, options) {
16
+ const timeSince = now.getTime() - then.getTime();
17
+ // Has it been less than a minute?
18
+ if (timeSince < 60_000) {
19
+ return "Just now";
20
+ }
21
+ // Has it been less than an hour?
22
+ if (timeSince < 3_600_000) {
23
+ const timePassed = Math.floor(timeSince / 60_000);
24
+ return timePassed === 1 ? "1 minute ago" : `${timePassed} minutes ago`;
25
+ }
26
+ // Has it been less than a day?
27
+ if (timeSince < 86_400_000) {
28
+ const timePassed = Math.floor(timeSince / 3_600_000);
29
+ return timePassed === 1 ? "1 hour ago" : `${timePassed} hours ago`;
30
+ }
31
+ // Has it been less than a week?
32
+ if (timeSince < 604_800_000) {
33
+ const timePassed = Math.floor(timeSince / 86_400_000);
34
+ return timePassed === 1 ? "1 day ago" : `${timePassed} days ago`;
35
+ }
36
+ // Has it been less than a month?
37
+ if (timeSince < 2_592_000_000) {
38
+ const timePassed = Math.floor(timeSince / 604_800_000);
39
+ return timePassed === 1 ? "1 week ago" : `${timePassed} weeks ago`;
40
+ }
41
+ // Any later?
42
+ return then.toLocaleDateString("en-US", {
43
+ timeZone: options?.timeZone,
44
+ month: "long",
45
+ day: "numeric",
46
+ // omit year if it's the same as the current year
47
+ year: now.getFullYear() !== then.getFullYear() ? "numeric" : undefined,
48
+ });
49
+ }
50
+ function isObjectLike(value) {
51
+ return typeof value === "object" && value !== null;
52
+ }
53
+ function isErrorLike(value) {
54
+ return isObjectLike(value) && typeof value.message === "string";
55
+ }
56
+ async function parseErrorResponse(response) {
57
+ try {
58
+ const json = await response.json();
59
+ if (!isObjectLike(json) || typeof json.message !== "string") {
60
+ return {
61
+ status: response.status,
62
+ message: response.statusText,
63
+ };
64
+ }
65
+ return {
66
+ ...json,
67
+ status: response.status,
68
+ message: json.message || response.statusText,
69
+ };
70
+ }
71
+ catch {
72
+ return {
73
+ status: response.status,
74
+ message: response.statusText,
75
+ };
76
+ }
77
+ }
78
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import * as React from "react";
2
+ import type { Elements } from "./elements";
3
+ export interface WidgetsContextType {
4
+ elements: Elements;
5
+ apiBaseUrl: string;
6
+ }
7
+ declare const WidgetsContext: React.Context<WidgetsContextType | undefined>;
8
+ export { WidgetsContext };
9
+ export declare function useWorkOsApiUrl(): string;
10
+ export declare function useElement<K extends keyof Elements>(key: K): NonNullable<Elements[K]>;
11
+ //# sourceMappingURL=widgets-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgets-context.d.ts","sourceRoot":"","sources":["../../../src/lib/widgets-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,QAAQ,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,cAAc,+CAEnB,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,wBAAgB,eAAe,WAG9B;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,QAAQ,EACjD,GAAG,EAAE,CAAC,GACL,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAM1B"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.WidgetsContext = void 0;
27
+ exports.useWorkOsApiUrl = useWorkOsApiUrl;
28
+ exports.useElement = useElement;
29
+ const React = __importStar(require("react"));
30
+ const config_1 = require("./api/config");
31
+ const WidgetsContext = React.createContext(undefined);
32
+ exports.WidgetsContext = WidgetsContext;
33
+ WidgetsContext.displayName = "WidgetsContext";
34
+ function useWorkOsApiUrl() {
35
+ const context = React.useContext(WidgetsContext);
36
+ return context?.apiBaseUrl || `https://${config_1.DEFAULT_API_HOSTNAME}`;
37
+ }
38
+ function useElement(key) {
39
+ const context = React.useContext(WidgetsContext);
40
+ if (!context) {
41
+ throw new Error("useElement must be used within a WidgetsContext provider");
42
+ }
43
+ return context.elements[key] || {};
44
+ }
45
+ //# sourceMappingURL=widgets-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgets-context.js","sourceRoot":"","sources":["../../../src/lib/widgets-context.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,0CAGC;AAED,gCAQC;AA5BD,6CAA+B;AAC/B,yCAAoD;AAQpD,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CACxC,SAAS,CACV,CAAC;AAEO,wCAAc;AADvB,cAAc,CAAC,WAAW,GAAG,gBAAgB,CAAC;AAG9C,SAAgB,eAAe;IAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACjD,OAAO,OAAO,EAAE,UAAU,IAAI,WAAW,6BAAoB,EAAE,CAAC;AAClE,CAAC;AAED,SAAgB,UAAU,CACxB,GAAM;IAEN,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;AACrC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ export interface UsersManagementProps {
3
+ authToken: string | null | undefined;
4
+ }
5
+ export declare const UsersManagement: React.FC<UsersManagementProps>;
6
+ //# sourceMappingURL=users-management.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users-management.client.d.ts","sourceRoot":"","sources":["../../src/users-management.client.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAc/B,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACtC;AAQD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAgC1D,CAAC"}