@workos-inc/widgets 1.1.5 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/dist/cjs/api/endpoint.d.ts +1 -1
  2. package/dist/cjs/api/endpoint.d.ts.map +1 -1
  3. package/dist/cjs/api/endpoint.js +32 -32
  4. package/dist/cjs/api/endpoint.js.map +1 -1
  5. package/dist/cjs/api/utils.js +2 -2
  6. package/dist/cjs/api/utils.js.map +1 -1
  7. package/dist/cjs/api/widgets-api-client.js +9 -9
  8. package/dist/cjs/api/widgets-api-client.js.map +1 -1
  9. package/dist/cjs/index.d.ts +6 -6
  10. package/dist/cjs/index.d.ts.map +1 -1
  11. package/dist/cjs/index.js +12 -12
  12. package/dist/cjs/index.js.map +1 -1
  13. package/dist/cjs/lib/add-mfa-dialog.d.ts +1 -1
  14. package/dist/cjs/lib/add-mfa-dialog.d.ts.map +1 -1
  15. package/dist/cjs/lib/add-mfa-dialog.js +19 -18
  16. package/dist/cjs/lib/add-mfa-dialog.js.map +1 -1
  17. package/dist/cjs/lib/api/user.d.ts +7 -7
  18. package/dist/cjs/lib/api/user.d.ts.map +1 -1
  19. package/dist/cjs/lib/api/user.js +16 -16
  20. package/dist/cjs/lib/api/user.js.map +1 -1
  21. package/dist/cjs/lib/change-password-dialog.d.ts +1 -1
  22. package/dist/cjs/lib/change-password-dialog.d.ts.map +1 -1
  23. package/dist/cjs/lib/change-password-dialog.js +6 -6
  24. package/dist/cjs/lib/change-password-dialog.js.map +1 -1
  25. package/dist/cjs/lib/delete-user-dialog.d.ts +2 -2
  26. package/dist/cjs/lib/delete-user-dialog.d.ts.map +1 -1
  27. package/dist/cjs/lib/delete-user-dialog.js +5 -5
  28. package/dist/cjs/lib/delete-user-dialog.js.map +1 -1
  29. package/dist/cjs/lib/edit-user-profile-dialog.d.ts +2 -2
  30. package/dist/cjs/lib/edit-user-profile-dialog.d.ts.map +1 -1
  31. package/dist/cjs/lib/edit-user-profile-dialog.js +8 -8
  32. package/dist/cjs/lib/edit-user-profile-dialog.js.map +1 -1
  33. package/dist/cjs/lib/edit-user-role-dialog.d.ts +2 -2
  34. package/dist/cjs/lib/edit-user-role-dialog.d.ts.map +1 -1
  35. package/dist/cjs/lib/edit-user-role-dialog.js +10 -10
  36. package/dist/cjs/lib/edit-user-role-dialog.js.map +1 -1
  37. package/dist/cjs/lib/elements.js +43 -43
  38. package/dist/cjs/lib/elements.js.map +1 -1
  39. package/dist/cjs/lib/elevated-access.d.ts +1 -1
  40. package/dist/cjs/lib/elevated-access.d.ts.map +1 -1
  41. package/dist/cjs/lib/elevated-access.js +12 -11
  42. package/dist/cjs/lib/elevated-access.js.map +1 -1
  43. package/dist/cjs/lib/generic-error.d.ts +1 -1
  44. package/dist/cjs/lib/generic-error.d.ts.map +1 -1
  45. package/dist/cjs/lib/generic-error.js +4 -4
  46. package/dist/cjs/lib/generic-error.js.map +1 -1
  47. package/dist/cjs/lib/invite-user-dialog.d.ts +1 -1
  48. package/dist/cjs/lib/invite-user-dialog.d.ts.map +1 -1
  49. package/dist/cjs/lib/invite-user-dialog.js +11 -11
  50. package/dist/cjs/lib/invite-user-dialog.js.map +1 -1
  51. package/dist/cjs/lib/logout-all-sessions-dialog.d.ts +1 -1
  52. package/dist/cjs/lib/logout-all-sessions-dialog.d.ts.map +1 -1
  53. package/dist/cjs/lib/logout-all-sessions-dialog.js +7 -7
  54. package/dist/cjs/lib/logout-all-sessions-dialog.js.map +1 -1
  55. package/dist/cjs/lib/logout-dialog.d.ts +2 -2
  56. package/dist/cjs/lib/logout-dialog.d.ts.map +1 -1
  57. package/dist/cjs/lib/logout-dialog.js +9 -9
  58. package/dist/cjs/lib/logout-dialog.js.map +1 -1
  59. package/dist/cjs/lib/marker.js +2 -2
  60. package/dist/cjs/lib/marker.js.map +1 -1
  61. package/dist/cjs/lib/organization-switcher.d.ts +12 -3
  62. package/dist/cjs/lib/organization-switcher.d.ts.map +1 -1
  63. package/dist/cjs/lib/organization-switcher.js +31 -3
  64. package/dist/cjs/lib/organization-switcher.js.map +1 -1
  65. package/dist/cjs/lib/otp-input.d.ts +1 -1
  66. package/dist/cjs/lib/otp-input.d.ts.map +1 -1
  67. package/dist/cjs/lib/otp-input.js +2 -2
  68. package/dist/cjs/lib/otp-input.js.map +1 -1
  69. package/dist/cjs/lib/resend-invite-dialog.d.ts +2 -2
  70. package/dist/cjs/lib/resend-invite-dialog.d.ts.map +1 -1
  71. package/dist/cjs/lib/resend-invite-dialog.js +7 -7
  72. package/dist/cjs/lib/resend-invite-dialog.js.map +1 -1
  73. package/dist/cjs/lib/reset-mfa-dialog.d.ts +1 -1
  74. package/dist/cjs/lib/reset-mfa-dialog.d.ts.map +1 -1
  75. package/dist/cjs/lib/reset-mfa-dialog.js +11 -11
  76. package/dist/cjs/lib/reset-mfa-dialog.js.map +1 -1
  77. package/dist/cjs/lib/revoke-invite-dialog.d.ts +2 -2
  78. package/dist/cjs/lib/revoke-invite-dialog.d.ts.map +1 -1
  79. package/dist/cjs/lib/revoke-invite-dialog.js +5 -5
  80. package/dist/cjs/lib/revoke-invite-dialog.js.map +1 -1
  81. package/dist/cjs/lib/save-button.d.ts +1 -1
  82. package/dist/cjs/lib/save-button.d.ts.map +1 -1
  83. package/dist/cjs/lib/save-button.js +2 -2
  84. package/dist/cjs/lib/save-button.js.map +1 -1
  85. package/dist/cjs/lib/search-provider.js +2 -2
  86. package/dist/cjs/lib/search-provider.js.map +1 -1
  87. package/dist/cjs/lib/set-password-dialog.d.ts +1 -1
  88. package/dist/cjs/lib/set-password-dialog.d.ts.map +1 -1
  89. package/dist/cjs/lib/set-password-dialog.js +11 -11
  90. package/dist/cjs/lib/set-password-dialog.js.map +1 -1
  91. package/dist/cjs/lib/use-layout-effect.js +2 -2
  92. package/dist/cjs/lib/use-layout-effect.js.map +1 -1
  93. package/dist/cjs/lib/use-security-settings.js +3 -3
  94. package/dist/cjs/lib/use-security-settings.js.map +1 -1
  95. package/dist/cjs/lib/user-actions-dropdown.d.ts +2 -2
  96. package/dist/cjs/lib/user-actions-dropdown.d.ts.map +1 -1
  97. package/dist/cjs/lib/user-actions-dropdown.js +12 -12
  98. package/dist/cjs/lib/user-actions-dropdown.js.map +1 -1
  99. package/dist/cjs/lib/user-profile.d.ts +4 -4
  100. package/dist/cjs/lib/user-profile.d.ts.map +1 -1
  101. package/dist/cjs/lib/user-profile.js +10 -10
  102. package/dist/cjs/lib/user-profile.js.map +1 -1
  103. package/dist/cjs/lib/user-security.d.ts +4 -4
  104. package/dist/cjs/lib/user-security.d.ts.map +1 -1
  105. package/dist/cjs/lib/user-security.js +13 -13
  106. package/dist/cjs/lib/user-security.js.map +1 -1
  107. package/dist/cjs/lib/user-sessions.d.ts +4 -4
  108. package/dist/cjs/lib/user-sessions.d.ts.map +1 -1
  109. package/dist/cjs/lib/user-sessions.js +14 -14
  110. package/dist/cjs/lib/user-sessions.js.map +1 -1
  111. package/dist/cjs/lib/users-filter.d.ts +1 -1
  112. package/dist/cjs/lib/users-filter.d.ts.map +1 -1
  113. package/dist/cjs/lib/users-filter.js +4 -4
  114. package/dist/cjs/lib/users-filter.js.map +1 -1
  115. package/dist/cjs/lib/users-management-context.d.ts +1 -1
  116. package/dist/cjs/lib/users-management-context.d.ts.map +1 -1
  117. package/dist/cjs/lib/users-management-context.js +2 -2
  118. package/dist/cjs/lib/users-management-context.js.map +1 -1
  119. package/dist/cjs/lib/users-management-state.d.ts +1 -1
  120. package/dist/cjs/lib/users-management-state.d.ts.map +1 -1
  121. package/dist/cjs/lib/users-management-state.js +2 -2
  122. package/dist/cjs/lib/users-management-state.js.map +1 -1
  123. package/dist/cjs/lib/users-management.d.ts +4 -4
  124. package/dist/cjs/lib/users-management.d.ts.map +1 -1
  125. package/dist/cjs/lib/users-management.js +28 -28
  126. package/dist/cjs/lib/users-management.js.map +1 -1
  127. package/dist/cjs/lib/users-search.d.ts +1 -1
  128. package/dist/cjs/lib/users-search.d.ts.map +1 -1
  129. package/dist/cjs/lib/users-search.js +8 -8
  130. package/dist/cjs/lib/users-search.js.map +1 -1
  131. package/dist/cjs/lib/utils.d.ts +1 -1
  132. package/dist/cjs/lib/utils.d.ts.map +1 -1
  133. package/dist/cjs/lib/utils.js +2 -2
  134. package/dist/cjs/lib/utils.js.map +1 -1
  135. package/dist/cjs/lib/widgets-context.d.ts +1 -1
  136. package/dist/cjs/lib/widgets-context.d.ts.map +1 -1
  137. package/dist/cjs/lib/widgets-context.js +2 -2
  138. package/dist/cjs/lib/widgets-context.js.map +1 -1
  139. package/dist/cjs/organization-switcher.client.d.ts +2 -2
  140. package/dist/cjs/organization-switcher.client.d.ts.map +1 -1
  141. package/dist/cjs/organization-switcher.client.js +13 -12
  142. package/dist/cjs/organization-switcher.client.js.map +1 -1
  143. package/dist/cjs/user-profile.client.d.ts +1 -1
  144. package/dist/cjs/user-profile.client.d.ts.map +1 -1
  145. package/dist/cjs/user-profile.client.js +13 -12
  146. package/dist/cjs/user-profile.client.js.map +1 -1
  147. package/dist/cjs/user-security.client.d.ts +1 -1
  148. package/dist/cjs/user-security.client.d.ts.map +1 -1
  149. package/dist/cjs/user-security.client.js +13 -12
  150. package/dist/cjs/user-security.client.js.map +1 -1
  151. package/dist/cjs/user-sessions.client.d.ts.map +1 -1
  152. package/dist/cjs/user-sessions.client.js +14 -13
  153. package/dist/cjs/user-sessions.client.js.map +1 -1
  154. package/dist/cjs/users-management.client.d.ts +1 -1
  155. package/dist/cjs/users-management.client.d.ts.map +1 -1
  156. package/dist/cjs/users-management.client.js +16 -15
  157. package/dist/cjs/users-management.client.js.map +1 -1
  158. package/dist/cjs/workos-widgets.client.d.ts +7 -1
  159. package/dist/cjs/workos-widgets.client.d.ts.map +1 -1
  160. package/dist/cjs/workos-widgets.client.js +27 -7
  161. package/dist/cjs/workos-widgets.client.js.map +1 -1
  162. package/dist/esm/api/endpoint.d.ts +1 -1
  163. package/dist/esm/api/endpoint.d.ts.map +1 -1
  164. package/dist/esm/api/endpoint.js +2 -2
  165. package/dist/esm/api/endpoint.js.map +1 -1
  166. package/dist/esm/api/utils.js +1 -1
  167. package/dist/esm/api/utils.js.map +1 -1
  168. package/dist/esm/api/widgets-api-client.js +3 -3
  169. package/dist/esm/api/widgets-api-client.js.map +1 -1
  170. package/dist/esm/index.d.ts +6 -6
  171. package/dist/esm/index.d.ts.map +1 -1
  172. package/dist/esm/index.js +6 -6
  173. package/dist/esm/index.js.map +1 -1
  174. package/dist/esm/lib/add-mfa-dialog.js +10 -9
  175. package/dist/esm/lib/add-mfa-dialog.js.map +1 -1
  176. package/dist/esm/lib/api/user.d.ts +7 -7
  177. package/dist/esm/lib/api/user.d.ts.map +1 -1
  178. package/dist/esm/lib/api/user.js +3 -3
  179. package/dist/esm/lib/api/user.js.map +1 -1
  180. package/dist/esm/lib/change-password-dialog.js +3 -3
  181. package/dist/esm/lib/change-password-dialog.js.map +1 -1
  182. package/dist/esm/lib/delete-user-dialog.d.ts +1 -1
  183. package/dist/esm/lib/delete-user-dialog.d.ts.map +1 -1
  184. package/dist/esm/lib/delete-user-dialog.js +2 -2
  185. package/dist/esm/lib/delete-user-dialog.js.map +1 -1
  186. package/dist/esm/lib/edit-user-profile-dialog.d.ts +1 -1
  187. package/dist/esm/lib/edit-user-profile-dialog.d.ts.map +1 -1
  188. package/dist/esm/lib/edit-user-profile-dialog.js +3 -3
  189. package/dist/esm/lib/edit-user-profile-dialog.js.map +1 -1
  190. package/dist/esm/lib/edit-user-role-dialog.d.ts +1 -1
  191. package/dist/esm/lib/edit-user-role-dialog.d.ts.map +1 -1
  192. package/dist/esm/lib/edit-user-role-dialog.js +4 -4
  193. package/dist/esm/lib/edit-user-role-dialog.js.map +1 -1
  194. package/dist/esm/lib/elements.js +3 -3
  195. package/dist/esm/lib/elements.js.map +1 -1
  196. package/dist/esm/lib/elevated-access.d.ts.map +1 -1
  197. package/dist/esm/lib/elevated-access.js +4 -3
  198. package/dist/esm/lib/elevated-access.js.map +1 -1
  199. package/dist/esm/lib/generic-error.js +1 -1
  200. package/dist/esm/lib/generic-error.js.map +1 -1
  201. package/dist/esm/lib/invite-user-dialog.js +5 -5
  202. package/dist/esm/lib/invite-user-dialog.js.map +1 -1
  203. package/dist/esm/lib/logout-all-sessions-dialog.js +3 -3
  204. package/dist/esm/lib/logout-all-sessions-dialog.js.map +1 -1
  205. package/dist/esm/lib/logout-dialog.d.ts +1 -1
  206. package/dist/esm/lib/logout-dialog.d.ts.map +1 -1
  207. package/dist/esm/lib/logout-dialog.js +4 -4
  208. package/dist/esm/lib/logout-dialog.js.map +1 -1
  209. package/dist/esm/lib/marker.js +1 -1
  210. package/dist/esm/lib/marker.js.map +1 -1
  211. package/dist/esm/lib/organization-switcher.d.ts +11 -2
  212. package/dist/esm/lib/organization-switcher.d.ts.map +1 -1
  213. package/dist/esm/lib/organization-switcher.js +31 -3
  214. package/dist/esm/lib/organization-switcher.js.map +1 -1
  215. package/dist/esm/lib/otp-input.d.ts +1 -1
  216. package/dist/esm/lib/otp-input.d.ts.map +1 -1
  217. package/dist/esm/lib/otp-input.js +1 -1
  218. package/dist/esm/lib/otp-input.js.map +1 -1
  219. package/dist/esm/lib/resend-invite-dialog.d.ts +1 -1
  220. package/dist/esm/lib/resend-invite-dialog.d.ts.map +1 -1
  221. package/dist/esm/lib/resend-invite-dialog.js +2 -2
  222. package/dist/esm/lib/resend-invite-dialog.js.map +1 -1
  223. package/dist/esm/lib/reset-mfa-dialog.js +6 -6
  224. package/dist/esm/lib/reset-mfa-dialog.js.map +1 -1
  225. package/dist/esm/lib/revoke-invite-dialog.d.ts +1 -1
  226. package/dist/esm/lib/revoke-invite-dialog.d.ts.map +1 -1
  227. package/dist/esm/lib/revoke-invite-dialog.js +2 -2
  228. package/dist/esm/lib/revoke-invite-dialog.js.map +1 -1
  229. package/dist/esm/lib/save-button.js +1 -1
  230. package/dist/esm/lib/save-button.js.map +1 -1
  231. package/dist/esm/lib/search-provider.js +1 -1
  232. package/dist/esm/lib/search-provider.js.map +1 -1
  233. package/dist/esm/lib/set-password-dialog.js +6 -6
  234. package/dist/esm/lib/set-password-dialog.js.map +1 -1
  235. package/dist/esm/lib/use-layout-effect.js +1 -1
  236. package/dist/esm/lib/use-layout-effect.js.map +1 -1
  237. package/dist/esm/lib/use-security-settings.js +1 -1
  238. package/dist/esm/lib/use-security-settings.js.map +1 -1
  239. package/dist/esm/lib/user-actions-dropdown.d.ts +1 -1
  240. package/dist/esm/lib/user-actions-dropdown.d.ts.map +1 -1
  241. package/dist/esm/lib/user-actions-dropdown.js +6 -6
  242. package/dist/esm/lib/user-actions-dropdown.js.map +1 -1
  243. package/dist/esm/lib/user-profile.d.ts +1 -1
  244. package/dist/esm/lib/user-profile.d.ts.map +1 -1
  245. package/dist/esm/lib/user-profile.js +5 -5
  246. package/dist/esm/lib/user-profile.js.map +1 -1
  247. package/dist/esm/lib/user-security.d.ts +1 -1
  248. package/dist/esm/lib/user-security.d.ts.map +1 -1
  249. package/dist/esm/lib/user-security.js +9 -9
  250. package/dist/esm/lib/user-security.js.map +1 -1
  251. package/dist/esm/lib/user-sessions.d.ts +1 -1
  252. package/dist/esm/lib/user-sessions.d.ts.map +1 -1
  253. package/dist/esm/lib/user-sessions.js +7 -7
  254. package/dist/esm/lib/user-sessions.js.map +1 -1
  255. package/dist/esm/lib/users-filter.d.ts +1 -1
  256. package/dist/esm/lib/users-filter.d.ts.map +1 -1
  257. package/dist/esm/lib/users-filter.js +2 -2
  258. package/dist/esm/lib/users-filter.js.map +1 -1
  259. package/dist/esm/lib/users-management-context.d.ts +1 -1
  260. package/dist/esm/lib/users-management-context.d.ts.map +1 -1
  261. package/dist/esm/lib/users-management-context.js +1 -1
  262. package/dist/esm/lib/users-management-context.js.map +1 -1
  263. package/dist/esm/lib/users-management-state.d.ts +1 -1
  264. package/dist/esm/lib/users-management-state.d.ts.map +1 -1
  265. package/dist/esm/lib/users-management-state.js +1 -1
  266. package/dist/esm/lib/users-management-state.js.map +1 -1
  267. package/dist/esm/lib/users-management.d.ts +1 -1
  268. package/dist/esm/lib/users-management.d.ts.map +1 -1
  269. package/dist/esm/lib/users-management.js +11 -11
  270. package/dist/esm/lib/users-management.js.map +1 -1
  271. package/dist/esm/lib/users-search.js +4 -4
  272. package/dist/esm/lib/users-search.js.map +1 -1
  273. package/dist/esm/lib/utils.d.ts +1 -1
  274. package/dist/esm/lib/utils.d.ts.map +1 -1
  275. package/dist/esm/lib/utils.js +1 -1
  276. package/dist/esm/lib/utils.js.map +1 -1
  277. package/dist/esm/lib/widgets-context.d.ts +1 -1
  278. package/dist/esm/lib/widgets-context.d.ts.map +1 -1
  279. package/dist/esm/lib/widgets-context.js +1 -1
  280. package/dist/esm/lib/widgets-context.js.map +1 -1
  281. package/dist/esm/organization-switcher.client.d.ts +2 -2
  282. package/dist/esm/organization-switcher.client.d.ts.map +1 -1
  283. package/dist/esm/organization-switcher.client.js +6 -5
  284. package/dist/esm/organization-switcher.client.js.map +1 -1
  285. package/dist/esm/user-profile.client.d.ts +1 -1
  286. package/dist/esm/user-profile.client.d.ts.map +1 -1
  287. package/dist/esm/user-profile.client.js +6 -5
  288. package/dist/esm/user-profile.client.js.map +1 -1
  289. package/dist/esm/user-security.client.d.ts +1 -1
  290. package/dist/esm/user-security.client.d.ts.map +1 -1
  291. package/dist/esm/user-security.client.js +6 -5
  292. package/dist/esm/user-security.client.js.map +1 -1
  293. package/dist/esm/user-sessions.client.d.ts.map +1 -1
  294. package/dist/esm/user-sessions.client.js +6 -5
  295. package/dist/esm/user-sessions.client.js.map +1 -1
  296. package/dist/esm/users-management.client.d.ts +1 -1
  297. package/dist/esm/users-management.client.d.ts.map +1 -1
  298. package/dist/esm/users-management.client.js +8 -7
  299. package/dist/esm/users-management.client.js.map +1 -1
  300. package/dist/esm/workos-widgets.client.d.ts +7 -1
  301. package/dist/esm/workos-widgets.client.d.ts.map +1 -1
  302. package/dist/esm/workos-widgets.client.js +28 -8
  303. package/dist/esm/workos-widgets.client.js.map +1 -1
  304. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  305. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  306. package/package.json +9 -9
  307. package/dist/cjs/api/index.d.ts +0 -3
  308. package/dist/cjs/api/index.d.ts.map +0 -1
  309. package/dist/cjs/api/index.js +0 -19
  310. package/dist/cjs/api/index.js.map +0 -1
  311. package/dist/esm/api/index.d.ts +0 -3
  312. package/dist/esm/api/index.d.ts.map +0 -1
  313. package/dist/esm/api/index.js +0 -3
  314. package/dist/esm/api/index.js.map +0 -1
  315. package/src/api/api-provider.tsx +0 -158
  316. package/src/api/constants.ts +0 -1
  317. package/src/api/endpoint.ts +0 -3097
  318. package/src/api/errors.ts +0 -48
  319. package/src/api/index.ts +0 -2
  320. package/src/api/utils.ts +0 -42
  321. package/src/api/widgets-api-client.ts +0 -87
  322. package/src/card-list.tsx +0 -26
  323. package/src/index.ts +0 -9
  324. package/src/lib/add-mfa-dialog.tsx +0 -379
  325. package/src/lib/api/config.ts +0 -9
  326. package/src/lib/api/user.ts +0 -98
  327. package/src/lib/change-password-dialog.tsx +0 -290
  328. package/src/lib/constants.ts +0 -3
  329. package/src/lib/copy-button.tsx +0 -53
  330. package/src/lib/delete-user-dialog.tsx +0 -110
  331. package/src/lib/edit-user-profile-dialog.tsx +0 -181
  332. package/src/lib/edit-user-role-dialog.tsx +0 -178
  333. package/src/lib/elements.tsx +0 -428
  334. package/src/lib/elevated-access.tsx +0 -261
  335. package/src/lib/error-boundary.tsx +0 -166
  336. package/src/lib/errors.ts +0 -49
  337. package/src/lib/generic-error.tsx +0 -70
  338. package/src/lib/icon-panel.tsx +0 -26
  339. package/src/lib/icons.tsx +0 -21
  340. package/src/lib/invite-user-dialog.tsx +0 -327
  341. package/src/lib/logout-all-sessions-dialog.tsx +0 -82
  342. package/src/lib/logout-dialog.tsx +0 -85
  343. package/src/lib/marker.tsx +0 -39
  344. package/src/lib/oauth-icons.tsx +0 -138
  345. package/src/lib/organization-switcher.tsx +0 -156
  346. package/src/lib/otp-input.tsx +0 -276
  347. package/src/lib/resend-invite-dialog.tsx +0 -145
  348. package/src/lib/reset-mfa-dialog.tsx +0 -104
  349. package/src/lib/revoke-invite-dialog.tsx +0 -111
  350. package/src/lib/save-button.tsx +0 -113
  351. package/src/lib/search-provider.tsx +0 -51
  352. package/src/lib/set-password-dialog.tsx +0 -204
  353. package/src/lib/use-dialog-close.tsx +0 -19
  354. package/src/lib/use-is-hydrated.ts +0 -13
  355. package/src/lib/use-layout-effect.ts +0 -6
  356. package/src/lib/use-security-settings.tsx +0 -49
  357. package/src/lib/user-actions-dropdown.tsx +0 -157
  358. package/src/lib/user-profile.tsx +0 -227
  359. package/src/lib/user-security.tsx +0 -187
  360. package/src/lib/user-sessions.tsx +0 -204
  361. package/src/lib/users-filter.tsx +0 -62
  362. package/src/lib/users-management-context.tsx +0 -74
  363. package/src/lib/users-management-state.ts +0 -165
  364. package/src/lib/users-management.tsx +0 -594
  365. package/src/lib/users-search.tsx +0 -73
  366. package/src/lib/utils.ts +0 -131
  367. package/src/lib/widgets-context.ts +0 -29
  368. package/src/organization-switcher.client.tsx +0 -81
  369. package/src/user-profile.client.tsx +0 -55
  370. package/src/user-security.client.tsx +0 -55
  371. package/src/user-sessions.client.tsx +0 -100
  372. package/src/users-management.client.tsx +0 -73
  373. package/src/workos-widgets.client.tsx +0 -75
  374. /package/{src → dist/css}/base.css +0 -0
  375. /package/{src → dist/css}/lib/card-list.css +0 -0
  376. /package/{src → dist/css}/lib/marker.css +0 -0
  377. /package/{src → dist/css}/lib/save-button.css +0 -0
  378. /package/{src → dist/css}/styles.css +0 -0
  379. /package/{src → dist/css}/users-management.css +0 -0
@@ -1,204 +0,0 @@
1
- "use client";
2
-
3
- import { Box, Button, Card, Flex, Text } from "@radix-ui/themes";
4
- import clsx from "clsx";
5
- import { Badge, SecondaryButton, Skeleton } from "./elements";
6
- import {
7
- getComparativeReadableDate,
8
- getUserLocation,
9
- parseUserAgent,
10
- } from "./utils";
11
- import { LogoutDialog } from "./logout-dialog";
12
- import { LogoutAllSessionsDialog } from "./logout-all-sessions-dialog";
13
- import { ActiveSession } from "../api";
14
- import * as CardList from "../card-list";
15
- import { IconPanel } from "./icon-panel";
16
- import { useState } from "react";
17
- import { GenericError } from "./generic-error";
18
- import { LaptopIcon, MobileIcon } from "@radix-ui/react-icons";
19
-
20
- interface UserSessionsProps {
21
- sessionsData: ActiveSession[];
22
- currentSessionId: string;
23
- }
24
-
25
- export const UserSessions = ({
26
- sessionsData: sessions,
27
- currentSessionId,
28
- }: UserSessionsProps) => {
29
- const currentSession = sessions.find(
30
- (session) => session.id === currentSessionId,
31
- );
32
- const otherSessions = sessions.filter(
33
- (session) => session.id !== currentSessionId,
34
- );
35
- const [openLogoutDialog, setOpenLogoutDialog] = useState(false);
36
- const [sessionToSignOut, setSessionToSignOut] =
37
- useState<ActiveSession | null>(null);
38
- const [openLogoutAllSessionsDialog, setOpenLogoutAllSessionsDialog] =
39
- useState(false);
40
-
41
- return (
42
- <Flex
43
- direction="column"
44
- gap="4"
45
- className={clsx("woswidgets-widget")}
46
- data-woswidgets-widget-id="user-sessions"
47
- >
48
- <CardList.Root>
49
- {currentSession && (
50
- <CardList.Item>
51
- <UserSession session={currentSession} isCurrentSession />
52
- </CardList.Item>
53
- )}
54
-
55
- {otherSessions.map((session) => (
56
- <CardList.Item key={session.id}>
57
- <UserSession
58
- session={session}
59
- onSignOut={() => {
60
- setSessionToSignOut(session);
61
- setOpenLogoutDialog(true);
62
- }}
63
- />
64
- </CardList.Item>
65
- ))}
66
- </CardList.Root>
67
-
68
- {sessions.length > 1 && (
69
- <Card size="2">
70
- <Flex gap="2" justify="between" align="center">
71
- <Box>
72
- <Text size="2" highContrast weight="bold" as="p">
73
- Sign out of all other devices
74
- </Text>
75
- <Text size="2" color="gray" as="p">
76
- Remove access from all devices except this one
77
- </Text>
78
- </Box>
79
-
80
- <SecondaryButton
81
- onClick={() => {
82
- setOpenLogoutAllSessionsDialog(true);
83
- }}
84
- >
85
- Sign out
86
- </SecondaryButton>
87
- </Flex>
88
- </Card>
89
- )}
90
-
91
- {sessionToSignOut && (
92
- <LogoutDialog
93
- session={sessionToSignOut}
94
- open={openLogoutDialog}
95
- onOpenChange={setOpenLogoutDialog}
96
- />
97
- )}
98
-
99
- <LogoutAllSessionsDialog
100
- currentSessionId={currentSessionId}
101
- open={openLogoutAllSessionsDialog}
102
- onOpenChange={setOpenLogoutAllSessionsDialog}
103
- />
104
- </Flex>
105
- );
106
- };
107
-
108
- export function UserSessionsLoading() {
109
- return (
110
- <Card size="2">
111
- <Flex gap="4" align="center">
112
- <Skeleton>
113
- <IconPanel />
114
- </Skeleton>
115
-
116
- <Flex direction="column">
117
- <Text size="2" highContrast weight="bold" as="p" mb="-2px">
118
- <Skeleton>The location</Skeleton>
119
- </Text>
120
-
121
- <Text size="2" color="gray" as="p">
122
- <Skeleton>The location</Skeleton>
123
- </Text>
124
- </Flex>
125
- </Flex>
126
- </Card>
127
- );
128
- }
129
-
130
- export function UserSessionsError({ error }: { error: unknown }) {
131
- return (
132
- <Card size="2">
133
- <GenericError error={error} />
134
- </Card>
135
- );
136
- }
137
-
138
- interface UserSessionProps {
139
- session: ActiveSession;
140
- isCurrentSession?: boolean;
141
- onSignOut?: (session: ActiveSession) => void;
142
- }
143
-
144
- const UserSession = ({
145
- session,
146
- isCurrentSession = false,
147
- onSignOut,
148
- }: UserSessionProps) => {
149
- const userAgent = parseUserAgent(session.userAgent);
150
- const userLocation = getUserLocation(
151
- session.currentLocation,
152
- session.ipAddress,
153
- );
154
-
155
- return (
156
- <Flex gap="4" align="center">
157
- <IconPanel>
158
- {userAgent.isMobile ? <MobileIcon /> : <LaptopIcon />}
159
- </IconPanel>
160
-
161
- <Flex direction="column">
162
- <Text size="2" highContrast weight="bold" as="p" mb="-2px">
163
- {userAgent.pretty}
164
- </Text>
165
-
166
- <Flex gap="1" align="center">
167
- <Text size="2" color="gray" as="p">
168
- {userLocation}
169
- </Text>
170
-
171
- {isCurrentSession && <Badge ml="2">This device</Badge>}
172
-
173
- {!isCurrentSession && session.lastActivityAt && (
174
- <>
175
- <Text size="2" color="gray">
176
-
177
- </Text>
178
- <Text size="2" color="gray">
179
- Last seen{" "}
180
- {getComparativeReadableDate(
181
- new Date(),
182
- new Date(session.lastActivityAt),
183
- )}
184
- </Text>
185
- </>
186
- )}
187
- </Flex>
188
- </Flex>
189
-
190
- {!isCurrentSession && (
191
- <Flex ml="auto" mr="2">
192
- <Button
193
- variant="ghost"
194
- onClick={() => {
195
- onSignOut?.(session);
196
- }}
197
- >
198
- Sign out
199
- </Button>
200
- </Flex>
201
- )}
202
- </Flex>
203
- );
204
- };
@@ -1,62 +0,0 @@
1
- "use client";
2
-
3
- import { Select } from "@radix-ui/themes";
4
- import * as React from "react";
5
- import { SelectContent, SelectItem, SelectTrigger } from "./elements";
6
- import { useUsersManagementContext } from "./users-management-context";
7
- import { MemberRole } from "../api";
8
-
9
- const ALL_ROLES_NAME = "All";
10
- const ALL_ROLES_VALUE = "null";
11
-
12
- type UsersFilterProps = React.ComponentPropsWithoutRef<typeof Select.Root> & {
13
- roles: MemberRole[] | undefined;
14
- disabled?: boolean;
15
- };
16
-
17
- export const UsersFilter: React.FC<UsersFilterProps> = ({
18
- roles,
19
- disabled,
20
- }) => {
21
- const {
22
- dispatch,
23
- state: { role },
24
- } = useUsersManagementContext();
25
-
26
- const setFilterParams = (value: string | null) => {
27
- dispatch({ type: "FILTER_BY_ROLE", role: value });
28
- };
29
- const isValidRole = (value: unknown): value is string =>
30
- roles ? roles.findIndex((role) => role.slug === value) !== -1 : false;
31
- const filteredRole = isValidRole(role) ? role : ALL_ROLES_VALUE;
32
- const roleName =
33
- roles?.find((role) => role.slug === filteredRole)?.name || ALL_ROLES_NAME;
34
-
35
- const onValueChange = (value: string) => {
36
- if (value === ALL_ROLES_VALUE) {
37
- setFilterParams(null);
38
- } else {
39
- if (isValidRole(value)) {
40
- setFilterParams(value);
41
- }
42
- }
43
- };
44
-
45
- return (
46
- <Select.Root
47
- value={roles ? filteredRole : "null"}
48
- onValueChange={onValueChange}
49
- disabled={disabled}
50
- >
51
- <SelectTrigger>{roles ? roleName : ALL_ROLES_NAME}</SelectTrigger>
52
- <SelectContent>
53
- <SelectItem value={ALL_ROLES_VALUE}>{ALL_ROLES_NAME}</SelectItem>
54
- {roles?.map((role) => (
55
- <React.Fragment key={role.slug}>
56
- <SelectItem value={role.slug}>{role.name}</SelectItem>
57
- </React.Fragment>
58
- ))}
59
- </SelectContent>
60
- </Select.Root>
61
- );
62
- };
@@ -1,74 +0,0 @@
1
- "use client";
2
-
3
- import * as React from "react";
4
- import {
5
- UsersManagementAction,
6
- UsersManagementState,
7
- useUsersManagementState,
8
- } from "./users-management-state";
9
- import { ListMetadata } from "../api";
10
-
11
- export interface UsersManagementContextType {
12
- state: UsersManagementState;
13
- dispatch: React.Dispatch<UsersManagementAction>;
14
- }
15
-
16
- const UsersManagementContext = React.createContext<
17
- UsersManagementContextType | undefined
18
- >(undefined);
19
- UsersManagementContext.displayName = "UsersManagementContext";
20
-
21
- const initialState: UsersManagementState = {
22
- pagination: null,
23
- role: null,
24
- searchQuery: null,
25
- };
26
-
27
- export const UsersManagementContextProvider: React.FC<{
28
- children?: React.ReactNode;
29
- }> = ({ children }) => {
30
- const [state, dispatch] = useUsersManagementState(initialState);
31
-
32
- const context = React.useMemo<UsersManagementContextType>(
33
- () => ({
34
- state,
35
- dispatch,
36
- }),
37
- [state, dispatch],
38
- );
39
-
40
- return (
41
- <UsersManagementContext.Provider value={context}>
42
- {children}
43
- </UsersManagementContext.Provider>
44
- );
45
- };
46
-
47
- const NOOP = () => void 0;
48
- const EMPTY_PAGINATION: ListMetadata = {};
49
-
50
- /**
51
- * The context may be provided if it is instantiated in the tree above the user.
52
- */
53
- export function useUsersManagementContext(
54
- initialContext?: UsersManagementContextType | null,
55
- ): UsersManagementContextType {
56
- const context = React.useContext(UsersManagementContext);
57
-
58
- if (context) {
59
- return context;
60
- }
61
-
62
- if (initialContext) {
63
- return initialContext;
64
- }
65
-
66
- return {
67
- dispatch: NOOP,
68
- state: {
69
- pagination: EMPTY_PAGINATION,
70
- role: null,
71
- searchQuery: null,
72
- },
73
- };
74
- }
@@ -1,165 +0,0 @@
1
- import * as React from "react";
2
- import { canUseDOM } from "./utils";
3
- import { ListMetadata } from "../api";
4
-
5
- export function useUsersManagementState(initialState: UsersManagementState) {
6
- const [[state, effects], dispatch] = React.useReducer(reducer, [
7
- initialState,
8
- [],
9
- ]);
10
-
11
- React.useEffect(() => {
12
- if (window !== window.top) {
13
- // do not use query params if widget is rendered in an iframe
14
- return;
15
- }
16
- const params = new URLSearchParams(window.location.search);
17
- dispatch({ type: "INIT", params });
18
- }, []);
19
-
20
- React.useEffect(() => {
21
- for (const effect of effects) {
22
- effect();
23
- }
24
- }, [effects]);
25
-
26
- return [state, dispatch] as const;
27
- }
28
-
29
- function reducer(
30
- current: StateWithEffects<UsersManagementState>,
31
- action: UsersManagementAction,
32
- ): StateWithEffects<UsersManagementState> {
33
- const effects: EffectFn[] = [];
34
- const exec = (fn: () => void) => {
35
- const effect = () => {
36
- if (!effect.disposed) {
37
- effect.disposed = true;
38
- fn();
39
- }
40
- };
41
- effect.disposed = false;
42
- effects.push(effect);
43
- };
44
-
45
- const [currentState] = current;
46
- switch (action.type) {
47
- case "INIT": {
48
- const { params } = action;
49
- let role, searchQuery;
50
- if ((role = params.get("ak_role"))) {
51
- return [{ ...currentState, searchQuery: null, role }, effects];
52
- }
53
- if ((searchQuery = params.get("ak_q"))) {
54
- return [{ ...currentState, searchQuery, role: null }, effects];
55
- }
56
- return current;
57
- }
58
- case "SET_PAGINATION": {
59
- const { pagination } = action;
60
- if (
61
- (pagination.after &&
62
- pagination.after === currentState.pagination?.after) ||
63
- (pagination.before &&
64
- pagination.before === currentState.pagination?.before)
65
- ) {
66
- return current;
67
- }
68
-
69
- return [{ ...currentState, pagination }, effects];
70
- }
71
- case "FILTER_BY_ROLE": {
72
- if (action.role === currentState.role) {
73
- return current;
74
- }
75
- const { role } = action;
76
- exec(() =>
77
- updateQueryParams(
78
- { ak_role: role, ak_q: null },
79
- { replaceState: true },
80
- ),
81
- );
82
- return [
83
- { ...currentState, pagination: null, role, searchQuery: null },
84
- effects,
85
- ];
86
- }
87
- case "FILTER_BY_SEARCH": {
88
- if (action.searchQuery === currentState.searchQuery) {
89
- return current;
90
- }
91
- const { searchQuery } = action;
92
- exec(() =>
93
- updateQueryParams(
94
- { ak_role: null, ak_q: searchQuery },
95
- { replaceState: true },
96
- ),
97
- );
98
- return [
99
- { ...currentState, pagination: null, role: null, searchQuery },
100
- effects,
101
- ];
102
- //
103
- break;
104
- }
105
- default:
106
- return current;
107
- }
108
- }
109
-
110
- export interface UsersManagementState {
111
- searchQuery: string | null;
112
- role: string | null;
113
- pagination: ListMetadata | null;
114
- }
115
-
116
- export type UsersManagementAction =
117
- | { type: "INIT"; params: URLSearchParams }
118
- | { type: "FILTER_BY_SEARCH"; searchQuery: string | null }
119
- | { type: "FILTER_BY_ROLE"; role: string | null }
120
- | { type: "SET_PAGINATION"; pagination: ListMetadata };
121
-
122
- type EffectFn = {
123
- (): void;
124
- disposed: boolean;
125
- };
126
-
127
- type StateWithEffects<State> = [State, EffectFn[]];
128
-
129
- function updateQueryParams(
130
- newParams: { [key: string]: { toString(): string } | null },
131
- args: { replaceState?: boolean } = {},
132
- ) {
133
- if (!canUseDOM) {
134
- throw new Error("Cannot update query params on the server");
135
- }
136
-
137
- if (window !== window.top) {
138
- // do not update query params if widget is rendered in an iframe
139
- return;
140
- }
141
-
142
- const initialSearch = window.location.search;
143
- const params = new URLSearchParams(initialSearch);
144
- Object.entries(newParams).forEach(([key, value]) => {
145
- if (value != null && value !== "") {
146
- params.set(key, String(value));
147
- } else {
148
- params.delete(key);
149
- }
150
- });
151
-
152
- if (initialSearch === `?${params.toString()}`) {
153
- return;
154
- }
155
-
156
- const newUrl = params.toString()
157
- ? `${window.location.pathname}?${params}`
158
- : window.location.pathname;
159
-
160
- if (args.replaceState) {
161
- window.history.replaceState({}, "", newUrl);
162
- } else {
163
- window.history.pushState({}, "", newUrl);
164
- }
165
- }