@workos-inc/widgets 1.8.1 → 1.8.2
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 +4 -0
- package/dist/cjs/api/endpoint.cjs.map +1 -1
- package/dist/cjs/api/endpoint.d.cts +13 -7
- package/dist/cjs/experimental/api/fetch.cjs +247 -0
- package/dist/cjs/experimental/api/fetch.cjs.map +1 -1
- package/dist/cjs/experimental/api/fetch.d.cts +1037 -213
- package/dist/cjs/experimental/api/react-query.cjs +247 -0
- package/dist/cjs/experimental/api/react-query.cjs.map +1 -1
- package/dist/cjs/experimental/api/react-query.d.cts +1043 -217
- package/dist/cjs/experimental/api/swr.cjs +247 -0
- package/dist/cjs/experimental/api/swr.cjs.map +1 -1
- package/dist/cjs/experimental/api/swr.d.cts +1041 -215
- package/dist/cjs/lib/add-mfa-dialog.cjs +2 -2
- package/dist/cjs/lib/add-mfa-dialog.cjs.map +1 -1
- package/dist/cjs/lib/api/user.d.cts +2 -2
- package/dist/cjs/lib/api-keys/api-keys-search.cjs +2 -2
- package/dist/cjs/lib/api-keys/api-keys-search.cjs.map +1 -1
- package/dist/cjs/lib/api-keys/create-api-key.cjs +8 -8
- package/dist/cjs/lib/api-keys/create-api-key.cjs.map +1 -1
- package/dist/cjs/lib/change-password-dialog.cjs +18 -18
- package/dist/cjs/lib/change-password-dialog.cjs.map +1 -1
- package/dist/cjs/lib/edit-user-profile-dialog.cjs +8 -8
- package/dist/cjs/lib/edit-user-profile-dialog.cjs.map +1 -1
- package/dist/cjs/lib/elements/utils.cjs +3 -4
- package/dist/cjs/lib/elements/utils.cjs.map +1 -1
- package/dist/cjs/lib/elevated-access.cjs +2 -2
- package/dist/cjs/lib/elevated-access.cjs.map +1 -1
- package/dist/cjs/lib/otp-input.cjs +6 -7
- package/dist/cjs/lib/otp-input.cjs.map +1 -1
- package/dist/cjs/lib/set-password-dialog.cjs +12 -12
- package/dist/cjs/lib/set-password-dialog.cjs.map +1 -1
- package/dist/cjs/lib/users-search.cjs +2 -2
- package/dist/cjs/lib/users-search.cjs.map +1 -1
- package/dist/esm/api/endpoint.d.ts +13 -7
- package/dist/esm/api/endpoint.js.map +1 -1
- package/dist/esm/experimental/api/fetch.d.ts +1037 -213
- package/dist/esm/experimental/api/fetch.js +219 -0
- package/dist/esm/experimental/api/fetch.js.map +1 -1
- package/dist/esm/experimental/api/react-query.d.ts +1043 -217
- package/dist/esm/experimental/api/react-query.js +219 -0
- package/dist/esm/experimental/api/react-query.js.map +1 -1
- package/dist/esm/experimental/api/swr.d.ts +1041 -215
- package/dist/esm/experimental/api/swr.js +219 -0
- package/dist/esm/experimental/api/swr.js.map +1 -1
- package/dist/esm/lib/add-mfa-dialog.js +1 -1
- package/dist/esm/lib/add-mfa-dialog.js.map +1 -1
- package/dist/esm/lib/api/user.d.ts +2 -2
- package/dist/esm/lib/api-keys/api-keys-search.js +1 -1
- package/dist/esm/lib/api-keys/api-keys-search.js.map +1 -1
- package/dist/esm/lib/api-keys/create-api-key.js +1 -1
- package/dist/esm/lib/api-keys/create-api-key.js.map +1 -1
- package/dist/esm/lib/change-password-dialog.js +1 -1
- package/dist/esm/lib/change-password-dialog.js.map +1 -1
- package/dist/esm/lib/edit-user-profile-dialog.js +1 -1
- package/dist/esm/lib/edit-user-profile-dialog.js.map +1 -1
- package/dist/esm/lib/elements/utils.js +1 -2
- package/dist/esm/lib/elements/utils.js.map +1 -1
- package/dist/esm/lib/elevated-access.js +1 -1
- package/dist/esm/lib/elevated-access.js.map +1 -1
- package/dist/esm/lib/otp-input.js +6 -3
- package/dist/esm/lib/otp-input.js.map +1 -1
- package/dist/esm/lib/set-password-dialog.js +1 -1
- package/dist/esm/lib/set-password-dialog.js.map +1 -1
- package/dist/esm/lib/users-search.js +1 -1
- package/dist/esm/lib/users-search.js.map +1 -1
- package/package.json +5 -12
- package/dist/cjs/experimental/api/model/active-session-current-location.cjs +0 -17
- package/dist/cjs/experimental/api/model/active-session-current-location.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/active-session-current-location.d.cts +0 -16
- package/dist/cjs/experimental/api/model/active-session-state.cjs +0 -17
- package/dist/cjs/experimental/api/model/active-session-state.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/active-session-state.d.cts +0 -14
- package/dist/cjs/experimental/api/model/active-session.cjs +0 -17
- package/dist/cjs/experimental/api/model/active-session.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/active-session.d.cts +0 -50
- package/dist/cjs/experimental/api/model/active-sessions-response.cjs +0 -17
- package/dist/cjs/experimental/api/model/active-sessions-response.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/active-sessions-response.d.cts +0 -17
- package/dist/cjs/experimental/api/model/authentication-information-response-data-password-settings.cjs +0 -17
- package/dist/cjs/experimental/api/model/authentication-information-response-data-password-settings.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/authentication-information-response-data-password-settings.d.cts +0 -17
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-mfa-provider.cjs +0 -31
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-mfa-provider.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-mfa-provider.d.cts +0 -13
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-mfa.cjs +0 -17
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-mfa.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-mfa.d.cts +0 -21
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-passkey-pass-keys-item.cjs +0 -17
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-passkey-pass-keys-item.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-passkey-pass-keys-item.d.cts +0 -12
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-passkey-provider.cjs +0 -31
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-passkey-provider.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-passkey-provider.d.cts +0 -13
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-passkey.cjs +0 -17
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-passkey.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-passkey.d.cts +0 -24
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-password-provider.cjs +0 -31
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-password-provider.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-password-provider.d.cts +0 -13
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-password.cjs +0 -17
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-password.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods-password.d.cts +0 -22
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods.cjs +0 -17
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/authentication-information-response-data-verification-methods.d.cts +0 -26
- package/dist/cjs/experimental/api/model/authentication-information-response-data.cjs +0 -17
- package/dist/cjs/experimental/api/model/authentication-information-response-data.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/authentication-information-response-data.d.cts +0 -24
- package/dist/cjs/experimental/api/model/authentication-information-response.cjs +0 -17
- package/dist/cjs/experimental/api/model/authentication-information-response.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/authentication-information-response.d.cts +0 -24
- package/dist/cjs/experimental/api/model/authentication-information403.cjs +0 -17
- package/dist/cjs/experimental/api/model/authentication-information403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/authentication-information403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/create-organization-api-key-request.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-organization-api-key-request.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-organization-api-key-request.d.cts +0 -13
- package/dist/cjs/experimental/api/model/create-organization-api-key-response.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-organization-api-key-response.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-organization-api-key-response.d.cts +0 -17
- package/dist/cjs/experimental/api/model/create-organization-api-key400.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-organization-api-key400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-organization-api-key400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/create-organization-api-key403.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-organization-api-key403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-organization-api-key403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/create-organization-api-key404.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-organization-api-key404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-organization-api-key404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/create-organization-api-key422-errors-item.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-organization-api-key422-errors-item.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-organization-api-key422-errors-item.d.cts +0 -13
- package/dist/cjs/experimental/api/model/create-organization-api-key422.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-organization-api-key422.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-organization-api-key422.d.cts +0 -16
- package/dist/cjs/experimental/api/model/create-password-request.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-password-request.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-password-request.d.cts +0 -12
- package/dist/cjs/experimental/api/model/create-password201.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-password201.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-password201.d.cts +0 -12
- package/dist/cjs/experimental/api/model/create-password400.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-password400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-password400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/create-password403.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-password403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-password403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of-object.cjs +0 -31
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of-object.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of-object.d.cts +0 -13
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of-three.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of-three.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of-three.d.cts +0 -13
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of.d.cts +0 -21
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-challenge.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-challenge.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-challenge.d.cts +0 -15
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-eight.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-eight.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-eight.d.cts +0 -13
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-object.cjs +0 -31
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-object.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-object.d.cts +0 -13
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-sms.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-sms.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-sms.d.cts +0 -15
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp-any-of-two.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp-any-of-two.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp-any-of-two.d.cts +0 -16
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp-any-of.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp-any-of.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp-any-of.d.cts +0 -19
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp.d.cts +0 -14
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-type.cjs +0 -34
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-type.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-type.d.cts +0 -16
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor-all-of.d.cts +0 -27
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-totp-factor-response-authentication-factor.d.cts +0 -20
- package/dist/cjs/experimental/api/model/create-totp-factor-response.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-totp-factor-response.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-totp-factor-response.d.cts +0 -28
- package/dist/cjs/experimental/api/model/create-totp-factor400.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-totp-factor400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-totp-factor400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/create-totp-factor403.cjs +0 -17
- package/dist/cjs/experimental/api/model/create-totp-factor403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/create-totp-factor403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/data-installation-object.cjs +0 -32
- package/dist/cjs/experimental/api/model/data-installation-object.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/data-installation-object.d.cts +0 -13
- package/dist/cjs/experimental/api/model/data-installation-state.cjs +0 -32
- package/dist/cjs/experimental/api/model/data-installation-state.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/data-installation-state.d.cts +0 -13
- package/dist/cjs/experimental/api/model/data-installation.cjs +0 -17
- package/dist/cjs/experimental/api/model/data-installation.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/data-installation.d.cts +0 -25
- package/dist/cjs/experimental/api/model/data-integration-credentials-type.cjs +0 -32
- package/dist/cjs/experimental/api/model/data-integration-credentials-type.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/data-integration-credentials-type.d.cts +0 -13
- package/dist/cjs/experimental/api/model/data-integration-installation.cjs +0 -17
- package/dist/cjs/experimental/api/model/data-integration-installation.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/data-integration-installation.d.cts +0 -15
- package/dist/cjs/experimental/api/model/data-integration-integration-type.cjs +0 -67
- package/dist/cjs/experimental/api/model/data-integration-integration-type.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/data-integration-integration-type.d.cts +0 -48
- package/dist/cjs/experimental/api/model/data-integration-object.cjs +0 -31
- package/dist/cjs/experimental/api/model/data-integration-object.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/data-integration-object.d.cts +0 -13
- package/dist/cjs/experimental/api/model/data-integration-ownership.cjs +0 -32
- package/dist/cjs/experimental/api/model/data-integration-ownership.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/data-integration-ownership.d.cts +0 -13
- package/dist/cjs/experimental/api/model/data-integration.cjs +0 -17
- package/dist/cjs/experimental/api/model/data-integration.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/data-integration.d.cts +0 -35
- package/dist/cjs/experimental/api/model/data-integrations-response.cjs +0 -17
- package/dist/cjs/experimental/api/model/data-integrations-response.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/data-integrations-response.d.cts +0 -23
- package/dist/cjs/experimental/api/model/delete-data-installation200.cjs +0 -17
- package/dist/cjs/experimental/api/model/delete-data-installation200.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/delete-data-installation200.d.cts +0 -12
- package/dist/cjs/experimental/api/model/delete-data-installation403.cjs +0 -17
- package/dist/cjs/experimental/api/model/delete-data-installation403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/delete-data-installation403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/delete-data-installation404.cjs +0 -17
- package/dist/cjs/experimental/api/model/delete-data-installation404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/delete-data-installation404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/delete-organization-api-key200.cjs +0 -17
- package/dist/cjs/experimental/api/model/delete-organization-api-key200.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/delete-organization-api-key200.d.cts +0 -12
- package/dist/cjs/experimental/api/model/delete-organization-api-key403.cjs +0 -17
- package/dist/cjs/experimental/api/model/delete-organization-api-key403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/delete-organization-api-key403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/delete-organization-api-key404.cjs +0 -17
- package/dist/cjs/experimental/api/model/delete-organization-api-key404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/delete-organization-api-key404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/delete-organization-domain403.cjs +0 -17
- package/dist/cjs/experimental/api/model/delete-organization-domain403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/delete-organization-domain403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/delete-organization-domain404.cjs +0 -17
- package/dist/cjs/experimental/api/model/delete-organization-domain404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/delete-organization-domain404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/delete-passkey200.cjs +0 -17
- package/dist/cjs/experimental/api/model/delete-passkey200.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/delete-passkey200.d.cts +0 -12
- package/dist/cjs/experimental/api/model/delete-passkey400.cjs +0 -17
- package/dist/cjs/experimental/api/model/delete-passkey400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/delete-passkey400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/delete-passkey403.cjs +0 -17
- package/dist/cjs/experimental/api/model/delete-passkey403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/delete-passkey403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/delete-totp-factors200.cjs +0 -17
- package/dist/cjs/experimental/api/model/delete-totp-factors200.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/delete-totp-factors200.d.cts +0 -12
- package/dist/cjs/experimental/api/model/delete-totp-factors400.cjs +0 -17
- package/dist/cjs/experimental/api/model/delete-totp-factors400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/delete-totp-factors400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/delete-totp-factors403.cjs +0 -17
- package/dist/cjs/experimental/api/model/delete-totp-factors403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/delete-totp-factors403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/domain-verification-name-server.cjs +0 -35
- package/dist/cjs/experimental/api/model/domain-verification-name-server.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/domain-verification-name-server.d.cts +0 -17
- package/dist/cjs/experimental/api/model/generate-admin-portal-link-intent.cjs +0 -32
- package/dist/cjs/experimental/api/model/generate-admin-portal-link-intent.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/generate-admin-portal-link-intent.d.cts +0 -14
- package/dist/cjs/experimental/api/model/generate-admin-portal-link-params.cjs +0 -17
- package/dist/cjs/experimental/api/model/generate-admin-portal-link-params.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/generate-admin-portal-link-params.d.cts +0 -15
- package/dist/cjs/experimental/api/model/generate-admin-portal-link201.cjs +0 -17
- package/dist/cjs/experimental/api/model/generate-admin-portal-link201.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/generate-admin-portal-link201.d.cts +0 -12
- package/dist/cjs/experimental/api/model/generate-admin-portal-link403.cjs +0 -17
- package/dist/cjs/experimental/api/model/generate-admin-portal-link403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/generate-admin-portal-link403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/generate-admin-portal-link404.cjs +0 -17
- package/dist/cjs/experimental/api/model/generate-admin-portal-link404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/generate-admin-portal-link404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/generate-admin-portal-link500.cjs +0 -17
- package/dist/cjs/experimental/api/model/generate-admin-portal-link500.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/generate-admin-portal-link500.d.cts +0 -12
- package/dist/cjs/experimental/api/model/get-authorization-status-response.cjs +0 -17
- package/dist/cjs/experimental/api/model/get-authorization-status-response.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/get-authorization-status-response.d.cts +0 -12
- package/dist/cjs/experimental/api/model/get-data-installation-authorization-status400.cjs +0 -17
- package/dist/cjs/experimental/api/model/get-data-installation-authorization-status400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/get-data-installation-authorization-status400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/get-data-installation-authorization-status403.cjs +0 -17
- package/dist/cjs/experimental/api/model/get-data-installation-authorization-status403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/get-data-installation-authorization-status403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/get-data-installation-authorization-status404.cjs +0 -17
- package/dist/cjs/experimental/api/model/get-data-installation-authorization-status404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/get-data-installation-authorization-status404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url-params.cjs +0 -17
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url-params.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url-params.d.cts +0 -12
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url-response-all-of-two.cjs +0 -17
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url-response-all-of-two.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url-response-all-of-two.d.cts +0 -12
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url-response-all-of.cjs +0 -17
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url-response-all-of.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url-response-all-of.d.cts +0 -13
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url-response.cjs +0 -17
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url-response.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url-response.d.cts +0 -14
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url400.cjs +0 -17
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url403.cjs +0 -17
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url404.cjs +0 -17
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/get-data-integration-authorize-url404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/invite-member-body.cjs +0 -17
- package/dist/cjs/experimental/api/model/invite-member-body.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/invite-member-body.d.cts +0 -17
- package/dist/cjs/experimental/api/model/invite-member201.cjs +0 -17
- package/dist/cjs/experimental/api/model/invite-member201.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/invite-member201.d.cts +0 -12
- package/dist/cjs/experimental/api/model/invite-member400.cjs +0 -17
- package/dist/cjs/experimental/api/model/invite-member400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/invite-member400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/invite-member403.cjs +0 -17
- package/dist/cjs/experimental/api/model/invite-member403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/invite-member403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/invite-member404.cjs +0 -17
- package/dist/cjs/experimental/api/model/invite-member404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/invite-member404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/list-metadata.cjs +0 -17
- package/dist/cjs/experimental/api/model/list-metadata.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/list-metadata.d.cts +0 -15
- package/dist/cjs/experimental/api/model/list-organization-api-key-permission.cjs +0 -17
- package/dist/cjs/experimental/api/model/list-organization-api-key-permission.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/list-organization-api-key-permission.d.cts +0 -16
- package/dist/cjs/experimental/api/model/list-organization-api-key-permissions-params.cjs +0 -17
- package/dist/cjs/experimental/api/model/list-organization-api-key-permissions-params.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/list-organization-api-key-permissions-params.d.cts +0 -15
- package/dist/cjs/experimental/api/model/list-organization-api-key-permissions-response-list-metadata.cjs +0 -17
- package/dist/cjs/experimental/api/model/list-organization-api-key-permissions-response-list-metadata.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/list-organization-api-key-permissions-response-list-metadata.d.cts +0 -13
- package/dist/cjs/experimental/api/model/list-organization-api-key-permissions-response.cjs +0 -17
- package/dist/cjs/experimental/api/model/list-organization-api-key-permissions-response.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/list-organization-api-key-permissions-response.d.cts +0 -17
- package/dist/cjs/experimental/api/model/list-organization-api-key-permissions400.cjs +0 -17
- package/dist/cjs/experimental/api/model/list-organization-api-key-permissions400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/list-organization-api-key-permissions400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/list-organization-api-key-permissions403.cjs +0 -17
- package/dist/cjs/experimental/api/model/list-organization-api-key-permissions403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/list-organization-api-key-permissions403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/list-organization-api-keys-params.cjs +0 -17
- package/dist/cjs/experimental/api/model/list-organization-api-keys-params.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/list-organization-api-keys-params.d.cts +0 -15
- package/dist/cjs/experimental/api/model/list-organization-api-keys-response-data.cjs +0 -17
- package/dist/cjs/experimental/api/model/list-organization-api-keys-response-data.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/list-organization-api-keys-response-data.d.cts +0 -18
- package/dist/cjs/experimental/api/model/list-organization-api-keys-response-list-metadata.cjs +0 -17
- package/dist/cjs/experimental/api/model/list-organization-api-keys-response-list-metadata.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/list-organization-api-keys-response-list-metadata.d.cts +0 -13
- package/dist/cjs/experimental/api/model/list-organization-api-keys-response.cjs +0 -17
- package/dist/cjs/experimental/api/model/list-organization-api-keys-response.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/list-organization-api-keys-response.d.cts +0 -17
- package/dist/cjs/experimental/api/model/list-organization-api-keys400.cjs +0 -17
- package/dist/cjs/experimental/api/model/list-organization-api-keys400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/list-organization-api-keys400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/list-organization-api-keys403.cjs +0 -17
- package/dist/cjs/experimental/api/model/list-organization-api-keys403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/list-organization-api-keys403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/list-organization-domains200.cjs +0 -17
- package/dist/cjs/experimental/api/model/list-organization-domains200.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/list-organization-domains200.d.cts +0 -17
- package/dist/cjs/experimental/api/model/list-organization-domains403.cjs +0 -17
- package/dist/cjs/experimental/api/model/list-organization-domains403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/list-organization-domains403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/list-organization-domains404.cjs +0 -17
- package/dist/cjs/experimental/api/model/list-organization-domains404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/list-organization-domains404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/me-oauth-profiles.cjs +0 -17
- package/dist/cjs/experimental/api/model/me-oauth-profiles.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/me-oauth-profiles.d.cts +0 -21
- package/dist/cjs/experimental/api/model/me.cjs +0 -17
- package/dist/cjs/experimental/api/model/me.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/me.d.cts +0 -27
- package/dist/cjs/experimental/api/model/me403.cjs +0 -17
- package/dist/cjs/experimental/api/model/me403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/me403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/member-actions-item.cjs +0 -34
- package/dist/cjs/experimental/api/model/member-actions-item.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/member-actions-item.d.cts +0 -15
- package/dist/cjs/experimental/api/model/member-actions.cjs +0 -17
- package/dist/cjs/experimental/api/model/member-actions.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/member-actions.d.cts +0 -13
- package/dist/cjs/experimental/api/model/member-role.cjs +0 -17
- package/dist/cjs/experimental/api/model/member-role.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/member-role.d.cts +0 -16
- package/dist/cjs/experimental/api/model/member-roles-item.cjs +0 -17
- package/dist/cjs/experimental/api/model/member-roles-item.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/member-roles-item.d.cts +0 -15
- package/dist/cjs/experimental/api/model/member-status.cjs +0 -35
- package/dist/cjs/experimental/api/model/member-status.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/member-status.d.cts +0 -17
- package/dist/cjs/experimental/api/model/member.cjs +0 -17
- package/dist/cjs/experimental/api/model/member.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/member.d.cts +0 -35
- package/dist/cjs/experimental/api/model/members-params.cjs +0 -17
- package/dist/cjs/experimental/api/model/members-params.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/members-params.d.cts +0 -16
- package/dist/cjs/experimental/api/model/members200.cjs +0 -17
- package/dist/cjs/experimental/api/model/members200.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/members200.d.cts +0 -21
- package/dist/cjs/experimental/api/model/members403.cjs +0 -17
- package/dist/cjs/experimental/api/model/members403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/members403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/members404.cjs +0 -17
- package/dist/cjs/experimental/api/model/members404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/members404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/my-data-integrations403.cjs +0 -17
- package/dist/cjs/experimental/api/model/my-data-integrations403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/my-data-integrations403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/oauth-profile.cjs +0 -17
- package/dist/cjs/experimental/api/model/oauth-profile.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/oauth-profile.d.cts +0 -22
- package/dist/cjs/experimental/api/model/oidc-session-state.cjs +0 -36
- package/dist/cjs/experimental/api/model/oidc-session-state.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/oidc-session-state.d.cts +0 -18
- package/dist/cjs/experimental/api/model/organization-domain-state.cjs +0 -34
- package/dist/cjs/experimental/api/model/organization-domain-state.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/organization-domain-state.d.cts +0 -16
- package/dist/cjs/experimental/api/model/organization-domain.cjs +0 -17
- package/dist/cjs/experimental/api/model/organization-domain.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/organization-domain.d.cts +0 -26
- package/dist/cjs/experimental/api/model/organization-info.cjs +0 -17
- package/dist/cjs/experimental/api/model/organization-info.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/organization-info.d.cts +0 -16
- package/dist/cjs/experimental/api/model/organizations-response.cjs +0 -17
- package/dist/cjs/experimental/api/model/organizations-response.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/organizations-response.d.cts +0 -15
- package/dist/cjs/experimental/api/model/organizations403.cjs +0 -17
- package/dist/cjs/experimental/api/model/organizations403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/organizations403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/organizations404.cjs +0 -17
- package/dist/cjs/experimental/api/model/organizations404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/organizations404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/register-passkey-response-options.cjs +0 -17
- package/dist/cjs/experimental/api/model/register-passkey-response-options.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/register-passkey-response-options.d.cts +0 -12
- package/dist/cjs/experimental/api/model/register-passkey-response.cjs +0 -17
- package/dist/cjs/experimental/api/model/register-passkey-response.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/register-passkey-response.d.cts +0 -16
- package/dist/cjs/experimental/api/model/register-passkey400.cjs +0 -17
- package/dist/cjs/experimental/api/model/register-passkey400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/register-passkey400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/register-passkey403.cjs +0 -17
- package/dist/cjs/experimental/api/model/register-passkey403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/register-passkey403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/remove-member200.cjs +0 -17
- package/dist/cjs/experimental/api/model/remove-member200.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/remove-member200.d.cts +0 -13
- package/dist/cjs/experimental/api/model/remove-member400.cjs +0 -17
- package/dist/cjs/experimental/api/model/remove-member400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/remove-member400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/remove-member403.cjs +0 -17
- package/dist/cjs/experimental/api/model/remove-member403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/remove-member403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/remove-member404.cjs +0 -17
- package/dist/cjs/experimental/api/model/remove-member404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/remove-member404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/resend-invite201.cjs +0 -17
- package/dist/cjs/experimental/api/model/resend-invite201.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/resend-invite201.d.cts +0 -14
- package/dist/cjs/experimental/api/model/resend-invite400.cjs +0 -17
- package/dist/cjs/experimental/api/model/resend-invite400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/resend-invite400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/resend-invite403.cjs +0 -17
- package/dist/cjs/experimental/api/model/resend-invite403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/resend-invite403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/resend-invite404.cjs +0 -17
- package/dist/cjs/experimental/api/model/resend-invite404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/resend-invite404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/reverify-organization-domain403.cjs +0 -17
- package/dist/cjs/experimental/api/model/reverify-organization-domain403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/reverify-organization-domain403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/reverify-organization-domain404.cjs +0 -17
- package/dist/cjs/experimental/api/model/reverify-organization-domain404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/reverify-organization-domain404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/revoke-all-sessions-request.cjs +0 -17
- package/dist/cjs/experimental/api/model/revoke-all-sessions-request.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/revoke-all-sessions-request.d.cts +0 -12
- package/dist/cjs/experimental/api/model/revoke-all-sessions200.cjs +0 -17
- package/dist/cjs/experimental/api/model/revoke-all-sessions200.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/revoke-all-sessions200.d.cts +0 -12
- package/dist/cjs/experimental/api/model/revoke-all-sessions400.cjs +0 -17
- package/dist/cjs/experimental/api/model/revoke-all-sessions400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/revoke-all-sessions400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/revoke-all-sessions403.cjs +0 -17
- package/dist/cjs/experimental/api/model/revoke-all-sessions403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/revoke-all-sessions403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/revoke-invite200.cjs +0 -17
- package/dist/cjs/experimental/api/model/revoke-invite200.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/revoke-invite200.d.cts +0 -13
- package/dist/cjs/experimental/api/model/revoke-invite400.cjs +0 -17
- package/dist/cjs/experimental/api/model/revoke-invite400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/revoke-invite400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/revoke-invite403.cjs +0 -17
- package/dist/cjs/experimental/api/model/revoke-invite403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/revoke-invite403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/revoke-invite404.cjs +0 -17
- package/dist/cjs/experimental/api/model/revoke-invite404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/revoke-invite404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/revoke-session200.cjs +0 -17
- package/dist/cjs/experimental/api/model/revoke-session200.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/revoke-session200.d.cts +0 -12
- package/dist/cjs/experimental/api/model/revoke-session400.cjs +0 -17
- package/dist/cjs/experimental/api/model/revoke-session400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/revoke-session400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/revoke-session403.cjs +0 -17
- package/dist/cjs/experimental/api/model/revoke-session403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/revoke-session403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/roles-and-config-response.cjs +0 -17
- package/dist/cjs/experimental/api/model/roles-and-config-response.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/roles-and-config-response.d.cts +0 -16
- package/dist/cjs/experimental/api/model/roles-and-config403.cjs +0 -17
- package/dist/cjs/experimental/api/model/roles-and-config403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/roles-and-config403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/roles-and-config404.cjs +0 -17
- package/dist/cjs/experimental/api/model/roles-and-config404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/roles-and-config404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/roles403.cjs +0 -17
- package/dist/cjs/experimental/api/model/roles403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/roles403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/roles404.cjs +0 -17
- package/dist/cjs/experimental/api/model/roles404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/roles404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/saml-session-state.cjs +0 -35
- package/dist/cjs/experimental/api/model/saml-session-state.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/saml-session-state.d.cts +0 -17
- package/dist/cjs/experimental/api/model/send-verification-response-type.cjs +0 -31
- package/dist/cjs/experimental/api/model/send-verification-response-type.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/send-verification-response-type.d.cts +0 -13
- package/dist/cjs/experimental/api/model/send-verification-response.cjs +0 -17
- package/dist/cjs/experimental/api/model/send-verification-response.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/send-verification-response.d.cts +0 -16
- package/dist/cjs/experimental/api/model/send-verification400.cjs +0 -17
- package/dist/cjs/experimental/api/model/send-verification400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/send-verification400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/send-verification403.cjs +0 -17
- package/dist/cjs/experimental/api/model/send-verification403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/send-verification403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/sessions403.cjs +0 -17
- package/dist/cjs/experimental/api/model/sessions403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sessions403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/settings-response-object.cjs +0 -31
- package/dist/cjs/experimental/api/model/settings-response-object.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/settings-response-object.d.cts +0 -13
- package/dist/cjs/experimental/api/model/settings-response.cjs +0 -17
- package/dist/cjs/experimental/api/model/settings-response.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/settings-response.d.cts +0 -25
- package/dist/cjs/experimental/api/model/settings403.cjs +0 -17
- package/dist/cjs/experimental/api/model/settings403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/settings403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of-last-session.cjs +0 -17
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of-last-session.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of-last-session.d.cts +0 -14
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of-provider-tag.cjs +0 -31
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of-provider-tag.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of-provider-tag.d.cts +0 -13
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of-six.cjs +0 -17
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of-six.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of-six.d.cts +0 -14
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of-state.cjs +0 -34
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of-state.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of-state.d.cts +0 -16
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of-type.cjs +0 -38
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of-type.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of-type.d.cts +0 -20
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of.cjs +0 -17
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight-all-of.d.cts +0 -26
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight.cjs +0 -17
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection-any-of-eight.d.cts +0 -20
- package/dist/cjs/experimental/api/model/sso-connection-any-of-last-session.cjs +0 -17
- package/dist/cjs/experimental/api/model/sso-connection-any-of-last-session.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection-any-of-last-session.d.cts +0 -14
- package/dist/cjs/experimental/api/model/sso-connection-any-of-latest-expired-certificate.cjs +0 -17
- package/dist/cjs/experimental/api/model/sso-connection-any-of-latest-expired-certificate.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection-any-of-latest-expired-certificate.d.cts +0 -13
- package/dist/cjs/experimental/api/model/sso-connection-any-of-latest-expiring-certificate.cjs +0 -17
- package/dist/cjs/experimental/api/model/sso-connection-any-of-latest-expiring-certificate.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection-any-of-latest-expiring-certificate.d.cts +0 -13
- package/dist/cjs/experimental/api/model/sso-connection-any-of-provider-tag.cjs +0 -31
- package/dist/cjs/experimental/api/model/sso-connection-any-of-provider-tag.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection-any-of-provider-tag.d.cts +0 -13
- package/dist/cjs/experimental/api/model/sso-connection-any-of-state.cjs +0 -34
- package/dist/cjs/experimental/api/model/sso-connection-any-of-state.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection-any-of-state.d.cts +0 -16
- package/dist/cjs/experimental/api/model/sso-connection-any-of-type.cjs +0 -57
- package/dist/cjs/experimental/api/model/sso-connection-any-of-type.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection-any-of-type.d.cts +0 -39
- package/dist/cjs/experimental/api/model/sso-connection-any-of.cjs +0 -17
- package/dist/cjs/experimental/api/model/sso-connection-any-of.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection-any-of.d.cts +0 -32
- package/dist/cjs/experimental/api/model/sso-connection-session-jso-n.cjs +0 -17
- package/dist/cjs/experimental/api/model/sso-connection-session-jso-n.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection-session-jso-n.d.cts +0 -17
- package/dist/cjs/experimental/api/model/sso-connection-session-json-state.cjs +0 -34
- package/dist/cjs/experimental/api/model/sso-connection-session-json-state.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection-session-json-state.d.cts +0 -10
- package/dist/cjs/experimental/api/model/sso-connection.cjs +0 -17
- package/dist/cjs/experimental/api/model/sso-connection.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/sso-connection.d.cts +0 -29
- package/dist/cjs/experimental/api/model/update-me-body.cjs +0 -17
- package/dist/cjs/experimental/api/model/update-me-body.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/update-me-body.d.cts +0 -14
- package/dist/cjs/experimental/api/model/update-me400.cjs +0 -17
- package/dist/cjs/experimental/api/model/update-me400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/update-me400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/update-me403.cjs +0 -17
- package/dist/cjs/experimental/api/model/update-me403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/update-me403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/update-member-body.cjs +0 -17
- package/dist/cjs/experimental/api/model/update-member-body.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/update-member-body.d.cts +0 -12
- package/dist/cjs/experimental/api/model/update-member200.cjs +0 -17
- package/dist/cjs/experimental/api/model/update-member200.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/update-member200.d.cts +0 -13
- package/dist/cjs/experimental/api/model/update-member400.cjs +0 -17
- package/dist/cjs/experimental/api/model/update-member400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/update-member400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/update-member403.cjs +0 -17
- package/dist/cjs/experimental/api/model/update-member403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/update-member403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/update-member404.cjs +0 -17
- package/dist/cjs/experimental/api/model/update-member404.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/update-member404.d.cts +0 -12
- package/dist/cjs/experimental/api/model/update-password-request.cjs +0 -17
- package/dist/cjs/experimental/api/model/update-password-request.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/update-password-request.d.cts +0 -13
- package/dist/cjs/experimental/api/model/update-password201.cjs +0 -17
- package/dist/cjs/experimental/api/model/update-password201.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/update-password201.d.cts +0 -12
- package/dist/cjs/experimental/api/model/update-password400.cjs +0 -17
- package/dist/cjs/experimental/api/model/update-password400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/update-password400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/update-password403.cjs +0 -17
- package/dist/cjs/experimental/api/model/update-password403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/update-password403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/verify-passkey-request-response.cjs +0 -17
- package/dist/cjs/experimental/api/model/verify-passkey-request-response.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/verify-passkey-request-response.d.cts +0 -12
- package/dist/cjs/experimental/api/model/verify-passkey-request.cjs +0 -17
- package/dist/cjs/experimental/api/model/verify-passkey-request.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/verify-passkey-request.d.cts +0 -16
- package/dist/cjs/experimental/api/model/verify-passkey200.cjs +0 -17
- package/dist/cjs/experimental/api/model/verify-passkey200.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/verify-passkey200.d.cts +0 -12
- package/dist/cjs/experimental/api/model/verify-passkey400.cjs +0 -17
- package/dist/cjs/experimental/api/model/verify-passkey400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/verify-passkey400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/verify-passkey403.cjs +0 -17
- package/dist/cjs/experimental/api/model/verify-passkey403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/verify-passkey403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/verify-request.cjs +0 -17
- package/dist/cjs/experimental/api/model/verify-request.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/verify-request.d.cts +0 -13
- package/dist/cjs/experimental/api/model/verify-response.cjs +0 -17
- package/dist/cjs/experimental/api/model/verify-response.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/verify-response.d.cts +0 -13
- package/dist/cjs/experimental/api/model/verify-totp-factor-request.cjs +0 -17
- package/dist/cjs/experimental/api/model/verify-totp-factor-request.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/verify-totp-factor-request.d.cts +0 -13
- package/dist/cjs/experimental/api/model/verify-totp-factor200.cjs +0 -17
- package/dist/cjs/experimental/api/model/verify-totp-factor200.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/verify-totp-factor200.d.cts +0 -12
- package/dist/cjs/experimental/api/model/verify-totp-factor400.cjs +0 -17
- package/dist/cjs/experimental/api/model/verify-totp-factor400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/verify-totp-factor400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/verify-totp-factor403.cjs +0 -17
- package/dist/cjs/experimental/api/model/verify-totp-factor403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/verify-totp-factor403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/verify400.cjs +0 -17
- package/dist/cjs/experimental/api/model/verify400.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/verify400.d.cts +0 -12
- package/dist/cjs/experimental/api/model/verify403.cjs +0 -17
- package/dist/cjs/experimental/api/model/verify403.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/verify403.d.cts +0 -12
- package/dist/cjs/experimental/api/model/x509-certificate-jso-n.cjs +0 -17
- package/dist/cjs/experimental/api/model/x509-certificate-jso-n.cjs.map +0 -1
- package/dist/cjs/experimental/api/model/x509-certificate-jso-n.d.cts +0 -19
- package/dist/cjs/lib/use-layout-effect.cjs +0 -31
- package/dist/cjs/lib/use-layout-effect.cjs.map +0 -1
- package/dist/cjs/lib/use-layout-effect.d.cts +0 -5
- package/dist/esm/experimental/api/model/active-session-current-location.d.ts +0 -16
- package/dist/esm/experimental/api/model/active-session-current-location.js +0 -1
- package/dist/esm/experimental/api/model/active-session-current-location.js.map +0 -1
- package/dist/esm/experimental/api/model/active-session-state.d.ts +0 -14
- package/dist/esm/experimental/api/model/active-session-state.js +0 -1
- package/dist/esm/experimental/api/model/active-session-state.js.map +0 -1
- package/dist/esm/experimental/api/model/active-session.d.ts +0 -50
- package/dist/esm/experimental/api/model/active-session.js +0 -1
- package/dist/esm/experimental/api/model/active-session.js.map +0 -1
- package/dist/esm/experimental/api/model/active-sessions-response.d.ts +0 -17
- package/dist/esm/experimental/api/model/active-sessions-response.js +0 -1
- package/dist/esm/experimental/api/model/active-sessions-response.js.map +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data-password-settings.d.ts +0 -17
- package/dist/esm/experimental/api/model/authentication-information-response-data-password-settings.js +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data-password-settings.js.map +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-mfa-provider.d.ts +0 -13
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-mfa-provider.js +0 -7
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-mfa-provider.js.map +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-mfa.d.ts +0 -21
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-mfa.js +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-mfa.js.map +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-passkey-pass-keys-item.d.ts +0 -12
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-passkey-pass-keys-item.js +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-passkey-pass-keys-item.js.map +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-passkey-provider.d.ts +0 -13
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-passkey-provider.js +0 -7
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-passkey-provider.js.map +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-passkey.d.ts +0 -24
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-passkey.js +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-passkey.js.map +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-password-provider.d.ts +0 -13
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-password-provider.js +0 -7
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-password-provider.js.map +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-password.d.ts +0 -22
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-password.js +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods-password.js.map +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods.d.ts +0 -26
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods.js +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data-verification-methods.js.map +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data.d.ts +0 -24
- package/dist/esm/experimental/api/model/authentication-information-response-data.js +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response-data.js.map +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response.d.ts +0 -24
- package/dist/esm/experimental/api/model/authentication-information-response.js +0 -1
- package/dist/esm/experimental/api/model/authentication-information-response.js.map +0 -1
- package/dist/esm/experimental/api/model/authentication-information403.d.ts +0 -12
- package/dist/esm/experimental/api/model/authentication-information403.js +0 -1
- package/dist/esm/experimental/api/model/authentication-information403.js.map +0 -1
- package/dist/esm/experimental/api/model/create-organization-api-key-request.d.ts +0 -13
- package/dist/esm/experimental/api/model/create-organization-api-key-request.js +0 -1
- package/dist/esm/experimental/api/model/create-organization-api-key-request.js.map +0 -1
- package/dist/esm/experimental/api/model/create-organization-api-key-response.d.ts +0 -17
- package/dist/esm/experimental/api/model/create-organization-api-key-response.js +0 -1
- package/dist/esm/experimental/api/model/create-organization-api-key-response.js.map +0 -1
- package/dist/esm/experimental/api/model/create-organization-api-key400.d.ts +0 -12
- package/dist/esm/experimental/api/model/create-organization-api-key400.js +0 -1
- package/dist/esm/experimental/api/model/create-organization-api-key400.js.map +0 -1
- package/dist/esm/experimental/api/model/create-organization-api-key403.d.ts +0 -12
- package/dist/esm/experimental/api/model/create-organization-api-key403.js +0 -1
- package/dist/esm/experimental/api/model/create-organization-api-key403.js.map +0 -1
- package/dist/esm/experimental/api/model/create-organization-api-key404.d.ts +0 -12
- package/dist/esm/experimental/api/model/create-organization-api-key404.js +0 -1
- package/dist/esm/experimental/api/model/create-organization-api-key404.js.map +0 -1
- package/dist/esm/experimental/api/model/create-organization-api-key422-errors-item.d.ts +0 -13
- package/dist/esm/experimental/api/model/create-organization-api-key422-errors-item.js +0 -1
- package/dist/esm/experimental/api/model/create-organization-api-key422-errors-item.js.map +0 -1
- package/dist/esm/experimental/api/model/create-organization-api-key422.d.ts +0 -16
- package/dist/esm/experimental/api/model/create-organization-api-key422.js +0 -1
- package/dist/esm/experimental/api/model/create-organization-api-key422.js.map +0 -1
- package/dist/esm/experimental/api/model/create-password-request.d.ts +0 -12
- package/dist/esm/experimental/api/model/create-password-request.js +0 -1
- package/dist/esm/experimental/api/model/create-password-request.js.map +0 -1
- package/dist/esm/experimental/api/model/create-password201.d.ts +0 -12
- package/dist/esm/experimental/api/model/create-password201.js +0 -1
- package/dist/esm/experimental/api/model/create-password201.js.map +0 -1
- package/dist/esm/experimental/api/model/create-password400.d.ts +0 -12
- package/dist/esm/experimental/api/model/create-password400.js +0 -1
- package/dist/esm/experimental/api/model/create-password400.js.map +0 -1
- package/dist/esm/experimental/api/model/create-password403.d.ts +0 -12
- package/dist/esm/experimental/api/model/create-password403.js +0 -1
- package/dist/esm/experimental/api/model/create-password403.js.map +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of-object.d.ts +0 -13
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of-object.js +0 -7
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of-object.js.map +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of-three.d.ts +0 -13
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of-three.js +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of-three.js.map +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of.d.ts +0 -21
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of.js +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-challenge-all-of.js.map +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-challenge.d.ts +0 -15
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-challenge.js +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-challenge.js.map +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-eight.d.ts +0 -13
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-eight.js +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-eight.js.map +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-object.d.ts +0 -13
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-object.js +0 -7
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-object.js.map +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-sms.d.ts +0 -15
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-sms.js +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-sms.js.map +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp-any-of-two.d.ts +0 -16
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp-any-of-two.js +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp-any-of-two.js.map +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp-any-of.d.ts +0 -19
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp-any-of.js +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp-any-of.js.map +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp.d.ts +0 -14
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp.js +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-totp.js.map +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-type.d.ts +0 -16
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-type.js +0 -10
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of-type.js.map +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of.d.ts +0 -27
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of.js +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor-all-of.js.map +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor.d.ts +0 -20
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor.js +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response-authentication-factor.js.map +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response.d.ts +0 -28
- package/dist/esm/experimental/api/model/create-totp-factor-response.js +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor-response.js.map +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor400.d.ts +0 -12
- package/dist/esm/experimental/api/model/create-totp-factor400.js +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor400.js.map +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor403.d.ts +0 -12
- package/dist/esm/experimental/api/model/create-totp-factor403.js +0 -1
- package/dist/esm/experimental/api/model/create-totp-factor403.js.map +0 -1
- package/dist/esm/experimental/api/model/data-installation-object.d.ts +0 -13
- package/dist/esm/experimental/api/model/data-installation-object.js +0 -8
- package/dist/esm/experimental/api/model/data-installation-object.js.map +0 -1
- package/dist/esm/experimental/api/model/data-installation-state.d.ts +0 -13
- package/dist/esm/experimental/api/model/data-installation-state.js +0 -8
- package/dist/esm/experimental/api/model/data-installation-state.js.map +0 -1
- package/dist/esm/experimental/api/model/data-installation.d.ts +0 -25
- package/dist/esm/experimental/api/model/data-installation.js +0 -1
- package/dist/esm/experimental/api/model/data-installation.js.map +0 -1
- package/dist/esm/experimental/api/model/data-integration-credentials-type.d.ts +0 -13
- package/dist/esm/experimental/api/model/data-integration-credentials-type.js +0 -8
- package/dist/esm/experimental/api/model/data-integration-credentials-type.js.map +0 -1
- package/dist/esm/experimental/api/model/data-integration-installation.d.ts +0 -15
- package/dist/esm/experimental/api/model/data-integration-installation.js +0 -1
- package/dist/esm/experimental/api/model/data-integration-installation.js.map +0 -1
- package/dist/esm/experimental/api/model/data-integration-integration-type.d.ts +0 -48
- package/dist/esm/experimental/api/model/data-integration-integration-type.js +0 -43
- package/dist/esm/experimental/api/model/data-integration-integration-type.js.map +0 -1
- package/dist/esm/experimental/api/model/data-integration-object.d.ts +0 -13
- package/dist/esm/experimental/api/model/data-integration-object.js +0 -7
- package/dist/esm/experimental/api/model/data-integration-object.js.map +0 -1
- package/dist/esm/experimental/api/model/data-integration-ownership.d.ts +0 -13
- package/dist/esm/experimental/api/model/data-integration-ownership.js +0 -8
- package/dist/esm/experimental/api/model/data-integration-ownership.js.map +0 -1
- package/dist/esm/experimental/api/model/data-integration.d.ts +0 -35
- package/dist/esm/experimental/api/model/data-integration.js +0 -1
- package/dist/esm/experimental/api/model/data-integration.js.map +0 -1
- package/dist/esm/experimental/api/model/data-integrations-response.d.ts +0 -23
- package/dist/esm/experimental/api/model/data-integrations-response.js +0 -1
- package/dist/esm/experimental/api/model/data-integrations-response.js.map +0 -1
- package/dist/esm/experimental/api/model/delete-data-installation200.d.ts +0 -12
- package/dist/esm/experimental/api/model/delete-data-installation200.js +0 -1
- package/dist/esm/experimental/api/model/delete-data-installation200.js.map +0 -1
- package/dist/esm/experimental/api/model/delete-data-installation403.d.ts +0 -12
- package/dist/esm/experimental/api/model/delete-data-installation403.js +0 -1
- package/dist/esm/experimental/api/model/delete-data-installation403.js.map +0 -1
- package/dist/esm/experimental/api/model/delete-data-installation404.d.ts +0 -12
- package/dist/esm/experimental/api/model/delete-data-installation404.js +0 -1
- package/dist/esm/experimental/api/model/delete-data-installation404.js.map +0 -1
- package/dist/esm/experimental/api/model/delete-organization-api-key200.d.ts +0 -12
- package/dist/esm/experimental/api/model/delete-organization-api-key200.js +0 -1
- package/dist/esm/experimental/api/model/delete-organization-api-key200.js.map +0 -1
- package/dist/esm/experimental/api/model/delete-organization-api-key403.d.ts +0 -12
- package/dist/esm/experimental/api/model/delete-organization-api-key403.js +0 -1
- package/dist/esm/experimental/api/model/delete-organization-api-key403.js.map +0 -1
- package/dist/esm/experimental/api/model/delete-organization-api-key404.d.ts +0 -12
- package/dist/esm/experimental/api/model/delete-organization-api-key404.js +0 -1
- package/dist/esm/experimental/api/model/delete-organization-api-key404.js.map +0 -1
- package/dist/esm/experimental/api/model/delete-organization-domain403.d.ts +0 -12
- package/dist/esm/experimental/api/model/delete-organization-domain403.js +0 -1
- package/dist/esm/experimental/api/model/delete-organization-domain403.js.map +0 -1
- package/dist/esm/experimental/api/model/delete-organization-domain404.d.ts +0 -12
- package/dist/esm/experimental/api/model/delete-organization-domain404.js +0 -1
- package/dist/esm/experimental/api/model/delete-organization-domain404.js.map +0 -1
- package/dist/esm/experimental/api/model/delete-passkey200.d.ts +0 -12
- package/dist/esm/experimental/api/model/delete-passkey200.js +0 -1
- package/dist/esm/experimental/api/model/delete-passkey200.js.map +0 -1
- package/dist/esm/experimental/api/model/delete-passkey400.d.ts +0 -12
- package/dist/esm/experimental/api/model/delete-passkey400.js +0 -1
- package/dist/esm/experimental/api/model/delete-passkey400.js.map +0 -1
- package/dist/esm/experimental/api/model/delete-passkey403.d.ts +0 -12
- package/dist/esm/experimental/api/model/delete-passkey403.js +0 -1
- package/dist/esm/experimental/api/model/delete-passkey403.js.map +0 -1
- package/dist/esm/experimental/api/model/delete-totp-factors200.d.ts +0 -12
- package/dist/esm/experimental/api/model/delete-totp-factors200.js +0 -1
- package/dist/esm/experimental/api/model/delete-totp-factors200.js.map +0 -1
- package/dist/esm/experimental/api/model/delete-totp-factors400.d.ts +0 -12
- package/dist/esm/experimental/api/model/delete-totp-factors400.js +0 -1
- package/dist/esm/experimental/api/model/delete-totp-factors400.js.map +0 -1
- package/dist/esm/experimental/api/model/delete-totp-factors403.d.ts +0 -12
- package/dist/esm/experimental/api/model/delete-totp-factors403.js +0 -1
- package/dist/esm/experimental/api/model/delete-totp-factors403.js.map +0 -1
- package/dist/esm/experimental/api/model/domain-verification-name-server.d.ts +0 -17
- package/dist/esm/experimental/api/model/domain-verification-name-server.js +0 -11
- package/dist/esm/experimental/api/model/domain-verification-name-server.js.map +0 -1
- package/dist/esm/experimental/api/model/generate-admin-portal-link-intent.d.ts +0 -14
- package/dist/esm/experimental/api/model/generate-admin-portal-link-intent.js +0 -8
- package/dist/esm/experimental/api/model/generate-admin-portal-link-intent.js.map +0 -1
- package/dist/esm/experimental/api/model/generate-admin-portal-link-params.d.ts +0 -15
- package/dist/esm/experimental/api/model/generate-admin-portal-link-params.js +0 -1
- package/dist/esm/experimental/api/model/generate-admin-portal-link-params.js.map +0 -1
- package/dist/esm/experimental/api/model/generate-admin-portal-link201.d.ts +0 -12
- package/dist/esm/experimental/api/model/generate-admin-portal-link201.js +0 -1
- package/dist/esm/experimental/api/model/generate-admin-portal-link201.js.map +0 -1
- package/dist/esm/experimental/api/model/generate-admin-portal-link403.d.ts +0 -12
- package/dist/esm/experimental/api/model/generate-admin-portal-link403.js +0 -1
- package/dist/esm/experimental/api/model/generate-admin-portal-link403.js.map +0 -1
- package/dist/esm/experimental/api/model/generate-admin-portal-link404.d.ts +0 -12
- package/dist/esm/experimental/api/model/generate-admin-portal-link404.js +0 -1
- package/dist/esm/experimental/api/model/generate-admin-portal-link404.js.map +0 -1
- package/dist/esm/experimental/api/model/generate-admin-portal-link500.d.ts +0 -12
- package/dist/esm/experimental/api/model/generate-admin-portal-link500.js +0 -1
- package/dist/esm/experimental/api/model/generate-admin-portal-link500.js.map +0 -1
- package/dist/esm/experimental/api/model/get-authorization-status-response.d.ts +0 -12
- package/dist/esm/experimental/api/model/get-authorization-status-response.js +0 -1
- package/dist/esm/experimental/api/model/get-authorization-status-response.js.map +0 -1
- package/dist/esm/experimental/api/model/get-data-installation-authorization-status400.d.ts +0 -12
- package/dist/esm/experimental/api/model/get-data-installation-authorization-status400.js +0 -1
- package/dist/esm/experimental/api/model/get-data-installation-authorization-status400.js.map +0 -1
- package/dist/esm/experimental/api/model/get-data-installation-authorization-status403.d.ts +0 -12
- package/dist/esm/experimental/api/model/get-data-installation-authorization-status403.js +0 -1
- package/dist/esm/experimental/api/model/get-data-installation-authorization-status403.js.map +0 -1
- package/dist/esm/experimental/api/model/get-data-installation-authorization-status404.d.ts +0 -12
- package/dist/esm/experimental/api/model/get-data-installation-authorization-status404.js +0 -1
- package/dist/esm/experimental/api/model/get-data-installation-authorization-status404.js.map +0 -1
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url-params.d.ts +0 -12
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url-params.js +0 -1
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url-params.js.map +0 -1
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url-response-all-of-two.d.ts +0 -12
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url-response-all-of-two.js +0 -1
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url-response-all-of-two.js.map +0 -1
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url-response-all-of.d.ts +0 -13
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url-response-all-of.js +0 -1
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url-response-all-of.js.map +0 -1
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url-response.d.ts +0 -14
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url-response.js +0 -1
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url-response.js.map +0 -1
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url400.d.ts +0 -12
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url400.js +0 -1
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url400.js.map +0 -1
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url403.d.ts +0 -12
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url403.js +0 -1
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url403.js.map +0 -1
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url404.d.ts +0 -12
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url404.js +0 -1
- package/dist/esm/experimental/api/model/get-data-integration-authorize-url404.js.map +0 -1
- package/dist/esm/experimental/api/model/invite-member-body.d.ts +0 -17
- package/dist/esm/experimental/api/model/invite-member-body.js +0 -1
- package/dist/esm/experimental/api/model/invite-member-body.js.map +0 -1
- package/dist/esm/experimental/api/model/invite-member201.d.ts +0 -12
- package/dist/esm/experimental/api/model/invite-member201.js +0 -1
- package/dist/esm/experimental/api/model/invite-member201.js.map +0 -1
- package/dist/esm/experimental/api/model/invite-member400.d.ts +0 -12
- package/dist/esm/experimental/api/model/invite-member400.js +0 -1
- package/dist/esm/experimental/api/model/invite-member400.js.map +0 -1
- package/dist/esm/experimental/api/model/invite-member403.d.ts +0 -12
- package/dist/esm/experimental/api/model/invite-member403.js +0 -1
- package/dist/esm/experimental/api/model/invite-member403.js.map +0 -1
- package/dist/esm/experimental/api/model/invite-member404.d.ts +0 -12
- package/dist/esm/experimental/api/model/invite-member404.js +0 -1
- package/dist/esm/experimental/api/model/invite-member404.js.map +0 -1
- package/dist/esm/experimental/api/model/list-metadata.d.ts +0 -15
- package/dist/esm/experimental/api/model/list-metadata.js +0 -1
- package/dist/esm/experimental/api/model/list-metadata.js.map +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-key-permission.d.ts +0 -16
- package/dist/esm/experimental/api/model/list-organization-api-key-permission.js +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-key-permission.js.map +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-key-permissions-params.d.ts +0 -15
- package/dist/esm/experimental/api/model/list-organization-api-key-permissions-params.js +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-key-permissions-params.js.map +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-key-permissions-response-list-metadata.d.ts +0 -13
- package/dist/esm/experimental/api/model/list-organization-api-key-permissions-response-list-metadata.js +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-key-permissions-response-list-metadata.js.map +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-key-permissions-response.d.ts +0 -17
- package/dist/esm/experimental/api/model/list-organization-api-key-permissions-response.js +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-key-permissions-response.js.map +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-key-permissions400.d.ts +0 -12
- package/dist/esm/experimental/api/model/list-organization-api-key-permissions400.js +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-key-permissions400.js.map +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-key-permissions403.d.ts +0 -12
- package/dist/esm/experimental/api/model/list-organization-api-key-permissions403.js +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-key-permissions403.js.map +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-keys-params.d.ts +0 -15
- package/dist/esm/experimental/api/model/list-organization-api-keys-params.js +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-keys-params.js.map +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-keys-response-data.d.ts +0 -18
- package/dist/esm/experimental/api/model/list-organization-api-keys-response-data.js +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-keys-response-data.js.map +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-keys-response-list-metadata.d.ts +0 -13
- package/dist/esm/experimental/api/model/list-organization-api-keys-response-list-metadata.js +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-keys-response-list-metadata.js.map +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-keys-response.d.ts +0 -17
- package/dist/esm/experimental/api/model/list-organization-api-keys-response.js +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-keys-response.js.map +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-keys400.d.ts +0 -12
- package/dist/esm/experimental/api/model/list-organization-api-keys400.js +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-keys400.js.map +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-keys403.d.ts +0 -12
- package/dist/esm/experimental/api/model/list-organization-api-keys403.js +0 -1
- package/dist/esm/experimental/api/model/list-organization-api-keys403.js.map +0 -1
- package/dist/esm/experimental/api/model/list-organization-domains200.d.ts +0 -17
- package/dist/esm/experimental/api/model/list-organization-domains200.js +0 -1
- package/dist/esm/experimental/api/model/list-organization-domains200.js.map +0 -1
- package/dist/esm/experimental/api/model/list-organization-domains403.d.ts +0 -12
- package/dist/esm/experimental/api/model/list-organization-domains403.js +0 -1
- package/dist/esm/experimental/api/model/list-organization-domains403.js.map +0 -1
- package/dist/esm/experimental/api/model/list-organization-domains404.d.ts +0 -12
- package/dist/esm/experimental/api/model/list-organization-domains404.js +0 -1
- package/dist/esm/experimental/api/model/list-organization-domains404.js.map +0 -1
- package/dist/esm/experimental/api/model/me-oauth-profiles.d.ts +0 -21
- package/dist/esm/experimental/api/model/me-oauth-profiles.js +0 -1
- package/dist/esm/experimental/api/model/me-oauth-profiles.js.map +0 -1
- package/dist/esm/experimental/api/model/me.d.ts +0 -27
- package/dist/esm/experimental/api/model/me.js +0 -1
- package/dist/esm/experimental/api/model/me.js.map +0 -1
- package/dist/esm/experimental/api/model/me403.d.ts +0 -12
- package/dist/esm/experimental/api/model/me403.js +0 -1
- package/dist/esm/experimental/api/model/me403.js.map +0 -1
- package/dist/esm/experimental/api/model/member-actions-item.d.ts +0 -15
- package/dist/esm/experimental/api/model/member-actions-item.js +0 -10
- package/dist/esm/experimental/api/model/member-actions-item.js.map +0 -1
- package/dist/esm/experimental/api/model/member-actions.d.ts +0 -13
- package/dist/esm/experimental/api/model/member-actions.js +0 -1
- package/dist/esm/experimental/api/model/member-actions.js.map +0 -1
- package/dist/esm/experimental/api/model/member-role.d.ts +0 -16
- package/dist/esm/experimental/api/model/member-role.js +0 -1
- package/dist/esm/experimental/api/model/member-role.js.map +0 -1
- package/dist/esm/experimental/api/model/member-roles-item.d.ts +0 -15
- package/dist/esm/experimental/api/model/member-roles-item.js +0 -1
- package/dist/esm/experimental/api/model/member-roles-item.js.map +0 -1
- package/dist/esm/experimental/api/model/member-status.d.ts +0 -17
- package/dist/esm/experimental/api/model/member-status.js +0 -11
- package/dist/esm/experimental/api/model/member-status.js.map +0 -1
- package/dist/esm/experimental/api/model/member.d.ts +0 -35
- package/dist/esm/experimental/api/model/member.js +0 -1
- package/dist/esm/experimental/api/model/member.js.map +0 -1
- package/dist/esm/experimental/api/model/members-params.d.ts +0 -16
- package/dist/esm/experimental/api/model/members-params.js +0 -1
- package/dist/esm/experimental/api/model/members-params.js.map +0 -1
- package/dist/esm/experimental/api/model/members200.d.ts +0 -21
- package/dist/esm/experimental/api/model/members200.js +0 -1
- package/dist/esm/experimental/api/model/members200.js.map +0 -1
- package/dist/esm/experimental/api/model/members403.d.ts +0 -12
- package/dist/esm/experimental/api/model/members403.js +0 -1
- package/dist/esm/experimental/api/model/members403.js.map +0 -1
- package/dist/esm/experimental/api/model/members404.d.ts +0 -12
- package/dist/esm/experimental/api/model/members404.js +0 -1
- package/dist/esm/experimental/api/model/members404.js.map +0 -1
- package/dist/esm/experimental/api/model/my-data-integrations403.d.ts +0 -12
- package/dist/esm/experimental/api/model/my-data-integrations403.js +0 -1
- package/dist/esm/experimental/api/model/my-data-integrations403.js.map +0 -1
- package/dist/esm/experimental/api/model/oauth-profile.d.ts +0 -22
- package/dist/esm/experimental/api/model/oauth-profile.js +0 -1
- package/dist/esm/experimental/api/model/oauth-profile.js.map +0 -1
- package/dist/esm/experimental/api/model/oidc-session-state.d.ts +0 -18
- package/dist/esm/experimental/api/model/oidc-session-state.js +0 -12
- package/dist/esm/experimental/api/model/oidc-session-state.js.map +0 -1
- package/dist/esm/experimental/api/model/organization-domain-state.d.ts +0 -16
- package/dist/esm/experimental/api/model/organization-domain-state.js +0 -10
- package/dist/esm/experimental/api/model/organization-domain-state.js.map +0 -1
- package/dist/esm/experimental/api/model/organization-domain.d.ts +0 -26
- package/dist/esm/experimental/api/model/organization-domain.js +0 -1
- package/dist/esm/experimental/api/model/organization-domain.js.map +0 -1
- package/dist/esm/experimental/api/model/organization-info.d.ts +0 -16
- package/dist/esm/experimental/api/model/organization-info.js +0 -1
- package/dist/esm/experimental/api/model/organization-info.js.map +0 -1
- package/dist/esm/experimental/api/model/organizations-response.d.ts +0 -15
- package/dist/esm/experimental/api/model/organizations-response.js +0 -1
- package/dist/esm/experimental/api/model/organizations-response.js.map +0 -1
- package/dist/esm/experimental/api/model/organizations403.d.ts +0 -12
- package/dist/esm/experimental/api/model/organizations403.js +0 -1
- package/dist/esm/experimental/api/model/organizations403.js.map +0 -1
- package/dist/esm/experimental/api/model/organizations404.d.ts +0 -12
- package/dist/esm/experimental/api/model/organizations404.js +0 -1
- package/dist/esm/experimental/api/model/organizations404.js.map +0 -1
- package/dist/esm/experimental/api/model/register-passkey-response-options.d.ts +0 -12
- package/dist/esm/experimental/api/model/register-passkey-response-options.js +0 -1
- package/dist/esm/experimental/api/model/register-passkey-response-options.js.map +0 -1
- package/dist/esm/experimental/api/model/register-passkey-response.d.ts +0 -16
- package/dist/esm/experimental/api/model/register-passkey-response.js +0 -1
- package/dist/esm/experimental/api/model/register-passkey-response.js.map +0 -1
- package/dist/esm/experimental/api/model/register-passkey400.d.ts +0 -12
- package/dist/esm/experimental/api/model/register-passkey400.js +0 -1
- package/dist/esm/experimental/api/model/register-passkey400.js.map +0 -1
- package/dist/esm/experimental/api/model/register-passkey403.d.ts +0 -12
- package/dist/esm/experimental/api/model/register-passkey403.js +0 -1
- package/dist/esm/experimental/api/model/register-passkey403.js.map +0 -1
- package/dist/esm/experimental/api/model/remove-member200.d.ts +0 -13
- package/dist/esm/experimental/api/model/remove-member200.js +0 -1
- package/dist/esm/experimental/api/model/remove-member200.js.map +0 -1
- package/dist/esm/experimental/api/model/remove-member400.d.ts +0 -12
- package/dist/esm/experimental/api/model/remove-member400.js +0 -1
- package/dist/esm/experimental/api/model/remove-member400.js.map +0 -1
- package/dist/esm/experimental/api/model/remove-member403.d.ts +0 -12
- package/dist/esm/experimental/api/model/remove-member403.js +0 -1
- package/dist/esm/experimental/api/model/remove-member403.js.map +0 -1
- package/dist/esm/experimental/api/model/remove-member404.d.ts +0 -12
- package/dist/esm/experimental/api/model/remove-member404.js +0 -1
- package/dist/esm/experimental/api/model/remove-member404.js.map +0 -1
- package/dist/esm/experimental/api/model/resend-invite201.d.ts +0 -14
- package/dist/esm/experimental/api/model/resend-invite201.js +0 -1
- package/dist/esm/experimental/api/model/resend-invite201.js.map +0 -1
- package/dist/esm/experimental/api/model/resend-invite400.d.ts +0 -12
- package/dist/esm/experimental/api/model/resend-invite400.js +0 -1
- package/dist/esm/experimental/api/model/resend-invite400.js.map +0 -1
- package/dist/esm/experimental/api/model/resend-invite403.d.ts +0 -12
- package/dist/esm/experimental/api/model/resend-invite403.js +0 -1
- package/dist/esm/experimental/api/model/resend-invite403.js.map +0 -1
- package/dist/esm/experimental/api/model/resend-invite404.d.ts +0 -12
- package/dist/esm/experimental/api/model/resend-invite404.js +0 -1
- package/dist/esm/experimental/api/model/resend-invite404.js.map +0 -1
- package/dist/esm/experimental/api/model/reverify-organization-domain403.d.ts +0 -12
- package/dist/esm/experimental/api/model/reverify-organization-domain403.js +0 -1
- package/dist/esm/experimental/api/model/reverify-organization-domain403.js.map +0 -1
- package/dist/esm/experimental/api/model/reverify-organization-domain404.d.ts +0 -12
- package/dist/esm/experimental/api/model/reverify-organization-domain404.js +0 -1
- package/dist/esm/experimental/api/model/reverify-organization-domain404.js.map +0 -1
- package/dist/esm/experimental/api/model/revoke-all-sessions-request.d.ts +0 -12
- package/dist/esm/experimental/api/model/revoke-all-sessions-request.js +0 -1
- package/dist/esm/experimental/api/model/revoke-all-sessions-request.js.map +0 -1
- package/dist/esm/experimental/api/model/revoke-all-sessions200.d.ts +0 -12
- package/dist/esm/experimental/api/model/revoke-all-sessions200.js +0 -1
- package/dist/esm/experimental/api/model/revoke-all-sessions200.js.map +0 -1
- package/dist/esm/experimental/api/model/revoke-all-sessions400.d.ts +0 -12
- package/dist/esm/experimental/api/model/revoke-all-sessions400.js +0 -1
- package/dist/esm/experimental/api/model/revoke-all-sessions400.js.map +0 -1
- package/dist/esm/experimental/api/model/revoke-all-sessions403.d.ts +0 -12
- package/dist/esm/experimental/api/model/revoke-all-sessions403.js +0 -1
- package/dist/esm/experimental/api/model/revoke-all-sessions403.js.map +0 -1
- package/dist/esm/experimental/api/model/revoke-invite200.d.ts +0 -13
- package/dist/esm/experimental/api/model/revoke-invite200.js +0 -1
- package/dist/esm/experimental/api/model/revoke-invite200.js.map +0 -1
- package/dist/esm/experimental/api/model/revoke-invite400.d.ts +0 -12
- package/dist/esm/experimental/api/model/revoke-invite400.js +0 -1
- package/dist/esm/experimental/api/model/revoke-invite400.js.map +0 -1
- package/dist/esm/experimental/api/model/revoke-invite403.d.ts +0 -12
- package/dist/esm/experimental/api/model/revoke-invite403.js +0 -1
- package/dist/esm/experimental/api/model/revoke-invite403.js.map +0 -1
- package/dist/esm/experimental/api/model/revoke-invite404.d.ts +0 -12
- package/dist/esm/experimental/api/model/revoke-invite404.js +0 -1
- package/dist/esm/experimental/api/model/revoke-invite404.js.map +0 -1
- package/dist/esm/experimental/api/model/revoke-session200.d.ts +0 -12
- package/dist/esm/experimental/api/model/revoke-session200.js +0 -1
- package/dist/esm/experimental/api/model/revoke-session200.js.map +0 -1
- package/dist/esm/experimental/api/model/revoke-session400.d.ts +0 -12
- package/dist/esm/experimental/api/model/revoke-session400.js +0 -1
- package/dist/esm/experimental/api/model/revoke-session400.js.map +0 -1
- package/dist/esm/experimental/api/model/revoke-session403.d.ts +0 -12
- package/dist/esm/experimental/api/model/revoke-session403.js +0 -1
- package/dist/esm/experimental/api/model/revoke-session403.js.map +0 -1
- package/dist/esm/experimental/api/model/roles-and-config-response.d.ts +0 -16
- package/dist/esm/experimental/api/model/roles-and-config-response.js +0 -1
- package/dist/esm/experimental/api/model/roles-and-config-response.js.map +0 -1
- package/dist/esm/experimental/api/model/roles-and-config403.d.ts +0 -12
- package/dist/esm/experimental/api/model/roles-and-config403.js +0 -1
- package/dist/esm/experimental/api/model/roles-and-config403.js.map +0 -1
- package/dist/esm/experimental/api/model/roles-and-config404.d.ts +0 -12
- package/dist/esm/experimental/api/model/roles-and-config404.js +0 -1
- package/dist/esm/experimental/api/model/roles-and-config404.js.map +0 -1
- package/dist/esm/experimental/api/model/roles403.d.ts +0 -12
- package/dist/esm/experimental/api/model/roles403.js +0 -1
- package/dist/esm/experimental/api/model/roles403.js.map +0 -1
- package/dist/esm/experimental/api/model/roles404.d.ts +0 -12
- package/dist/esm/experimental/api/model/roles404.js +0 -1
- package/dist/esm/experimental/api/model/roles404.js.map +0 -1
- package/dist/esm/experimental/api/model/saml-session-state.d.ts +0 -17
- package/dist/esm/experimental/api/model/saml-session-state.js +0 -11
- package/dist/esm/experimental/api/model/saml-session-state.js.map +0 -1
- package/dist/esm/experimental/api/model/send-verification-response-type.d.ts +0 -13
- package/dist/esm/experimental/api/model/send-verification-response-type.js +0 -7
- package/dist/esm/experimental/api/model/send-verification-response-type.js.map +0 -1
- package/dist/esm/experimental/api/model/send-verification-response.d.ts +0 -16
- package/dist/esm/experimental/api/model/send-verification-response.js +0 -1
- package/dist/esm/experimental/api/model/send-verification-response.js.map +0 -1
- package/dist/esm/experimental/api/model/send-verification400.d.ts +0 -12
- package/dist/esm/experimental/api/model/send-verification400.js +0 -1
- package/dist/esm/experimental/api/model/send-verification400.js.map +0 -1
- package/dist/esm/experimental/api/model/send-verification403.d.ts +0 -12
- package/dist/esm/experimental/api/model/send-verification403.js +0 -1
- package/dist/esm/experimental/api/model/send-verification403.js.map +0 -1
- package/dist/esm/experimental/api/model/sessions403.d.ts +0 -12
- package/dist/esm/experimental/api/model/sessions403.js +0 -1
- package/dist/esm/experimental/api/model/sessions403.js.map +0 -1
- package/dist/esm/experimental/api/model/settings-response-object.d.ts +0 -13
- package/dist/esm/experimental/api/model/settings-response-object.js +0 -7
- package/dist/esm/experimental/api/model/settings-response-object.js.map +0 -1
- package/dist/esm/experimental/api/model/settings-response.d.ts +0 -25
- package/dist/esm/experimental/api/model/settings-response.js +0 -1
- package/dist/esm/experimental/api/model/settings-response.js.map +0 -1
- package/dist/esm/experimental/api/model/settings403.d.ts +0 -12
- package/dist/esm/experimental/api/model/settings403.js +0 -1
- package/dist/esm/experimental/api/model/settings403.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of-last-session.d.ts +0 -14
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of-last-session.js +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of-last-session.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of-provider-tag.d.ts +0 -13
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of-provider-tag.js +0 -7
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of-provider-tag.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of-six.d.ts +0 -14
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of-six.js +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of-six.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of-state.d.ts +0 -16
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of-state.js +0 -10
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of-state.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of-type.d.ts +0 -20
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of-type.js +0 -14
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of-type.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of.d.ts +0 -26
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of.js +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight-all-of.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight.d.ts +0 -20
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight.js +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-eight.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-last-session.d.ts +0 -14
- package/dist/esm/experimental/api/model/sso-connection-any-of-last-session.js +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-last-session.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-latest-expired-certificate.d.ts +0 -13
- package/dist/esm/experimental/api/model/sso-connection-any-of-latest-expired-certificate.js +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-latest-expired-certificate.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-latest-expiring-certificate.d.ts +0 -13
- package/dist/esm/experimental/api/model/sso-connection-any-of-latest-expiring-certificate.js +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-latest-expiring-certificate.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-provider-tag.d.ts +0 -13
- package/dist/esm/experimental/api/model/sso-connection-any-of-provider-tag.js +0 -7
- package/dist/esm/experimental/api/model/sso-connection-any-of-provider-tag.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-state.d.ts +0 -16
- package/dist/esm/experimental/api/model/sso-connection-any-of-state.js +0 -10
- package/dist/esm/experimental/api/model/sso-connection-any-of-state.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of-type.d.ts +0 -39
- package/dist/esm/experimental/api/model/sso-connection-any-of-type.js +0 -33
- package/dist/esm/experimental/api/model/sso-connection-any-of-type.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of.d.ts +0 -32
- package/dist/esm/experimental/api/model/sso-connection-any-of.js +0 -1
- package/dist/esm/experimental/api/model/sso-connection-any-of.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection-session-jso-n.d.ts +0 -17
- package/dist/esm/experimental/api/model/sso-connection-session-jso-n.js +0 -1
- package/dist/esm/experimental/api/model/sso-connection-session-jso-n.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection-session-json-state.d.ts +0 -10
- package/dist/esm/experimental/api/model/sso-connection-session-json-state.js +0 -10
- package/dist/esm/experimental/api/model/sso-connection-session-json-state.js.map +0 -1
- package/dist/esm/experimental/api/model/sso-connection.d.ts +0 -29
- package/dist/esm/experimental/api/model/sso-connection.js +0 -1
- package/dist/esm/experimental/api/model/sso-connection.js.map +0 -1
- package/dist/esm/experimental/api/model/update-me-body.d.ts +0 -14
- package/dist/esm/experimental/api/model/update-me-body.js +0 -1
- package/dist/esm/experimental/api/model/update-me-body.js.map +0 -1
- package/dist/esm/experimental/api/model/update-me400.d.ts +0 -12
- package/dist/esm/experimental/api/model/update-me400.js +0 -1
- package/dist/esm/experimental/api/model/update-me400.js.map +0 -1
- package/dist/esm/experimental/api/model/update-me403.d.ts +0 -12
- package/dist/esm/experimental/api/model/update-me403.js +0 -1
- package/dist/esm/experimental/api/model/update-me403.js.map +0 -1
- package/dist/esm/experimental/api/model/update-member-body.d.ts +0 -12
- package/dist/esm/experimental/api/model/update-member-body.js +0 -1
- package/dist/esm/experimental/api/model/update-member-body.js.map +0 -1
- package/dist/esm/experimental/api/model/update-member200.d.ts +0 -13
- package/dist/esm/experimental/api/model/update-member200.js +0 -1
- package/dist/esm/experimental/api/model/update-member200.js.map +0 -1
- package/dist/esm/experimental/api/model/update-member400.d.ts +0 -12
- package/dist/esm/experimental/api/model/update-member400.js +0 -1
- package/dist/esm/experimental/api/model/update-member400.js.map +0 -1
- package/dist/esm/experimental/api/model/update-member403.d.ts +0 -12
- package/dist/esm/experimental/api/model/update-member403.js +0 -1
- package/dist/esm/experimental/api/model/update-member403.js.map +0 -1
- package/dist/esm/experimental/api/model/update-member404.d.ts +0 -12
- package/dist/esm/experimental/api/model/update-member404.js +0 -1
- package/dist/esm/experimental/api/model/update-member404.js.map +0 -1
- package/dist/esm/experimental/api/model/update-password-request.d.ts +0 -13
- package/dist/esm/experimental/api/model/update-password-request.js +0 -1
- package/dist/esm/experimental/api/model/update-password-request.js.map +0 -1
- package/dist/esm/experimental/api/model/update-password201.d.ts +0 -12
- package/dist/esm/experimental/api/model/update-password201.js +0 -1
- package/dist/esm/experimental/api/model/update-password201.js.map +0 -1
- package/dist/esm/experimental/api/model/update-password400.d.ts +0 -12
- package/dist/esm/experimental/api/model/update-password400.js +0 -1
- package/dist/esm/experimental/api/model/update-password400.js.map +0 -1
- package/dist/esm/experimental/api/model/update-password403.d.ts +0 -12
- package/dist/esm/experimental/api/model/update-password403.js +0 -1
- package/dist/esm/experimental/api/model/update-password403.js.map +0 -1
- package/dist/esm/experimental/api/model/verify-passkey-request-response.d.ts +0 -12
- package/dist/esm/experimental/api/model/verify-passkey-request-response.js +0 -1
- package/dist/esm/experimental/api/model/verify-passkey-request-response.js.map +0 -1
- package/dist/esm/experimental/api/model/verify-passkey-request.d.ts +0 -16
- package/dist/esm/experimental/api/model/verify-passkey-request.js +0 -1
- package/dist/esm/experimental/api/model/verify-passkey-request.js.map +0 -1
- package/dist/esm/experimental/api/model/verify-passkey200.d.ts +0 -12
- package/dist/esm/experimental/api/model/verify-passkey200.js +0 -1
- package/dist/esm/experimental/api/model/verify-passkey200.js.map +0 -1
- package/dist/esm/experimental/api/model/verify-passkey400.d.ts +0 -12
- package/dist/esm/experimental/api/model/verify-passkey400.js +0 -1
- package/dist/esm/experimental/api/model/verify-passkey400.js.map +0 -1
- package/dist/esm/experimental/api/model/verify-passkey403.d.ts +0 -12
- package/dist/esm/experimental/api/model/verify-passkey403.js +0 -1
- package/dist/esm/experimental/api/model/verify-passkey403.js.map +0 -1
- package/dist/esm/experimental/api/model/verify-request.d.ts +0 -13
- package/dist/esm/experimental/api/model/verify-request.js +0 -1
- package/dist/esm/experimental/api/model/verify-request.js.map +0 -1
- package/dist/esm/experimental/api/model/verify-response.d.ts +0 -13
- package/dist/esm/experimental/api/model/verify-response.js +0 -1
- package/dist/esm/experimental/api/model/verify-response.js.map +0 -1
- package/dist/esm/experimental/api/model/verify-totp-factor-request.d.ts +0 -13
- package/dist/esm/experimental/api/model/verify-totp-factor-request.js +0 -1
- package/dist/esm/experimental/api/model/verify-totp-factor-request.js.map +0 -1
- package/dist/esm/experimental/api/model/verify-totp-factor200.d.ts +0 -12
- package/dist/esm/experimental/api/model/verify-totp-factor200.js +0 -1
- package/dist/esm/experimental/api/model/verify-totp-factor200.js.map +0 -1
- package/dist/esm/experimental/api/model/verify-totp-factor400.d.ts +0 -12
- package/dist/esm/experimental/api/model/verify-totp-factor400.js +0 -1
- package/dist/esm/experimental/api/model/verify-totp-factor400.js.map +0 -1
- package/dist/esm/experimental/api/model/verify-totp-factor403.d.ts +0 -12
- package/dist/esm/experimental/api/model/verify-totp-factor403.js +0 -1
- package/dist/esm/experimental/api/model/verify-totp-factor403.js.map +0 -1
- package/dist/esm/experimental/api/model/verify400.d.ts +0 -12
- package/dist/esm/experimental/api/model/verify400.js +0 -1
- package/dist/esm/experimental/api/model/verify400.js.map +0 -1
- package/dist/esm/experimental/api/model/verify403.d.ts +0 -12
- package/dist/esm/experimental/api/model/verify403.js +0 -1
- package/dist/esm/experimental/api/model/verify403.js.map +0 -1
- package/dist/esm/experimental/api/model/x509-certificate-jso-n.d.ts +0 -19
- package/dist/esm/experimental/api/model/x509-certificate-jso-n.js +0 -1
- package/dist/esm/experimental/api/model/x509-certificate-jso-n.js.map +0 -1
- package/dist/esm/lib/use-layout-effect.d.ts +0 -5
- package/dist/esm/lib/use-layout-effect.js +0 -7
- package/dist/esm/lib/use-layout-effect.js.map +0 -1
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
useVerifyTotpFactor
|
|
19
19
|
} from "../api/endpoint.js";
|
|
20
20
|
import { useElevatedAccessToken } from "../api/api-provider.js";
|
|
21
|
-
import
|
|
21
|
+
import { Form } from "radix-ui";
|
|
22
22
|
import { Marker } from "./marker.js";
|
|
23
23
|
import { CopyButton } from "./copy-button.js";
|
|
24
24
|
import { useSecuritySettings } from "./use-security-settings.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/add-mfa-dialog.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Box,\n Code,\n Flex,\n Grid,\n Link,\n Separator,\n Text,\n VisuallyHidden,\n} from \"@radix-ui/themes\";\nimport * as React from \"react\";\nimport { type ReactNode } from \"react\";\nimport * as Otp from \"./otp-input.js\";\nimport { Dialog, Button } from \"./elements.js\";\nimport {\n CreateTotpFactorResponse,\n CreateTotpFactorResponseAuthenticationFactorAllOfTotpAnyOf,\n useCreateTotpFactor,\n useVerifyTotpFactor,\n} from \"../api/endpoint.js\";\nimport { useElevatedAccessToken } from \"../api/api-provider.js\";\nimport * as Form from \"@radix-ui/react-form\";\nimport { Marker } from \"./marker.js\";\nimport { CopyButton } from \"./copy-button.js\";\nimport { useSecuritySettings } from \"./use-security-settings.js\";\nimport { ElevatedAccess } from \"./elevated-access.js\";\nimport { SaveButton } from \"./save-button.js\";\nimport { useDialogClose } from \"./use-dialog-close.js\";\nimport { Translation } from \"./i18n/translation.js\";\nimport { useTranslation } from \"./i18n/use-translation.js\";\n\ninterface AddMfaDialogProps extends Dialog.RootProps {\n children?: ReactNode;\n onSuccess?: () => void;\n}\n\nexport function AddMfaDialog({\n children,\n onSuccess,\n ...props\n}: AddMfaDialogProps) {\n const [open, setOpen] = React.useState(false);\n const [manuallyTriggered, setManuallyTriggered] = React.useState(false);\n const { elevatedAccess } = useElevatedAccessToken();\n const createAuthFactor = useCreateTotpFactor();\n\n const handleVerified = async () => {\n await createAuthFactor.mutateAsync(undefined);\n };\n\n const onTriggerClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (elevatedAccess && !createAuthFactor.data) {\n event.preventDefault();\n setManuallyTriggered(true);\n createAuthFactor.mutate(undefined, {\n onSuccess: () => {\n setOpen(true);\n },\n });\n } else {\n setManuallyTriggered(false);\n }\n };\n\n const handleClose = React.useCallback(() => {\n setOpen(false);\n }, []);\n\n return (\n <Dialog.Root\n {...props}\n open={props.open || open}\n onOpenChange={props.onOpenChange || setOpen}\n >\n <Dialog.Trigger\n onClick={onTriggerClick}\n // @ts-ignore I've to find a way to pass the loading state to the trigger\n loading={manuallyTriggered && createAuthFactor.isPending}\n >\n {children}\n </Dialog.Trigger>\n\n <Dialog.Content maxWidth=\"480px\">\n <ElevatedAccess onVerified={handleVerified}>\n <Content onClose={handleClose} totpFactor={createAuthFactor.data} />\n </ElevatedAccess>\n </Dialog.Content>\n </Dialog.Root>\n );\n}\n\ninterface ContentProps {\n totpFactor?: CreateTotpFactorResponse;\n onClose?: () => void;\n}\n\nfunction Content({ onClose, totpFactor }: ContentProps) {\n const securitySettings = useSecuritySettings();\n const translate = useTranslation();\n\n const [customError, setCustomError] = React.useState<string | null>(null);\n const totp = hasQrCode(totpFactor)\n ? totpFactor.authenticationFactor.totp\n : undefined;\n\n const verifyTotp = useVerifyTotpFactor({\n mutation: {\n onSuccess: ({ success }) => {\n if (!success) {\n setCustomError(\"Invalid passcode\");\n }\n },\n },\n });\n\n const serverError = verifyTotp.error || customError;\n const isSuccess = verifyTotp.isSuccess && !serverError;\n\n const handleSubmit = async (event: React.FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n setCustomError(null);\n\n const formData = new FormData(event.currentTarget);\n const otpCode = formData.get(\"otp-code\")?.toString();\n\n verifyTotp.mutate({\n data: {\n authenticationChallengeId: totpFactor?.authenticationChallenge.id ?? \"\",\n code: otpCode ?? \"\",\n },\n });\n };\n\n useDialogClose(isSuccess, () => {\n securitySettings.update(\"Mfa\", true);\n });\n\n return (\n <>\n <Dialog.Title mb=\"5\">\n <Translation\n defaultMessage=\"Set up an authenticator app\"\n id=\"Eu+kuO\"\n description=\"Title for setting up two-factor authentication\"\n />\n </Dialog.Title>\n\n <Form.Root onSubmit={handleSubmit}>\n <Grid columns=\"auto 1fr\" rows=\"repeat(4, auto)\" gapX=\"3\" gapY=\"1\">\n <Grid\n rows=\"subgrid\"\n gridRow=\"span 4\"\n style={{ placeItems: \"center\" }}\n >\n {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}\n <Marker>1</Marker>\n <Separator\n orientation=\"vertical\"\n size=\"4\"\n style={{ width: \"2px\" }}\n />\n {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}\n <Marker>2</Marker>\n <div />\n </Grid>\n\n <Grid rows=\"subgrid\" gridRow=\"span 4\">\n <Text as=\"p\" size=\"3\" weight=\"bold\">\n <Translation\n defaultMessage=\"Scan the QR code\"\n id=\"fTSp5u\"\n description=\"Heading for the QR code scanning step in MFA setup\"\n />\n </Text>\n <Flex direction=\"column\" gap=\"1\">\n <Text as=\"p\" size=\"2\">\n <Translation\n defaultMessage=\"Use an authenticator app like {onep}, {google}, {authy}, or {microsoft} to scan the QR code below.\"\n id=\"8xwdwI\"\n description=\"Instructions for scanning the QR code with authenticator apps\"\n values={{\n onep: (\n <Link\n href=\"https://1password.com/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n // eslint-disable-next-line formatjs/no-literal-string-in-jsx\n >\n 1Password\n </Link>\n ),\n google: (\n <Link\n href=\"https://apps.apple.com/us/app/google-authenticator/id388497605\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n // eslint-disable-next-line formatjs/no-literal-string-in-jsx\n >\n Google Authenticator\n </Link>\n ),\n authy: (\n <Link\n href=\"https://authy.com/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n // eslint-disable-next-line formatjs/no-literal-string-in-jsx\n >\n Authy\n </Link>\n ),\n microsoft: (\n <Link\n href=\"https://www.microsoft.com/en-gb/security/mobile-authenticator-app\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n // eslint-disable-next-line formatjs/no-literal-string-in-jsx\n >\n Microsoft Authenticator\n </Link>\n ),\n }}\n />\n </Text>\n <Flex align=\"center\" gap=\"5\" my=\"5\">\n <Grid\n position=\"relative\"\n width=\"160px\"\n height=\"160px\"\n p=\"2\"\n style={{\n border: \"1px solid var(--gray-7)\",\n borderRadius: \"var(--radius-4)\",\n background: \"var(--gray-2)\",\n overflow: \"hidden\",\n }}\n >\n {totp?.qr_code && (\n <Box asChild width=\"100%\" height=\"auto\">\n <img\n alt={translate({\n defaultMessage: \"Scan this QR code to enroll\",\n description: \"Alt text for QR code image\",\n id: \"wpbqFJ\",\n })}\n aria-describedby=\"secret-note\"\n height=\"160\"\n src={totp.qr_code}\n style={{ userSelect: \"none\", background: \"white\" }}\n width=\"160\"\n />\n </Box>\n )}\n </Grid>\n\n <Flex direction=\"column\" gap=\"1\" align=\"start\">\n <Text color=\"gray\" id=\"secret-note\" size=\"2\">\n <Translation\n defaultMessage=\"Can't scan the code?\"\n id=\"6/cdcS\"\n description=\"Question asking if user is unable to scan the QR code\"\n />\n </Text>\n\n <SecretDialog setupKey={totp?.secret ?? \"\"}>\n <Button\n variant=\"secondary\"\n size=\"1\"\n disabled={verifyTotp.isPending || isSuccess}\n >\n <Translation\n defaultMessage=\"View setup key\"\n id=\"q3eZjH\"\n description=\"Button text to view the manual setup key\"\n />\n </Button>\n </SecretDialog>\n </Flex>\n </Flex>\n </Flex>\n <Text as=\"p\" size=\"3\" weight=\"bold\">\n <Translation\n defaultMessage=\"Get verification passcode\"\n id=\"1kRd2b\"\n description=\"Heading for entering the verification code step\"\n />\n </Text>\n <Flex direction=\"column\" gap=\"4\">\n <Text as=\"p\" size=\"2\">\n <Translation\n defaultMessage=\"Enter the 6-digit passcode from your authenticator app.\"\n id=\"4/66bS\"\n description=\"Instructions for entering the verification passcode\"\n />\n </Text>\n\n <Flex direction=\"column\" gap=\"2\">\n <Otp.Root\n autoSubmit\n gap=\"3\"\n justify=\"start\"\n name=\"otp-code\"\n rows=\"48px\"\n columns=\"repeat(6, 48px)\"\n readOnly={verifyTotp.isPending || isSuccess}\n >\n <Otp.Input required autoFocus autoComplete=\"off\" />\n <Otp.Input required />\n <Otp.Input required />\n <Otp.Input required />\n <Otp.Input required />\n <Otp.Input required />\n </Otp.Root>\n\n {serverError && (\n <Text size=\"2\" color=\"red\">\n {getMutationErrorMessage(serverError)}\n </Text>\n )}\n </Flex>\n </Flex>\n </Grid>\n </Grid>\n\n <Flex mt=\"5\" gap=\"3\" justify=\"end\">\n <Dialog.Close>\n <Button\n variant=\"secondary\"\n disabled={verifyTotp.isPending || isSuccess}\n >\n <Translation\n defaultMessage=\"Cancel\"\n id=\"84pAvU\"\n description=\"Button text to cancel MFA setup\"\n />\n </Button>\n </Dialog.Close>\n\n <SaveButton\n type=\"submit\"\n loading={verifyTotp.isPending}\n done={isSuccess}\n onDone={onClose}\n >\n <Translation\n defaultMessage=\"Confirm\"\n id=\"WHthZi\"\n description=\"Button text to confirm MFA setup\"\n />\n </SaveButton>\n </Flex>\n </Form.Root>\n\n {/* mirror errors in a live region */}\n <VisuallyHidden asChild>\n <section aria-live=\"polite\">\n {getMutationErrorMessage(serverError)}\n </section>\n </VisuallyHidden>\n </>\n );\n}\n\ninterface SecretDialogProps extends React.PropsWithChildren {\n setupKey: string;\n}\n\nfunction SecretDialog({ children, setupKey }: SecretDialogProps) {\n return (\n <Dialog.Root>\n <Dialog.Trigger>{children}</Dialog.Trigger>\n <Dialog.Content\n maxWidth=\"90vw\"\n size={{ initial: \"3\", sm: \"4\" }}\n minWidth=\"300px\"\n width=\"fit-content\"\n >\n <Dialog.Title size=\"2\" weight=\"regular\">\n <Translation\n defaultMessage=\"Your setup key\"\n id=\"LleqNP\"\n description=\"Title for dialog showing the manual setup key\"\n />\n </Dialog.Title>\n <Dialog.Description>\n <Text size=\"6\">\n <Code variant=\"ghost\" style={{ letterSpacing: \"0.15rem\" }}>\n {setupKey}\n </Code>\n </Text>\n </Dialog.Description>\n\n <Flex align=\"center\" gap=\"3\" justify=\"end\" mt=\"5\">\n <Dialog.Close>\n <CopyButton value={setupKey}>\n <Translation\n defaultMessage=\"Copy and close\"\n id=\"EyjGir\"\n description=\"Button text to copy setup key and close dialog\"\n />\n </CopyButton>\n </Dialog.Close>\n </Flex>\n </Dialog.Content>\n </Dialog.Root>\n );\n}\n\nfunction getMutationErrorMessage(error: unknown) {\n let message = \"Something went wrong, please try again\";\n\n if (typeof error === \"string\") {\n message = error;\n }\n\n if (error instanceof Error) {\n message = error.message;\n }\n\n if (\n typeof error === \"object\" &&\n error !== null &&\n \"message\" in error &&\n typeof error.message === \"string\"\n ) {\n message = error.message;\n }\n\n if (message === \"Invalid passcode\") {\n message = \"Invalid passcode, please try again\";\n }\n\n return message;\n}\n\nfunction hasQrCode(\n response?: CreateTotpFactorResponse,\n): response is CreateTotpFactorResponse & {\n authenticationFactor: {\n totp: NonNullable<CreateTotpFactorResponseAuthenticationFactorAllOfTotpAnyOf>;\n };\n} {\n const totp = response?.authenticationFactor.totp;\n return totp != null && \"qr_code\" in totp;\n}\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/add-mfa-dialog.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Box,\n Code,\n Flex,\n Grid,\n Link,\n Separator,\n Text,\n VisuallyHidden,\n} from \"@radix-ui/themes\";\nimport * as React from \"react\";\nimport { type ReactNode } from \"react\";\nimport * as Otp from \"./otp-input.js\";\nimport { Dialog, Button } from \"./elements.js\";\nimport {\n CreateTotpFactorResponse,\n CreateTotpFactorResponseAuthenticationFactorAllOfTotpAnyOf,\n useCreateTotpFactor,\n useVerifyTotpFactor,\n} from \"../api/endpoint.js\";\nimport { useElevatedAccessToken } from \"../api/api-provider.js\";\nimport { Form } from \"radix-ui\";\nimport { Marker } from \"./marker.js\";\nimport { CopyButton } from \"./copy-button.js\";\nimport { useSecuritySettings } from \"./use-security-settings.js\";\nimport { ElevatedAccess } from \"./elevated-access.js\";\nimport { SaveButton } from \"./save-button.js\";\nimport { useDialogClose } from \"./use-dialog-close.js\";\nimport { Translation } from \"./i18n/translation.js\";\nimport { useTranslation } from \"./i18n/use-translation.js\";\n\ninterface AddMfaDialogProps extends Dialog.RootProps {\n children?: ReactNode;\n onSuccess?: () => void;\n}\n\nexport function AddMfaDialog({\n children,\n onSuccess,\n ...props\n}: AddMfaDialogProps) {\n const [open, setOpen] = React.useState(false);\n const [manuallyTriggered, setManuallyTriggered] = React.useState(false);\n const { elevatedAccess } = useElevatedAccessToken();\n const createAuthFactor = useCreateTotpFactor();\n\n const handleVerified = async () => {\n await createAuthFactor.mutateAsync(undefined);\n };\n\n const onTriggerClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (elevatedAccess && !createAuthFactor.data) {\n event.preventDefault();\n setManuallyTriggered(true);\n createAuthFactor.mutate(undefined, {\n onSuccess: () => {\n setOpen(true);\n },\n });\n } else {\n setManuallyTriggered(false);\n }\n };\n\n const handleClose = React.useCallback(() => {\n setOpen(false);\n }, []);\n\n return (\n <Dialog.Root\n {...props}\n open={props.open || open}\n onOpenChange={props.onOpenChange || setOpen}\n >\n <Dialog.Trigger\n onClick={onTriggerClick}\n // @ts-ignore I've to find a way to pass the loading state to the trigger\n loading={manuallyTriggered && createAuthFactor.isPending}\n >\n {children}\n </Dialog.Trigger>\n\n <Dialog.Content maxWidth=\"480px\">\n <ElevatedAccess onVerified={handleVerified}>\n <Content onClose={handleClose} totpFactor={createAuthFactor.data} />\n </ElevatedAccess>\n </Dialog.Content>\n </Dialog.Root>\n );\n}\n\ninterface ContentProps {\n totpFactor?: CreateTotpFactorResponse;\n onClose?: () => void;\n}\n\nfunction Content({ onClose, totpFactor }: ContentProps) {\n const securitySettings = useSecuritySettings();\n const translate = useTranslation();\n\n const [customError, setCustomError] = React.useState<string | null>(null);\n const totp = hasQrCode(totpFactor)\n ? totpFactor.authenticationFactor.totp\n : undefined;\n\n const verifyTotp = useVerifyTotpFactor({\n mutation: {\n onSuccess: ({ success }) => {\n if (!success) {\n setCustomError(\"Invalid passcode\");\n }\n },\n },\n });\n\n const serverError = verifyTotp.error || customError;\n const isSuccess = verifyTotp.isSuccess && !serverError;\n\n const handleSubmit = async (event: React.FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n setCustomError(null);\n\n const formData = new FormData(event.currentTarget);\n const otpCode = formData.get(\"otp-code\")?.toString();\n\n verifyTotp.mutate({\n data: {\n authenticationChallengeId: totpFactor?.authenticationChallenge.id ?? \"\",\n code: otpCode ?? \"\",\n },\n });\n };\n\n useDialogClose(isSuccess, () => {\n securitySettings.update(\"Mfa\", true);\n });\n\n return (\n <>\n <Dialog.Title mb=\"5\">\n <Translation\n defaultMessage=\"Set up an authenticator app\"\n id=\"Eu+kuO\"\n description=\"Title for setting up two-factor authentication\"\n />\n </Dialog.Title>\n\n <Form.Root onSubmit={handleSubmit}>\n <Grid columns=\"auto 1fr\" rows=\"repeat(4, auto)\" gapX=\"3\" gapY=\"1\">\n <Grid\n rows=\"subgrid\"\n gridRow=\"span 4\"\n style={{ placeItems: \"center\" }}\n >\n {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}\n <Marker>1</Marker>\n <Separator\n orientation=\"vertical\"\n size=\"4\"\n style={{ width: \"2px\" }}\n />\n {/* eslint-disable-next-line formatjs/no-literal-string-in-jsx */}\n <Marker>2</Marker>\n <div />\n </Grid>\n\n <Grid rows=\"subgrid\" gridRow=\"span 4\">\n <Text as=\"p\" size=\"3\" weight=\"bold\">\n <Translation\n defaultMessage=\"Scan the QR code\"\n id=\"fTSp5u\"\n description=\"Heading for the QR code scanning step in MFA setup\"\n />\n </Text>\n <Flex direction=\"column\" gap=\"1\">\n <Text as=\"p\" size=\"2\">\n <Translation\n defaultMessage=\"Use an authenticator app like {onep}, {google}, {authy}, or {microsoft} to scan the QR code below.\"\n id=\"8xwdwI\"\n description=\"Instructions for scanning the QR code with authenticator apps\"\n values={{\n onep: (\n <Link\n href=\"https://1password.com/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n // eslint-disable-next-line formatjs/no-literal-string-in-jsx\n >\n 1Password\n </Link>\n ),\n google: (\n <Link\n href=\"https://apps.apple.com/us/app/google-authenticator/id388497605\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n // eslint-disable-next-line formatjs/no-literal-string-in-jsx\n >\n Google Authenticator\n </Link>\n ),\n authy: (\n <Link\n href=\"https://authy.com/\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n // eslint-disable-next-line formatjs/no-literal-string-in-jsx\n >\n Authy\n </Link>\n ),\n microsoft: (\n <Link\n href=\"https://www.microsoft.com/en-gb/security/mobile-authenticator-app\"\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n // eslint-disable-next-line formatjs/no-literal-string-in-jsx\n >\n Microsoft Authenticator\n </Link>\n ),\n }}\n />\n </Text>\n <Flex align=\"center\" gap=\"5\" my=\"5\">\n <Grid\n position=\"relative\"\n width=\"160px\"\n height=\"160px\"\n p=\"2\"\n style={{\n border: \"1px solid var(--gray-7)\",\n borderRadius: \"var(--radius-4)\",\n background: \"var(--gray-2)\",\n overflow: \"hidden\",\n }}\n >\n {totp?.qr_code && (\n <Box asChild width=\"100%\" height=\"auto\">\n <img\n alt={translate({\n defaultMessage: \"Scan this QR code to enroll\",\n description: \"Alt text for QR code image\",\n id: \"wpbqFJ\",\n })}\n aria-describedby=\"secret-note\"\n height=\"160\"\n src={totp.qr_code}\n style={{ userSelect: \"none\", background: \"white\" }}\n width=\"160\"\n />\n </Box>\n )}\n </Grid>\n\n <Flex direction=\"column\" gap=\"1\" align=\"start\">\n <Text color=\"gray\" id=\"secret-note\" size=\"2\">\n <Translation\n defaultMessage=\"Can't scan the code?\"\n id=\"6/cdcS\"\n description=\"Question asking if user is unable to scan the QR code\"\n />\n </Text>\n\n <SecretDialog setupKey={totp?.secret ?? \"\"}>\n <Button\n variant=\"secondary\"\n size=\"1\"\n disabled={verifyTotp.isPending || isSuccess}\n >\n <Translation\n defaultMessage=\"View setup key\"\n id=\"q3eZjH\"\n description=\"Button text to view the manual setup key\"\n />\n </Button>\n </SecretDialog>\n </Flex>\n </Flex>\n </Flex>\n <Text as=\"p\" size=\"3\" weight=\"bold\">\n <Translation\n defaultMessage=\"Get verification passcode\"\n id=\"1kRd2b\"\n description=\"Heading for entering the verification code step\"\n />\n </Text>\n <Flex direction=\"column\" gap=\"4\">\n <Text as=\"p\" size=\"2\">\n <Translation\n defaultMessage=\"Enter the 6-digit passcode from your authenticator app.\"\n id=\"4/66bS\"\n description=\"Instructions for entering the verification passcode\"\n />\n </Text>\n\n <Flex direction=\"column\" gap=\"2\">\n <Otp.Root\n autoSubmit\n gap=\"3\"\n justify=\"start\"\n name=\"otp-code\"\n rows=\"48px\"\n columns=\"repeat(6, 48px)\"\n readOnly={verifyTotp.isPending || isSuccess}\n >\n <Otp.Input required autoFocus autoComplete=\"off\" />\n <Otp.Input required />\n <Otp.Input required />\n <Otp.Input required />\n <Otp.Input required />\n <Otp.Input required />\n </Otp.Root>\n\n {serverError && (\n <Text size=\"2\" color=\"red\">\n {getMutationErrorMessage(serverError)}\n </Text>\n )}\n </Flex>\n </Flex>\n </Grid>\n </Grid>\n\n <Flex mt=\"5\" gap=\"3\" justify=\"end\">\n <Dialog.Close>\n <Button\n variant=\"secondary\"\n disabled={verifyTotp.isPending || isSuccess}\n >\n <Translation\n defaultMessage=\"Cancel\"\n id=\"84pAvU\"\n description=\"Button text to cancel MFA setup\"\n />\n </Button>\n </Dialog.Close>\n\n <SaveButton\n type=\"submit\"\n loading={verifyTotp.isPending}\n done={isSuccess}\n onDone={onClose}\n >\n <Translation\n defaultMessage=\"Confirm\"\n id=\"WHthZi\"\n description=\"Button text to confirm MFA setup\"\n />\n </SaveButton>\n </Flex>\n </Form.Root>\n\n {/* mirror errors in a live region */}\n <VisuallyHidden asChild>\n <section aria-live=\"polite\">\n {getMutationErrorMessage(serverError)}\n </section>\n </VisuallyHidden>\n </>\n );\n}\n\ninterface SecretDialogProps extends React.PropsWithChildren {\n setupKey: string;\n}\n\nfunction SecretDialog({ children, setupKey }: SecretDialogProps) {\n return (\n <Dialog.Root>\n <Dialog.Trigger>{children}</Dialog.Trigger>\n <Dialog.Content\n maxWidth=\"90vw\"\n size={{ initial: \"3\", sm: \"4\" }}\n minWidth=\"300px\"\n width=\"fit-content\"\n >\n <Dialog.Title size=\"2\" weight=\"regular\">\n <Translation\n defaultMessage=\"Your setup key\"\n id=\"LleqNP\"\n description=\"Title for dialog showing the manual setup key\"\n />\n </Dialog.Title>\n <Dialog.Description>\n <Text size=\"6\">\n <Code variant=\"ghost\" style={{ letterSpacing: \"0.15rem\" }}>\n {setupKey}\n </Code>\n </Text>\n </Dialog.Description>\n\n <Flex align=\"center\" gap=\"3\" justify=\"end\" mt=\"5\">\n <Dialog.Close>\n <CopyButton value={setupKey}>\n <Translation\n defaultMessage=\"Copy and close\"\n id=\"EyjGir\"\n description=\"Button text to copy setup key and close dialog\"\n />\n </CopyButton>\n </Dialog.Close>\n </Flex>\n </Dialog.Content>\n </Dialog.Root>\n );\n}\n\nfunction getMutationErrorMessage(error: unknown) {\n let message = \"Something went wrong, please try again\";\n\n if (typeof error === \"string\") {\n message = error;\n }\n\n if (error instanceof Error) {\n message = error.message;\n }\n\n if (\n typeof error === \"object\" &&\n error !== null &&\n \"message\" in error &&\n typeof error.message === \"string\"\n ) {\n message = error.message;\n }\n\n if (message === \"Invalid passcode\") {\n message = \"Invalid passcode, please try again\";\n }\n\n return message;\n}\n\nfunction hasQrCode(\n response?: CreateTotpFactorResponse,\n): response is CreateTotpFactorResponse & {\n authenticationFactor: {\n totp: NonNullable<CreateTotpFactorResponseAuthenticationFactorAllOfTotpAnyOf>;\n };\n} {\n const totp = response?.authenticationFactor.totp;\n return totp != null && \"qr_code\" in totp;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
2
|
-
import { Members200, Members403, Members404, useUpdateMember, useInviteMember, RemoveMember200, RemoveMember400, RemoveMember403, RemoveMember404, RevokeInvite200, RevokeInvite400, RevokeInvite403, RevokeInvite404, ResendInvite201, ResendInvite400, ResendInvite403, ResendInvite404 } from '../../api/endpoint.js';
|
|
2
|
+
import { Members200, Members403, Members404, useUpdateMember, useInviteMember, RemoveMember200, RemoveMember400, RemoveMember403, RemoveMember404, RevokeInvite200, RevokeInvite400, RevokeInvite403, RevokeInvite404, ResendInvite201, ResendInvite400, ResendInvite403, ResendInvite404, ResendInvite422 } from '../../api/endpoint.js';
|
|
3
3
|
import { UsersManagementContextType } from '../users-management-context.js';
|
|
4
4
|
import '../../api/widgets-api-client.js';
|
|
5
5
|
import 'react';
|
|
@@ -19,7 +19,7 @@ declare const useDeleteUser: () => _tanstack_react_query.UseMutationResult<Remov
|
|
|
19
19
|
declare const useRevokeUserInvite: () => _tanstack_react_query.UseMutationResult<RevokeInvite200, RevokeInvite400 | RevokeInvite403 | RevokeInvite404, {
|
|
20
20
|
userId: string;
|
|
21
21
|
}, unknown>;
|
|
22
|
-
declare const useResendUserInvite: () => _tanstack_react_query.UseMutationResult<ResendInvite201, ResendInvite400 | ResendInvite403 | ResendInvite404, {
|
|
22
|
+
declare const useResendUserInvite: () => _tanstack_react_query.UseMutationResult<ResendInvite201, ResendInvite400 | ResendInvite403 | ResendInvite404 | ResendInvite422, {
|
|
23
23
|
userId: string;
|
|
24
24
|
}, unknown>;
|
|
25
25
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useComposedRefs } from "
|
|
3
|
+
import { useComposedRefs } from "radix-ui/internal";
|
|
4
4
|
import { Cross2Icon, MagnifyingGlassIcon } from "@radix-ui/react-icons";
|
|
5
5
|
import cx from "clsx";
|
|
6
6
|
import * as React from "react";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/api-keys/api-keys-search.tsx"],"sourcesContent":["\"use client\";\n\nimport { useComposedRefs } from \"
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/api-keys/api-keys-search.tsx"],"sourcesContent":["\"use client\";\n\nimport { useComposedRefs } from \"radix-ui/internal\";\nimport { Cross2Icon, MagnifyingGlassIcon } from \"@radix-ui/react-icons\";\nimport cx from \"clsx\";\nimport * as React from \"react\";\nimport { useDebouncedCallback } from \"use-debounce\";\nimport { IconButton, TextField, TextFieldSlot } from \"../elements.js\";\nimport { useApiKeysSearchContext } from \"./api-keys-search-provider.js\";\nimport { useApiKeysContext } from \"./api-keys-context.js\";\nimport { namespaceClassNames } from \"../utils.js\";\nimport { useTranslation } from \"../i18n/use-translation.js\";\n\ntype ApiKeysSearchProps = React.ComponentPropsWithoutRef<typeof TextField>;\n\nexport const ApiKeysSearch = React.forwardRef<\n HTMLInputElement,\n ApiKeysSearchProps\n>(({ className, ...props }, ref) => {\n const { inputRef, clearSearch, searchValue, setSearchValue } =\n useApiKeysSearchContext();\n const { dispatch } = useApiKeysContext();\n const translate = useTranslation();\n\n const filter = useDebouncedCallback((value) => {\n dispatch({ type: \"FILTER_BY_SEARCH\", searchQuery: value });\n }, 200);\n\n const resetSearch = () => {\n clearSearch();\n filter.cancel();\n };\n\n return (\n <TextField\n ref={useComposedRefs(inputRef, ref)}\n className={cx(namespaceClassNames(\"api-keys-search\"), className)}\n autoComplete=\"off\"\n placeholder={translate({\n defaultMessage: \"Search by name\",\n id: \"GC8aGI\",\n description: \"Placeholder for API key search input\",\n })}\n value={searchValue}\n onChange={(event) => {\n const value = event.target.value;\n setSearchValue(value);\n filter(value);\n }}\n onKeyDown={(event) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n resetSearch();\n }\n }}\n {...props}\n >\n <TextFieldSlot side=\"left\">\n <MagnifyingGlassIcon aria-hidden=\"true\" height=\"16\" width=\"16\" />\n </TextFieldSlot>\n\n <TextFieldSlot side=\"right\">\n {!!searchValue && (\n <IconButton\n size=\"1\"\n onClick={resetSearch}\n title={translate({\n defaultMessage: \"Clear search\",\n id: \"7enwzK\",\n description: \"Title tooltip for clear search button\",\n })}\n >\n <Cross2Icon aria-hidden=\"true\" />\n </IconButton>\n )}\n </TextFieldSlot>\n </TextField>\n );\n});\n"],"mappings":";AAkCI,SAwBI,KAxBJ;AAhCJ,SAAS,uBAAuB;AAChC,SAAS,YAAY,2BAA2B;AAChD,OAAO,QAAQ;AACf,YAAY,WAAW;AACvB,SAAS,4BAA4B;AACrC,SAAS,YAAY,WAAW,qBAAqB;AACrD,SAAS,+BAA+B;AACxC,SAAS,yBAAyB;AAClC,SAAS,2BAA2B;AACpC,SAAS,sBAAsB;AAIxB,MAAM,gBAAgB,MAAM,WAGjC,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAAQ;AAClC,QAAM,EAAE,UAAU,aAAa,aAAa,eAAe,IACzD,wBAAwB;AAC1B,QAAM,EAAE,SAAS,IAAI,kBAAkB;AACvC,QAAM,YAAY,eAAe;AAEjC,QAAM,SAAS,qBAAqB,CAAC,UAAU;AAC7C,aAAS,EAAE,MAAM,oBAAoB,aAAa,MAAM,CAAC;AAAA,EAC3D,GAAG,GAAG;AAEN,QAAM,cAAc,MAAM;AACxB,gBAAY;AACZ,WAAO,OAAO;AAAA,EAChB;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,KAAK,gBAAgB,UAAU,GAAG;AAAA,MAClC,WAAW,GAAG,oBAAoB,iBAAiB,GAAG,SAAS;AAAA,MAC/D,cAAa;AAAA,MACb,aAAa,UAAU;AAAA,QACrB,gBAAgB;AAAA,QAChB,IAAI;AAAA,QACJ,aAAa;AAAA,MACf,CAAC;AAAA,MACD,OAAO;AAAA,MACP,UAAU,CAAC,UAAU;AACnB,cAAM,QAAQ,MAAM,OAAO;AAC3B,uBAAe,KAAK;AACpB,eAAO,KAAK;AAAA,MACd;AAAA,MACA,WAAW,CAAC,UAAU;AACpB,YAAI,MAAM,QAAQ,UAAU;AAC1B,gBAAM,eAAe;AACrB,sBAAY;AAAA,QACd;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEJ;AAAA,4BAAC,iBAAc,MAAK,QAClB,8BAAC,uBAAoB,eAAY,QAAO,QAAO,MAAK,OAAM,MAAK,GACjE;AAAA,QAEA,oBAAC,iBAAc,MAAK,SACjB,WAAC,CAAC,eACD;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,OAAO,UAAU;AAAA,cACf,gBAAgB;AAAA,cAChB,IAAI;AAAA,cACJ,aAAa;AAAA,YACf,CAAC;AAAA,YAED,8BAAC,cAAW,eAAY,QAAO;AAAA;AAAA,QACjC,GAEJ;AAAA;AAAA;AAAA,EACF;AAEJ,CAAC;","names":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/api-keys/create-api-key.tsx"],"sourcesContent":["import {\n Box,\n Checkbox,\n Flex,\n ScrollArea,\n Text,\n Callout,\n} from \"@radix-ui/themes\";\nimport {\n Dialog,\n Label,\n Button,\n TextField,\n TextFieldSlot,\n} from \"../elements.js\";\nimport * as Form from \"@radix-ui/react-form\";\nimport {\n ExclamationTriangleIcon,\n InfoCircledIcon,\n MagnifyingGlassIcon,\n} from \"@radix-ui/react-icons\";\nimport { CopyButton, CopyIconButton } from \"../copy-button.js\";\nimport * as React from \"react\";\nimport {\n useListOrganizationApiKeyPermissions,\n ListOrganizationApiKeyPermission,\n} from \"../../api/endpoint.js\";\nimport { useCreateApiKey } from \"../api/api-key.js\";\nimport { useApiKeysContext } from \"./api-keys-context.js\";\nimport { Translation } from \"../i18n/translation.js\";\nimport { useTranslation } from \"../i18n/use-translation.js\";\n\nexport function CreateApiKeyDialog() {\n const {\n state: { createDialogOpen, createdApiKey },\n dispatch,\n } = useApiKeysContext();\n\n return (\n <Dialog.Root\n open={createDialogOpen}\n onOpenChange={(open) => {\n if (!open) {\n dispatch({ type: \"CLOSE_CREATE_DIALOG\" });\n }\n }}\n >\n {createdApiKey ? (\n <SaveApiKeyContent apiKey={createdApiKey.value} />\n ) : (\n <CreateApiKeyForm\n // always remount the form when the dialog is opened to reset the validation errors\n key={`${createDialogOpen}`}\n />\n )}\n </Dialog.Root>\n );\n}\n\nfunction CreateApiKeyForm() {\n const { dispatch } = useApiKeysContext();\n const translate = useTranslation();\n const [errors, setErrors] = React.useState<{\n name: boolean;\n }>({ name: false });\n\n const validate = (formData: FormData) => {\n const name = formData.get(\"name\")?.toString() ?? \"\";\n const errors = { name: !name.trim().length };\n setErrors(errors);\n const isValid = Object.values(errors).every((error) => error === false);\n return isValid;\n };\n\n const {\n mutate: createOrganizationApiKey,\n error,\n isPending,\n isSuccess,\n } = useCreateApiKey();\n const permissions = useListOrganizationApiKeyPermissions({ limit: 100 });\n\n return (\n <Dialog.Content maxWidth=\"529px\">\n <Dialog.Title size=\"4\" weight={\"bold\"}>\n <Translation\n defaultMessage=\"Create API key\"\n id=\"eUFRNS\"\n description=\"Dialog title for creating a new API key\"\n />\n </Dialog.Title>\n <Form.Root\n onSubmit={(e) => {\n if (isPending) return;\n e.preventDefault();\n const data = new FormData(e.currentTarget);\n const isValid = validate(data);\n if (!isValid) {\n return;\n }\n\n createOrganizationApiKey(\n {\n data: {\n name: data.get(\"name\")?.toString() ?? \"\",\n permissions: data.getAll(\"permission\").map(String) || [],\n },\n },\n {\n onSuccess: (data) => {\n dispatch({ type: \"SET_CREATED_API_KEY\", apiKey: data });\n },\n },\n );\n }}\n >\n <Flex direction=\"column\" align=\"stretch\" gap=\"4\">\n {error && (\n <Callout.Root color=\"red\" role=\"alert\">\n <Callout.Icon>\n <ExclamationTriangleIcon />\n </Callout.Icon>\n <Callout.Text>\n <Translation\n defaultMessage=\"An error occurred while creating the API key.\"\n id=\"0LyBVd\"\n description=\"Error message when API key creation fails\"\n />\n </Callout.Text>\n </Callout.Root>\n )}\n <Form.Field name=\"name\" asChild>\n <Flex direction=\"column\" align=\"stretch\" gap=\"2\">\n <Form.Label asChild>\n <Label>\n <Translation\n defaultMessage=\"Name\"\n id=\"v0VmRy\"\n description=\"Label for API key name input field\"\n />\n </Label>\n </Form.Label>\n <Form.Control asChild>\n <TextField\n data-1p-ignore\n autoComplete=\"off\"\n placeholder={translate({\n defaultMessage: \"A descriptive name for the API key\",\n id: \"moyvr4\",\n description: \"Placeholder for API key name input\",\n })}\n />\n </Form.Control>\n {errors.name && (\n <Form.Message asChild>\n <Text size=\"2\" color=\"red\">\n <Translation\n defaultMessage=\"The name is required\"\n id=\"oF9d2V\"\n description=\"Validation error when API key name is empty\"\n />\n </Text>\n </Form.Message>\n )}\n </Flex>\n </Form.Field>\n {permissions.isSuccess && permissions.data.data.length > 0 && (\n <PermissionsField permissions={permissions.data.data} />\n )}\n </Flex>\n\n <Flex align=\"center\" gap=\"3\" justify=\"end\" mt=\"5\">\n <Dialog.Close>\n <Button variant=\"secondary\" disabled={isPending || isSuccess}>\n <Translation\n defaultMessage=\"Cancel\"\n id=\"AyVAAW\"\n description=\"Button to cancel API key creation\"\n />\n </Button>\n </Dialog.Close>\n <Button type=\"submit\" loading={isPending || isSuccess}>\n <Translation\n defaultMessage=\"Create API key\"\n id=\"d4BNWL\"\n description=\"Button to submit and create the API key\"\n />\n </Button>\n </Flex>\n </Form.Root>\n </Dialog.Content>\n );\n}\n\nfunction SaveApiKeyContent({ apiKey }: { apiKey: string }) {\n return (\n <Dialog.Content maxWidth=\"529px\">\n <Dialog.Title size=\"4\" weight={\"bold\"}>\n <Translation\n defaultMessage=\"Save your key\"\n id=\"wFFCij\"\n description=\"Dialog title prompting user to save their API key\"\n />\n </Dialog.Title>\n <Dialog.Description size=\"2\">\n <Translation\n defaultMessage=\"Please save this API key in a secure location. If you lose it, you'll need to generate a new one.\"\n id=\"sy+2x7\"\n description=\"Warning message about saving the API key\"\n />\n </Dialog.Description>\n <Callout.Root mt=\"5\" mb=\"4\">\n <Callout.Icon>\n <InfoCircledIcon />\n </Callout.Icon>\n <Callout.Text>\n <Translation\n defaultMessage=\"You won't be able to access the key again. Please copy it now.\"\n id=\"EFAK/K\"\n description=\"Callout warning that the key won't be accessible again\"\n />\n </Callout.Text>\n </Callout.Root>\n <TextField value={apiKey} readOnly>\n <TextFieldSlot side=\"right\">\n <CopyIconButton value={apiKey} />\n </TextFieldSlot>\n </TextField>\n <Flex align=\"center\" gap=\"3\" justify=\"end\" mt=\"5\">\n <Dialog.Close>\n <CopyButton value={apiKey}>\n <Translation\n defaultMessage=\"Copy and close\"\n id=\"ViYtvQ\"\n description=\"Button to copy API key and close dialog\"\n />\n </CopyButton>\n </Dialog.Close>\n </Flex>\n </Dialog.Content>\n );\n}\n\nfunction Permission({\n checked,\n permission,\n onChange,\n}: {\n checked: boolean;\n permission: ListOrganizationApiKeyPermission;\n onChange: (isChecked: boolean) => void;\n}) {\n return (\n <label\n htmlFor={permission.slug}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n padding: \"var(--space-2) var(--space-4)\",\n gap: \"var(--space-3)\",\n borderBottom: \"1px solid var(--gray-6)\",\n cursor: \"pointer\",\n }}\n >\n <Checkbox\n checked={checked}\n id={permission.slug}\n name=\"permission\"\n value={permission.slug}\n onCheckedChange={(e) => onChange(e === \"indeterminate\" ? false : e)}\n />\n <Flex direction=\"column\">\n <Text size=\"2\" weight=\"bold\">\n {permission.name}\n </Text>\n <Text size=\"2\" color=\"gray\">\n {permission.description}\n </Text>\n </Flex>\n </label>\n );\n}\n\nfunction PermissionsField({\n permissions = [],\n}: {\n permissions: ListOrganizationApiKeyPermission[];\n}) {\n const [selectedPermissions, setSelectedPermissions] = React.useState<\n ListOrganizationApiKeyPermission[]\n >([]);\n const [filter, setFilter] = React.useState(\"\");\n const fieldRef = React.useRef<HTMLDivElement | null>(null);\n const translate = useTranslation();\n const filteredPermissions = React.useMemo(() => {\n return permissions.filter((p) => {\n return (\n !filter.trim().length ||\n p.description?.toLowerCase().match(filter.toLowerCase()) ||\n p.name.toLowerCase().match(filter.toLowerCase()) ||\n p.slug.toLowerCase().match(filter.toLowerCase())\n );\n });\n }, [permissions, filter]);\n\n React.useEffect(() => {\n const onResize = () => {\n if (fieldRef.current && filteredPermissions.length !== 0) {\n fieldRef.current.style.minHeight = \"unset\";\n }\n };\n window.addEventListener(\"resize\", onResize);\n return () => {\n window.removeEventListener(\"resize\", onResize);\n };\n }, [filteredPermissions.length]);\n\n return (\n <Form.Field name=\"permissions\" asChild>\n <Flex direction=\"column\" align=\"stretch\" gap=\"1\">\n <Form.Label asChild>\n <Label>\n <Translation\n defaultMessage=\"Permissions\"\n id=\"6YN1wO\"\n description=\"Label for API key permissions field\"\n />\n </Label>\n </Form.Label>\n <Text size=\"2\" mb=\"2\" color=\"gray\">\n <Translation\n defaultMessage=\"Only enable the minimum permissions required for your use case.\"\n id=\"q2VEtG\"\n description=\"Help text for API key permissions selection\"\n />\n </Text>\n <Flex\n ref={fieldRef}\n style={{\n borderRadius: \"var(--radius-3)\",\n borderColor: \"var(--gray-6)\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n }}\n direction=\"column\"\n align=\"stretch\"\n >\n <TextField\n name=\"search\"\n value={filter}\n size=\"2\"\n onChange={(e) => {\n if (fieldRef.current) {\n fieldRef.current.style.minHeight =\n fieldRef.current.clientHeight + 2 + \"px\";\n }\n setFilter(e.target.value);\n }}\n style={{\n height: \"40px\",\n borderRadius: \"var(--radius-3) var(--radius-3) 0 0\",\n boxShadow: \"none\",\n }}\n placeholder={translate({\n defaultMessage: \"Search\",\n id: \"iyNcly\",\n description: \"Placeholder for permissions search input\",\n })}\n >\n <TextFieldSlot side=\"left\" px=\"3\">\n <MagnifyingGlassIcon aria-hidden=\"true\" height=\"16\" width=\"16\" />\n </TextFieldSlot>\n </TextField>\n {filteredPermissions.length > 0 ? (\n <>\n <ScrollArea\n scrollbars=\"vertical\"\n style={{\n flex: 1,\n maxHeight: \"calc(50vh - 150px)\",\n border: \"1px solid var(--gray-6)\",\n borderWidth: \"1px 0 0\",\n }}\n >\n {filteredPermissions.map((permission) => (\n <Permission\n checked={selectedPermissions.some(\n (sp) => sp.slug === permission.slug,\n )}\n key={permission.slug}\n permission={permission}\n onChange={(isChecked) =>\n setSelectedPermissions((prev) =>\n isChecked\n ? [...prev, permission]\n : prev.filter((sp) => sp.slug !== permission.slug),\n )\n }\n />\n ))}\n </ScrollArea>\n <Box\n px=\"4\"\n py=\"3\"\n mt={\"-1px\"}\n flexGrow=\"0\"\n style={{\n borderTop: \"0 solid var(--gray-6)\",\n borderWidth: \"1px 0 0\",\n }}\n >\n <SelectedPermissions\n total={permissions.length}\n selected={selectedPermissions.length}\n onToggle={() =>\n setSelectedPermissions((prev) =>\n prev.length === permissions.length ? [] : permissions,\n )\n }\n />\n </Box>\n </>\n ) : (\n <Flex\n gap=\"4\"\n pt=\"6\"\n pb=\"6\"\n style={{ borderTop: \"1px solid var(--gray-6)\" }}\n flexGrow=\"1\"\n justify=\"center\"\n align=\"center\"\n direction=\"column\"\n >\n <MagnifyingGlassIcon\n style={{\n color: \"var(--gray-9)\",\n width: \"var(--space-5)\",\n height: \"var(--space-5)\",\n }}\n />\n <Text size=\"2\" align=\"center\" mb=\"2\" wrap=\"balance\" weight=\"bold\">\n <Translation\n defaultMessage=\"No permissions match your search\"\n id=\"xjqT9f\"\n description=\"Empty state message when no permissions match search\"\n />\n </Text>\n <Button\n variant=\"secondary\"\n size=\"1\"\n onClick={() => setFilter(\"\")}\n >\n <Translation\n defaultMessage=\"Clear search\"\n id=\"YrMs63\"\n description=\"Button to clear permissions search\"\n />\n </Button>\n </Flex>\n )}\n </Flex>\n </Flex>\n </Form.Field>\n );\n}\n\nfunction SelectedPermissions({\n total,\n selected,\n onToggle,\n}: {\n total: number;\n selected: number;\n onToggle: () => void;\n}) {\n return (\n <Flex align=\"center\" gap=\"2\">\n <Text size=\"1\" style={{ lineHeight: 1, color: \"var(--gray-11)\" }}>\n {selected === 0 ? (\n <Translation\n defaultMessage=\"No permissions selected\"\n id=\"FqU9hv\"\n description=\"Message when no permissions are selected\"\n />\n ) : selected === 1 ? (\n <Translation\n defaultMessage=\"1 permission selected\"\n id=\"VouLgT\"\n description=\"Message showing count of selected permissions\"\n />\n ) : (\n <Translation\n defaultMessage=\"{count} permissions selected\"\n id=\"ZL90DI\"\n description=\"Message showing count of selected permissions\"\n values={{ count: selected }}\n />\n )}\n </Text>\n <Text\n size=\"1\"\n onClick={onToggle}\n style={{ cursor: \"pointer\", color: \"var(--accent-10)\" }}\n >\n {total === selected ? (\n <Translation\n defaultMessage=\"Deselect all\"\n id=\"63f7SY\"\n description=\"Button to deselect all permissions\"\n />\n ) : (\n <Translation\n defaultMessage=\"Select all\"\n id=\"onTqlA\"\n description=\"Button to select all permissions\"\n />\n )}\n </Text>\n </Flex>\n );\n}\n\nexport function CreateApiKeyButton() {\n const { dispatch } = useApiKeysContext();\n return (\n <Button\n variant=\"secondary\"\n onClick={() => dispatch({ type: \"OPEN_CREATE_DIALOG\" })}\n >\n <Translation\n defaultMessage=\"Create API key\"\n id=\"vq5724\"\n description=\"Button to open create API key dialog\"\n />\n </Button>\n );\n}\n"],"mappings":"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","names":["errors","error","data"]}
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/api-keys/create-api-key.tsx"],"sourcesContent":["import {\n Box,\n Checkbox,\n Flex,\n ScrollArea,\n Text,\n Callout,\n} from \"@radix-ui/themes\";\nimport {\n Dialog,\n Label,\n Button,\n TextField,\n TextFieldSlot,\n} from \"../elements.js\";\nimport { Form } from \"radix-ui\";\nimport {\n ExclamationTriangleIcon,\n InfoCircledIcon,\n MagnifyingGlassIcon,\n} from \"@radix-ui/react-icons\";\nimport { CopyButton, CopyIconButton } from \"../copy-button.js\";\nimport * as React from \"react\";\nimport {\n useListOrganizationApiKeyPermissions,\n ListOrganizationApiKeyPermission,\n} from \"../../api/endpoint.js\";\nimport { useCreateApiKey } from \"../api/api-key.js\";\nimport { useApiKeysContext } from \"./api-keys-context.js\";\nimport { Translation } from \"../i18n/translation.js\";\nimport { useTranslation } from \"../i18n/use-translation.js\";\n\nexport function CreateApiKeyDialog() {\n const {\n state: { createDialogOpen, createdApiKey },\n dispatch,\n } = useApiKeysContext();\n\n return (\n <Dialog.Root\n open={createDialogOpen}\n onOpenChange={(open) => {\n if (!open) {\n dispatch({ type: \"CLOSE_CREATE_DIALOG\" });\n }\n }}\n >\n {createdApiKey ? (\n <SaveApiKeyContent apiKey={createdApiKey.value} />\n ) : (\n <CreateApiKeyForm\n // always remount the form when the dialog is opened to reset the validation errors\n key={`${createDialogOpen}`}\n />\n )}\n </Dialog.Root>\n );\n}\n\nfunction CreateApiKeyForm() {\n const { dispatch } = useApiKeysContext();\n const translate = useTranslation();\n const [errors, setErrors] = React.useState<{\n name: boolean;\n }>({ name: false });\n\n const validate = (formData: FormData) => {\n const name = formData.get(\"name\")?.toString() ?? \"\";\n const errors = { name: !name.trim().length };\n setErrors(errors);\n const isValid = Object.values(errors).every((error) => error === false);\n return isValid;\n };\n\n const {\n mutate: createOrganizationApiKey,\n error,\n isPending,\n isSuccess,\n } = useCreateApiKey();\n const permissions = useListOrganizationApiKeyPermissions({ limit: 100 });\n\n return (\n <Dialog.Content maxWidth=\"529px\">\n <Dialog.Title size=\"4\" weight={\"bold\"}>\n <Translation\n defaultMessage=\"Create API key\"\n id=\"eUFRNS\"\n description=\"Dialog title for creating a new API key\"\n />\n </Dialog.Title>\n <Form.Root\n onSubmit={(e) => {\n if (isPending) return;\n e.preventDefault();\n const data = new FormData(e.currentTarget);\n const isValid = validate(data);\n if (!isValid) {\n return;\n }\n\n createOrganizationApiKey(\n {\n data: {\n name: data.get(\"name\")?.toString() ?? \"\",\n permissions: data.getAll(\"permission\").map(String) || [],\n },\n },\n {\n onSuccess: (data) => {\n dispatch({ type: \"SET_CREATED_API_KEY\", apiKey: data });\n },\n },\n );\n }}\n >\n <Flex direction=\"column\" align=\"stretch\" gap=\"4\">\n {error && (\n <Callout.Root color=\"red\" role=\"alert\">\n <Callout.Icon>\n <ExclamationTriangleIcon />\n </Callout.Icon>\n <Callout.Text>\n <Translation\n defaultMessage=\"An error occurred while creating the API key.\"\n id=\"0LyBVd\"\n description=\"Error message when API key creation fails\"\n />\n </Callout.Text>\n </Callout.Root>\n )}\n <Form.Field name=\"name\" asChild>\n <Flex direction=\"column\" align=\"stretch\" gap=\"2\">\n <Form.Label asChild>\n <Label>\n <Translation\n defaultMessage=\"Name\"\n id=\"v0VmRy\"\n description=\"Label for API key name input field\"\n />\n </Label>\n </Form.Label>\n <Form.Control asChild>\n <TextField\n data-1p-ignore\n autoComplete=\"off\"\n placeholder={translate({\n defaultMessage: \"A descriptive name for the API key\",\n id: \"moyvr4\",\n description: \"Placeholder for API key name input\",\n })}\n />\n </Form.Control>\n {errors.name && (\n <Form.Message asChild>\n <Text size=\"2\" color=\"red\">\n <Translation\n defaultMessage=\"The name is required\"\n id=\"oF9d2V\"\n description=\"Validation error when API key name is empty\"\n />\n </Text>\n </Form.Message>\n )}\n </Flex>\n </Form.Field>\n {permissions.isSuccess && permissions.data.data.length > 0 && (\n <PermissionsField permissions={permissions.data.data} />\n )}\n </Flex>\n\n <Flex align=\"center\" gap=\"3\" justify=\"end\" mt=\"5\">\n <Dialog.Close>\n <Button variant=\"secondary\" disabled={isPending || isSuccess}>\n <Translation\n defaultMessage=\"Cancel\"\n id=\"AyVAAW\"\n description=\"Button to cancel API key creation\"\n />\n </Button>\n </Dialog.Close>\n <Button type=\"submit\" loading={isPending || isSuccess}>\n <Translation\n defaultMessage=\"Create API key\"\n id=\"d4BNWL\"\n description=\"Button to submit and create the API key\"\n />\n </Button>\n </Flex>\n </Form.Root>\n </Dialog.Content>\n );\n}\n\nfunction SaveApiKeyContent({ apiKey }: { apiKey: string }) {\n return (\n <Dialog.Content maxWidth=\"529px\">\n <Dialog.Title size=\"4\" weight={\"bold\"}>\n <Translation\n defaultMessage=\"Save your key\"\n id=\"wFFCij\"\n description=\"Dialog title prompting user to save their API key\"\n />\n </Dialog.Title>\n <Dialog.Description size=\"2\">\n <Translation\n defaultMessage=\"Please save this API key in a secure location. If you lose it, you'll need to generate a new one.\"\n id=\"sy+2x7\"\n description=\"Warning message about saving the API key\"\n />\n </Dialog.Description>\n <Callout.Root mt=\"5\" mb=\"4\">\n <Callout.Icon>\n <InfoCircledIcon />\n </Callout.Icon>\n <Callout.Text>\n <Translation\n defaultMessage=\"You won't be able to access the key again. Please copy it now.\"\n id=\"EFAK/K\"\n description=\"Callout warning that the key won't be accessible again\"\n />\n </Callout.Text>\n </Callout.Root>\n <TextField value={apiKey} readOnly>\n <TextFieldSlot side=\"right\">\n <CopyIconButton value={apiKey} />\n </TextFieldSlot>\n </TextField>\n <Flex align=\"center\" gap=\"3\" justify=\"end\" mt=\"5\">\n <Dialog.Close>\n <CopyButton value={apiKey}>\n <Translation\n defaultMessage=\"Copy and close\"\n id=\"ViYtvQ\"\n description=\"Button to copy API key and close dialog\"\n />\n </CopyButton>\n </Dialog.Close>\n </Flex>\n </Dialog.Content>\n );\n}\n\nfunction Permission({\n checked,\n permission,\n onChange,\n}: {\n checked: boolean;\n permission: ListOrganizationApiKeyPermission;\n onChange: (isChecked: boolean) => void;\n}) {\n return (\n <label\n htmlFor={permission.slug}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n padding: \"var(--space-2) var(--space-4)\",\n gap: \"var(--space-3)\",\n borderBottom: \"1px solid var(--gray-6)\",\n cursor: \"pointer\",\n }}\n >\n <Checkbox\n checked={checked}\n id={permission.slug}\n name=\"permission\"\n value={permission.slug}\n onCheckedChange={(e) => onChange(e === \"indeterminate\" ? false : e)}\n />\n <Flex direction=\"column\">\n <Text size=\"2\" weight=\"bold\">\n {permission.name}\n </Text>\n <Text size=\"2\" color=\"gray\">\n {permission.description}\n </Text>\n </Flex>\n </label>\n );\n}\n\nfunction PermissionsField({\n permissions = [],\n}: {\n permissions: ListOrganizationApiKeyPermission[];\n}) {\n const [selectedPermissions, setSelectedPermissions] = React.useState<\n ListOrganizationApiKeyPermission[]\n >([]);\n const [filter, setFilter] = React.useState(\"\");\n const fieldRef = React.useRef<HTMLDivElement | null>(null);\n const translate = useTranslation();\n const filteredPermissions = React.useMemo(() => {\n return permissions.filter((p) => {\n return (\n !filter.trim().length ||\n p.description?.toLowerCase().match(filter.toLowerCase()) ||\n p.name.toLowerCase().match(filter.toLowerCase()) ||\n p.slug.toLowerCase().match(filter.toLowerCase())\n );\n });\n }, [permissions, filter]);\n\n React.useEffect(() => {\n const onResize = () => {\n if (fieldRef.current && filteredPermissions.length !== 0) {\n fieldRef.current.style.minHeight = \"unset\";\n }\n };\n window.addEventListener(\"resize\", onResize);\n return () => {\n window.removeEventListener(\"resize\", onResize);\n };\n }, [filteredPermissions.length]);\n\n return (\n <Form.Field name=\"permissions\" asChild>\n <Flex direction=\"column\" align=\"stretch\" gap=\"1\">\n <Form.Label asChild>\n <Label>\n <Translation\n defaultMessage=\"Permissions\"\n id=\"6YN1wO\"\n description=\"Label for API key permissions field\"\n />\n </Label>\n </Form.Label>\n <Text size=\"2\" mb=\"2\" color=\"gray\">\n <Translation\n defaultMessage=\"Only enable the minimum permissions required for your use case.\"\n id=\"q2VEtG\"\n description=\"Help text for API key permissions selection\"\n />\n </Text>\n <Flex\n ref={fieldRef}\n style={{\n borderRadius: \"var(--radius-3)\",\n borderColor: \"var(--gray-6)\",\n borderWidth: \"1px\",\n borderStyle: \"solid\",\n }}\n direction=\"column\"\n align=\"stretch\"\n >\n <TextField\n name=\"search\"\n value={filter}\n size=\"2\"\n onChange={(e) => {\n if (fieldRef.current) {\n fieldRef.current.style.minHeight =\n fieldRef.current.clientHeight + 2 + \"px\";\n }\n setFilter(e.target.value);\n }}\n style={{\n height: \"40px\",\n borderRadius: \"var(--radius-3) var(--radius-3) 0 0\",\n boxShadow: \"none\",\n }}\n placeholder={translate({\n defaultMessage: \"Search\",\n id: \"iyNcly\",\n description: \"Placeholder for permissions search input\",\n })}\n >\n <TextFieldSlot side=\"left\" px=\"3\">\n <MagnifyingGlassIcon aria-hidden=\"true\" height=\"16\" width=\"16\" />\n </TextFieldSlot>\n </TextField>\n {filteredPermissions.length > 0 ? (\n <>\n <ScrollArea\n scrollbars=\"vertical\"\n style={{\n flex: 1,\n maxHeight: \"calc(50vh - 150px)\",\n border: \"1px solid var(--gray-6)\",\n borderWidth: \"1px 0 0\",\n }}\n >\n {filteredPermissions.map((permission) => (\n <Permission\n checked={selectedPermissions.some(\n (sp) => sp.slug === permission.slug,\n )}\n key={permission.slug}\n permission={permission}\n onChange={(isChecked) =>\n setSelectedPermissions((prev) =>\n isChecked\n ? [...prev, permission]\n : prev.filter((sp) => sp.slug !== permission.slug),\n )\n }\n />\n ))}\n </ScrollArea>\n <Box\n px=\"4\"\n py=\"3\"\n mt={\"-1px\"}\n flexGrow=\"0\"\n style={{\n borderTop: \"0 solid var(--gray-6)\",\n borderWidth: \"1px 0 0\",\n }}\n >\n <SelectedPermissions\n total={permissions.length}\n selected={selectedPermissions.length}\n onToggle={() =>\n setSelectedPermissions((prev) =>\n prev.length === permissions.length ? [] : permissions,\n )\n }\n />\n </Box>\n </>\n ) : (\n <Flex\n gap=\"4\"\n pt=\"6\"\n pb=\"6\"\n style={{ borderTop: \"1px solid var(--gray-6)\" }}\n flexGrow=\"1\"\n justify=\"center\"\n align=\"center\"\n direction=\"column\"\n >\n <MagnifyingGlassIcon\n style={{\n color: \"var(--gray-9)\",\n width: \"var(--space-5)\",\n height: \"var(--space-5)\",\n }}\n />\n <Text size=\"2\" align=\"center\" mb=\"2\" wrap=\"balance\" weight=\"bold\">\n <Translation\n defaultMessage=\"No permissions match your search\"\n id=\"xjqT9f\"\n description=\"Empty state message when no permissions match search\"\n />\n </Text>\n <Button\n variant=\"secondary\"\n size=\"1\"\n onClick={() => setFilter(\"\")}\n >\n <Translation\n defaultMessage=\"Clear search\"\n id=\"YrMs63\"\n description=\"Button to clear permissions search\"\n />\n </Button>\n </Flex>\n )}\n </Flex>\n </Flex>\n </Form.Field>\n );\n}\n\nfunction SelectedPermissions({\n total,\n selected,\n onToggle,\n}: {\n total: number;\n selected: number;\n onToggle: () => void;\n}) {\n return (\n <Flex align=\"center\" gap=\"2\">\n <Text size=\"1\" style={{ lineHeight: 1, color: \"var(--gray-11)\" }}>\n {selected === 0 ? (\n <Translation\n defaultMessage=\"No permissions selected\"\n id=\"FqU9hv\"\n description=\"Message when no permissions are selected\"\n />\n ) : selected === 1 ? (\n <Translation\n defaultMessage=\"1 permission selected\"\n id=\"VouLgT\"\n description=\"Message showing count of selected permissions\"\n />\n ) : (\n <Translation\n defaultMessage=\"{count} permissions selected\"\n id=\"ZL90DI\"\n description=\"Message showing count of selected permissions\"\n values={{ count: selected }}\n />\n )}\n </Text>\n <Text\n size=\"1\"\n onClick={onToggle}\n style={{ cursor: \"pointer\", color: \"var(--accent-10)\" }}\n >\n {total === selected ? (\n <Translation\n defaultMessage=\"Deselect all\"\n id=\"63f7SY\"\n description=\"Button to deselect all permissions\"\n />\n ) : (\n <Translation\n defaultMessage=\"Select all\"\n id=\"onTqlA\"\n description=\"Button to select all permissions\"\n />\n )}\n </Text>\n </Flex>\n );\n}\n\nexport function CreateApiKeyButton() {\n const { dispatch } = useApiKeysContext();\n return (\n <Button\n variant=\"secondary\"\n onClick={() => dispatch({ type: \"OPEN_CREATE_DIALOG\" })}\n >\n <Translation\n defaultMessage=\"Create API key\"\n id=\"vq5724\"\n description=\"Button to open create API key dialog\"\n />\n </Button>\n );\n}\n"],"mappings":"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","names":["errors","error","data"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { Callout, Flex, Text, VisuallyHidden } from "@radix-ui/themes";
|
|
4
|
-
import
|
|
4
|
+
import { Form } from "radix-ui";
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
import { Button, Dialog, Label, PasswordField } from "./elements.js";
|
|
7
7
|
import { useUpdatePassword } from "../api/endpoint.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/change-password-dialog.tsx"],"sourcesContent":["\"use client\";\n\nimport { Callout, Flex, Text, VisuallyHidden } from \"@radix-ui/themes\";\nimport * as Form from \"@radix-ui/react-form\";\nimport * as React from \"react\";\nimport { type ReactNode } from \"react\";\nimport { Button, Dialog, Label, PasswordField } from \"./elements.js\";\nimport { useUpdatePassword } from \"../api/endpoint.js\";\nimport { SaveButton } from \"./save-button.js\";\nimport { Translation } from \"./i18n/translation.js\";\nimport { useTranslation } from \"./i18n/use-translation.js\";\n\ninterface ChangePasswordDialogProps extends Dialog.RootProps {\n children?: ReactNode;\n}\n\nexport function ChangePasswordDialog({\n children,\n ...props\n}: ChangePasswordDialogProps) {\n const [open, setOpen] = React.useState(false);\n\n const handleClose = React.useCallback(() => {\n setOpen(false);\n }, []);\n\n return (\n <Dialog.Root\n {...props}\n open={props.open || open}\n onOpenChange={props.onOpenChange || setOpen}\n >\n <Dialog.Trigger>{children}</Dialog.Trigger>\n\n <Dialog.Content maxWidth=\"480px\">\n <Content onClose={handleClose} />\n </Dialog.Content>\n </Dialog.Root>\n );\n}\n\ninterface ContentProps {\n onClose: () => void;\n}\n\nfunction Content({ onClose }: ContentProps) {\n const translate = useTranslation();\n const changePassword = useUpdatePassword({\n mutation: {\n onError: (error) => {\n const errorMsg = getMutationErrorMessage(error);\n if (errorMsg === \"Invalid credentials\") {\n setServerErrors({\n currentPassword:\n \"Your current password is incorrect. Please, try again.\",\n });\n }\n },\n },\n });\n const [disableSubmit, setDisableSubmit] = React.useState(true);\n const [serverErrors, setServerErrors] = React.useState<{\n currentPassword?: string;\n password?: string;\n confirmPassword?: string;\n }>({});\n\n const errorMessage = React.useMemo(() => {\n if (changePassword.error) {\n return getMutationErrorMessage(changePassword.error);\n }\n\n return null;\n }, [changePassword.error]);\n\n const handleSubmit = async (event: React.FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n\n const formData = new FormData(event.currentTarget);\n const currentPassword = formData.get(\"oldPassword\")?.toString() ?? \"\";\n const newPassword = formData.get(\"password\")?.toString() ?? \"\";\n\n changePassword.mutate({\n data: { currentPassword, newPassword },\n });\n };\n\n return (\n <>\n <Dialog.Title mb=\"5\">\n <Translation\n defaultMessage=\"Change Password\"\n id=\"kAYx7z\"\n description=\"Dialog title for changing password\"\n />\n </Dialog.Title>\n <VisuallyHidden>\n <Dialog.Description>\n <Translation\n defaultMessage=\"Change your account password\"\n id=\"R5rXuR\"\n description=\"Dialog description for changing password\"\n />\n </Dialog.Description>\n </VisuallyHidden>\n\n {errorMessage && errorMessage !== \"Invalid credentials\" ? (\n <Callout.Root color=\"red\" my=\"-2\">\n <Callout.Text>{errorMessage}</Callout.Text>\n </Callout.Root>\n ) : null}\n\n <Form.Root\n onSubmit={handleSubmit}\n onChange={(event) => {\n const formData = new FormData(event.currentTarget);\n const currentPassword = formData.get(\"oldPassword\")?.toString() ?? \"\";\n const newPassword = formData.get(\"password\")?.toString() ?? \"\";\n const confirmPassword =\n formData.get(\"confirmPassword\")?.toString() ?? \"\";\n\n setDisableSubmit(\n currentPassword === \"\" ||\n newPassword === \"\" ||\n confirmPassword === \"\",\n );\n setServerErrors({});\n }}\n onClearServerErrors={() => {\n setServerErrors({});\n }}\n >\n <Flex mt=\"5\" direction=\"column\" gap=\"4\">\n <Form.Field\n name=\"oldPassword\"\n asChild\n serverInvalid={!serverErrors.currentPassword}\n >\n <Flex direction=\"column\" gap=\"2\">\n <Form.Label asChild>\n <Label>\n <Translation\n defaultMessage=\"Enter your current password\"\n id=\"uqn8py\"\n description=\"Label for current password field\"\n />\n </Label>\n </Form.Label>\n\n <Form.Control asChild>\n <PasswordField\n autoFocus\n required\n disabled={\n changePassword.isPending || changePassword.isSuccess\n }\n autoComplete=\"current-password\"\n placeholder={translate({\n defaultMessage: \"Current password\",\n id: \"P2oB4G\",\n description: \"Placeholder for current password field\",\n })}\n />\n </Form.Control>\n\n <Form.Message match=\"valueMissing\" asChild>\n <Text size=\"2\" color=\"red\">\n <Translation\n defaultMessage=\"Please enter your current password\"\n id=\"QKO3st\"\n description=\"Error message when current password is missing\"\n />\n </Text>\n </Form.Message>\n\n {serverErrors.currentPassword && (\n <Form.Message asChild>\n <Text size=\"2\" color=\"red\">\n {serverErrors.currentPassword}\n </Text>\n </Form.Message>\n )}\n </Flex>\n </Form.Field>\n\n <Form.Field\n name=\"password\"\n asChild\n serverInvalid={!serverErrors.password}\n >\n <Flex direction=\"column\" gap=\"2\">\n <Form.Label asChild>\n <Label>\n <Translation\n defaultMessage=\"Enter your new password\"\n id=\"b/+TBS\"\n description=\"Label for new password field\"\n />\n </Label>\n </Form.Label>\n\n <Form.Control asChild>\n <PasswordField\n autoComplete=\"new-password\"\n placeholder={translate({\n defaultMessage: \"New password\",\n id: \"8d23GS\",\n description: \"Placeholder for new password field\",\n })}\n required\n disabled={\n changePassword.isPending || changePassword.isSuccess\n }\n />\n </Form.Control>\n\n <Form.Message match=\"valueMissing\" asChild>\n <Text size=\"2\" color=\"red\">\n <Translation\n defaultMessage=\"Please enter your new password\"\n id=\"L4yLAf\"\n description=\"Error message when new password is missing\"\n />\n </Text>\n </Form.Message>\n <Form.Message match={(value) => value.length < 8} asChild>\n <Text size=\"2\" color=\"red\">\n <Translation\n defaultMessage=\"Password must be at least 8 characters\"\n id=\"WRjyrh\"\n description=\"Error message when password is too short\"\n />\n </Text>\n </Form.Message>\n <Form.Message\n match={(value, formData) =>\n value === formData.get(\"oldPassword\")\n }\n asChild\n >\n <Text size=\"2\" color=\"red\">\n <Translation\n defaultMessage=\"You cannot reuse your current password\"\n id=\"mEkhOO\"\n description=\"Error message when user tries to reuse current password\"\n />\n </Text>\n </Form.Message>\n </Flex>\n </Form.Field>\n\n <Form.Field\n name=\"confirmPassword\"\n asChild\n serverInvalid={!serverErrors.confirmPassword}\n >\n <Flex direction=\"column\" gap=\"2\">\n <Form.Label asChild>\n <Label>\n <Translation\n defaultMessage=\"Confirm your new password\"\n id=\"K83lBn\"\n description=\"Label for password confirmation field\"\n />\n </Label>\n </Form.Label>\n\n <Form.Control asChild>\n <PasswordField\n autoComplete=\"new-password\"\n placeholder={translate({\n defaultMessage: \"Confirm new password\",\n id: \"cubpBN\",\n description: \"Placeholder for password confirmation field\",\n })}\n required\n disabled={\n changePassword.isPending || changePassword.isSuccess\n }\n />\n </Form.Control>\n <Form.Message match=\"valueMissing\" asChild>\n <Text size=\"2\" color=\"red\">\n <Translation\n defaultMessage=\"Please confirm your new password\"\n id=\"fXZhqG\"\n description=\"Error message when password confirmation is missing\"\n />\n </Text>\n </Form.Message>\n <Form.Message\n match={(value, formData) => value !== formData.get(\"password\")}\n asChild\n >\n <Text size=\"2\" color=\"red\">\n <Translation\n defaultMessage=\"The new passwords you entered don't match.\"\n id=\"Zdq2Hr\"\n description=\"Error message when passwords don't match\"\n />\n </Text>\n </Form.Message>\n </Flex>\n </Form.Field>\n </Flex>\n\n <Flex mt=\"5\" gap=\"3\" justify=\"end\">\n <Dialog.Close>\n <Button\n variant=\"secondary\"\n type=\"button\"\n disabled={changePassword.isPending || changePassword.isSuccess}\n >\n <Translation\n defaultMessage=\"Cancel\"\n id=\"hHNj31\"\n description=\"Cancel button text\"\n />\n </Button>\n </Dialog.Close>\n\n <SaveButton\n type=\"submit\"\n loading={changePassword.isPending}\n done={changePassword.isSuccess}\n onDone={onClose}\n disabled={disableSubmit || undefined}\n >\n <Translation\n defaultMessage=\"Change password\"\n id=\"8GDtZu\"\n description=\"Submit button text to change password\"\n />\n </SaveButton>\n </Flex>\n </Form.Root>\n\n {/* mirror errors in a live region */}\n <VisuallyHidden asChild>\n <section aria-live=\"polite\">{errorMessage}</section>\n </VisuallyHidden>\n </>\n );\n}\n\nfunction getMutationErrorMessage(error: unknown) {\n if (error instanceof Error) {\n return error.message;\n }\n\n if (\n typeof error === \"object\" &&\n error !== null &&\n \"message\" in error &&\n typeof error.message === \"string\"\n ) {\n return error.message;\n }\n\n return \"Something went wrong. Please try again.\";\n}\n\n// Note: Error messages in getMutationErrorMessage are kept as plain strings\n// since they come from the API and are displayed dynamically\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/change-password-dialog.tsx"],"sourcesContent":["\"use client\";\n\nimport { Callout, Flex, Text, VisuallyHidden } from \"@radix-ui/themes\";\nimport { Form } from \"radix-ui\";\nimport * as React from \"react\";\nimport { type ReactNode } from \"react\";\nimport { Button, Dialog, Label, PasswordField } from \"./elements.js\";\nimport { useUpdatePassword } from \"../api/endpoint.js\";\nimport { SaveButton } from \"./save-button.js\";\nimport { Translation } from \"./i18n/translation.js\";\nimport { useTranslation } from \"./i18n/use-translation.js\";\n\ninterface ChangePasswordDialogProps extends Dialog.RootProps {\n children?: ReactNode;\n}\n\nexport function ChangePasswordDialog({\n children,\n ...props\n}: ChangePasswordDialogProps) {\n const [open, setOpen] = React.useState(false);\n\n const handleClose = React.useCallback(() => {\n setOpen(false);\n }, []);\n\n return (\n <Dialog.Root\n {...props}\n open={props.open || open}\n onOpenChange={props.onOpenChange || setOpen}\n >\n <Dialog.Trigger>{children}</Dialog.Trigger>\n\n <Dialog.Content maxWidth=\"480px\">\n <Content onClose={handleClose} />\n </Dialog.Content>\n </Dialog.Root>\n );\n}\n\ninterface ContentProps {\n onClose: () => void;\n}\n\nfunction Content({ onClose }: ContentProps) {\n const translate = useTranslation();\n const changePassword = useUpdatePassword({\n mutation: {\n onError: (error) => {\n const errorMsg = getMutationErrorMessage(error);\n if (errorMsg === \"Invalid credentials\") {\n setServerErrors({\n currentPassword:\n \"Your current password is incorrect. Please, try again.\",\n });\n }\n },\n },\n });\n const [disableSubmit, setDisableSubmit] = React.useState(true);\n const [serverErrors, setServerErrors] = React.useState<{\n currentPassword?: string;\n password?: string;\n confirmPassword?: string;\n }>({});\n\n const errorMessage = React.useMemo(() => {\n if (changePassword.error) {\n return getMutationErrorMessage(changePassword.error);\n }\n\n return null;\n }, [changePassword.error]);\n\n const handleSubmit = async (event: React.FormEvent<HTMLFormElement>) => {\n event.preventDefault();\n\n const formData = new FormData(event.currentTarget);\n const currentPassword = formData.get(\"oldPassword\")?.toString() ?? \"\";\n const newPassword = formData.get(\"password\")?.toString() ?? \"\";\n\n changePassword.mutate({\n data: { currentPassword, newPassword },\n });\n };\n\n return (\n <>\n <Dialog.Title mb=\"5\">\n <Translation\n defaultMessage=\"Change Password\"\n id=\"kAYx7z\"\n description=\"Dialog title for changing password\"\n />\n </Dialog.Title>\n <VisuallyHidden>\n <Dialog.Description>\n <Translation\n defaultMessage=\"Change your account password\"\n id=\"R5rXuR\"\n description=\"Dialog description for changing password\"\n />\n </Dialog.Description>\n </VisuallyHidden>\n\n {errorMessage && errorMessage !== \"Invalid credentials\" ? (\n <Callout.Root color=\"red\" my=\"-2\">\n <Callout.Text>{errorMessage}</Callout.Text>\n </Callout.Root>\n ) : null}\n\n <Form.Root\n onSubmit={handleSubmit}\n onChange={(event) => {\n const formData = new FormData(event.currentTarget);\n const currentPassword = formData.get(\"oldPassword\")?.toString() ?? \"\";\n const newPassword = formData.get(\"password\")?.toString() ?? \"\";\n const confirmPassword =\n formData.get(\"confirmPassword\")?.toString() ?? \"\";\n\n setDisableSubmit(\n currentPassword === \"\" ||\n newPassword === \"\" ||\n confirmPassword === \"\",\n );\n setServerErrors({});\n }}\n onClearServerErrors={() => {\n setServerErrors({});\n }}\n >\n <Flex mt=\"5\" direction=\"column\" gap=\"4\">\n <Form.Field\n name=\"oldPassword\"\n asChild\n serverInvalid={!serverErrors.currentPassword}\n >\n <Flex direction=\"column\" gap=\"2\">\n <Form.Label asChild>\n <Label>\n <Translation\n defaultMessage=\"Enter your current password\"\n id=\"uqn8py\"\n description=\"Label for current password field\"\n />\n </Label>\n </Form.Label>\n\n <Form.Control asChild>\n <PasswordField\n autoFocus\n required\n disabled={\n changePassword.isPending || changePassword.isSuccess\n }\n autoComplete=\"current-password\"\n placeholder={translate({\n defaultMessage: \"Current password\",\n id: \"P2oB4G\",\n description: \"Placeholder for current password field\",\n })}\n />\n </Form.Control>\n\n <Form.Message match=\"valueMissing\" asChild>\n <Text size=\"2\" color=\"red\">\n <Translation\n defaultMessage=\"Please enter your current password\"\n id=\"QKO3st\"\n description=\"Error message when current password is missing\"\n />\n </Text>\n </Form.Message>\n\n {serverErrors.currentPassword && (\n <Form.Message asChild>\n <Text size=\"2\" color=\"red\">\n {serverErrors.currentPassword}\n </Text>\n </Form.Message>\n )}\n </Flex>\n </Form.Field>\n\n <Form.Field\n name=\"password\"\n asChild\n serverInvalid={!serverErrors.password}\n >\n <Flex direction=\"column\" gap=\"2\">\n <Form.Label asChild>\n <Label>\n <Translation\n defaultMessage=\"Enter your new password\"\n id=\"b/+TBS\"\n description=\"Label for new password field\"\n />\n </Label>\n </Form.Label>\n\n <Form.Control asChild>\n <PasswordField\n autoComplete=\"new-password\"\n placeholder={translate({\n defaultMessage: \"New password\",\n id: \"8d23GS\",\n description: \"Placeholder for new password field\",\n })}\n required\n disabled={\n changePassword.isPending || changePassword.isSuccess\n }\n />\n </Form.Control>\n\n <Form.Message match=\"valueMissing\" asChild>\n <Text size=\"2\" color=\"red\">\n <Translation\n defaultMessage=\"Please enter your new password\"\n id=\"L4yLAf\"\n description=\"Error message when new password is missing\"\n />\n </Text>\n </Form.Message>\n <Form.Message match={(value) => value.length < 8} asChild>\n <Text size=\"2\" color=\"red\">\n <Translation\n defaultMessage=\"Password must be at least 8 characters\"\n id=\"WRjyrh\"\n description=\"Error message when password is too short\"\n />\n </Text>\n </Form.Message>\n <Form.Message\n match={(value, formData) =>\n value === formData.get(\"oldPassword\")\n }\n asChild\n >\n <Text size=\"2\" color=\"red\">\n <Translation\n defaultMessage=\"You cannot reuse your current password\"\n id=\"mEkhOO\"\n description=\"Error message when user tries to reuse current password\"\n />\n </Text>\n </Form.Message>\n </Flex>\n </Form.Field>\n\n <Form.Field\n name=\"confirmPassword\"\n asChild\n serverInvalid={!serverErrors.confirmPassword}\n >\n <Flex direction=\"column\" gap=\"2\">\n <Form.Label asChild>\n <Label>\n <Translation\n defaultMessage=\"Confirm your new password\"\n id=\"K83lBn\"\n description=\"Label for password confirmation field\"\n />\n </Label>\n </Form.Label>\n\n <Form.Control asChild>\n <PasswordField\n autoComplete=\"new-password\"\n placeholder={translate({\n defaultMessage: \"Confirm new password\",\n id: \"cubpBN\",\n description: \"Placeholder for password confirmation field\",\n })}\n required\n disabled={\n changePassword.isPending || changePassword.isSuccess\n }\n />\n </Form.Control>\n <Form.Message match=\"valueMissing\" asChild>\n <Text size=\"2\" color=\"red\">\n <Translation\n defaultMessage=\"Please confirm your new password\"\n id=\"fXZhqG\"\n description=\"Error message when password confirmation is missing\"\n />\n </Text>\n </Form.Message>\n <Form.Message\n match={(value, formData) => value !== formData.get(\"password\")}\n asChild\n >\n <Text size=\"2\" color=\"red\">\n <Translation\n defaultMessage=\"The new passwords you entered don't match.\"\n id=\"Zdq2Hr\"\n description=\"Error message when passwords don't match\"\n />\n </Text>\n </Form.Message>\n </Flex>\n </Form.Field>\n </Flex>\n\n <Flex mt=\"5\" gap=\"3\" justify=\"end\">\n <Dialog.Close>\n <Button\n variant=\"secondary\"\n type=\"button\"\n disabled={changePassword.isPending || changePassword.isSuccess}\n >\n <Translation\n defaultMessage=\"Cancel\"\n id=\"hHNj31\"\n description=\"Cancel button text\"\n />\n </Button>\n </Dialog.Close>\n\n <SaveButton\n type=\"submit\"\n loading={changePassword.isPending}\n done={changePassword.isSuccess}\n onDone={onClose}\n disabled={disableSubmit || undefined}\n >\n <Translation\n defaultMessage=\"Change password\"\n id=\"8GDtZu\"\n description=\"Submit button text to change password\"\n />\n </SaveButton>\n </Flex>\n </Form.Root>\n\n {/* mirror errors in a live region */}\n <VisuallyHidden asChild>\n <section aria-live=\"polite\">{errorMessage}</section>\n </VisuallyHidden>\n </>\n );\n}\n\nfunction getMutationErrorMessage(error: unknown) {\n if (error instanceof Error) {\n return error.message;\n }\n\n if (\n typeof error === \"object\" &&\n error !== null &&\n \"message\" in error &&\n typeof error.message === \"string\"\n ) {\n return error.message;\n }\n\n return \"Something went wrong. Please try again.\";\n}\n\n// Note: Error messages in getMutationErrorMessage are kept as plain strings\n// since they come from the API and are displayed dynamically\n"],"mappings":"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","names":[]}
|
|
@@ -4,7 +4,7 @@ import { Callout, Flex, Text, VisuallyHidden } from "@radix-ui/themes";
|
|
|
4
4
|
import { getMeQueryKey, useUpdateMe } from "../api/endpoint.js";
|
|
5
5
|
import { useQueryClient } from "@tanstack/react-query";
|
|
6
6
|
import * as React from "react";
|
|
7
|
-
import
|
|
7
|
+
import { Form } from "radix-ui";
|
|
8
8
|
import { Dialog, Label, Button, TextField } from "./elements.js";
|
|
9
9
|
import { SaveButton } from "./save-button.js";
|
|
10
10
|
import { Translation } from "./i18n/translation.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/edit-user-profile-dialog.tsx"],"sourcesContent":["\"use client\";\n\nimport { Callout, Flex, Text, VisuallyHidden } from \"@radix-ui/themes\";\nimport { getMeQueryKey, Me, useUpdateMe } from \"../api/endpoint.js\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport * as React from \"react\";\nimport { type ReactNode } from \"react\";\nimport * as Form from \"@radix-ui/react-form\";\nimport { Dialog, Label, Button, TextField } from \"./elements.js\";\nimport { SaveButton } from \"./save-button.js\";\nimport { Translation } from \"./i18n/translation.js\";\nimport { useTranslation } from \"./i18n/use-translation.js\";\n\ninterface EditUserProfileDialogProps extends Dialog.RootProps {\n user: Me;\n children?: ReactNode;\n}\n\nexport function EditUserProfileDialog({\n children,\n user,\n ...props\n}: EditUserProfileDialogProps) {\n const [open, setOpen] = React.useState(false);\n\n const handleClose = React.useCallback(() => {\n setOpen(false);\n }, []);\n\n return (\n <Dialog.Root\n {...props}\n open={props.open ?? open}\n onOpenChange={props.onOpenChange ?? setOpen}\n >\n <Dialog.Trigger>{children}</Dialog.Trigger>\n\n <Dialog.Content maxWidth=\"480px\">\n <Content user={user} onClose={handleClose} />\n </Dialog.Content>\n </Dialog.Root>\n );\n}\n\ninterface ContentProps extends Pick<EditUserProfileDialogProps, \"user\"> {\n onClose: () => void;\n}\n\nfunction Content({ user, onClose }: ContentProps) {\n const translate = useTranslation();\n const client = useQueryClient();\n const updateMe = useUpdateMe({\n mutation: {\n onSettled: () => {\n client.invalidateQueries({ queryKey: getMeQueryKey() });\n },\n onSuccess: (newProfile) => {\n client.setQueryData(getMeQueryKey(), {\n ...user,\n firstName: newProfile.firstName || user.firstName,\n lastName: newProfile.lastName || user.lastName,\n });\n },\n },\n });\n\n return (\n <>\n <Dialog.Title mb=\"5\">\n <Translation\n defaultMessage=\"Edit name\"\n id=\"pcK9ly\"\n description=\"Dialog title for editing user name\"\n />\n </Dialog.Title>\n <VisuallyHidden>\n <Dialog.Description>\n <Translation\n defaultMessage=\"Edit the details of {email}\"\n id=\"SEsXx0\"\n description=\"Dialog description for editing user details\"\n values={{ email: <Text weight=\"bold\">{user.email}</Text> }}\n />\n </Dialog.Description>\n </VisuallyHidden>\n\n {updateMe.error ? (\n <Callout.Root color=\"red\" my=\"-2\">\n <Callout.Text>{getMutationErrorMessage(updateMe.error)}</Callout.Text>\n </Callout.Root>\n ) : null}\n\n <Form.Root\n onSubmit={async (event) => {\n event.preventDefault();\n const formData = new FormData(event.currentTarget);\n const firstName = formData.get(\"firstName\")?.toString();\n const lastName = formData.get(\"lastName\")?.toString();\n updateMe.mutate({\n data: {\n firstName: firstName ?? undefined,\n lastName: lastName ?? undefined,\n },\n });\n }}\n >\n <Flex my=\"5\" direction=\"column\" gap=\"4\">\n <Form.Field name=\"firstName\" asChild>\n <Flex direction=\"column\" gap=\"1\">\n <Form.Label asChild>\n <Label>\n <Translation\n defaultMessage=\"First name\"\n id=\"DAYdcg\"\n description=\"Label for first name field\"\n />\n </Label>\n </Form.Label>\n <Form.Control asChild>\n <TextField\n data-1p-ignore\n autoComplete=\"given-name\"\n defaultValue={user.firstName ?? \"\"}\n placeholder={translate({\n defaultMessage: \"Your first name\",\n id: \"gUTpgG\",\n description: \"Placeholder for first name field\",\n })}\n disabled={updateMe.isPending || updateMe.isSuccess}\n />\n </Form.Control>\n </Flex>\n </Form.Field>\n\n <Form.Field name=\"lastName\" asChild>\n <Flex direction=\"column\" gap=\"1\">\n <Form.Label asChild>\n <Label>\n <Translation\n defaultMessage=\"Last name\"\n id=\"IwcAMv\"\n description=\"Label for last name field\"\n />\n </Label>\n </Form.Label>\n <Form.Control asChild>\n <TextField\n data-1p-ignore\n autoComplete=\"family-name\"\n defaultValue={user.lastName ?? \"\"}\n placeholder={translate({\n defaultMessage: \"Your last name\",\n id: \"Gy8eW0\",\n description: \"Placeholder for last name field\",\n })}\n disabled={updateMe.isPending || updateMe.isSuccess}\n />\n </Form.Control>\n </Flex>\n </Form.Field>\n </Flex>\n\n <Flex mt=\"5\" gap=\"3\" justify=\"end\">\n <Dialog.Close>\n <Button\n variant=\"secondary\"\n disabled={updateMe.isPending || updateMe.isSuccess}\n >\n <Translation\n defaultMessage=\"Cancel\"\n id=\"hHNj31\"\n description=\"Cancel button text\"\n />\n </Button>\n </Dialog.Close>\n <SaveButton\n type=\"submit\"\n loading={updateMe.isPending}\n done={updateMe.isSuccess}\n onDone={onClose}\n >\n <Translation\n defaultMessage=\"Save\"\n id=\"RT8KNi\"\n description=\"Save button text\"\n />\n </SaveButton>\n </Flex>\n\n {/* mirror errors in a live region */}\n <VisuallyHidden asChild>\n <section aria-live=\"polite\">\n {getMutationErrorMessage(updateMe.error)}\n </section>\n </VisuallyHidden>\n </Form.Root>\n </>\n );\n}\n\nfunction getMutationErrorMessage(error: unknown) {\n if (error instanceof Error) {\n return error.message;\n }\n\n if (\n typeof error === \"object\" &&\n error !== null &&\n \"message\" in error &&\n typeof error.message === \"string\"\n ) {\n return error.message;\n }\n\n // TODO Handle server errors\n return \"Something went wrong. Please try again.\";\n}\n\n// Note: Error messages in getMutationErrorMessage are kept as plain strings\n// since they are displayed dynamically\n"],"mappings":"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","names":[]}
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/edit-user-profile-dialog.tsx"],"sourcesContent":["\"use client\";\n\nimport { Callout, Flex, Text, VisuallyHidden } from \"@radix-ui/themes\";\nimport { getMeQueryKey, Me, useUpdateMe } from \"../api/endpoint.js\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport * as React from \"react\";\nimport { type ReactNode } from \"react\";\nimport { Form } from \"radix-ui\";\nimport { Dialog, Label, Button, TextField } from \"./elements.js\";\nimport { SaveButton } from \"./save-button.js\";\nimport { Translation } from \"./i18n/translation.js\";\nimport { useTranslation } from \"./i18n/use-translation.js\";\n\ninterface EditUserProfileDialogProps extends Dialog.RootProps {\n user: Me;\n children?: ReactNode;\n}\n\nexport function EditUserProfileDialog({\n children,\n user,\n ...props\n}: EditUserProfileDialogProps) {\n const [open, setOpen] = React.useState(false);\n\n const handleClose = React.useCallback(() => {\n setOpen(false);\n }, []);\n\n return (\n <Dialog.Root\n {...props}\n open={props.open ?? open}\n onOpenChange={props.onOpenChange ?? setOpen}\n >\n <Dialog.Trigger>{children}</Dialog.Trigger>\n\n <Dialog.Content maxWidth=\"480px\">\n <Content user={user} onClose={handleClose} />\n </Dialog.Content>\n </Dialog.Root>\n );\n}\n\ninterface ContentProps extends Pick<EditUserProfileDialogProps, \"user\"> {\n onClose: () => void;\n}\n\nfunction Content({ user, onClose }: ContentProps) {\n const translate = useTranslation();\n const client = useQueryClient();\n const updateMe = useUpdateMe({\n mutation: {\n onSettled: () => {\n client.invalidateQueries({ queryKey: getMeQueryKey() });\n },\n onSuccess: (newProfile) => {\n client.setQueryData(getMeQueryKey(), {\n ...user,\n firstName: newProfile.firstName || user.firstName,\n lastName: newProfile.lastName || user.lastName,\n });\n },\n },\n });\n\n return (\n <>\n <Dialog.Title mb=\"5\">\n <Translation\n defaultMessage=\"Edit name\"\n id=\"pcK9ly\"\n description=\"Dialog title for editing user name\"\n />\n </Dialog.Title>\n <VisuallyHidden>\n <Dialog.Description>\n <Translation\n defaultMessage=\"Edit the details of {email}\"\n id=\"SEsXx0\"\n description=\"Dialog description for editing user details\"\n values={{ email: <Text weight=\"bold\">{user.email}</Text> }}\n />\n </Dialog.Description>\n </VisuallyHidden>\n\n {updateMe.error ? (\n <Callout.Root color=\"red\" my=\"-2\">\n <Callout.Text>{getMutationErrorMessage(updateMe.error)}</Callout.Text>\n </Callout.Root>\n ) : null}\n\n <Form.Root\n onSubmit={async (event) => {\n event.preventDefault();\n const formData = new FormData(event.currentTarget);\n const firstName = formData.get(\"firstName\")?.toString();\n const lastName = formData.get(\"lastName\")?.toString();\n updateMe.mutate({\n data: {\n firstName: firstName ?? undefined,\n lastName: lastName ?? undefined,\n },\n });\n }}\n >\n <Flex my=\"5\" direction=\"column\" gap=\"4\">\n <Form.Field name=\"firstName\" asChild>\n <Flex direction=\"column\" gap=\"1\">\n <Form.Label asChild>\n <Label>\n <Translation\n defaultMessage=\"First name\"\n id=\"DAYdcg\"\n description=\"Label for first name field\"\n />\n </Label>\n </Form.Label>\n <Form.Control asChild>\n <TextField\n data-1p-ignore\n autoComplete=\"given-name\"\n defaultValue={user.firstName ?? \"\"}\n placeholder={translate({\n defaultMessage: \"Your first name\",\n id: \"gUTpgG\",\n description: \"Placeholder for first name field\",\n })}\n disabled={updateMe.isPending || updateMe.isSuccess}\n />\n </Form.Control>\n </Flex>\n </Form.Field>\n\n <Form.Field name=\"lastName\" asChild>\n <Flex direction=\"column\" gap=\"1\">\n <Form.Label asChild>\n <Label>\n <Translation\n defaultMessage=\"Last name\"\n id=\"IwcAMv\"\n description=\"Label for last name field\"\n />\n </Label>\n </Form.Label>\n <Form.Control asChild>\n <TextField\n data-1p-ignore\n autoComplete=\"family-name\"\n defaultValue={user.lastName ?? \"\"}\n placeholder={translate({\n defaultMessage: \"Your last name\",\n id: \"Gy8eW0\",\n description: \"Placeholder for last name field\",\n })}\n disabled={updateMe.isPending || updateMe.isSuccess}\n />\n </Form.Control>\n </Flex>\n </Form.Field>\n </Flex>\n\n <Flex mt=\"5\" gap=\"3\" justify=\"end\">\n <Dialog.Close>\n <Button\n variant=\"secondary\"\n disabled={updateMe.isPending || updateMe.isSuccess}\n >\n <Translation\n defaultMessage=\"Cancel\"\n id=\"hHNj31\"\n description=\"Cancel button text\"\n />\n </Button>\n </Dialog.Close>\n <SaveButton\n type=\"submit\"\n loading={updateMe.isPending}\n done={updateMe.isSuccess}\n onDone={onClose}\n >\n <Translation\n defaultMessage=\"Save\"\n id=\"RT8KNi\"\n description=\"Save button text\"\n />\n </SaveButton>\n </Flex>\n\n {/* mirror errors in a live region */}\n <VisuallyHidden asChild>\n <section aria-live=\"polite\">\n {getMutationErrorMessage(updateMe.error)}\n </section>\n </VisuallyHidden>\n </Form.Root>\n </>\n );\n}\n\nfunction getMutationErrorMessage(error: unknown) {\n if (error instanceof Error) {\n return error.message;\n }\n\n if (\n typeof error === \"object\" &&\n error !== null &&\n \"message\" in error &&\n typeof error.message === \"string\"\n ) {\n return error.message;\n }\n\n // TODO Handle server errors\n return \"Something went wrong. Please try again.\";\n}\n\n// Note: Error messages in getMutationErrorMessage are kept as plain strings\n// since they are displayed dynamically\n"],"mappings":"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","names":[]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import { useComposedRefs } from "
|
|
3
|
-
import { useLayoutEffect } from "../use-layout-effect.js";
|
|
2
|
+
import { useComposedRefs, useLayoutEffect } from "radix-ui/internal";
|
|
4
3
|
function useDialogOverlayHack(forwardedRef, { className, selector }) {
|
|
5
4
|
const [node, setNode] = React.useState(null);
|
|
6
5
|
const ref = useComposedRefs(forwardedRef, setNode);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/elements/utils.ts"],"sourcesContent":["import * as React from \"react\";\nimport { useComposedRefs } from \"
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/elements/utils.ts"],"sourcesContent":["import * as React from \"react\";\nimport { useComposedRefs, useLayoutEffect } from \"radix-ui/internal\";\n\n/**\n * HACK: Radix themes does not expose the dialog overlay, but we want consumer\n * to be able to style it with a classname. This will add a classname to the\n * overlay when the dialog content is mounted.\n */\nexport function useDialogOverlayHack(\n forwardedRef: React.Ref<HTMLDivElement | null>,\n { className, selector }: { className: string; selector: string },\n): { ref: React.Ref<HTMLDivElement | null> } {\n const [node, setNode] = React.useState<HTMLDivElement | null>(null);\n const ref = useComposedRefs(forwardedRef, setNode as any);\n useLayoutEffect(() => {\n if (!node) {\n return;\n }\n const document = node.ownerDocument;\n const overlay = document.querySelector<HTMLDivElement>(selector);\n overlay?.classList.add(className);\n }, [node, className, selector]);\n\n return { ref };\n}\n"],"mappings":"AAAA,YAAY,WAAW;AACvB,SAAS,iBAAiB,uBAAuB;AAO1C,SAAS,qBACd,cACA,EAAE,WAAW,SAAS,GACqB;AAC3C,QAAM,CAAC,MAAM,OAAO,IAAI,MAAM,SAAgC,IAAI;AAClE,QAAM,MAAM,gBAAgB,cAAc,OAAc;AACxD,kBAAgB,MAAM;AACpB,QAAI,CAAC,MAAM;AACT;AAAA,IACF;AACA,UAAM,WAAW,KAAK;AACtB,UAAM,UAAU,SAAS,cAA8B,QAAQ;AAC/D,aAAS,UAAU,IAAI,SAAS;AAAA,EAClC,GAAG,CAAC,MAAM,WAAW,QAAQ,CAAC;AAE9B,SAAO,EAAE,IAAI;AACf;","names":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
2
|
+
import { Form } from "radix-ui";
|
|
3
3
|
import { Callout, Flex, Text } from "@radix-ui/themes";
|
|
4
4
|
import { useMe, useSendVerification, useVerify } from "../api/endpoint.js";
|
|
5
5
|
import { useElevatedAccessToken } from "../api/api-provider.js";
|