@workos-inc/widgets 1.4.2 → 1.5.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 +19 -8
- package/dist/cjs/admin-portal-domain-verification.client.cjs +114 -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 +268 -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 +126 -0
- package/dist/cjs/api/api-provider.cjs.map +1 -0
- package/dist/cjs/api/api-provider.d.cts +32 -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 +1648 -0
- package/dist/cjs/api/endpoint.cjs.map +1 -0
- package/dist/cjs/api/endpoint.d.cts +1687 -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 +78 -0
- package/dist/cjs/api/utils.cjs.map +1 -0
- package/dist/cjs/api/utils.d.cts +16 -0
- package/dist/cjs/api/widgets-api-client.cjs +92 -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/api-keys-client.cjs +77 -0
- package/dist/cjs/api-keys-client.cjs.map +1 -0
- package/dist/cjs/api-keys-client.d.cts +10 -0
- package/dist/cjs/index.cjs +67 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/index.d.cts +26 -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 +133 -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 +312 -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/api-key.cjs +65 -0
- package/dist/cjs/lib/api/api-key.cjs.map +1 -0
- package/dist/cjs/lib/api/api-key.d.cts +16 -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/api-keys/api-key-details-card.cjs +61 -0
- package/dist/cjs/lib/api-keys/api-key-details-card.cjs.map +1 -0
- package/dist/cjs/lib/api-keys/api-key-details-card.d.cts +11 -0
- package/dist/cjs/lib/api-keys/api-key-details-dialog.cjs +79 -0
- package/dist/cjs/lib/api-keys/api-key-details-dialog.cjs.map +1 -0
- package/dist/cjs/lib/api-keys/api-key-details-dialog.d.cts +13 -0
- package/dist/cjs/lib/api-keys/api-keys-context.cjs +85 -0
- package/dist/cjs/lib/api-keys/api-keys-context.cjs.map +1 -0
- package/dist/cjs/lib/api-keys/api-keys-context.d.cts +19 -0
- package/dist/cjs/lib/api-keys/api-keys-search-provider.cjs +79 -0
- package/dist/cjs/lib/api-keys/api-keys-search-provider.cjs.map +1 -0
- package/dist/cjs/lib/api-keys/api-keys-search-provider.d.cts +12 -0
- package/dist/cjs/lib/api-keys/api-keys-search.cjs +99 -0
- package/dist/cjs/lib/api-keys/api-keys-search.cjs.map +1 -0
- package/dist/cjs/lib/api-keys/api-keys-search.d.cts +6 -0
- package/dist/cjs/lib/api-keys/api-keys-state.cjs +157 -0
- package/dist/cjs/lib/api-keys/api-keys-state.cjs.map +1 -0
- package/dist/cjs/lib/api-keys/api-keys-state.d.cts +31 -0
- package/dist/cjs/lib/api-keys/api-keys-table.cjs +180 -0
- package/dist/cjs/lib/api-keys/api-keys-table.cjs.map +1 -0
- package/dist/cjs/lib/api-keys/api-keys-table.d.cts +10 -0
- package/dist/cjs/lib/api-keys/api-keys.cjs +111 -0
- package/dist/cjs/lib/api-keys/api-keys.cjs.map +1 -0
- package/dist/cjs/lib/api-keys/api-keys.d.cts +11 -0
- package/dist/cjs/lib/api-keys/create-api-key.cjs +365 -0
- package/dist/cjs/lib/api-keys/create-api-key.cjs.map +1 -0
- package/dist/cjs/lib/api-keys/create-api-key.d.cts +6 -0
- package/dist/cjs/lib/api-keys/relative-time.cjs +42 -0
- package/dist/cjs/lib/api-keys/relative-time.cjs.map +1 -0
- package/dist/cjs/lib/api-keys/relative-time.d.cts +7 -0
- package/dist/cjs/lib/api-keys/revoke-api-key-dialog.cjs +86 -0
- package/dist/cjs/lib/api-keys/revoke-api-key-dialog.cjs.map +1 -0
- package/dist/cjs/lib/api-keys/revoke-api-key-dialog.d.cts +12 -0
- package/dist/cjs/lib/api-keys/skeleton-table.cjs +39 -0
- package/dist/cjs/lib/api-keys/skeleton-table.cjs.map +1 -0
- package/dist/cjs/lib/api-keys/skeleton-table.d.cts +9 -0
- package/dist/cjs/lib/card-list.cjs +47 -0
- package/dist/cjs/lib/card-list.cjs.map +1 -0
- package/dist/cjs/lib/card-list.d.cts +9 -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 +10 -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/empty-state.cjs +39 -0
- package/dist/cjs/lib/empty-state.cjs.map +1 -0
- package/dist/cjs/lib/empty-state.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 +98 -0
- package/dist/cjs/lib/generic-error.cjs.map +1 -0
- package/dist/cjs/lib/generic-error.d.cts +11 -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 +111 -0
- package/dist/cjs/lib/identity-providers.cjs.map +1 -0
- package/dist/cjs/lib/identity-providers.d.cts +7 -0
- 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 -8
- 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 +48 -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 +79 -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 +61 -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 +68 -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 +94 -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 +82 -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/css/lib/api-keys/api-keys.css +3 -0
- package/dist/css/lib/provider-icon.css +87 -9
- package/dist/css/styles.css +1 -0
- package/dist/esm/admin-portal-domain-verification.client.d.ts +12 -7
- package/dist/esm/admin-portal-domain-verification.client.js +88 -55
- package/dist/esm/admin-portal-domain-verification.client.js.map +1 -1
- package/dist/esm/admin-portal-sso-connection-client.d.ts +10 -7
- package/dist/esm/admin-portal-sso-connection-client.js +222 -176
- package/dist/esm/admin-portal-sso-connection-client.js.map +1 -1
- package/dist/esm/api/api-provider.d.ts +13 -10
- package/dist/esm/api/api-provider.js +83 -95
- 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 +836 -449
- package/dist/esm/api/endpoint.js +1456 -1024
- 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 +11 -5
- package/dist/esm/api/utils.js +41 -27
- 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 +60 -50
- package/dist/esm/api/widgets-api-client.js.map +1 -1
- package/dist/esm/api-keys-client.d.ts +10 -0
- package/dist/esm/api-keys-client.js +60 -0
- package/dist/esm/api-keys-client.js.map +1 -0
- package/dist/esm/index.d.ts +26 -9
- package/dist/esm/index.js +50 -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 -8
- package/dist/esm/lib/admin-portal-domain-verification.js +84 -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 +258 -153
- package/dist/esm/lib/admin-portal-sso-connection.js.map +1 -1
- package/dist/esm/lib/api/api-key.d.ts +16 -0
- package/dist/esm/lib/api/api-key.js +46 -0
- package/dist/esm/lib/api/api-key.js.map +1 -0
- 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/api-keys/api-key-details-card.d.ts +11 -0
- package/dist/esm/lib/api-keys/api-key-details-card.js +37 -0
- package/dist/esm/lib/api-keys/api-key-details-card.js.map +1 -0
- package/dist/esm/lib/api-keys/api-key-details-dialog.d.ts +13 -0
- package/dist/esm/lib/api-keys/api-key-details-dialog.js +57 -0
- package/dist/esm/lib/api-keys/api-key-details-dialog.js.map +1 -0
- package/dist/esm/lib/api-keys/api-keys-context.d.ts +19 -0
- package/dist/esm/lib/api-keys/api-keys-context.js +52 -0
- package/dist/esm/lib/api-keys/api-keys-context.js.map +1 -0
- package/dist/esm/lib/api-keys/api-keys-search-provider.d.ts +12 -0
- package/dist/esm/lib/api-keys/api-keys-search-provider.js +44 -0
- package/dist/esm/lib/api-keys/api-keys-search-provider.js.map +1 -0
- package/dist/esm/lib/api-keys/api-keys-search.d.ts +6 -0
- package/dist/esm/lib/api-keys/api-keys-search.js +65 -0
- package/dist/esm/lib/api-keys/api-keys-search.js.map +1 -0
- package/dist/esm/lib/api-keys/api-keys-state.d.ts +31 -0
- package/dist/esm/lib/api-keys/api-keys-state.js +123 -0
- package/dist/esm/lib/api-keys/api-keys-state.js.map +1 -0
- package/dist/esm/lib/api-keys/api-keys-table.d.ts +10 -0
- package/dist/esm/lib/api-keys/api-keys-table.js +169 -0
- package/dist/esm/lib/api-keys/api-keys-table.js.map +1 -0
- package/dist/esm/lib/api-keys/api-keys.d.ts +11 -0
- package/dist/esm/lib/api-keys/api-keys.js +74 -0
- package/dist/esm/lib/api-keys/api-keys.js.map +1 -0
- package/dist/esm/lib/api-keys/create-api-key.d.ts +6 -0
- package/dist/esm/lib/api-keys/create-api-key.js +352 -0
- package/dist/esm/lib/api-keys/create-api-key.js.map +1 -0
- package/dist/esm/lib/api-keys/relative-time.d.ts +7 -0
- package/dist/esm/lib/api-keys/relative-time.js +18 -0
- package/dist/esm/lib/api-keys/relative-time.js.map +1 -0
- package/dist/esm/lib/api-keys/revoke-api-key-dialog.d.ts +12 -0
- package/dist/esm/lib/api-keys/revoke-api-key-dialog.js +64 -0
- package/dist/esm/lib/api-keys/revoke-api-key-dialog.js.map +1 -0
- package/dist/esm/lib/api-keys/skeleton-table.d.ts +9 -0
- package/dist/esm/lib/api-keys/skeleton-table.js +15 -0
- package/dist/esm/lib/api-keys/skeleton-table.js.map +1 -0
- package/dist/esm/lib/card-list.d.ts +9 -0
- package/dist/esm/lib/card-list.js +22 -0
- package/dist/esm/lib/card-list.js.map +1 -0
- 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 +6 -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 +11 -7
- package/dist/esm/lib/edit-user-role-dialog.js +294 -102
- 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/empty-state.d.ts +10 -0
- package/dist/esm/lib/empty-state.js +15 -0
- package/dist/esm/lib/empty-state.js.map +1 -0
- 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 +10 -3
- package/dist/esm/lib/generic-error.js +63 -30
- 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 +6 -6
- package/dist/esm/lib/identity-providers.js +82 -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 -8
- package/dist/esm/lib/organization-switcher.js +155 -40
- 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 +6 -4
- package/dist/esm/lib/use-permissions.js +21 -28
- 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 +126 -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 +136 -15
- 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 +12 -8
- package/dist/esm/lib/users-management.js +441 -148
- 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 -14
- package/dist/esm/lib/utils.js +90 -86
- 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 -7
- package/dist/esm/organization-switcher.client.js +47 -24
- package/dist/esm/organization-switcher.client.js.map +1 -1
- package/dist/esm/user-profile.client.d.ts +12 -7
- package/dist/esm/user-profile.client.js +32 -21
- package/dist/esm/user-profile.client.js.map +1 -1
- package/dist/esm/user-security.client.d.ts +12 -7
- package/dist/esm/user-security.client.js +39 -17
- package/dist/esm/user-security.client.js.map +1 -1
- package/dist/esm/user-sessions.client.d.ts +11 -6
- package/dist/esm/user-sessions.client.js +63 -36
- package/dist/esm/user-sessions.client.js.map +1 -1
- package/dist/esm/users-management.client.d.ts +12 -7
- package/dist/esm/users-management.client.js +49 -30
- 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 +19 -15
- package/dist/cjs/admin-portal-domain-verification.client.d.ts +0 -9
- package/dist/cjs/admin-portal-domain-verification.client.d.ts.map +0 -1
- package/dist/cjs/admin-portal-domain-verification.client.js +0 -70
- package/dist/cjs/admin-portal-domain-verification.client.js.map +0 -1
- package/dist/cjs/admin-portal-sso-connection-client.d.ts +0 -9
- package/dist/cjs/admin-portal-sso-connection-client.d.ts.map +0 -1
- package/dist/cjs/admin-portal-sso-connection-client.js +0 -222
- 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 -1300
- package/dist/cjs/api/endpoint.d.ts.map +0 -1
- package/dist/cjs/api/endpoint.js +0 -1143
- 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 -27
- 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 -16
- 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 -23
- package/dist/cjs/lib/edit-user-role-dialog.d.ts.map +0 -1
- package/dist/cjs/lib/edit-user-role-dialog.js +0 -143
- 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 +0 -7
- 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 -62
- 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 -81
- 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 -18
- package/dist/cjs/lib/users-management.d.ts.map +0 -1
- package/dist/cjs/lib/users-management.js +0 -209
- 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 -27
- package/dist/cjs/lib/utils.d.ts.map +0 -1
- package/dist/cjs/lib/utils.js +0 -116
- 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 -9
- package/dist/cjs/organization-switcher.client.d.ts.map +0 -1
- package/dist/cjs/organization-switcher.client.js +0 -39
- package/dist/cjs/organization-switcher.client.js.map +0 -1
- package/dist/cjs/user-profile.client.d.ts +0 -9
- package/dist/cjs/user-profile.client.d.ts.map +0 -1
- package/dist/cjs/user-profile.client.js +0 -33
- package/dist/cjs/user-profile.client.js.map +0 -1
- package/dist/cjs/user-security.client.d.ts +0 -9
- package/dist/cjs/user-security.client.d.ts.map +0 -1
- package/dist/cjs/user-security.client.js +0 -29
- package/dist/cjs/user-security.client.js.map +0 -1
- package/dist/cjs/user-sessions.client.d.ts +0 -13
- package/dist/cjs/user-sessions.client.d.ts.map +0 -1
- package/dist/cjs/user-sessions.client.js +0 -50
- package/dist/cjs/user-sessions.client.js.map +0 -1
- package/dist/cjs/users-management.client.d.ts +0 -9
- package/dist/cjs/users-management.client.d.ts.map +0 -1
- package/dist/cjs/users-management.client.js +0 -46
- 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 +0 -6
- package/dist/esm/card-list.d.ts.map +0 -1
- package/dist/esm/card-list.js +0 -9
- package/dist/esm/card-list.js.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,168 @@
|
|
|
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 user_actions_dropdown_exports = {};
|
|
31
|
+
__export(user_actions_dropdown_exports, {
|
|
32
|
+
UserActionsDropdown: () => UserActionsDropdown
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(user_actions_dropdown_exports);
|
|
35
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
36
|
+
var import_themes = require("@radix-ui/themes");
|
|
37
|
+
var React = __toESM(require("react"), 1);
|
|
38
|
+
var import_endpoint = require("../api/endpoint.js");
|
|
39
|
+
var import_delete_user_dialog = require("./delete-user-dialog.js");
|
|
40
|
+
var import_edit_user_role_dialog = require("./edit-user-role-dialog.js");
|
|
41
|
+
var import_elements = require("./elements.js");
|
|
42
|
+
var import_resend_invite_dialog = require("./resend-invite-dialog.js");
|
|
43
|
+
var import_revoke_invite_dialog = require("./revoke-invite-dialog.js");
|
|
44
|
+
const UserActionsDropdown = ({
|
|
45
|
+
user,
|
|
46
|
+
children
|
|
47
|
+
}) => {
|
|
48
|
+
const rolesAndConfigQuery = (0, import_endpoint.useRolesAndConfig)({
|
|
49
|
+
query: {
|
|
50
|
+
initialData: { roles: [], multipleRolesEnabled: false }
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
const { roles, multipleRolesEnabled: isMultipleRolesEnabled } = rolesAndConfigQuery.data;
|
|
54
|
+
const [openDialog, setOpenDialog] = React.useState(
|
|
55
|
+
null
|
|
56
|
+
);
|
|
57
|
+
function getDialogKey(dialog) {
|
|
58
|
+
return `${dialog}-${openDialog === dialog}-${user.id}`;
|
|
59
|
+
}
|
|
60
|
+
const { actions, items } = React.useMemo(() => {
|
|
61
|
+
const actions2 = new Set(user.actions);
|
|
62
|
+
const items2 = [];
|
|
63
|
+
if (actions2.has("edit-role")) {
|
|
64
|
+
items2.push(
|
|
65
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
66
|
+
import_elements.PrimaryMenuItem,
|
|
67
|
+
{
|
|
68
|
+
onSelect: () => setOpenDialog("edit-role"),
|
|
69
|
+
disabled: rolesAndConfigQuery.isLoading || rolesAndConfigQuery.isSuccess && roles.length <= 1,
|
|
70
|
+
title: rolesAndConfigQuery.isSuccess && roles.length <= 1 ? "You cannot update the role for this user as there is only one role available." : void 0,
|
|
71
|
+
children: `Edit role${isMultipleRolesEnabled ? "s" : ""}`
|
|
72
|
+
},
|
|
73
|
+
"edit-role"
|
|
74
|
+
)
|
|
75
|
+
);
|
|
76
|
+
}
|
|
77
|
+
if (actions2.has("resend-invite")) {
|
|
78
|
+
items2.push(
|
|
79
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
80
|
+
import_elements.PrimaryMenuItem,
|
|
81
|
+
{
|
|
82
|
+
onSelect: () => setOpenDialog("resend-invite"),
|
|
83
|
+
children: "Resend invitation"
|
|
84
|
+
},
|
|
85
|
+
"resend-invite"
|
|
86
|
+
)
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
if (actions2.has("revoke-invite")) {
|
|
90
|
+
items2.push(
|
|
91
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
92
|
+
import_elements.DestructiveMenuItem,
|
|
93
|
+
{
|
|
94
|
+
onSelect: () => setOpenDialog("revoke-invite"),
|
|
95
|
+
children: "Revoke invitation"
|
|
96
|
+
},
|
|
97
|
+
"revoke-invite"
|
|
98
|
+
)
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
if (actions2.has("revoke-membership")) {
|
|
102
|
+
items2.push(
|
|
103
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
104
|
+
import_elements.DestructiveMenuItem,
|
|
105
|
+
{
|
|
106
|
+
onSelect: () => setOpenDialog("revoke-membership"),
|
|
107
|
+
children: "Remove user"
|
|
108
|
+
},
|
|
109
|
+
"revoke-membership"
|
|
110
|
+
)
|
|
111
|
+
);
|
|
112
|
+
}
|
|
113
|
+
return {
|
|
114
|
+
actions: actions2,
|
|
115
|
+
items: items2
|
|
116
|
+
};
|
|
117
|
+
}, [rolesAndConfigQuery, user.actions, isMultipleRolesEnabled, roles]);
|
|
118
|
+
if (user.isLoggedInUser || items.length === 0) {
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
122
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.DropdownMenu.Root, { children: [
|
|
123
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.DropdownMenu.Trigger, { children }),
|
|
124
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.DropdownMenuContent, { size: "2", align: "end", children: items })
|
|
125
|
+
] }),
|
|
126
|
+
actions.has("edit-role") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
127
|
+
import_edit_user_role_dialog.EditUserRoleDialog,
|
|
128
|
+
{
|
|
129
|
+
user,
|
|
130
|
+
open: openDialog === "edit-role",
|
|
131
|
+
onOpenChange: (open) => !open && setOpenDialog(null)
|
|
132
|
+
},
|
|
133
|
+
getDialogKey("edit-role")
|
|
134
|
+
),
|
|
135
|
+
actions.has("revoke-membership") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
136
|
+
import_delete_user_dialog.DeleteUserDialog,
|
|
137
|
+
{
|
|
138
|
+
user,
|
|
139
|
+
open: openDialog === "revoke-membership",
|
|
140
|
+
onOpenChange: (open) => !open && setOpenDialog(null)
|
|
141
|
+
},
|
|
142
|
+
getDialogKey("revoke-membership")
|
|
143
|
+
),
|
|
144
|
+
actions.has("revoke-invite") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
145
|
+
import_revoke_invite_dialog.RevokeInviteDialog,
|
|
146
|
+
{
|
|
147
|
+
user,
|
|
148
|
+
open: openDialog === "revoke-invite",
|
|
149
|
+
onOpenChange: (open) => !open && setOpenDialog(null)
|
|
150
|
+
},
|
|
151
|
+
getDialogKey("revoke-invite")
|
|
152
|
+
),
|
|
153
|
+
actions.has("resend-invite") && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
154
|
+
import_resend_invite_dialog.ResendInviteDialog,
|
|
155
|
+
{
|
|
156
|
+
user,
|
|
157
|
+
open: openDialog === "resend-invite",
|
|
158
|
+
onOpenChange: (open) => !open && setOpenDialog(null)
|
|
159
|
+
},
|
|
160
|
+
getDialogKey("resend-invite")
|
|
161
|
+
)
|
|
162
|
+
] });
|
|
163
|
+
};
|
|
164
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
165
|
+
0 && (module.exports = {
|
|
166
|
+
UserActionsDropdown
|
|
167
|
+
});
|
|
168
|
+
//# sourceMappingURL=user-actions-dropdown.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/user-actions-dropdown.tsx"],"sourcesContent":["\"use client\";\n\nimport { DropdownMenu } from \"@radix-ui/themes\";\nimport * as React from \"react\";\nimport { Member, useRolesAndConfig } from \"../api/endpoint.js\";\nimport { DeleteUserDialog } from \"./delete-user-dialog.js\";\nimport { EditUserRoleDialog } from \"./edit-user-role-dialog.js\";\nimport {\n DestructiveMenuItem,\n DropdownMenuContent,\n PrimaryMenuItem,\n} from \"./elements.js\";\nimport { ResendInviteDialog } from \"./resend-invite-dialog.js\";\nimport { RevokeInviteDialog } from \"./revoke-invite-dialog.js\";\n\ninterface UserActionsDropdownProps {\n user: Member;\n children: React.ReactNode;\n}\n\ntype UserActionDialog =\n | \"revoke-membership\"\n | \"revoke-invite\"\n | \"resend-invite\"\n | \"edit-role\";\n\nexport const UserActionsDropdown = ({\n user,\n children,\n}: UserActionsDropdownProps) => {\n const rolesAndConfigQuery = useRolesAndConfig({\n query: {\n initialData: { roles: [], multipleRolesEnabled: false },\n },\n });\n const { roles, multipleRolesEnabled: isMultipleRolesEnabled } =\n rolesAndConfigQuery.data;\n const [openDialog, setOpenDialog] = React.useState<UserActionDialog | null>(\n null,\n );\n\n /**\n * Assigns a key for each dialog based on its open state to ensure its\n * internal state is cleared when it is closed.\n */\n function getDialogKey(dialog: UserActionDialog) {\n return `${dialog}-${openDialog === dialog}-${user.id}`;\n }\n\n const { actions, items } = React.useMemo(() => {\n const actions = new Set(user.actions);\n const items: React.ReactElement[] = [];\n if (actions.has(\"edit-role\")) {\n items.push(\n <PrimaryMenuItem\n key=\"edit-role\"\n onSelect={() => setOpenDialog(\"edit-role\")}\n disabled={\n rolesAndConfigQuery.isLoading ||\n (rolesAndConfigQuery.isSuccess && roles.length <= 1)\n }\n title={\n rolesAndConfigQuery.isSuccess && roles.length <= 1\n ? \"You cannot update the role for this user as there is only one role available.\"\n : undefined\n }\n >\n {`Edit role${isMultipleRolesEnabled ? \"s\" : \"\"}`}\n </PrimaryMenuItem>,\n );\n }\n if (actions.has(\"resend-invite\")) {\n items.push(\n <PrimaryMenuItem\n key=\"resend-invite\"\n onSelect={() => setOpenDialog(\"resend-invite\")}\n >\n Resend invitation\n </PrimaryMenuItem>,\n );\n }\n if (actions.has(\"revoke-invite\")) {\n items.push(\n <DestructiveMenuItem\n key=\"revoke-invite\"\n onSelect={() => setOpenDialog(\"revoke-invite\")}\n >\n Revoke invitation\n </DestructiveMenuItem>,\n );\n }\n if (actions.has(\"revoke-membership\")) {\n items.push(\n <DestructiveMenuItem\n key=\"revoke-membership\"\n onSelect={() => setOpenDialog(\"revoke-membership\")}\n >\n Remove user\n </DestructiveMenuItem>,\n );\n }\n return {\n actions,\n items,\n };\n }, [rolesAndConfigQuery, user.actions, isMultipleRolesEnabled, roles]);\n\n if (user.isLoggedInUser || items.length === 0) {\n return null;\n }\n\n return (\n <>\n <DropdownMenu.Root>\n <DropdownMenu.Trigger>{children}</DropdownMenu.Trigger>\n <DropdownMenuContent size=\"2\" align=\"end\">\n {items}\n </DropdownMenuContent>\n </DropdownMenu.Root>\n\n {actions.has(\"edit-role\") && (\n <EditUserRoleDialog\n key={getDialogKey(\"edit-role\")}\n user={user}\n open={openDialog === \"edit-role\"}\n onOpenChange={(open) => !open && setOpenDialog(null)}\n />\n )}\n\n {actions.has(\"revoke-membership\") && (\n <DeleteUserDialog\n key={getDialogKey(\"revoke-membership\")}\n user={user}\n open={openDialog === \"revoke-membership\"}\n onOpenChange={(open) => !open && setOpenDialog(null)}\n />\n )}\n\n {actions.has(\"revoke-invite\") && (\n <RevokeInviteDialog\n key={getDialogKey(\"revoke-invite\")}\n user={user}\n open={openDialog === \"revoke-invite\"}\n onOpenChange={(open) => !open && setOpenDialog(null)}\n />\n )}\n\n {actions.has(\"resend-invite\") && (\n <ResendInviteDialog\n key={getDialogKey(\"resend-invite\")}\n user={user}\n open={openDialog === \"resend-invite\"}\n onOpenChange={(open) => !open && setOpenDialog(null)}\n />\n )}\n </>\n );\n};\n"],"mappings":"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","names":["actions","items"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Member } from '../api/endpoint.cjs';
|
|
4
|
+
import '@tanstack/react-query';
|
|
5
|
+
import '../api/widgets-api-client.cjs';
|
|
6
|
+
|
|
7
|
+
interface UserActionsDropdownProps {
|
|
8
|
+
user: Member;
|
|
9
|
+
children: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
declare const UserActionsDropdown: ({ user, children, }: UserActionsDropdownProps) => react_jsx_runtime.JSX.Element | null;
|
|
12
|
+
|
|
13
|
+
export { UserActionsDropdown };
|
|
@@ -0,0 +1,175 @@
|
|
|
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 user_profile_exports = {};
|
|
31
|
+
__export(user_profile_exports, {
|
|
32
|
+
UserProfile: () => UserProfile,
|
|
33
|
+
UserProfileError: () => UserProfileError,
|
|
34
|
+
UserProfileLoading: () => UserProfileLoading
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(user_profile_exports);
|
|
37
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
38
|
+
var import_themes = require("@radix-ui/themes");
|
|
39
|
+
var import_clsx = __toESM(require("clsx"), 1);
|
|
40
|
+
var import_elements = require("./elements.js");
|
|
41
|
+
var import_edit_user_profile_dialog = require("./edit-user-profile-dialog.js");
|
|
42
|
+
var import_utils = require("./utils.js");
|
|
43
|
+
var import_oauth_icons = require("./oauth-icons.js");
|
|
44
|
+
var import_generic_error = require("./generic-error.js");
|
|
45
|
+
const UserProfile = ({ userData: user }) => {
|
|
46
|
+
const oauthAccounts = Object.entries(user.oauthProfiles || {});
|
|
47
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
48
|
+
import_themes.Card,
|
|
49
|
+
{
|
|
50
|
+
className: (0, import_clsx.default)("woswidgets-widget"),
|
|
51
|
+
"data-woswidgets-widget-id": "user-profile",
|
|
52
|
+
size: "2",
|
|
53
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.DataList.Root, { children: [
|
|
54
|
+
user.profilePictureUrl && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
55
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.DataList.Item, { align: "center", children: [
|
|
56
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.DataList.Label, { minWidth: "220px", highContrast: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Strong, { children: "Profile picture" }) }),
|
|
57
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.DataList.Value, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
58
|
+
import_elements.Avatar,
|
|
59
|
+
{
|
|
60
|
+
size: "2",
|
|
61
|
+
fallback: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(FallbackUserIcon, {}),
|
|
62
|
+
src: user.profilePictureUrl
|
|
63
|
+
}
|
|
64
|
+
) })
|
|
65
|
+
] }),
|
|
66
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ListSeparator, {})
|
|
67
|
+
] }),
|
|
68
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.DataList.Item, { align: "center", children: [
|
|
69
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.DataList.Label, { highContrast: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Strong, { children: "Full name" }) }),
|
|
70
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.DataList.Value, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
71
|
+
import_themes.Flex,
|
|
72
|
+
{
|
|
73
|
+
align: "center",
|
|
74
|
+
justify: "between",
|
|
75
|
+
width: "100%",
|
|
76
|
+
minHeight: "var(--space-6)",
|
|
77
|
+
children: [
|
|
78
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Text, { size: "2", children: (0, import_utils.getBestName)(user) || /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
79
|
+
import_themes.Text,
|
|
80
|
+
{
|
|
81
|
+
color: "gray",
|
|
82
|
+
style: { color: "var(--gray-10)", cursor: "default" },
|
|
83
|
+
children: "Not set"
|
|
84
|
+
}
|
|
85
|
+
) }),
|
|
86
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_edit_user_profile_dialog.EditUserProfileDialog, { user, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.SecondaryButton, { children: "Edit" }) })
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
) })
|
|
90
|
+
] }),
|
|
91
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ListSeparator, {}),
|
|
92
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.DataList.Item, { align: "center", children: [
|
|
93
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.DataList.Label, { highContrast: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Strong, { children: "Email address" }) }),
|
|
94
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.DataList.Value, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Flex, { align: "center", minHeight: "var(--space-6)", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Text, { size: "2", children: user.email }) }) })
|
|
95
|
+
] }),
|
|
96
|
+
oauthAccounts.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
97
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ListSeparator, {}),
|
|
98
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.DataList.Item, { children: [
|
|
99
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.DataList.Label, { highContrast: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Strong, { children: "Connected accounts" }) }),
|
|
100
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.DataList.Value, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Flex, { direction: "column", gap: "2", children: oauthAccounts.map(([account, data]) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
101
|
+
OAuthAccount,
|
|
102
|
+
{
|
|
103
|
+
account,
|
|
104
|
+
email: data?.email
|
|
105
|
+
},
|
|
106
|
+
account
|
|
107
|
+
)) }) })
|
|
108
|
+
] })
|
|
109
|
+
] })
|
|
110
|
+
] })
|
|
111
|
+
}
|
|
112
|
+
);
|
|
113
|
+
};
|
|
114
|
+
const UserProfileLoading = () => {
|
|
115
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Card, { size: "2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.DataList.Root, { children: [
|
|
116
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.DataList.Item, { align: "center", children: [
|
|
117
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.DataList.Label, { minWidth: "220px", highContrast: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Strong, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { children: "Full name" }) }) }),
|
|
118
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.DataList.Value, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
119
|
+
import_themes.Flex,
|
|
120
|
+
{
|
|
121
|
+
align: "center",
|
|
122
|
+
justify: "between",
|
|
123
|
+
width: "100%",
|
|
124
|
+
minHeight: "var(--space-6)",
|
|
125
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Text, { size: "2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { children: "Full name" }) })
|
|
126
|
+
}
|
|
127
|
+
) })
|
|
128
|
+
] }),
|
|
129
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ListSeparator, {}),
|
|
130
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.DataList.Item, { align: "center", children: [
|
|
131
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.DataList.Label, { highContrast: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Strong, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { children: "Email address" }) }) }),
|
|
132
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.DataList.Value, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Flex, { align: "center", minHeight: "var(--space-6)", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Text, { size: "2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { children: "Email address" }) }) }) })
|
|
133
|
+
] })
|
|
134
|
+
] }) });
|
|
135
|
+
};
|
|
136
|
+
function UserProfileError({ error }) {
|
|
137
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Card, { size: "2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_generic_error.GenericError, { error }) });
|
|
138
|
+
}
|
|
139
|
+
const ListSeparator = () => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Box, { asChild: true, gridColumn: "span 2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Inset, { side: "x", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Separator, { size: "4" }) }) });
|
|
140
|
+
const OAuthAccount = ({
|
|
141
|
+
account,
|
|
142
|
+
email
|
|
143
|
+
}) => {
|
|
144
|
+
const Icon = (0, import_oauth_icons.getOAuthIcon)(account);
|
|
145
|
+
const name = (0, import_oauth_icons.getOAuthName)(account);
|
|
146
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Flex, { align: "center", gap: "1", children: [
|
|
147
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(Icon, {}),
|
|
148
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Text, { size: "2", ml: "1", children: name }),
|
|
149
|
+
email && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Box, { display: { initial: "none", sm: "contents" }, children: [
|
|
150
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Text, { size: "2", color: "gray", children: "\u2219" }),
|
|
151
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Text, { size: "2", color: "gray", children: email })
|
|
152
|
+
] })
|
|
153
|
+
] });
|
|
154
|
+
};
|
|
155
|
+
const FallbackUserIcon = () => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
156
|
+
"svg",
|
|
157
|
+
{
|
|
158
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
159
|
+
width: "20",
|
|
160
|
+
height: "20",
|
|
161
|
+
fill: "currentColor",
|
|
162
|
+
viewBox: "0 0 256 256",
|
|
163
|
+
children: [
|
|
164
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)("title", { children: "User icon" }),
|
|
165
|
+
/* @__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" })
|
|
166
|
+
]
|
|
167
|
+
}
|
|
168
|
+
);
|
|
169
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
170
|
+
0 && (module.exports = {
|
|
171
|
+
UserProfile,
|
|
172
|
+
UserProfileError,
|
|
173
|
+
UserProfileLoading
|
|
174
|
+
});
|
|
175
|
+
//# sourceMappingURL=user-profile.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/user-profile.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Box,\n Card,\n DataList,\n Flex,\n Inset,\n Separator,\n Strong,\n Text,\n} from \"@radix-ui/themes\";\nimport clsx from \"clsx\";\nimport { Avatar, SecondaryButton, Skeleton } from \"./elements.js\";\nimport { Me } from \"../api/endpoint.js\";\nimport { EditUserProfileDialog } from \"./edit-user-profile-dialog.js\";\nimport { getBestName } from \"./utils.js\";\nimport { getOAuthIcon, getOAuthName } from \"./oauth-icons.js\";\nimport { GenericError } from \"./generic-error.js\";\n\ninterface UserProfileProps {\n userData: Me;\n}\n\nexport const UserProfile = ({ userData: user }: UserProfileProps) => {\n const oauthAccounts = Object.entries(user.oauthProfiles || {});\n\n return (\n <Card\n className={clsx(\"woswidgets-widget\")}\n data-woswidgets-widget-id=\"user-profile\"\n size=\"2\"\n >\n <DataList.Root>\n {user.profilePictureUrl && (\n <>\n <DataList.Item align=\"center\">\n <DataList.Label minWidth=\"220px\" highContrast>\n <Strong>Profile picture</Strong>\n </DataList.Label>\n <DataList.Value>\n <Avatar\n size=\"2\"\n fallback={<FallbackUserIcon />}\n src={user.profilePictureUrl}\n />\n </DataList.Value>\n </DataList.Item>\n\n <ListSeparator />\n </>\n )}\n\n <DataList.Item align=\"center\">\n <DataList.Label highContrast>\n <Strong>Full name</Strong>\n </DataList.Label>\n <DataList.Value>\n <Flex\n align=\"center\"\n justify=\"between\"\n width=\"100%\"\n minHeight=\"var(--space-6)\"\n >\n <Text size=\"2\">\n {getBestName(user) || (\n <Text\n color=\"gray\"\n style={{ color: \"var(--gray-10)\", cursor: \"default\" }}\n >\n Not set\n </Text>\n )}\n </Text>\n\n <EditUserProfileDialog user={user}>\n <SecondaryButton>Edit</SecondaryButton>\n </EditUserProfileDialog>\n </Flex>\n </DataList.Value>\n </DataList.Item>\n\n <ListSeparator />\n\n <DataList.Item align=\"center\">\n <DataList.Label highContrast>\n <Strong>Email address</Strong>\n </DataList.Label>\n <DataList.Value>\n <Flex align=\"center\" minHeight=\"var(--space-6)\">\n <Text size=\"2\">{user.email}</Text>\n </Flex>\n </DataList.Value>\n </DataList.Item>\n\n {oauthAccounts.length > 0 && (\n <>\n <ListSeparator />\n\n <DataList.Item>\n <DataList.Label highContrast>\n <Strong>Connected accounts</Strong>\n </DataList.Label>\n <DataList.Value>\n <Flex direction=\"column\" gap=\"2\">\n {oauthAccounts.map(([account, data]) => (\n <OAuthAccount\n key={account}\n account={account}\n email={data?.email}\n />\n ))}\n </Flex>\n </DataList.Value>\n </DataList.Item>\n </>\n )}\n </DataList.Root>\n </Card>\n );\n};\n\nexport const UserProfileLoading: React.FC = () => {\n return (\n <Card size=\"2\">\n <DataList.Root>\n <DataList.Item align=\"center\">\n <DataList.Label minWidth=\"220px\" highContrast>\n <Strong>\n <Skeleton>Full name</Skeleton>\n </Strong>\n </DataList.Label>\n <DataList.Value>\n <Flex\n align=\"center\"\n justify=\"between\"\n width=\"100%\"\n minHeight=\"var(--space-6)\"\n >\n <Text size=\"2\">\n <Skeleton>Full name</Skeleton>\n </Text>\n </Flex>\n </DataList.Value>\n </DataList.Item>\n\n <ListSeparator />\n\n <DataList.Item align=\"center\">\n <DataList.Label highContrast>\n <Strong>\n <Skeleton>Email address</Skeleton>\n </Strong>\n </DataList.Label>\n <DataList.Value>\n <Flex align=\"center\" minHeight=\"var(--space-6)\">\n <Text size=\"2\">\n <Skeleton>Email address</Skeleton>\n </Text>\n </Flex>\n </DataList.Value>\n </DataList.Item>\n </DataList.Root>\n </Card>\n );\n};\n\nexport function UserProfileError({ error }: { error: unknown }) {\n return (\n <Card size=\"2\">\n <GenericError error={error} />\n </Card>\n );\n}\n\nconst ListSeparator = () => (\n <Box asChild gridColumn=\"span 2\">\n <Inset side=\"x\">\n <Separator size=\"4\" />\n </Inset>\n </Box>\n);\n\nconst OAuthAccount = ({\n account,\n email,\n}: {\n account: string;\n email?: string | null;\n}) => {\n const Icon = getOAuthIcon(account);\n const name = getOAuthName(account);\n\n return (\n <Flex align=\"center\" gap=\"1\">\n <Icon />\n\n <Text size=\"2\" ml=\"1\">\n {name}\n </Text>\n\n {email && (\n <Box display={{ initial: \"none\", sm: \"contents\" }}>\n <Text size=\"2\" color=\"gray\">\n ∙\n </Text>\n <Text size=\"2\" color=\"gray\">\n {email}\n </Text>\n </Box>\n )}\n </Flex>\n );\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"],"mappings":"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","names":["clsx"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { Me } from '../api/endpoint.cjs';
|
|
3
|
+
import '@tanstack/react-query';
|
|
4
|
+
import '../api/widgets-api-client.cjs';
|
|
5
|
+
|
|
6
|
+
interface UserProfileProps {
|
|
7
|
+
userData: Me;
|
|
8
|
+
}
|
|
9
|
+
declare const UserProfile: ({ userData: user }: UserProfileProps) => react_jsx_runtime.JSX.Element;
|
|
10
|
+
declare const UserProfileLoading: React.FC;
|
|
11
|
+
declare function UserProfileError({ error }: {
|
|
12
|
+
error: unknown;
|
|
13
|
+
}): react_jsx_runtime.JSX.Element;
|
|
14
|
+
|
|
15
|
+
export { UserProfile, UserProfileError, UserProfileLoading };
|
|
@@ -0,0 +1,135 @@
|
|
|
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 user_security_exports = {};
|
|
31
|
+
__export(user_security_exports, {
|
|
32
|
+
UserSecurity: () => UserSecurity,
|
|
33
|
+
UserSecurityError: () => UserSecurityError,
|
|
34
|
+
UserSecurityLoading: () => UserSecurityLoading
|
|
35
|
+
});
|
|
36
|
+
module.exports = __toCommonJS(user_security_exports);
|
|
37
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
38
|
+
var import_themes = require("@radix-ui/themes");
|
|
39
|
+
var import_clsx = __toESM(require("clsx"), 1);
|
|
40
|
+
var import_elements = require("./elements.js");
|
|
41
|
+
var import_icon_panel = require("./icon-panel.js");
|
|
42
|
+
var import_react_icons = require("@radix-ui/react-icons");
|
|
43
|
+
var import_set_password_dialog = require("./set-password-dialog.js");
|
|
44
|
+
var import_change_password_dialog = require("./change-password-dialog.js");
|
|
45
|
+
var import_add_mfa_dialog = require("./add-mfa-dialog.js");
|
|
46
|
+
var import_reset_mfa_dialog = require("./reset-mfa-dialog.js");
|
|
47
|
+
var CardList = __toESM(require("./card-list.js"), 1);
|
|
48
|
+
var import_generic_error = require("./generic-error.js");
|
|
49
|
+
var import_utils = require("./utils.js");
|
|
50
|
+
const UserSecurity = ({ settings }) => {
|
|
51
|
+
const passwordSettings = settings.verificationMethods.Password;
|
|
52
|
+
const mfaSettings = settings.verificationMethods.Mfa;
|
|
53
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
|
|
54
|
+
CardList.Root,
|
|
55
|
+
{
|
|
56
|
+
className: (0, import_clsx.default)("woswidgets-widget"),
|
|
57
|
+
"data-woswidgets-widget-id": "user-security",
|
|
58
|
+
children: [
|
|
59
|
+
passwordSettings && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CardList.Item, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PasswordSettings, { settings: passwordSettings }) }),
|
|
60
|
+
mfaSettings && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CardList.Item, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
61
|
+
MfaSettings,
|
|
62
|
+
{
|
|
63
|
+
settings: mfaSettings,
|
|
64
|
+
isPasswordSet: !!passwordSettings?.isSetUp
|
|
65
|
+
}
|
|
66
|
+
) })
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
);
|
|
70
|
+
};
|
|
71
|
+
function UserSecurityError({ error }) {
|
|
72
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Card, { size: "2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_generic_error.GenericError, { error }) });
|
|
73
|
+
}
|
|
74
|
+
const UserSecurityLoading = () => {
|
|
75
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Card, { size: "2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Grid, { columns: "auto 1fr auto", align: "center", gap: "4", children: [
|
|
76
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icon_panel.IconPanel, {}) }),
|
|
77
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Flex, { direction: "column", children: [
|
|
78
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Text, { size: "2", highContrast: true, weight: "bold", as: "p", mb: "-2px", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { children: "Password" }) }),
|
|
79
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Text, { as: "p", size: "2", color: "gray", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { children: "Set a password to access your account" }) })
|
|
80
|
+
] }),
|
|
81
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_change_password_dialog.ChangePasswordDialog, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.Skeleton, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.SecondaryButton, { children: "Change" }) }) })
|
|
82
|
+
] }) });
|
|
83
|
+
};
|
|
84
|
+
function PasswordSettings({
|
|
85
|
+
settings
|
|
86
|
+
}) {
|
|
87
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Grid, { columns: "auto 1fr auto", align: "center", gap: "4", children: [
|
|
88
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icon_panel.IconPanel, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_icons.LockClosedIcon, {}) }),
|
|
89
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Flex, { direction: "column", children: [
|
|
90
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Text, { size: "2", highContrast: true, weight: "bold", as: "p", mb: "-2px", children: "Password" }),
|
|
91
|
+
settings.isSetUp ? settings.lastUsed && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Text, { size: "2", color: "gray", children: [
|
|
92
|
+
"Last used",
|
|
93
|
+
" ",
|
|
94
|
+
(0, import_utils.getComparativeReadableDate)(
|
|
95
|
+
/* @__PURE__ */ new Date(),
|
|
96
|
+
new Date(settings.lastUsed)
|
|
97
|
+
)
|
|
98
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Text, { as: "p", size: "2", color: "gray", children: "Set a password to access your account" })
|
|
99
|
+
] }),
|
|
100
|
+
settings.isSetUp ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_change_password_dialog.ChangePasswordDialog, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.SecondaryButton, { children: "Change" }) }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_set_password_dialog.SetPasswordDialog, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.SecondaryButton, { children: "Set a password" }) })
|
|
101
|
+
] });
|
|
102
|
+
}
|
|
103
|
+
function MfaSettings({
|
|
104
|
+
settings,
|
|
105
|
+
isPasswordSet
|
|
106
|
+
}) {
|
|
107
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Grid, { columns: "auto 1fr auto", align: "center", gap: "4", children: [
|
|
108
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_icon_panel.IconPanel, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_icons.ButtonIcon, {}) }),
|
|
109
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Flex, { direction: "column", children: [
|
|
110
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Text, { size: "2", highContrast: true, weight: "bold", as: "p", mb: "-2px", children: "Multi-factor authentication" }),
|
|
111
|
+
settings.isSetUp ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Text, { size: "2", children: [
|
|
112
|
+
"Authenticator app",
|
|
113
|
+
settings.lastUsed && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
|
|
114
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Text, { size: "2", color: "gray", mx: "1", children: "\u2219" }),
|
|
115
|
+
/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_themes.Text, { size: "2", color: "gray", children: [
|
|
116
|
+
"Last used",
|
|
117
|
+
" ",
|
|
118
|
+
(0, import_utils.getComparativeReadableDate)(
|
|
119
|
+
/* @__PURE__ */ new Date(),
|
|
120
|
+
new Date(settings.lastUsed)
|
|
121
|
+
)
|
|
122
|
+
] })
|
|
123
|
+
] })
|
|
124
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_themes.Text, { as: "p", size: "2", color: "gray", children: "Secure your account with an extra verification step" })
|
|
125
|
+
] }),
|
|
126
|
+
settings.isSetUp ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_reset_mfa_dialog.ResetMfaDialog, { isPasswordSet, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.SecondaryButton, { children: "Disable" }) }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_add_mfa_dialog.AddMfaDialog, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_elements.SecondaryButton, { children: "Set up authenticator app" }) })
|
|
127
|
+
] });
|
|
128
|
+
}
|
|
129
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
130
|
+
0 && (module.exports = {
|
|
131
|
+
UserSecurity,
|
|
132
|
+
UserSecurityError,
|
|
133
|
+
UserSecurityLoading
|
|
134
|
+
});
|
|
135
|
+
//# sourceMappingURL=user-security.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/user-security.tsx"],"sourcesContent":["\"use client\";\n\nimport { Card, Flex, Grid, Text } from \"@radix-ui/themes\";\nimport clsx from \"clsx\";\nimport { SecondaryButton, Skeleton } from \"./elements.js\";\nimport { IconPanel } from \"./icon-panel.js\";\nimport { ButtonIcon, LockClosedIcon } from \"@radix-ui/react-icons\";\nimport { SetPasswordDialog } from \"./set-password-dialog.js\";\nimport { ChangePasswordDialog } from \"./change-password-dialog.js\";\nimport { AddMfaDialog } from \"./add-mfa-dialog.js\";\nimport type {\n AuthenticationInformationResponseData as AuthenticationSettings,\n AuthenticationInformationResponseDataVerificationMethodsPassword as PasswordVerificationMethod,\n AuthenticationInformationResponseDataVerificationMethodsMfa as MfaVerificationMethod,\n} from \"../api/endpoint.js\";\nimport { ResetMfaDialog } from \"./reset-mfa-dialog.js\";\nimport * as CardList from \"./card-list.js\";\nimport { GenericError } from \"./generic-error.js\";\nimport { getComparativeReadableDate } from \"./utils.js\";\n\ninterface UserSecurityProps {\n settings: AuthenticationSettings;\n}\n\nexport const UserSecurity = ({ settings }: UserSecurityProps) => {\n const passwordSettings = settings.verificationMethods.Password;\n const mfaSettings = settings.verificationMethods.Mfa;\n\n return (\n <CardList.Root\n className={clsx(\"woswidgets-widget\")}\n data-woswidgets-widget-id=\"user-security\"\n >\n {passwordSettings && (\n <CardList.Item>\n <PasswordSettings settings={passwordSettings} />\n </CardList.Item>\n )}\n\n {mfaSettings && (\n <CardList.Item>\n <MfaSettings\n settings={mfaSettings}\n isPasswordSet={!!passwordSettings?.isSetUp}\n />\n </CardList.Item>\n )}\n </CardList.Root>\n );\n};\n\nexport function UserSecurityError({ error }: { error: unknown }) {\n return (\n <Card size=\"2\">\n <GenericError error={error} />\n </Card>\n );\n}\n\nexport const UserSecurityLoading: React.FC = () => {\n return (\n <Card size=\"2\">\n <Grid columns=\"auto 1fr auto\" align=\"center\" gap=\"4\">\n <Skeleton>\n <IconPanel />\n </Skeleton>\n\n <Flex direction=\"column\">\n <Text size=\"2\" highContrast weight=\"bold\" as=\"p\" mb=\"-2px\">\n <Skeleton>Password</Skeleton>\n </Text>\n <Text as=\"p\" size=\"2\" color=\"gray\">\n <Skeleton>Set a password to access your account</Skeleton>\n </Text>\n </Flex>\n\n <ChangePasswordDialog>\n <Skeleton>\n <SecondaryButton>Change</SecondaryButton>\n </Skeleton>\n </ChangePasswordDialog>\n </Grid>\n </Card>\n );\n};\n\nfunction PasswordSettings({\n settings,\n}: {\n settings: NonNullable<PasswordVerificationMethod>;\n}) {\n return (\n <Grid columns=\"auto 1fr auto\" align=\"center\" gap=\"4\">\n <IconPanel>\n <LockClosedIcon />\n </IconPanel>\n\n <Flex direction=\"column\">\n <Text size=\"2\" highContrast weight=\"bold\" as=\"p\" mb=\"-2px\">\n Password\n </Text>\n\n {settings.isSetUp ? (\n settings.lastUsed && (\n <Text size=\"2\" color=\"gray\">\n Last used{\" \"}\n {getComparativeReadableDate(\n new Date(),\n new Date(settings.lastUsed),\n )}\n </Text>\n )\n ) : (\n <Text as=\"p\" size=\"2\" color=\"gray\">\n Set a password to access your account\n </Text>\n )}\n </Flex>\n\n {settings.isSetUp ? (\n <ChangePasswordDialog>\n <SecondaryButton>Change</SecondaryButton>\n </ChangePasswordDialog>\n ) : (\n <SetPasswordDialog>\n <SecondaryButton>Set a password</SecondaryButton>\n </SetPasswordDialog>\n )}\n </Grid>\n );\n}\n\nfunction MfaSettings({\n settings,\n isPasswordSet,\n}: {\n settings: NonNullable<MfaVerificationMethod>;\n isPasswordSet: boolean;\n}) {\n return (\n <Grid columns=\"auto 1fr auto\" align=\"center\" gap=\"4\">\n <IconPanel>\n <ButtonIcon />\n </IconPanel>\n\n <Flex direction=\"column\">\n <Text size=\"2\" highContrast weight=\"bold\" as=\"p\" mb=\"-2px\">\n Multi-factor authentication\n </Text>\n\n {settings.isSetUp ? (\n <Text size=\"2\">\n Authenticator app\n {settings.lastUsed && (\n <>\n <Text size=\"2\" color=\"gray\" mx=\"1\">\n ∙\n </Text>\n <Text size=\"2\" color=\"gray\">\n Last used{\" \"}\n {getComparativeReadableDate(\n new Date(),\n new Date(settings.lastUsed),\n )}\n </Text>\n </>\n )}\n </Text>\n ) : (\n <Text as=\"p\" size=\"2\" color=\"gray\">\n Secure your account with an extra verification step\n </Text>\n )}\n </Flex>\n\n {settings.isSetUp ? (\n <ResetMfaDialog isPasswordSet={isPasswordSet}>\n <SecondaryButton>Disable</SecondaryButton>\n </ResetMfaDialog>\n ) : (\n <AddMfaDialog>\n <SecondaryButton>Set up authenticator app</SecondaryButton>\n </AddMfaDialog>\n )}\n </Grid>\n );\n}\n"],"mappings":"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","names":["clsx"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { AuthenticationInformationResponseData } from '../api/endpoint.cjs';
|
|
3
|
+
import '@tanstack/react-query';
|
|
4
|
+
import '../api/widgets-api-client.cjs';
|
|
5
|
+
|
|
6
|
+
interface UserSecurityProps {
|
|
7
|
+
settings: AuthenticationInformationResponseData;
|
|
8
|
+
}
|
|
9
|
+
declare const UserSecurity: ({ settings }: UserSecurityProps) => react_jsx_runtime.JSX.Element;
|
|
10
|
+
declare function UserSecurityError({ error }: {
|
|
11
|
+
error: unknown;
|
|
12
|
+
}): react_jsx_runtime.JSX.Element;
|
|
13
|
+
declare const UserSecurityLoading: React.FC;
|
|
14
|
+
|
|
15
|
+
export { UserSecurity, UserSecurityError, UserSecurityLoading };
|