@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
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { ListMetadata } from '../api/endpoint.cjs';
|
|
3
|
+
import '@tanstack/react-query';
|
|
4
|
+
import '../api/widgets-api-client.cjs';
|
|
5
|
+
|
|
6
|
+
declare function useUsersManagementState(initialState: UsersManagementState): readonly [UsersManagementState, React.ActionDispatch<[action: UsersManagementAction]>];
|
|
7
|
+
interface UsersManagementState {
|
|
8
|
+
searchQuery: string | null;
|
|
9
|
+
role: string | null;
|
|
10
|
+
pagination: ListMetadata | null;
|
|
11
|
+
}
|
|
12
|
+
type UsersManagementAction = {
|
|
13
|
+
type: "INIT";
|
|
14
|
+
params: URLSearchParams;
|
|
15
|
+
} | {
|
|
16
|
+
type: "FILTER_BY_SEARCH";
|
|
17
|
+
searchQuery: string | null;
|
|
18
|
+
} | {
|
|
19
|
+
type: "FILTER_BY_ROLE";
|
|
20
|
+
role: string | null;
|
|
21
|
+
} | {
|
|
22
|
+
type: "SET_PAGINATION";
|
|
23
|
+
pagination: ListMetadata;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export { type UsersManagementAction, type UsersManagementState, useUsersManagementState };
|
|
@@ -0,0 +1,485 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all)
|
|
11
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
12
|
+
};
|
|
13
|
+
var __copyProps = (to, from, except, desc) => {
|
|
14
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
15
|
+
for (let key of __getOwnPropNames(from))
|
|
16
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
17
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
18
|
+
}
|
|
19
|
+
return to;
|
|
20
|
+
};
|
|
21
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
22
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
23
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
24
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
25
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
26
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
27
|
+
mod
|
|
28
|
+
));
|
|
29
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
30
|
+
var users_management_exports = {};
|
|
31
|
+
__export(users_management_exports, {
|
|
32
|
+
UsersManagement: () => UsersManagement,
|
|
33
|
+
UsersManagementError: () => UsersManagementError,
|
|
34
|
+
UsersManagementLoading: () => UsersManagementLoading
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(users_management_exports);
|
|
37
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
38
|
+
var React = __toESM(require("react"), 1);
|
|
39
|
+
var import_themes = require("@radix-ui/themes");
|
|
40
|
+
var import_elements = require("./elements.js");
|
|
41
|
+
var import_invite_user_dialog = require("./invite-user-dialog.js");
|
|
42
|
+
var import_search_provider = require("./search-provider.js");
|
|
43
|
+
var import_use_is_hydrated = require("./use-is-hydrated.js");
|
|
44
|
+
var import_user_actions_dropdown = require("./user-actions-dropdown.js");
|
|
45
|
+
var import_users_filter = require("./users-filter.js");
|
|
46
|
+
var import_users_search = require("./users-search.js");
|
|
47
|
+
var import_utils = require("./utils.js");
|
|
48
|
+
var import_constants = require("./constants.js");
|
|
49
|
+
var import_users_management_context = require("./users-management-context.js");
|
|
50
|
+
var import_clsx = __toESM(require("clsx"), 1);
|
|
51
|
+
var import_generic_error = require("./generic-error.js");
|
|
52
|
+
const UsersManagement = ({
|
|
53
|
+
userData,
|
|
54
|
+
rolesData,
|
|
55
|
+
isPending,
|
|
56
|
+
disableRolesFilter
|
|
57
|
+
}) => {
|
|
58
|
+
const users = userData?.data ?? [];
|
|
59
|
+
const usersCount = users?.length ?? 0;
|
|
60
|
+
const isHydrated = (0, import_use_is_hydrated.useIsHydrated)();
|
|
61
|
+
const { listMetadata: pagination = {} } = userData;
|
|
62
|
+
const { dispatch } = (0, import_users_management_context.useUsersManagementContext)();
|
|
63
|
+
const isMultipleRolesEnabled = rolesData.multipleRolesEnabled;
|
|
64
|
+
const [deferredLoading, setDeferredLoading] = React.useState(false);
|
|
65
|
+
React.useEffect(() => {
|
|
66
|
+
if (isPending) {
|
|
67
|
+
const timeoutId = window.setTimeout(() => {
|
|
68
|
+
setDeferredLoading(true);
|
|
69
|
+
}, 500);
|
|
70
|
+
return () => {
|
|
71
|
+
window.clearTimeout(timeoutId);
|
|
72
|
+
};
|
|
73
|
+
} else {
|
|
74
|
+
setDeferredLoading(false);
|
|
75
|
+
}
|
|
76
|
+
}, [isPending]);
|
|
77
|
+
const showPagination = !!(pagination.before || pagination.after);
|
|
78
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_search_provider.SearchProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UsersManagementRoot, { children: [
|
|
79
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Grid, { columns: "1fr auto", gap: "2", children: [
|
|
80
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Flex, { gap: "2", align: "center", children: [
|
|
81
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Box, { flexBasis: "380px", flexGrow: "0", flexShrink: "1", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_users_search.UsersSearch, {}) }),
|
|
82
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Box, { flexGrow: "0", flexShrink: "0", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
83
|
+
import_users_filter.UsersFilter,
|
|
84
|
+
{
|
|
85
|
+
roles: rolesData.roles,
|
|
86
|
+
disabled: disableRolesFilter
|
|
87
|
+
}
|
|
88
|
+
) })
|
|
89
|
+
] }),
|
|
90
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Box, { flexGrow: "0", flexShrink: "0", style: { placeSelf: "flex-end" }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_invite_user_dialog.InviteUserDialog, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.PrimaryButton, { children: "Invite user" }) }) })
|
|
91
|
+
] }),
|
|
92
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Table.Root, { variant: "ghost", size: "1", children: [
|
|
93
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.Header, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Table.Row, { children: [
|
|
94
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.ColumnHeaderCell, { width: "260px", children: "User" }),
|
|
95
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.ColumnHeaderCell, { width: "100px", children: `Role${isMultipleRolesEnabled ? "s" : ""}` }),
|
|
96
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.ColumnHeaderCell, { width: "140px", children: "Last active" }),
|
|
97
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.ColumnHeaderCell, { width: "28px" })
|
|
98
|
+
] }) }),
|
|
99
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
100
|
+
import_themes.Table.Body,
|
|
101
|
+
{
|
|
102
|
+
style: {
|
|
103
|
+
transition: `opacity 0.2s ease-out ${isPending ? "0.2s" : "0s"}`,
|
|
104
|
+
opacity: isPending && usersCount > 0 ? 0.5 : 1
|
|
105
|
+
},
|
|
106
|
+
children: users.length > 0 ? users.map((user) => {
|
|
107
|
+
const userDisplayName = (0, import_utils.getBestName)(user);
|
|
108
|
+
const dimText = user.status === "InviteRevoked" || user.status === "InviteExpired";
|
|
109
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Table.Row, { align: "center", children: [
|
|
110
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.RowHeaderCell, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
111
|
+
import_themes.Flex,
|
|
112
|
+
{
|
|
113
|
+
align: "center",
|
|
114
|
+
gap: "3",
|
|
115
|
+
overflow: "hidden",
|
|
116
|
+
height: "var(--space-7)",
|
|
117
|
+
children: [
|
|
118
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
119
|
+
import_elements.Avatar,
|
|
120
|
+
{
|
|
121
|
+
size: "2",
|
|
122
|
+
fallback: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(FallbackUserIcon, {}),
|
|
123
|
+
src: user.profilePictureUrl ?? void 0,
|
|
124
|
+
dim: dimText
|
|
125
|
+
}
|
|
126
|
+
),
|
|
127
|
+
userDisplayName ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
128
|
+
import_themes.Flex,
|
|
129
|
+
{
|
|
130
|
+
direction: "column",
|
|
131
|
+
align: "start",
|
|
132
|
+
height: "var(--space-7)",
|
|
133
|
+
justify: "center",
|
|
134
|
+
overflow: "hidden",
|
|
135
|
+
children: [
|
|
136
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Flex, { gap: "2", align: "center", minWidth: "0", children: [
|
|
137
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableCellText, { dim: dimText, children: userDisplayName }),
|
|
138
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UserBadge, { user })
|
|
139
|
+
] }),
|
|
140
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
141
|
+
TableCellText,
|
|
142
|
+
{
|
|
143
|
+
level: "secondary",
|
|
144
|
+
title: user.email,
|
|
145
|
+
dim: dimText,
|
|
146
|
+
children: user.email
|
|
147
|
+
}
|
|
148
|
+
)
|
|
149
|
+
]
|
|
150
|
+
}
|
|
151
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Flex, { gap: "2", align: "center", minWidth: "0", children: [
|
|
152
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableCellText, { dim: dimText, title: user.email, children: user.email }),
|
|
153
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(UserBadge, { user })
|
|
154
|
+
] })
|
|
155
|
+
]
|
|
156
|
+
}
|
|
157
|
+
) }),
|
|
158
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.Cell, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
159
|
+
UserRolesCellContent,
|
|
160
|
+
{
|
|
161
|
+
user,
|
|
162
|
+
isMultipleRolesEnabled,
|
|
163
|
+
dimText
|
|
164
|
+
}
|
|
165
|
+
) }),
|
|
166
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.Cell, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LastActive, { user, isHydrated }) }),
|
|
167
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.Cell, { justify: "end", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_user_actions_dropdown.UserActionsDropdown, { user, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_elements.IconButton, { title: "User actions", children: [
|
|
168
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.VisuallyHidden, { children: "User actions" }),
|
|
169
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
170
|
+
"svg",
|
|
171
|
+
{
|
|
172
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
173
|
+
fill: "none",
|
|
174
|
+
viewBox: "0 0 24 24",
|
|
175
|
+
width: "16",
|
|
176
|
+
height: "16",
|
|
177
|
+
strokeWidth: 1.5,
|
|
178
|
+
stroke: "currentColor",
|
|
179
|
+
"aria-hidden": true,
|
|
180
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
181
|
+
"path",
|
|
182
|
+
{
|
|
183
|
+
strokeLinecap: "round",
|
|
184
|
+
strokeLinejoin: "round",
|
|
185
|
+
d: "M6.75 12a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM12.75 12a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM18.75 12a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z"
|
|
186
|
+
}
|
|
187
|
+
)
|
|
188
|
+
}
|
|
189
|
+
)
|
|
190
|
+
] }) }) })
|
|
191
|
+
] }, user.id);
|
|
192
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.Row, { align: "center", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.Cell, { colSpan: 4, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(UsersManagementEmptyState, { isPending }) }) })
|
|
193
|
+
}
|
|
194
|
+
)
|
|
195
|
+
] }),
|
|
196
|
+
showPagination ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Flex, { gap: "2", justify: "end", children: [
|
|
197
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
198
|
+
import_elements.SecondaryButton,
|
|
199
|
+
{
|
|
200
|
+
size: "1",
|
|
201
|
+
disabled: !pagination.after || isPending || void 0,
|
|
202
|
+
loading: deferredLoading,
|
|
203
|
+
onClick: () => {
|
|
204
|
+
if (pagination.after) {
|
|
205
|
+
dispatch({
|
|
206
|
+
type: "SET_PAGINATION",
|
|
207
|
+
pagination: { after: pagination.after }
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
children: "Previous"
|
|
212
|
+
}
|
|
213
|
+
),
|
|
214
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
215
|
+
import_elements.SecondaryButton,
|
|
216
|
+
{
|
|
217
|
+
size: "1",
|
|
218
|
+
disabled: !pagination.before || isPending || void 0,
|
|
219
|
+
loading: deferredLoading,
|
|
220
|
+
onClick: () => {
|
|
221
|
+
if (pagination.before) {
|
|
222
|
+
dispatch({
|
|
223
|
+
type: "SET_PAGINATION",
|
|
224
|
+
pagination: { before: pagination.before }
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
children: "Next"
|
|
229
|
+
}
|
|
230
|
+
)
|
|
231
|
+
] }) : null
|
|
232
|
+
] }) });
|
|
233
|
+
};
|
|
234
|
+
const UsersManagementLoading = () => {
|
|
235
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(UsersManagementRoot, { children: [
|
|
236
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Grid, { columns: "1fr auto", gap: "2", children: [
|
|
237
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Flex, { gap: "2", align: "center", children: [
|
|
238
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { loading: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Box, { flexBasis: "380px", flexGrow: "0", flexShrink: "1", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.TextField, {}) }) }),
|
|
239
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { loading: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Box, { flexGrow: "0", flexShrink: "0", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Select.Root, { value: "all", onValueChange: () => void 0, children: [
|
|
240
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.SelectTrigger, { children: "All" }),
|
|
241
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.SelectContent, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.SelectItem, { value: "all", children: "All" }) })
|
|
242
|
+
] }) }) })
|
|
243
|
+
] }),
|
|
244
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { loading: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Box, { flexGrow: "0", flexShrink: "0", style: { placeSelf: "flex-end" }, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.PrimaryButton, { children: "Invite user" }) }) })
|
|
245
|
+
] }),
|
|
246
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Table.Root, { variant: "ghost", size: "1", children: [
|
|
247
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.Header, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Table.Row, { children: [
|
|
248
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.ColumnHeaderCell, { width: "260px", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { loading: true, children: "User" }) }),
|
|
249
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.ColumnHeaderCell, { width: "100px", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { children: "Role" }) }),
|
|
250
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.ColumnHeaderCell, { width: "140px", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { children: "Last active" }) }),
|
|
251
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.ColumnHeaderCell, { width: "28px" })
|
|
252
|
+
] }) }),
|
|
253
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.Body, { children: Array.from({ length: import_constants.USER_ROW_LIMIT }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Table.Row, { align: "center", children: [
|
|
254
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.RowHeaderCell, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Flex, { align: "center", gap: "3", children: [
|
|
255
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Avatar, { size: "2", fallback: "F" }) }),
|
|
256
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
257
|
+
import_themes.Flex,
|
|
258
|
+
{
|
|
259
|
+
direction: "column",
|
|
260
|
+
height: "var(--space-7)",
|
|
261
|
+
justify: "center",
|
|
262
|
+
children: [
|
|
263
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { width: "180px", height: "var(--space-4)" }),
|
|
264
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { width: "90px", height: "var(--space-3)", mt: "1" })
|
|
265
|
+
]
|
|
266
|
+
}
|
|
267
|
+
)
|
|
268
|
+
] }) }),
|
|
269
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.Cell, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Flex, { wrap: "wrap", gap: "1", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { width: "75px", height: "var(--space-4)" }) }) }),
|
|
270
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.Cell, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { width: "120px", height: "var(--space-4)" }) }),
|
|
271
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Table.Cell, { justify: "end" })
|
|
272
|
+
] }, index)) })
|
|
273
|
+
] }),
|
|
274
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Flex, { gap: "2", justify: "end", children: [
|
|
275
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { loading: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.SecondaryButton, { size: "1", children: "Previous" }) }),
|
|
276
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { loading: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.SecondaryButton, { size: "1", children: "Next" }) })
|
|
277
|
+
] })
|
|
278
|
+
] });
|
|
279
|
+
};
|
|
280
|
+
function UsersManagementError({ error }) {
|
|
281
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
282
|
+
UsersManagementRoot,
|
|
283
|
+
{
|
|
284
|
+
direction: "row",
|
|
285
|
+
justify: "center",
|
|
286
|
+
align: "center",
|
|
287
|
+
minHeight: "676px",
|
|
288
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_generic_error.GenericError, { error })
|
|
289
|
+
}
|
|
290
|
+
);
|
|
291
|
+
}
|
|
292
|
+
function UsersManagementRoot({
|
|
293
|
+
className,
|
|
294
|
+
children,
|
|
295
|
+
...props
|
|
296
|
+
}) {
|
|
297
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
298
|
+
import_themes.Flex,
|
|
299
|
+
{
|
|
300
|
+
className: (0, import_clsx.default)("woswidgets-widget", className),
|
|
301
|
+
"data-woswidgets-widget-id": "users-management",
|
|
302
|
+
direction: "column",
|
|
303
|
+
gap: "3",
|
|
304
|
+
...props,
|
|
305
|
+
children
|
|
306
|
+
}
|
|
307
|
+
);
|
|
308
|
+
}
|
|
309
|
+
function UserBadge({ user }) {
|
|
310
|
+
if (user.isLoggedInUser) {
|
|
311
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Badge, { color: "gray", style: { userSelect: "none" }, children: "You" });
|
|
312
|
+
}
|
|
313
|
+
if (user.status === "Invited") {
|
|
314
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_elements.Badge, { color: "amber", style: { userSelect: "none" }, children: [
|
|
315
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.VisuallyHidden, { children: "Status: " }),
|
|
316
|
+
"Invited"
|
|
317
|
+
] });
|
|
318
|
+
}
|
|
319
|
+
if (user.status === "InviteExpired") {
|
|
320
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_elements.Badge, { color: "red", style: { userSelect: "none" }, children: [
|
|
321
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.VisuallyHidden, { children: "Status: Invite " }),
|
|
322
|
+
"Expired"
|
|
323
|
+
] });
|
|
324
|
+
}
|
|
325
|
+
if (user.status === "InviteRevoked") {
|
|
326
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_elements.Badge, { color: "red", style: { userSelect: "none" }, children: [
|
|
327
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.VisuallyHidden, { children: "Status: Invite " }),
|
|
328
|
+
"Revoked"
|
|
329
|
+
] });
|
|
330
|
+
}
|
|
331
|
+
return null;
|
|
332
|
+
}
|
|
333
|
+
function LastActive(props) {
|
|
334
|
+
if (!props.user.lastActivityAt) {
|
|
335
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
336
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.VisuallyHidden, { children: props.user.status === "Active" ? "Never" : "Not active" }),
|
|
337
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Separator, {})
|
|
338
|
+
] });
|
|
339
|
+
}
|
|
340
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(LastActiveImpl, { ...props, date: props.user.lastActivityAt });
|
|
341
|
+
}
|
|
342
|
+
function LastActiveImpl({
|
|
343
|
+
date,
|
|
344
|
+
isHydrated,
|
|
345
|
+
dim
|
|
346
|
+
}) {
|
|
347
|
+
const { lastActiveDateTime, lastActiveDisplay } = React.useMemo(() => {
|
|
348
|
+
const defaultTimeZone = "America/Los_Angeles";
|
|
349
|
+
const lastActiveDate = new Date(date);
|
|
350
|
+
const lastActiveDateTime2 = lastActiveDate.toLocaleTimeString("en-US", {
|
|
351
|
+
// hard-coded timezone before hydration to prevent server/client mismatch
|
|
352
|
+
timeZone: isHydrated ? void 0 : defaultTimeZone,
|
|
353
|
+
month: "long",
|
|
354
|
+
day: "numeric",
|
|
355
|
+
year: "numeric",
|
|
356
|
+
hour: "numeric",
|
|
357
|
+
minute: "numeric"
|
|
358
|
+
});
|
|
359
|
+
const lastActiveDisplay2 = isHydrated ? (0, import_utils.getComparativeReadableDate)(/* @__PURE__ */ new Date(), lastActiveDate) : lastActiveDate.toLocaleDateString("en-US", {
|
|
360
|
+
// hard-coded timezone to prevent server/client mismatch
|
|
361
|
+
timeZone: defaultTimeZone,
|
|
362
|
+
month: "long",
|
|
363
|
+
day: "numeric",
|
|
364
|
+
year: "numeric"
|
|
365
|
+
});
|
|
366
|
+
return { lastActiveDateTime: lastActiveDateTime2, lastActiveDisplay: lastActiveDisplay2 };
|
|
367
|
+
}, [isHydrated, date]);
|
|
368
|
+
if (lastActiveDisplay === "Invalid Date") {
|
|
369
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
370
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.VisuallyHidden, { children: "Unknown" }),
|
|
371
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Separator, {})
|
|
372
|
+
] });
|
|
373
|
+
}
|
|
374
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableCellText, { asChild: true, dim, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("time", { dateTime: date, title: lastActiveDateTime, children: lastActiveDisplay }) });
|
|
375
|
+
}
|
|
376
|
+
const TableCellText = React.forwardRef(
|
|
377
|
+
function TableCellText2({ children, dim, level = "primary", ...props }, forwardedRef) {
|
|
378
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
379
|
+
import_themes.Text,
|
|
380
|
+
{
|
|
381
|
+
ref: forwardedRef,
|
|
382
|
+
color: level === "secondary" ? "gray" : void 0,
|
|
383
|
+
weight: level === "secondary" ? "regular" : "medium",
|
|
384
|
+
size: level === "secondary" ? "1" : "2",
|
|
385
|
+
truncate: true,
|
|
386
|
+
...props,
|
|
387
|
+
style: dim ? {
|
|
388
|
+
// TODO: use CSS var instead of hard-coded value for opacity
|
|
389
|
+
opacity: 0.6,
|
|
390
|
+
...props.style
|
|
391
|
+
} : props.style,
|
|
392
|
+
children
|
|
393
|
+
}
|
|
394
|
+
);
|
|
395
|
+
}
|
|
396
|
+
);
|
|
397
|
+
const FallbackUserIcon = () => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
398
|
+
"svg",
|
|
399
|
+
{
|
|
400
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
401
|
+
width: "20",
|
|
402
|
+
height: "20",
|
|
403
|
+
fill: "currentColor",
|
|
404
|
+
viewBox: "0 0 256 256",
|
|
405
|
+
children: [
|
|
406
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("title", { children: "User icon" }),
|
|
407
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M229.19,213c-15.81-27.32-40.63-46.49-69.47-54.62a70,70,0,1,0-63.44,0C67.44,166.5,42.62,185.67,26.81,213a6,6,0,1,0,10.38,6C56.4,185.81,90.34,166,128,166s71.6,19.81,90.81,53a6,6,0,1,0,10.38-6ZM70,96a58,58,0,1,1,58,58A58.07,58.07,0,0,1,70,96Z" })
|
|
408
|
+
]
|
|
409
|
+
}
|
|
410
|
+
);
|
|
411
|
+
const UsersManagementEmptyState = ({ isPending }) => {
|
|
412
|
+
const { clearSearch } = (0, import_search_provider.useSearchContext)();
|
|
413
|
+
const {
|
|
414
|
+
state: { searchQuery }
|
|
415
|
+
} = (0, import_users_management_context.useUsersManagementContext)();
|
|
416
|
+
const [{ isClearing, lastSearchQuery }, setClearing] = React.useState({
|
|
417
|
+
isClearing: false,
|
|
418
|
+
lastSearchQuery: null
|
|
419
|
+
});
|
|
420
|
+
const [wasPending, setWasPending] = React.useState(isPending);
|
|
421
|
+
if (wasPending !== isPending) {
|
|
422
|
+
setWasPending(isPending);
|
|
423
|
+
if (!isPending) {
|
|
424
|
+
setClearing(
|
|
425
|
+
(prev) => prev.isClearing ? { isClearing: false, lastSearchQuery: null } : prev
|
|
426
|
+
);
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
if (searchQuery || isClearing) {
|
|
430
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Flex, { align: "center", justify: "center", py: "8", direction: "column", gap: "2", children: [
|
|
431
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Text, { size: "2", children: [
|
|
432
|
+
"No users found for query",
|
|
433
|
+
" ",
|
|
434
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Text, { weight: "medium", children: [
|
|
435
|
+
"\u201C",
|
|
436
|
+
isClearing ? lastSearchQuery : searchQuery,
|
|
437
|
+
"\u201D"
|
|
438
|
+
] })
|
|
439
|
+
] }),
|
|
440
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
441
|
+
import_elements.SecondaryButton,
|
|
442
|
+
{
|
|
443
|
+
size: "1",
|
|
444
|
+
onClick: () => {
|
|
445
|
+
setClearing({ isClearing: true, lastSearchQuery: searchQuery });
|
|
446
|
+
clearSearch();
|
|
447
|
+
},
|
|
448
|
+
loading: isPending,
|
|
449
|
+
children: "Clear search"
|
|
450
|
+
}
|
|
451
|
+
)
|
|
452
|
+
] });
|
|
453
|
+
}
|
|
454
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Flex, { align: "center", justify: "center", py: "8", gap: "2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Text, { size: "2", children: "No users found" }) });
|
|
455
|
+
};
|
|
456
|
+
function UserRolesCellContent({
|
|
457
|
+
user,
|
|
458
|
+
isMultipleRolesEnabled,
|
|
459
|
+
dimText
|
|
460
|
+
}) {
|
|
461
|
+
if (!user.roles || user.roles.length === 0) {
|
|
462
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
463
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.VisuallyHidden, { children: "No roles assigned" }),
|
|
464
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { "aria-hidden": true, style: { userSelect: "none" }, children: "\u2013" })
|
|
465
|
+
] });
|
|
466
|
+
}
|
|
467
|
+
if (isMultipleRolesEnabled && user.roles.length > 1) {
|
|
468
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
469
|
+
import_themes.Tooltip,
|
|
470
|
+
{
|
|
471
|
+
content: user.roles?.map((role) => role.name).join(", "),
|
|
472
|
+
maxWidth: "250px",
|
|
473
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableCellText, { dim: dimText, children: (0, import_utils.pluralize)("role", user.roles.length) })
|
|
474
|
+
}
|
|
475
|
+
);
|
|
476
|
+
}
|
|
477
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableCellText, { dim: dimText, children: user.roles?.[0]?.name });
|
|
478
|
+
}
|
|
479
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
480
|
+
0 && (module.exports = {
|
|
481
|
+
UsersManagement,
|
|
482
|
+
UsersManagementError,
|
|
483
|
+
UsersManagementLoading
|
|
484
|
+
});
|
|
485
|
+
//# sourceMappingURL=users-management.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/users-management.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport {\n Box,\n Flex,\n Grid,\n Select,\n Separator,\n Table,\n Tooltip,\n Text,\n type TextProps,\n VisuallyHidden,\n} from \"@radix-ui/themes\";\nimport {\n Avatar,\n Badge,\n IconButton,\n PrimaryButton,\n SecondaryButton,\n SelectContent,\n SelectItem,\n SelectTrigger,\n Skeleton,\n TextField,\n} from \"./elements.js\";\nimport { InviteUserDialog } from \"./invite-user-dialog.js\";\nimport { SearchProvider, useSearchContext } from \"./search-provider.js\";\nimport { useIsHydrated } from \"./use-is-hydrated.js\";\nimport { UserActionsDropdown } from \"./user-actions-dropdown.js\";\nimport { UsersFilter } from \"./users-filter.js\";\nimport { UsersSearch } from \"./users-search.js\";\nimport { getBestName, getComparativeReadableDate, pluralize } from \"./utils.js\";\nimport { USER_ROW_LIMIT } from \"./constants.js\";\nimport { useUsersManagementContext } from \"./users-management-context.js\";\nimport clsx from \"clsx\";\nimport { Member, MemberRole, MembersQueryResult } from \"../api/endpoint.js\";\nimport { GenericError } from \"./generic-error.js\";\n\ninterface UsersManagementProps {\n rolesData: { roles: MemberRole[]; multipleRolesEnabled: boolean };\n userData: MembersQueryResult;\n disableRolesFilter?: boolean;\n // When the users list is loading new users\n isPending: boolean;\n}\n\nexport const UsersManagement = ({\n userData,\n rolesData,\n isPending,\n disableRolesFilter,\n}: UsersManagementProps) => {\n const users = userData?.data ?? [];\n const usersCount = users?.length ?? 0;\n const isHydrated = useIsHydrated();\n const { listMetadata: pagination = {} } = userData;\n const { dispatch } = useUsersManagementContext();\n const isMultipleRolesEnabled = rolesData.multipleRolesEnabled;\n\n // we only want to show the loading indicator for some buttons if the request\n // is still pending after 500ms. If the request is fast enough the indicator\n // is a bit jarring.\n const [deferredLoading, setDeferredLoading] = React.useState(false);\n React.useEffect(() => {\n if (isPending) {\n const timeoutId = window.setTimeout(() => {\n setDeferredLoading(true);\n }, 500);\n return () => {\n window.clearTimeout(timeoutId);\n };\n } else {\n setDeferredLoading(false);\n }\n }, [isPending]);\n\n const showPagination = !!(pagination.before || pagination.after);\n\n return (\n <SearchProvider>\n <UsersManagementRoot>\n <Grid columns=\"1fr auto\" gap=\"2\">\n <Flex gap=\"2\" align=\"center\">\n <Box flexBasis=\"380px\" flexGrow=\"0\" flexShrink=\"1\">\n <UsersSearch />\n </Box>\n <Box flexGrow=\"0\" flexShrink=\"0\">\n <UsersFilter\n roles={rolesData.roles}\n disabled={disableRolesFilter}\n />\n </Box>\n </Flex>\n <Box flexGrow=\"0\" flexShrink=\"0\" style={{ placeSelf: \"flex-end\" }}>\n <InviteUserDialog>\n <PrimaryButton>Invite user</PrimaryButton>\n </InviteUserDialog>\n </Box>\n </Grid>\n <Table.Root variant=\"ghost\" size=\"1\">\n <Table.Header>\n <Table.Row>\n <Table.ColumnHeaderCell width=\"260px\">\n User\n </Table.ColumnHeaderCell>\n <Table.ColumnHeaderCell width=\"100px\">\n {`Role${isMultipleRolesEnabled ? \"s\" : \"\"}`}\n </Table.ColumnHeaderCell>\n <Table.ColumnHeaderCell width=\"140px\">\n Last active\n </Table.ColumnHeaderCell>\n <Table.ColumnHeaderCell width=\"28px\" />\n </Table.Row>\n </Table.Header>\n\n <Table.Body\n style={{\n transition: `opacity 0.2s ease-out ${isPending ? \"0.2s\" : \"0s\"}`,\n opacity: isPending && usersCount > 0 ? 0.5 : 1,\n }}\n >\n {users.length > 0 ? (\n users.map((user) => {\n const userDisplayName = getBestName(user);\n const dimText =\n user.status === \"InviteRevoked\" ||\n user.status === \"InviteExpired\";\n return (\n <Table.Row key={user.id} align=\"center\">\n <Table.RowHeaderCell>\n <Flex\n align=\"center\"\n gap=\"3\"\n overflow=\"hidden\"\n height=\"var(--space-7)\"\n >\n <Avatar\n size=\"2\"\n fallback={<FallbackUserIcon />}\n src={user.profilePictureUrl ?? undefined}\n dim={dimText}\n />\n\n {userDisplayName ? (\n <Flex\n direction=\"column\"\n align=\"start\"\n height=\"var(--space-7)\"\n justify=\"center\"\n overflow=\"hidden\"\n >\n <Flex gap=\"2\" align=\"center\" minWidth=\"0\">\n <TableCellText dim={dimText}>\n {userDisplayName}\n </TableCellText>\n <UserBadge user={user} />\n </Flex>\n <TableCellText\n level=\"secondary\"\n title={user.email}\n dim={dimText}\n >\n {user.email}\n </TableCellText>\n </Flex>\n ) : (\n <Flex gap=\"2\" align=\"center\" minWidth=\"0\">\n <TableCellText dim={dimText} title={user.email}>\n {user.email}\n </TableCellText>\n <UserBadge user={user} />\n </Flex>\n )}\n </Flex>\n </Table.RowHeaderCell>\n <Table.Cell>\n <UserRolesCellContent\n user={user}\n isMultipleRolesEnabled={isMultipleRolesEnabled}\n dimText={dimText}\n />\n </Table.Cell>\n <Table.Cell>\n <LastActive user={user} isHydrated={isHydrated} />\n </Table.Cell>\n <Table.Cell justify=\"end\">\n <UserActionsDropdown user={user}>\n <IconButton title=\"User actions\">\n <VisuallyHidden>User actions</VisuallyHidden>\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"none\"\n viewBox=\"0 0 24 24\"\n width=\"16\"\n height=\"16\"\n strokeWidth={1.5}\n stroke=\"currentColor\"\n aria-hidden\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n d=\"M6.75 12a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM12.75 12a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0ZM18.75 12a.75.75 0 1 1-1.5 0 .75.75 0 0 1 1.5 0Z\"\n />\n </svg>\n </IconButton>\n </UserActionsDropdown>\n </Table.Cell>\n </Table.Row>\n );\n })\n ) : (\n <Table.Row align=\"center\">\n <Table.Cell colSpan={4}>\n <UsersManagementEmptyState isPending={isPending} />\n </Table.Cell>\n </Table.Row>\n )}\n </Table.Body>\n </Table.Root>\n\n {showPagination ? (\n <Flex gap=\"2\" justify=\"end\">\n <SecondaryButton\n size=\"1\"\n disabled={!pagination.after || isPending || undefined}\n loading={deferredLoading}\n onClick={() => {\n if (pagination.after) {\n dispatch({\n type: \"SET_PAGINATION\",\n pagination: { after: pagination.after },\n });\n }\n }}\n >\n Previous\n </SecondaryButton>\n <SecondaryButton\n size=\"1\"\n disabled={!pagination.before || isPending || undefined}\n loading={deferredLoading}\n onClick={() => {\n if (pagination.before) {\n dispatch({\n type: \"SET_PAGINATION\",\n pagination: { before: pagination.before },\n });\n }\n }}\n >\n Next\n </SecondaryButton>\n </Flex>\n ) : null}\n </UsersManagementRoot>\n </SearchProvider>\n );\n};\n\nexport const UsersManagementLoading: React.FC = () => {\n return (\n <UsersManagementRoot>\n <Grid columns=\"1fr auto\" gap=\"2\">\n <Flex gap=\"2\" align=\"center\">\n <Skeleton loading>\n <Box flexBasis=\"380px\" flexGrow=\"0\" flexShrink=\"1\">\n <TextField />\n </Box>\n </Skeleton>\n <Skeleton loading>\n <Box flexGrow=\"0\" flexShrink=\"0\">\n <Select.Root value=\"all\" onValueChange={() => void 0}>\n <SelectTrigger>All</SelectTrigger>\n <SelectContent>\n <SelectItem value=\"all\">All</SelectItem>\n </SelectContent>\n </Select.Root>\n </Box>\n </Skeleton>\n </Flex>\n <Skeleton loading>\n <Box flexGrow=\"0\" flexShrink=\"0\" style={{ placeSelf: \"flex-end\" }}>\n <PrimaryButton>Invite user</PrimaryButton>\n </Box>\n </Skeleton>\n </Grid>\n <Table.Root variant=\"ghost\" size=\"1\">\n <Table.Header>\n <Table.Row>\n <Table.ColumnHeaderCell width=\"260px\">\n <Skeleton loading>User</Skeleton>\n </Table.ColumnHeaderCell>\n <Table.ColumnHeaderCell width=\"100px\">\n <Skeleton>Role</Skeleton>\n </Table.ColumnHeaderCell>\n <Table.ColumnHeaderCell width=\"140px\">\n <Skeleton>Last active</Skeleton>\n </Table.ColumnHeaderCell>\n <Table.ColumnHeaderCell width=\"28px\" />\n </Table.Row>\n </Table.Header>\n\n <Table.Body>\n {Array.from({ length: USER_ROW_LIMIT }, (_, index) => (\n <Table.Row key={index} align=\"center\">\n <Table.RowHeaderCell>\n <Flex align=\"center\" gap=\"3\">\n <Skeleton>\n <Avatar size=\"2\" fallback=\"F\" />\n </Skeleton>\n\n <Flex\n direction=\"column\"\n height=\"var(--space-7)\"\n justify=\"center\"\n >\n <Skeleton width=\"180px\" height=\"var(--space-4)\" />\n <Skeleton width=\"90px\" height=\"var(--space-3)\" mt=\"1\" />\n </Flex>\n </Flex>\n </Table.RowHeaderCell>\n <Table.Cell>\n <Flex wrap=\"wrap\" gap=\"1\">\n <Skeleton width=\"75px\" height=\"var(--space-4)\" />\n </Flex>\n </Table.Cell>\n <Table.Cell>\n <Skeleton width=\"120px\" height=\"var(--space-4)\" />\n </Table.Cell>\n <Table.Cell justify=\"end\" />\n </Table.Row>\n ))}\n </Table.Body>\n </Table.Root>\n\n <Flex gap=\"2\" justify=\"end\">\n <Skeleton loading>\n <SecondaryButton size=\"1\">Previous</SecondaryButton>\n </Skeleton>\n <Skeleton loading>\n <SecondaryButton size=\"1\">Next</SecondaryButton>\n </Skeleton>\n </Flex>\n </UsersManagementRoot>\n );\n};\n\nexport function UsersManagementError({ error }: { error: unknown }) {\n return (\n <UsersManagementRoot\n direction=\"row\"\n justify=\"center\"\n align=\"center\"\n minHeight=\"676px\"\n >\n <GenericError error={error} />\n </UsersManagementRoot>\n );\n}\n\nfunction UsersManagementRoot({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof Flex>) {\n return (\n <Flex\n className={clsx(\"woswidgets-widget\", className)}\n data-woswidgets-widget-id=\"users-management\"\n direction=\"column\"\n gap=\"3\"\n {...props}\n >\n {children}\n </Flex>\n );\n}\n\nfunction UserBadge({ user }: { user: Member }) {\n // TODO: This is not yet available in the data. Update here after API is updated.\n if (user.isLoggedInUser) {\n return (\n <Badge color=\"gray\" style={{ userSelect: \"none\" }}>\n You\n </Badge>\n );\n }\n if (user.status === \"Invited\") {\n return (\n <Badge color=\"amber\" style={{ userSelect: \"none\" }}>\n <VisuallyHidden>Status: </VisuallyHidden>Invited\n </Badge>\n );\n }\n if (user.status === \"InviteExpired\") {\n return (\n <Badge color=\"red\" style={{ userSelect: \"none\" }}>\n <VisuallyHidden>Status: Invite </VisuallyHidden>\n Expired\n </Badge>\n );\n }\n if (user.status === \"InviteRevoked\") {\n return (\n <Badge color=\"red\" style={{ userSelect: \"none\" }}>\n <VisuallyHidden>Status: Invite </VisuallyHidden>\n Revoked\n </Badge>\n );\n }\n return null;\n}\n\ninterface LastActiveProps {\n user: Member;\n isHydrated: boolean;\n dim?: boolean;\n}\n\nfunction LastActive(props: LastActiveProps) {\n if (!props.user.lastActivityAt) {\n return (\n <>\n <VisuallyHidden>\n {props.user.status === \"Active\" ? \"Never\" : \"Not active\"}\n </VisuallyHidden>\n <Separator />\n </>\n );\n }\n return <LastActiveImpl {...props} date={props.user.lastActivityAt} />;\n}\n\nfunction LastActiveImpl({\n date,\n isHydrated,\n dim,\n}: LastActiveProps & { date: string }) {\n const { lastActiveDateTime, lastActiveDisplay } = React.useMemo(() => {\n const defaultTimeZone = \"America/Los_Angeles\";\n const lastActiveDate = new Date(date);\n const lastActiveDateTime = lastActiveDate.toLocaleTimeString(\"en-US\", {\n // hard-coded timezone before hydration to prevent server/client mismatch\n timeZone: isHydrated ? undefined : defaultTimeZone,\n month: \"long\",\n day: \"numeric\",\n year: \"numeric\",\n hour: \"numeric\",\n minute: \"numeric\",\n });\n\n // Server and client may produce a different 'now' date, so only\n // show comparative date if the component is hydrated to prevent a\n // server/client mismatch\n const lastActiveDisplay = isHydrated\n ? getComparativeReadableDate(new Date(), lastActiveDate)\n : lastActiveDate.toLocaleDateString(\"en-US\", {\n // hard-coded timezone to prevent server/client mismatch\n timeZone: defaultTimeZone,\n month: \"long\",\n day: \"numeric\",\n year: \"numeric\",\n });\n\n return { lastActiveDateTime, lastActiveDisplay };\n }, [isHydrated, date]);\n\n // handle cases where the DB might return an invalid date string\n if (lastActiveDisplay === \"Invalid Date\") {\n return (\n <>\n <VisuallyHidden>Unknown</VisuallyHidden>\n <Separator />\n </>\n );\n }\n\n return (\n <TableCellText asChild dim={dim}>\n <time dateTime={date} title={lastActiveDateTime}>\n {lastActiveDisplay}\n </time>\n </TableCellText>\n );\n}\n\nconst TableCellText = React.forwardRef<HTMLSpanElement, TableCellTextProps>(\n function TableCellText(\n { children, dim, level = \"primary\", ...props },\n forwardedRef,\n ) {\n return (\n <Text\n ref={forwardedRef}\n color={level === \"secondary\" ? \"gray\" : undefined}\n weight={level === \"secondary\" ? \"regular\" : \"medium\"}\n size={level === \"secondary\" ? \"1\" : \"2\"}\n truncate\n {...props}\n style={\n dim\n ? {\n // TODO: use CSS var instead of hard-coded value for opacity\n opacity: 0.6,\n ...props.style,\n }\n : props.style\n }\n >\n {children}\n </Text>\n );\n },\n);\n\ntype TableCellTextProps = TextProps & {\n level?: \"primary\" | \"secondary\";\n dim?: boolean;\n};\n\nconst FallbackUserIcon = () => (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"20\"\n height=\"20\"\n fill=\"currentColor\"\n viewBox=\"0 0 256 256\"\n >\n <title>User icon</title>\n <path d=\"M229.19,213c-15.81-27.32-40.63-46.49-69.47-54.62a70,70,0,1,0-63.44,0C67.44,166.5,42.62,185.67,26.81,213a6,6,0,1,0,10.38,6C56.4,185.81,90.34,166,128,166s71.6,19.81,90.81,53a6,6,0,1,0,10.38-6ZM70,96a58,58,0,1,1,58,58A58.07,58.07,0,0,1,70,96Z\" />\n </svg>\n);\n\nconst UsersManagementEmptyState = ({ isPending }: { isPending: boolean }) => {\n const { clearSearch } = useSearchContext();\n const {\n state: { searchQuery },\n } = useUsersManagementContext();\n\n // When the search query is cleared, the users query is re-fetched which sends\n // us into a pending state. When this happens we want to keep a snapshot of\n // the previous search query while the query is revalidated. We can use this\n // to keep the 'No users found for query' UI in place until re-fetching is\n // complete, otherwise the view flips to 'No users found' very quickly before\n // the full table is shown again.\n const [{ isClearing, lastSearchQuery }, setClearing] = React.useState({\n isClearing: false,\n lastSearchQuery: null as null | string,\n });\n const [wasPending, setWasPending] = React.useState(isPending);\n if (wasPending !== isPending) {\n setWasPending(isPending);\n if (!isPending) {\n setClearing((prev) =>\n prev.isClearing ? { isClearing: false, lastSearchQuery: null } : prev,\n );\n }\n }\n\n if (searchQuery || isClearing) {\n return (\n <Flex align=\"center\" justify=\"center\" py=\"8\" direction=\"column\" gap=\"2\">\n <Text size=\"2\">\n No users found for query{\" \"}\n <Text weight=\"medium\">\n “{isClearing ? lastSearchQuery : searchQuery}”\n </Text>\n </Text>\n\n <SecondaryButton\n size=\"1\"\n onClick={() => {\n setClearing({ isClearing: true, lastSearchQuery: searchQuery });\n clearSearch();\n }}\n loading={isPending}\n >\n Clear search\n </SecondaryButton>\n </Flex>\n );\n }\n\n return (\n <Flex align=\"center\" justify=\"center\" py=\"8\" gap=\"2\">\n <Text size=\"2\">No users found</Text>\n </Flex>\n );\n};\n\ninterface UserRolesCellContentProps {\n user: Member;\n isMultipleRolesEnabled: boolean;\n dimText: boolean;\n}\n\nfunction UserRolesCellContent({\n user,\n isMultipleRolesEnabled,\n dimText,\n}: UserRolesCellContentProps) {\n if (!user.roles || user.roles.length === 0) {\n return (\n <>\n <VisuallyHidden>No roles assigned</VisuallyHidden>\n <span aria-hidden style={{ userSelect: \"none\" }}>\n –\n </span>\n </>\n );\n }\n\n if (isMultipleRolesEnabled && user.roles.length > 1) {\n return (\n <Tooltip\n content={user.roles?.map((role) => role.name).join(\", \")}\n maxWidth=\"250px\"\n >\n <TableCellText dim={dimText}>\n {pluralize(\"role\", user.roles.length)}\n </TableCellText>\n </Tooltip>\n );\n }\n\n return <TableCellText dim={dimText}>{user.roles?.[0]?.name}</TableCellText>;\n}\n"],"mappings":"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","names":["clsx","lastActiveDateTime","lastActiveDisplay","TableCellText"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { MemberRole, MembersQueryResult } from '../api/endpoint.cjs';
|
|
4
|
+
import '@tanstack/react-query';
|
|
5
|
+
import '../api/widgets-api-client.cjs';
|
|
6
|
+
|
|
7
|
+
interface UsersManagementProps {
|
|
8
|
+
rolesData: {
|
|
9
|
+
roles: MemberRole[];
|
|
10
|
+
multipleRolesEnabled: boolean;
|
|
11
|
+
};
|
|
12
|
+
userData: MembersQueryResult;
|
|
13
|
+
disableRolesFilter?: boolean;
|
|
14
|
+
isPending: boolean;
|
|
15
|
+
}
|
|
16
|
+
declare const UsersManagement: ({ userData, rolesData, isPending, disableRolesFilter, }: UsersManagementProps) => react_jsx_runtime.JSX.Element;
|
|
17
|
+
declare const UsersManagementLoading: React.FC;
|
|
18
|
+
declare function UsersManagementError({ error }: {
|
|
19
|
+
error: unknown;
|
|
20
|
+
}): react_jsx_runtime.JSX.Element;
|
|
21
|
+
|
|
22
|
+
export { UsersManagement, UsersManagementError, UsersManagementLoading };
|