@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.
- package/CHANGELOG.md +40 -0
- package/dist/cjs/admin-portal-domain-verification.client.cjs +115 -0
- package/dist/cjs/admin-portal-domain-verification.client.cjs.map +1 -0
- package/dist/cjs/admin-portal-domain-verification.client.d.cts +14 -0
- package/dist/cjs/admin-portal-sso-connection-client.cjs +269 -0
- package/dist/cjs/admin-portal-sso-connection-client.cjs.map +1 -0
- package/dist/cjs/admin-portal-sso-connection-client.d.cts +12 -0
- package/dist/cjs/api/api-provider.cjs +118 -0
- package/dist/cjs/api/api-provider.cjs.map +1 -0
- package/dist/cjs/api/api-provider.d.cts +31 -0
- package/dist/cjs/api/constants.cjs +29 -0
- package/dist/cjs/api/constants.cjs.map +1 -0
- package/dist/cjs/api/constants.d.cts +3 -0
- package/dist/cjs/api/endpoint.cjs +1252 -0
- package/dist/cjs/api/endpoint.cjs.map +1 -0
- package/dist/cjs/api/endpoint.d.cts +1302 -0
- package/dist/cjs/api/errors.cjs +57 -0
- package/dist/cjs/api/errors.cjs.map +1 -0
- package/dist/cjs/api/{errors.d.ts → errors.d.cts} +5 -5
- package/dist/cjs/api/utils.cjs +68 -0
- package/dist/cjs/api/utils.cjs.map +1 -0
- package/dist/cjs/api/utils.d.cts +11 -0
- package/dist/cjs/api/widgets-api-client.cjs +86 -0
- package/dist/cjs/api/widgets-api-client.cjs.map +1 -0
- package/dist/cjs/api/{widgets-api-client.d.ts → widgets-api-client.d.cts} +8 -7
- package/dist/cjs/card-list.cjs +47 -0
- package/dist/cjs/card-list.cjs.map +1 -0
- package/dist/cjs/card-list.d.cts +9 -0
- package/dist/cjs/index.cjs +64 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/index.d.cts +25 -0
- package/dist/cjs/lib/add-mfa-dialog.cjs +335 -0
- package/dist/cjs/lib/add-mfa-dialog.cjs.map +1 -0
- package/dist/cjs/lib/add-mfa-dialog.d.cts +11 -0
- package/dist/cjs/lib/admin-portal-domain-verification.cjs +126 -0
- package/dist/cjs/lib/admin-portal-domain-verification.cjs.map +1 -0
- package/dist/cjs/lib/admin-portal-domain-verification.d.cts +20 -0
- package/dist/cjs/lib/admin-portal-sso-connection.cjs +334 -0
- package/dist/cjs/lib/admin-portal-sso-connection.cjs.map +1 -0
- package/dist/cjs/lib/admin-portal-sso-connection.d.cts +42 -0
- package/dist/cjs/lib/api/config.cjs +38 -0
- package/dist/cjs/lib/api/config.cjs.map +1 -0
- package/dist/cjs/lib/api/{config.d.ts → config.d.cts} +4 -3
- package/dist/cjs/lib/api/user.cjs +113 -0
- package/dist/cjs/lib/api/user.cjs.map +1 -0
- package/dist/cjs/lib/api/user.d.cts +26 -0
- package/dist/cjs/lib/change-password-dialog.cjs +238 -0
- package/dist/cjs/lib/change-password-dialog.cjs.map +1 -0
- package/dist/cjs/lib/change-password-dialog.d.cts +10 -0
- package/dist/cjs/lib/constants.cjs +35 -0
- package/dist/cjs/lib/constants.cjs.map +1 -0
- package/dist/cjs/lib/constants.d.cts +5 -0
- package/dist/cjs/lib/copy-button.cjs +74 -0
- package/dist/cjs/lib/copy-button.cjs.map +1 -0
- package/dist/cjs/lib/copy-button.d.cts +9 -0
- package/dist/cjs/lib/delete-domain-dialog.cjs +72 -0
- package/dist/cjs/lib/delete-domain-dialog.cjs.map +1 -0
- package/dist/cjs/lib/delete-domain-dialog.d.cts +16 -0
- package/dist/cjs/lib/delete-user-dialog.cjs +96 -0
- package/dist/cjs/lib/delete-user-dialog.cjs.map +1 -0
- package/dist/cjs/lib/delete-user-dialog.d.cts +16 -0
- package/dist/cjs/lib/domain-actions.cjs +89 -0
- package/dist/cjs/lib/domain-actions.cjs.map +1 -0
- package/dist/cjs/lib/domain-actions.d.cts +13 -0
- package/dist/cjs/lib/domain-item.cjs +86 -0
- package/dist/cjs/lib/domain-item.cjs.map +1 -0
- package/dist/cjs/lib/domain-item.d.cts +13 -0
- package/dist/cjs/lib/edit-user-profile-dialog.cjs +170 -0
- package/dist/cjs/lib/edit-user-profile-dialog.cjs.map +1 -0
- package/dist/cjs/lib/edit-user-profile-dialog.d.cts +14 -0
- package/dist/cjs/lib/edit-user-role-dialog.cjs +321 -0
- package/dist/cjs/lib/edit-user-role-dialog.cjs.map +1 -0
- package/dist/cjs/lib/edit-user-role-dialog.d.cts +27 -0
- package/dist/cjs/lib/elements.cjs +396 -0
- package/dist/cjs/lib/elements.cjs.map +1 -0
- package/dist/cjs/lib/elements.d.cts +47 -0
- package/dist/cjs/lib/elevated-access.cjs +208 -0
- package/dist/cjs/lib/elevated-access.cjs.map +1 -0
- package/dist/cjs/lib/elevated-access.d.cts +10 -0
- package/dist/cjs/lib/error-boundary.cjs +115 -0
- package/dist/cjs/lib/error-boundary.cjs.map +1 -0
- package/dist/cjs/lib/{error-boundary.d.ts → error-boundary.d.cts} +13 -11
- package/dist/cjs/lib/errors.cjs +66 -0
- package/dist/cjs/lib/errors.cjs.map +1 -0
- package/dist/cjs/lib/{errors.d.ts → errors.d.cts} +6 -6
- package/dist/cjs/lib/generic-error.cjs +109 -0
- package/dist/cjs/lib/generic-error.cjs.map +1 -0
- package/dist/cjs/lib/generic-error.d.cts +7 -0
- package/dist/cjs/lib/icon-panel.cjs +53 -0
- package/dist/cjs/lib/icon-panel.cjs.map +1 -0
- package/dist/cjs/lib/icon-panel.d.cts +8 -0
- package/dist/cjs/lib/icons.cjs +51 -0
- package/dist/cjs/lib/icons.cjs.map +1 -0
- package/dist/cjs/lib/icons.d.cts +6 -0
- package/dist/cjs/lib/identity-providers.cjs +95 -0
- package/dist/cjs/lib/identity-providers.cjs.map +1 -0
- package/dist/cjs/lib/{identity-providers.d.ts → identity-providers.d.cts} +5 -5
- package/dist/cjs/lib/invite-user-dialog.cjs +277 -0
- package/dist/cjs/lib/invite-user-dialog.cjs.map +1 -0
- package/dist/cjs/lib/invite-user-dialog.d.cts +9 -0
- package/dist/cjs/lib/logout-all-sessions-dialog.cjs +97 -0
- package/dist/cjs/lib/logout-all-sessions-dialog.cjs.map +1 -0
- package/dist/cjs/lib/logout-all-sessions-dialog.d.cts +11 -0
- package/dist/cjs/lib/logout-dialog.cjs +109 -0
- package/dist/cjs/lib/logout-dialog.cjs.map +1 -0
- package/dist/cjs/lib/logout-dialog.d.cts +14 -0
- package/dist/cjs/lib/marker.cjs +56 -0
- package/dist/cjs/lib/marker.cjs.map +1 -0
- package/dist/cjs/lib/{marker.d.ts → marker.d.cts} +7 -6
- package/dist/cjs/lib/name-server-icon.cjs +101 -0
- package/dist/cjs/lib/name-server-icon.cjs.map +1 -0
- package/dist/cjs/lib/name-server-icon.d.cts +11 -0
- package/dist/cjs/lib/oauth-icons.cjs +175 -0
- package/dist/cjs/lib/oauth-icons.cjs.map +1 -0
- package/dist/cjs/lib/oauth-icons.d.cts +6 -0
- package/dist/cjs/lib/organization-switcher.cjs +188 -0
- package/dist/cjs/lib/organization-switcher.cjs.map +1 -0
- package/dist/cjs/lib/{organization-switcher.d.ts → organization-switcher.d.cts} +12 -11
- package/dist/cjs/lib/otp-input.cjs +246 -0
- package/dist/cjs/lib/otp-input.cjs.map +1 -0
- package/dist/cjs/lib/otp-input.d.cts +22 -0
- package/dist/cjs/lib/provider-icon.cjs +69 -0
- package/dist/cjs/lib/provider-icon.cjs.map +1 -0
- package/dist/cjs/lib/{provider-icon.d.ts → provider-icon.d.cts} +5 -4
- package/dist/cjs/lib/resend-invite-dialog.cjs +149 -0
- package/dist/cjs/lib/resend-invite-dialog.cjs.map +1 -0
- package/dist/cjs/lib/resend-invite-dialog.d.cts +14 -0
- package/dist/cjs/lib/reset-mfa-dialog.cjs +111 -0
- package/dist/cjs/lib/reset-mfa-dialog.cjs.map +1 -0
- package/dist/cjs/lib/reset-mfa-dialog.d.cts +11 -0
- package/dist/cjs/lib/revoke-invite-dialog.cjs +103 -0
- package/dist/cjs/lib/revoke-invite-dialog.cjs.map +1 -0
- package/dist/cjs/lib/revoke-invite-dialog.d.cts +14 -0
- package/dist/cjs/lib/save-button.cjs +119 -0
- package/dist/cjs/lib/save-button.cjs.map +1 -0
- package/dist/cjs/lib/save-button.d.cts +13 -0
- package/dist/cjs/lib/search-provider.cjs +79 -0
- package/dist/cjs/lib/search-provider.cjs.map +1 -0
- package/dist/cjs/lib/search-provider.d.cts +12 -0
- package/dist/cjs/lib/set-password-dialog.cjs +165 -0
- package/dist/cjs/lib/set-password-dialog.cjs.map +1 -0
- package/dist/cjs/lib/set-password-dialog.d.cts +10 -0
- package/dist/cjs/lib/status.cjs +72 -0
- package/dist/cjs/lib/status.cjs.map +1 -0
- package/dist/cjs/lib/status.d.cts +11 -0
- package/dist/cjs/lib/use-dialog-close.cjs +53 -0
- package/dist/cjs/lib/use-dialog-close.cjs.map +1 -0
- package/dist/cjs/lib/use-dialog-close.d.cts +3 -0
- package/dist/cjs/lib/use-is-hydrated.cjs +50 -0
- package/dist/cjs/lib/use-is-hydrated.cjs.map +1 -0
- package/dist/cjs/lib/use-is-hydrated.d.cts +3 -0
- package/dist/cjs/lib/use-layout-effect.cjs +31 -0
- package/dist/cjs/lib/use-layout-effect.cjs.map +1 -0
- package/dist/cjs/lib/{use-layout-effect.d.ts → use-layout-effect.d.cts} +3 -2
- package/dist/cjs/lib/use-permissions.cjs +55 -0
- package/dist/cjs/lib/use-permissions.cjs.map +1 -0
- package/dist/cjs/lib/use-permissions.d.cts +6 -0
- package/dist/cjs/lib/use-security-settings.cjs +59 -0
- package/dist/cjs/lib/use-security-settings.cjs.map +1 -0
- package/dist/cjs/lib/{use-security-settings.d.ts → use-security-settings.d.cts} +3 -3
- package/dist/cjs/lib/user-actions-dropdown.cjs +168 -0
- package/dist/cjs/lib/user-actions-dropdown.cjs.map +1 -0
- package/dist/cjs/lib/user-actions-dropdown.d.cts +13 -0
- package/dist/cjs/lib/user-profile.cjs +175 -0
- package/dist/cjs/lib/user-profile.cjs.map +1 -0
- package/dist/cjs/lib/user-profile.d.cts +15 -0
- package/dist/cjs/lib/user-security.cjs +135 -0
- package/dist/cjs/lib/user-security.cjs.map +1 -0
- package/dist/cjs/lib/user-security.d.cts +15 -0
- package/dist/cjs/lib/user-sessions.cjs +178 -0
- package/dist/cjs/lib/user-sessions.cjs.map +1 -0
- package/dist/cjs/lib/user-sessions.d.cts +16 -0
- package/dist/cjs/lib/users-filter.cjs +85 -0
- package/dist/cjs/lib/users-filter.cjs.map +1 -0
- package/dist/cjs/lib/users-filter.d.cts +13 -0
- package/dist/cjs/lib/users-management-context.cjs +81 -0
- package/dist/cjs/lib/users-management-context.cjs.map +1 -0
- package/dist/cjs/lib/users-management-context.d.cts +19 -0
- package/dist/cjs/lib/users-management-state.cjs +154 -0
- package/dist/cjs/lib/users-management-state.cjs.map +1 -0
- package/dist/cjs/lib/users-management-state.d.cts +26 -0
- package/dist/cjs/lib/users-management.cjs +485 -0
- package/dist/cjs/lib/users-management.cjs.map +1 -0
- package/dist/cjs/lib/users-management.d.cts +22 -0
- package/dist/cjs/lib/users-search.cjs +101 -0
- package/dist/cjs/lib/users-search.cjs.map +1 -0
- package/dist/cjs/lib/users-search.d.cts +6 -0
- package/dist/cjs/lib/utils.cjs +148 -0
- package/dist/cjs/lib/utils.cjs.map +1 -0
- package/dist/cjs/lib/utils.d.cts +31 -0
- package/dist/cjs/lib/view-dns-record-dialog.cjs +101 -0
- package/dist/cjs/lib/view-dns-record-dialog.cjs.map +1 -0
- package/dist/cjs/lib/view-dns-record-dialog.d.cts +16 -0
- package/dist/cjs/lib/widgets-context.cjs +59 -0
- package/dist/cjs/lib/widgets-context.cjs.map +1 -0
- package/dist/cjs/lib/widgets-context.d.cts +15 -0
- package/dist/cjs/organization-switcher.client.cjs +81 -0
- package/dist/cjs/organization-switcher.client.cjs.map +1 -0
- package/dist/cjs/organization-switcher.client.d.cts +15 -0
- package/dist/cjs/user-profile.client.cjs +65 -0
- package/dist/cjs/user-profile.client.cjs.map +1 -0
- package/dist/cjs/user-profile.client.d.cts +14 -0
- package/dist/cjs/user-security.client.cjs +67 -0
- package/dist/cjs/user-security.client.cjs.map +1 -0
- package/dist/cjs/user-security.client.d.cts +14 -0
- package/dist/cjs/user-sessions.client.cjs +98 -0
- package/dist/cjs/user-sessions.client.cjs.map +1 -0
- package/dist/cjs/user-sessions.client.d.cts +18 -0
- package/dist/cjs/users-management.client.cjs +88 -0
- package/dist/cjs/users-management.client.cjs.map +1 -0
- package/dist/cjs/users-management.client.d.cts +14 -0
- package/dist/cjs/workos-widgets.client.cjs +106 -0
- package/dist/cjs/workos-widgets.client.cjs.map +1 -0
- package/dist/cjs/{workos-widgets.client.d.ts → workos-widgets.client.d.cts} +10 -7
- package/dist/esm/admin-portal-domain-verification.client.d.ts +12 -5
- package/dist/esm/admin-portal-domain-verification.client.js +87 -52
- package/dist/esm/admin-portal-domain-verification.client.js.map +1 -1
- package/dist/esm/admin-portal-sso-connection-client.d.ts +10 -5
- package/dist/esm/admin-portal-sso-connection-client.js +221 -173
- package/dist/esm/admin-portal-sso-connection-client.js.map +1 -1
- package/dist/esm/api/api-provider.d.ts +10 -8
- package/dist/esm/api/api-provider.js +74 -93
- package/dist/esm/api/api-provider.js.map +1 -1
- package/dist/esm/api/constants.d.ts +3 -2
- package/dist/esm/api/constants.js +4 -1
- package/dist/esm/api/constants.js.map +1 -1
- package/dist/esm/api/endpoint.d.ts +471 -431
- package/dist/esm/api/endpoint.js +1098 -994
- package/dist/esm/api/endpoint.js.map +1 -1
- package/dist/esm/api/errors.d.ts +5 -5
- package/dist/esm/api/errors.js +27 -30
- package/dist/esm/api/errors.js.map +1 -1
- package/dist/esm/api/utils.d.ts +6 -5
- package/dist/esm/api/utils.js +34 -29
- package/dist/esm/api/utils.js.map +1 -1
- package/dist/esm/api/widgets-api-client.d.ts +8 -7
- package/dist/esm/api/widgets-api-client.js +54 -50
- package/dist/esm/api/widgets-api-client.js.map +1 -1
- package/dist/esm/card-list.d.ts +8 -5
- package/dist/esm/card-list.js +18 -5
- package/dist/esm/card-list.js.map +1 -1
- package/dist/esm/index.d.ts +25 -9
- package/dist/esm/index.js +48 -8
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/lib/add-mfa-dialog.d.ts +7 -5
- package/dist/esm/lib/add-mfa-dialog.js +290 -86
- package/dist/esm/lib/add-mfa-dialog.js.map +1 -1
- package/dist/esm/lib/admin-portal-domain-verification.d.ts +12 -7
- package/dist/esm/lib/admin-portal-domain-verification.js +77 -10
- package/dist/esm/lib/admin-portal-domain-verification.js.map +1 -1
- package/dist/esm/lib/admin-portal-sso-connection.d.ts +14 -12
- package/dist/esm/lib/admin-portal-sso-connection.js +277 -150
- package/dist/esm/lib/admin-portal-sso-connection.js.map +1 -1
- package/dist/esm/lib/api/config.d.ts +4 -3
- package/dist/esm/lib/api/config.js +11 -7
- package/dist/esm/lib/api/config.js.map +1 -1
- package/dist/esm/lib/api/user.d.ts +19 -10
- package/dist/esm/lib/api/user.js +85 -62
- package/dist/esm/lib/api/user.js.map +1 -1
- package/dist/esm/lib/change-password-dialog.d.ts +7 -5
- package/dist/esm/lib/change-password-dialog.js +197 -58
- package/dist/esm/lib/change-password-dialog.js.map +1 -1
- package/dist/esm/lib/constants.d.ts +5 -4
- package/dist/esm/lib/constants.js +8 -3
- package/dist/esm/lib/constants.js.map +1 -1
- package/dist/esm/lib/copy-button.d.ts +5 -4
- package/dist/esm/lib/copy-button.js +29 -25
- package/dist/esm/lib/copy-button.js.map +1 -1
- package/dist/esm/lib/delete-domain-dialog.d.ts +9 -5
- package/dist/esm/lib/delete-domain-dialog.js +44 -18
- package/dist/esm/lib/delete-domain-dialog.js.map +1 -1
- package/dist/esm/lib/delete-user-dialog.d.ts +10 -6
- package/dist/esm/lib/delete-user-dialog.js +75 -26
- package/dist/esm/lib/delete-user-dialog.js.map +1 -1
- package/dist/esm/lib/domain-actions.d.ts +8 -4
- package/dist/esm/lib/domain-actions.js +57 -10
- package/dist/esm/lib/domain-actions.js.map +1 -1
- package/dist/esm/lib/domain-item.d.ts +8 -4
- package/dist/esm/lib/domain-item.js +49 -21
- package/dist/esm/lib/domain-item.js.map +1 -1
- package/dist/esm/lib/edit-user-profile-dialog.d.ts +10 -6
- package/dist/esm/lib/edit-user-profile-dialog.js +128 -45
- package/dist/esm/lib/edit-user-profile-dialog.js.map +1 -1
- package/dist/esm/lib/edit-user-role-dialog.d.ts +21 -6
- package/dist/esm/lib/edit-user-role-dialog.js +296 -44
- package/dist/esm/lib/edit-user-role-dialog.js.map +1 -1
- package/dist/esm/lib/elements.d.ts +27 -26
- package/dist/esm/lib/elements.js +325 -88
- package/dist/esm/lib/elements.js.map +1 -1
- package/dist/esm/lib/elevated-access.d.ts +6 -4
- package/dist/esm/lib/elevated-access.js +159 -90
- package/dist/esm/lib/elevated-access.js.map +1 -1
- package/dist/esm/lib/error-boundary.d.ts +13 -11
- package/dist/esm/lib/error-boundary.js +69 -74
- package/dist/esm/lib/error-boundary.js.map +1 -1
- package/dist/esm/lib/errors.d.ts +6 -6
- package/dist/esm/lib/errors.js +34 -37
- package/dist/esm/lib/errors.js.map +1 -1
- package/dist/esm/lib/generic-error.d.ts +6 -3
- package/dist/esm/lib/generic-error.js +75 -29
- package/dist/esm/lib/generic-error.js.map +1 -1
- package/dist/esm/lib/icon-panel.d.ts +7 -4
- package/dist/esm/lib/icon-panel.js +25 -10
- package/dist/esm/lib/icon-panel.js.map +1 -1
- package/dist/esm/lib/icons.d.ts +6 -3
- package/dist/esm/lib/icons.js +25 -3
- package/dist/esm/lib/icons.js.map +1 -1
- package/dist/esm/lib/identity-providers.d.ts +5 -5
- package/dist/esm/lib/identity-providers.js +66 -63
- package/dist/esm/lib/identity-providers.js.map +1 -1
- package/dist/esm/lib/invite-user-dialog.d.ts +6 -4
- package/dist/esm/lib/invite-user-dialog.js +236 -117
- package/dist/esm/lib/invite-user-dialog.js.map +1 -1
- package/dist/esm/lib/logout-all-sessions-dialog.d.ts +7 -5
- package/dist/esm/lib/logout-all-sessions-dialog.js +59 -18
- package/dist/esm/lib/logout-all-sessions-dialog.js.map +1 -1
- package/dist/esm/lib/logout-dialog.d.ts +10 -6
- package/dist/esm/lib/logout-dialog.js +74 -24
- package/dist/esm/lib/logout-dialog.js.map +1 -1
- package/dist/esm/lib/marker.d.ts +7 -6
- package/dist/esm/lib/marker.js +17 -4
- package/dist/esm/lib/marker.js.map +1 -1
- package/dist/esm/lib/name-server-icon.d.ts +8 -4
- package/dist/esm/lib/name-server-icon.js +60 -4
- package/dist/esm/lib/name-server-icon.js.map +1 -1
- package/dist/esm/lib/oauth-icons.d.ts +6 -4
- package/dist/esm/lib/oauth-icons.js +132 -31
- package/dist/esm/lib/oauth-icons.js.map +1 -1
- package/dist/esm/lib/organization-switcher.d.ts +12 -11
- package/dist/esm/lib/organization-switcher.js +156 -42
- package/dist/esm/lib/organization-switcher.js.map +1 -1
- package/dist/esm/lib/otp-input.d.ts +9 -7
- package/dist/esm/lib/otp-input.js +163 -100
- package/dist/esm/lib/otp-input.js.map +1 -1
- package/dist/esm/lib/provider-icon.d.ts +5 -4
- package/dist/esm/lib/provider-icon.js +29 -8
- package/dist/esm/lib/provider-icon.js.map +1 -1
- package/dist/esm/lib/resend-invite-dialog.d.ts +10 -6
- package/dist/esm/lib/resend-invite-dialog.js +120 -36
- package/dist/esm/lib/resend-invite-dialog.js.map +1 -1
- package/dist/esm/lib/reset-mfa-dialog.d.ts +7 -5
- package/dist/esm/lib/reset-mfa-dialog.js +70 -23
- package/dist/esm/lib/reset-mfa-dialog.js.map +1 -1
- package/dist/esm/lib/revoke-invite-dialog.d.ts +10 -6
- package/dist/esm/lib/revoke-invite-dialog.js +82 -26
- package/dist/esm/lib/revoke-invite-dialog.js.map +1 -1
- package/dist/esm/lib/save-button.d.ts +6 -4
- package/dist/esm/lib/save-button.js +92 -35
- package/dist/esm/lib/save-button.js.map +1 -1
- package/dist/esm/lib/search-provider.d.ts +7 -6
- package/dist/esm/lib/search-provider.js +37 -20
- package/dist/esm/lib/search-provider.js.map +1 -1
- package/dist/esm/lib/set-password-dialog.d.ts +7 -5
- package/dist/esm/lib/set-password-dialog.js +122 -39
- package/dist/esm/lib/set-password-dialog.js.map +1 -1
- package/dist/esm/lib/status.d.ts +7 -6
- package/dist/esm/lib/status.js +31 -12
- package/dist/esm/lib/status.js.map +1 -1
- package/dist/esm/lib/use-dialog-close.d.ts +3 -2
- package/dist/esm/lib/use-dialog-close.js +16 -14
- package/dist/esm/lib/use-dialog-close.js.map +1 -1
- package/dist/esm/lib/use-is-hydrated.d.ts +3 -2
- package/dist/esm/lib/use-is-hydrated.js +11 -3
- package/dist/esm/lib/use-is-hydrated.js.map +1 -1
- package/dist/esm/lib/use-layout-effect.d.ts +3 -2
- package/dist/esm/lib/use-layout-effect.js +3 -1
- package/dist/esm/lib/use-layout-effect.js.map +1 -1
- package/dist/esm/lib/use-permissions.d.ts +5 -3
- package/dist/esm/lib/use-permissions.js +25 -25
- package/dist/esm/lib/use-permissions.js.map +1 -1
- package/dist/esm/lib/use-security-settings.d.ts +3 -3
- package/dist/esm/lib/use-security-settings.js +33 -32
- package/dist/esm/lib/use-security-settings.js.map +1 -1
- package/dist/esm/lib/user-actions-dropdown.d.ts +9 -5
- package/dist/esm/lib/user-actions-dropdown.js +127 -42
- package/dist/esm/lib/user-actions-dropdown.js.map +1 -1
- package/dist/esm/lib/user-profile.d.ts +11 -7
- package/dist/esm/lib/user-profile.js +137 -16
- package/dist/esm/lib/user-profile.js.map +1 -1
- package/dist/esm/lib/user-security.d.ts +12 -8
- package/dist/esm/lib/user-security.js +81 -14
- package/dist/esm/lib/user-security.js.map +1 -1
- package/dist/esm/lib/user-sessions.d.ts +11 -7
- package/dist/esm/lib/user-sessions.js +131 -25
- package/dist/esm/lib/user-sessions.js.map +1 -1
- package/dist/esm/lib/users-filter.d.ts +9 -6
- package/dist/esm/lib/users-filter.js +42 -20
- package/dist/esm/lib/users-filter.js.map +1 -1
- package/dist/esm/lib/users-management-context.d.ts +11 -6
- package/dist/esm/lib/users-management-context.js +37 -31
- package/dist/esm/lib/users-management-context.js.map +1 -1
- package/dist/esm/lib/users-management-state.d.ts +10 -6
- package/dist/esm/lib/users-management-state.js +108 -105
- package/dist/esm/lib/users-management-state.js.map +1 -1
- package/dist/esm/lib/users-management.d.ts +16 -8
- package/dist/esm/lib/users-management.js +444 -143
- package/dist/esm/lib/users-management.js.map +1 -1
- package/dist/esm/lib/users-search.d.ts +6 -3
- package/dist/esm/lib/users-search.js +48 -15
- package/dist/esm/lib/users-search.js.map +1 -1
- package/dist/esm/lib/utils.d.ts +18 -13
- package/dist/esm/lib/utils.js +92 -84
- package/dist/esm/lib/utils.js.map +1 -1
- package/dist/esm/lib/view-dns-record-dialog.d.ts +9 -5
- package/dist/esm/lib/view-dns-record-dialog.js +80 -14
- package/dist/esm/lib/view-dns-record-dialog.js.map +1 -1
- package/dist/esm/lib/widgets-context.d.ts +11 -7
- package/dist/esm/lib/widgets-context.js +17 -11
- package/dist/esm/lib/widgets-context.js.map +1 -1
- package/dist/esm/organization-switcher.client.d.ts +13 -6
- package/dist/esm/organization-switcher.client.js +47 -21
- package/dist/esm/organization-switcher.client.js.map +1 -1
- package/dist/esm/user-profile.client.d.ts +12 -5
- package/dist/esm/user-profile.client.js +33 -17
- package/dist/esm/user-profile.client.js.map +1 -1
- package/dist/esm/user-security.client.d.ts +12 -5
- package/dist/esm/user-security.client.js +36 -14
- package/dist/esm/user-security.client.js.map +1 -1
- package/dist/esm/user-sessions.client.d.ts +10 -4
- package/dist/esm/user-sessions.client.js +62 -30
- package/dist/esm/user-sessions.client.js.map +1 -1
- package/dist/esm/users-management.client.d.ts +12 -5
- package/dist/esm/users-management.client.js +54 -24
- package/dist/esm/users-management.client.js.map +1 -1
- package/dist/esm/workos-widgets.client.d.ts +10 -7
- package/dist/esm/workos-widgets.client.js +64 -38
- package/dist/esm/workos-widgets.client.js.map +1 -1
- package/package.json +55 -48
- package/LICENSE +0 -21
- package/dist/cjs/admin-portal-domain-verification.client.d.ts +0 -7
- package/dist/cjs/admin-portal-domain-verification.client.d.ts.map +0 -1
- package/dist/cjs/admin-portal-domain-verification.client.js +0 -69
- package/dist/cjs/admin-portal-domain-verification.client.js.map +0 -1
- package/dist/cjs/admin-portal-sso-connection-client.d.ts +0 -7
- package/dist/cjs/admin-portal-sso-connection-client.d.ts.map +0 -1
- package/dist/cjs/admin-portal-sso-connection-client.js +0 -221
- package/dist/cjs/admin-portal-sso-connection-client.js.map +0 -1
- package/dist/cjs/api/api-provider.d.ts +0 -29
- package/dist/cjs/api/api-provider.d.ts.map +0 -1
- package/dist/cjs/api/api-provider.js +0 -130
- package/dist/cjs/api/api-provider.js.map +0 -1
- package/dist/cjs/api/constants.d.ts +0 -2
- package/dist/cjs/api/constants.d.ts.map +0 -1
- package/dist/cjs/api/constants.js +0 -5
- package/dist/cjs/api/constants.js.map +0 -1
- package/dist/cjs/api/endpoint.d.ts +0 -1262
- package/dist/cjs/api/endpoint.d.ts.map +0 -1
- package/dist/cjs/api/endpoint.js +0 -1108
- package/dist/cjs/api/endpoint.js.map +0 -1
- package/dist/cjs/api/errors.d.ts.map +0 -1
- package/dist/cjs/api/errors.js +0 -40
- package/dist/cjs/api/errors.js.map +0 -1
- package/dist/cjs/api/utils.d.ts +0 -10
- package/dist/cjs/api/utils.d.ts.map +0 -1
- package/dist/cjs/api/utils.js +0 -42
- package/dist/cjs/api/utils.js.map +0 -1
- package/dist/cjs/api/widgets-api-client.d.ts.map +0 -1
- package/dist/cjs/api/widgets-api-client.js +0 -62
- package/dist/cjs/api/widgets-api-client.js.map +0 -1
- package/dist/cjs/card-list.d.ts +0 -6
- package/dist/cjs/card-list.d.ts.map +0 -1
- package/dist/cjs/card-list.js +0 -13
- package/dist/cjs/card-list.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -9
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -20
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/lib/add-mfa-dialog.d.ts +0 -9
- package/dist/cjs/lib/add-mfa-dialog.d.ts.map +0 -1
- package/dist/cjs/lib/add-mfa-dialog.js +0 -136
- package/dist/cjs/lib/add-mfa-dialog.js.map +0 -1
- package/dist/cjs/lib/admin-portal-domain-verification.d.ts +0 -15
- package/dist/cjs/lib/admin-portal-domain-verification.d.ts.map +0 -1
- package/dist/cjs/lib/admin-portal-domain-verification.js +0 -55
- package/dist/cjs/lib/admin-portal-domain-verification.js.map +0 -1
- package/dist/cjs/lib/admin-portal-sso-connection.d.ts +0 -40
- package/dist/cjs/lib/admin-portal-sso-connection.d.ts.map +0 -1
- package/dist/cjs/lib/admin-portal-sso-connection.js +0 -209
- package/dist/cjs/lib/admin-portal-sso-connection.js.map +0 -1
- package/dist/cjs/lib/api/config.d.ts.map +0 -1
- package/dist/cjs/lib/api/config.js +0 -12
- package/dist/cjs/lib/api/config.js.map +0 -1
- package/dist/cjs/lib/api/user.d.ts +0 -17
- package/dist/cjs/lib/api/user.d.ts.map +0 -1
- package/dist/cjs/lib/api/user.js +0 -80
- package/dist/cjs/lib/api/user.js.map +0 -1
- package/dist/cjs/lib/change-password-dialog.d.ts +0 -8
- package/dist/cjs/lib/change-password-dialog.d.ts.map +0 -1
- package/dist/cjs/lib/change-password-dialog.js +0 -97
- package/dist/cjs/lib/change-password-dialog.js.map +0 -1
- package/dist/cjs/lib/constants.d.ts +0 -4
- package/dist/cjs/lib/constants.d.ts.map +0 -1
- package/dist/cjs/lib/constants.js +0 -7
- package/dist/cjs/lib/constants.js.map +0 -1
- package/dist/cjs/lib/copy-button.d.ts +0 -8
- package/dist/cjs/lib/copy-button.d.ts.map +0 -1
- package/dist/cjs/lib/copy-button.js +0 -62
- package/dist/cjs/lib/copy-button.js.map +0 -1
- package/dist/cjs/lib/delete-domain-dialog.d.ts +0 -12
- package/dist/cjs/lib/delete-domain-dialog.d.ts.map +0 -1
- package/dist/cjs/lib/delete-domain-dialog.js +0 -26
- package/dist/cjs/lib/delete-domain-dialog.js.map +0 -1
- package/dist/cjs/lib/delete-user-dialog.d.ts +0 -12
- package/dist/cjs/lib/delete-user-dialog.d.ts.map +0 -1
- package/dist/cjs/lib/delete-user-dialog.js +0 -36
- package/dist/cjs/lib/delete-user-dialog.js.map +0 -1
- package/dist/cjs/lib/domain-actions.d.ts +0 -9
- package/dist/cjs/lib/domain-actions.d.ts.map +0 -1
- package/dist/cjs/lib/domain-actions.js +0 -22
- package/dist/cjs/lib/domain-actions.js.map +0 -1
- package/dist/cjs/lib/domain-item.d.ts +0 -9
- package/dist/cjs/lib/domain-item.d.ts.map +0 -1
- package/dist/cjs/lib/domain-item.js +0 -38
- package/dist/cjs/lib/domain-item.js.map +0 -1
- package/dist/cjs/lib/edit-user-profile-dialog.d.ts +0 -10
- package/dist/cjs/lib/edit-user-profile-dialog.d.ts.map +0 -1
- package/dist/cjs/lib/edit-user-profile-dialog.js +0 -85
- package/dist/cjs/lib/edit-user-profile-dialog.js.map +0 -1
- package/dist/cjs/lib/edit-user-role-dialog.d.ts +0 -12
- package/dist/cjs/lib/edit-user-role-dialog.d.ts.map +0 -1
- package/dist/cjs/lib/edit-user-role-dialog.js +0 -82
- package/dist/cjs/lib/edit-user-role-dialog.js.map +0 -1
- package/dist/cjs/lib/elements.d.ts +0 -46
- package/dist/cjs/lib/elements.d.ts.map +0 -1
- package/dist/cjs/lib/elements.js +0 -148
- package/dist/cjs/lib/elements.js.map +0 -1
- package/dist/cjs/lib/elevated-access.d.ts +0 -8
- package/dist/cjs/lib/elevated-access.d.ts.map +0 -1
- package/dist/cjs/lib/elevated-access.js +0 -131
- package/dist/cjs/lib/elevated-access.js.map +0 -1
- package/dist/cjs/lib/error-boundary.d.ts.map +0 -1
- package/dist/cjs/lib/error-boundary.js +0 -113
- package/dist/cjs/lib/error-boundary.js.map +0 -1
- package/dist/cjs/lib/errors.d.ts.map +0 -1
- package/dist/cjs/lib/errors.js +0 -49
- package/dist/cjs/lib/errors.js.map +0 -1
- package/dist/cjs/lib/generic-error.d.ts +0 -4
- package/dist/cjs/lib/generic-error.d.ts.map +0 -1
- package/dist/cjs/lib/generic-error.js +0 -60
- package/dist/cjs/lib/generic-error.js.map +0 -1
- package/dist/cjs/lib/icon-panel.d.ts +0 -5
- package/dist/cjs/lib/icon-panel.d.ts.map +0 -1
- package/dist/cjs/lib/icon-panel.js +0 -17
- package/dist/cjs/lib/icon-panel.js.map +0 -1
- package/dist/cjs/lib/icons.d.ts +0 -3
- package/dist/cjs/lib/icons.d.ts.map +0 -1
- package/dist/cjs/lib/icons.js +0 -8
- package/dist/cjs/lib/icons.js.map +0 -1
- package/dist/cjs/lib/identity-providers.d.ts.map +0 -1
- package/dist/cjs/lib/identity-providers.js +0 -71
- package/dist/cjs/lib/identity-providers.js.map +0 -1
- package/dist/cjs/lib/invite-user-dialog.d.ts +0 -7
- package/dist/cjs/lib/invite-user-dialog.d.ts.map +0 -1
- package/dist/cjs/lib/invite-user-dialog.js +0 -165
- package/dist/cjs/lib/invite-user-dialog.js.map +0 -1
- package/dist/cjs/lib/logout-all-sessions-dialog.d.ts +0 -9
- package/dist/cjs/lib/logout-all-sessions-dialog.d.ts.map +0 -1
- package/dist/cjs/lib/logout-all-sessions-dialog.js +0 -52
- package/dist/cjs/lib/logout-all-sessions-dialog.js.map +0 -1
- package/dist/cjs/lib/logout-dialog.d.ts +0 -10
- package/dist/cjs/lib/logout-dialog.d.ts.map +0 -1
- package/dist/cjs/lib/logout-dialog.js +0 -58
- package/dist/cjs/lib/logout-dialog.js.map +0 -1
- package/dist/cjs/lib/marker.d.ts.map +0 -1
- package/dist/cjs/lib/marker.js +0 -38
- package/dist/cjs/lib/marker.js.map +0 -1
- package/dist/cjs/lib/name-server-icon.d.ts +0 -7
- package/dist/cjs/lib/name-server-icon.d.ts.map +0 -1
- package/dist/cjs/lib/name-server-icon.js +0 -38
- package/dist/cjs/lib/name-server-icon.js.map +0 -1
- package/dist/cjs/lib/oauth-icons.d.ts +0 -4
- package/dist/cjs/lib/oauth-icons.d.ts.map +0 -1
- package/dist/cjs/lib/oauth-icons.js +0 -67
- package/dist/cjs/lib/oauth-icons.js.map +0 -1
- package/dist/cjs/lib/organization-switcher.d.ts.map +0 -1
- package/dist/cjs/lib/organization-switcher.js +0 -63
- package/dist/cjs/lib/organization-switcher.js.map +0 -1
- package/dist/cjs/lib/otp-input.d.ts +0 -20
- package/dist/cjs/lib/otp-input.d.ts.map +0 -1
- package/dist/cjs/lib/otp-input.js +0 -174
- package/dist/cjs/lib/otp-input.js.map +0 -1
- package/dist/cjs/lib/provider-icon.d.ts.map +0 -1
- package/dist/cjs/lib/provider-icon.js +0 -45
- package/dist/cjs/lib/provider-icon.js.map +0 -1
- package/dist/cjs/lib/resend-invite-dialog.d.ts +0 -10
- package/dist/cjs/lib/resend-invite-dialog.d.ts.map +0 -1
- package/dist/cjs/lib/resend-invite-dialog.js +0 -70
- package/dist/cjs/lib/resend-invite-dialog.js.map +0 -1
- package/dist/cjs/lib/reset-mfa-dialog.d.ts +0 -9
- package/dist/cjs/lib/reset-mfa-dialog.d.ts.map +0 -1
- package/dist/cjs/lib/reset-mfa-dialog.js +0 -60
- package/dist/cjs/lib/reset-mfa-dialog.js.map +0 -1
- package/dist/cjs/lib/revoke-invite-dialog.d.ts +0 -10
- package/dist/cjs/lib/revoke-invite-dialog.d.ts.map +0 -1
- package/dist/cjs/lib/revoke-invite-dialog.js +0 -36
- package/dist/cjs/lib/revoke-invite-dialog.js.map +0 -1
- package/dist/cjs/lib/save-button.d.ts +0 -11
- package/dist/cjs/lib/save-button.d.ts.map +0 -1
- package/dist/cjs/lib/save-button.js +0 -47
- package/dist/cjs/lib/save-button.js.map +0 -1
- package/dist/cjs/lib/search-provider.d.ts +0 -11
- package/dist/cjs/lib/search-provider.d.ts.map +0 -1
- package/dist/cjs/lib/search-provider.js +0 -55
- package/dist/cjs/lib/search-provider.js.map +0 -1
- package/dist/cjs/lib/set-password-dialog.d.ts +0 -8
- package/dist/cjs/lib/set-password-dialog.d.ts.map +0 -1
- package/dist/cjs/lib/set-password-dialog.js +0 -80
- package/dist/cjs/lib/set-password-dialog.js.map +0 -1
- package/dist/cjs/lib/status.d.ts +0 -10
- package/dist/cjs/lib/status.d.ts.map +0 -1
- package/dist/cjs/lib/status.js +0 -48
- package/dist/cjs/lib/status.js.map +0 -1
- package/dist/cjs/lib/use-dialog-close.d.ts +0 -2
- package/dist/cjs/lib/use-dialog-close.d.ts.map +0 -1
- package/dist/cjs/lib/use-dialog-close.js +0 -43
- package/dist/cjs/lib/use-dialog-close.js.map +0 -1
- package/dist/cjs/lib/use-is-hydrated.d.ts +0 -2
- package/dist/cjs/lib/use-is-hydrated.d.ts.map +0 -1
- package/dist/cjs/lib/use-is-hydrated.js +0 -34
- package/dist/cjs/lib/use-is-hydrated.js.map +0 -1
- package/dist/cjs/lib/use-layout-effect.d.ts.map +0 -1
- package/dist/cjs/lib/use-layout-effect.js +0 -8
- package/dist/cjs/lib/use-layout-effect.js.map +0 -1
- package/dist/cjs/lib/use-permissions.d.ts +0 -4
- package/dist/cjs/lib/use-permissions.d.ts.map +0 -1
- package/dist/cjs/lib/use-permissions.js +0 -34
- package/dist/cjs/lib/use-permissions.js.map +0 -1
- package/dist/cjs/lib/use-security-settings.d.ts.map +0 -1
- package/dist/cjs/lib/use-security-settings.js +0 -39
- package/dist/cjs/lib/use-security-settings.js.map +0 -1
- package/dist/cjs/lib/user-actions-dropdown.d.ts +0 -9
- package/dist/cjs/lib/user-actions-dropdown.d.ts.map +0 -1
- package/dist/cjs/lib/user-actions-dropdown.js +0 -80
- package/dist/cjs/lib/user-actions-dropdown.js.map +0 -1
- package/dist/cjs/lib/user-profile.d.ts +0 -11
- package/dist/cjs/lib/user-profile.d.ts.map +0 -1
- package/dist/cjs/lib/user-profile.js +0 -36
- package/dist/cjs/lib/user-profile.js.map +0 -1
- package/dist/cjs/lib/user-security.d.ts +0 -11
- package/dist/cjs/lib/user-security.d.ts.map +0 -1
- package/dist/cjs/lib/user-security.js +0 -64
- package/dist/cjs/lib/user-security.js.map +0 -1
- package/dist/cjs/lib/user-sessions.d.ts +0 -12
- package/dist/cjs/lib/user-sessions.d.ts.map +0 -1
- package/dist/cjs/lib/user-sessions.js +0 -72
- package/dist/cjs/lib/user-sessions.js.map +0 -1
- package/dist/cjs/lib/users-filter.d.ts +0 -10
- package/dist/cjs/lib/users-filter.d.ts.map +0 -1
- package/dist/cjs/lib/users-filter.js +0 -56
- package/dist/cjs/lib/users-filter.js.map +0 -1
- package/dist/cjs/lib/users-management-context.d.ts +0 -14
- package/dist/cjs/lib/users-management-context.d.ts.map +0 -1
- package/dist/cjs/lib/users-management-context.js +0 -70
- package/dist/cjs/lib/users-management-context.js.map +0 -1
- package/dist/cjs/lib/users-management-state.d.ts +0 -22
- package/dist/cjs/lib/users-management-state.d.ts.map +0 -1
- package/dist/cjs/lib/users-management-state.js +0 -143
- package/dist/cjs/lib/users-management-state.js.map +0 -1
- package/dist/cjs/lib/users-management.d.ts +0 -14
- package/dist/cjs/lib/users-management.d.ts.map +0 -1
- package/dist/cjs/lib/users-management.js +0 -201
- package/dist/cjs/lib/users-management.js.map +0 -1
- package/dist/cjs/lib/users-search.d.ts +0 -3
- package/dist/cjs/lib/users-search.d.ts.map +0 -1
- package/dist/cjs/lib/users-search.js +0 -63
- package/dist/cjs/lib/users-search.js.map +0 -1
- package/dist/cjs/lib/utils.d.ts +0 -26
- package/dist/cjs/lib/utils.d.ts.map +0 -1
- package/dist/cjs/lib/utils.js +0 -108
- package/dist/cjs/lib/utils.js.map +0 -1
- package/dist/cjs/lib/view-dns-record-dialog.d.ts +0 -12
- package/dist/cjs/lib/view-dns-record-dialog.d.ts.map +0 -1
- package/dist/cjs/lib/view-dns-record-dialog.js +0 -26
- package/dist/cjs/lib/view-dns-record-dialog.js.map +0 -1
- package/dist/cjs/lib/widgets-context.d.ts +0 -11
- package/dist/cjs/lib/widgets-context.d.ts.map +0 -1
- package/dist/cjs/lib/widgets-context.js +0 -45
- package/dist/cjs/lib/widgets-context.js.map +0 -1
- package/dist/cjs/organization-switcher.client.d.ts +0 -8
- package/dist/cjs/organization-switcher.client.d.ts.map +0 -1
- package/dist/cjs/organization-switcher.client.js +0 -38
- package/dist/cjs/organization-switcher.client.js.map +0 -1
- package/dist/cjs/user-profile.client.d.ts +0 -7
- package/dist/cjs/user-profile.client.d.ts.map +0 -1
- package/dist/cjs/user-profile.client.js +0 -32
- package/dist/cjs/user-profile.client.js.map +0 -1
- package/dist/cjs/user-security.client.d.ts +0 -7
- package/dist/cjs/user-security.client.d.ts.map +0 -1
- package/dist/cjs/user-security.client.js +0 -28
- package/dist/cjs/user-security.client.js.map +0 -1
- package/dist/cjs/user-sessions.client.d.ts +0 -12
- package/dist/cjs/user-sessions.client.d.ts.map +0 -1
- package/dist/cjs/user-sessions.client.js +0 -49
- package/dist/cjs/user-sessions.client.js.map +0 -1
- package/dist/cjs/users-management.client.d.ts +0 -7
- package/dist/cjs/users-management.client.d.ts.map +0 -1
- package/dist/cjs/users-management.client.js +0 -41
- package/dist/cjs/users-management.client.js.map +0 -1
- package/dist/cjs/workos-widgets.client.d.ts.map +0 -1
- package/dist/cjs/workos-widgets.client.js +0 -80
- package/dist/cjs/workos-widgets.client.js.map +0 -1
- package/dist/esm/admin-portal-domain-verification.client.d.ts.map +0 -1
- package/dist/esm/admin-portal-sso-connection-client.d.ts.map +0 -1
- package/dist/esm/api/api-provider.d.ts.map +0 -1
- package/dist/esm/api/constants.d.ts.map +0 -1
- package/dist/esm/api/endpoint.d.ts.map +0 -1
- package/dist/esm/api/errors.d.ts.map +0 -1
- package/dist/esm/api/utils.d.ts.map +0 -1
- package/dist/esm/api/widgets-api-client.d.ts.map +0 -1
- package/dist/esm/card-list.d.ts.map +0 -1
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/lib/add-mfa-dialog.d.ts.map +0 -1
- package/dist/esm/lib/admin-portal-domain-verification.d.ts.map +0 -1
- package/dist/esm/lib/admin-portal-sso-connection.d.ts.map +0 -1
- package/dist/esm/lib/api/config.d.ts.map +0 -1
- package/dist/esm/lib/api/user.d.ts.map +0 -1
- package/dist/esm/lib/change-password-dialog.d.ts.map +0 -1
- package/dist/esm/lib/constants.d.ts.map +0 -1
- package/dist/esm/lib/copy-button.d.ts.map +0 -1
- package/dist/esm/lib/delete-domain-dialog.d.ts.map +0 -1
- package/dist/esm/lib/delete-user-dialog.d.ts.map +0 -1
- package/dist/esm/lib/domain-actions.d.ts.map +0 -1
- package/dist/esm/lib/domain-item.d.ts.map +0 -1
- package/dist/esm/lib/edit-user-profile-dialog.d.ts.map +0 -1
- package/dist/esm/lib/edit-user-role-dialog.d.ts.map +0 -1
- package/dist/esm/lib/elements.d.ts.map +0 -1
- package/dist/esm/lib/elevated-access.d.ts.map +0 -1
- package/dist/esm/lib/error-boundary.d.ts.map +0 -1
- package/dist/esm/lib/errors.d.ts.map +0 -1
- package/dist/esm/lib/generic-error.d.ts.map +0 -1
- package/dist/esm/lib/icon-panel.d.ts.map +0 -1
- package/dist/esm/lib/icons.d.ts.map +0 -1
- package/dist/esm/lib/identity-providers.d.ts.map +0 -1
- package/dist/esm/lib/invite-user-dialog.d.ts.map +0 -1
- package/dist/esm/lib/logout-all-sessions-dialog.d.ts.map +0 -1
- package/dist/esm/lib/logout-dialog.d.ts.map +0 -1
- package/dist/esm/lib/marker.d.ts.map +0 -1
- package/dist/esm/lib/name-server-icon.d.ts.map +0 -1
- package/dist/esm/lib/oauth-icons.d.ts.map +0 -1
- package/dist/esm/lib/organization-switcher.d.ts.map +0 -1
- package/dist/esm/lib/otp-input.d.ts.map +0 -1
- package/dist/esm/lib/provider-icon.d.ts.map +0 -1
- package/dist/esm/lib/resend-invite-dialog.d.ts.map +0 -1
- package/dist/esm/lib/reset-mfa-dialog.d.ts.map +0 -1
- package/dist/esm/lib/revoke-invite-dialog.d.ts.map +0 -1
- package/dist/esm/lib/save-button.d.ts.map +0 -1
- package/dist/esm/lib/search-provider.d.ts.map +0 -1
- package/dist/esm/lib/set-password-dialog.d.ts.map +0 -1
- package/dist/esm/lib/status.d.ts.map +0 -1
- package/dist/esm/lib/use-dialog-close.d.ts.map +0 -1
- package/dist/esm/lib/use-is-hydrated.d.ts.map +0 -1
- package/dist/esm/lib/use-layout-effect.d.ts.map +0 -1
- package/dist/esm/lib/use-permissions.d.ts.map +0 -1
- package/dist/esm/lib/use-security-settings.d.ts.map +0 -1
- package/dist/esm/lib/user-actions-dropdown.d.ts.map +0 -1
- package/dist/esm/lib/user-profile.d.ts.map +0 -1
- package/dist/esm/lib/user-security.d.ts.map +0 -1
- package/dist/esm/lib/user-sessions.d.ts.map +0 -1
- package/dist/esm/lib/users-filter.d.ts.map +0 -1
- package/dist/esm/lib/users-management-context.d.ts.map +0 -1
- package/dist/esm/lib/users-management-state.d.ts.map +0 -1
- package/dist/esm/lib/users-management.d.ts.map +0 -1
- package/dist/esm/lib/users-search.d.ts.map +0 -1
- package/dist/esm/lib/utils.d.ts.map +0 -1
- package/dist/esm/lib/view-dns-record-dialog.d.ts.map +0 -1
- package/dist/esm/lib/widgets-context.d.ts.map +0 -1
- package/dist/esm/organization-switcher.client.d.ts.map +0 -1
- package/dist/esm/user-profile.client.d.ts.map +0 -1
- package/dist/esm/user-security.client.d.ts.map +0 -1
- package/dist/esm/user-sessions.client.d.ts.map +0 -1
- package/dist/esm/users-management.client.d.ts.map +0 -1
- package/dist/esm/workos-widgets.client.d.ts.map +0 -1
- package/dist/tsconfig.cjs.tsbuildinfo +0 -1
- package/dist/tsconfig.esm.tsbuildinfo +0 -1
|
@@ -1,139 +1,258 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import {
|
|
4
|
+
Callout,
|
|
5
|
+
Dialog,
|
|
6
|
+
Flex,
|
|
7
|
+
Select,
|
|
8
|
+
Text,
|
|
9
|
+
VisuallyHidden
|
|
10
|
+
} from "@radix-ui/themes";
|
|
4
11
|
import * as React from "react";
|
|
5
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
DialogContent,
|
|
14
|
+
PrimaryButton,
|
|
15
|
+
SecondaryButton,
|
|
16
|
+
SelectContent,
|
|
17
|
+
SelectItem,
|
|
18
|
+
SelectTrigger,
|
|
19
|
+
TextField
|
|
20
|
+
} from "./elements.js";
|
|
6
21
|
import { Label } from "./elements.js";
|
|
7
22
|
import { isErrorLike } from "./utils.js";
|
|
8
23
|
import { useInviteUser } from "./api/user.js";
|
|
9
24
|
import { useRoles } from "../api/endpoint.js";
|
|
10
|
-
/**
|
|
11
|
-
* Used to stub a fake value for the role select. It will be selected by default
|
|
12
|
-
* before the role query resolves, or if the query results in an error. We do
|
|
13
|
-
* this because we need to provide _any_ value to the select to avoid
|
|
14
|
-
* controlled/uncontrolled bugs.
|
|
15
|
-
*/
|
|
16
25
|
const PLACEHOLDER_ROLE = "_rolePlaceholder";
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
26
|
+
function InviteUserDialog({ children }) {
|
|
27
|
+
const [open, setOpen] = React.useState(false);
|
|
28
|
+
const dialogId = toId("invite-user", React.useId());
|
|
29
|
+
const formId = toId(dialogId, "form");
|
|
30
|
+
const inviteUser = useInviteUser();
|
|
31
|
+
const rolesQuery = useRoles({
|
|
32
|
+
query: { initialData: [] }
|
|
33
|
+
});
|
|
34
|
+
const roles = rolesQuery.data;
|
|
35
|
+
const [selectedRole, setSelectedRole] = React.useState(
|
|
36
|
+
() => getDefaultRole(roles)?.slug || PLACEHOLDER_ROLE
|
|
37
|
+
);
|
|
38
|
+
React.useEffect(() => {
|
|
39
|
+
setSelectedRole((selectedRole2) => {
|
|
40
|
+
if (roles.find((role) => role.slug === selectedRole2)) {
|
|
41
|
+
return selectedRole2;
|
|
42
|
+
}
|
|
43
|
+
return getDefaultRole(roles)?.slug || PLACEHOLDER_ROLE;
|
|
24
44
|
});
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
45
|
+
}, [roles]);
|
|
46
|
+
const onSubmitForm = (data) => {
|
|
47
|
+
if (inviteUser.isPending || rolesQuery.status !== "success") {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
inviteUser.mutate(
|
|
51
|
+
{ data },
|
|
52
|
+
{
|
|
53
|
+
onSuccess: () => {
|
|
54
|
+
setOpen(false);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
};
|
|
59
|
+
const formErrors = getFormErrors(inviteUser.error);
|
|
60
|
+
useFormFieldFocusOnError(dialogId, inviteUser.error);
|
|
61
|
+
return /* @__PURE__ */ jsxs(Dialog.Root, { open, onOpenChange: setOpen, children: [
|
|
62
|
+
children && /* @__PURE__ */ jsx(Dialog.Trigger, { children }),
|
|
63
|
+
/* @__PURE__ */ jsxs(DialogContent, { maxWidth: "480px", children: [
|
|
64
|
+
/* @__PURE__ */ jsx(Dialog.Title, { children: "Invite user" }),
|
|
65
|
+
/* @__PURE__ */ jsx(Dialog.Description, { children: "An invitation will be sent to this email address with a link to complete their account." }),
|
|
66
|
+
/* @__PURE__ */ jsx(Flex, { direction: "column", gap: "4", mt: "5", asChild: true, children: /* @__PURE__ */ jsxs(
|
|
67
|
+
"form",
|
|
68
|
+
{
|
|
69
|
+
id: formId,
|
|
70
|
+
onSubmit: async (event) => {
|
|
71
|
+
event.preventDefault();
|
|
72
|
+
onSubmitForm({
|
|
73
|
+
email: event.currentTarget.email.value,
|
|
74
|
+
roles: [selectedRole]
|
|
75
|
+
});
|
|
76
|
+
},
|
|
77
|
+
children: [
|
|
78
|
+
/* @__PURE__ */ jsx(
|
|
79
|
+
FormField,
|
|
80
|
+
{
|
|
81
|
+
rootId: dialogId,
|
|
82
|
+
name: "email",
|
|
83
|
+
label: "Email address",
|
|
84
|
+
error: formErrors.fields.email,
|
|
85
|
+
required: true,
|
|
86
|
+
control: (props) => /* @__PURE__ */ jsx(
|
|
87
|
+
TextField,
|
|
88
|
+
{
|
|
89
|
+
...props,
|
|
90
|
+
"data-1p-ignore": "true",
|
|
91
|
+
"data-lpignore": "true",
|
|
92
|
+
type: "email",
|
|
93
|
+
autoComplete: "off",
|
|
94
|
+
placeholder: "Enter an email address"
|
|
95
|
+
}
|
|
96
|
+
)
|
|
97
|
+
}
|
|
98
|
+
),
|
|
99
|
+
/* @__PURE__ */ jsx(
|
|
100
|
+
FormField,
|
|
101
|
+
{
|
|
102
|
+
rootId: dialogId,
|
|
103
|
+
name: "role",
|
|
104
|
+
label: "Role",
|
|
105
|
+
error: formErrors.fields.role,
|
|
106
|
+
disabled: rolesQuery.isPending || roles.length <= 1,
|
|
107
|
+
info: roles.length === 1 ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
108
|
+
"New users will be invited with the",
|
|
109
|
+
" ",
|
|
110
|
+
/* @__PURE__ */ jsx(Text, { weight: "bold", children: roles[0].name }),
|
|
111
|
+
" role, as it is the only one available."
|
|
112
|
+
] }) : void 0,
|
|
113
|
+
control: ({
|
|
114
|
+
id,
|
|
115
|
+
"aria-invalid": ariaInvalid,
|
|
116
|
+
"aria-describedby": ariaDescribedBy,
|
|
117
|
+
...props
|
|
118
|
+
}) => /* @__PURE__ */ jsxs(
|
|
119
|
+
Select.Root,
|
|
120
|
+
{
|
|
121
|
+
...props,
|
|
122
|
+
value: selectedRole,
|
|
123
|
+
onValueChange: setSelectedRole,
|
|
124
|
+
children: [
|
|
125
|
+
/* @__PURE__ */ jsx(
|
|
126
|
+
SelectTrigger,
|
|
127
|
+
{
|
|
128
|
+
id,
|
|
129
|
+
"aria-invalid": ariaInvalid,
|
|
130
|
+
"aria-describedby": ariaDescribedBy
|
|
131
|
+
}
|
|
132
|
+
),
|
|
133
|
+
/* @__PURE__ */ jsxs(SelectContent, { children: [
|
|
134
|
+
/* @__PURE__ */ jsx(SelectItem, { value: PLACEHOLDER_ROLE, disabled: true, children: "Select a role" }),
|
|
135
|
+
roles.map((role) => /* @__PURE__ */ jsx(SelectItem, { value: role.slug, children: role.name }, role.slug))
|
|
136
|
+
] })
|
|
137
|
+
]
|
|
138
|
+
}
|
|
139
|
+
)
|
|
140
|
+
}
|
|
141
|
+
)
|
|
142
|
+
]
|
|
41
143
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
144
|
+
) }),
|
|
145
|
+
formErrors.form ? /* @__PURE__ */ jsx(Callout.Root, { color: "red", mt: "4", mb: "-2", children: /* @__PURE__ */ jsx(Callout.Text, { children: formErrors.form }) }) : null,
|
|
146
|
+
/* @__PURE__ */ jsxs(Flex, { mt: "5", gap: "3", justify: "end", children: [
|
|
147
|
+
/* @__PURE__ */ jsx(Dialog.Close, { children: /* @__PURE__ */ jsx(SecondaryButton, { disabled: inviteUser.isPending, children: "Cancel" }) }),
|
|
148
|
+
/* @__PURE__ */ jsx(
|
|
149
|
+
PrimaryButton,
|
|
150
|
+
{
|
|
151
|
+
form: formId,
|
|
152
|
+
loading: inviteUser.isPending,
|
|
153
|
+
disabled: rolesQuery.isPending || void 0,
|
|
154
|
+
children: "Invite"
|
|
155
|
+
}
|
|
156
|
+
)
|
|
157
|
+
] }),
|
|
158
|
+
/* @__PURE__ */ jsx(VisuallyHidden, { asChild: true, children: /* @__PURE__ */ jsx("section", { "aria-live": "polite", children: formErrors.form }) })
|
|
159
|
+
] }, String(open))
|
|
160
|
+
] });
|
|
57
161
|
}
|
|
58
|
-
function FormField({
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
162
|
+
function FormField({
|
|
163
|
+
rootId,
|
|
164
|
+
name,
|
|
165
|
+
label,
|
|
166
|
+
error,
|
|
167
|
+
info,
|
|
168
|
+
control,
|
|
169
|
+
required,
|
|
170
|
+
disabled
|
|
171
|
+
}) {
|
|
172
|
+
const fieldId = toId(rootId, name);
|
|
173
|
+
const errorId = toId(rootId, name, "error");
|
|
174
|
+
const infoId = toId(rootId, name, "info");
|
|
175
|
+
return /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: "1", children: [
|
|
176
|
+
/* @__PURE__ */ jsx(Label, { htmlFor: fieldId, children: label }),
|
|
177
|
+
control({
|
|
178
|
+
id: fieldId,
|
|
179
|
+
name,
|
|
180
|
+
"aria-describedby": (() => {
|
|
181
|
+
const tags = [];
|
|
182
|
+
if (error) {
|
|
183
|
+
tags.push(errorId);
|
|
184
|
+
}
|
|
185
|
+
if (info) {
|
|
186
|
+
tags.push(infoId);
|
|
187
|
+
}
|
|
188
|
+
if (tags.length === 0) {
|
|
189
|
+
return void 0;
|
|
190
|
+
}
|
|
191
|
+
return tags.join(" ");
|
|
192
|
+
})(),
|
|
193
|
+
"aria-invalid": !!error || void 0,
|
|
194
|
+
required: required || void 0,
|
|
195
|
+
disabled: disabled || void 0
|
|
196
|
+
}),
|
|
197
|
+
error ? /* @__PURE__ */ jsx(Text, { color: "red", size: "2", id: errorId, children: error }) : null,
|
|
198
|
+
info ? /* @__PURE__ */ jsx(Text, { color: "gray", size: "2", id: infoId, mt: "1", children: info }) : null
|
|
199
|
+
] });
|
|
82
200
|
}
|
|
83
201
|
function toId(...parts) {
|
|
84
|
-
|
|
202
|
+
return parts.join("-");
|
|
85
203
|
}
|
|
86
204
|
function getFormErrors(queryError) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
switch (queryError.message.toLowerCase()) {
|
|
102
|
-
case "user already exists":
|
|
103
|
-
case "user already invited":
|
|
104
|
-
case "invalid email":
|
|
105
|
-
formErrors.fields.email = queryError.message;
|
|
106
|
-
break;
|
|
107
|
-
case "invalid role":
|
|
108
|
-
formErrors.fields.role = queryError.message;
|
|
109
|
-
break;
|
|
110
|
-
default:
|
|
111
|
-
// TODO handle more cases for various server errors
|
|
112
|
-
formErrors.form =
|
|
113
|
-
"There was an error inviting this user. Please refresh the page and try again.";
|
|
114
|
-
break;
|
|
115
|
-
}
|
|
205
|
+
const formErrors = {
|
|
206
|
+
form: null,
|
|
207
|
+
fields: {
|
|
208
|
+
email: null,
|
|
209
|
+
role: null
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
if (queryError) {
|
|
213
|
+
if (!isErrorLike(queryError)) {
|
|
214
|
+
return {
|
|
215
|
+
...formErrors,
|
|
216
|
+
form: "An unexpected error occurred. Please try again."
|
|
217
|
+
};
|
|
116
218
|
}
|
|
117
|
-
|
|
219
|
+
switch (queryError.message.toLowerCase()) {
|
|
220
|
+
case "user already exists":
|
|
221
|
+
case "user already invited":
|
|
222
|
+
case "invalid email":
|
|
223
|
+
formErrors.fields.email = queryError.message;
|
|
224
|
+
break;
|
|
225
|
+
case "invalid role":
|
|
226
|
+
formErrors.fields.role = queryError.message;
|
|
227
|
+
break;
|
|
228
|
+
default:
|
|
229
|
+
formErrors.form = "There was an error inviting this user. Please refresh the page and try again.";
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
return formErrors;
|
|
118
234
|
}
|
|
119
235
|
function useFormFieldFocusOnError(dialogId, queryError) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
131
|
-
break;
|
|
132
|
-
}
|
|
236
|
+
React.useEffect(() => {
|
|
237
|
+
const fieldErrors = getFormErrors(queryError).fields;
|
|
238
|
+
for (const [name, error] of Object.entries(fieldErrors)) {
|
|
239
|
+
if (error) {
|
|
240
|
+
const fieldElement = document.getElementById(toId(dialogId, name));
|
|
241
|
+
if (fieldElement) {
|
|
242
|
+
fieldElement?.focus();
|
|
243
|
+
if ("select" in fieldElement) {
|
|
244
|
+
fieldElement.select();
|
|
245
|
+
}
|
|
133
246
|
}
|
|
134
|
-
|
|
247
|
+
break;
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}, [dialogId, queryError]);
|
|
135
251
|
}
|
|
136
252
|
function getDefaultRole(roles) {
|
|
137
|
-
|
|
253
|
+
return roles.find((role) => role.default) || roles[0];
|
|
138
254
|
}
|
|
255
|
+
export {
|
|
256
|
+
InviteUserDialog
|
|
257
|
+
};
|
|
139
258
|
//# sourceMappingURL=invite-user-dialog.js.map
|
|
@@ -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,"sources":["../../../src/lib/invite-user-dialog.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Callout,\n Dialog,\n Flex,\n Select,\n Text,\n VisuallyHidden,\n} from \"@radix-ui/themes\";\nimport * as React from \"react\";\nimport {\n DialogContent,\n PrimaryButton,\n SecondaryButton,\n SelectContent,\n SelectItem,\n SelectTrigger,\n TextField,\n} from \"./elements.js\";\nimport { Label } from \"./elements.js\";\nimport { isErrorLike } from \"./utils.js\";\nimport { useInviteUser } from \"./api/user.js\";\nimport { InviteMemberInput, MemberRole, useRoles } from \"../api/endpoint.js\";\n\n/**\n * Used to stub a fake value for the role select. It will be selected by default\n * before the role query resolves, or if the query results in an error. We do\n * this because we need to provide _any_ value to the select to avoid\n * controlled/uncontrolled bugs.\n */\nconst PLACEHOLDER_ROLE = \"_rolePlaceholder\";\n\ninterface InviteUserDialogProps {\n children?: React.ReactNode;\n}\n\nexport function InviteUserDialog({ children }: InviteUserDialogProps) {\n const [open, setOpen] = React.useState(false);\n const dialogId = toId(\"invite-user\", React.useId());\n const formId = toId(dialogId, \"form\");\n\n const inviteUser = useInviteUser();\n const rolesQuery = useRoles({\n query: { initialData: [] },\n });\n const roles = rolesQuery.data;\n const [selectedRole, setSelectedRole] = React.useState(\n () => getDefaultRole(roles)?.slug || PLACEHOLDER_ROLE,\n );\n React.useEffect(() => {\n // Update the selected role if it's not in the list (eg if the list was\n // previously empty and the query resolved)\n setSelectedRole((selectedRole) => {\n if (roles.find((role) => role.slug === selectedRole)) {\n // if current selected role is in the new list, don't change it\n return selectedRole;\n }\n return getDefaultRole(roles)?.slug || PLACEHOLDER_ROLE;\n });\n }, [roles]);\n\n const onSubmitForm = (data: InviteMemberInput) => {\n if (inviteUser.isPending || rolesQuery.status !== \"success\") {\n return;\n }\n inviteUser.mutate(\n { data },\n {\n onSuccess: () => {\n setOpen(false);\n },\n },\n );\n };\n\n const formErrors = getFormErrors(inviteUser.error);\n useFormFieldFocusOnError(dialogId, inviteUser.error);\n\n return (\n <Dialog.Root open={open} onOpenChange={setOpen}>\n {children && <Dialog.Trigger>{children}</Dialog.Trigger>}\n <DialogContent maxWidth=\"480px\" key={String(open)}>\n <Dialog.Title>Invite user</Dialog.Title>\n <Dialog.Description>\n An invitation will be sent to this email address with a link to\n complete their account.\n </Dialog.Description>\n <Flex direction=\"column\" gap=\"4\" mt=\"5\" asChild>\n <form\n id={formId}\n onSubmit={async (event) => {\n event.preventDefault();\n onSubmitForm({\n email: event.currentTarget.email.value,\n roles: [selectedRole],\n });\n }}\n >\n <FormField\n rootId={dialogId}\n name=\"email\"\n label=\"Email address\"\n error={formErrors.fields.email}\n required\n control={(props) => (\n <TextField\n {...props}\n data-1p-ignore=\"true\"\n data-lpignore=\"true\"\n type=\"email\"\n autoComplete=\"off\"\n placeholder=\"Enter an email address\"\n />\n )}\n />\n\n <FormField\n rootId={dialogId}\n name=\"role\"\n label=\"Role\"\n error={formErrors.fields.role}\n disabled={rolesQuery.isPending || roles.length <= 1}\n info={\n roles.length === 1 ? (\n <>\n New users will be invited with the{\" \"}\n <Text weight=\"bold\">{roles[0].name}</Text> role, as it is\n the only one available.\n </>\n ) : undefined\n }\n control={({\n id,\n \"aria-invalid\": ariaInvalid,\n \"aria-describedby\": ariaDescribedBy,\n ...props\n }) => (\n <Select.Root\n {...props}\n value={selectedRole}\n onValueChange={setSelectedRole}\n >\n <SelectTrigger\n id={id}\n aria-invalid={ariaInvalid}\n aria-describedby={ariaDescribedBy}\n />\n <SelectContent>\n <SelectItem value={PLACEHOLDER_ROLE} disabled>\n Select a role\n </SelectItem>\n {roles.map((role) => (\n <SelectItem key={role.slug} value={role.slug}>\n {role.name}\n </SelectItem>\n ))}\n </SelectContent>\n </Select.Root>\n )}\n />\n </form>\n </Flex>\n\n {formErrors.form ? (\n <Callout.Root color=\"red\" mt=\"4\" mb=\"-2\">\n <Callout.Text>{formErrors.form}</Callout.Text>\n </Callout.Root>\n ) : null}\n\n <Flex mt=\"5\" gap=\"3\" justify=\"end\">\n <Dialog.Close>\n <SecondaryButton disabled={inviteUser.isPending}>\n Cancel\n </SecondaryButton>\n </Dialog.Close>\n <PrimaryButton\n form={formId}\n loading={inviteUser.isPending}\n disabled={rolesQuery.isPending || undefined}\n >\n Invite\n </PrimaryButton>\n </Flex>\n {/* mirror errors in a live region */}\n <VisuallyHidden asChild>\n <section aria-live=\"polite\">{formErrors.form}</section>\n </VisuallyHidden>\n </DialogContent>\n </Dialog.Root>\n );\n}\n\ninterface FormControlRenderProps {\n id: string;\n name: string;\n \"aria-describedby\": string | undefined;\n \"aria-invalid\"?: boolean;\n required: boolean | undefined;\n disabled: boolean | undefined;\n}\n\nfunction FormField({\n rootId,\n name,\n label,\n error,\n info,\n control,\n required,\n disabled,\n}: {\n rootId: string;\n name: string;\n label: string;\n error?: React.ReactNode;\n info?: React.ReactNode;\n control: (props: FormControlRenderProps) => React.ReactNode;\n required?: boolean;\n disabled?: boolean;\n}) {\n const fieldId = toId(rootId, name);\n const errorId = toId(rootId, name, \"error\");\n const infoId = toId(rootId, name, \"info\");\n return (\n <Flex direction=\"column\" gap=\"1\">\n <Label htmlFor={fieldId}>{label}</Label>\n {control({\n id: fieldId,\n name,\n \"aria-describedby\": (() => {\n const tags: string[] = [];\n if (error) {\n tags.push(errorId);\n }\n if (info) {\n tags.push(infoId);\n }\n if (tags.length === 0) {\n return undefined;\n }\n return tags.join(\" \");\n })(),\n \"aria-invalid\": !!error || undefined,\n required: required || undefined,\n disabled: disabled || undefined,\n })}\n\n {error ? (\n <Text color=\"red\" size=\"2\" id={errorId}>\n {error}\n </Text>\n ) : null}\n {info ? (\n <Text color=\"gray\" size=\"2\" id={infoId} mt=\"1\">\n {info}\n </Text>\n ) : null}\n </Flex>\n );\n}\n\nfunction toId(...parts: string[]) {\n return parts.join(\"-\");\n}\n\nfunction getFormErrors(queryError: unknown) {\n const formErrors = {\n form: null as string | null,\n fields: {\n email: null as string | null,\n role: null as string | null,\n },\n };\n\n if (queryError) {\n if (!isErrorLike(queryError)) {\n return {\n ...formErrors,\n form: \"An unexpected error occurred. Please try again.\",\n };\n }\n\n switch (queryError.message.toLowerCase()) {\n case \"user already exists\":\n case \"user already invited\":\n case \"invalid email\":\n formErrors.fields.email = queryError.message;\n break;\n case \"invalid role\":\n formErrors.fields.role = queryError.message;\n break;\n default:\n // TODO handle more cases for various server errors\n formErrors.form =\n \"There was an error inviting this user. Please refresh the page and try again.\";\n break;\n }\n }\n\n return formErrors;\n}\n\nfunction useFormFieldFocusOnError(dialogId: string, queryError: unknown) {\n React.useEffect(() => {\n const fieldErrors = getFormErrors(queryError).fields;\n for (const [name, error] of Object.entries(fieldErrors)) {\n if (error) {\n const fieldElement = document.getElementById(toId(dialogId, name)) as\n | HTMLInputElement\n | HTMLButtonElement\n | null;\n if (fieldElement) {\n fieldElement?.focus();\n if (\"select\" in fieldElement) {\n fieldElement.select();\n }\n }\n break;\n }\n }\n }, [dialogId, queryError]);\n}\n\nfunction getDefaultRole(roles: MemberRole[]) {\n return roles.find((role) => role.default) || roles[0];\n}\n"],"mappings":"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","names":["selectedRole"]}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { AlertDialog } from '@radix-ui/themes';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
|
|
3
5
|
interface LogoutAllSessionsDialogProps extends AlertDialog.RootProps {
|
|
4
6
|
children?: ReactNode;
|
|
5
7
|
currentSessionId: string;
|
|
6
8
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
declare function LogoutAllSessionsDialog({ open, onOpenChange, children, currentSessionId, ...props }: LogoutAllSessionsDialogProps): react_jsx_runtime.JSX.Element;
|
|
10
|
+
|
|
11
|
+
export { LogoutAllSessionsDialog };
|
|
@@ -1,26 +1,67 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import * as React from "react";
|
|
4
4
|
import { AlertDialog, Flex } from "@radix-ui/themes";
|
|
5
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
AlertDialogContent,
|
|
7
|
+
DestructiveButton,
|
|
8
|
+
SecondaryButton
|
|
9
|
+
} from "./elements.js";
|
|
6
10
|
import { getSessionsQueryKey, useRevokeAllSessions } from "../api/endpoint.js";
|
|
7
11
|
import { useQueryClient } from "@tanstack/react-query";
|
|
8
12
|
import { SaveButton } from "./save-button.js";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
13
|
+
function LogoutAllSessionsDialog({
|
|
14
|
+
open,
|
|
15
|
+
onOpenChange,
|
|
16
|
+
children,
|
|
17
|
+
currentSessionId,
|
|
18
|
+
...props
|
|
19
|
+
}) {
|
|
20
|
+
const client = useQueryClient();
|
|
21
|
+
const revokeAllSessions = useRevokeAllSessions();
|
|
22
|
+
const onSubmitForm = () => {
|
|
23
|
+
revokeAllSessions.mutate({ data: { currentSessionId } });
|
|
24
|
+
};
|
|
25
|
+
const handleDone = React.useCallback(() => {
|
|
26
|
+
onOpenChange?.(false);
|
|
27
|
+
client.invalidateQueries({
|
|
28
|
+
queryKey: getSessionsQueryKey()
|
|
29
|
+
});
|
|
30
|
+
}, [client, onOpenChange]);
|
|
31
|
+
return /* @__PURE__ */ jsx(AlertDialog.Root, { open, onOpenChange, ...props, children: /* @__PURE__ */ jsxs(AlertDialogContent, { maxWidth: "480px", children: [
|
|
32
|
+
/* @__PURE__ */ jsx(AlertDialog.Title, { children: "Sign out of all other devices?" }),
|
|
33
|
+
/* @__PURE__ */ jsx(AlertDialog.Description, { children: "You will be logged out of all other active sessions on other devices, except this one." }),
|
|
34
|
+
/* @__PURE__ */ jsx(Flex, { gap: "3", justify: "end", mt: "5", asChild: true, children: /* @__PURE__ */ jsxs(
|
|
35
|
+
"form",
|
|
36
|
+
{
|
|
37
|
+
onSubmit: (event) => {
|
|
38
|
+
event.preventDefault();
|
|
39
|
+
onSubmitForm();
|
|
40
|
+
},
|
|
41
|
+
children: [
|
|
42
|
+
/* @__PURE__ */ jsx(AlertDialog.Cancel, { children: /* @__PURE__ */ jsx(
|
|
43
|
+
SecondaryButton,
|
|
44
|
+
{
|
|
45
|
+
disabled: revokeAllSessions.isPending || revokeAllSessions.isSuccess,
|
|
46
|
+
children: "Cancel"
|
|
47
|
+
}
|
|
48
|
+
) }),
|
|
49
|
+
/* @__PURE__ */ jsx(
|
|
50
|
+
SaveButton,
|
|
51
|
+
{
|
|
52
|
+
asChild: true,
|
|
53
|
+
loading: revokeAllSessions.isPending,
|
|
54
|
+
done: revokeAllSessions.isSuccess,
|
|
55
|
+
onDone: handleDone,
|
|
56
|
+
children: /* @__PURE__ */ jsx(DestructiveButton, { type: "submit", children: "Sign out" })
|
|
57
|
+
}
|
|
58
|
+
)
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
) })
|
|
62
|
+
] }) });
|
|
25
63
|
}
|
|
64
|
+
export {
|
|
65
|
+
LogoutAllSessionsDialog
|
|
66
|
+
};
|
|
26
67
|
//# sourceMappingURL=logout-all-sessions-dialog.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/logout-all-sessions-dialog.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { AlertDialog, Flex } from \"@radix-ui/themes\";\nimport { type ReactNode } from \"react\";\nimport {\n AlertDialogContent,\n DestructiveButton,\n SecondaryButton,\n} from \"./elements.js\";\nimport { getSessionsQueryKey, useRevokeAllSessions } from \"../api/endpoint.js\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { SaveButton } from \"./save-button.js\";\n\ninterface LogoutAllSessionsDialogProps extends AlertDialog.RootProps {\n children?: ReactNode;\n currentSessionId: string;\n}\n\nexport function LogoutAllSessionsDialog({\n open,\n onOpenChange,\n children,\n currentSessionId,\n ...props\n}: LogoutAllSessionsDialogProps) {\n const client = useQueryClient();\n\n const revokeAllSessions = useRevokeAllSessions();\n\n const onSubmitForm = () => {\n revokeAllSessions.mutate({ data: { currentSessionId } });\n };\n\n const handleDone = React.useCallback(() => {\n onOpenChange?.(false);\n\n client.invalidateQueries({\n queryKey: getSessionsQueryKey(),\n });\n }, [client, onOpenChange]);\n\n return (\n <AlertDialog.Root open={open} onOpenChange={onOpenChange} {...props}>\n <AlertDialogContent maxWidth=\"480px\">\n <AlertDialog.Title>Sign out of all other devices?</AlertDialog.Title>\n <AlertDialog.Description>\n You will be logged out of all other active sessions on other devices,\n except this one.\n </AlertDialog.Description>\n\n <Flex gap=\"3\" justify=\"end\" mt=\"5\" asChild>\n <form\n onSubmit={(event) => {\n event.preventDefault();\n onSubmitForm();\n }}\n >\n <AlertDialog.Cancel>\n <SecondaryButton\n disabled={\n revokeAllSessions.isPending || revokeAllSessions.isSuccess\n }\n >\n Cancel\n </SecondaryButton>\n </AlertDialog.Cancel>\n\n <SaveButton\n asChild\n loading={revokeAllSessions.isPending}\n done={revokeAllSessions.isSuccess}\n onDone={handleDone}\n >\n <DestructiveButton type=\"submit\">Sign out</DestructiveButton>\n </SaveButton>\n </form>\n </Flex>\n </AlertDialogContent>\n </AlertDialog.Root>\n );\n}\n"],"mappings":";AA6CQ,cAOE,YAPF;AA3CR,YAAY,WAAW;AACvB,SAAS,aAAa,YAAY;AAElC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,qBAAqB,4BAA4B;AAC1D,SAAS,sBAAsB;AAC/B,SAAS,kBAAkB;AAOpB,SAAS,wBAAwB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAiC;AAC/B,QAAM,SAAS,eAAe;AAE9B,QAAM,oBAAoB,qBAAqB;AAE/C,QAAM,eAAe,MAAM;AACzB,sBAAkB,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;AAAA,EACzD;AAEA,QAAM,aAAa,MAAM,YAAY,MAAM;AACzC,mBAAe,KAAK;AAEpB,WAAO,kBAAkB;AAAA,MACvB,UAAU,oBAAoB;AAAA,IAChC,CAAC;AAAA,EACH,GAAG,CAAC,QAAQ,YAAY,CAAC;AAEzB,SACE,oBAAC,YAAY,MAAZ,EAAiB,MAAY,cAA6B,GAAG,OAC5D,+BAAC,sBAAmB,UAAS,SAC3B;AAAA,wBAAC,YAAY,OAAZ,EAAkB,4CAA8B;AAAA,IACjD,oBAAC,YAAY,aAAZ,EAAwB,oGAGzB;AAAA,IAEA,oBAAC,QAAK,KAAI,KAAI,SAAQ,OAAM,IAAG,KAAI,SAAO,MACxC;AAAA,MAAC;AAAA;AAAA,QACC,UAAU,CAAC,UAAU;AACnB,gBAAM,eAAe;AACrB,uBAAa;AAAA,QACf;AAAA,QAEA;AAAA,8BAAC,YAAY,QAAZ,EACC;AAAA,YAAC;AAAA;AAAA,cACC,UACE,kBAAkB,aAAa,kBAAkB;AAAA,cAEpD;AAAA;AAAA,UAED,GACF;AAAA,UAEA;AAAA,YAAC;AAAA;AAAA,cACC,SAAO;AAAA,cACP,SAAS,kBAAkB;AAAA,cAC3B,MAAM,kBAAkB;AAAA,cACxB,QAAQ;AAAA,cAER,8BAAC,qBAAkB,MAAK,UAAS,sBAAQ;AAAA;AAAA,UAC3C;AAAA;AAAA;AAAA,IACF,GACF;AAAA,KACF,GACF;AAEJ;","names":[]}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { AlertDialog } from '@radix-ui/themes';
|
|
3
|
+
import { ReactNode } from 'react';
|
|
4
|
+
import { ActiveSession } from '../api/endpoint.js';
|
|
5
|
+
import '@tanstack/react-query';
|
|
6
|
+
import '../api/widgets-api-client.js';
|
|
7
|
+
|
|
4
8
|
interface LogoutDialogProps extends AlertDialog.RootProps {
|
|
5
9
|
children?: ReactNode;
|
|
6
10
|
session: ActiveSession;
|
|
7
11
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
12
|
+
declare function LogoutDialog({ children, session, open, onOpenChange, ...props }: LogoutDialogProps): react_jsx_runtime.JSX.Element;
|
|
13
|
+
|
|
14
|
+
export { LogoutDialog };
|