@workos-inc/widgets 1.0.0 → 1.1.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 (397) hide show
  1. package/README.md +68 -1
  2. package/dist/cjs/card-list.d.ts +6 -0
  3. package/dist/cjs/card-list.d.ts.map +1 -0
  4. package/dist/cjs/card-list.js +13 -0
  5. package/dist/cjs/card-list.js.map +1 -0
  6. package/dist/cjs/index.d.ts +3 -0
  7. package/dist/cjs/index.d.ts.map +1 -1
  8. package/dist/cjs/index.js +7 -1
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/cjs/lib/add-mfa-dialog.d.ts +9 -0
  11. package/dist/cjs/lib/add-mfa-dialog.d.ts.map +1 -0
  12. package/dist/cjs/lib/add-mfa-dialog.js +135 -0
  13. package/dist/cjs/lib/add-mfa-dialog.js.map +1 -0
  14. package/dist/cjs/lib/api/user.d.ts +13 -57
  15. package/dist/cjs/lib/api/user.d.ts.map +1 -1
  16. package/dist/cjs/lib/api/user.js +44 -314
  17. package/dist/cjs/lib/api/user.js.map +1 -1
  18. package/dist/cjs/lib/change-password-dialog.d.ts +8 -0
  19. package/dist/cjs/lib/change-password-dialog.d.ts.map +1 -0
  20. package/dist/cjs/lib/change-password-dialog.js +97 -0
  21. package/dist/cjs/lib/change-password-dialog.js.map +1 -0
  22. package/dist/cjs/lib/copy-button.d.ts +8 -0
  23. package/dist/cjs/lib/copy-button.d.ts.map +1 -0
  24. package/dist/cjs/lib/copy-button.js +63 -0
  25. package/dist/cjs/lib/copy-button.js.map +1 -0
  26. package/dist/cjs/lib/delete-user-dialog.d.ts +2 -2
  27. package/dist/cjs/lib/delete-user-dialog.d.ts.map +1 -1
  28. package/dist/cjs/lib/delete-user-dialog.js +1 -1
  29. package/dist/cjs/lib/delete-user-dialog.js.map +1 -1
  30. package/dist/cjs/lib/edit-user-profile-dialog.d.ts +10 -0
  31. package/dist/cjs/lib/edit-user-profile-dialog.d.ts.map +1 -0
  32. package/dist/cjs/lib/edit-user-profile-dialog.js +85 -0
  33. package/dist/cjs/lib/edit-user-profile-dialog.js.map +1 -0
  34. package/dist/cjs/lib/edit-user-role-dialog.d.ts +12 -0
  35. package/dist/cjs/lib/edit-user-role-dialog.d.ts.map +1 -0
  36. package/dist/cjs/lib/{edit-user-details-dialog.js → edit-user-role-dialog.js} +11 -7
  37. package/dist/cjs/lib/edit-user-role-dialog.js.map +1 -0
  38. package/dist/cjs/lib/elements.d.ts +1 -0
  39. package/dist/cjs/lib/elements.d.ts.map +1 -1
  40. package/dist/cjs/lib/elements.js +10 -4
  41. package/dist/cjs/lib/elements.js.map +1 -1
  42. package/dist/cjs/lib/elevated-access.d.ts +8 -0
  43. package/dist/cjs/lib/elevated-access.d.ts.map +1 -0
  44. package/dist/cjs/lib/elevated-access.js +130 -0
  45. package/dist/cjs/lib/elevated-access.js.map +1 -0
  46. package/dist/cjs/lib/generic-error.d.ts +4 -0
  47. package/dist/cjs/lib/generic-error.d.ts.map +1 -0
  48. package/dist/cjs/lib/generic-error.js +57 -0
  49. package/dist/cjs/lib/generic-error.js.map +1 -0
  50. package/dist/cjs/lib/icon-panel.d.ts +3 -0
  51. package/dist/cjs/lib/icon-panel.d.ts.map +1 -0
  52. package/dist/cjs/lib/icon-panel.js +16 -0
  53. package/dist/cjs/lib/icon-panel.js.map +1 -0
  54. package/dist/cjs/lib/icons.d.ts +3 -0
  55. package/dist/cjs/lib/icons.d.ts.map +1 -0
  56. package/dist/cjs/lib/icons.js +8 -0
  57. package/dist/cjs/lib/icons.js.map +1 -0
  58. package/dist/cjs/lib/invite-user-dialog.d.ts.map +1 -1
  59. package/dist/cjs/lib/invite-user-dialog.js +7 -5
  60. package/dist/cjs/lib/invite-user-dialog.js.map +1 -1
  61. package/dist/cjs/lib/logout-all-sessions-dialog.d.ts +9 -0
  62. package/dist/cjs/lib/logout-all-sessions-dialog.d.ts.map +1 -0
  63. package/dist/cjs/lib/logout-all-sessions-dialog.js +52 -0
  64. package/dist/cjs/lib/logout-all-sessions-dialog.js.map +1 -0
  65. package/dist/cjs/lib/logout-dialog.d.ts +10 -0
  66. package/dist/cjs/lib/logout-dialog.d.ts.map +1 -0
  67. package/dist/cjs/lib/logout-dialog.js +58 -0
  68. package/dist/cjs/lib/logout-dialog.js.map +1 -0
  69. package/dist/cjs/lib/marker.d.ts +14 -0
  70. package/dist/cjs/lib/marker.d.ts.map +1 -0
  71. package/dist/cjs/lib/marker.js +38 -0
  72. package/dist/cjs/lib/marker.js.map +1 -0
  73. package/dist/cjs/lib/oauth-icons.d.ts +4 -0
  74. package/dist/cjs/lib/oauth-icons.d.ts.map +1 -0
  75. package/dist/cjs/lib/oauth-icons.js +67 -0
  76. package/dist/cjs/lib/oauth-icons.js.map +1 -0
  77. package/dist/cjs/lib/organization-switcher.d.ts +24 -0
  78. package/dist/cjs/lib/organization-switcher.d.ts.map +1 -0
  79. package/dist/cjs/lib/organization-switcher.js +35 -0
  80. package/dist/cjs/lib/organization-switcher.js.map +1 -0
  81. package/dist/cjs/lib/otp-input.d.ts +20 -0
  82. package/dist/cjs/lib/otp-input.d.ts.map +1 -0
  83. package/dist/cjs/lib/otp-input.js +174 -0
  84. package/dist/cjs/lib/otp-input.js.map +1 -0
  85. package/dist/cjs/lib/resend-invite-dialog.d.ts +2 -2
  86. package/dist/cjs/lib/resend-invite-dialog.d.ts.map +1 -1
  87. package/dist/cjs/lib/resend-invite-dialog.js +1 -1
  88. package/dist/cjs/lib/resend-invite-dialog.js.map +1 -1
  89. package/dist/cjs/lib/reset-mfa-dialog.d.ts +9 -0
  90. package/dist/cjs/lib/reset-mfa-dialog.d.ts.map +1 -0
  91. package/dist/cjs/lib/reset-mfa-dialog.js +60 -0
  92. package/dist/cjs/lib/reset-mfa-dialog.js.map +1 -0
  93. package/dist/cjs/lib/revoke-invite-dialog.d.ts +2 -2
  94. package/dist/cjs/lib/revoke-invite-dialog.d.ts.map +1 -1
  95. package/dist/cjs/lib/revoke-invite-dialog.js +1 -1
  96. package/dist/cjs/lib/revoke-invite-dialog.js.map +1 -1
  97. package/dist/cjs/lib/save-button.d.ts +11 -0
  98. package/dist/cjs/lib/save-button.d.ts.map +1 -0
  99. package/dist/cjs/lib/save-button.js +47 -0
  100. package/dist/cjs/lib/save-button.js.map +1 -0
  101. package/dist/cjs/lib/set-password-dialog.d.ts +8 -0
  102. package/dist/cjs/lib/set-password-dialog.d.ts.map +1 -0
  103. package/dist/cjs/lib/set-password-dialog.js +80 -0
  104. package/dist/cjs/lib/set-password-dialog.js.map +1 -0
  105. package/dist/cjs/lib/use-dialog-close.d.ts +2 -0
  106. package/dist/cjs/lib/use-dialog-close.d.ts.map +1 -0
  107. package/dist/cjs/lib/use-dialog-close.js +43 -0
  108. package/dist/cjs/lib/use-dialog-close.js.map +1 -0
  109. package/dist/cjs/lib/use-security-settings.d.ts +11 -0
  110. package/dist/cjs/lib/use-security-settings.d.ts.map +1 -0
  111. package/dist/cjs/lib/use-security-settings.js +39 -0
  112. package/dist/cjs/lib/use-security-settings.js.map +1 -0
  113. package/dist/cjs/lib/user-actions-dropdown.d.ts +2 -2
  114. package/dist/cjs/lib/user-actions-dropdown.d.ts.map +1 -1
  115. package/dist/cjs/lib/user-actions-dropdown.js +8 -4
  116. package/dist/cjs/lib/user-actions-dropdown.js.map +1 -1
  117. package/dist/cjs/lib/user-profile.d.ts +11 -0
  118. package/dist/cjs/lib/user-profile.d.ts.map +1 -0
  119. package/dist/cjs/lib/user-profile.js +36 -0
  120. package/dist/cjs/lib/user-profile.js.map +1 -0
  121. package/dist/cjs/lib/user-security.d.ts +11 -0
  122. package/dist/cjs/lib/user-security.d.ts.map +1 -0
  123. package/dist/cjs/lib/user-security.js +64 -0
  124. package/dist/cjs/lib/user-security.js.map +1 -0
  125. package/dist/cjs/lib/user-sessions.d.ts +12 -0
  126. package/dist/cjs/lib/user-sessions.d.ts.map +1 -0
  127. package/dist/cjs/lib/user-sessions.js +72 -0
  128. package/dist/cjs/lib/user-sessions.js.map +1 -0
  129. package/dist/cjs/lib/users-filter.d.ts +2 -2
  130. package/dist/cjs/lib/users-filter.d.ts.map +1 -1
  131. package/dist/cjs/lib/users-filter.js.map +1 -1
  132. package/dist/cjs/lib/users-management-context.d.ts +0 -9
  133. package/dist/cjs/lib/users-management-context.d.ts.map +1 -1
  134. package/dist/cjs/lib/users-management-context.js +13 -26
  135. package/dist/cjs/lib/users-management-context.js.map +1 -1
  136. package/dist/cjs/lib/users-management-state.d.ts +3 -3
  137. package/dist/cjs/lib/users-management-state.d.ts.map +1 -1
  138. package/dist/cjs/lib/users-management-state.js.map +1 -1
  139. package/dist/cjs/lib/users-management.d.ts +3 -4
  140. package/dist/cjs/lib/users-management.d.ts.map +1 -1
  141. package/dist/cjs/lib/users-management.js +8 -26
  142. package/dist/cjs/lib/users-management.js.map +1 -1
  143. package/dist/cjs/lib/utils.d.ts +10 -2
  144. package/dist/cjs/lib/utils.d.ts.map +1 -1
  145. package/dist/cjs/lib/utils.js +18 -0
  146. package/dist/cjs/lib/utils.js.map +1 -1
  147. package/dist/cjs/organization-switcher.client.d.ts +8 -0
  148. package/dist/cjs/organization-switcher.client.d.ts.map +1 -0
  149. package/dist/cjs/organization-switcher.client.js +37 -0
  150. package/dist/cjs/organization-switcher.client.js.map +1 -0
  151. package/dist/cjs/user-profile.client.d.ts +7 -0
  152. package/dist/cjs/user-profile.client.d.ts.map +1 -0
  153. package/dist/cjs/user-profile.client.js +31 -0
  154. package/dist/cjs/user-profile.client.js.map +1 -0
  155. package/dist/cjs/user-security.client.d.ts +7 -0
  156. package/dist/cjs/user-security.client.d.ts.map +1 -0
  157. package/dist/cjs/user-security.client.js +27 -0
  158. package/dist/cjs/user-security.client.js.map +1 -0
  159. package/dist/cjs/user-sessions.client.d.ts +12 -0
  160. package/dist/cjs/user-sessions.client.d.ts.map +1 -0
  161. package/dist/cjs/user-sessions.client.js +48 -0
  162. package/dist/cjs/user-sessions.client.js.map +1 -0
  163. package/dist/cjs/users-management.client.d.ts +2 -1
  164. package/dist/cjs/users-management.client.d.ts.map +1 -1
  165. package/dist/cjs/users-management.client.js +12 -43
  166. package/dist/cjs/users-management.client.js.map +1 -1
  167. package/dist/esm/card-list.d.ts +6 -0
  168. package/dist/esm/card-list.d.ts.map +1 -0
  169. package/dist/esm/card-list.js +9 -0
  170. package/dist/esm/card-list.js.map +1 -0
  171. package/dist/esm/index.d.ts +3 -0
  172. package/dist/esm/index.d.ts.map +1 -1
  173. package/dist/esm/index.js +3 -0
  174. package/dist/esm/index.js.map +1 -1
  175. package/dist/esm/lib/add-mfa-dialog.d.ts +9 -0
  176. package/dist/esm/lib/add-mfa-dialog.d.ts.map +1 -0
  177. package/dist/esm/lib/add-mfa-dialog.js +109 -0
  178. package/dist/esm/lib/add-mfa-dialog.js.map +1 -0
  179. package/dist/esm/lib/api/user.d.ts +13 -57
  180. package/dist/esm/lib/api/user.d.ts.map +1 -1
  181. package/dist/esm/lib/api/user.js +44 -313
  182. package/dist/esm/lib/api/user.js.map +1 -1
  183. package/dist/esm/lib/change-password-dialog.d.ts +8 -0
  184. package/dist/esm/lib/change-password-dialog.d.ts.map +1 -0
  185. package/dist/esm/lib/change-password-dialog.js +71 -0
  186. package/dist/esm/lib/change-password-dialog.js.map +1 -0
  187. package/dist/esm/lib/copy-button.d.ts +8 -0
  188. package/dist/esm/lib/copy-button.d.ts.map +1 -0
  189. package/dist/esm/lib/copy-button.js +37 -0
  190. package/dist/esm/lib/copy-button.js.map +1 -0
  191. package/dist/esm/lib/delete-user-dialog.d.ts +2 -2
  192. package/dist/esm/lib/delete-user-dialog.d.ts.map +1 -1
  193. package/dist/esm/lib/delete-user-dialog.js +1 -1
  194. package/dist/esm/lib/delete-user-dialog.js.map +1 -1
  195. package/dist/esm/lib/edit-user-profile-dialog.d.ts +10 -0
  196. package/dist/esm/lib/edit-user-profile-dialog.d.ts.map +1 -0
  197. package/dist/esm/lib/edit-user-profile-dialog.js +59 -0
  198. package/dist/esm/lib/edit-user-profile-dialog.js.map +1 -0
  199. package/dist/esm/lib/edit-user-role-dialog.d.ts +12 -0
  200. package/dist/esm/lib/edit-user-role-dialog.d.ts.map +1 -0
  201. package/dist/esm/lib/{edit-user-details-dialog.js → edit-user-role-dialog.js} +10 -6
  202. package/dist/esm/lib/edit-user-role-dialog.js.map +1 -0
  203. package/dist/esm/lib/elements.d.ts +1 -0
  204. package/dist/esm/lib/elements.d.ts.map +1 -1
  205. package/dist/esm/lib/elements.js +9 -3
  206. package/dist/esm/lib/elements.js.map +1 -1
  207. package/dist/esm/lib/elevated-access.d.ts +8 -0
  208. package/dist/esm/lib/elevated-access.d.ts.map +1 -0
  209. package/dist/esm/lib/elevated-access.js +104 -0
  210. package/dist/esm/lib/elevated-access.js.map +1 -0
  211. package/dist/esm/lib/generic-error.d.ts +4 -0
  212. package/dist/esm/lib/generic-error.d.ts.map +1 -0
  213. package/dist/esm/lib/generic-error.js +31 -0
  214. package/dist/esm/lib/generic-error.js.map +1 -0
  215. package/dist/esm/lib/icon-panel.d.ts +3 -0
  216. package/dist/esm/lib/icon-panel.d.ts.map +1 -0
  217. package/dist/esm/lib/icon-panel.js +13 -0
  218. package/dist/esm/lib/icon-panel.js.map +1 -0
  219. package/dist/esm/lib/icons.d.ts +3 -0
  220. package/dist/esm/lib/icons.d.ts.map +1 -0
  221. package/dist/esm/lib/icons.js +5 -0
  222. package/dist/esm/lib/icons.js.map +1 -0
  223. package/dist/esm/lib/invite-user-dialog.d.ts.map +1 -1
  224. package/dist/esm/lib/invite-user-dialog.js +7 -5
  225. package/dist/esm/lib/invite-user-dialog.js.map +1 -1
  226. package/dist/esm/lib/logout-all-sessions-dialog.d.ts +9 -0
  227. package/dist/esm/lib/logout-all-sessions-dialog.d.ts.map +1 -0
  228. package/dist/esm/lib/logout-all-sessions-dialog.js +26 -0
  229. package/dist/esm/lib/logout-all-sessions-dialog.js.map +1 -0
  230. package/dist/esm/lib/logout-dialog.d.ts +10 -0
  231. package/dist/esm/lib/logout-dialog.d.ts.map +1 -0
  232. package/dist/esm/lib/logout-dialog.js +32 -0
  233. package/dist/esm/lib/logout-dialog.js.map +1 -0
  234. package/dist/esm/lib/marker.d.ts +14 -0
  235. package/dist/esm/lib/marker.d.ts.map +1 -0
  236. package/dist/esm/lib/marker.js +9 -0
  237. package/dist/esm/lib/marker.js.map +1 -0
  238. package/dist/esm/lib/oauth-icons.d.ts +4 -0
  239. package/dist/esm/lib/oauth-icons.d.ts.map +1 -0
  240. package/dist/esm/lib/oauth-icons.js +39 -0
  241. package/dist/esm/lib/oauth-icons.js.map +1 -0
  242. package/dist/esm/lib/organization-switcher.d.ts +24 -0
  243. package/dist/esm/lib/organization-switcher.d.ts.map +1 -0
  244. package/dist/esm/lib/organization-switcher.js +29 -0
  245. package/dist/esm/lib/organization-switcher.js.map +1 -0
  246. package/dist/esm/lib/otp-input.d.ts +20 -0
  247. package/dist/esm/lib/otp-input.d.ts.map +1 -0
  248. package/dist/esm/lib/otp-input.js +148 -0
  249. package/dist/esm/lib/otp-input.js.map +1 -0
  250. package/dist/esm/lib/resend-invite-dialog.d.ts +2 -2
  251. package/dist/esm/lib/resend-invite-dialog.d.ts.map +1 -1
  252. package/dist/esm/lib/resend-invite-dialog.js +1 -1
  253. package/dist/esm/lib/resend-invite-dialog.js.map +1 -1
  254. package/dist/esm/lib/reset-mfa-dialog.d.ts +9 -0
  255. package/dist/esm/lib/reset-mfa-dialog.d.ts.map +1 -0
  256. package/dist/esm/lib/reset-mfa-dialog.js +34 -0
  257. package/dist/esm/lib/reset-mfa-dialog.js.map +1 -0
  258. package/dist/esm/lib/revoke-invite-dialog.d.ts +2 -2
  259. package/dist/esm/lib/revoke-invite-dialog.d.ts.map +1 -1
  260. package/dist/esm/lib/revoke-invite-dialog.js +1 -1
  261. package/dist/esm/lib/revoke-invite-dialog.js.map +1 -1
  262. package/dist/esm/lib/save-button.d.ts +11 -0
  263. package/dist/esm/lib/save-button.d.ts.map +1 -0
  264. package/dist/esm/lib/save-button.js +44 -0
  265. package/dist/esm/lib/save-button.js.map +1 -0
  266. package/dist/esm/lib/set-password-dialog.d.ts +8 -0
  267. package/dist/esm/lib/set-password-dialog.d.ts.map +1 -0
  268. package/dist/esm/lib/set-password-dialog.js +54 -0
  269. package/dist/esm/lib/set-password-dialog.js.map +1 -0
  270. package/dist/esm/lib/use-dialog-close.d.ts +2 -0
  271. package/dist/esm/lib/use-dialog-close.d.ts.map +1 -0
  272. package/dist/esm/lib/use-dialog-close.js +17 -0
  273. package/dist/esm/lib/use-dialog-close.js.map +1 -0
  274. package/dist/esm/lib/use-security-settings.d.ts +11 -0
  275. package/dist/esm/lib/use-security-settings.d.ts.map +1 -0
  276. package/dist/esm/lib/use-security-settings.js +36 -0
  277. package/dist/esm/lib/use-security-settings.js.map +1 -0
  278. package/dist/esm/lib/user-actions-dropdown.d.ts +2 -2
  279. package/dist/esm/lib/user-actions-dropdown.d.ts.map +1 -1
  280. package/dist/esm/lib/user-actions-dropdown.js +8 -4
  281. package/dist/esm/lib/user-actions-dropdown.js.map +1 -1
  282. package/dist/esm/lib/user-profile.d.ts +11 -0
  283. package/dist/esm/lib/user-profile.d.ts.map +1 -0
  284. package/dist/esm/lib/user-profile.js +27 -0
  285. package/dist/esm/lib/user-profile.js.map +1 -0
  286. package/dist/esm/lib/user-security.d.ts +11 -0
  287. package/dist/esm/lib/user-security.d.ts.map +1 -0
  288. package/dist/esm/lib/user-security.js +32 -0
  289. package/dist/esm/lib/user-security.js.map +1 -0
  290. package/dist/esm/lib/user-sessions.d.ts +12 -0
  291. package/dist/esm/lib/user-sessions.d.ts.map +1 -0
  292. package/dist/esm/lib/user-sessions.js +40 -0
  293. package/dist/esm/lib/user-sessions.js.map +1 -0
  294. package/dist/esm/lib/users-filter.d.ts +2 -2
  295. package/dist/esm/lib/users-filter.d.ts.map +1 -1
  296. package/dist/esm/lib/users-filter.js.map +1 -1
  297. package/dist/esm/lib/users-management-context.d.ts +0 -9
  298. package/dist/esm/lib/users-management-context.d.ts.map +1 -1
  299. package/dist/esm/lib/users-management-context.js +13 -25
  300. package/dist/esm/lib/users-management-context.js.map +1 -1
  301. package/dist/esm/lib/users-management-state.d.ts +3 -3
  302. package/dist/esm/lib/users-management-state.d.ts.map +1 -1
  303. package/dist/esm/lib/users-management-state.js.map +1 -1
  304. package/dist/esm/lib/users-management.d.ts +3 -4
  305. package/dist/esm/lib/users-management.d.ts.map +1 -1
  306. package/dist/esm/lib/users-management.js +9 -27
  307. package/dist/esm/lib/users-management.js.map +1 -1
  308. package/dist/esm/lib/users-search.d.ts +1 -1
  309. package/dist/esm/lib/users-search.d.ts.map +1 -1
  310. package/dist/esm/lib/utils.d.ts +10 -2
  311. package/dist/esm/lib/utils.d.ts.map +1 -1
  312. package/dist/esm/lib/utils.js +16 -0
  313. package/dist/esm/lib/utils.js.map +1 -1
  314. package/dist/esm/organization-switcher.client.d.ts +8 -0
  315. package/dist/esm/organization-switcher.client.d.ts.map +1 -0
  316. package/dist/esm/organization-switcher.client.js +33 -0
  317. package/dist/esm/organization-switcher.client.js.map +1 -0
  318. package/dist/esm/user-profile.client.d.ts +7 -0
  319. package/dist/esm/user-profile.client.d.ts.map +1 -0
  320. package/dist/esm/user-profile.client.js +27 -0
  321. package/dist/esm/user-profile.client.js.map +1 -0
  322. package/dist/esm/user-security.client.d.ts +7 -0
  323. package/dist/esm/user-security.client.d.ts.map +1 -0
  324. package/dist/esm/user-security.client.js +23 -0
  325. package/dist/esm/user-security.client.js.map +1 -0
  326. package/dist/esm/user-sessions.client.d.ts +12 -0
  327. package/dist/esm/user-sessions.client.d.ts.map +1 -0
  328. package/dist/esm/user-sessions.client.js +44 -0
  329. package/dist/esm/user-sessions.client.js.map +1 -0
  330. package/dist/esm/users-management.client.d.ts +2 -1
  331. package/dist/esm/users-management.client.d.ts.map +1 -1
  332. package/dist/esm/users-management.client.js +12 -20
  333. package/dist/esm/users-management.client.js.map +1 -1
  334. package/dist/tsconfig.cjs.tsbuildinfo +1 -1
  335. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  336. package/package.json +10 -4
  337. package/src/card-list.tsx +26 -0
  338. package/src/index.ts +3 -0
  339. package/src/lib/add-mfa-dialog.tsx +379 -0
  340. package/src/lib/api/user.ts +54 -458
  341. package/src/lib/card-list.css +3 -0
  342. package/src/lib/change-password-dialog.tsx +290 -0
  343. package/src/lib/copy-button.tsx +53 -0
  344. package/src/lib/delete-user-dialog.tsx +9 -6
  345. package/src/lib/edit-user-profile-dialog.tsx +181 -0
  346. package/src/lib/{edit-user-details-dialog.tsx → edit-user-role-dialog.tsx} +12 -9
  347. package/src/lib/elements.tsx +34 -1
  348. package/src/lib/elevated-access.tsx +261 -0
  349. package/src/lib/generic-error.tsx +70 -0
  350. package/src/lib/icon-panel.tsx +26 -0
  351. package/src/lib/icons.tsx +21 -0
  352. package/src/lib/invite-user-dialog.tsx +15 -10
  353. package/src/lib/logout-all-sessions-dialog.tsx +82 -0
  354. package/src/lib/logout-dialog.tsx +89 -0
  355. package/src/lib/marker.css +81 -0
  356. package/src/lib/marker.tsx +39 -0
  357. package/src/lib/oauth-icons.tsx +138 -0
  358. package/src/lib/organization-switcher.tsx +160 -0
  359. package/src/lib/otp-input.tsx +276 -0
  360. package/src/lib/resend-invite-dialog.tsx +9 -6
  361. package/src/lib/reset-mfa-dialog.tsx +104 -0
  362. package/src/lib/revoke-invite-dialog.tsx +9 -6
  363. package/src/lib/save-button.css +60 -0
  364. package/src/lib/save-button.tsx +113 -0
  365. package/src/lib/set-password-dialog.tsx +204 -0
  366. package/src/lib/use-dialog-close.tsx +19 -0
  367. package/src/lib/use-security-settings.tsx +49 -0
  368. package/src/lib/user-actions-dropdown.tsx +10 -6
  369. package/src/lib/user-profile.tsx +247 -0
  370. package/src/lib/user-security.tsx +187 -0
  371. package/src/lib/user-sessions.tsx +204 -0
  372. package/src/lib/users-filter.tsx +2 -2
  373. package/src/lib/users-management-context.tsx +21 -36
  374. package/src/lib/users-management-state.ts +3 -3
  375. package/src/lib/users-management.tsx +21 -77
  376. package/src/lib/utils.ts +30 -2
  377. package/src/organization-switcher.client.tsx +77 -0
  378. package/src/styles.css +44 -0
  379. package/src/user-profile.client.tsx +51 -0
  380. package/src/user-security.client.tsx +55 -0
  381. package/src/user-sessions.client.tsx +96 -0
  382. package/src/users-management.client.tsx +28 -39
  383. package/dist/cjs/lib/api/role.d.ts +0 -9
  384. package/dist/cjs/lib/api/role.d.ts.map +0 -1
  385. package/dist/cjs/lib/api/role.js +0 -115
  386. package/dist/cjs/lib/api/role.js.map +0 -1
  387. package/dist/cjs/lib/edit-user-details-dialog.d.ts +0 -12
  388. package/dist/cjs/lib/edit-user-details-dialog.d.ts.map +0 -1
  389. package/dist/cjs/lib/edit-user-details-dialog.js.map +0 -1
  390. package/dist/esm/lib/api/role.d.ts +0 -9
  391. package/dist/esm/lib/api/role.d.ts.map +0 -1
  392. package/dist/esm/lib/api/role.js +0 -110
  393. package/dist/esm/lib/api/role.js.map +0 -1
  394. package/dist/esm/lib/edit-user-details-dialog.d.ts +0 -12
  395. package/dist/esm/lib/edit-user-details-dialog.d.ts.map +0 -1
  396. package/dist/esm/lib/edit-user-details-dialog.js.map +0 -1
  397. package/src/lib/api/role.ts +0 -147
@@ -0,0 +1,104 @@
1
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as Form from "@radix-ui/react-form";
3
+ import { AlertDialog, Callout, Dialog, Flex, Text } from "@radix-ui/themes";
4
+ import { useElevatedAccessToken, useMe, useSendVerification, useVerify, } from "@repo/api";
5
+ import { useEffect, useRef, useState } from "react";
6
+ import { PrimaryButton, SecondaryButton } from "./elements";
7
+ import * as Otp from "./otp-input";
8
+ export function ElevatedAccess({ type = "dialog", children, onVerified, }) {
9
+ const { elevatedAccess } = useElevatedAccessToken();
10
+ const [authenticationChallengeId, setAuthenticationChallengeId] = useState();
11
+ const prevAccessToken = useRef(elevatedAccess);
12
+ useEffect(() => {
13
+ prevAccessToken.current = elevatedAccess;
14
+ }, [elevatedAccess]);
15
+ if (elevatedAccess) {
16
+ return _jsx(_Fragment, { children: children });
17
+ }
18
+ if (!authenticationChallengeId) {
19
+ const hasTokenExpired = !!prevAccessToken.current;
20
+ return (_jsx(SendVerificationEmailForm, { type: type, hasTokenExpired: hasTokenExpired, onSuccess: (challengeId) => {
21
+ setAuthenticationChallengeId(challengeId);
22
+ } }));
23
+ }
24
+ if (authenticationChallengeId) {
25
+ return (_jsx(VerificationIdentityForm, { type: type, authenticationChallengeId: authenticationChallengeId, onSuccess: () => {
26
+ // Reset the challenge id
27
+ setAuthenticationChallengeId(undefined);
28
+ return onVerified?.();
29
+ } }));
30
+ }
31
+ return null;
32
+ }
33
+ function SendVerificationEmailForm({ onSuccess, type, hasTokenExpired, }) {
34
+ const { data: me } = useMe();
35
+ const sendVerification = useSendVerification({
36
+ mutation: { onSuccess: (data) => onSuccess(data.authenticationChallenge) },
37
+ });
38
+ const Title = type === "dialog" ? Dialog.Title : AlertDialog.Title;
39
+ const Description = type === "dialog" ? Dialog.Description : AlertDialog.Description;
40
+ const Close = type === "dialog" ? Dialog.Close : AlertDialog.Cancel;
41
+ const handleSubmit = async (event) => {
42
+ event.preventDefault();
43
+ sendVerification.mutate();
44
+ };
45
+ return (_jsxs("form", { onSubmit: handleSubmit, children: [_jsx(Title, { children: hasTokenExpired
46
+ ? "Your verification token has expired"
47
+ : "Verify your identity" }), _jsxs(Description, { color: "gray", mb: "5", children: ["To continue, we need to confirm your identity. We'll send a temporary verification code to", " ", _jsx(Text, { weight: "bold", highContrast: true, children: me?.email }), "."] }), sendVerification.error && (_jsx(Callout.Root, { color: "red", mt: "-2", mb: "0", children: _jsx(Callout.Text, { children: getMutationErrorMessage(sendVerification.error) }) })), _jsxs(Flex, { justify: "end", align: "center", gap: "3", mt: "5", children: [_jsx(Close, { children: _jsx(SecondaryButton, { type: "button", disabled: sendVerification.isPending, children: "Cancel" }) }), _jsx(PrimaryButton, { type: "submit", loading: sendVerification.isPending, children: "Send verification code" })] })] }));
48
+ }
49
+ function VerificationIdentityForm({ onSuccess, authenticationChallengeId, type, }) {
50
+ const { data: me } = useMe();
51
+ const { setElevatedAccess } = useElevatedAccessToken();
52
+ const verifyIdentity = useVerify();
53
+ const [isSubmitting, setIsSubmitting] = useState(false);
54
+ const Title = type === "dialog" ? Dialog.Title : AlertDialog.Title;
55
+ const Description = type === "dialog" ? Dialog.Description : AlertDialog.Description;
56
+ const Close = type === "dialog" ? Dialog.Close : AlertDialog.Cancel;
57
+ const handleSubmit = async (event) => {
58
+ event.preventDefault();
59
+ const formData = new FormData(event.currentTarget);
60
+ const code = formData.get("otp-code")?.toString() ?? "";
61
+ setIsSubmitting(true);
62
+ try {
63
+ // Mutate async so we can wait for the onSuccess callback as well
64
+ const newAuthState = await verifyIdentity.mutateAsync({
65
+ data: {
66
+ code,
67
+ authenticationChallengeId,
68
+ },
69
+ });
70
+ const in10Seconds = new Date(Date.now() + 5 * 1000);
71
+ setElevatedAccess({
72
+ token: newAuthState.elevatedAccessToken,
73
+ // expiresAt: newAuthState.expiresAt,
74
+ expiresAt: in10Seconds.toISOString(),
75
+ });
76
+ if (onSuccess) {
77
+ await new Promise((resolve) => setTimeout(resolve, 200));
78
+ await onSuccess();
79
+ }
80
+ }
81
+ catch (error) {
82
+ console.error(error);
83
+ }
84
+ setIsSubmitting(false);
85
+ };
86
+ return (_jsxs(Form.Root, { onSubmit: handleSubmit, children: [_jsx(Title, { children: "Verify your identity" }), _jsxs(Description, { color: "gray", children: ["A verification code was sent to", " ", _jsx(Text, { weight: "bold", highContrast: true, children: me?.email }), ". Please enter it below."] }), _jsxs(Flex, { direction: "column", gap: "2", mt: "5", mx: "auto", width: "fit-content", children: [_jsxs(Otp.Root, { autoSubmit: true, gap: "2", justify: "center", columns: "repeat(6, 48px)", width: "fit-content", rows: "48px", name: "otp-code", readOnly: isSubmitting, children: [_jsx(Otp.Input, { required: true, autoFocus: true, autoComplete: "off" }), _jsx(Otp.Input, { required: true }), _jsx(Otp.Input, { required: true }), _jsx(Otp.Input, { required: true }), _jsx(Otp.Input, { required: true }), _jsx(Otp.Input, { required: true })] }), verifyIdentity.error && (_jsx(Text, { color: "red", size: "2", as: "p", children: getMutationErrorMessage(verifyIdentity.error) }))] }), _jsxs(Flex, { justify: "end", align: "center", gap: "3", mt: "5", children: [_jsx(Close, { children: _jsx(SecondaryButton, { type: "button", children: "Cancel" }) }), _jsx(PrimaryButton, { type: "submit", loading: isSubmitting, children: "Confirm" })] })] }));
87
+ }
88
+ function getMutationErrorMessage(error) {
89
+ let message = typeof error === "string" ? error : "";
90
+ if (error instanceof Error) {
91
+ message = error.message;
92
+ }
93
+ else if (typeof error === "object" &&
94
+ error !== null &&
95
+ "message" in error &&
96
+ typeof error.message === "string") {
97
+ message = error.message;
98
+ }
99
+ if (!message || message === "Bad Request") {
100
+ message = "Invalid code, please try again.";
101
+ }
102
+ return message;
103
+ }
104
+ //# sourceMappingURL=elevated-access.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elevated-access.js","sourceRoot":"","sources":["../../../src/lib/elevated-access.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,IAAI,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EACL,sBAAsB,EACtB,KAAK,EACL,mBAAmB,EACnB,SAAS,GACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAqB,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,KAAK,GAAG,MAAM,aAAa,CAAC;AAOnC,MAAM,UAAU,cAAc,CAAC,EAC7B,IAAI,GAAG,QAAQ,EACf,QAAQ,EACR,UAAU,GACU;IACpB,MAAM,EAAE,cAAc,EAAE,GAAG,sBAAsB,EAAE,CAAC;IACpD,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAC7D,QAAQ,EAAU,CAAC;IAErB,MAAM,eAAe,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IAE/C,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,CAAC,OAAO,GAAG,cAAc,CAAC;IAC3C,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC;IAErB,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,4BAAG,QAAQ,GAAI,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAC/B,MAAM,eAAe,GAAG,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC;QAElD,OAAO,CACL,KAAC,yBAAyB,IACxB,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,eAAe,EAChC,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE;gBACzB,4BAA4B,CAAC,WAAW,CAAC,CAAC;YAC5C,CAAC,GACD,CACH,CAAC;IACJ,CAAC;IAED,IAAI,yBAAyB,EAAE,CAAC;QAC9B,OAAO,CACL,KAAC,wBAAwB,IACvB,IAAI,EAAE,IAAI,EACV,yBAAyB,EAAE,yBAAyB,EACpD,SAAS,EAAE,GAAG,EAAE;gBACd,yBAAyB;gBACzB,4BAA4B,CAAC,SAAS,CAAC,CAAC;gBAExC,OAAO,UAAU,EAAE,EAAE,CAAC;YACxB,CAAC,GACD,CACH,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAQD,SAAS,yBAAyB,CAAC,EACjC,SAAS,EACT,IAAI,EACJ,eAAe,GACgB;IAC/B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;IAC7B,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;QAC3C,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE;KAC3E,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC;IACnE,MAAM,WAAW,GACf,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;IAEpE,MAAM,YAAY,GAAG,KAAK,EAAE,KAAuC,EAAE,EAAE;QACrE,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,gBAAgB,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,CACL,gBAAM,QAAQ,EAAE,YAAY,aAC1B,KAAC,KAAK,cACH,eAAe;oBACd,CAAC,CAAC,qCAAqC;oBACvC,CAAC,CAAC,sBAAsB,GACpB,EAER,MAAC,WAAW,IAAC,KAAK,EAAC,MAAM,EAAC,EAAE,EAAC,GAAG,2GAET,GAAG,EACxB,KAAC,IAAI,IAAC,MAAM,EAAC,MAAM,EAAC,YAAY,kBAC7B,EAAE,EAAE,KAAK,GACL,SAEK,EAEb,gBAAgB,CAAC,KAAK,IAAI,CACzB,KAAC,OAAO,CAAC,IAAI,IAAC,KAAK,EAAC,KAAK,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,GAAG,YACtC,KAAC,OAAO,CAAC,IAAI,cACV,uBAAuB,CAAC,gBAAgB,CAAC,KAAK,CAAC,GACnC,GACF,CAChB,EAED,MAAC,IAAI,IAAC,OAAO,EAAC,KAAK,EAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,aAC/C,KAAC,KAAK,cACJ,KAAC,eAAe,IAAC,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,gBAAgB,CAAC,SAAS,uBAEjD,GACZ,EACR,KAAC,aAAa,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,uCAEhD,IACX,IACF,CACR,CAAC;AACJ,CAAC;AAQD,SAAS,wBAAwB,CAAC,EAChC,SAAS,EACT,yBAAyB,EACzB,IAAI,GAC0B;IAC9B,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC;IAC7B,MAAM,EAAE,iBAAiB,EAAE,GAAG,sBAAsB,EAAE,CAAC;IACvD,MAAM,cAAc,GAAG,SAAS,EAAE,CAAC;IACnC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,MAAM,KAAK,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC;IACnE,MAAM,WAAW,GACf,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC;IACnE,MAAM,KAAK,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;IACpE,MAAM,YAAY,GAAG,KAAK,EAAE,KAAuC,EAAE,EAAE;QACrE,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACnD,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAExD,eAAe,CAAC,IAAI,CAAC,CAAC;QAEtB,IAAI,CAAC;YACH,iEAAiE;YACjE,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,WAAW,CAAC;gBACpD,IAAI,EAAE;oBACJ,IAAI;oBACJ,yBAAyB;iBAC1B;aACF,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;YAEpD,iBAAiB,CAAC;gBAChB,KAAK,EAAE,YAAY,CAAC,mBAAmB;gBACvC,qCAAqC;gBACrC,SAAS,EAAE,WAAW,CAAC,WAAW,EAAE;aACrC,CAAC,CAAC;YAEH,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;gBACzD,MAAM,SAAS,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QAED,eAAe,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,IAAI,CAAC,IAAI,IAAC,QAAQ,EAAE,YAAY,aAC/B,KAAC,KAAK,uCAA6B,EAEnC,MAAC,WAAW,IAAC,KAAK,EAAC,MAAM,gDACS,GAAG,EACnC,KAAC,IAAI,IAAC,MAAM,EAAC,MAAM,EAAC,YAAY,kBAC7B,EAAE,EAAE,KAAK,GACL,gCAEK,EAEd,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,MAAM,EAAC,KAAK,EAAC,aAAa,aACnE,MAAC,GAAG,CAAC,IAAI,IACP,UAAU,QACV,GAAG,EAAC,GAAG,EACP,OAAO,EAAC,QAAQ,EAChB,OAAO,EAAC,iBAAiB,EACzB,KAAK,EAAC,aAAa,EACnB,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,UAAU,EACf,QAAQ,EAAE,YAAY,aAEtB,KAAC,GAAG,CAAC,KAAK,IAAC,QAAQ,QAAC,SAAS,QAAC,YAAY,EAAC,KAAK,GAAG,EACnD,KAAC,GAAG,CAAC,KAAK,IAAC,QAAQ,SAAG,EACtB,KAAC,GAAG,CAAC,KAAK,IAAC,QAAQ,SAAG,EACtB,KAAC,GAAG,CAAC,KAAK,IAAC,QAAQ,SAAG,EACtB,KAAC,GAAG,CAAC,KAAK,IAAC,QAAQ,SAAG,EACtB,KAAC,GAAG,CAAC,KAAK,IAAC,QAAQ,SAAG,IACb,EAEV,cAAc,CAAC,KAAK,IAAI,CACvB,KAAC,IAAI,IAAC,KAAK,EAAC,KAAK,EAAC,IAAI,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,YAC9B,uBAAuB,CAAC,cAAc,CAAC,KAAK,CAAC,GACzC,CACR,IACI,EAEP,MAAC,IAAI,IAAC,OAAO,EAAC,KAAK,EAAC,KAAK,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,aAC/C,KAAC,KAAK,cACJ,KAAC,eAAe,IAAC,IAAI,EAAC,QAAQ,uBAAyB,GACjD,EAER,KAAC,aAAa,IAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,YAAY,wBAElC,IACX,IACG,CACb,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,KAAc;IAC7C,IAAI,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IAErD,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC1B,CAAC;SAAM,IACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,SAAS,IAAI,KAAK;QAClB,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EACjC,CAAC;QACD,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC1B,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,aAAa,EAAE,CAAC;QAC1C,OAAO,GAAG,iCAAiC,CAAC;IAC9C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function GenericError({ error }: {
2
+ error: unknown;
3
+ }): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=generic-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-error.d.ts","sourceRoot":"","sources":["../../../src/lib/generic-error.tsx"],"names":[],"mappings":"AAKA,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,2CAgEzD"}
@@ -0,0 +1,31 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { Flex, Heading, Text } from "@radix-ui/themes";
4
+ import { ApiError, FetchError, NoAuthTokenError } from "./errors";
5
+ import { Cross2Icon } from "@radix-ui/react-icons";
6
+ export function GenericError({ error }) {
7
+ React.useEffect(() => {
8
+ console.error(error);
9
+ }, [error]);
10
+ const render = (heading, message) => (_jsxs(Flex, { p: "6", justify: "center", align: "center", direction: "column", children: [_jsx(Flex, { align: "center", justify: "center", width: "32px", height: "32px", mb: "2", style: {
11
+ borderRadius: "9999px",
12
+ backgroundColor: "var(--red-a4)",
13
+ color: "var(--red-a11)",
14
+ }, children: _jsx(Cross2Icon, { width: "24px", height: "24px" }) }), _jsxs(Flex, { direction: "column", gap: "1", maxWidth: "420px", children: [_jsx(Heading, { size: "5", align: "center", mb: "1", wrap: "balance", as: "h3", children: heading }), _jsx(Text, { as: "p", align: "center", wrap: "balance", color: "gray", children: message })] })] }));
15
+ if (error instanceof FetchError) {
16
+ return render("Error fetching data", "An error occurred. You may need to configure CORS in the WorkOS Dashboard. " +
17
+ "Contact your organization admin for support.");
18
+ }
19
+ if (error instanceof NoAuthTokenError) {
20
+ return render("Error fetching data", "Authorization error. You likely forgot to provide an authorization " +
21
+ "token to the Users Management Widget.");
22
+ }
23
+ if (error instanceof ApiError && error.status === 404) {
24
+ // The widgets API treats all authorization errors as 404s. If there is a
25
+ // legitimate 404, it's a bug on our end but there's currently no way to
26
+ // distinguish between the two.
27
+ return render("Error fetching data", "Authorization error. Contact your organization admin for support.");
28
+ }
29
+ return render("Error fetching data", "An unknown error occurred. If the problem continues, contact the site owner.");
30
+ }
31
+ //# sourceMappingURL=generic-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-error.js","sourceRoot":"","sources":["../../../src/lib/generic-error.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,UAAU,YAAY,CAAC,EAAE,KAAK,EAAsB;IACxD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,OAAwB,EAAE,EAAE,CAAC,CAC5D,MAAC,IAAI,IAAC,CAAC,EAAC,GAAG,EAAC,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAC,QAAQ,EAAC,SAAS,EAAC,QAAQ,aAC5D,KAAC,IAAI,IACH,KAAK,EAAC,QAAQ,EACd,OAAO,EAAC,QAAQ,EAChB,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,EAAE,EAAC,GAAG,EACN,KAAK,EAAE;oBACL,YAAY,EAAE,QAAQ;oBACtB,eAAe,EAAE,eAAe;oBAChC,KAAK,EAAE,gBAAgB;iBACxB,YAED,KAAC,UAAU,IAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,GAAG,GACpC,EAEP,MAAC,IAAI,IAAC,SAAS,EAAC,QAAQ,EAAC,GAAG,EAAC,GAAG,EAAC,QAAQ,EAAC,OAAO,aAC/C,KAAC,OAAO,IAAC,IAAI,EAAC,GAAG,EAAC,KAAK,EAAC,QAAQ,EAAC,EAAE,EAAC,GAAG,EAAC,IAAI,EAAC,SAAS,EAAC,EAAE,EAAC,IAAI,YAC3D,OAAO,GACA,EAEV,KAAC,IAAI,IAAC,EAAE,EAAC,GAAG,EAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAC,MAAM,YACpD,OAAO,GACH,IACF,IACF,CACR,CAAC;IAEF,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;QAChC,OAAO,MAAM,CACX,qBAAqB,EACrB,6EAA6E;YAC3E,8CAA8C,CACjD,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,YAAY,gBAAgB,EAAE,CAAC;QACtC,OAAO,MAAM,CACX,qBAAqB,EACrB,qEAAqE;YACnE,uCAAuC,CAC1C,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,YAAY,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACtD,yEAAyE;QACzE,wEAAwE;QACxE,+BAA+B;QAC/B,OAAO,MAAM,CACX,qBAAqB,EACrB,mEAAmE,CACpE,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CACX,qBAAqB,EACrB,8EAA8E,CAC/E,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { FlexProps } from "@radix-ui/themes";
2
+ export declare const IconPanel: import("react").ForwardRefExoticComponent<FlexProps & import("react").RefAttributes<HTMLDivElement>>;
3
+ //# sourceMappingURL=icon-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-panel.d.ts","sourceRoot":"","sources":["../../../src/lib/icon-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAGnD,eAAO,MAAM,SAAS,sGAsBrB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Flex } from "@radix-ui/themes";
3
+ import { forwardRef } from "react";
4
+ export const IconPanel = forwardRef(function IconPanel({ children, ...props }, ref) {
5
+ return (_jsx(Flex, { ref: ref, width: "32px", height: "32px", align: "center", justify: "center", style: {
6
+ borderWidth: 1,
7
+ borderStyle: "solid",
8
+ borderColor: "var(--gray-4)",
9
+ borderRadius: "var(--radius-3)",
10
+ backgroundColor: "var(--gray-2)",
11
+ }, ...props, children: children }));
12
+ });
13
+ //# sourceMappingURL=icon-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-panel.js","sourceRoot":"","sources":["../../../src/lib/icon-panel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAa,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,SAAS,SAAS,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG;IAC5C,OAAO,CACL,KAAC,IAAI,IACH,GAAG,EAAE,GAAG,EACR,KAAK,EAAC,MAAM,EACZ,MAAM,EAAC,MAAM,EACb,KAAK,EAAC,QAAQ,EACd,OAAO,EAAC,QAAQ,EAChB,KAAK,EAAE;YACL,WAAW,EAAE,CAAC;YACd,WAAW,EAAE,OAAO;YACpB,WAAW,EAAE,eAAe;YAC5B,YAAY,EAAE,iBAAiB;YAC/B,eAAe,EAAE,eAAe;SACjC,KACG,KAAK,YAER,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from "react";
2
+ export declare function PasskeyIcon(props: SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
3
+ //# sourceMappingURL=icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../../src/lib/icons.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,2CAkBzD"}
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export function PasskeyIcon(props) {
3
+ return (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: 16, height: 16, viewBox: "0 0 16 16", fill: "none", ...props, children: _jsx("path", { fill: "currentColor", fillRule: "evenodd", d: "M5.86 1.005a2.86 2.86 0 1 0 0 5.719 2.86 2.86 0 0 0 0-5.72ZM2 3.865a3.86 3.86 0 1 1 4.899 3.717c.974.166 1.699.58 2.368 1.196a.5.5 0 1 1-.678.735C7.882 8.862 7.136 8.5 5.859 8.5c-2.036 0-3.195.693-3.867 1.613-.602.824-.86 1.893-.917 2.986h8.618a.5.5 0 0 1 0 1H.563a.5.5 0 0 1-.5-.5c0-1.356.248-2.88 1.121-4.076.743-1.018 1.897-1.741 3.582-1.957A3.861 3.861 0 0 1 2 3.864Zm12.185 6.509a2.892 2.892 0 1 0-2.212-.024v4.428L13.197 16l2.036-2.037-1.271-1.27 1.271-1.272-1.046-1.047Zm-.212-3.423a.847.847 0 1 1-1.695 0 .847.847 0 0 1 1.695 0Z", clipRule: "evenodd" }) }));
4
+ }
5
+ //# sourceMappingURL=icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../src/lib/icons.tsx"],"names":[],"mappings":";AAEA,MAAM,UAAU,WAAW,CAAC,KAA8B;IACxD,OAAO,CACL,cACE,KAAK,EAAC,4BAA4B,EAClC,KAAK,EAAE,EAAE,EACT,MAAM,EAAE,EAAE,EACV,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,KACP,KAAK,YAET,eACE,IAAI,EAAC,cAAc,EACnB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,0hBAA0hB,EAC5hB,QAAQ,EAAC,SAAS,GAClB,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"invite-user-dialog.d.ts","sourceRoot":"","sources":["../../../src/lib/invite-user-dialog.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuB/B,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CAqJnE"}
1
+ {"version":3,"file":"invite-user-dialog.d.ts","sourceRoot":"","sources":["../../../src/lib/invite-user-dialog.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuB/B,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,qBAAqB,2CA0JnE"}
@@ -2,11 +2,11 @@
2
2
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Callout, Dialog, Flex, Select, Text, VisuallyHidden, } from "@radix-ui/themes";
4
4
  import * as React from "react";
5
- import { useRoles } from "./api/role";
6
- import { useInviteUser } from "./api/user";
7
5
  import { DialogContent, PrimaryButton, SecondaryButton, SelectContent, SelectItem, SelectTrigger, TextField, } from "./elements";
8
6
  import { Label } from "./elements";
9
7
  import { isErrorLike } from "./utils";
8
+ import { useInviteUser } from "./api/user";
9
+ import { useRoles } from "@repo/api";
10
10
  /**
11
11
  * Used to stub a fake value for the role select. It will be selected by default
12
12
  * before the role query resolves, or if the query results in an error. We do
@@ -19,7 +19,9 @@ export function InviteUserDialog({ children }) {
19
19
  const dialogId = toId("invite-user", React.useId());
20
20
  const formId = toId(dialogId, "form");
21
21
  const inviteUser = useInviteUser();
22
- const rolesQuery = useRoles();
22
+ const rolesQuery = useRoles({
23
+ query: { initialData: [] },
24
+ });
23
25
  const roles = rolesQuery.data;
24
26
  const [selectedRole, setSelectedRole] = React.useState(() => getDefaultRole(roles)?.slug || PLACEHOLDER_ROLE);
25
27
  React.useEffect(() => {
@@ -37,7 +39,7 @@ export function InviteUserDialog({ children }) {
37
39
  if (inviteUser.isPending || rolesQuery.status !== "success") {
38
40
  return;
39
41
  }
40
- inviteUser.mutate(data, {
42
+ inviteUser.mutate({ data }, {
41
43
  onSuccess: () => {
42
44
  setOpen(false);
43
45
  },
@@ -49,7 +51,7 @@ export function InviteUserDialog({ children }) {
49
51
  event.preventDefault();
50
52
  onSubmitForm({
51
53
  email: event.currentTarget.email.value,
52
- role: selectedRole,
54
+ roles: [selectedRole],
53
55
  });
54
56
  }, children: [_jsx(FormField, { rootId: dialogId, name: "email", label: "Email address", error: formErrors.fields.email, required: true, control: (props) => (_jsx(TextField, { ...props, "data-1p-ignore": "true", "data-lpignore": "true", type: "email", autoComplete: "off", placeholder: "Enter an email address" })) }), _jsx(FormField, { rootId: dialogId, name: "role", label: "Role", error: formErrors.fields.role, disabled: rolesQuery.isPending || roles.length <= 1, info: roles.length === 1 ? (_jsxs(_Fragment, { children: ["New users will be invited with the", " ", _jsx(Text, { weight: "bold", children: roles[0].name }), " role, as it is the only one available."] })) : undefined, control: ({ id, "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedBy, ...props }) => (_jsxs(Select.Root, { ...props, value: selectedRole, onValueChange: setSelectedRole, children: [_jsx(SelectTrigger, { id: id, "aria-invalid": ariaInvalid, "aria-describedby": ariaDescribedBy }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: PLACEHOLDER_ROLE, disabled: true, children: "Select a role" }), roles.map((role) => (_jsx(SelectItem, { value: role.slug, children: role.name }, role.slug)))] })] })) })] }) }), formErrors.form ? (_jsx(Callout.Root, { color: "red", mt: "4", mb: "-2", children: _jsx(Callout.Text, { children: formErrors.form }) })) : null, _jsxs(Flex, { mt: "5", gap: "3", justify: "end", children: [_jsx(Dialog.Close, { children: _jsx(SecondaryButton, { disabled: inviteUser.isPending, children: "Cancel" }) }), _jsx(PrimaryButton, { form: formId, loading: inviteUser.isPending, disabled: rolesQuery.isPending || undefined, children: "Invite" })] }), _jsx(VisuallyHidden, { asChild: true, children: _jsx("section", { "aria-live": "polite", children: formErrors.form }) })] }, String(open))] }));
55
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"invite-user-dialog.js","sourceRoot":"","sources":["../../../src/lib/invite-user-dialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invite-user-dialog.js","sourceRoot":"","sources":["../../../src/lib/invite-user-dialog.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { AlertDialog } from "@radix-ui/themes";
2
+ import { type ReactNode } from "react";
3
+ interface LogoutAllSessionsDialogProps extends AlertDialog.RootProps {
4
+ children?: ReactNode;
5
+ currentSessionId: string;
6
+ }
7
+ export declare function LogoutAllSessionsDialog({ open, onOpenChange, children, currentSessionId, ...props }: LogoutAllSessionsDialogProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=logout-all-sessions-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout-all-sessions-dialog.d.ts","sourceRoot":"","sources":["../../../src/lib/logout-all-sessions-dialog.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAQ,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAUvC,UAAU,4BAA6B,SAAQ,WAAW,CAAC,SAAS;IAClE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,uBAAuB,CAAC,EACtC,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,GAAG,KAAK,EACT,EAAE,4BAA4B,2CAwD9B"}
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { AlertDialog, Flex } from "@radix-ui/themes";
5
+ import { AlertDialogContent, DestructiveButton, SecondaryButton, } from "./elements";
6
+ import { getSessionsQueryKey, useRevokeAllSessions } from "@repo/api";
7
+ import { useQueryClient } from "@tanstack/react-query";
8
+ import { SaveButton } from "./save-button";
9
+ export function LogoutAllSessionsDialog({ open, onOpenChange, children, currentSessionId, ...props }) {
10
+ const client = useQueryClient();
11
+ const revokeAllSessions = useRevokeAllSessions();
12
+ const onSubmitForm = () => {
13
+ revokeAllSessions.mutate({ data: { currentSessionId } });
14
+ };
15
+ const handleDone = React.useCallback(() => {
16
+ onOpenChange?.(false);
17
+ client.invalidateQueries({
18
+ queryKey: getSessionsQueryKey(),
19
+ });
20
+ }, [client, onOpenChange]);
21
+ return (_jsx(AlertDialog.Root, { open: open, onOpenChange: onOpenChange, ...props, children: _jsxs(AlertDialogContent, { maxWidth: "480px", children: [_jsx(AlertDialog.Title, { children: "Sign out of all other devices?" }), _jsx(AlertDialog.Description, { children: "You will be logged out of all other active sessions on other devices, except this one." }), _jsx(Flex, { gap: "3", justify: "end", mt: "5", asChild: true, children: _jsxs("form", { onSubmit: (event) => {
22
+ event.preventDefault();
23
+ onSubmitForm();
24
+ }, children: [_jsx(AlertDialog.Cancel, { children: _jsx(SecondaryButton, { disabled: revokeAllSessions.isPending || revokeAllSessions.isSuccess, children: "Cancel" }) }), _jsx(SaveButton, { asChild: true, loading: revokeAllSessions.isPending, done: revokeAllSessions.isSuccess, onDone: handleDone, children: _jsx(DestructiveButton, { type: "submit", children: "Sign out" }) })] }) })] }) }));
25
+ }
26
+ //# sourceMappingURL=logout-all-sessions-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout-all-sessions-dialog.js","sourceRoot":"","sources":["../../../src/lib/logout-all-sessions-dialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO3C,MAAM,UAAU,uBAAuB,CAAC,EACtC,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,gBAAgB,EAChB,GAAG,KAAK,EACqB;IAC7B,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAEhC,MAAM,iBAAiB,GAAG,oBAAoB,EAAE,CAAC;IAEjD,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;QAEtB,MAAM,CAAC,iBAAiB,CAAC;YACvB,QAAQ,EAAE,mBAAmB,EAAE;SAChC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAE3B,OAAO,CACL,KAAC,WAAW,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,KAAM,KAAK,YACjE,MAAC,kBAAkB,IAAC,QAAQ,EAAC,OAAO,aAClC,KAAC,WAAW,CAAC,KAAK,iDAAmD,EACrE,KAAC,WAAW,CAAC,WAAW,yGAGE,EAE1B,KAAC,IAAI,IAAC,GAAG,EAAC,GAAG,EAAC,OAAO,EAAC,KAAK,EAAC,EAAE,EAAC,GAAG,EAAC,OAAO,kBACxC,gBACE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;4BAClB,KAAK,CAAC,cAAc,EAAE,CAAC;4BACvB,YAAY,EAAE,CAAC;wBACjB,CAAC,aAED,KAAC,WAAW,CAAC,MAAM,cACjB,KAAC,eAAe,IACd,QAAQ,EACN,iBAAiB,CAAC,SAAS,IAAI,iBAAiB,CAAC,SAAS,uBAI5C,GACC,EAErB,KAAC,UAAU,IACT,OAAO,QACP,OAAO,EAAE,iBAAiB,CAAC,SAAS,EACpC,IAAI,EAAE,iBAAiB,CAAC,SAAS,EACjC,MAAM,EAAE,UAAU,YAElB,KAAC,iBAAiB,IAAC,IAAI,EAAC,QAAQ,yBAA6B,GAClD,IACR,GACF,IACY,GACJ,CACpB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { AlertDialog } from "@radix-ui/themes";
2
+ import { type ReactNode } from "react";
3
+ import { ActiveSession } from "@repo/api";
4
+ interface LogoutDialogProps extends AlertDialog.RootProps {
5
+ children?: ReactNode;
6
+ session: ActiveSession;
7
+ }
8
+ export declare function LogoutDialog({ children, session, open, onOpenChange, ...props }: LogoutDialogProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=logout-dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout-dialog.d.ts","sourceRoot":"","sources":["../../../src/lib/logout-dialog.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAgB,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,OAAO,EACL,aAAa,EAGd,MAAM,WAAW,CAAC;AAKnB,UAAU,iBAAkB,SAAQ,WAAW,CAAC,SAAS;IACvD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,iBAAiB,2CA0DnB"}
@@ -0,0 +1,32 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { AlertDialog, Flex, Strong } from "@radix-ui/themes";
5
+ import { AlertDialogContent, DestructiveButton, SecondaryButton, } from "./elements";
6
+ import { getSessionsQueryKey, useRevokeSession, } from "@repo/api";
7
+ import { useQueryClient } from "@tanstack/react-query";
8
+ import { SaveButton } from "./save-button";
9
+ import { parseUserAgent } from "./utils";
10
+ export function LogoutDialog({ children, session, open, onOpenChange, ...props }) {
11
+ const client = useQueryClient();
12
+ const userAgent = parseUserAgent(session.userAgent);
13
+ const device = userAgent.pretty;
14
+ const revokeSession = useRevokeSession();
15
+ const handleDone = React.useCallback(() => {
16
+ onOpenChange?.(false);
17
+ client.invalidateQueries({
18
+ queryKey: getSessionsQueryKey(),
19
+ exact: false,
20
+ });
21
+ }, [onOpenChange, client]);
22
+ const onSubmitForm = () => {
23
+ revokeSession.mutate({
24
+ sessionId: session.id,
25
+ });
26
+ };
27
+ return (_jsx(AlertDialog.Root, { open: open, onOpenChange: onOpenChange, ...props, children: _jsxs(AlertDialogContent, { maxWidth: "480px", children: [_jsx(AlertDialog.Title, { children: "Sign out of device?" }), _jsxs(AlertDialog.Description, { children: ["You will be signed out of ", _jsxs(Strong, { children: [device, "."] })] }), _jsx(Flex, { gap: "3", justify: "end", mt: "5", asChild: true, children: _jsxs("form", { onSubmit: (event) => {
28
+ event.preventDefault();
29
+ onSubmitForm();
30
+ }, children: [_jsx(AlertDialog.Cancel, { children: _jsx(SecondaryButton, { disabled: revokeSession.isPending || revokeSession.isSuccess, children: "Cancel" }) }), _jsx(SaveButton, { asChild: true, loading: revokeSession.isPending, done: revokeSession.isSuccess, onDone: handleDone, children: _jsx(DestructiveButton, { type: "submit", children: "Sign out" }) })] }) })] }) }));
31
+ }
32
+ //# sourceMappingURL=logout-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout-dialog.js","sourceRoot":"","sources":["../../../src/lib/logout-dialog.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE7D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAEL,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAOzC,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,GAAG,KAAK,EACU;IAClB,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;IAEhC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACxC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;QAEtB,MAAM,CAAC,iBAAiB,CAAC;YACvB,QAAQ,EAAE,mBAAmB,EAAE;YAC/B,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;IAE3B,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,aAAa,CAAC,MAAM,CAAC;YACnB,SAAS,EAAE,OAAO,CAAC,EAAE;SACtB,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,OAAO,CACL,KAAC,WAAW,CAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,KAAM,KAAK,YACjE,MAAC,kBAAkB,IAAC,QAAQ,EAAC,OAAO,aAClC,KAAC,WAAW,CAAC,KAAK,sCAAwC,EAC1D,MAAC,WAAW,CAAC,WAAW,6CACI,MAAC,MAAM,eAAE,MAAM,SAAW,IAC5B,EAE1B,KAAC,IAAI,IAAC,GAAG,EAAC,GAAG,EAAC,OAAO,EAAC,KAAK,EAAC,EAAE,EAAC,GAAG,EAAC,OAAO,kBACxC,gBACE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;4BAClB,KAAK,CAAC,cAAc,EAAE,CAAC;4BACvB,YAAY,EAAE,CAAC;wBACjB,CAAC,aAED,KAAC,WAAW,CAAC,MAAM,cACjB,KAAC,eAAe,IACd,QAAQ,EAAE,aAAa,CAAC,SAAS,IAAI,aAAa,CAAC,SAAS,uBAG5C,GACC,EAErB,KAAC,UAAU,IACT,OAAO,QACP,OAAO,EAAE,aAAa,CAAC,SAAS,EAChC,IAAI,EAAE,aAAa,CAAC,SAAS,EAC7B,MAAM,EAAE,UAAU,YAElB,KAAC,iBAAiB,IAAC,IAAI,EAAC,QAAQ,yBAA6B,GAClD,IACR,GACF,IACY,GACJ,CACpB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ import { Text } from "@radix-ui/themes";
3
+ import { MarginProps } from "@radix-ui/themes/props";
4
+ type TextProps = React.ComponentPropsWithoutRef<typeof Text>;
5
+ type MarkerOwnProps = {
6
+ color?: "gray" | "purple" | "blue" | "green" | "yellow" | "red";
7
+ highContrast?: boolean;
8
+ size?: TextProps["size"];
9
+ };
10
+ interface MarkerProps extends Omit<React.ComponentPropsWithRef<"span">, "color">, MarkerOwnProps, MarginProps {
11
+ }
12
+ export declare const Marker: React.ForwardRefExoticComponent<Omit<MarkerProps, "ref"> & React.RefAttributes<HTMLSpanElement>>;
13
+ export {};
14
+ //# sourceMappingURL=marker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker.d.ts","sourceRoot":"","sources":["../../../src/lib/marker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD,KAAK,SAAS,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,IAAI,CAAC,CAAC;AAE7D,KAAK,cAAc,GAAG;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAChE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CAC1B,CAAC;AAEF,UAAU,WACR,SAAQ,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EACxD,cAAc,EACd,WAAW;CAAG;AAElB,eAAO,MAAM,MAAM,kGAmBlB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { Text } from "@radix-ui/themes";
4
+ import clsx from "clsx";
5
+ import { namespaceClassNames } from "./utils";
6
+ export const Marker = React.forwardRef(function Marker({ children, className, highContrast, ...props }, forwardedRef) {
7
+ return (_jsx(Text, { ref: forwardedRef, className: clsx(className, namespaceClassNames("marker")), ...props, children: _jsx("span", { className: namespaceClassNames("marker-circle"), children: _jsx("span", { className: namespaceClassNames("marker-content"), children: children }) }) }));
8
+ });
9
+ //# sourceMappingURL=marker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marker.js","sourceRoot":"","sources":["../../../src/lib/marker.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAExC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAe9C,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CACpC,SAAS,MAAM,CACb,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,KAAK,EAAE,EAC/C,YAAY;IAEZ,OAAO,CACL,KAAC,IAAI,IACH,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC,KACrD,KAAK,YAET,eAAM,SAAS,EAAE,mBAAmB,CAAC,eAAe,CAAC,YACnD,eAAM,SAAS,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,YACnD,QAAQ,GACJ,GACF,GACF,CACR,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import * as React from "react";
2
+ export declare const getOAuthIcon: (account: string) => React.ForwardRefExoticComponent<Omit<React.SVGProps<SVGSVGElement>, "ref"> & React.RefAttributes<SVGSVGElement>>;
3
+ export declare const getOAuthName: (account: string) => "GitHub" | "Google" | "Microsoft" | "Apple";
4
+ //# sourceMappingURL=oauth-icons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-icons.d.ts","sourceRoot":"","sources":["../../../src/lib/oauth-icons.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA6G/B,eAAO,MAAM,YAAY,YAAa,MAAM,qHAa3C,CAAC;AAEF,eAAO,MAAM,YAAY,YAAa,MAAM,gDAa3C,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ const GitHub = React.forwardRef((props, forwardedRef) => (_jsx("svg", { ref: forwardedRef, fill: "none", height: "16", viewBox: "0 0 15 15", width: "16", xmlns: "http://www.w3.org/2000/svg", ...props, children: _jsx("path", { clipRule: "evenodd", d: "M7.49933 0.25C3.49635 0.25 0.25 3.49593 0.25 7.50024C0.25 10.703 2.32715 13.4206 5.2081 14.3797C5.57084 14.446 5.70302 14.2222 5.70302 14.0299C5.70302 13.8576 5.69679 13.4019 5.69323 12.797C3.67661 13.235 3.25112 11.825 3.25112 11.825C2.92132 10.9874 2.44599 10.7644 2.44599 10.7644C1.78773 10.3149 2.49584 10.3238 2.49584 10.3238C3.22353 10.375 3.60629 11.0711 3.60629 11.0711C4.25298 12.1788 5.30335 11.8588 5.71638 11.6732C5.78225 11.205 5.96962 10.8854 6.17658 10.7043C4.56675 10.5209 2.87415 9.89918 2.87415 7.12104C2.87415 6.32925 3.15677 5.68257 3.62053 5.17563C3.54576 4.99226 3.29697 4.25521 3.69174 3.25691C3.69174 3.25691 4.30015 3.06196 5.68522 3.99973C6.26337 3.83906 6.8838 3.75895 7.50022 3.75583C8.1162 3.75895 8.73619 3.83906 9.31523 3.99973C10.6994 3.06196 11.3069 3.25691 11.3069 3.25691C11.7026 4.25521 11.4538 4.99226 11.3795 5.17563C11.8441 5.68257 12.1245 6.32925 12.1245 7.12104C12.1245 9.9063 10.4292 10.5192 8.81452 10.6985C9.07444 10.9224 9.30633 11.3648 9.30633 12.0413C9.30633 13.0102 9.29742 13.7922 9.29742 14.0299C9.29742 14.2239 9.42828 14.4496 9.79591 14.3788C12.6746 13.4179 14.75 10.7025 14.75 7.50024C14.75 3.49593 11.5036 0.25 7.49933 0.25Z", fill: "currentColor", fillRule: "evenodd" }) })));
4
+ GitHub.displayName = "GitHub";
5
+ const Google = React.forwardRef((props, forwardedRef) => (_jsx("svg", { ref: forwardedRef, fill: "none", height: "15", viewBox: "0 0 16 16", width: "15", xmlns: "http://www.w3.org/2000/svg", ...props, children: _jsxs("g", { children: [_jsx("path", { d: "M15.83 8.18C15.83 7.65333 15.7833 7.15333 15.7033 6.66667H8.17V9.67333H12.4833C12.29 10.66 11.7233 11.4933 10.8833 12.06V14.06H13.4567C14.9633 12.6667 15.83 10.6133 15.83 8.18Z", fill: "#4285F4" }), _jsx("path", { d: "M8.17 16C10.33 16 12.1367 15.28 13.4567 14.06L10.8833 12.06C10.1633 12.54 9.25 12.8333 8.17 12.8333C6.08334 12.8333 4.31667 11.4267 3.68334 9.52667H1.03V11.5867C2.34334 14.2 5.04334 16 8.17 16Z", fill: "#34A853" }), _jsx("path", { d: "M3.68334 9.52667C3.51667 9.04667 3.43 8.53333 3.43 8C3.43 7.46667 3.52334 6.95334 3.68334 6.47334V4.41334H1.03C0.483335 5.49334 0.170002 6.70667 0.170002 8C0.170002 9.29333 0.483335 10.5067 1.03 11.5867L3.68334 9.52667Z", fill: "#FBBC05" }), _jsx("path", { d: "M8.17 3.16667C9.35 3.16667 10.4033 3.57334 11.2367 4.36667L13.5167 2.08667C12.1367 0.793334 10.33 0 8.17 0C5.04334 0 2.34334 1.8 1.03 4.41334L3.68334 6.47334C4.31667 4.57334 6.08334 3.16667 8.17 3.16667Z", fill: "#EA4335" })] }) })));
6
+ Google.displayName = "Google";
7
+ const Microsoft = React.forwardRef((props, forwardedRef) => (_jsx("svg", { ref: forwardedRef, fill: "none", height: "15", viewBox: "0 0 15 15", width: "15", xmlns: "http://www.w3.org/2000/svg", ...props, children: _jsxs("g", { children: [_jsx("path", { d: "M0 0H7L7 7H-4.76837e-07L0 0Z", fill: "#F35325" }), _jsx("path", { d: "M8 0H15V7H8L8 0Z", fill: "#81BC06" }), _jsx("path", { d: "M0 8H7V15H0V8Z", fill: "#05A6F0" }), _jsx("path", { d: "M8 8L15 8V15L8 15V8Z", fill: "#FFBA08" })] }) })));
8
+ Microsoft.displayName = "Microsoft";
9
+ const Apple = React.forwardRef(({ style, ...props }, forwardedRef) => (_jsx("svg", { ref: forwardedRef, fill: "none", height: "15", style: { overflow: "visible", ...style }, viewBox: "0 0 15 15", width: "15", xmlns: "http://www.w3.org/2000/svg", ...props, children: _jsx("path", { d: "M14.219 3.33667C14.1169 3.41674 12.3137 4.44312 12.3137 6.72534C12.3137 9.3651 14.6082 10.299 14.6769 10.3221C14.6663 10.379 14.3124 11.601 13.4671 12.8462C12.7134 13.942 11.9263 15.0359 10.7288 15.0359C9.53134 15.0359 9.22317 14.3333 7.84081 14.3333C6.49366 14.3333 6.01469 15.0591 4.91935 15.0591C3.82401 15.0591 3.05978 14.0451 2.18104 12.8C1.1632 11.3378 0.34082 9.06625 0.34082 6.91034C0.34082 3.45232 2.56668 1.61835 4.75732 1.61835C5.92133 1.61835 6.89164 2.39036 7.62246 2.39036C8.31802 2.39036 9.40277 1.5721 10.7271 1.5721C11.2289 1.5721 13.0321 1.61835 14.219 3.33667ZM10.0984 0.108136C10.646 -0.548247 11.0334 -1.459 11.0334 -2.36975C11.0334 -2.49605 11.0229 -2.62412 11 -2.72729C10.1089 -2.6935 9.04883 -2.12783 8.40959 -1.37895C7.90772 -0.802617 7.43931 0.108136 7.43931 1.03134C7.43931 1.1701 7.46218 1.30883 7.47277 1.35331C7.52909 1.36398 7.62067 1.37643 7.71224 1.37643C8.51172 1.37643 9.51724 0.835672 10.0984 0.108136Z", fill: "currentColor" }) })));
10
+ Apple.displayName = "Apple";
11
+ export const getOAuthIcon = (account) => {
12
+ switch (account) {
13
+ case "GithubOAuth":
14
+ return GitHub;
15
+ case "GoogleOAuth":
16
+ return Google;
17
+ case "MicrosoftOAuth":
18
+ return Microsoft;
19
+ case "AppleOAuth":
20
+ return Apple;
21
+ default:
22
+ throw new Error(`Unknown OAuth account type: ${account}`);
23
+ }
24
+ };
25
+ export const getOAuthName = (account) => {
26
+ switch (account) {
27
+ case "GithubOAuth":
28
+ return "GitHub";
29
+ case "GoogleOAuth":
30
+ return "Google";
31
+ case "MicrosoftOAuth":
32
+ return "Microsoft";
33
+ case "AppleOAuth":
34
+ return "Apple";
35
+ default:
36
+ throw new Error(`Unknown OAuth account type: ${account}`);
37
+ }
38
+ };
39
+ //# sourceMappingURL=oauth-icons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-icons.js","sourceRoot":"","sources":["../../../src/lib/oauth-icons.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import { OrganizationInfo, Organizations403, Organizations404 } from "@repo/api";
2
+ type OrganizationSwitcherVariant = "ghost" | "outline";
3
+ export type OrganizationSwitcherPassthroughProps = {
4
+ switchToOrganization: ({ organizationId, }: {
5
+ organizationId: string;
6
+ }) => void;
7
+ variant?: OrganizationSwitcherVariant;
8
+ organizationLabel?: string | null;
9
+ children?: React.ReactNode;
10
+ };
11
+ export interface OrganizationSwitcherProps extends OrganizationSwitcherPassthroughProps {
12
+ organizations: OrganizationInfo[];
13
+ }
14
+ export declare const OrganizationSwitcher: ({ organizations, switchToOrganization, variant, organizationLabel, children, }: OrganizationSwitcherProps) => import("react/jsx-runtime").JSX.Element | null;
15
+ export declare function OrganizationSwitcherLoading({ variant, organizations, }: {
16
+ variant?: OrganizationSwitcherVariant;
17
+ organizations: OrganizationInfo[];
18
+ }): import("react/jsx-runtime").JSX.Element;
19
+ interface OrganizationSwitcherErrorProps {
20
+ error: Organizations403 | Organizations404;
21
+ }
22
+ export declare function OrganizationSwitcherError(_: OrganizationSwitcherErrorProps): null;
23
+ export {};
24
+ //# sourceMappingURL=organization-switcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization-switcher.d.ts","sourceRoot":"","sources":["../../../src/lib/organization-switcher.tsx"],"names":[],"mappings":"AAaA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,WAAW,CAAC;AAEnB,KAAK,2BAA2B,GAAG,OAAO,GAAG,SAAS,CAAC;AAGvD,MAAM,MAAM,oCAAoC,GAAG;IACjD,oBAAoB,EAAE,CAAC,EACrB,cAAc,GACf,EAAE;QACD,cAAc,EAAE,MAAM,CAAC;KACxB,KAAK,IAAI,CAAC;IAEX,OAAO,CAAC,EAAE,2BAA2B,CAAC;IACtC,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAEF,MAAM,WAAW,yBACf,SAAQ,oCAAoC;IAC5C,aAAa,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAED,eAAO,MAAM,oBAAoB,mFAM9B,yBAAyB,mDAiF3B,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,EAC1C,OAAmB,EACnB,aAAa,GACd,EAAE;IACD,OAAO,CAAC,EAAE,2BAA2B,CAAC;IACtC,aAAa,EAAE,gBAAgB,EAAE,CAAC;CACnC,2CAgBA;AAED,UAAU,8BAA8B;IACtC,KAAK,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;CAC5C;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,8BAA8B,QAG1E"}
@@ -0,0 +1,29 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { CheckIcon } from "@radix-ui/react-icons";
4
+ import { Box, Button, ChevronDownIcon, DropdownMenu, Flex, Skeleton, Text, VisuallyHidden, } from "@radix-ui/themes";
5
+ export const OrganizationSwitcher = ({ organizations, switchToOrganization, variant = "outline", organizationLabel = "Organizations", children, }) => {
6
+ const currentOrganization = organizations.find((organization) => organization.current);
7
+ // Possible if the user has no organizations - we should figure out what to do in this case
8
+ if (!currentOrganization) {
9
+ return null;
10
+ }
11
+ return (_jsxs(DropdownMenu.Root, { children: [_jsx(DropdownMenu.Trigger, { children: _jsx(Button, { color: "gray", variant: variant, className: "OrganizationSwitcherTrigger", children: _jsxs(Flex, { align: "center", justify: "between", gap: "2", flexGrow: "1", children: [_jsx(Text, { children: currentOrganization.name }), _jsx(DropdownMenu.TriggerIcon, {})] }) }) }), _jsxs(DropdownMenu.Content, { children: [_jsxs(DropdownMenu.Group, { children: [organizationLabel ? (_jsx(DropdownMenu.Label, { children: _jsx(Text, { children: organizationLabel }) })) : null, organizations.map((organization) => (_jsx(Flex, { asChild: true, pr: "2", maxWidth: "280px", minWidth: "180px", children: _jsx(DropdownMenu.Item, { onClick: () => {
12
+ if (organization.id !== currentOrganization.id) {
13
+ switchToOrganization({ organizationId: organization.id });
14
+ }
15
+ }, children: _jsxs(Flex, { justify: "between", align: "center", gap: "4", flexGrow: "1", overflow: "hidden", children: [_jsxs(Text, { truncate: true, children: [organization.name, organization.current && (_jsx(VisuallyHidden, { children: " (current)" }))] }), _jsx(Flex, { "aria-hidden": true, align: "center", justify: "center", flexShrink: "0", children: organization.current ? (_jsx(CheckIcon, { width: "18px", height: "18px" })) : (
16
+ // make the extra space for
17
+ _jsx(Box, { width: "18px", height: "18px" })) })] }) }) }, organization.id)))] }), children] })] }));
18
+ };
19
+ export function OrganizationSwitcherLoading({ variant = "outline", organizations, }) {
20
+ const currentOrganization = organizations.find((organization) => organization.current);
21
+ return (
22
+ // Always need DropdownMenu.Root to wrap children than may include
23
+ _jsx(Button, { color: "gray", variant: variant, disabled: true, children: _jsxs(Flex, { align: "center", gap: "2", children: [_jsx(Skeleton, { loading: !currentOrganization, children: _jsx(Text, { children: currentOrganization?.name ?? "Loading..." }) }), _jsx(ChevronDownIcon, {})] }) }));
24
+ }
25
+ export function OrganizationSwitcherError(_) {
26
+ // TODO: consider other error state options
27
+ return null;
28
+ }
29
+ //# sourceMappingURL=organization-switcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization-switcher.js","sourceRoot":"","sources":["../../../src/lib/organization-switcher.tsx"],"names":[],"mappings":"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"}