@workos-inc/widgets 1.3.1 → 1.4.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 (774) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/cjs/admin-portal-domain-verification.client.cjs +115 -0
  3. package/dist/cjs/admin-portal-domain-verification.client.cjs.map +1 -0
  4. package/dist/cjs/admin-portal-domain-verification.client.d.cts +14 -0
  5. package/dist/cjs/admin-portal-sso-connection-client.cjs +269 -0
  6. package/dist/cjs/admin-portal-sso-connection-client.cjs.map +1 -0
  7. package/dist/cjs/admin-portal-sso-connection-client.d.cts +12 -0
  8. package/dist/cjs/api/api-provider.cjs +118 -0
  9. package/dist/cjs/api/api-provider.cjs.map +1 -0
  10. package/dist/cjs/api/api-provider.d.cts +31 -0
  11. package/dist/cjs/api/constants.cjs +29 -0
  12. package/dist/cjs/api/constants.cjs.map +1 -0
  13. package/dist/cjs/api/constants.d.cts +3 -0
  14. package/dist/cjs/api/endpoint.cjs +1252 -0
  15. package/dist/cjs/api/endpoint.cjs.map +1 -0
  16. package/dist/cjs/api/endpoint.d.cts +1302 -0
  17. package/dist/cjs/api/errors.cjs +57 -0
  18. package/dist/cjs/api/errors.cjs.map +1 -0
  19. package/dist/cjs/api/{errors.d.ts → errors.d.cts} +5 -5
  20. package/dist/cjs/api/utils.cjs +68 -0
  21. package/dist/cjs/api/utils.cjs.map +1 -0
  22. package/dist/cjs/api/utils.d.cts +11 -0
  23. package/dist/cjs/api/widgets-api-client.cjs +86 -0
  24. package/dist/cjs/api/widgets-api-client.cjs.map +1 -0
  25. package/dist/cjs/api/{widgets-api-client.d.ts → widgets-api-client.d.cts} +8 -7
  26. package/dist/cjs/card-list.cjs +47 -0
  27. package/dist/cjs/card-list.cjs.map +1 -0
  28. package/dist/cjs/card-list.d.cts +9 -0
  29. package/dist/cjs/index.cjs +64 -0
  30. package/dist/cjs/index.cjs.map +1 -0
  31. package/dist/cjs/index.d.cts +25 -0
  32. package/dist/cjs/lib/add-mfa-dialog.cjs +335 -0
  33. package/dist/cjs/lib/add-mfa-dialog.cjs.map +1 -0
  34. package/dist/cjs/lib/add-mfa-dialog.d.cts +11 -0
  35. package/dist/cjs/lib/admin-portal-domain-verification.cjs +126 -0
  36. package/dist/cjs/lib/admin-portal-domain-verification.cjs.map +1 -0
  37. package/dist/cjs/lib/admin-portal-domain-verification.d.cts +20 -0
  38. package/dist/cjs/lib/admin-portal-sso-connection.cjs +334 -0
  39. package/dist/cjs/lib/admin-portal-sso-connection.cjs.map +1 -0
  40. package/dist/cjs/lib/admin-portal-sso-connection.d.cts +42 -0
  41. package/dist/cjs/lib/api/config.cjs +38 -0
  42. package/dist/cjs/lib/api/config.cjs.map +1 -0
  43. package/dist/cjs/lib/api/{config.d.ts → config.d.cts} +4 -3
  44. package/dist/cjs/lib/api/user.cjs +113 -0
  45. package/dist/cjs/lib/api/user.cjs.map +1 -0
  46. package/dist/cjs/lib/api/user.d.cts +26 -0
  47. package/dist/cjs/lib/change-password-dialog.cjs +238 -0
  48. package/dist/cjs/lib/change-password-dialog.cjs.map +1 -0
  49. package/dist/cjs/lib/change-password-dialog.d.cts +10 -0
  50. package/dist/cjs/lib/constants.cjs +35 -0
  51. package/dist/cjs/lib/constants.cjs.map +1 -0
  52. package/dist/cjs/lib/constants.d.cts +5 -0
  53. package/dist/cjs/lib/copy-button.cjs +74 -0
  54. package/dist/cjs/lib/copy-button.cjs.map +1 -0
  55. package/dist/cjs/lib/copy-button.d.cts +9 -0
  56. package/dist/cjs/lib/delete-domain-dialog.cjs +72 -0
  57. package/dist/cjs/lib/delete-domain-dialog.cjs.map +1 -0
  58. package/dist/cjs/lib/delete-domain-dialog.d.cts +16 -0
  59. package/dist/cjs/lib/delete-user-dialog.cjs +96 -0
  60. package/dist/cjs/lib/delete-user-dialog.cjs.map +1 -0
  61. package/dist/cjs/lib/delete-user-dialog.d.cts +16 -0
  62. package/dist/cjs/lib/domain-actions.cjs +89 -0
  63. package/dist/cjs/lib/domain-actions.cjs.map +1 -0
  64. package/dist/cjs/lib/domain-actions.d.cts +13 -0
  65. package/dist/cjs/lib/domain-item.cjs +86 -0
  66. package/dist/cjs/lib/domain-item.cjs.map +1 -0
  67. package/dist/cjs/lib/domain-item.d.cts +13 -0
  68. package/dist/cjs/lib/edit-user-profile-dialog.cjs +170 -0
  69. package/dist/cjs/lib/edit-user-profile-dialog.cjs.map +1 -0
  70. package/dist/cjs/lib/edit-user-profile-dialog.d.cts +14 -0
  71. package/dist/cjs/lib/edit-user-role-dialog.cjs +321 -0
  72. package/dist/cjs/lib/edit-user-role-dialog.cjs.map +1 -0
  73. package/dist/cjs/lib/edit-user-role-dialog.d.cts +27 -0
  74. package/dist/cjs/lib/elements.cjs +396 -0
  75. package/dist/cjs/lib/elements.cjs.map +1 -0
  76. package/dist/cjs/lib/elements.d.cts +47 -0
  77. package/dist/cjs/lib/elevated-access.cjs +208 -0
  78. package/dist/cjs/lib/elevated-access.cjs.map +1 -0
  79. package/dist/cjs/lib/elevated-access.d.cts +10 -0
  80. package/dist/cjs/lib/error-boundary.cjs +115 -0
  81. package/dist/cjs/lib/error-boundary.cjs.map +1 -0
  82. package/dist/cjs/lib/{error-boundary.d.ts → error-boundary.d.cts} +13 -11
  83. package/dist/cjs/lib/errors.cjs +66 -0
  84. package/dist/cjs/lib/errors.cjs.map +1 -0
  85. package/dist/cjs/lib/{errors.d.ts → errors.d.cts} +6 -6
  86. package/dist/cjs/lib/generic-error.cjs +109 -0
  87. package/dist/cjs/lib/generic-error.cjs.map +1 -0
  88. package/dist/cjs/lib/generic-error.d.cts +7 -0
  89. package/dist/cjs/lib/icon-panel.cjs +53 -0
  90. package/dist/cjs/lib/icon-panel.cjs.map +1 -0
  91. package/dist/cjs/lib/icon-panel.d.cts +8 -0
  92. package/dist/cjs/lib/icons.cjs +51 -0
  93. package/dist/cjs/lib/icons.cjs.map +1 -0
  94. package/dist/cjs/lib/icons.d.cts +6 -0
  95. package/dist/cjs/lib/identity-providers.cjs +95 -0
  96. package/dist/cjs/lib/identity-providers.cjs.map +1 -0
  97. package/dist/cjs/lib/{identity-providers.d.ts → identity-providers.d.cts} +5 -5
  98. package/dist/cjs/lib/invite-user-dialog.cjs +277 -0
  99. package/dist/cjs/lib/invite-user-dialog.cjs.map +1 -0
  100. package/dist/cjs/lib/invite-user-dialog.d.cts +9 -0
  101. package/dist/cjs/lib/logout-all-sessions-dialog.cjs +97 -0
  102. package/dist/cjs/lib/logout-all-sessions-dialog.cjs.map +1 -0
  103. package/dist/cjs/lib/logout-all-sessions-dialog.d.cts +11 -0
  104. package/dist/cjs/lib/logout-dialog.cjs +109 -0
  105. package/dist/cjs/lib/logout-dialog.cjs.map +1 -0
  106. package/dist/cjs/lib/logout-dialog.d.cts +14 -0
  107. package/dist/cjs/lib/marker.cjs +56 -0
  108. package/dist/cjs/lib/marker.cjs.map +1 -0
  109. package/dist/cjs/lib/{marker.d.ts → marker.d.cts} +7 -6
  110. package/dist/cjs/lib/name-server-icon.cjs +101 -0
  111. package/dist/cjs/lib/name-server-icon.cjs.map +1 -0
  112. package/dist/cjs/lib/name-server-icon.d.cts +11 -0
  113. package/dist/cjs/lib/oauth-icons.cjs +175 -0
  114. package/dist/cjs/lib/oauth-icons.cjs.map +1 -0
  115. package/dist/cjs/lib/oauth-icons.d.cts +6 -0
  116. package/dist/cjs/lib/organization-switcher.cjs +188 -0
  117. package/dist/cjs/lib/organization-switcher.cjs.map +1 -0
  118. package/dist/cjs/lib/{organization-switcher.d.ts → organization-switcher.d.cts} +12 -11
  119. package/dist/cjs/lib/otp-input.cjs +246 -0
  120. package/dist/cjs/lib/otp-input.cjs.map +1 -0
  121. package/dist/cjs/lib/otp-input.d.cts +22 -0
  122. package/dist/cjs/lib/provider-icon.cjs +69 -0
  123. package/dist/cjs/lib/provider-icon.cjs.map +1 -0
  124. package/dist/cjs/lib/{provider-icon.d.ts → provider-icon.d.cts} +5 -4
  125. package/dist/cjs/lib/resend-invite-dialog.cjs +149 -0
  126. package/dist/cjs/lib/resend-invite-dialog.cjs.map +1 -0
  127. package/dist/cjs/lib/resend-invite-dialog.d.cts +14 -0
  128. package/dist/cjs/lib/reset-mfa-dialog.cjs +111 -0
  129. package/dist/cjs/lib/reset-mfa-dialog.cjs.map +1 -0
  130. package/dist/cjs/lib/reset-mfa-dialog.d.cts +11 -0
  131. package/dist/cjs/lib/revoke-invite-dialog.cjs +103 -0
  132. package/dist/cjs/lib/revoke-invite-dialog.cjs.map +1 -0
  133. package/dist/cjs/lib/revoke-invite-dialog.d.cts +14 -0
  134. package/dist/cjs/lib/save-button.cjs +119 -0
  135. package/dist/cjs/lib/save-button.cjs.map +1 -0
  136. package/dist/cjs/lib/save-button.d.cts +13 -0
  137. package/dist/cjs/lib/search-provider.cjs +79 -0
  138. package/dist/cjs/lib/search-provider.cjs.map +1 -0
  139. package/dist/cjs/lib/search-provider.d.cts +12 -0
  140. package/dist/cjs/lib/set-password-dialog.cjs +165 -0
  141. package/dist/cjs/lib/set-password-dialog.cjs.map +1 -0
  142. package/dist/cjs/lib/set-password-dialog.d.cts +10 -0
  143. package/dist/cjs/lib/status.cjs +72 -0
  144. package/dist/cjs/lib/status.cjs.map +1 -0
  145. package/dist/cjs/lib/status.d.cts +11 -0
  146. package/dist/cjs/lib/use-dialog-close.cjs +53 -0
  147. package/dist/cjs/lib/use-dialog-close.cjs.map +1 -0
  148. package/dist/cjs/lib/use-dialog-close.d.cts +3 -0
  149. package/dist/cjs/lib/use-is-hydrated.cjs +50 -0
  150. package/dist/cjs/lib/use-is-hydrated.cjs.map +1 -0
  151. package/dist/cjs/lib/use-is-hydrated.d.cts +3 -0
  152. package/dist/cjs/lib/use-layout-effect.cjs +31 -0
  153. package/dist/cjs/lib/use-layout-effect.cjs.map +1 -0
  154. package/dist/cjs/lib/{use-layout-effect.d.ts → use-layout-effect.d.cts} +3 -2
  155. package/dist/cjs/lib/use-permissions.cjs +55 -0
  156. package/dist/cjs/lib/use-permissions.cjs.map +1 -0
  157. package/dist/cjs/lib/use-permissions.d.cts +6 -0
  158. package/dist/cjs/lib/use-security-settings.cjs +59 -0
  159. package/dist/cjs/lib/use-security-settings.cjs.map +1 -0
  160. package/dist/cjs/lib/{use-security-settings.d.ts → use-security-settings.d.cts} +3 -3
  161. package/dist/cjs/lib/user-actions-dropdown.cjs +168 -0
  162. package/dist/cjs/lib/user-actions-dropdown.cjs.map +1 -0
  163. package/dist/cjs/lib/user-actions-dropdown.d.cts +13 -0
  164. package/dist/cjs/lib/user-profile.cjs +175 -0
  165. package/dist/cjs/lib/user-profile.cjs.map +1 -0
  166. package/dist/cjs/lib/user-profile.d.cts +15 -0
  167. package/dist/cjs/lib/user-security.cjs +135 -0
  168. package/dist/cjs/lib/user-security.cjs.map +1 -0
  169. package/dist/cjs/lib/user-security.d.cts +15 -0
  170. package/dist/cjs/lib/user-sessions.cjs +178 -0
  171. package/dist/cjs/lib/user-sessions.cjs.map +1 -0
  172. package/dist/cjs/lib/user-sessions.d.cts +16 -0
  173. package/dist/cjs/lib/users-filter.cjs +85 -0
  174. package/dist/cjs/lib/users-filter.cjs.map +1 -0
  175. package/dist/cjs/lib/users-filter.d.cts +13 -0
  176. package/dist/cjs/lib/users-management-context.cjs +81 -0
  177. package/dist/cjs/lib/users-management-context.cjs.map +1 -0
  178. package/dist/cjs/lib/users-management-context.d.cts +19 -0
  179. package/dist/cjs/lib/users-management-state.cjs +154 -0
  180. package/dist/cjs/lib/users-management-state.cjs.map +1 -0
  181. package/dist/cjs/lib/users-management-state.d.cts +26 -0
  182. package/dist/cjs/lib/users-management.cjs +485 -0
  183. package/dist/cjs/lib/users-management.cjs.map +1 -0
  184. package/dist/cjs/lib/users-management.d.cts +22 -0
  185. package/dist/cjs/lib/users-search.cjs +101 -0
  186. package/dist/cjs/lib/users-search.cjs.map +1 -0
  187. package/dist/cjs/lib/users-search.d.cts +6 -0
  188. package/dist/cjs/lib/utils.cjs +148 -0
  189. package/dist/cjs/lib/utils.cjs.map +1 -0
  190. package/dist/cjs/lib/utils.d.cts +31 -0
  191. package/dist/cjs/lib/view-dns-record-dialog.cjs +101 -0
  192. package/dist/cjs/lib/view-dns-record-dialog.cjs.map +1 -0
  193. package/dist/cjs/lib/view-dns-record-dialog.d.cts +16 -0
  194. package/dist/cjs/lib/widgets-context.cjs +59 -0
  195. package/dist/cjs/lib/widgets-context.cjs.map +1 -0
  196. package/dist/cjs/lib/widgets-context.d.cts +15 -0
  197. package/dist/cjs/organization-switcher.client.cjs +81 -0
  198. package/dist/cjs/organization-switcher.client.cjs.map +1 -0
  199. package/dist/cjs/organization-switcher.client.d.cts +15 -0
  200. package/dist/cjs/user-profile.client.cjs +65 -0
  201. package/dist/cjs/user-profile.client.cjs.map +1 -0
  202. package/dist/cjs/user-profile.client.d.cts +14 -0
  203. package/dist/cjs/user-security.client.cjs +67 -0
  204. package/dist/cjs/user-security.client.cjs.map +1 -0
  205. package/dist/cjs/user-security.client.d.cts +14 -0
  206. package/dist/cjs/user-sessions.client.cjs +98 -0
  207. package/dist/cjs/user-sessions.client.cjs.map +1 -0
  208. package/dist/cjs/user-sessions.client.d.cts +18 -0
  209. package/dist/cjs/users-management.client.cjs +88 -0
  210. package/dist/cjs/users-management.client.cjs.map +1 -0
  211. package/dist/cjs/users-management.client.d.cts +14 -0
  212. package/dist/cjs/workos-widgets.client.cjs +106 -0
  213. package/dist/cjs/workos-widgets.client.cjs.map +1 -0
  214. package/dist/cjs/{workos-widgets.client.d.ts → workos-widgets.client.d.cts} +10 -7
  215. package/dist/esm/admin-portal-domain-verification.client.d.ts +12 -5
  216. package/dist/esm/admin-portal-domain-verification.client.js +87 -52
  217. package/dist/esm/admin-portal-domain-verification.client.js.map +1 -1
  218. package/dist/esm/admin-portal-sso-connection-client.d.ts +10 -5
  219. package/dist/esm/admin-portal-sso-connection-client.js +221 -173
  220. package/dist/esm/admin-portal-sso-connection-client.js.map +1 -1
  221. package/dist/esm/api/api-provider.d.ts +10 -8
  222. package/dist/esm/api/api-provider.js +74 -93
  223. package/dist/esm/api/api-provider.js.map +1 -1
  224. package/dist/esm/api/constants.d.ts +3 -2
  225. package/dist/esm/api/constants.js +4 -1
  226. package/dist/esm/api/constants.js.map +1 -1
  227. package/dist/esm/api/endpoint.d.ts +471 -431
  228. package/dist/esm/api/endpoint.js +1098 -994
  229. package/dist/esm/api/endpoint.js.map +1 -1
  230. package/dist/esm/api/errors.d.ts +5 -5
  231. package/dist/esm/api/errors.js +27 -30
  232. package/dist/esm/api/errors.js.map +1 -1
  233. package/dist/esm/api/utils.d.ts +6 -5
  234. package/dist/esm/api/utils.js +34 -29
  235. package/dist/esm/api/utils.js.map +1 -1
  236. package/dist/esm/api/widgets-api-client.d.ts +8 -7
  237. package/dist/esm/api/widgets-api-client.js +54 -50
  238. package/dist/esm/api/widgets-api-client.js.map +1 -1
  239. package/dist/esm/card-list.d.ts +8 -5
  240. package/dist/esm/card-list.js +18 -5
  241. package/dist/esm/card-list.js.map +1 -1
  242. package/dist/esm/index.d.ts +25 -9
  243. package/dist/esm/index.js +48 -8
  244. package/dist/esm/index.js.map +1 -1
  245. package/dist/esm/lib/add-mfa-dialog.d.ts +7 -5
  246. package/dist/esm/lib/add-mfa-dialog.js +290 -86
  247. package/dist/esm/lib/add-mfa-dialog.js.map +1 -1
  248. package/dist/esm/lib/admin-portal-domain-verification.d.ts +12 -7
  249. package/dist/esm/lib/admin-portal-domain-verification.js +77 -10
  250. package/dist/esm/lib/admin-portal-domain-verification.js.map +1 -1
  251. package/dist/esm/lib/admin-portal-sso-connection.d.ts +14 -12
  252. package/dist/esm/lib/admin-portal-sso-connection.js +277 -150
  253. package/dist/esm/lib/admin-portal-sso-connection.js.map +1 -1
  254. package/dist/esm/lib/api/config.d.ts +4 -3
  255. package/dist/esm/lib/api/config.js +11 -7
  256. package/dist/esm/lib/api/config.js.map +1 -1
  257. package/dist/esm/lib/api/user.d.ts +19 -10
  258. package/dist/esm/lib/api/user.js +85 -62
  259. package/dist/esm/lib/api/user.js.map +1 -1
  260. package/dist/esm/lib/change-password-dialog.d.ts +7 -5
  261. package/dist/esm/lib/change-password-dialog.js +197 -58
  262. package/dist/esm/lib/change-password-dialog.js.map +1 -1
  263. package/dist/esm/lib/constants.d.ts +5 -4
  264. package/dist/esm/lib/constants.js +8 -3
  265. package/dist/esm/lib/constants.js.map +1 -1
  266. package/dist/esm/lib/copy-button.d.ts +5 -4
  267. package/dist/esm/lib/copy-button.js +29 -25
  268. package/dist/esm/lib/copy-button.js.map +1 -1
  269. package/dist/esm/lib/delete-domain-dialog.d.ts +9 -5
  270. package/dist/esm/lib/delete-domain-dialog.js +44 -18
  271. package/dist/esm/lib/delete-domain-dialog.js.map +1 -1
  272. package/dist/esm/lib/delete-user-dialog.d.ts +10 -6
  273. package/dist/esm/lib/delete-user-dialog.js +75 -26
  274. package/dist/esm/lib/delete-user-dialog.js.map +1 -1
  275. package/dist/esm/lib/domain-actions.d.ts +8 -4
  276. package/dist/esm/lib/domain-actions.js +57 -10
  277. package/dist/esm/lib/domain-actions.js.map +1 -1
  278. package/dist/esm/lib/domain-item.d.ts +8 -4
  279. package/dist/esm/lib/domain-item.js +49 -21
  280. package/dist/esm/lib/domain-item.js.map +1 -1
  281. package/dist/esm/lib/edit-user-profile-dialog.d.ts +10 -6
  282. package/dist/esm/lib/edit-user-profile-dialog.js +128 -45
  283. package/dist/esm/lib/edit-user-profile-dialog.js.map +1 -1
  284. package/dist/esm/lib/edit-user-role-dialog.d.ts +21 -6
  285. package/dist/esm/lib/edit-user-role-dialog.js +296 -44
  286. package/dist/esm/lib/edit-user-role-dialog.js.map +1 -1
  287. package/dist/esm/lib/elements.d.ts +27 -26
  288. package/dist/esm/lib/elements.js +325 -88
  289. package/dist/esm/lib/elements.js.map +1 -1
  290. package/dist/esm/lib/elevated-access.d.ts +6 -4
  291. package/dist/esm/lib/elevated-access.js +159 -90
  292. package/dist/esm/lib/elevated-access.js.map +1 -1
  293. package/dist/esm/lib/error-boundary.d.ts +13 -11
  294. package/dist/esm/lib/error-boundary.js +69 -74
  295. package/dist/esm/lib/error-boundary.js.map +1 -1
  296. package/dist/esm/lib/errors.d.ts +6 -6
  297. package/dist/esm/lib/errors.js +34 -37
  298. package/dist/esm/lib/errors.js.map +1 -1
  299. package/dist/esm/lib/generic-error.d.ts +6 -3
  300. package/dist/esm/lib/generic-error.js +75 -29
  301. package/dist/esm/lib/generic-error.js.map +1 -1
  302. package/dist/esm/lib/icon-panel.d.ts +7 -4
  303. package/dist/esm/lib/icon-panel.js +25 -10
  304. package/dist/esm/lib/icon-panel.js.map +1 -1
  305. package/dist/esm/lib/icons.d.ts +6 -3
  306. package/dist/esm/lib/icons.js +25 -3
  307. package/dist/esm/lib/icons.js.map +1 -1
  308. package/dist/esm/lib/identity-providers.d.ts +5 -5
  309. package/dist/esm/lib/identity-providers.js +66 -63
  310. package/dist/esm/lib/identity-providers.js.map +1 -1
  311. package/dist/esm/lib/invite-user-dialog.d.ts +6 -4
  312. package/dist/esm/lib/invite-user-dialog.js +236 -117
  313. package/dist/esm/lib/invite-user-dialog.js.map +1 -1
  314. package/dist/esm/lib/logout-all-sessions-dialog.d.ts +7 -5
  315. package/dist/esm/lib/logout-all-sessions-dialog.js +59 -18
  316. package/dist/esm/lib/logout-all-sessions-dialog.js.map +1 -1
  317. package/dist/esm/lib/logout-dialog.d.ts +10 -6
  318. package/dist/esm/lib/logout-dialog.js +74 -24
  319. package/dist/esm/lib/logout-dialog.js.map +1 -1
  320. package/dist/esm/lib/marker.d.ts +7 -6
  321. package/dist/esm/lib/marker.js +17 -4
  322. package/dist/esm/lib/marker.js.map +1 -1
  323. package/dist/esm/lib/name-server-icon.d.ts +8 -4
  324. package/dist/esm/lib/name-server-icon.js +60 -4
  325. package/dist/esm/lib/name-server-icon.js.map +1 -1
  326. package/dist/esm/lib/oauth-icons.d.ts +6 -4
  327. package/dist/esm/lib/oauth-icons.js +132 -31
  328. package/dist/esm/lib/oauth-icons.js.map +1 -1
  329. package/dist/esm/lib/organization-switcher.d.ts +12 -11
  330. package/dist/esm/lib/organization-switcher.js +156 -42
  331. package/dist/esm/lib/organization-switcher.js.map +1 -1
  332. package/dist/esm/lib/otp-input.d.ts +9 -7
  333. package/dist/esm/lib/otp-input.js +163 -100
  334. package/dist/esm/lib/otp-input.js.map +1 -1
  335. package/dist/esm/lib/provider-icon.d.ts +5 -4
  336. package/dist/esm/lib/provider-icon.js +29 -8
  337. package/dist/esm/lib/provider-icon.js.map +1 -1
  338. package/dist/esm/lib/resend-invite-dialog.d.ts +10 -6
  339. package/dist/esm/lib/resend-invite-dialog.js +120 -36
  340. package/dist/esm/lib/resend-invite-dialog.js.map +1 -1
  341. package/dist/esm/lib/reset-mfa-dialog.d.ts +7 -5
  342. package/dist/esm/lib/reset-mfa-dialog.js +70 -23
  343. package/dist/esm/lib/reset-mfa-dialog.js.map +1 -1
  344. package/dist/esm/lib/revoke-invite-dialog.d.ts +10 -6
  345. package/dist/esm/lib/revoke-invite-dialog.js +82 -26
  346. package/dist/esm/lib/revoke-invite-dialog.js.map +1 -1
  347. package/dist/esm/lib/save-button.d.ts +6 -4
  348. package/dist/esm/lib/save-button.js +92 -35
  349. package/dist/esm/lib/save-button.js.map +1 -1
  350. package/dist/esm/lib/search-provider.d.ts +7 -6
  351. package/dist/esm/lib/search-provider.js +37 -20
  352. package/dist/esm/lib/search-provider.js.map +1 -1
  353. package/dist/esm/lib/set-password-dialog.d.ts +7 -5
  354. package/dist/esm/lib/set-password-dialog.js +122 -39
  355. package/dist/esm/lib/set-password-dialog.js.map +1 -1
  356. package/dist/esm/lib/status.d.ts +7 -6
  357. package/dist/esm/lib/status.js +31 -12
  358. package/dist/esm/lib/status.js.map +1 -1
  359. package/dist/esm/lib/use-dialog-close.d.ts +3 -2
  360. package/dist/esm/lib/use-dialog-close.js +16 -14
  361. package/dist/esm/lib/use-dialog-close.js.map +1 -1
  362. package/dist/esm/lib/use-is-hydrated.d.ts +3 -2
  363. package/dist/esm/lib/use-is-hydrated.js +11 -3
  364. package/dist/esm/lib/use-is-hydrated.js.map +1 -1
  365. package/dist/esm/lib/use-layout-effect.d.ts +3 -2
  366. package/dist/esm/lib/use-layout-effect.js +3 -1
  367. package/dist/esm/lib/use-layout-effect.js.map +1 -1
  368. package/dist/esm/lib/use-permissions.d.ts +5 -3
  369. package/dist/esm/lib/use-permissions.js +25 -25
  370. package/dist/esm/lib/use-permissions.js.map +1 -1
  371. package/dist/esm/lib/use-security-settings.d.ts +3 -3
  372. package/dist/esm/lib/use-security-settings.js +33 -32
  373. package/dist/esm/lib/use-security-settings.js.map +1 -1
  374. package/dist/esm/lib/user-actions-dropdown.d.ts +9 -5
  375. package/dist/esm/lib/user-actions-dropdown.js +127 -42
  376. package/dist/esm/lib/user-actions-dropdown.js.map +1 -1
  377. package/dist/esm/lib/user-profile.d.ts +11 -7
  378. package/dist/esm/lib/user-profile.js +137 -16
  379. package/dist/esm/lib/user-profile.js.map +1 -1
  380. package/dist/esm/lib/user-security.d.ts +12 -8
  381. package/dist/esm/lib/user-security.js +81 -14
  382. package/dist/esm/lib/user-security.js.map +1 -1
  383. package/dist/esm/lib/user-sessions.d.ts +11 -7
  384. package/dist/esm/lib/user-sessions.js +131 -25
  385. package/dist/esm/lib/user-sessions.js.map +1 -1
  386. package/dist/esm/lib/users-filter.d.ts +9 -6
  387. package/dist/esm/lib/users-filter.js +42 -20
  388. package/dist/esm/lib/users-filter.js.map +1 -1
  389. package/dist/esm/lib/users-management-context.d.ts +11 -6
  390. package/dist/esm/lib/users-management-context.js +37 -31
  391. package/dist/esm/lib/users-management-context.js.map +1 -1
  392. package/dist/esm/lib/users-management-state.d.ts +10 -6
  393. package/dist/esm/lib/users-management-state.js +108 -105
  394. package/dist/esm/lib/users-management-state.js.map +1 -1
  395. package/dist/esm/lib/users-management.d.ts +16 -8
  396. package/dist/esm/lib/users-management.js +444 -143
  397. package/dist/esm/lib/users-management.js.map +1 -1
  398. package/dist/esm/lib/users-search.d.ts +6 -3
  399. package/dist/esm/lib/users-search.js +48 -15
  400. package/dist/esm/lib/users-search.js.map +1 -1
  401. package/dist/esm/lib/utils.d.ts +18 -13
  402. package/dist/esm/lib/utils.js +92 -84
  403. package/dist/esm/lib/utils.js.map +1 -1
  404. package/dist/esm/lib/view-dns-record-dialog.d.ts +9 -5
  405. package/dist/esm/lib/view-dns-record-dialog.js +80 -14
  406. package/dist/esm/lib/view-dns-record-dialog.js.map +1 -1
  407. package/dist/esm/lib/widgets-context.d.ts +11 -7
  408. package/dist/esm/lib/widgets-context.js +17 -11
  409. package/dist/esm/lib/widgets-context.js.map +1 -1
  410. package/dist/esm/organization-switcher.client.d.ts +13 -6
  411. package/dist/esm/organization-switcher.client.js +47 -21
  412. package/dist/esm/organization-switcher.client.js.map +1 -1
  413. package/dist/esm/user-profile.client.d.ts +12 -5
  414. package/dist/esm/user-profile.client.js +33 -17
  415. package/dist/esm/user-profile.client.js.map +1 -1
  416. package/dist/esm/user-security.client.d.ts +12 -5
  417. package/dist/esm/user-security.client.js +36 -14
  418. package/dist/esm/user-security.client.js.map +1 -1
  419. package/dist/esm/user-sessions.client.d.ts +10 -4
  420. package/dist/esm/user-sessions.client.js +62 -30
  421. package/dist/esm/user-sessions.client.js.map +1 -1
  422. package/dist/esm/users-management.client.d.ts +12 -5
  423. package/dist/esm/users-management.client.js +54 -24
  424. package/dist/esm/users-management.client.js.map +1 -1
  425. package/dist/esm/workos-widgets.client.d.ts +10 -7
  426. package/dist/esm/workos-widgets.client.js +64 -38
  427. package/dist/esm/workos-widgets.client.js.map +1 -1
  428. package/package.json +55 -48
  429. package/LICENSE +0 -21
  430. package/dist/cjs/admin-portal-domain-verification.client.d.ts +0 -7
  431. package/dist/cjs/admin-portal-domain-verification.client.d.ts.map +0 -1
  432. package/dist/cjs/admin-portal-domain-verification.client.js +0 -69
  433. package/dist/cjs/admin-portal-domain-verification.client.js.map +0 -1
  434. package/dist/cjs/admin-portal-sso-connection-client.d.ts +0 -7
  435. package/dist/cjs/admin-portal-sso-connection-client.d.ts.map +0 -1
  436. package/dist/cjs/admin-portal-sso-connection-client.js +0 -221
  437. package/dist/cjs/admin-portal-sso-connection-client.js.map +0 -1
  438. package/dist/cjs/api/api-provider.d.ts +0 -29
  439. package/dist/cjs/api/api-provider.d.ts.map +0 -1
  440. package/dist/cjs/api/api-provider.js +0 -130
  441. package/dist/cjs/api/api-provider.js.map +0 -1
  442. package/dist/cjs/api/constants.d.ts +0 -2
  443. package/dist/cjs/api/constants.d.ts.map +0 -1
  444. package/dist/cjs/api/constants.js +0 -5
  445. package/dist/cjs/api/constants.js.map +0 -1
  446. package/dist/cjs/api/endpoint.d.ts +0 -1262
  447. package/dist/cjs/api/endpoint.d.ts.map +0 -1
  448. package/dist/cjs/api/endpoint.js +0 -1108
  449. package/dist/cjs/api/endpoint.js.map +0 -1
  450. package/dist/cjs/api/errors.d.ts.map +0 -1
  451. package/dist/cjs/api/errors.js +0 -40
  452. package/dist/cjs/api/errors.js.map +0 -1
  453. package/dist/cjs/api/utils.d.ts +0 -10
  454. package/dist/cjs/api/utils.d.ts.map +0 -1
  455. package/dist/cjs/api/utils.js +0 -42
  456. package/dist/cjs/api/utils.js.map +0 -1
  457. package/dist/cjs/api/widgets-api-client.d.ts.map +0 -1
  458. package/dist/cjs/api/widgets-api-client.js +0 -62
  459. package/dist/cjs/api/widgets-api-client.js.map +0 -1
  460. package/dist/cjs/card-list.d.ts +0 -6
  461. package/dist/cjs/card-list.d.ts.map +0 -1
  462. package/dist/cjs/card-list.js +0 -13
  463. package/dist/cjs/card-list.js.map +0 -1
  464. package/dist/cjs/index.d.ts +0 -9
  465. package/dist/cjs/index.d.ts.map +0 -1
  466. package/dist/cjs/index.js +0 -20
  467. package/dist/cjs/index.js.map +0 -1
  468. package/dist/cjs/lib/add-mfa-dialog.d.ts +0 -9
  469. package/dist/cjs/lib/add-mfa-dialog.d.ts.map +0 -1
  470. package/dist/cjs/lib/add-mfa-dialog.js +0 -136
  471. package/dist/cjs/lib/add-mfa-dialog.js.map +0 -1
  472. package/dist/cjs/lib/admin-portal-domain-verification.d.ts +0 -15
  473. package/dist/cjs/lib/admin-portal-domain-verification.d.ts.map +0 -1
  474. package/dist/cjs/lib/admin-portal-domain-verification.js +0 -55
  475. package/dist/cjs/lib/admin-portal-domain-verification.js.map +0 -1
  476. package/dist/cjs/lib/admin-portal-sso-connection.d.ts +0 -40
  477. package/dist/cjs/lib/admin-portal-sso-connection.d.ts.map +0 -1
  478. package/dist/cjs/lib/admin-portal-sso-connection.js +0 -209
  479. package/dist/cjs/lib/admin-portal-sso-connection.js.map +0 -1
  480. package/dist/cjs/lib/api/config.d.ts.map +0 -1
  481. package/dist/cjs/lib/api/config.js +0 -12
  482. package/dist/cjs/lib/api/config.js.map +0 -1
  483. package/dist/cjs/lib/api/user.d.ts +0 -17
  484. package/dist/cjs/lib/api/user.d.ts.map +0 -1
  485. package/dist/cjs/lib/api/user.js +0 -80
  486. package/dist/cjs/lib/api/user.js.map +0 -1
  487. package/dist/cjs/lib/change-password-dialog.d.ts +0 -8
  488. package/dist/cjs/lib/change-password-dialog.d.ts.map +0 -1
  489. package/dist/cjs/lib/change-password-dialog.js +0 -97
  490. package/dist/cjs/lib/change-password-dialog.js.map +0 -1
  491. package/dist/cjs/lib/constants.d.ts +0 -4
  492. package/dist/cjs/lib/constants.d.ts.map +0 -1
  493. package/dist/cjs/lib/constants.js +0 -7
  494. package/dist/cjs/lib/constants.js.map +0 -1
  495. package/dist/cjs/lib/copy-button.d.ts +0 -8
  496. package/dist/cjs/lib/copy-button.d.ts.map +0 -1
  497. package/dist/cjs/lib/copy-button.js +0 -62
  498. package/dist/cjs/lib/copy-button.js.map +0 -1
  499. package/dist/cjs/lib/delete-domain-dialog.d.ts +0 -12
  500. package/dist/cjs/lib/delete-domain-dialog.d.ts.map +0 -1
  501. package/dist/cjs/lib/delete-domain-dialog.js +0 -26
  502. package/dist/cjs/lib/delete-domain-dialog.js.map +0 -1
  503. package/dist/cjs/lib/delete-user-dialog.d.ts +0 -12
  504. package/dist/cjs/lib/delete-user-dialog.d.ts.map +0 -1
  505. package/dist/cjs/lib/delete-user-dialog.js +0 -36
  506. package/dist/cjs/lib/delete-user-dialog.js.map +0 -1
  507. package/dist/cjs/lib/domain-actions.d.ts +0 -9
  508. package/dist/cjs/lib/domain-actions.d.ts.map +0 -1
  509. package/dist/cjs/lib/domain-actions.js +0 -22
  510. package/dist/cjs/lib/domain-actions.js.map +0 -1
  511. package/dist/cjs/lib/domain-item.d.ts +0 -9
  512. package/dist/cjs/lib/domain-item.d.ts.map +0 -1
  513. package/dist/cjs/lib/domain-item.js +0 -38
  514. package/dist/cjs/lib/domain-item.js.map +0 -1
  515. package/dist/cjs/lib/edit-user-profile-dialog.d.ts +0 -10
  516. package/dist/cjs/lib/edit-user-profile-dialog.d.ts.map +0 -1
  517. package/dist/cjs/lib/edit-user-profile-dialog.js +0 -85
  518. package/dist/cjs/lib/edit-user-profile-dialog.js.map +0 -1
  519. package/dist/cjs/lib/edit-user-role-dialog.d.ts +0 -12
  520. package/dist/cjs/lib/edit-user-role-dialog.d.ts.map +0 -1
  521. package/dist/cjs/lib/edit-user-role-dialog.js +0 -82
  522. package/dist/cjs/lib/edit-user-role-dialog.js.map +0 -1
  523. package/dist/cjs/lib/elements.d.ts +0 -46
  524. package/dist/cjs/lib/elements.d.ts.map +0 -1
  525. package/dist/cjs/lib/elements.js +0 -148
  526. package/dist/cjs/lib/elements.js.map +0 -1
  527. package/dist/cjs/lib/elevated-access.d.ts +0 -8
  528. package/dist/cjs/lib/elevated-access.d.ts.map +0 -1
  529. package/dist/cjs/lib/elevated-access.js +0 -131
  530. package/dist/cjs/lib/elevated-access.js.map +0 -1
  531. package/dist/cjs/lib/error-boundary.d.ts.map +0 -1
  532. package/dist/cjs/lib/error-boundary.js +0 -113
  533. package/dist/cjs/lib/error-boundary.js.map +0 -1
  534. package/dist/cjs/lib/errors.d.ts.map +0 -1
  535. package/dist/cjs/lib/errors.js +0 -49
  536. package/dist/cjs/lib/errors.js.map +0 -1
  537. package/dist/cjs/lib/generic-error.d.ts +0 -4
  538. package/dist/cjs/lib/generic-error.d.ts.map +0 -1
  539. package/dist/cjs/lib/generic-error.js +0 -60
  540. package/dist/cjs/lib/generic-error.js.map +0 -1
  541. package/dist/cjs/lib/icon-panel.d.ts +0 -5
  542. package/dist/cjs/lib/icon-panel.d.ts.map +0 -1
  543. package/dist/cjs/lib/icon-panel.js +0 -17
  544. package/dist/cjs/lib/icon-panel.js.map +0 -1
  545. package/dist/cjs/lib/icons.d.ts +0 -3
  546. package/dist/cjs/lib/icons.d.ts.map +0 -1
  547. package/dist/cjs/lib/icons.js +0 -8
  548. package/dist/cjs/lib/icons.js.map +0 -1
  549. package/dist/cjs/lib/identity-providers.d.ts.map +0 -1
  550. package/dist/cjs/lib/identity-providers.js +0 -71
  551. package/dist/cjs/lib/identity-providers.js.map +0 -1
  552. package/dist/cjs/lib/invite-user-dialog.d.ts +0 -7
  553. package/dist/cjs/lib/invite-user-dialog.d.ts.map +0 -1
  554. package/dist/cjs/lib/invite-user-dialog.js +0 -165
  555. package/dist/cjs/lib/invite-user-dialog.js.map +0 -1
  556. package/dist/cjs/lib/logout-all-sessions-dialog.d.ts +0 -9
  557. package/dist/cjs/lib/logout-all-sessions-dialog.d.ts.map +0 -1
  558. package/dist/cjs/lib/logout-all-sessions-dialog.js +0 -52
  559. package/dist/cjs/lib/logout-all-sessions-dialog.js.map +0 -1
  560. package/dist/cjs/lib/logout-dialog.d.ts +0 -10
  561. package/dist/cjs/lib/logout-dialog.d.ts.map +0 -1
  562. package/dist/cjs/lib/logout-dialog.js +0 -58
  563. package/dist/cjs/lib/logout-dialog.js.map +0 -1
  564. package/dist/cjs/lib/marker.d.ts.map +0 -1
  565. package/dist/cjs/lib/marker.js +0 -38
  566. package/dist/cjs/lib/marker.js.map +0 -1
  567. package/dist/cjs/lib/name-server-icon.d.ts +0 -7
  568. package/dist/cjs/lib/name-server-icon.d.ts.map +0 -1
  569. package/dist/cjs/lib/name-server-icon.js +0 -38
  570. package/dist/cjs/lib/name-server-icon.js.map +0 -1
  571. package/dist/cjs/lib/oauth-icons.d.ts +0 -4
  572. package/dist/cjs/lib/oauth-icons.d.ts.map +0 -1
  573. package/dist/cjs/lib/oauth-icons.js +0 -67
  574. package/dist/cjs/lib/oauth-icons.js.map +0 -1
  575. package/dist/cjs/lib/organization-switcher.d.ts.map +0 -1
  576. package/dist/cjs/lib/organization-switcher.js +0 -63
  577. package/dist/cjs/lib/organization-switcher.js.map +0 -1
  578. package/dist/cjs/lib/otp-input.d.ts +0 -20
  579. package/dist/cjs/lib/otp-input.d.ts.map +0 -1
  580. package/dist/cjs/lib/otp-input.js +0 -174
  581. package/dist/cjs/lib/otp-input.js.map +0 -1
  582. package/dist/cjs/lib/provider-icon.d.ts.map +0 -1
  583. package/dist/cjs/lib/provider-icon.js +0 -45
  584. package/dist/cjs/lib/provider-icon.js.map +0 -1
  585. package/dist/cjs/lib/resend-invite-dialog.d.ts +0 -10
  586. package/dist/cjs/lib/resend-invite-dialog.d.ts.map +0 -1
  587. package/dist/cjs/lib/resend-invite-dialog.js +0 -70
  588. package/dist/cjs/lib/resend-invite-dialog.js.map +0 -1
  589. package/dist/cjs/lib/reset-mfa-dialog.d.ts +0 -9
  590. package/dist/cjs/lib/reset-mfa-dialog.d.ts.map +0 -1
  591. package/dist/cjs/lib/reset-mfa-dialog.js +0 -60
  592. package/dist/cjs/lib/reset-mfa-dialog.js.map +0 -1
  593. package/dist/cjs/lib/revoke-invite-dialog.d.ts +0 -10
  594. package/dist/cjs/lib/revoke-invite-dialog.d.ts.map +0 -1
  595. package/dist/cjs/lib/revoke-invite-dialog.js +0 -36
  596. package/dist/cjs/lib/revoke-invite-dialog.js.map +0 -1
  597. package/dist/cjs/lib/save-button.d.ts +0 -11
  598. package/dist/cjs/lib/save-button.d.ts.map +0 -1
  599. package/dist/cjs/lib/save-button.js +0 -47
  600. package/dist/cjs/lib/save-button.js.map +0 -1
  601. package/dist/cjs/lib/search-provider.d.ts +0 -11
  602. package/dist/cjs/lib/search-provider.d.ts.map +0 -1
  603. package/dist/cjs/lib/search-provider.js +0 -55
  604. package/dist/cjs/lib/search-provider.js.map +0 -1
  605. package/dist/cjs/lib/set-password-dialog.d.ts +0 -8
  606. package/dist/cjs/lib/set-password-dialog.d.ts.map +0 -1
  607. package/dist/cjs/lib/set-password-dialog.js +0 -80
  608. package/dist/cjs/lib/set-password-dialog.js.map +0 -1
  609. package/dist/cjs/lib/status.d.ts +0 -10
  610. package/dist/cjs/lib/status.d.ts.map +0 -1
  611. package/dist/cjs/lib/status.js +0 -48
  612. package/dist/cjs/lib/status.js.map +0 -1
  613. package/dist/cjs/lib/use-dialog-close.d.ts +0 -2
  614. package/dist/cjs/lib/use-dialog-close.d.ts.map +0 -1
  615. package/dist/cjs/lib/use-dialog-close.js +0 -43
  616. package/dist/cjs/lib/use-dialog-close.js.map +0 -1
  617. package/dist/cjs/lib/use-is-hydrated.d.ts +0 -2
  618. package/dist/cjs/lib/use-is-hydrated.d.ts.map +0 -1
  619. package/dist/cjs/lib/use-is-hydrated.js +0 -34
  620. package/dist/cjs/lib/use-is-hydrated.js.map +0 -1
  621. package/dist/cjs/lib/use-layout-effect.d.ts.map +0 -1
  622. package/dist/cjs/lib/use-layout-effect.js +0 -8
  623. package/dist/cjs/lib/use-layout-effect.js.map +0 -1
  624. package/dist/cjs/lib/use-permissions.d.ts +0 -4
  625. package/dist/cjs/lib/use-permissions.d.ts.map +0 -1
  626. package/dist/cjs/lib/use-permissions.js +0 -34
  627. package/dist/cjs/lib/use-permissions.js.map +0 -1
  628. package/dist/cjs/lib/use-security-settings.d.ts.map +0 -1
  629. package/dist/cjs/lib/use-security-settings.js +0 -39
  630. package/dist/cjs/lib/use-security-settings.js.map +0 -1
  631. package/dist/cjs/lib/user-actions-dropdown.d.ts +0 -9
  632. package/dist/cjs/lib/user-actions-dropdown.d.ts.map +0 -1
  633. package/dist/cjs/lib/user-actions-dropdown.js +0 -80
  634. package/dist/cjs/lib/user-actions-dropdown.js.map +0 -1
  635. package/dist/cjs/lib/user-profile.d.ts +0 -11
  636. package/dist/cjs/lib/user-profile.d.ts.map +0 -1
  637. package/dist/cjs/lib/user-profile.js +0 -36
  638. package/dist/cjs/lib/user-profile.js.map +0 -1
  639. package/dist/cjs/lib/user-security.d.ts +0 -11
  640. package/dist/cjs/lib/user-security.d.ts.map +0 -1
  641. package/dist/cjs/lib/user-security.js +0 -64
  642. package/dist/cjs/lib/user-security.js.map +0 -1
  643. package/dist/cjs/lib/user-sessions.d.ts +0 -12
  644. package/dist/cjs/lib/user-sessions.d.ts.map +0 -1
  645. package/dist/cjs/lib/user-sessions.js +0 -72
  646. package/dist/cjs/lib/user-sessions.js.map +0 -1
  647. package/dist/cjs/lib/users-filter.d.ts +0 -10
  648. package/dist/cjs/lib/users-filter.d.ts.map +0 -1
  649. package/dist/cjs/lib/users-filter.js +0 -56
  650. package/dist/cjs/lib/users-filter.js.map +0 -1
  651. package/dist/cjs/lib/users-management-context.d.ts +0 -14
  652. package/dist/cjs/lib/users-management-context.d.ts.map +0 -1
  653. package/dist/cjs/lib/users-management-context.js +0 -70
  654. package/dist/cjs/lib/users-management-context.js.map +0 -1
  655. package/dist/cjs/lib/users-management-state.d.ts +0 -22
  656. package/dist/cjs/lib/users-management-state.d.ts.map +0 -1
  657. package/dist/cjs/lib/users-management-state.js +0 -143
  658. package/dist/cjs/lib/users-management-state.js.map +0 -1
  659. package/dist/cjs/lib/users-management.d.ts +0 -14
  660. package/dist/cjs/lib/users-management.d.ts.map +0 -1
  661. package/dist/cjs/lib/users-management.js +0 -201
  662. package/dist/cjs/lib/users-management.js.map +0 -1
  663. package/dist/cjs/lib/users-search.d.ts +0 -3
  664. package/dist/cjs/lib/users-search.d.ts.map +0 -1
  665. package/dist/cjs/lib/users-search.js +0 -63
  666. package/dist/cjs/lib/users-search.js.map +0 -1
  667. package/dist/cjs/lib/utils.d.ts +0 -26
  668. package/dist/cjs/lib/utils.d.ts.map +0 -1
  669. package/dist/cjs/lib/utils.js +0 -108
  670. package/dist/cjs/lib/utils.js.map +0 -1
  671. package/dist/cjs/lib/view-dns-record-dialog.d.ts +0 -12
  672. package/dist/cjs/lib/view-dns-record-dialog.d.ts.map +0 -1
  673. package/dist/cjs/lib/view-dns-record-dialog.js +0 -26
  674. package/dist/cjs/lib/view-dns-record-dialog.js.map +0 -1
  675. package/dist/cjs/lib/widgets-context.d.ts +0 -11
  676. package/dist/cjs/lib/widgets-context.d.ts.map +0 -1
  677. package/dist/cjs/lib/widgets-context.js +0 -45
  678. package/dist/cjs/lib/widgets-context.js.map +0 -1
  679. package/dist/cjs/organization-switcher.client.d.ts +0 -8
  680. package/dist/cjs/organization-switcher.client.d.ts.map +0 -1
  681. package/dist/cjs/organization-switcher.client.js +0 -38
  682. package/dist/cjs/organization-switcher.client.js.map +0 -1
  683. package/dist/cjs/user-profile.client.d.ts +0 -7
  684. package/dist/cjs/user-profile.client.d.ts.map +0 -1
  685. package/dist/cjs/user-profile.client.js +0 -32
  686. package/dist/cjs/user-profile.client.js.map +0 -1
  687. package/dist/cjs/user-security.client.d.ts +0 -7
  688. package/dist/cjs/user-security.client.d.ts.map +0 -1
  689. package/dist/cjs/user-security.client.js +0 -28
  690. package/dist/cjs/user-security.client.js.map +0 -1
  691. package/dist/cjs/user-sessions.client.d.ts +0 -12
  692. package/dist/cjs/user-sessions.client.d.ts.map +0 -1
  693. package/dist/cjs/user-sessions.client.js +0 -49
  694. package/dist/cjs/user-sessions.client.js.map +0 -1
  695. package/dist/cjs/users-management.client.d.ts +0 -7
  696. package/dist/cjs/users-management.client.d.ts.map +0 -1
  697. package/dist/cjs/users-management.client.js +0 -41
  698. package/dist/cjs/users-management.client.js.map +0 -1
  699. package/dist/cjs/workos-widgets.client.d.ts.map +0 -1
  700. package/dist/cjs/workos-widgets.client.js +0 -80
  701. package/dist/cjs/workos-widgets.client.js.map +0 -1
  702. package/dist/esm/admin-portal-domain-verification.client.d.ts.map +0 -1
  703. package/dist/esm/admin-portal-sso-connection-client.d.ts.map +0 -1
  704. package/dist/esm/api/api-provider.d.ts.map +0 -1
  705. package/dist/esm/api/constants.d.ts.map +0 -1
  706. package/dist/esm/api/endpoint.d.ts.map +0 -1
  707. package/dist/esm/api/errors.d.ts.map +0 -1
  708. package/dist/esm/api/utils.d.ts.map +0 -1
  709. package/dist/esm/api/widgets-api-client.d.ts.map +0 -1
  710. package/dist/esm/card-list.d.ts.map +0 -1
  711. package/dist/esm/index.d.ts.map +0 -1
  712. package/dist/esm/lib/add-mfa-dialog.d.ts.map +0 -1
  713. package/dist/esm/lib/admin-portal-domain-verification.d.ts.map +0 -1
  714. package/dist/esm/lib/admin-portal-sso-connection.d.ts.map +0 -1
  715. package/dist/esm/lib/api/config.d.ts.map +0 -1
  716. package/dist/esm/lib/api/user.d.ts.map +0 -1
  717. package/dist/esm/lib/change-password-dialog.d.ts.map +0 -1
  718. package/dist/esm/lib/constants.d.ts.map +0 -1
  719. package/dist/esm/lib/copy-button.d.ts.map +0 -1
  720. package/dist/esm/lib/delete-domain-dialog.d.ts.map +0 -1
  721. package/dist/esm/lib/delete-user-dialog.d.ts.map +0 -1
  722. package/dist/esm/lib/domain-actions.d.ts.map +0 -1
  723. package/dist/esm/lib/domain-item.d.ts.map +0 -1
  724. package/dist/esm/lib/edit-user-profile-dialog.d.ts.map +0 -1
  725. package/dist/esm/lib/edit-user-role-dialog.d.ts.map +0 -1
  726. package/dist/esm/lib/elements.d.ts.map +0 -1
  727. package/dist/esm/lib/elevated-access.d.ts.map +0 -1
  728. package/dist/esm/lib/error-boundary.d.ts.map +0 -1
  729. package/dist/esm/lib/errors.d.ts.map +0 -1
  730. package/dist/esm/lib/generic-error.d.ts.map +0 -1
  731. package/dist/esm/lib/icon-panel.d.ts.map +0 -1
  732. package/dist/esm/lib/icons.d.ts.map +0 -1
  733. package/dist/esm/lib/identity-providers.d.ts.map +0 -1
  734. package/dist/esm/lib/invite-user-dialog.d.ts.map +0 -1
  735. package/dist/esm/lib/logout-all-sessions-dialog.d.ts.map +0 -1
  736. package/dist/esm/lib/logout-dialog.d.ts.map +0 -1
  737. package/dist/esm/lib/marker.d.ts.map +0 -1
  738. package/dist/esm/lib/name-server-icon.d.ts.map +0 -1
  739. package/dist/esm/lib/oauth-icons.d.ts.map +0 -1
  740. package/dist/esm/lib/organization-switcher.d.ts.map +0 -1
  741. package/dist/esm/lib/otp-input.d.ts.map +0 -1
  742. package/dist/esm/lib/provider-icon.d.ts.map +0 -1
  743. package/dist/esm/lib/resend-invite-dialog.d.ts.map +0 -1
  744. package/dist/esm/lib/reset-mfa-dialog.d.ts.map +0 -1
  745. package/dist/esm/lib/revoke-invite-dialog.d.ts.map +0 -1
  746. package/dist/esm/lib/save-button.d.ts.map +0 -1
  747. package/dist/esm/lib/search-provider.d.ts.map +0 -1
  748. package/dist/esm/lib/set-password-dialog.d.ts.map +0 -1
  749. package/dist/esm/lib/status.d.ts.map +0 -1
  750. package/dist/esm/lib/use-dialog-close.d.ts.map +0 -1
  751. package/dist/esm/lib/use-is-hydrated.d.ts.map +0 -1
  752. package/dist/esm/lib/use-layout-effect.d.ts.map +0 -1
  753. package/dist/esm/lib/use-permissions.d.ts.map +0 -1
  754. package/dist/esm/lib/use-security-settings.d.ts.map +0 -1
  755. package/dist/esm/lib/user-actions-dropdown.d.ts.map +0 -1
  756. package/dist/esm/lib/user-profile.d.ts.map +0 -1
  757. package/dist/esm/lib/user-security.d.ts.map +0 -1
  758. package/dist/esm/lib/user-sessions.d.ts.map +0 -1
  759. package/dist/esm/lib/users-filter.d.ts.map +0 -1
  760. package/dist/esm/lib/users-management-context.d.ts.map +0 -1
  761. package/dist/esm/lib/users-management-state.d.ts.map +0 -1
  762. package/dist/esm/lib/users-management.d.ts.map +0 -1
  763. package/dist/esm/lib/users-search.d.ts.map +0 -1
  764. package/dist/esm/lib/utils.d.ts.map +0 -1
  765. package/dist/esm/lib/view-dns-record-dialog.d.ts.map +0 -1
  766. package/dist/esm/lib/widgets-context.d.ts.map +0 -1
  767. package/dist/esm/organization-switcher.client.d.ts.map +0 -1
  768. package/dist/esm/user-profile.client.d.ts.map +0 -1
  769. package/dist/esm/user-security.client.d.ts.map +0 -1
  770. package/dist/esm/user-sessions.client.d.ts.map +0 -1
  771. package/dist/esm/users-management.client.d.ts.map +0 -1
  772. package/dist/esm/workos-widgets.client.d.ts.map +0 -1
  773. package/dist/tsconfig.cjs.tsbuildinfo +0 -1
  774. package/dist/tsconfig.esm.tsbuildinfo +0 -1
@@ -1,57 +1,171 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
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", truncateBehavior = "right", 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", overflow: "hidden", minWidth: "0", children: [_jsx(TruncatedOrganizationName, { organizationName: currentOrganization.name, truncateBehavior: truncateBehavior }), _jsx(Flex, { asChild: true, flexShrink: "0", children: _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: [_jsx(TruncatedOrganizationName, { organizationName: organization.name, truncateBehavior: truncateBehavior }), 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] })] }));
4
+ import {
5
+ Box,
6
+ Button,
7
+ ChevronDownIcon,
8
+ DropdownMenu,
9
+ Flex,
10
+ Skeleton,
11
+ Text,
12
+ VisuallyHidden
13
+ } from "@radix-ui/themes";
14
+ const OrganizationSwitcher = ({
15
+ organizations,
16
+ switchToOrganization,
17
+ variant = "outline",
18
+ organizationLabel = "Organizations",
19
+ truncateBehavior = "right",
20
+ children
21
+ }) => {
22
+ const currentOrganization = organizations.find(
23
+ (organization) => organization.current
24
+ );
25
+ if (!currentOrganization) {
26
+ return null;
27
+ }
28
+ return /* @__PURE__ */ jsxs(DropdownMenu.Root, { children: [
29
+ /* @__PURE__ */ jsx(DropdownMenu.Trigger, { children: /* @__PURE__ */ jsx(
30
+ Button,
31
+ {
32
+ color: "gray",
33
+ variant,
34
+ className: "OrganizationSwitcherTrigger",
35
+ children: /* @__PURE__ */ jsxs(
36
+ Flex,
37
+ {
38
+ align: "center",
39
+ justify: "between",
40
+ gap: "2",
41
+ flexGrow: "1",
42
+ overflow: "hidden",
43
+ minWidth: "0",
44
+ children: [
45
+ /* @__PURE__ */ jsx(
46
+ TruncatedOrganizationName,
47
+ {
48
+ organizationName: currentOrganization.name,
49
+ truncateBehavior
50
+ }
51
+ ),
52
+ /* @__PURE__ */ jsx(Flex, { asChild: true, flexShrink: "0", children: /* @__PURE__ */ jsx(DropdownMenu.TriggerIcon, {}) })
53
+ ]
54
+ }
55
+ )
56
+ }
57
+ ) }),
58
+ /* @__PURE__ */ jsxs(DropdownMenu.Content, { children: [
59
+ /* @__PURE__ */ jsxs(DropdownMenu.Group, { children: [
60
+ organizationLabel ? /* @__PURE__ */ jsx(DropdownMenu.Label, { children: /* @__PURE__ */ jsx(Text, { children: organizationLabel }) }) : null,
61
+ organizations.map((organization) => /* @__PURE__ */ jsx(
62
+ Flex,
63
+ {
64
+ asChild: true,
65
+ pr: "2",
66
+ maxWidth: "280px",
67
+ minWidth: "180px",
68
+ children: /* @__PURE__ */ jsx(
69
+ DropdownMenu.Item,
70
+ {
71
+ onClick: () => {
72
+ if (organization.id !== currentOrganization.id) {
73
+ switchToOrganization({ organizationId: organization.id });
74
+ }
75
+ },
76
+ children: /* @__PURE__ */ jsxs(
77
+ Flex,
78
+ {
79
+ justify: "between",
80
+ align: "center",
81
+ gap: "4",
82
+ flexGrow: "1",
83
+ overflow: "hidden",
84
+ children: [
85
+ /* @__PURE__ */ jsx(
86
+ TruncatedOrganizationName,
87
+ {
88
+ organizationName: organization.name,
89
+ truncateBehavior
90
+ }
91
+ ),
92
+ organization.current && /* @__PURE__ */ jsx(VisuallyHidden, { children: " (current)" }),
93
+ /* @__PURE__ */ jsx(
94
+ Flex,
95
+ {
96
+ "aria-hidden": true,
97
+ align: "center",
98
+ justify: "center",
99
+ flexShrink: "0",
100
+ children: organization.current ? /* @__PURE__ */ jsx(CheckIcon, { width: "18px", height: "18px" }) : (
101
+ // make the extra space for
102
+ /* @__PURE__ */ jsx(Box, { width: "18px", height: "18px" })
103
+ )
104
+ }
105
+ )
106
+ ]
107
+ }
108
+ )
109
+ }
110
+ )
111
+ },
112
+ organization.id
113
+ ))
114
+ ] }),
115
+ children
116
+ ] })
117
+ ] });
18
118
  };
19
- export function OrganizationSwitcherLoading({ variant = "outline", organizations, }) {
20
- const currentOrganization = organizations.find((organization) => organization.current);
21
- return (
119
+ const OrganizationSwitcherLoading = () => {
120
+ return (
22
121
  // 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;
122
+ /* @__PURE__ */ jsx(Button, { color: "gray", variant: "outline", disabled: true, children: /* @__PURE__ */ jsxs(Flex, { align: "center", gap: "2", children: [
123
+ /* @__PURE__ */ jsx(Skeleton, { children: /* @__PURE__ */ jsx(Text, { children: "Loading..." }) }),
124
+ /* @__PURE__ */ jsx(ChevronDownIcon, {})
125
+ ] }) })
126
+ );
127
+ };
128
+ function OrganizationSwitcherError(_) {
129
+ return null;
28
130
  }
29
131
  const MAX_TRUNCATED_SUFFIX_LENGTH = 10;
30
132
  const MIN_TRUNCATED_SUFFIX_LENGTH = 3;
31
133
  const WHITE_SPACE_REGEX = /\s/;
32
134
  const getSplitPosition = (organizationName) => {
33
- if (organizationName.length <= MAX_TRUNCATED_SUFFIX_LENGTH) {
34
- return organizationName.length;
35
- }
36
- for (let i = organizationName.length - MAX_TRUNCATED_SUFFIX_LENGTH; i < organizationName.length - MIN_TRUNCATED_SUFFIX_LENGTH; i++) {
37
- if (WHITE_SPACE_REGEX.test(organizationName[i - 1])) {
38
- return i;
39
- }
135
+ if (organizationName.length <= MAX_TRUNCATED_SUFFIX_LENGTH) {
136
+ return organizationName.length;
137
+ }
138
+ for (let i = organizationName.length - MAX_TRUNCATED_SUFFIX_LENGTH; i < organizationName.length - MIN_TRUNCATED_SUFFIX_LENGTH; i++) {
139
+ if (WHITE_SPACE_REGEX.test(organizationName[i - 1])) {
140
+ return i;
40
141
  }
41
- return organizationName.length - MAX_TRUNCATED_SUFFIX_LENGTH;
142
+ }
143
+ return organizationName.length - MAX_TRUNCATED_SUFFIX_LENGTH;
42
144
  };
43
145
  const splitOrganizationName = (organizationName) => {
44
- const splitPosition = getSplitPosition(organizationName);
45
- return [
46
- organizationName.slice(0, splitPosition),
47
- organizationName.slice(splitPosition),
48
- ];
146
+ const splitPosition = getSplitPosition(organizationName);
147
+ return [
148
+ organizationName.slice(0, splitPosition),
149
+ organizationName.slice(splitPosition)
150
+ ];
49
151
  };
50
- const TruncatedOrganizationName = ({ organizationName, truncateBehavior, }) => {
51
- if (truncateBehavior === "right") {
52
- return _jsx(Text, { truncate: true, children: organizationName });
53
- }
54
- const [organizationNameLeft, organizationNameRight] = splitOrganizationName(organizationName);
55
- return (_jsxs(Flex, { overflow: "hidden", children: [_jsx(VisuallyHidden, { children: _jsx(Text, { children: organizationName }) }), _jsx(Text, { "aria-hidden": true, truncate: true, style: { whiteSpace: "pre" }, children: organizationNameLeft }), _jsx(Text, { "aria-hidden": true, children: organizationNameRight })] }));
152
+ const TruncatedOrganizationName = ({
153
+ organizationName,
154
+ truncateBehavior
155
+ }) => {
156
+ if (truncateBehavior === "right") {
157
+ return /* @__PURE__ */ jsx(Text, { truncate: true, children: organizationName });
158
+ }
159
+ const [organizationNameLeft, organizationNameRight] = splitOrganizationName(organizationName);
160
+ return /* @__PURE__ */ jsxs(Flex, { overflow: "hidden", children: [
161
+ /* @__PURE__ */ jsx(VisuallyHidden, { children: /* @__PURE__ */ jsx(Text, { children: organizationName }) }),
162
+ /* @__PURE__ */ jsx(Text, { "aria-hidden": true, truncate: true, style: { whiteSpace: "pre" }, children: organizationNameLeft }),
163
+ /* @__PURE__ */ jsx(Text, { "aria-hidden": true, children: organizationNameRight })
164
+ ] });
165
+ };
166
+ export {
167
+ OrganizationSwitcher,
168
+ OrganizationSwitcherError,
169
+ OrganizationSwitcherLoading
56
170
  };
57
171
  //# sourceMappingURL=organization-switcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"organization-switcher.js","sourceRoot":"","sources":["../../../src/lib/organization-switcher.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/lib/organization-switcher.tsx"],"sourcesContent":["\"use client\";\n\nimport { CheckIcon } from \"@radix-ui/react-icons\";\nimport {\n Box,\n Button,\n ChevronDownIcon,\n DropdownMenu,\n Flex,\n Skeleton,\n Text,\n VisuallyHidden,\n} from \"@radix-ui/themes\";\nimport {\n OrganizationInfo,\n Organizations403,\n Organizations404,\n} from \"../api/endpoint.js\";\n\ntype OrganizationSwitcherVariant = \"ghost\" | \"outline\";\n\n// Rename all uses of `org` to `organization`\nexport type OrganizationSwitcherPassthroughProps = {\n switchToOrganization: ({\n organizationId,\n }: {\n organizationId: string;\n }) => void;\n // Simple props to affect the overall style\n variant?: OrganizationSwitcherVariant;\n organizationLabel?: string | null;\n children?: React.ReactNode;\n /**\n * Choose where to truncate organization name in the trigger and dropdown\n * items.\n *\n * - `right`: Truncate the right side of the organization name\n * - `middle`: Truncate the middle of the organization name, trying to keep\n * words whole\n */\n truncateBehavior?: \"right\" | \"middle\";\n};\n\nexport interface OrganizationSwitcherProps\n extends OrganizationSwitcherPassthroughProps {\n organizations: OrganizationInfo[];\n}\n\nexport const OrganizationSwitcher = ({\n organizations,\n switchToOrganization,\n variant = \"outline\",\n organizationLabel = \"Organizations\",\n truncateBehavior = \"right\",\n children,\n}: OrganizationSwitcherProps) => {\n const currentOrganization = organizations.find(\n (organization) => organization.current,\n );\n\n // Possible if the user has no organizations - we should figure out what to do in this case\n if (!currentOrganization) {\n return null;\n }\n\n return (\n <DropdownMenu.Root>\n <DropdownMenu.Trigger>\n <Button\n color=\"gray\"\n variant={variant}\n className=\"OrganizationSwitcherTrigger\"\n >\n <Flex\n align=\"center\"\n justify=\"between\"\n gap=\"2\"\n flexGrow=\"1\"\n overflow=\"hidden\"\n minWidth=\"0\"\n >\n <TruncatedOrganizationName\n organizationName={currentOrganization.name}\n truncateBehavior={truncateBehavior}\n />\n <Flex asChild flexShrink=\"0\">\n <DropdownMenu.TriggerIcon />\n </Flex>\n </Flex>\n </Button>\n </DropdownMenu.Trigger>\n <DropdownMenu.Content>\n <DropdownMenu.Group>\n {organizationLabel ? (\n <DropdownMenu.Label>\n <Text>{organizationLabel}</Text>\n </DropdownMenu.Label>\n ) : null}\n {organizations.map((organization) => (\n <Flex\n key={organization.id}\n asChild\n pr=\"2\"\n maxWidth=\"280px\"\n minWidth=\"180px\"\n >\n <DropdownMenu.Item\n onClick={() => {\n if (organization.id !== currentOrganization.id) {\n switchToOrganization({ organizationId: organization.id });\n }\n }}\n >\n <Flex\n justify=\"between\"\n align=\"center\"\n gap=\"4\"\n flexGrow=\"1\"\n overflow=\"hidden\"\n >\n <TruncatedOrganizationName\n organizationName={organization.name}\n truncateBehavior={truncateBehavior}\n />\n {organization.current && (\n <VisuallyHidden> (current)</VisuallyHidden>\n )}\n <Flex\n aria-hidden\n align=\"center\"\n justify=\"center\"\n flexShrink=\"0\"\n >\n {organization.current ? (\n <CheckIcon width=\"18px\" height=\"18px\" />\n ) : (\n // make the extra space for\n <Box width=\"18px\" height=\"18px\" />\n )}\n </Flex>\n </Flex>\n </DropdownMenu.Item>\n </Flex>\n ))}\n </DropdownMenu.Group>\n {children}\n </DropdownMenu.Content>\n </DropdownMenu.Root>\n );\n};\n\nexport const OrganizationSwitcherLoading: React.FC = () => {\n return (\n // Always need DropdownMenu.Root to wrap children than may include\n <Button color=\"gray\" variant=\"outline\" disabled>\n <Flex align=\"center\" gap=\"2\">\n <Skeleton>\n <Text>Loading...</Text>\n </Skeleton>\n <ChevronDownIcon />\n </Flex>\n </Button>\n );\n};\n\ninterface OrganizationSwitcherErrorProps {\n error: Organizations403 | Organizations404;\n}\n\nexport function OrganizationSwitcherError(_: OrganizationSwitcherErrorProps) {\n // TODO: consider other error state options\n return null;\n}\n\nconst MAX_TRUNCATED_SUFFIX_LENGTH = 10;\nconst MIN_TRUNCATED_SUFFIX_LENGTH = 3;\n\nconst WHITE_SPACE_REGEX = /\\s/;\n\nconst getSplitPosition = (organizationName: string) => {\n if (organizationName.length <= MAX_TRUNCATED_SUFFIX_LENGTH) {\n return organizationName.length;\n }\n\n for (\n let i = organizationName.length - MAX_TRUNCATED_SUFFIX_LENGTH;\n i < organizationName.length - MIN_TRUNCATED_SUFFIX_LENGTH;\n i++\n ) {\n if (WHITE_SPACE_REGEX.test(organizationName[i - 1])) {\n return i;\n }\n }\n\n return organizationName.length - MAX_TRUNCATED_SUFFIX_LENGTH;\n};\n\nconst splitOrganizationName = (organizationName: string) => {\n const splitPosition = getSplitPosition(organizationName);\n return [\n organizationName.slice(0, splitPosition),\n organizationName.slice(splitPosition),\n ];\n};\n\nconst TruncatedOrganizationName = ({\n organizationName,\n truncateBehavior,\n}: {\n organizationName: string;\n truncateBehavior: \"right\" | \"middle\";\n}) => {\n if (truncateBehavior === \"right\") {\n return <Text truncate>{organizationName}</Text>;\n }\n\n const [organizationNameLeft, organizationNameRight] =\n splitOrganizationName(organizationName);\n\n return (\n <Flex overflow=\"hidden\">\n <VisuallyHidden>\n <Text>{organizationName}</Text>\n </VisuallyHidden>\n <Text aria-hidden truncate style={{ whiteSpace: \"pre\" }}>\n {organizationNameLeft}\n </Text>\n <Text aria-hidden>{organizationNameRight}</Text>\n </Flex>\n );\n};\n"],"mappings":"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","names":[]}
@@ -1,6 +1,8 @@
1
- import { Grid } from "@radix-ui/themes";
2
- import * as React from "react";
3
- import { TextField } from "./elements.js";
1
+ import { Grid } from '@radix-ui/themes';
2
+ import * as React from 'react';
3
+ import { TextField } from './elements.js';
4
+ import '@radix-ui/themes/props';
5
+
4
6
  type OtpRootProps = React.ComponentPropsWithoutRef<typeof Grid> & {
5
7
  onValueChange?: (value: string) => void;
6
8
  id?: string;
@@ -11,10 +13,10 @@ type OtpRootProps = React.ComponentPropsWithoutRef<typeof Grid> & {
11
13
  defaultValue?: string;
12
14
  autoSubmit?: boolean;
13
15
  };
14
- export declare const Root: React.ForwardRefExoticComponent<OtpRootProps & React.RefAttributes<HTMLInputElement>>;
16
+ declare const Root: React.ForwardRefExoticComponent<OtpRootProps & React.RefAttributes<HTMLInputElement>>;
15
17
  interface InputProps extends React.ComponentProps<typeof TextField> {
16
18
  autoComplete?: "one-time-code" | "off";
17
19
  }
18
- export declare const Input: React.ForwardRefExoticComponent<Omit<InputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
19
- export {};
20
- //# sourceMappingURL=otp-input.d.ts.map
20
+ declare const Input: React.ForwardRefExoticComponent<Omit<InputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
21
+
22
+ export { Input, Root };
@@ -1,62 +1,84 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import { composeRefs, useComposedRefs } from "@radix-ui/react-compose-refs";
4
4
  import { useControllableState } from "@radix-ui/react-use-controllable-state";
5
5
  import * as Form from "@radix-ui/react-form";
6
6
  import { Grid } from "@radix-ui/themes";
7
7
  import * as React from "react";
8
8
  import { TextField } from "./elements.js";
9
- const OtpContext = React.createContext(undefined);
10
- export const Root = React.forwardRef(function Root({ name, id, defaultValue, value: valueProp, onValueChange, autoSubmit, children, readOnly, state, ...gridProps }, forwardedRef) {
9
+ const OtpContext = React.createContext(void 0);
10
+ const Root = React.forwardRef(
11
+ function Root2({
12
+ name,
13
+ id,
14
+ defaultValue,
15
+ value: valueProp,
16
+ onValueChange,
17
+ autoSubmit,
18
+ children,
19
+ readOnly,
20
+ state,
21
+ ...gridProps
22
+ }, forwardedRef) {
11
23
  const [lastCharIndex, setLastCharIndex] = React.useState(0);
12
24
  const [allChildrenAdded, setAllChildrenAdded] = React.useState(false);
13
25
  const childCount = React.Children.count(children);
14
26
  const [value, setValue] = useControllableState({
15
- prop: getValueAsArray(valueProp, childCount),
16
- defaultProp: getValueAsArray(defaultValue, childCount),
17
- onChange: (value) => onValueChange?.(value.join("")),
27
+ prop: getValueAsArray(valueProp, childCount),
28
+ defaultProp: getValueAsArray(defaultValue, childCount),
29
+ onChange: (value2) => onValueChange?.(value2.join(""))
18
30
  });
19
31
  const hiddenInputRef = React.useRef(null);
20
32
  const childrenRefs = React.useRef([]);
21
- const attemptAutoSubmit = React.useCallback((enterPressed = false) => {
22
- if (autoSubmit &&
23
- value &&
24
- value.every((char) => char !== "") &&
25
- (enterPressed || lastCharIndex + 1 === childCount)) {
26
- hiddenInputRef.current?.form?.requestSubmit();
33
+ const attemptAutoSubmit = React.useCallback(
34
+ (enterPressed = false) => {
35
+ if (autoSubmit && value && value.every((char) => char !== "") && (enterPressed || lastCharIndex + 1 === childCount)) {
36
+ hiddenInputRef.current?.form?.requestSubmit();
27
37
  }
28
- }, [value, childCount, lastCharIndex, autoSubmit]);
29
- const handleEnterPressed = React.useCallback(() => attemptAutoSubmit(true), [attemptAutoSubmit]);
30
- const handleChildAdd = React.useCallback((input) => {
38
+ },
39
+ [value, childCount, lastCharIndex, autoSubmit]
40
+ );
41
+ const handleEnterPressed = React.useCallback(
42
+ () => attemptAutoSubmit(true),
43
+ [attemptAutoSubmit]
44
+ );
45
+ const handleChildAdd = React.useCallback(
46
+ (input) => {
31
47
  if (input) {
32
- input.dataset.index = `${childrenRefs.current.length}`;
33
- childrenRefs.current.push(input);
34
- }
35
- else {
36
- childrenRefs.current.pop();
48
+ input.dataset.index = `${childrenRefs.current.length}`;
49
+ childrenRefs.current.push(input);
50
+ } else {
51
+ childrenRefs.current.pop();
37
52
  }
38
53
  if (childrenRefs.current.length === childCount) {
39
- setAllChildrenAdded(true);
54
+ setAllChildrenAdded(true);
40
55
  }
41
- }, [childCount]);
42
- const handleCharChange = React.useCallback((char, index) => {
56
+ },
57
+ [childCount]
58
+ );
59
+ const handleCharChange = React.useCallback(
60
+ (char, index) => {
43
61
  setValue((previousValue) => {
44
- const arrayToCopy = previousValue ?? createEmptyArray(childCount);
45
- const newValue = [...arrayToCopy];
46
- newValue[index] = char;
47
- return newValue;
62
+ const arrayToCopy = previousValue ?? createEmptyArray(childCount);
63
+ const newValue = [...arrayToCopy];
64
+ newValue[index] = char;
65
+ return newValue;
48
66
  });
49
67
  setLastCharIndex(index);
50
- }, [childCount, setValue]);
51
- const otpContext = React.useMemo(() => ({
68
+ },
69
+ [childCount, setValue]
70
+ );
71
+ const otpContext = React.useMemo(
72
+ () => ({
52
73
  value: value ?? createEmptyArray(childCount),
53
74
  readOnly,
54
75
  state,
55
76
  allChildrenAdded,
56
77
  onEnterPressed: handleEnterPressed,
57
78
  onChildAdd: handleChildAdd,
58
- onCharChange: handleCharChange,
59
- }), [
79
+ onCharChange: handleCharChange
80
+ }),
81
+ [
60
82
  value,
61
83
  allChildrenAdded,
62
84
  readOnly,
@@ -64,85 +86,126 @@ export const Root = React.forwardRef(function Root({ name, id, defaultValue, val
64
86
  childCount,
65
87
  handleEnterPressed,
66
88
  handleChildAdd,
67
- handleCharChange,
68
- ]);
89
+ handleCharChange
90
+ ]
91
+ );
69
92
  React.useEffect(attemptAutoSubmit, [attemptAutoSubmit]);
70
- return (_jsx(OtpContext.Provider, { value: otpContext, children: _jsxs(Grid, { columns: `repeat(${childCount}, 1fr)`, ...gridProps, onPaste: (event) => {
71
- event.preventDefault();
72
- const pastedValue = event.clipboardData.getData("Text");
73
- const sanitizedValue = pastedValue
74
- .replace(/[^\d]/g, "")
75
- .slice(0, childCount);
76
- const value = sanitizedValue
77
- .padEnd(childCount, "#")
78
- .split("")
79
- .map((char) => (char === "#" ? "" : char));
80
- setValue(value);
81
- setLastCharIndex(sanitizedValue.length - 1);
82
- const index = Math.min(sanitizedValue.length, childCount - 1);
83
- childrenRefs.current?.[index]?.focus();
84
- }, children: [children, _jsx("input", { ref: composeRefs(forwardedRef, hiddenInputRef), defaultValue: value?.join(""), minLength: childCount, name: name, type: "hidden" })] }) }));
85
- });
86
- export const Input = React.forwardRef(function Input({ style, readOnly, autoComplete = "off", ...props }, forwardedRef) {
93
+ return /* @__PURE__ */ jsx(OtpContext.Provider, { value: otpContext, children: /* @__PURE__ */ jsxs(
94
+ Grid,
95
+ {
96
+ columns: `repeat(${childCount}, 1fr)`,
97
+ ...gridProps,
98
+ onPaste: (event) => {
99
+ event.preventDefault();
100
+ const pastedValue = event.clipboardData.getData("Text");
101
+ const sanitizedValue = pastedValue.replace(/[^\d]/g, "").slice(0, childCount);
102
+ const value2 = sanitizedValue.padEnd(childCount, "#").split("").map((char) => char === "#" ? "" : char);
103
+ setValue(value2);
104
+ setLastCharIndex(sanitizedValue.length - 1);
105
+ const index = Math.min(sanitizedValue.length, childCount - 1);
106
+ childrenRefs.current?.[index]?.focus();
107
+ },
108
+ children: [
109
+ children,
110
+ /* @__PURE__ */ jsx(
111
+ "input",
112
+ {
113
+ ref: composeRefs(forwardedRef, hiddenInputRef),
114
+ defaultValue: value?.join(""),
115
+ minLength: childCount,
116
+ name,
117
+ type: "hidden"
118
+ }
119
+ )
120
+ ]
121
+ }
122
+ ) });
123
+ }
124
+ );
125
+ const Input = React.forwardRef(
126
+ function Input2({ style, readOnly, autoComplete = "off", ...props }, forwardedRef) {
87
127
  const otpContext = useOptContext();
88
128
  const inputRef = React.useRef(null);
89
- const composedInputRef = useComposedRefs(forwardedRef, inputRef, otpContext.onChildAdd);
129
+ const composedInputRef = useComposedRefs(
130
+ forwardedRef,
131
+ inputRef,
132
+ otpContext.onChildAdd
133
+ );
90
134
  const index = Number(inputRef.current?.dataset.index ?? -1);
91
135
  const char = otpContext.value[index] ?? "";
92
- return (_jsx(Form.Field, { name: `otp-${index}`, asChild: true, children: _jsx(Form.Control, { asChild: true, children: _jsx(TextField, { ref: composedInputRef, autoComplete: index === 0 ? autoComplete : "off", color: otpContext.state === "invalid" ? "red" : undefined, inputMode: "numeric", maxLength: 1, pattern: "\\d{1}", readOnly: readOnly ?? otpContext.readOnly, size: "3", value: char, variant: otpContext.state === "invalid" ? "soft" : undefined, style: {
93
- ...style,
94
- height: "auto",
95
- "--text-field-padding": 0,
96
- textAlign: "center",
97
- }, onChange: (event) => {
98
- // Only update the value if it matches the input pattern (number only)
99
- if (event.target.validity.valid) {
100
- const char = event.target.value;
101
- const index = Number(event.target.dataset.index ?? -1);
102
- otpContext.onCharChange(char, index);
103
- if (char !== "") {
104
- focusSibling(event.currentTarget, { back: char === "" });
105
- }
106
- }
107
- }, onKeyDown: (event) => {
108
- if (event.key === "ArrowLeft") {
109
- focusSibling(event.currentTarget, { back: true });
110
- event.preventDefault();
111
- }
112
- else if (event.key === "ArrowRight") {
113
- focusSibling(event.currentTarget);
114
- event.preventDefault();
115
- }
116
- else if (event.key === "Backspace" && char === "") {
117
- focusSibling(event.currentTarget, { back: true });
118
- }
119
- else if (event.key === "Enter" && char !== "") {
120
- otpContext.onEnterPressed();
121
- }
122
- }, ...props }) }) }));
123
- });
136
+ return /* @__PURE__ */ jsx(Form.Field, { name: `otp-${index}`, asChild: true, children: /* @__PURE__ */ jsx(Form.Control, { asChild: true, children: /* @__PURE__ */ jsx(
137
+ TextField,
138
+ {
139
+ ref: composedInputRef,
140
+ autoComplete: index === 0 ? autoComplete : "off",
141
+ color: otpContext.state === "invalid" ? "red" : void 0,
142
+ inputMode: "numeric",
143
+ maxLength: 1,
144
+ pattern: "\\d{1}",
145
+ readOnly: readOnly ?? otpContext.readOnly,
146
+ size: "3",
147
+ value: char,
148
+ variant: otpContext.state === "invalid" ? "soft" : void 0,
149
+ style: {
150
+ ...style,
151
+ height: "auto",
152
+ "--text-field-padding": 0,
153
+ textAlign: "center"
154
+ },
155
+ onChange: (event) => {
156
+ if (event.target.validity.valid) {
157
+ const char2 = event.target.value;
158
+ const index2 = Number(event.target.dataset.index ?? -1);
159
+ otpContext.onCharChange(char2, index2);
160
+ if (char2 !== "") {
161
+ focusSibling(event.currentTarget, { back: char2 === "" });
162
+ }
163
+ }
164
+ },
165
+ onKeyDown: (event) => {
166
+ if (event.key === "ArrowLeft") {
167
+ focusSibling(event.currentTarget, { back: true });
168
+ event.preventDefault();
169
+ } else if (event.key === "ArrowRight") {
170
+ focusSibling(event.currentTarget);
171
+ event.preventDefault();
172
+ } else if (event.key === "Backspace" && char === "") {
173
+ focusSibling(event.currentTarget, { back: true });
174
+ } else if (event.key === "Enter" && char !== "") {
175
+ otpContext.onEnterPressed();
176
+ }
177
+ },
178
+ ...props
179
+ }
180
+ ) }) });
181
+ }
182
+ );
124
183
  const useOptContext = () => {
125
- const optContext = React.useContext(OtpContext);
126
- if (!optContext) {
127
- throw new Error("OtpInput compound components cannot be rendered outside the OtpRoot component");
128
- }
129
- return optContext;
184
+ const optContext = React.useContext(OtpContext);
185
+ if (!optContext) {
186
+ throw new Error(
187
+ "OtpInput compound components cannot be rendered outside the OtpRoot component"
188
+ );
189
+ }
190
+ return optContext;
130
191
  };
131
192
  function focusSibling(input, { back = false } = {}) {
132
- const sibling = back
133
- ? input.parentElement?.previousSibling
134
- : input.parentElement?.nextSibling;
135
- const siblingInput = sibling?.firstChild;
136
- if (siblingInput && siblingInput instanceof HTMLInputElement) {
137
- siblingInput?.focus();
138
- siblingInput?.select();
139
- }
193
+ const sibling = back ? input.parentElement?.previousSibling : input.parentElement?.nextSibling;
194
+ const siblingInput = sibling?.firstChild;
195
+ if (siblingInput && siblingInput instanceof HTMLInputElement) {
196
+ siblingInput?.focus();
197
+ siblingInput?.select();
198
+ }
140
199
  }
141
200
  const getValueAsArray = (value, length) => {
142
- if (!value) {
143
- return undefined;
144
- }
145
- return createEmptyArray(length).map((_, index) => value?.[index] ?? "");
201
+ if (!value) {
202
+ return void 0;
203
+ }
204
+ return createEmptyArray(length).map((_, index) => value?.[index] ?? "");
146
205
  };
147
206
  const createEmptyArray = (length) => Array.from({ length }).fill("");
207
+ export {
208
+ Input,
209
+ Root
210
+ };
148
211
  //# sourceMappingURL=otp-input.js.map