@workos-inc/widgets 0.0.0-pre.1 → 0.0.0-pre.2

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 (170) hide show
  1. package/dist/cjs/lib/api/role.d.ts.map +1 -1
  2. package/dist/cjs/lib/api/role.js +35 -14
  3. package/dist/cjs/lib/api/role.js.map +1 -1
  4. package/dist/cjs/lib/api/user.d.ts.map +1 -1
  5. package/dist/cjs/lib/api/user.js +105 -67
  6. package/dist/cjs/lib/api/user.js.map +1 -1
  7. package/dist/cjs/lib/constants.d.ts +2 -1
  8. package/dist/cjs/lib/constants.d.ts.map +1 -1
  9. package/dist/cjs/lib/constants.js +3 -2
  10. package/dist/cjs/lib/constants.js.map +1 -1
  11. package/dist/cjs/lib/delete-user-dialog.d.ts.map +1 -1
  12. package/dist/cjs/lib/delete-user-dialog.js +1 -1
  13. package/dist/cjs/lib/delete-user-dialog.js.map +1 -1
  14. package/dist/cjs/lib/edit-user-details-dialog.d.ts.map +1 -1
  15. package/dist/cjs/lib/edit-user-details-dialog.js +3 -5
  16. package/dist/cjs/lib/edit-user-details-dialog.js.map +1 -1
  17. package/dist/cjs/lib/elements.d.ts +21 -12
  18. package/dist/cjs/lib/elements.d.ts.map +1 -1
  19. package/dist/cjs/lib/elements.js +118 -30
  20. package/dist/cjs/lib/elements.js.map +1 -1
  21. package/dist/cjs/lib/error-boundary.d.ts +58 -0
  22. package/dist/cjs/lib/error-boundary.d.ts.map +1 -0
  23. package/dist/cjs/lib/error-boundary.js +113 -0
  24. package/dist/cjs/lib/error-boundary.js.map +1 -0
  25. package/dist/cjs/lib/errors.d.ts +34 -0
  26. package/dist/cjs/lib/errors.d.ts.map +1 -0
  27. package/dist/cjs/lib/errors.js +40 -0
  28. package/dist/cjs/lib/errors.js.map +1 -0
  29. package/dist/cjs/lib/invite-user-dialog.d.ts.map +1 -1
  30. package/dist/cjs/lib/invite-user-dialog.js +2 -2
  31. package/dist/cjs/lib/invite-user-dialog.js.map +1 -1
  32. package/dist/cjs/lib/resend-invite-dialog.d.ts.map +1 -1
  33. package/dist/cjs/lib/resend-invite-dialog.js +2 -2
  34. package/dist/cjs/lib/resend-invite-dialog.js.map +1 -1
  35. package/dist/cjs/lib/revoke-invite-dialog.d.ts.map +1 -1
  36. package/dist/cjs/lib/revoke-invite-dialog.js +1 -1
  37. package/dist/cjs/lib/revoke-invite-dialog.js.map +1 -1
  38. package/dist/cjs/lib/use-layout-effect.d.ts +4 -0
  39. package/dist/cjs/lib/use-layout-effect.d.ts.map +1 -0
  40. package/dist/cjs/lib/use-layout-effect.js +8 -0
  41. package/dist/cjs/lib/use-layout-effect.js.map +1 -0
  42. package/dist/cjs/lib/user-actions-dropdown.d.ts.map +1 -1
  43. package/dist/cjs/lib/user-actions-dropdown.js +2 -9
  44. package/dist/cjs/lib/user-actions-dropdown.js.map +1 -1
  45. package/dist/cjs/lib/users-filter.d.ts +1 -0
  46. package/dist/cjs/lib/users-filter.d.ts.map +1 -1
  47. package/dist/cjs/lib/users-filter.js +2 -9
  48. package/dist/cjs/lib/users-filter.js.map +1 -1
  49. package/dist/cjs/lib/users-management-context.d.ts +2 -2
  50. package/dist/cjs/lib/users-management-context.d.ts.map +1 -1
  51. package/dist/cjs/lib/users-management.d.ts +9 -6
  52. package/dist/cjs/lib/users-management.d.ts.map +1 -1
  53. package/dist/cjs/lib/users-management.js +77 -20
  54. package/dist/cjs/lib/users-management.js.map +1 -1
  55. package/dist/cjs/lib/users-search.d.ts.map +1 -1
  56. package/dist/cjs/lib/users-search.js +3 -9
  57. package/dist/cjs/lib/users-search.js.map +1 -1
  58. package/dist/cjs/lib/utils.d.ts +2 -0
  59. package/dist/cjs/lib/utils.d.ts.map +1 -1
  60. package/dist/cjs/lib/utils.js +18 -0
  61. package/dist/cjs/lib/utils.js.map +1 -1
  62. package/dist/cjs/users-management.client.d.ts +1 -1
  63. package/dist/cjs/users-management.client.d.ts.map +1 -1
  64. package/dist/cjs/users-management.client.js +15 -5
  65. package/dist/cjs/users-management.client.js.map +1 -1
  66. package/dist/cjs/workos-widgets.client.d.ts.map +1 -1
  67. package/dist/cjs/workos-widgets.client.js +2 -1
  68. package/dist/cjs/workos-widgets.client.js.map +1 -1
  69. package/dist/esm/lib/api/role.d.ts.map +1 -1
  70. package/dist/esm/lib/api/role.js +35 -14
  71. package/dist/esm/lib/api/role.js.map +1 -1
  72. package/dist/esm/lib/api/user.d.ts.map +1 -1
  73. package/dist/esm/lib/api/user.js +105 -67
  74. package/dist/esm/lib/api/user.js.map +1 -1
  75. package/dist/esm/lib/constants.d.ts +2 -1
  76. package/dist/esm/lib/constants.d.ts.map +1 -1
  77. package/dist/esm/lib/constants.js +2 -1
  78. package/dist/esm/lib/constants.js.map +1 -1
  79. package/dist/esm/lib/delete-user-dialog.d.ts.map +1 -1
  80. package/dist/esm/lib/delete-user-dialog.js +2 -2
  81. package/dist/esm/lib/delete-user-dialog.js.map +1 -1
  82. package/dist/esm/lib/edit-user-details-dialog.d.ts.map +1 -1
  83. package/dist/esm/lib/edit-user-details-dialog.js +4 -6
  84. package/dist/esm/lib/edit-user-details-dialog.js.map +1 -1
  85. package/dist/esm/lib/elements.d.ts +21 -12
  86. package/dist/esm/lib/elements.d.ts.map +1 -1
  87. package/dist/esm/lib/elements.js +95 -30
  88. package/dist/esm/lib/elements.js.map +1 -1
  89. package/dist/esm/lib/error-boundary.d.ts +58 -0
  90. package/dist/esm/lib/error-boundary.d.ts.map +1 -0
  91. package/dist/esm/lib/error-boundary.js +86 -0
  92. package/dist/esm/lib/error-boundary.js.map +1 -0
  93. package/dist/esm/lib/errors.d.ts +34 -0
  94. package/dist/esm/lib/errors.d.ts.map +1 -0
  95. package/dist/esm/lib/errors.js +34 -0
  96. package/dist/esm/lib/errors.js.map +1 -0
  97. package/dist/esm/lib/invite-user-dialog.d.ts.map +1 -1
  98. package/dist/esm/lib/invite-user-dialog.js +3 -3
  99. package/dist/esm/lib/invite-user-dialog.js.map +1 -1
  100. package/dist/esm/lib/resend-invite-dialog.d.ts.map +1 -1
  101. package/dist/esm/lib/resend-invite-dialog.js +3 -3
  102. package/dist/esm/lib/resend-invite-dialog.js.map +1 -1
  103. package/dist/esm/lib/revoke-invite-dialog.d.ts.map +1 -1
  104. package/dist/esm/lib/revoke-invite-dialog.js +2 -2
  105. package/dist/esm/lib/revoke-invite-dialog.js.map +1 -1
  106. package/dist/esm/lib/use-layout-effect.d.ts +4 -0
  107. package/dist/esm/lib/use-layout-effect.d.ts.map +1 -0
  108. package/dist/esm/lib/use-layout-effect.js +5 -0
  109. package/dist/esm/lib/use-layout-effect.js.map +1 -0
  110. package/dist/esm/lib/user-actions-dropdown.d.ts.map +1 -1
  111. package/dist/esm/lib/user-actions-dropdown.js +3 -10
  112. package/dist/esm/lib/user-actions-dropdown.js.map +1 -1
  113. package/dist/esm/lib/users-filter.d.ts +1 -0
  114. package/dist/esm/lib/users-filter.d.ts.map +1 -1
  115. package/dist/esm/lib/users-filter.js +4 -11
  116. package/dist/esm/lib/users-filter.js.map +1 -1
  117. package/dist/esm/lib/users-management-context.d.ts +2 -2
  118. package/dist/esm/lib/users-management-context.d.ts.map +1 -1
  119. package/dist/esm/lib/users-management.d.ts +9 -6
  120. package/dist/esm/lib/users-management.d.ts.map +1 -1
  121. package/dist/esm/lib/users-management.js +74 -22
  122. package/dist/esm/lib/users-management.js.map +1 -1
  123. package/dist/esm/lib/users-search.d.ts.map +1 -1
  124. package/dist/esm/lib/users-search.js +5 -11
  125. package/dist/esm/lib/users-search.js.map +1 -1
  126. package/dist/esm/lib/utils.d.ts +2 -0
  127. package/dist/esm/lib/utils.d.ts.map +1 -1
  128. package/dist/esm/lib/utils.js +13 -0
  129. package/dist/esm/lib/utils.js.map +1 -1
  130. package/dist/esm/users-management.client.d.ts +1 -1
  131. package/dist/esm/users-management.client.d.ts.map +1 -1
  132. package/dist/esm/users-management.client.js +16 -6
  133. package/dist/esm/users-management.client.js.map +1 -1
  134. package/dist/esm/workos-widgets.client.d.ts.map +1 -1
  135. package/dist/esm/workos-widgets.client.js +2 -1
  136. package/dist/esm/workos-widgets.client.js.map +1 -1
  137. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  138. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  139. package/package.json +8 -3
  140. package/src/base.css +111 -0
  141. package/src/lib/api/role.ts +39 -16
  142. package/src/lib/api/user.ts +119 -75
  143. package/src/lib/constants.ts +2 -1
  144. package/src/lib/delete-user-dialog.tsx +7 -3
  145. package/src/lib/edit-user-details-dialog.tsx +15 -10
  146. package/src/lib/elements.tsx +242 -61
  147. package/src/lib/error-boundary.tsx +166 -0
  148. package/src/lib/errors.ts +49 -0
  149. package/src/lib/invite-user-dialog.tsx +21 -12
  150. package/src/lib/resend-invite-dialog.tsx +11 -5
  151. package/src/lib/revoke-invite-dialog.tsx +7 -3
  152. package/src/lib/use-layout-effect.ts +6 -0
  153. package/src/lib/user-actions-dropdown.tsx +8 -16
  154. package/src/lib/users-filter.tsx +13 -73
  155. package/src/lib/users-management-context.tsx +1 -1
  156. package/src/lib/users-management.tsx +345 -184
  157. package/src/lib/users-search.tsx +5 -63
  158. package/src/lib/utils.ts +21 -0
  159. package/src/users-management.client.tsx +39 -16
  160. package/src/users-management.css +4 -0
  161. package/src/workos-widgets.client.tsx +2 -1
  162. package/dist/cjs/lib/pagination.d.ts +0 -8
  163. package/dist/cjs/lib/pagination.d.ts.map +0 -1
  164. package/dist/cjs/lib/pagination.js +0 -67
  165. package/dist/cjs/lib/pagination.js.map +0 -1
  166. package/dist/esm/lib/pagination.d.ts +0 -8
  167. package/dist/esm/lib/pagination.d.ts.map +0 -1
  168. package/dist/esm/lib/pagination.js +0 -40
  169. package/dist/esm/lib/pagination.js.map +0 -1
  170. package/src/lib/pagination.tsx +0 -69
@@ -1 +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,2PAyDvB,CAAC"}
1
+ {"version":3,"file":"users-search.d.ts","sourceRoot":"","sources":["../../../src/lib/users-search.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,eAAO,MAAM,WAAW,2PAyDvB,CAAC"}
@@ -2,13 +2,14 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useComposedRefs } from "@radix-ui/react-compose-refs";
4
4
  import { Cross2Icon, MagnifyingGlassIcon } from "@radix-ui/react-icons";
5
- import { Checkbox, DropdownMenu, Flex, IconButton } from "@radix-ui/themes";
5
+ import { IconButton } from "@radix-ui/themes";
6
6
  import * as React from "react";
7
7
  import { useDebouncedCallback } from "use-debounce";
8
- import { PrimaryMenuItem, TextField, TextFieldSlot } from "./elements";
8
+ import { TextField, TextFieldSlot } from "./elements";
9
9
  import { useSearchContext } from "./search-provider";
10
10
  import { useUsersManagementContext } from "./users-management-context";
11
- export const UsersSearch = React.forwardRef((props, ref) => {
11
+ import { cx } from "./utils";
12
+ export const UsersSearch = React.forwardRef(({ className, ...props }, ref) => {
12
13
  const { inputRef, clearSearch, searchValue, setSearchValue } = useSearchContext();
13
14
  const { dispatch } = useUsersManagementContext();
14
15
  const filter = useDebouncedCallback((value) => {
@@ -18,7 +19,7 @@ export const UsersSearch = React.forwardRef((props, ref) => {
18
19
  clearSearch();
19
20
  filter.cancel();
20
21
  };
21
- return (_jsxs(TextField, { ref: useComposedRefs(inputRef, ref), autoComplete: "off", placeholder: "Search by name or e-mail", value: searchValue, onChange: (event) => {
22
+ return (_jsxs(TextField, { ref: useComposedRefs(inputRef, ref), className: cx(["users-search"], className), autoComplete: "off", placeholder: "Search by name or e-mail", value: searchValue, onChange: (event) => {
22
23
  const value = event.target.value;
23
24
  setSearchValue(value);
24
25
  filter(value);
@@ -29,11 +30,4 @@ export const UsersSearch = React.forwardRef((props, ref) => {
29
30
  }
30
31
  }, ...props, children: [_jsx(TextFieldSlot, { side: "left", children: _jsx(MagnifyingGlassIcon, { "aria-hidden": "true", height: "16", width: "16" }) }), _jsx(TextFieldSlot, { side: "right", children: searchValue && (_jsx(IconButton, { size: "1", color: "gray", variant: "ghost", radius: "full", onClick: resetSearch, "aria-label": "Clear search", title: "Clear search", children: _jsx(Cross2Icon, { "aria-hidden": "true" }) })) })] }));
31
32
  });
32
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
33
- function FilterMenu() {
34
- return (_jsxs(DropdownMenu.Root, { children: [_jsx(DropdownMenu.Trigger, { children: _jsx(IconButton, { size: "1", color: "gray", variant: "ghost", radius: "full", "aria-label": "Filter users", title: "Filter users", children: _jsx(FilterIcon, { "aria-hidden": "true" }) }) }), _jsxs(DropdownMenu.Content, { size: "2", align: "end", children: [_jsx(PrimaryMenuItem, { children: _jsxs(Flex, { gap: "2", align: "center", children: [_jsx(Checkbox, { variant: "surface" }), "One"] }) }), _jsx(PrimaryMenuItem, { children: _jsxs(Flex, { gap: "2", align: "center", children: [_jsx(Checkbox, {}), "Two"] }) })] })] }));
35
- }
36
- const FilterIcon = React.forwardRef(function FilterIcon({ children, ...props }, forwardedRef) {
37
- return (_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, _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" })] }));
38
- });
39
33
  //# sourceMappingURL=users-search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"users-search.js","sourceRoot":"","sources":["../../../src/lib/users-search.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"users-search.js","sourceRoot":"","sources":["../../../src/lib/users-search.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAI7B,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,UAAU,CACzC,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAC/B,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,GAC1D,gBAAgB,EAAE,CAAC;IACrB,MAAM,EAAE,QAAQ,EAAE,GAAG,yBAAyB,EAAE,CAAC;IAEjD,MAAM,MAAM,GAAG,oBAAoB,CAAC,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,MAAC,SAAS,IACR,GAAG,EAAE,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,EACnC,SAAS,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,EAC1C,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,KAAC,aAAa,IAAC,IAAI,EAAC,MAAM,YACxB,KAAC,mBAAmB,mBAAa,MAAM,EAAC,MAAM,EAAC,IAAI,EAAC,KAAK,EAAC,IAAI,GAAG,GACnD,EAEhB,KAAC,aAAa,IAAC,IAAI,EAAC,OAAO,YACxB,WAAW,IAAI,CACd,KAAC,UAAU,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,KAAC,UAAU,mBAAa,MAAM,GAAG,GACtB,CACd,GACa,IACN,CACb,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -12,4 +12,6 @@ export declare function parseErrorResponse(response: Response): Promise<{
12
12
  message: string;
13
13
  status: number;
14
14
  }>;
15
+ export declare function namespaceClassName(className: string): string;
16
+ export declare function cx(baseClass: string | null | string[], ...classes: (string | false | null | undefined)[]): string;
15
17
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAGvC,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;AAED,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,UAEnD;AAED,wBAAgB,EAAE,CAChB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,EACnC,GAAG,OAAO,EAAE,CAAC,MAAM,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GAChD,MAAM,CAUR"}
@@ -1,3 +1,5 @@
1
+ import clsx from "clsx";
2
+ import { WIDGETS_CLASS_NAMESPACE } from "./constants";
1
3
  export const canUseDOM = !!(typeof window !== "undefined" &&
2
4
  window.document &&
3
5
  window.document.createElement);
@@ -67,4 +69,15 @@ export async function parseErrorResponse(response) {
67
69
  };
68
70
  }
69
71
  }
72
+ export function namespaceClassName(className) {
73
+ return `${WIDGETS_CLASS_NAMESPACE}-${className}`;
74
+ }
75
+ export function cx(baseClass, ...classes) {
76
+ if (baseClass) {
77
+ return clsx(typeof baseClass === "string"
78
+ ? namespaceClassName(baseClass)
79
+ : baseClass.map(namespaceClassName), ...classes);
80
+ }
81
+ return clsx(...classes);
82
+ }
70
83
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/lib/utils.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  export interface UsersManagementProps {
3
- authToken: string | null | undefined;
3
+ authToken: string | (() => Promise<string>) | null | undefined;
4
4
  }
5
5
  export declare const UsersManagement: React.FC<UsersManagementProps>;
6
6
  //# sourceMappingURL=users-management.client.d.ts.map
@@ -1 +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"}
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;AAmB/B,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC;CAChE;AAQD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAkD1D,CAAC"}
@@ -4,9 +4,10 @@ import * as React from "react";
4
4
  import { useRoles } from "./lib/api/role";
5
5
  import { useUsers } from "./lib/api/user";
6
6
  import { useIsHydrated } from "./lib/use-is-hydrated";
7
- import { UsersManagement as UsersManagementPresentational } from "./lib/users-management";
7
+ import { UsersManagementError, UsersManagementLoading, UsersManagement as UsersManagementPresentational, } from "./lib/users-management";
8
8
  import { UsersManagementContextProvider, } from "./lib/users-management-context";
9
9
  import { useUsersManagementState, } from "./lib/users-management-state";
10
+ import { ErrorBoundary } from "./lib/error-boundary";
10
11
  const initialState = {
11
12
  pagination: null,
12
13
  role: null,
@@ -16,15 +17,24 @@ export const UsersManagement = ({ authToken = null, }) => {
16
17
  const isHydrated = useIsHydrated();
17
18
  const [state, dispatch] = useUsersManagementState(initialState);
18
19
  const context = React.useMemo(() => ({
19
- authToken,
20
+ authToken: typeof authToken === "string"
21
+ ? () => Promise.resolve(authToken)
22
+ : authToken,
20
23
  state,
21
24
  dispatch,
22
25
  }), [authToken, state, dispatch]);
23
26
  const rolesQuery = useRoles(context);
24
27
  const usersQuery = useUsers(context);
25
- const isFetching = usersQuery.isFetching || rolesQuery.isFetching;
26
- const isLoading = usersQuery.isLoading || rolesQuery.isLoading;
27
- const isPending = usersQuery.isPlaceholderData || rolesQuery.isPlaceholderData;
28
- return (_jsx(UsersManagementContextProvider, { value: context, children: _jsx(UsersManagementPresentational, { userData: usersQuery.data, rolesData: rolesQuery.data, isInitialLoading: (isFetching && isLoading) || !isHydrated, isPending: isPending }) }));
28
+ if (usersQuery.isLoading ||
29
+ rolesQuery.isLoading ||
30
+ usersQuery.isPending ||
31
+ // render loading state on the server to prevent FOUC or hydration mismatch
32
+ !isHydrated) {
33
+ return _jsx(UsersManagementLoading, {});
34
+ }
35
+ if (usersQuery.isError || rolesQuery.isError) {
36
+ return (_jsx(UsersManagementError, { error: usersQuery.error || rolesQuery.isError }));
37
+ }
38
+ return (_jsx(ErrorBoundary, { fallbackRender: ({ error }) => _jsx(UsersManagementError, { error: error }), children: _jsx(UsersManagementContextProvider, { value: context, children: _jsx(UsersManagementPresentational, { userData: usersQuery.data, rolesData: rolesQuery.data, isPending: usersQuery.isFetching, disableRolesFilter: rolesQuery.isPending || rolesQuery.isFetching }) }) }));
29
39
  };
30
40
  //# sourceMappingURL=users-management.client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"users-management.client.js","sourceRoot":"","sources":["../../src/users-management.client.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,eAAe,IAAI,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAC1F,OAAO,EACL,8BAA8B,GAE/B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AAMtC,MAAM,YAAY,GAAyB;IACzC,UAAU,EAAE,IAAI;IAChB,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAmC,CAAC,EAC9D,SAAS,GAAG,IAAI,GACjB,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC;QACL,SAAS;QACT,KAAK;QACL,QAAQ;KACT,CAAC,EACF,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAC7B,CAAC;IAEF,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC;IAClE,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC;IAC/D,MAAM,SAAS,GACb,UAAU,CAAC,iBAAiB,IAAI,UAAU,CAAC,iBAAiB,CAAC;IAE/D,OAAO,CACL,KAAC,8BAA8B,IAAC,KAAK,EAAE,OAAO,YAC5C,KAAC,6BAA6B,IAC5B,QAAQ,EAAE,UAAU,CAAC,IAAI,EACzB,SAAS,EAAE,UAAU,CAAC,IAAI,EAC1B,gBAAgB,EAAE,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,EAC1D,SAAS,EAAE,SAAS,GACpB,GAC6B,CAClC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"users-management.client.js","sourceRoot":"","sources":["../../src/users-management.client.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,IAAI,6BAA6B,GACjD,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,8BAA8B,GAE/B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEL,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAMrD,MAAM,YAAY,GAAyB;IACzC,UAAU,EAAE,IAAI;IAChB,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,IAAI;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAmC,CAAC,EAC9D,SAAS,GAAG,IAAI,GACjB,EAAE,EAAE;IACH,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,uBAAuB,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC;QACL,SAAS,EACP,OAAO,SAAS,KAAK,QAAQ;YAC3B,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;YAClC,CAAC,CAAC,SAAS;QACf,KAAK;QACL,QAAQ;KACT,CAAC,EACF,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAC7B,CAAC;IAEF,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IAErC,IACE,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,SAAS;QACpB,UAAU,CAAC,SAAS;QACpB,2EAA2E;QAC3E,CAAC,UAAU,EACX,CAAC;QACD,OAAO,KAAC,sBAAsB,KAAG,CAAC;IACpC,CAAC;IAED,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QAC7C,OAAO,CACL,KAAC,oBAAoB,IAAC,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,OAAO,GAAI,CACxE,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,aAAa,IACZ,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAC,oBAAoB,IAAC,KAAK,EAAE,KAAK,GAAI,YAErE,KAAC,8BAA8B,IAAC,KAAK,EAAE,OAAO,YAC5C,KAAC,6BAA6B,IAC5B,QAAQ,EAAE,UAAU,CAAC,IAAI,EACzB,SAAS,EAAE,UAAU,CAAC,IAAI,EAC1B,SAAS,EAAE,UAAU,CAAC,UAAU,EAChC,kBAAkB,EAAE,UAAU,CAAC,SAAS,IAAI,UAAU,CAAC,UAAU,GACjE,GAC6B,GACnB,CACjB,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"workos-widgets.client.d.ts","sourceRoot":"","sources":["../../src/workos-widgets.client.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK/C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,aAAa,CAAC,EAAE,SAAS,CAAC,GAAG;QAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA+CtD,CAAC"}
1
+ {"version":3,"file":"workos-widgets.client.d.ts","sourceRoot":"","sources":["../../src/workos-widgets.client.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAK/C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO,aAAa,CAAC,EAAE,SAAS,CAAC,GAAG;QAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA+CtD,CAAC"}
@@ -3,6 +3,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { Theme as RadixThemes } from "@radix-ui/themes";
4
4
  import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
5
5
  import * as React from "react";
6
+ import { cx } from "./lib/utils";
6
7
  import { DEFAULT_API_HOSTNAME } from "./lib/api/config";
7
8
  import { WidgetsContext } from "./lib/widgets-context";
8
9
  const queryClient = new QueryClient();
@@ -23,6 +24,6 @@ export const WorkOsWidgets = ({ elements = {}, className, theme: { fontFamily, .
23
24
  return `https://${DEFAULT_API_HOSTNAME}`;
24
25
  }
25
26
  }, [apiHostname, https, port]);
26
- return (_jsx(QueryClientProvider, { client: queryClient, children: _jsx(RadixThemes, { ...radixThemesProps, style: customStyle, className: className, children: _jsx(WidgetsContext.Provider, { value: { elements, apiBaseUrl }, children: children }) }) }));
27
+ return (_jsx(QueryClientProvider, { client: queryClient, children: _jsx(RadixThemes, { ...radixThemesProps, style: customStyle, className: cx("root", className), children: _jsx(WidgetsContext.Provider, { value: { elements, apiBaseUrl }, children: children }) }) }));
27
28
  };
28
29
  //# sourceMappingURL=workos-widgets.client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workos-widgets.client.js","sourceRoot":"","sources":["../../src/workos-widgets.client.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAetC,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAC1D,QAAQ,GAAG,EAAE,EACb,SAAS,EACT,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,GAAG,EAAE,EAC/C,KAAK,GAAG,EAAE,EACV,QAAQ,EACR,WAAW,GAAG,oBAAoB,EAClC,IAAI,GAAG,IAAI,EACX,KAAK,GAAG,IAAI,GACb,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,CAClB,UAAU;QACR,CAAC,CAAC;YACE,uBAAuB,EAAE,UAAU;YACnC,GAAG,KAAK;SACT;QACH,CAAC,CAAC,KAAK,CACa,CAAC;IAEzB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,GAAG,EACH,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACxE,CAAC;YACF,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CACX,8HAA8H,CAC/H,CAAC;YACF,OAAO,WAAW,oBAAoB,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/B,OAAO,CACL,KAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW,YACtC,KAAC,WAAW,OACN,gBAAgB,EACpB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,SAAS,YAEpB,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,YACrD,QAAQ,GACe,GACd,GACM,CACvB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"workos-widgets.client.js","sourceRoot":"","sources":["../../src/workos-widgets.client.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;AAetC,MAAM,CAAC,MAAM,aAAa,GAAiC,CAAC,EAC1D,QAAQ,GAAG,EAAE,EACb,SAAS,EACT,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,GAAG,EAAE,EAC/C,KAAK,GAAG,EAAE,EACV,QAAQ,EACR,WAAW,GAAG,oBAAoB,EAClC,IAAI,GAAG,IAAI,EACX,KAAK,GAAG,IAAI,GACb,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,CAClB,UAAU;QACR,CAAC,CAAC;YACE,uBAAuB,EAAE,UAAU;YACnC,GAAG,KAAK;SACT;QACH,CAAC,CAAC,KAAK,CACa,CAAC;IAEzB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;QACpC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,GAAG,CACjB,GAAG,EACH,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACxE,CAAC;YACF,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,KAAK,CACX,8HAA8H,CAC/H,CAAC;YACF,OAAO,WAAW,oBAAoB,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/B,OAAO,CACL,KAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW,YACtC,KAAC,WAAW,OACN,gBAAgB,EACpB,KAAK,EAAE,WAAW,EAClB,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,YAEhC,KAAC,cAAc,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,YACrD,QAAQ,GACe,GACd,GACM,CACvB,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"root":["../src/index.ts","../src/users-management.client.tsx","../src/workos-widgets.client.tsx","../src/lib/constants.ts","../src/lib/delete-user-dialog.tsx","../src/lib/edit-user-details-dialog.tsx","../src/lib/elements.tsx","../src/lib/invite-user-dialog.tsx","../src/lib/label.tsx","../src/lib/pagination.tsx","../src/lib/resend-invite-dialog.tsx","../src/lib/revoke-invite-dialog.tsx","../src/lib/search-provider.tsx","../src/lib/use-is-hydrated.ts","../src/lib/user-actions-dropdown.tsx","../src/lib/users-filter.tsx","../src/lib/users-management-context.tsx","../src/lib/users-management-state.ts","../src/lib/users-management.tsx","../src/lib/users-search.tsx","../src/lib/utils.ts","../src/lib/widgets-context.ts","../src/lib/api/config.ts","../src/lib/api/role.ts","../src/lib/api/user.ts"],"version":"5.6.3"}
1
+ {"root":["../src/index.ts","../src/users-management.client.tsx","../src/workos-widgets.client.tsx","../src/lib/constants.ts","../src/lib/delete-user-dialog.tsx","../src/lib/edit-user-details-dialog.tsx","../src/lib/elements.tsx","../src/lib/error-boundary.tsx","../src/lib/errors.ts","../src/lib/invite-user-dialog.tsx","../src/lib/label.tsx","../src/lib/resend-invite-dialog.tsx","../src/lib/revoke-invite-dialog.tsx","../src/lib/search-provider.tsx","../src/lib/use-is-hydrated.ts","../src/lib/use-layout-effect.ts","../src/lib/user-actions-dropdown.tsx","../src/lib/users-filter.tsx","../src/lib/users-management-context.tsx","../src/lib/users-management-state.ts","../src/lib/users-management.tsx","../src/lib/users-search.tsx","../src/lib/utils.ts","../src/lib/widgets-context.ts","../src/lib/api/config.ts","../src/lib/api/role.ts","../src/lib/api/user.ts"],"version":"5.6.2"}
@@ -1 +1 @@
1
- {"root":["../src/index.ts","../src/users-management.client.tsx","../src/workos-widgets.client.tsx","../src/lib/constants.ts","../src/lib/delete-user-dialog.tsx","../src/lib/edit-user-details-dialog.tsx","../src/lib/elements.tsx","../src/lib/invite-user-dialog.tsx","../src/lib/label.tsx","../src/lib/pagination.tsx","../src/lib/resend-invite-dialog.tsx","../src/lib/revoke-invite-dialog.tsx","../src/lib/search-provider.tsx","../src/lib/use-is-hydrated.ts","../src/lib/user-actions-dropdown.tsx","../src/lib/users-filter.tsx","../src/lib/users-management-context.tsx","../src/lib/users-management-state.ts","../src/lib/users-management.tsx","../src/lib/users-search.tsx","../src/lib/utils.ts","../src/lib/widgets-context.ts","../src/lib/api/config.ts","../src/lib/api/role.ts","../src/lib/api/user.ts"],"version":"5.6.3"}
1
+ {"root":["../src/index.ts","../src/users-management.client.tsx","../src/workos-widgets.client.tsx","../src/lib/constants.ts","../src/lib/delete-user-dialog.tsx","../src/lib/edit-user-details-dialog.tsx","../src/lib/elements.tsx","../src/lib/error-boundary.tsx","../src/lib/errors.ts","../src/lib/invite-user-dialog.tsx","../src/lib/label.tsx","../src/lib/resend-invite-dialog.tsx","../src/lib/revoke-invite-dialog.tsx","../src/lib/search-provider.tsx","../src/lib/use-is-hydrated.ts","../src/lib/use-layout-effect.ts","../src/lib/user-actions-dropdown.tsx","../src/lib/users-filter.tsx","../src/lib/users-management-context.tsx","../src/lib/users-management-state.ts","../src/lib/users-management.tsx","../src/lib/users-search.tsx","../src/lib/utils.ts","../src/lib/widgets-context.ts","../src/lib/api/config.ts","../src/lib/api/role.ts","../src/lib/api/user.ts"],"version":"5.6.2"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@workos-inc/widgets",
3
- "version": "0.0.0-pre.1",
3
+ "version": "0.0.0-pre.2",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "exports": {
@@ -23,6 +23,10 @@
23
23
  "types": "./dist/cjs/*.client.d.ts",
24
24
  "default": "./dist/cjs/*.client.js"
25
25
  }
26
+ },
27
+ "./*.css": {
28
+ "import": "./src/*.css",
29
+ "require": "./src/*.css"
26
30
  }
27
31
  },
28
32
  "files": [
@@ -40,6 +44,7 @@
40
44
  "@radix-ui/react-compose-refs": "^1.1.0",
41
45
  "@radix-ui/react-icons": "^1.3.1",
42
46
  "@radix-ui/themes": "^3.1.6",
47
+ "clsx": "^2.1.1",
43
48
  "suspend-react": "^0.1.3",
44
49
  "use-debounce": "^10.0.3"
45
50
  },
@@ -51,8 +56,8 @@
51
56
  "devDependencies": {
52
57
  "@tanstack/react-query": "^5.59.20",
53
58
  "@types/node": "^20.16.6",
54
- "@types/react": "^18.3.9",
55
- "@types/react-dom": "^18.3.0",
59
+ "@types/react": "^18.3.12",
60
+ "@types/react-dom": "^18.3.1",
56
61
  "react": "^18.3.1",
57
62
  "react-dom": "^18.3.1",
58
63
  "typescript": "^5.6.2",
package/src/base.css ADDED
@@ -0,0 +1,111 @@
1
+ :root {
2
+ --woswidgets-accent-color: hsl(212 100% 50% / 1);
3
+ --woswidgets-border-color: hsl(0 0% 46%);
4
+ --woswidgets-border-color: light-dark(hsl(0 0% 46%), hsl(0 0% 52%));
5
+ --woswidgets-background-color: hsl(0 0% 100%);
6
+ --woswidgets-background-color: light-dark(hsl(0 0% 100%), hsl(0 0% 0%));
7
+ --woswidgets-foreground-color: hsl(0 0% 0%);
8
+ --woswidgets-foreground-color: light-dark(hsl(0 0% 0%), hsl(0 0% 100%));
9
+ }
10
+
11
+ .woswidgets-root {
12
+ inline-size: 100%;
13
+ block-size: 100%;
14
+ }
15
+
16
+ .woswidgets-text-field {
17
+ display: flex;
18
+ align-items: center;
19
+ justify-content: center;
20
+ position: relative;
21
+ border: solid 1px var(--woswidgets-border-color);
22
+ background-color: field;
23
+ color: fieldtext;
24
+ }
25
+
26
+ .woswidgets-text-field:has(input:focus-visible) {
27
+ outline: -webkit-focus-ring-color auto 1px;
28
+ }
29
+
30
+ :where(.woswidgets-text-field) input {
31
+ flex: 1 1 100%;
32
+ border: 0;
33
+ border: 0;
34
+ background: 0;
35
+ box-shadow: none;
36
+ color: inherit;
37
+ inline-size: 100%;
38
+ block-size: 100%;
39
+ outline: none;
40
+ }
41
+
42
+ .woswidgets-text-field-slot:where([data-side="left"], [data-side="right"]) {
43
+ display: flex;
44
+ align-items: center;
45
+ justify-content: center;
46
+ flex: 0 0 auto;
47
+ block-size: 100%;
48
+ }
49
+
50
+ .woswidgets-text-field-slot:where([data-side="left"]) {
51
+ order: -1;
52
+ }
53
+
54
+ .woswidgets-text-field-slot:where([data-side="right"]) {
55
+ order: 0;
56
+ }
57
+
58
+ :where(.woswidgets-text-field) svg {
59
+ color: inherit;
60
+ fill: currentColor;
61
+ }
62
+
63
+ .woswidgets-select {
64
+ appearance: button;
65
+ display: flex;
66
+ align-items: center;
67
+ justify-content: center;
68
+ gap: 0.5rem;
69
+ }
70
+
71
+ .woswidgets-menu-item {
72
+ display: flex;
73
+ align-items: center;
74
+ gap: 0.25em;
75
+ user-select: none;
76
+
77
+ &:where([data-disabled]) {
78
+ opacity: 0.6;
79
+ pointer-events: none;
80
+ }
81
+
82
+ &:where([data-highlighted]) {
83
+ outline: none;
84
+ background-color: var(--woswidgets-accent-color);
85
+ color: hsl(0 0% 100%);
86
+ }
87
+ }
88
+
89
+ .woswidgets-dropdown {
90
+ overflow: hidden;
91
+ background-color: var(--woswidgets-background-color);
92
+ color: var(--woswidgets-foreground-color);
93
+ border: 1px solid var(--woswidgets-border-color);
94
+ }
95
+
96
+ .woswidgets-dialog-overlay {
97
+ position: fixed;
98
+ inset: 0;
99
+ background-color: hsl(0 0% 0% / 0.4);
100
+ }
101
+
102
+ .woswidgets-dialog {
103
+ position: absolute;
104
+ top: 50%;
105
+ left: 50%;
106
+ transform: translate(-50%, -50%);
107
+ padding: 1rem;
108
+ background-color: var(--woswidgets-background-color);
109
+ color: var(--woswidgets-foreground-color);
110
+ border: 1px solid var(--woswidgets-border-color);
111
+ }
@@ -6,6 +6,8 @@ import {
6
6
  import { useWorkOsApiUrl } from "../widgets-context";
7
7
  import { API_ENDPOINTS } from "./config";
8
8
  import { WIDGETS_API_VERSION } from "../constants";
9
+ import { parseErrorResponse } from "../utils";
10
+ import { ApiError, FetchError, NoAuthTokenError } from "../errors";
9
11
 
10
12
  export interface Role {
11
13
  name: string;
@@ -13,6 +15,8 @@ export interface Role {
13
15
  default: boolean;
14
16
  }
15
17
 
18
+ type AuthToken = () => Promise<string>;
19
+
16
20
  export const useRoles = (initialContext?: UsersManagementContextType) => {
17
21
  const { authToken } = useUsersManagementContext(initialContext);
18
22
  const baseUrl = useWorkOsApiUrl();
@@ -36,7 +40,7 @@ export const useRole = (
36
40
  queryKey: ["role", slug],
37
41
  queryFn: () => {
38
42
  if (!authToken) {
39
- throw new Error("No auth token provided");
43
+ throw new NoAuthTokenError();
40
44
  }
41
45
  const getRoleOrFetch = async (attempts = 0): Promise<Role> => {
42
46
  if (attempts >= 3) {
@@ -65,25 +69,33 @@ const fetchRoles = async ({
65
69
  authToken,
66
70
  baseUrl,
67
71
  }: {
68
- authToken: string | null;
72
+ authToken: AuthToken | null;
69
73
  baseUrl: string;
70
74
  }) => {
71
75
  if (!authToken) {
72
- throw new Error("No auth token provided");
76
+ throw new NoAuthTokenError();
73
77
  }
74
78
  const url = new URL(`${baseUrl}/${API_ENDPOINTS.USER_ROLES}`);
75
79
  const response = await fetch(url, {
76
80
  cache: "no-store",
77
- headers: getAuthHeaders(authToken),
81
+ headers: getAuthHeaders(await authToken()),
78
82
  }).catch((error) => {
79
- console.error(error);
80
- // TODO: handle fetch errors
81
- throw new Error("Failed to fetch roles");
83
+ throw new FetchError({
84
+ message: "Failed to fetch roles",
85
+ queryType: "query",
86
+ recordType: "users",
87
+ context: { error },
88
+ });
82
89
  });
83
90
 
84
91
  if (!response.ok) {
85
- // TODO: handle this case
86
- throw new Error("Failed to fetch roles");
92
+ const { message, status } = await parseErrorResponse(response);
93
+ throw new ApiError({
94
+ message,
95
+ status,
96
+ queryType: "query",
97
+ recordType: "users",
98
+ });
87
99
  }
88
100
  const data = await response.json();
89
101
  return data as Promise<Role[]>;
@@ -95,23 +107,34 @@ const fetchRole = async (
95
107
  authToken,
96
108
  baseUrl,
97
109
  }: {
98
- authToken: string;
110
+ authToken: AuthToken | null;
99
111
  baseUrl: string;
100
112
  },
101
113
  ) => {
114
+ if (!authToken) {
115
+ throw new NoAuthTokenError();
116
+ }
102
117
  const url = new URL(`${baseUrl}/${API_ENDPOINTS.USER_ROLES}/${slug}`);
103
118
  const response = await fetch(url, {
104
119
  cache: "no-store",
105
- headers: getAuthHeaders(authToken),
120
+ headers: getAuthHeaders(await authToken()),
106
121
  }).catch((error) => {
107
- console.error(error);
108
- // TODO: handle fetch errors
109
- throw new Error("Failed to fetch role");
122
+ throw new FetchError({
123
+ message: "Failed to fetch roles",
124
+ queryType: "query",
125
+ recordType: "users",
126
+ context: { error },
127
+ });
110
128
  });
111
129
 
112
130
  if (!response.ok) {
113
- // TODO: handle this case
114
- throw new Error("Failed to fetch role");
131
+ const { message, status } = await parseErrorResponse(response);
132
+ throw new ApiError({
133
+ message,
134
+ status,
135
+ queryType: "query",
136
+ recordType: "users",
137
+ });
115
138
  }
116
139
  return response.json() as Promise<Role>;
117
140
  };