@ovok/native 1.10.1 → 1.10.3
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/README.md +5 -5
- package/lib/commonjs/index.js +13 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/modules/auth/default-translation.js +5 -0
- package/lib/commonjs/modules/auth/default-translation.js.map +1 -1
- package/lib/commonjs/modules/auth/delete-account-button/components/delete-account-button.js +17 -2
- package/lib/commonjs/modules/auth/delete-account-button/components/delete-account-button.js.map +1 -1
- package/lib/commonjs/modules/auth/hooks/use-auth-action.js +12 -5
- package/lib/commonjs/modules/auth/hooks/use-auth-action.js.map +1 -1
- package/lib/commonjs/modules/auth/hooks/use-session.js +1 -1
- package/lib/commonjs/modules/auth/hooks/use-session.js.map +1 -1
- package/lib/commonjs/modules/auth/hooks/use-sign-in.js +4 -4
- package/lib/commonjs/modules/auth/hooks/use-sign-in.js.map +1 -1
- package/lib/commonjs/modules/auth/hooks/use-social-sign-in.js +2 -10
- package/lib/commonjs/modules/auth/hooks/use-social-sign-in.js.map +1 -1
- package/lib/commonjs/modules/auth/index.js +11 -0
- package/lib/commonjs/modules/auth/index.js.map +1 -1
- package/lib/commonjs/modules/auth/profile/components/form-phone-country-picker.js +97 -0
- package/lib/commonjs/modules/auth/profile/components/form-phone-country-picker.js.map +1 -0
- package/lib/commonjs/modules/auth/profile/components/form-phone-field.js +17 -57
- package/lib/commonjs/modules/auth/profile/components/form-phone-field.js.map +1 -1
- package/lib/commonjs/modules/auth/profile/components/profile-form-choice-field.js +4 -0
- package/lib/commonjs/modules/auth/profile/components/profile-form-choice-field.js.map +1 -1
- package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js +4 -7
- package/lib/commonjs/modules/auth/profile/components/profile-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/profile/utils/phone-countries.js +55 -0
- package/lib/commonjs/modules/auth/profile/utils/phone-countries.js.map +1 -0
- package/lib/commonjs/modules/auth/register/components/form/inputs.js +6 -1
- package/lib/commonjs/modules/auth/register/components/form/inputs.js.map +1 -1
- package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js +12 -12
- package/lib/commonjs/modules/auth/register/components/form/register-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js +10 -9
- package/lib/commonjs/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
- package/lib/commonjs/modules/auth/session/logout-session.js +5 -2
- package/lib/commonjs/modules/auth/session/logout-session.js.map +1 -1
- package/lib/commonjs/modules/auth/session/session-errors.js +21 -0
- package/lib/commonjs/modules/auth/session/session-errors.js.map +1 -0
- package/lib/commonjs/modules/auth/session/session-store-types.js +17 -0
- package/lib/commonjs/modules/auth/session/session-store-types.js.map +1 -0
- package/lib/commonjs/modules/auth/session/session-store.js +77 -32
- package/lib/commonjs/modules/auth/session/session-store.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js +5 -10
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js +4 -9
- package/lib/commonjs/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
- package/lib/commonjs/modules/auth/utils/sign-in-error.js +10 -6
- package/lib/commonjs/modules/auth/utils/sign-in-error.js.map +1 -1
- package/lib/commonjs/modules/auth/utils/sign-out-google.js +10 -3
- package/lib/commonjs/modules/auth/utils/sign-out-google.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js +35 -6
- package/lib/commonjs/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/bt-provider.js +12 -4
- package/lib/commonjs/modules/bt-management/components/bt-provider.js.map +1 -1
- package/lib/commonjs/modules/bt-management/components/default-permission-fallback.js +43 -3
- package/lib/commonjs/modules/bt-management/components/default-permission-fallback.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/declined-device-storage.js +79 -0
- package/lib/commonjs/modules/bt-management/hooks/declined-device-storage.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-state.js +25 -0
- package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-state.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-types.js +6 -0
- package/lib/commonjs/modules/bt-management/hooks/nearby-device-offer-types.js.map +1 -0
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js +12 -2
- package/lib/commonjs/modules/bt-management/hooks/runtime-context.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-permission.js +7 -0
- package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-permission.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-state.js +11 -2
- package/lib/commonjs/modules/bt-management/hooks/use-bluetooth-state.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-nearby-device-offer.js +28 -46
- package/lib/commonjs/modules/bt-management/hooks/use-nearby-device-offer.js.map +1 -1
- package/lib/commonjs/modules/bt-management/hooks/use-request-permissions.js +3 -1
- package/lib/commonjs/modules/bt-management/hooks/use-request-permissions.js.map +1 -1
- package/lib/commonjs/modules/bt-management/index.js +12 -0
- package/lib/commonjs/modules/bt-management/index.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js +11 -0
- package/lib/commonjs/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js +5 -2
- package/lib/commonjs/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/commonjs/modules/bt-management/types/bluetooth-error.js +2 -1
- package/lib/commonjs/modules/bt-management/types/bluetooth-error.js.map +1 -1
- package/lib/commonjs/modules/bt-management/types/bluetooth-permission-status.js +2 -0
- package/lib/commonjs/modules/bt-management/types/bluetooth-permission-status.js.map +1 -0
- package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js +33 -19
- package/lib/commonjs/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/health-data-catalog.js +51 -11
- package/lib/commonjs/modules/data-sync/utils/health-data-catalog.js.map +1 -1
- package/lib/commonjs/modules/data-sync/utils/health-units.js +1 -0
- package/lib/commonjs/modules/data-sync/utils/health-units.js.map +1 -1
- package/lib/commonjs/modules/progress-ring/components/progress-ring.js +94 -0
- package/lib/commonjs/modules/progress-ring/components/progress-ring.js.map +1 -0
- package/lib/commonjs/modules/progress-ring/index.js +28 -0
- package/lib/commonjs/modules/progress-ring/index.js.map +1 -0
- package/lib/commonjs/modules/progress-ring/types/progress-ring-props.js +6 -0
- package/lib/commonjs/modules/progress-ring/types/progress-ring-props.js.map +1 -0
- package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js +45 -20
- package/lib/commonjs/modules/ui/components/bluetooth-state-notice.js.map +1 -1
- package/lib/commonjs/modules/ui/components/flow-frame.js +163 -0
- package/lib/commonjs/modules/ui/components/flow-frame.js.map +1 -0
- package/lib/commonjs/modules/ui/default-translation.js +50 -0
- package/lib/commonjs/modules/ui/default-translation.js.map +1 -0
- package/lib/commonjs/modules/ui/index.js +11 -0
- package/lib/commonjs/modules/ui/index.js.map +1 -1
- package/lib/commonjs/polyfills/index.js +12 -0
- package/lib/commonjs/polyfills/index.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/auth/default-translation.js +5 -0
- package/lib/module/modules/auth/default-translation.js.map +1 -1
- package/lib/module/modules/auth/delete-account-button/components/delete-account-button.js +17 -2
- package/lib/module/modules/auth/delete-account-button/components/delete-account-button.js.map +1 -1
- package/lib/module/modules/auth/hooks/use-auth-action.js +12 -5
- package/lib/module/modules/auth/hooks/use-auth-action.js.map +1 -1
- package/lib/module/modules/auth/hooks/use-session.js +1 -1
- package/lib/module/modules/auth/hooks/use-session.js.map +1 -1
- package/lib/module/modules/auth/hooks/use-sign-in.js +4 -4
- package/lib/module/modules/auth/hooks/use-sign-in.js.map +1 -1
- package/lib/module/modules/auth/hooks/use-social-sign-in.js +2 -10
- package/lib/module/modules/auth/hooks/use-social-sign-in.js.map +1 -1
- package/lib/module/modules/auth/index.js +1 -0
- package/lib/module/modules/auth/index.js.map +1 -1
- package/lib/module/modules/auth/profile/components/form-phone-country-picker.js +92 -0
- package/lib/module/modules/auth/profile/components/form-phone-country-picker.js.map +1 -0
- package/lib/module/modules/auth/profile/components/form-phone-field.js +10 -55
- package/lib/module/modules/auth/profile/components/form-phone-field.js.map +1 -1
- package/lib/module/modules/auth/profile/components/profile-form-choice-field.js +5 -1
- package/lib/module/modules/auth/profile/components/profile-form-choice-field.js.map +1 -1
- package/lib/module/modules/auth/profile/components/profile-form-provider.js +4 -7
- package/lib/module/modules/auth/profile/components/profile-form-provider.js.map +1 -1
- package/lib/module/modules/auth/profile/utils/phone-countries.js +49 -0
- package/lib/module/modules/auth/profile/utils/phone-countries.js.map +1 -0
- package/lib/module/modules/auth/register/components/form/inputs.js +6 -1
- package/lib/module/modules/auth/register/components/form/inputs.js.map +1 -1
- package/lib/module/modules/auth/register/components/form/register-form-provider.js +12 -12
- package/lib/module/modules/auth/register/components/form/register-form-provider.js.map +1 -1
- package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js +9 -9
- package/lib/module/modules/auth/reset-password/components/form/reset-password-form-provider.js.map +1 -1
- package/lib/module/modules/auth/session/logout-session.js +5 -2
- package/lib/module/modules/auth/session/logout-session.js.map +1 -1
- package/lib/module/modules/auth/session/session-errors.js +16 -0
- package/lib/module/modules/auth/session/session-errors.js.map +1 -0
- package/lib/module/modules/auth/session/session-store-types.js +13 -0
- package/lib/module/modules/auth/session/session-store-types.js.map +1 -0
- package/lib/module/modules/auth/session/session-store.js +76 -31
- package/lib/module/modules/auth/session/session-store.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js +5 -10
- package/lib/module/modules/auth/sign-in/components/social-logins/apple-login-button.js.map +1 -1
- package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js +4 -9
- package/lib/module/modules/auth/sign-in/components/social-logins/google-login-button.js.map +1 -1
- package/lib/module/modules/auth/utils/sign-in-error.js +9 -6
- package/lib/module/modules/auth/utils/sign-in-error.js.map +1 -1
- package/lib/module/modules/auth/utils/sign-out-google.js +10 -3
- package/lib/module/modules/auth/utils/sign-out-google.js.map +1 -1
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js +36 -7
- package/lib/module/modules/bt-management/components/bt-provider-child-wrapper.js.map +1 -1
- package/lib/module/modules/bt-management/components/bt-provider.js +12 -4
- package/lib/module/modules/bt-management/components/bt-provider.js.map +1 -1
- package/lib/module/modules/bt-management/components/default-permission-fallback.js +43 -4
- package/lib/module/modules/bt-management/components/default-permission-fallback.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/declined-device-storage.js +71 -0
- package/lib/module/modules/bt-management/hooks/declined-device-storage.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/nearby-device-offer-state.js +20 -0
- package/lib/module/modules/bt-management/hooks/nearby-device-offer-state.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/nearby-device-offer-types.js +4 -0
- package/lib/module/modules/bt-management/hooks/nearby-device-offer-types.js.map +1 -0
- package/lib/module/modules/bt-management/hooks/runtime-context.js +12 -2
- package/lib/module/modules/bt-management/hooks/runtime-context.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-bluetooth-permission.js +2 -1
- package/lib/module/modules/bt-management/hooks/use-bluetooth-permission.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-bluetooth-state.js +11 -2
- package/lib/module/modules/bt-management/hooks/use-bluetooth-state.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-nearby-device-offer.js +26 -44
- package/lib/module/modules/bt-management/hooks/use-nearby-device-offer.js.map +1 -1
- package/lib/module/modules/bt-management/hooks/use-request-permissions.js +3 -1
- package/lib/module/modules/bt-management/hooks/use-request-permissions.js.map +1 -1
- package/lib/module/modules/bt-management/index.js +1 -0
- package/lib/module/modules/bt-management/index.js.map +1 -1
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js +11 -0
- package/lib/module/modules/bt-management/services/background-sync/background-sync-coordinator.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/bt-managed-device.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js +5 -2
- package/lib/module/modules/bt-management/services/devices/custom/custom.device.js.map +1 -1
- package/lib/module/modules/bt-management/types/bluetooth-error.js +2 -1
- package/lib/module/modules/bt-management/types/bluetooth-error.js.map +1 -1
- package/lib/module/modules/bt-management/types/bluetooth-permission-status.js +2 -0
- package/lib/module/modules/bt-management/types/bluetooth-permission-status.js.map +1 -0
- package/lib/module/modules/data-sync/utils/convert-generic-health-data.js +33 -19
- package/lib/module/modules/data-sync/utils/convert-generic-health-data.js.map +1 -1
- package/lib/module/modules/data-sync/utils/health-data-catalog.js +51 -11
- package/lib/module/modules/data-sync/utils/health-data-catalog.js.map +1 -1
- package/lib/module/modules/data-sync/utils/health-units.js +1 -0
- package/lib/module/modules/data-sync/utils/health-units.js.map +1 -1
- package/lib/module/modules/progress-ring/components/progress-ring.js +88 -0
- package/lib/module/modules/progress-ring/components/progress-ring.js.map +1 -0
- package/lib/module/modules/progress-ring/index.js +5 -0
- package/lib/module/modules/progress-ring/index.js.map +1 -0
- package/lib/module/modules/progress-ring/types/progress-ring-props.js +4 -0
- package/lib/module/modules/progress-ring/types/progress-ring-props.js.map +1 -0
- package/lib/module/modules/ui/components/bluetooth-state-notice.js +45 -20
- package/lib/module/modules/ui/components/bluetooth-state-notice.js.map +1 -1
- package/lib/module/modules/ui/components/flow-frame.js +157 -0
- package/lib/module/modules/ui/components/flow-frame.js.map +1 -0
- package/lib/module/modules/ui/default-translation.js +45 -0
- package/lib/module/modules/ui/default-translation.js.map +1 -0
- package/lib/module/modules/ui/index.js +1 -0
- package/lib/module/modules/ui/index.js.map +1 -1
- package/lib/module/polyfills/index.js +1 -1
- package/lib/module/polyfills/index.js.map +1 -1
- package/lib/typescript/commonjs/src/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts +5 -0
- package/lib/typescript/commonjs/src/modules/auth/default-translation.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/delete-account-button/components/delete-account-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-auth-action.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/hooks/use-social-sign-in.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/index.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/auth/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/components/form-phone-country-picker.d.ts +14 -0
- package/lib/typescript/commonjs/src/modules/auth/profile/components/form-phone-country-picker.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/profile/components/form-phone-field.d.ts +1 -6
- package/lib/typescript/commonjs/src/modules/auth/profile/components/form-phone-field.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/components/profile-form-choice-field.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/types/profile-form-field.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/auth/profile/types/profile-form-field.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/types/profile-form-props.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/types/profile-form-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/profile/utils/phone-countries.d.ts +10 -0
- package/lib/typescript/commonjs/src/modules/auth/profile/utils/phone-countries.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/session/logout-session.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/session/session-errors.d.ts +4 -0
- package/lib/typescript/commonjs/src/modules/auth/session/session-errors.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/session/session-store-types.d.ts +27 -0
- package/lib/typescript/commonjs/src/modules/auth/session/session-store-types.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/auth/session/session-store.d.ts +1 -18
- package/lib/typescript/commonjs/src/modules/auth/session/session-store.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/types/session.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/auth/types/session.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/utils/sign-in-error.d.ts +3 -1
- package/lib/typescript/commonjs/src/modules/auth/utils/sign-in-error.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/auth/utils/sign-out-google.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/bt-provider.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/components/default-permission-fallback.d.ts +3 -3
- package/lib/typescript/commonjs/src/modules/bt-management/components/default-permission-fallback.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/declined-device-storage.d.ts +14 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/declined-device-storage.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts +6 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts +15 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-permission.d.ts +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-permission.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-state.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-bluetooth-state.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts +7 -14
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-request-permissions.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/hooks/use-request-permissions.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.d.ts +2 -2
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts +7 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-permission-status.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/bluetooth-permission-status.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-props.d.ts +9 -2
- package/lib/typescript/commonjs/src/modules/bt-management/types/btprovider-props.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-measurement.d.ts +5 -7
- package/lib/typescript/commonjs/src/modules/bt-management/types/custom-measurement.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts +2 -2
- package/lib/typescript/commonjs/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts +7 -2
- package/lib/typescript/commonjs/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-data-catalog.d.ts +2 -0
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-data-catalog.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/data-sync/utils/health-units.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/progress-ring/components/progress-ring.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/progress-ring/components/progress-ring.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/progress-ring/index.d.ts +3 -0
- package/lib/typescript/commonjs/src/modules/progress-ring/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/progress-ring/types/progress-ring-props.d.ts +12 -0
- package/lib/typescript/commonjs/src/modules/progress-ring/types/progress-ring-props.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts +8 -5
- package/lib/typescript/commonjs/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/modules/ui/components/flow-frame.d.ts +23 -0
- package/lib/typescript/commonjs/src/modules/ui/components/flow-frame.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/default-translation.d.ts +30 -0
- package/lib/typescript/commonjs/src/modules/ui/default-translation.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/modules/ui/index.d.ts +1 -0
- package/lib/typescript/commonjs/src/modules/ui/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/polyfills/index.d.ts +1 -1
- package/lib/typescript/commonjs/src/polyfills/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/type-tests/result-callback.d.ts +9 -0
- package/lib/typescript/commonjs/type-tests/result-callback.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +1 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/default-translation.d.ts +5 -0
- package/lib/typescript/module/src/modules/auth/default-translation.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/delete-account-button/components/delete-account-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/hooks/use-auth-action.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/hooks/use-social-sign-in.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/index.d.ts +1 -1
- package/lib/typescript/module/src/modules/auth/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/profile/components/form-phone-country-picker.d.ts +14 -0
- package/lib/typescript/module/src/modules/auth/profile/components/form-phone-country-picker.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/profile/components/form-phone-field.d.ts +1 -6
- package/lib/typescript/module/src/modules/auth/profile/components/form-phone-field.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/profile/components/profile-form-choice-field.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/profile/components/profile-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/profile/types/profile-form-field.d.ts +4 -0
- package/lib/typescript/module/src/modules/auth/profile/types/profile-form-field.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/profile/types/profile-form-props.d.ts +1 -1
- package/lib/typescript/module/src/modules/auth/profile/types/profile-form-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/profile/utils/phone-countries.d.ts +10 -0
- package/lib/typescript/module/src/modules/auth/profile/utils/phone-countries.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/register/components/form/inputs.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/register/components/form/register-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/reset-password/components/form/reset-password-form-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/session/logout-session.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/session/session-errors.d.ts +4 -0
- package/lib/typescript/module/src/modules/auth/session/session-errors.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/session/session-store-types.d.ts +27 -0
- package/lib/typescript/module/src/modules/auth/session/session-store-types.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/auth/session/session-store.d.ts +1 -18
- package/lib/typescript/module/src/modules/auth/session/session-store.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/apple-login-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/sign-in/components/social-logins/google-login-button.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/types/session.d.ts +1 -1
- package/lib/typescript/module/src/modules/auth/types/session.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/utils/sign-in-error.d.ts +3 -1
- package/lib/typescript/module/src/modules/auth/utils/sign-in-error.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/auth/utils/sign-out-google.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider-child-wrapper.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/bt-provider.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/components/default-permission-fallback.d.ts +3 -3
- package/lib/typescript/module/src/modules/bt-management/components/default-permission-fallback.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/declined-device-storage.d.ts +14 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/declined-device-storage.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts +6 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-state.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts +15 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/nearby-device-offer-types.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/runtime-context.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-permission.d.ts +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-permission.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-state.d.ts +3 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-bluetooth-state.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts +7 -14
- package/lib/typescript/module/src/modules/bt-management/hooks/use-nearby-device-offer.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/hooks/use-request-permissions.d.ts +1 -0
- package/lib/typescript/module/src/modules/bt-management/hooks/use-request-permissions.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/index.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/index.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/background-sync/background-sync-coordinator.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/bt-managed-device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/custom/custom.device.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/veroval/veroval.duo-control-device.d.ts +2 -2
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts +7 -0
- package/lib/typescript/module/src/modules/bt-management/types/background-sync.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/bluetooth-error.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/bluetooth-permission-status.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/bluetooth-permission-status.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts +2 -0
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-children-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-props.d.ts +9 -2
- package/lib/typescript/module/src/modules/bt-management/types/btprovider-props.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/custom-measurement.d.ts +5 -7
- package/lib/typescript/module/src/modules/bt-management/types/custom-measurement.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts +2 -2
- package/lib/typescript/module/src/modules/bt-management/types/device-measurement-map.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts +7 -2
- package/lib/typescript/module/src/modules/bt-management/types/result-callback.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/convert-generic-health-data.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/health-data-catalog.d.ts +2 -0
- package/lib/typescript/module/src/modules/data-sync/utils/health-data-catalog.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/data-sync/utils/health-units.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/progress-ring/components/progress-ring.d.ts +3 -0
- package/lib/typescript/module/src/modules/progress-ring/components/progress-ring.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/progress-ring/index.d.ts +3 -0
- package/lib/typescript/module/src/modules/progress-ring/index.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/progress-ring/types/progress-ring-props.d.ts +12 -0
- package/lib/typescript/module/src/modules/progress-ring/types/progress-ring-props.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts +8 -5
- package/lib/typescript/module/src/modules/ui/components/bluetooth-state-notice.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/ui/components/flow-frame.d.ts +23 -0
- package/lib/typescript/module/src/modules/ui/components/flow-frame.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/default-translation.d.ts +30 -0
- package/lib/typescript/module/src/modules/ui/default-translation.d.ts.map +1 -0
- package/lib/typescript/module/src/modules/ui/index.d.ts +1 -0
- package/lib/typescript/module/src/modules/ui/index.d.ts.map +1 -1
- package/lib/typescript/module/src/polyfills/index.d.ts +1 -1
- package/lib/typescript/module/src/polyfills/index.d.ts.map +1 -1
- package/lib/typescript/module/type-tests/result-callback.d.ts +9 -0
- package/lib/typescript/module/type-tests/result-callback.d.ts.map +1 -0
- package/package.json +6 -7
|
@@ -6,6 +6,7 @@ import React from "react";
|
|
|
6
6
|
import { StyleSheet, TouchableOpacity } from "react-native";
|
|
7
7
|
import { useAppTheme } from "../../../../theme/index.js";
|
|
8
8
|
import { notifySessionChanged } from "../../../session/events.js";
|
|
9
|
+
import { parseSignInError } from "../../../utils/sign-in-error.js";
|
|
9
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
11
|
export const AppleLoginButton = ({
|
|
11
12
|
testID,
|
|
@@ -40,14 +41,8 @@ export const AppleLoginButton = ({
|
|
|
40
41
|
const data = {
|
|
41
42
|
accessToken: loginResponse.accessToken,
|
|
42
43
|
refreshToken: loginResponse.refreshToken,
|
|
43
|
-
profile:
|
|
44
|
-
|
|
45
|
-
display: loginResponse.profile.display
|
|
46
|
-
},
|
|
47
|
-
project: {
|
|
48
|
-
reference: typeof loginResponse.project.reference === "string" ? loginResponse.project.reference : loginResponse.project.reference.reference,
|
|
49
|
-
display: loginResponse.project.display
|
|
50
|
-
}
|
|
44
|
+
profile: loginResponse.profile,
|
|
45
|
+
project: loginResponse.project
|
|
51
46
|
};
|
|
52
47
|
await client.setActiveLogin(data);
|
|
53
48
|
notifySessionChanged();
|
|
@@ -55,14 +50,14 @@ export const AppleLoginButton = ({
|
|
|
55
50
|
} catch (cause) {
|
|
56
51
|
const error = cause;
|
|
57
52
|
if (error.code !== "ERR_REQUEST_CANCELED" && error.code !== "ERR_REQUEST_UNKNOWN") {
|
|
58
|
-
onError?.(error);
|
|
53
|
+
onError?.(parseSignInError(error).error);
|
|
59
54
|
}
|
|
60
55
|
} finally {
|
|
61
56
|
setIsLoading(false);
|
|
62
57
|
}
|
|
63
58
|
}, [client, internalId, onError, onSuccess]);
|
|
64
59
|
React.useEffect(() => {
|
|
65
|
-
AppleAuthentication.isAvailableAsync().then(setIsAppleLoginAvailable).catch(onError);
|
|
60
|
+
AppleAuthentication.isAvailableAsync().then(setIsAppleLoginAvailable).catch(error => onError?.(parseSignInError(error).error));
|
|
66
61
|
}, [onError]);
|
|
67
62
|
if (!isAppleLoginAvailable) {
|
|
68
63
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useClient","AppleAuthentication","React","StyleSheet","TouchableOpacity","useAppTheme","notifySessionChanged","jsx","_jsx","AppleLoginButton","testID","internalId","onSuccess","onError","style","disabled","children","props","client","theme","isAppleLoginAvailable","setIsAppleLoginAvailable","useState","isLoading","setIsLoading","handleAppleLogin","useCallback","credentials","signInAsync","requestedScopes","AppleAuthenticationScope","FULL_NAME","EMAIL","identityToken","authorizationCode","Error","loginResponse","appleLogin","email","data","accessToken","refreshToken","profile","
|
|
1
|
+
{"version":3,"names":["useClient","AppleAuthentication","React","StyleSheet","TouchableOpacity","useAppTheme","notifySessionChanged","parseSignInError","jsx","_jsx","AppleLoginButton","testID","internalId","onSuccess","onError","style","disabled","children","props","client","theme","isAppleLoginAvailable","setIsAppleLoginAvailable","useState","isLoading","setIsLoading","handleAppleLogin","useCallback","credentials","signInAsync","requestedScopes","AppleAuthenticationScope","FULL_NAME","EMAIL","identityToken","authorizationCode","Error","loginResponse","appleLogin","email","data","accessToken","refreshToken","profile","project","setActiveLogin","cause","error","code","useEffect","isAvailableAsync","then","catch","styles","container","gap","spacing","paddingVertical","backgroundColor","borderColor","dark","colors","gray","onPress","create","flexDirection","alignItems","justifyContent","flexGrow","borderWidth","hairlineWidth","borderRadius","opacity"],"sourceRoot":"../../../../../../../src","sources":["modules/auth/sign-in/components/social-logins/apple-login-button.tsx"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,YAAY;AACtC,OAAO,KAAKC,mBAAmB,MAAM,2BAA2B;AAChE,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,gBAAgB,QAAQ,cAAc;AAE3D,SAASC,WAAW,QAAQ,4BAAmB;AAC/C,SAASC,oBAAoB,QAAQ,4BAAyB;AAC9D,SAASC,gBAAgB,QAAQ,iCAA8B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGhE,OAAO,MAAMC,gBAAgB,GAAGA,CAAC;EAC/BC,MAAM;EACNC,UAAU;EACVC,SAAS;EACTC,OAAO;EACPC,KAAK;EACLC,QAAQ;EACRC,QAAQ;EACR,GAAGC;AACqC,CAAC,KAAK;EAC9C,MAAMC,MAAM,GAAGnB,SAAS,CAAC,CAAC;EAC1B,MAAMoB,KAAK,GAAGf,WAAW,CAAC,CAAC;EAE3B,MAAM,CAACgB,qBAAqB,EAAEC,wBAAwB,CAAC,GACrDpB,KAAK,CAACqB,QAAQ,CAAC,KAAK,CAAC;EAEvB,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGvB,KAAK,CAACqB,QAAQ,CAAC,KAAK,CAAC;EAEvD,MAAMG,gBAAgB,GAAGxB,KAAK,CAACyB,WAAW,CAAC,YAAY;IACrD,IAAI;MACFF,YAAY,CAAC,IAAI,CAAC;MAClB,MAAMG,WAAW,GAAG,MAAM3B,mBAAmB,CAAC4B,WAAW,CAAC;QACxDC,eAAe,EAAE,CACf7B,mBAAmB,CAAC8B,wBAAwB,CAACC,SAAS,EACtD/B,mBAAmB,CAAC8B,wBAAwB,CAACE,KAAK;MAEtD,CAAC,CAAC;MAEF,IACEL,WAAW,CAACM,aAAa,IAAI,IAAI,IACjCN,WAAW,CAACO,iBAAiB,IAAI,IAAI,EACrC;QACA,MAAM,IAAIC,KAAK,CAAC,8BAA8B,CAAC;MACjD;MAEA,MAAMC,aAAa,GAAG,MAAMlB,MAAM,CAACmB,UAAU,CAAC;QAC5C,GAAGV,WAAW;QACdM,aAAa,EAAEN,WAAW,CAACM,aAAa;QACxCC,iBAAiB,EAAEP,WAAW,CAACO,iBAAiB;QAChDI,KAAK,EAAEX,WAAW,CAACW,KAAK,IAAI,EAAE;QAC9B3B;MACF,CAAC,CAAC;MAEF,MAAM4B,IAAI,GAAG;QACXC,WAAW,EAAEJ,aAAa,CAACI,WAAW;QACtCC,YAAY,EAAEL,aAAa,CAACK,YAAY;QACxCC,OAAO,EAAEN,aAAa,CAACM,OAAO;QAC9BC,OAAO,EAAEP,aAAa,CAACO;MACzB,CAAC;MAED,MAAMzB,MAAM,CAAC0B,cAAc,CAACL,IAAI,CAAC;MACjClC,oBAAoB,CAAC,CAAC;MACtBO,SAAS,GAAGwB,aAAa,CAAC;IAC5B,CAAC,CAAC,OAAOS,KAAK,EAAE;MACd,MAAMC,KAAK,GAAGD,KAAkC;MAEhD,IACEC,KAAK,CAACC,IAAI,KAAK,sBAAsB,IACrCD,KAAK,CAACC,IAAI,KAAK,qBAAqB,EACpC;QACAlC,OAAO,GAAGP,gBAAgB,CAACwC,KAAK,CAAC,CAACA,KAAK,CAAC;MAC1C;IACF,CAAC,SAAS;MACRtB,YAAY,CAAC,KAAK,CAAC;IACrB;EACF,CAAC,EAAE,CAACN,MAAM,EAAEP,UAAU,EAAEE,OAAO,EAAED,SAAS,CAAC,CAAC;EAE5CX,KAAK,CAAC+C,SAAS,CAAC,MAAM;IACpBhD,mBAAmB,CAACiD,gBAAgB,CAAC,CAAC,CACnCC,IAAI,CAAC7B,wBAAwB,CAAC,CAC9B8B,KAAK,CAAEL,KAAc,IAAKjC,OAAO,GAAGP,gBAAgB,CAACwC,KAAK,CAAC,CAACA,KAAK,CAAC,CAAC;EACxE,CAAC,EAAE,CAACjC,OAAO,CAAC,CAAC;EAEb,IAAI,CAACO,qBAAqB,EAAE;IAC1B,OAAO,IAAI;EACb;EAEA,oBACEZ,IAAA,CAACL,gBAAgB;IAAA,GACXc,KAAK;IACTH,KAAK,EAAE,CACLsC,MAAM,CAACC,SAAS,EAChB;MACEC,GAAG,EAAEnC,KAAK,CAACoC,OAAO,CAAC,CAAC,CAAC;MACrBC,eAAe,EAAErC,KAAK,CAACoC,OAAO,CAAC,CAAC,CAAC;MACjCE,eAAe,EAAE,MAAM;MACvBC,WAAW,EAAEvC,KAAK,CAACwC,IAAI,GACnBxC,KAAK,CAACyC,MAAM,CAACC,IAAI,CAAC,GAAG,CAAC,GACtB1C,KAAK,CAACyC,MAAM,CAACC,IAAI,CAAC,GAAG;IAC3B,CAAC,EACD,CAAC9C,QAAQ,IAAIQ,SAAS,KAAK6B,MAAM,CAACrC,QAAQ,EAC1CD,KAAK,CACL;IACFC,QAAQ,EAAEA,QAAQ,IAAIQ,SAAU;IAChCuC,OAAO,EAAErC,gBAAiB;IAC1Bf,MAAM,EAAEA,MAAO;IAAAM,QAAA,EAEdA;EAAQ,CACO,CAAC;AAEvB,CAAC;AAED,MAAMoC,MAAM,GAAGlD,UAAU,CAAC6D,MAAM,CAAC;EAC/BV,SAAS,EAAE;IACTW,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBC,QAAQ,EAAE,CAAC;IACXC,WAAW,EAAElE,UAAU,CAACmE,aAAa;IACrCC,YAAY,EAAE;EAChB,CAAC;EACDvD,QAAQ,EAAE;IACRwD,OAAO,EAAE;EACX;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ import { StyleSheet, TouchableOpacity } from "react-native";
|
|
|
7
7
|
import { slog } from "../../../../helpers/index.js";
|
|
8
8
|
import { useAppTheme } from "../../../../theme/index.js";
|
|
9
9
|
import { notifySessionChanged } from "../../../session/events.js";
|
|
10
|
+
import { parseSignInError } from "../../../utils/sign-in-error.js";
|
|
10
11
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
11
12
|
export const GoogleLoginButton = ({
|
|
12
13
|
googleIosClientId,
|
|
@@ -51,21 +52,15 @@ export const GoogleLoginButton = ({
|
|
|
51
52
|
const data = {
|
|
52
53
|
accessToken: loginResponse.accessToken,
|
|
53
54
|
refreshToken: loginResponse.refreshToken,
|
|
54
|
-
profile:
|
|
55
|
-
|
|
56
|
-
display: loginResponse.profile.display
|
|
57
|
-
},
|
|
58
|
-
project: {
|
|
59
|
-
reference: typeof loginResponse.project.reference === "string" ? loginResponse.project.reference : loginResponse.project.reference.reference,
|
|
60
|
-
display: loginResponse.project.display
|
|
61
|
-
}
|
|
55
|
+
profile: loginResponse.profile,
|
|
56
|
+
project: loginResponse.project
|
|
62
57
|
};
|
|
63
58
|
await client.setActiveLogin(data);
|
|
64
59
|
notifySessionChanged();
|
|
65
60
|
onSuccess?.(loginResponse);
|
|
66
61
|
} catch (error) {
|
|
67
62
|
if (!isCancelledResponse(error)) {
|
|
68
|
-
onError?.(error);
|
|
63
|
+
onError?.(parseSignInError(error).error);
|
|
69
64
|
}
|
|
70
65
|
} finally {
|
|
71
66
|
setIsLoading(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useClient","GoogleSignin","isCancelledResponse","isSuccessResponse","React","StyleSheet","TouchableOpacity","slog","useAppTheme","notifySessionChanged","jsx","_jsx","GoogleLoginButton","googleIosClientId","googleWebClientId","internalId","onSuccess","onError","testID","style","disabled","children","props","theme","client","isConfigured","setIsConfigured","useState","isLoading","setIsLoading","isDisabled","handleGetIdToken","useCallback","hasPlayServices","Error","response","signIn","tokens","getTokens","idToken","handleGoogleSignIn","loginResponse","googleLogin","data","accessToken","refreshToken","profile","
|
|
1
|
+
{"version":3,"names":["useClient","GoogleSignin","isCancelledResponse","isSuccessResponse","React","StyleSheet","TouchableOpacity","slog","useAppTheme","notifySessionChanged","parseSignInError","jsx","_jsx","GoogleLoginButton","googleIosClientId","googleWebClientId","internalId","onSuccess","onError","testID","style","disabled","children","props","theme","client","isConfigured","setIsConfigured","useState","isLoading","setIsLoading","isDisabled","handleGetIdToken","useCallback","hasPlayServices","Error","response","signIn","tokens","getTokens","idToken","handleGoogleSignIn","loginResponse","googleLogin","data","accessToken","refreshToken","profile","project","setActiveLogin","error","useEffect","configure","iosClientId","webClientId","styles","container","gap","spacing","paddingVertical","backgroundColor","dark","borderColor","colors","gray","onPress","create","flexDirection","alignItems","justifyContent","flexGrow","borderWidth","hairlineWidth","borderRadius","opacity"],"sourceRoot":"../../../../../../../src","sources":["modules/auth/sign-in/components/social-logins/google-login-button.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,21 +19,24 @@ const stringValue = (...values) => {
|
|
|
19
19
|
const value = values.find(candidate => typeof candidate === "string" && candidate.length > 0);
|
|
20
20
|
return typeof value === "string" ? value : undefined;
|
|
21
21
|
};
|
|
22
|
-
const messageKeyForStatus = (status, isMfaVerification) => {
|
|
22
|
+
const messageKeyForStatus = (status, isMfaVerification, isSignIn) => {
|
|
23
23
|
switch (status) {
|
|
24
24
|
case 400:
|
|
25
25
|
case 401:
|
|
26
|
-
return isMfaVerification ? "sign-in.mfa.invalid" : "sign-in.errors.invalid-credentials";
|
|
26
|
+
return isSignIn ? isMfaVerification ? "sign-in.mfa.invalid" : "sign-in.errors.invalid-credentials" : undefined;
|
|
27
27
|
case 403:
|
|
28
28
|
case 404:
|
|
29
|
-
return "sign-in.errors.unavailable";
|
|
29
|
+
return isSignIn ? "sign-in.errors.unavailable" : undefined;
|
|
30
30
|
case 429:
|
|
31
31
|
return "auth.rate-limit";
|
|
32
32
|
default:
|
|
33
33
|
return undefined;
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
|
-
const isNetworkError = (error, message) =>
|
|
36
|
+
const isNetworkError = (error, message) => {
|
|
37
|
+
const errorMessage = message ?? (error instanceof Error ? error.message : asRecord(error)?.message);
|
|
38
|
+
return error instanceof TypeError || typeof errorMessage === "string" && /network request failed|network error|failed to fetch|fetch failed|unknownhostexception|no route to host|network is unreachable|unable to resolve host|could not resolve host|name resolution/i.test(errorMessage);
|
|
39
|
+
};
|
|
37
40
|
|
|
38
41
|
/** Converts transport/server failures to safe, translatable sign-in errors. */
|
|
39
42
|
const parseSignInError = (error, options = {}) => {
|
|
@@ -46,7 +49,7 @@ const parseSignInError = (error, options = {}) => {
|
|
|
46
49
|
const code = stringValue(body?.code, nestedError?.code, root?.code);
|
|
47
50
|
const requestId = stringValue(body?.requestId, root?.requestId);
|
|
48
51
|
const fieldErrors = Array.isArray(body?.errors) ? body.errors : Array.isArray(nestedError?.errors) ? nestedError.errors : [];
|
|
49
|
-
const message = messageKeyForStatus(status, options.isMfaVerification === true) ?? (isNetworkError(error, originalMessage) ? "sign-in.errors.network" : "sign-in.errors.generic");
|
|
52
|
+
const message = messageKeyForStatus(status, options.isMfaVerification === true, options.isSignIn !== false) ?? (isNetworkError(error, originalMessage) ? "sign-in.errors.network" : "sign-in.errors.generic");
|
|
50
53
|
const signInError = new Error(message);
|
|
51
54
|
if (status !== undefined) {
|
|
52
55
|
signInError.status = status;
|
|
@@ -62,5 +65,5 @@ const parseSignInError = (error, options = {}) => {
|
|
|
62
65
|
fieldErrors
|
|
63
66
|
};
|
|
64
67
|
};
|
|
65
|
-
export { parseSignInError };
|
|
68
|
+
export { isNetworkError, parseSignInError };
|
|
66
69
|
//# sourceMappingURL=sign-in-error.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["asRecord","value","undefined","parseJsonRecord","JSON","parse","numberValue","values","find","candidate","Number","isFinite","stringValue","length","messageKeyForStatus","status","isMfaVerification","isNetworkError","error","message","TypeError","test","parseSignInError","options","root","originalMessage","
|
|
1
|
+
{"version":3,"names":["asRecord","value","undefined","parseJsonRecord","JSON","parse","numberValue","values","find","candidate","Number","isFinite","stringValue","length","messageKeyForStatus","status","isMfaVerification","isSignIn","isNetworkError","error","message","errorMessage","Error","TypeError","test","parseSignInError","options","root","originalMessage","response","body","data","nestedError","statusCode","code","requestId","fieldErrors","Array","isArray","errors","signInError"],"sourceRoot":"../../../../../src","sources":["modules/auth/utils/sign-in-error.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
import { GoogleSignin } from "@react-native-google-signin/google-signin";
|
|
4
|
+
import { slog } from "../../helpers/index.js";
|
|
4
5
|
|
|
5
6
|
/** Clears the native Google account only when this app has one signed in. */
|
|
6
7
|
export const signOutGoogleIfNeeded = async () => {
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
try {
|
|
9
|
+
if (typeof GoogleSignin.getCurrentUser !== "function" || !GoogleSignin.getCurrentUser()) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
await GoogleSignin.signOut();
|
|
13
|
+
} catch {
|
|
14
|
+
// Native provider cleanup is best-effort; do not expose provider details or
|
|
15
|
+
// prevent the app session from being cleared.
|
|
16
|
+
slog(new Error("Google sign-out failed"), "google-sign-out");
|
|
9
17
|
}
|
|
10
|
-
await GoogleSignin.signOut();
|
|
11
18
|
};
|
|
12
19
|
//# sourceMappingURL=sign-out-google.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GoogleSignin","signOutGoogleIfNeeded","getCurrentUser","signOut"],"sourceRoot":"../../../../../src","sources":["modules/auth/utils/sign-out-google.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,2CAA2C;;
|
|
1
|
+
{"version":3,"names":["GoogleSignin","slog","signOutGoogleIfNeeded","getCurrentUser","signOut","Error"],"sourceRoot":"../../../../../src","sources":["modules/auth/utils/sign-out-google.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,2CAA2C;AAExE,SAASC,IAAI,QAAQ,wBAAe;;AAEpC;AACA,OAAO,MAAMC,qBAAqB,GAAG,MAAAA,CAAA,KAA2B;EAC9D,IAAI;IACF,IACE,OAAOF,YAAY,CAACG,cAAc,KAAK,UAAU,IACjD,CAACH,YAAY,CAACG,cAAc,CAAC,CAAC,EAC9B;MACA;IACF;IAEA,MAAMH,YAAY,CAACI,OAAO,CAAC,CAAC;EAC9B,CAAC,CAAC,MAAM;IACN;IACA;IACAH,IAAI,CAAC,IAAII,KAAK,CAAC,wBAAwB,CAAC,EAAE,iBAAiB,CAAC;EAC9D;AACF,CAAC","ignoreList":[]}
|
|
@@ -11,7 +11,7 @@ import { getBackgroundServiceUUIDs } from "../services/background-sync/backgroun
|
|
|
11
11
|
import { BackgroundSyncCoordinator } from "../services/background-sync/background-sync-coordinator.js";
|
|
12
12
|
import { BTManager } from "../services/bt-manager.js";
|
|
13
13
|
import { showBackgroundPushNotification } from "../services/push-notification.js";
|
|
14
|
-
import { toBluetoothError } from "../types/bluetooth-error.js";
|
|
14
|
+
import { BluetoothErrorCode, toBluetoothError } from "../types/bluetooth-error.js";
|
|
15
15
|
import { DeviceStatus } from "../types/device-status.js";
|
|
16
16
|
import { AndroidBluetoothForegroundService } from "./android-bluetooth-foreground-service.js";
|
|
17
17
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -51,7 +51,8 @@ export const BTProviderChildWrapper = ({
|
|
|
51
51
|
autoConnect,
|
|
52
52
|
autoConnectDelayMs,
|
|
53
53
|
onDeviceSelectionRequired,
|
|
54
|
-
backgroundSync
|
|
54
|
+
backgroundSync,
|
|
55
|
+
permissionStatus = "unknown"
|
|
55
56
|
}) => {
|
|
56
57
|
const btManagerRef = React.useRef(null);
|
|
57
58
|
const [managerState, setManager] = React.useState(null);
|
|
@@ -60,6 +61,8 @@ export const BTProviderChildWrapper = ({
|
|
|
60
61
|
runtimeRef.current = createBluetoothRuntime(bleManager, backgroundSync?.enabled);
|
|
61
62
|
}
|
|
62
63
|
const runtime = runtimeRef.current;
|
|
64
|
+
const permissionErrorReportedRef = React.useRef(false);
|
|
65
|
+
const runtimePermissionStatus = React.useSyncExternalStore(runtime.subscribeState, () => runtime.getSnapshot().bluetoothPermissionStatus, () => runtime.getSnapshot().bluetoothPermissionStatus);
|
|
63
66
|
const backgroundSyncRef = React.useRef(backgroundSync);
|
|
64
67
|
const propsRef = React.useRef({
|
|
65
68
|
bleManager,
|
|
@@ -93,6 +96,14 @@ export const BTProviderChildWrapper = ({
|
|
|
93
96
|
resultPolicies
|
|
94
97
|
};
|
|
95
98
|
acceptedDevicesRef.current = acceptedDevices;
|
|
99
|
+
React.useEffect(() => {
|
|
100
|
+
runtime.setBluetoothPermissionStatus(permissionStatus);
|
|
101
|
+
}, [permissionStatus, runtime]);
|
|
102
|
+
React.useEffect(() => {
|
|
103
|
+
if (runtimePermissionStatus === "granted") {
|
|
104
|
+
permissionErrorReportedRef.current = false;
|
|
105
|
+
}
|
|
106
|
+
}, [runtimePermissionStatus]);
|
|
96
107
|
runtime.bleManager = bleManager;
|
|
97
108
|
React.useEffect(() => {
|
|
98
109
|
if (!bleManager) {
|
|
@@ -185,6 +196,7 @@ export const BTProviderChildWrapper = ({
|
|
|
185
196
|
}
|
|
186
197
|
const coordinator = new BackgroundSyncCoordinator({
|
|
187
198
|
...current,
|
|
199
|
+
getOwnerKey: () => backgroundSyncRef.current?.getOwnerKey?.(),
|
|
188
200
|
enabled: true,
|
|
189
201
|
onError: error => {
|
|
190
202
|
backgroundSyncRef.current?.onError?.(error);
|
|
@@ -195,15 +207,19 @@ export const BTProviderChildWrapper = ({
|
|
|
195
207
|
onResult: async result => {
|
|
196
208
|
const latest = backgroundSyncRef.current;
|
|
197
209
|
if (!latest || !runtime.getBackgroundScanEnabled()) {
|
|
198
|
-
|
|
210
|
+
throw new Error("Queued result delivery is currently disabled");
|
|
199
211
|
}
|
|
200
212
|
await latest.onResult(result);
|
|
201
213
|
if (latest.notifications?.enabled !== true) {
|
|
202
214
|
return;
|
|
203
215
|
}
|
|
216
|
+
const shouldNotify = latest.notifications.shouldNotify;
|
|
204
217
|
const body = latest.notifications.body;
|
|
205
218
|
const data = latest.notifications.data;
|
|
206
219
|
try {
|
|
220
|
+
if (shouldNotify && !shouldNotify(result)) {
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
207
223
|
await showBackgroundPushNotification({
|
|
208
224
|
title: latest.notifications.title ?? "New health measurement",
|
|
209
225
|
body: body === undefined ? `${result.deviceData.name} reported a measurement` : typeof body === "function" ? body(result) : body,
|
|
@@ -260,13 +276,26 @@ export const BTProviderChildWrapper = ({
|
|
|
260
276
|
return;
|
|
261
277
|
}
|
|
262
278
|
manager.onError(data => {
|
|
263
|
-
|
|
264
|
-
|
|
279
|
+
const error = toBluetoothError(data.error);
|
|
280
|
+
const normalized = {
|
|
281
|
+
...data,
|
|
282
|
+
error,
|
|
283
|
+
code: error.code
|
|
284
|
+
};
|
|
285
|
+
if (error.code === BluetoothErrorCode.PERMISSION_DENIED) {
|
|
286
|
+
runtime.setBluetoothPermissionStatus(runtimePermissionStatus === "blocked" ? "blocked" : "denied");
|
|
287
|
+
if (permissionErrorReportedRef.current) {
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
permissionErrorReportedRef.current = true;
|
|
291
|
+
}
|
|
292
|
+
runtime.emit("error", normalized);
|
|
293
|
+
propsRef.current.onError?.(normalized);
|
|
265
294
|
});
|
|
266
295
|
return () => {
|
|
267
296
|
manager.onError(undefined);
|
|
268
297
|
};
|
|
269
|
-
}, [acceptedDevices.length, acceptedDevicesSignature, managerState, runtime]);
|
|
298
|
+
}, [acceptedDevices.length, acceptedDevicesSignature, managerState, permissionStatus, runtime, runtimePermissionStatus]);
|
|
270
299
|
React.useEffect(() => {
|
|
271
300
|
if (!acceptedDevices.length) {
|
|
272
301
|
return;
|
|
@@ -379,7 +408,7 @@ export const BTProviderChildWrapper = ({
|
|
|
379
408
|
React.useEffect(() => {
|
|
380
409
|
const listener = AppState.addEventListener("change", state => {
|
|
381
410
|
btManagerRef.current?.setBackgroundScanEnabled(runtime.getBackgroundScanEnabled() && state !== "active");
|
|
382
|
-
if (state === "active") {
|
|
411
|
+
if (state === "active" && runtime.getBackgroundScanEnabled()) {
|
|
383
412
|
void backgroundSyncCoordinatorRef.current?.flush({
|
|
384
413
|
includeExhausted: true,
|
|
385
414
|
resetExhausted: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","AppState","State","BleState","sentryLogger","BluetoothRuntimeProvider","createBluetoothRuntime","getRestoredBleState","getBackgroundServiceUUIDs","BackgroundSyncCoordinator","BTManager","showBackgroundPushNotification","toBluetoothError","DeviceStatus","AndroidBluetoothForegroundService","jsx","_jsx","stableSignature","value","JSON","stringify","_key","current","RegExp","source","flags","Map","entries","Set","values","toString","BTProviderChildWrapper","bleManager","acceptedDevices","children","oneReadingPerConnection","deliveredEcgFileNames","deliveredFileNames","clearDeviceHistory","onDeviceFound","onError","onDeviceStatusChanged","onConnectionEvent","onResult","resultPolicies","clockSync","autoConnect","autoConnectDelayMs","onDeviceSelectionRequired","backgroundSync","btManagerRef","useRef","managerState","setManager","useState","runtimeRef","enabled","runtime","backgroundSyncRef","propsRef","acceptedDevicesRef","backgroundSyncCoordinatorRef","useEffect","setBluetoothState","subscription","onStateChange","state","PoweredOn","Unsupported","Unauthorized","remove","acceptedDevicesSignature","managerOptionsSignature","timezone","serviceUUIDs","undefined","backgroundScanEnabled","useSyncExternalStore","subscribeState","getBackgroundScanEnabled","currentAcceptedDevices","length","currentProps","currentBackgroundSync","backgroundOptions","backgroundEnabled","managerOptions","now","Date","btManager","Object","keys","destroy","backgroundCoordinatorSignature","storageKey","maxRetries","retryBackoffMs","notifications","title","body","coordinator","error","result","latest","data","deviceData","name","storage","setAutoConnect","manager","device","deviceManager","upsertDevice","runtimeDevice","devices","find","item","id","emit","Promise","resolve","callback","enqueue","catch","setDeviceResult","status","measurementTypeKey","DISCONNECTED","removeDevice","setDeviceStatus","event","setDeviceConnectionEvent","setBackgroundScanEnabled","currentState","startScan","restoredState","restoreStateIdentifier","connectedPeripherals","restoreDevices","flush","includeExhausted","resetExhausted","listener","addEventListener","options","android","foregroundService"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider-child-wrapper.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","AppState","State","BleState","sentryLogger","BluetoothRuntimeProvider","createBluetoothRuntime","getRestoredBleState","getBackgroundServiceUUIDs","BackgroundSyncCoordinator","BTManager","showBackgroundPushNotification","BluetoothErrorCode","toBluetoothError","DeviceStatus","AndroidBluetoothForegroundService","jsx","_jsx","stableSignature","value","JSON","stringify","_key","current","RegExp","source","flags","Map","entries","Set","values","toString","BTProviderChildWrapper","bleManager","acceptedDevices","children","oneReadingPerConnection","deliveredEcgFileNames","deliveredFileNames","clearDeviceHistory","onDeviceFound","onError","onDeviceStatusChanged","onConnectionEvent","onResult","resultPolicies","clockSync","autoConnect","autoConnectDelayMs","onDeviceSelectionRequired","backgroundSync","permissionStatus","btManagerRef","useRef","managerState","setManager","useState","runtimeRef","enabled","runtime","permissionErrorReportedRef","runtimePermissionStatus","useSyncExternalStore","subscribeState","getSnapshot","bluetoothPermissionStatus","backgroundSyncRef","propsRef","acceptedDevicesRef","backgroundSyncCoordinatorRef","useEffect","setBluetoothPermissionStatus","setBluetoothState","subscription","onStateChange","state","PoweredOn","Unsupported","Unauthorized","remove","acceptedDevicesSignature","managerOptionsSignature","timezone","serviceUUIDs","undefined","backgroundScanEnabled","getBackgroundScanEnabled","currentAcceptedDevices","length","currentProps","currentBackgroundSync","backgroundOptions","backgroundEnabled","managerOptions","now","Date","btManager","Object","keys","destroy","backgroundCoordinatorSignature","storageKey","maxRetries","retryBackoffMs","notifications","title","body","coordinator","getOwnerKey","error","result","latest","Error","shouldNotify","data","deviceData","name","storage","setAutoConnect","manager","device","deviceManager","upsertDevice","runtimeDevice","devices","find","item","id","emit","Promise","resolve","normalized","code","PERMISSION_DENIED","callback","enqueue","catch","setDeviceResult","status","measurementTypeKey","DISCONNECTED","removeDevice","setDeviceStatus","event","setDeviceConnectionEvent","setBackgroundScanEnabled","currentState","startScan","restoredState","restoreStateIdentifier","connectedPeripherals","restoreDevices","flush","includeExhausted","resetExhausted","listener","addEventListener","options","android","foregroundService"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider-child-wrapper.tsx"],"mappings":";;AAAA;AACA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,KAAK,IAAIC,QAAQ,QAAQ,sBAAsB;AAExD,SAASC,YAAY,QAAQ,sCAAmC;AAChE,SAA2BC,wBAAwB,EAAEC,sBAAsB,QAAQ,6BAA0B;AAC7G,SAASC,mBAAmB,QAAQ,uDAAoD;AACxF,SAASC,yBAAyB,QAAQ,yDAAsD;AAChG,SAASC,yBAAyB,QAAQ,4DAAyD;AACnG,SAASC,SAAS,QAAQ,2BAAwB;AAClD,SAASC,8BAA8B,QAAQ,kCAA+B;AAE9E,SAASC,kBAAkB,EAAEC,gBAAgB,QAAQ,6BAA0B;AAG/E,SAASC,YAAY,QAAQ,2BAAwB;AAErD,SAASC,iCAAiC,QAAQ,2CAAwC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3F,MAAMC,eAAe,GAAIC,KAAc,IAAaC,IAAI,CAACC,SAAS,CAChEF,KAAK,EACL,CAACG,IAAI,EAAEC,OAAgB,KAAK;EAC1B,IAAIA,OAAO,YAAYC,MAAM,EAAE;IAC7B,OAAO;MAAEC,MAAM,EAAEF,OAAO,CAACE,MAAM;MAAEC,KAAK,EAAEH,OAAO,CAACG;IAAM,CAAC;EACzD;EAEA,IAAIH,OAAO,YAAYI,GAAG,EAAE;IAC1B,OAAO,CAAC,GAAGJ,OAAO,CAACK,OAAO,CAAC,CAAC,CAAC;EAC/B;EAEA,IAAIL,OAAO,YAAYM,GAAG,EAAE;IAC1B,OAAO,CAAC,GAAGN,OAAO,CAACO,MAAM,CAAC,CAAC,CAAC;EAC9B;EAEA,IAAI,OAAOP,OAAO,KAAK,UAAU,EAAE;IACjC,OAAOA,OAAO,CAACQ,QAAQ,CAAC,CAAC;EAC3B;EAEA,OAAOR,OAAO;AAChB,CACF,CAAC;AAED,OAAO,MAAMS,sBAAsB,GAAGA,CAAsC;EACxEC,UAAU;EACVC,eAAe,GAAG,EAAkB;EACpCC,QAAQ;EACRC,uBAAuB;EACvBC,qBAAqB;EACrBC,kBAAkB;EAClBC,kBAAkB;EAClBC,aAAa;EACbC,OAAO;EACPC,qBAAqB;EACrBC,iBAAiB;EACjBC,QAAQ;EACRC,cAAc;EACdC,SAAS;EACTC,WAAW;EACXC,kBAAkB;EAClBC,yBAAyB;EACzBC,cAAc;EACdC,gBAAgB,GAAG;AACoC,CAAC,KAAK;EAC7D,MAAMC,YAAY,GAAGpD,KAAK,CAACqD,MAAM,CAAsB,IAAI,CAAC;EAC5D,MAAM,CAACC,YAAY,EAAEC,UAAU,CAAC,GAAGvD,KAAK,CAACwD,QAAQ,CAAsB,IAAI,CAAC;EAC5E,MAAMC,UAAU,GAAGzD,KAAK,CAACqD,MAAM,CAA0B,IAAI,CAAC;EAE9D,IAAI,CAACI,UAAU,CAAClC,OAAO,EAAE;IACvBkC,UAAU,CAAClC,OAAO,GAAGjB,sBAAsB,CACzC2B,UAAU,EACViB,cAAc,EAAEQ,OAClB,CAAC;EACH;EAEA,MAAMC,OAAO,GAAGF,UAAU,CAAClC,OAAO;EAClC,MAAMqC,0BAA0B,GAAG5D,KAAK,CAACqD,MAAM,CAAC,KAAK,CAAC;EAEtD,MAAMQ,uBAAuB,GAAG7D,KAAK,CAAC8D,oBAAoB,CACxDH,OAAO,CAACI,cAAc,EACtB,MAAMJ,OAAO,CAACK,WAAW,CAAC,CAAC,CAACC,yBAAyB,EACrD,MAAMN,OAAO,CAACK,WAAW,CAAC,CAAC,CAACC,yBAC9B,CAAC;EAED,MAAMC,iBAAiB,GAAGlE,KAAK,CAACqD,MAAM,CAACH,cAAc,CAAC;EAEtD,MAAMiB,QAAQ,GAAGnE,KAAK,CAACqD,MAAM,CAAC;IAC5BpB,UAAU;IACVO,aAAa;IACbC,OAAO;IACPC,qBAAqB;IACrBC,iBAAiB;IACjBC,QAAQ;IACRE,SAAS;IACTV,uBAAuB;IACvBC,qBAAqB;IACrBC,kBAAkB;IAClBC,kBAAkB;IAClBM;EACF,CAAC,CAAC;EAEF,MAAMuB,kBAAkB,GAAGpE,KAAK,CAACqD,MAAM,CAACnB,eAAe,CAAC;EAExD,MAAMmC,4BAA4B,GAAGrE,KAAK,CAACqD,MAAM,CAE/C,IAAI,CAAC;EAEPa,iBAAiB,CAAC3C,OAAO,GAAG2B,cAAc;EAC1CiB,QAAQ,CAAC5C,OAAO,GAAG;IACjBU,UAAU;IACVO,aAAa;IACbC,OAAO;IACPC,qBAAqB;IACrBC,iBAAiB;IACjBC,QAAQ;IACRE,SAAS;IACTV,uBAAuB;IACvBC,qBAAqB;IACrBC,kBAAkB;IAClBC,kBAAkB;IAClBM;EACF,CAAC;EACDuB,kBAAkB,CAAC7C,OAAO,GAAGW,eAAe;EAC5ClC,KAAK,CAACsE,SAAS,CAAC,MAAM;IACpBX,OAAO,CAACY,4BAA4B,CAACpB,gBAAgB,CAAC;EACxD,CAAC,EAAE,CAACA,gBAAgB,EAAEQ,OAAO,CAAC,CAAC;EAC/B3D,KAAK,CAACsE,SAAS,CAAC,MAAM;IACpB,IAAIT,uBAAuB,KAAK,SAAS,EAAE;MACzCD,0BAA0B,CAACrC,OAAO,GAAG,KAAK;IAC5C;EACF,CAAC,EAAE,CAACsC,uBAAuB,CAAC,CAAC;EAC7BF,OAAO,CAAC1B,UAAU,GAAGA,UAAU;EAE/BjC,KAAK,CAACsE,SAAS,CAAC,MAAM;IACpB,IAAI,CAACrC,UAAU,EAAE;MACf0B,OAAO,CAACa,iBAAiB,CAAC,aAAa,CAAC;MAExC;IACF;IAEA,MAAMC,YAAY,GAAGxC,UAAU,CAACyC,aAAa,CAAEC,KAAK,IAAK;MACvDhB,OAAO,CAACa,iBAAiB,CACvBG,KAAK,KAAKxE,QAAQ,CAACyE,SAAS,GACxB,IAAI,GACJD,KAAK,KAAKxE,QAAQ,CAAC0E,WAAW,GAC5B,aAAa,GACbF,KAAK,KAAKxE,QAAQ,CAAC2E,YAAY,GAC7B,cAAc,GACd,KACV,CAAC;IACH,CAAC,EAAE,IAAI,CAAC;IAER,OAAO,MAAML,YAAY,CAACM,MAAM,CAAC,CAAC;EACpC,CAAC,EAAE,CAAC9C,UAAU,EAAE0B,OAAO,CAAC,CAAC;EAEzB,MAAMqB,wBAAwB,GAAG9D,eAAe,CAACgB,eAAe,CAAC;EAEjE,MAAM+C,uBAAuB,GAAG/D,eAAe,CAAC;IAC9CkB,uBAAuB;IACvBC,qBAAqB;IACrBC,kBAAkB;IAClBC,kBAAkB;IAClBM,cAAc;IACdC,SAAS,EAAE;MACTY,OAAO,EAAEZ,SAAS,EAAEY,OAAO;MAC3BwB,QAAQ,EAAEpC,SAAS,EAAEoC;IACvB,CAAC;IACDC,YAAY,EAAEjC,cAAc,GACxB1C,yBAAyB,CAAC0B,eAAe,EAAEgB,cAAc,CAACiC,YAAY,CAAC,GACvEC;EACN,CAAC,CAAC;EAEF,MAAMC,qBAAqB,GAAGrF,KAAK,CAAC8D,oBAAoB,CACtDH,OAAO,CAACI,cAAc,EACtBJ,OAAO,CAAC2B,wBAAwB,EAChC3B,OAAO,CAAC2B,wBACV,CAAC;EAEDtF,KAAK,CAACsE,SAAS,CAAC,MAAM;IACpB,MAAMiB,sBAAsB,GAAGnB,kBAAkB,CAAC7C,OAAO;IAEzD,IAAI,CAACgE,sBAAsB,CAACC,MAAM,EAAE;MAClC;IACF;IAEApF,YAAY,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAE1C,MAAMqF,YAAY,GAAGtB,QAAQ,CAAC5C,OAAO;IACrC,MAAMmE,qBAAqB,GAAGxB,iBAAiB,CAAC3C,OAAO;IAEvD,MAAMoE,iBAAiB,GAAGD,qBAAqB,GAC3C;MACEE,iBAAiB,EAAEjC,OAAO,CAAC2B,wBAAwB,CAAC,CAAC;MACrDH,YAAY,EAAE3E,yBAAyB,CACrC+E,sBAAsB,EACtBG,qBAAqB,CAACP,YACxB;IACF,CAAC,GACDC,SAAS;IAEb,MAAMS,cAAc,GAAG;MACrB,GAAGF,iBAAiB;MACpB,IAAIF,YAAY,CAACrD,uBAAuB,KAAKgD,SAAS,GAClD,CAAC,CAAC,GACF;QAAEhD,uBAAuB,EAAEqD,YAAY,CAACrD;MAAwB,CAAC,CAAC;MACtE,IAAIqD,YAAY,CAACpD,qBAAqB,KAAK+C,SAAS,GAChD,CAAC,CAAC,GACF;QAAE/C,qBAAqB,EAAEoD,YAAY,CAACpD;MAAsB,CAAC,CAAC;MAClE,IAAIoD,YAAY,CAACnD,kBAAkB,KAAK8C,SAAS,GAC7C,CAAC,CAAC,GACF;QAAE9C,kBAAkB,EAAEmD,YAAY,CAACnD;MAAmB,CAAC,CAAC;MAC5D,IAAImD,YAAY,CAAClD,kBAAkB,KAAK6C,SAAS,GAC7C,CAAC,CAAC,GACF;QAAE7C,kBAAkB,EAAEkD,YAAY,CAAClD;MAAmB,CAAC,CAAC;MAC5D,IAAIkD,YAAY,CAAC5C,cAAc,KAAKuC,SAAS,GACzC,CAAC,CAAC,GACF;QAAEvC,cAAc,EAAE4C,YAAY,CAAC5C;MAAe,CAAC,CAAC;MACpD,IAAI4C,YAAY,CAAC3C,SAAS,KAAKsC,SAAS,GACpC,CAAC,CAAC,GACF;QACEtC,SAAS,EAAE;UACT,GAAG2C,YAAY,CAAC3C,SAAS;UACzBgD,GAAG,EAAEA,CAAA,KAAM3B,QAAQ,CAAC5C,OAAO,CAACuB,SAAS,EAAEgD,GAAG,GAAG,CAAC,IAAI,IAAIC,IAAI,CAAC;QAC7D;MACF,CAAC;IACP,CAAC;IAED,MAAMC,SAAS,GAAGC,MAAM,CAACC,IAAI,CAACL,cAAc,CAAC,CAACL,MAAM,GAChD,IAAI9E,SAAS,CAAC+E,YAAY,CAACxD,UAAU,EAAEsD,sBAAsB,EAAEM,cAAc,CAAC,GAC9E,IAAInF,SAAS,CAAC+E,YAAY,CAACxD,UAAU,EAAEsD,sBAAsB,CAAC;IAElEnC,YAAY,CAAC7B,OAAO,GAAGyE,SAAS;IAChCzC,UAAU,CAACyC,SAAS,CAAC;IACrBrC,OAAO,CAACJ,UAAU,CAChByC,SACF,CAAC;IAED,OAAO,MAAM;MACX5F,YAAY,CAAC,MAAM,EAAE,yBAAyB,CAAC;MAC/CgD,YAAY,CAAC7B,OAAO,GAAG,IAAI;MAC3BgC,UAAU,CAAEhC,OAAO,IAAMA,OAAO,KAAKyE,SAAS,GAAG,IAAI,GAAGzE,OAAQ,CAAC;MACjEoC,OAAO,CAACJ,UAAU,CAAC6B,SAAS,CAAC;MAC7BY,SAAS,CAACG,OAAO,CAAC,CAAC;IACrB,CAAC;EACH,CAAC,EAAE,CACDlE,UAAU,EACV+C,wBAAwB,EACxBC,uBAAuB,EACvBtB,OAAO,CACR,CAAC;EAEF,MAAMyC,8BAA8B,GAAGhF,IAAI,CAACC,SAAS,CAAC;IACpDqC,OAAO,EAAE2B,qBAAqB;IAC9BgB,UAAU,EAAEnD,cAAc,EAAEmD,UAAU;IACtCC,UAAU,EAAEpD,cAAc,EAAEoD,UAAU;IACtCC,cAAc,EAAErD,cAAc,EAAEqD,cAAc;IAC9CC,aAAa,EAAE;MACb9C,OAAO,EAAER,cAAc,EAAEsD,aAAa,EAAE9C,OAAO;MAC/C+C,KAAK,EAAEvD,cAAc,EAAEsD,aAAa,EAAEC,KAAK;MAC3CC,IAAI,EAAE,OAAOxD,cAAc,EAAEsD,aAAa,EAAEE,IAAI,KAAK,QAAQ,GACzDxD,cAAc,CAACsD,aAAa,CAACE,IAAI,GACjCtB;IACN;EACF,CAAC,CAAC;EAEFpF,KAAK,CAACsE,SAAS,CAAC,MAAM;IACpB,MAAM/C,OAAO,GAAG2C,iBAAiB,CAAC3C,OAAO;IAEzC,IAAI,CAACA,OAAO,EAAE;MACZ8C,4BAA4B,CAAC9C,OAAO,GAAG,IAAI;MAE3C;IACF;IAEA,MAAMoF,WAAW,GAAG,IAAIlG,yBAAyB,CAAiB;MAChE,GAAGc,OAAO;MACVqF,WAAW,EAAEA,CAAA,KAAM1C,iBAAiB,CAAC3C,OAAO,EAAEqF,WAAW,GAAG,CAAC;MAC7DlD,OAAO,EAAE,IAAI;MACbjB,OAAO,EAAGoE,KAAK,IAAK;QAClB3C,iBAAiB,CAAC3C,OAAO,EAAEkB,OAAO,GAAGoE,KAAK,CAAC;QAC3C1C,QAAQ,CAAC5C,OAAO,CAACkB,OAAO,GAAG;UAAEoE,KAAK,EAAEhG,gBAAgB,CAACgG,KAAK;QAAE,CAAC,CAAC;MAChE,CAAC;MACDjE,QAAQ,EAAE,MAAOkE,MAAM,IAAK;QAC1B,MAAMC,MAAM,GAAG7C,iBAAiB,CAAC3C,OAAO;QAExC,IAAI,CAACwF,MAAM,IAAI,CAACpD,OAAO,CAAC2B,wBAAwB,CAAC,CAAC,EAAE;UAClD,MAAM,IAAI0B,KAAK,CAAC,8CAA8C,CAAC;QACjE;QAEA,MAAMD,MAAM,CAACnE,QAAQ,CAACkE,MAAM,CAAC;QAE7B,IAAIC,MAAM,CAACP,aAAa,EAAE9C,OAAO,KAAK,IAAI,EAAE;UAC1C;QACF;QAEA,MAAMuD,YAAY,GAAGF,MAAM,CAACP,aAAa,CAACS,YAAY;QACtD,MAAMP,IAAI,GAAGK,MAAM,CAACP,aAAa,CAACE,IAAI;QACtC,MAAMQ,IAAI,GAAGH,MAAM,CAACP,aAAa,CAACU,IAAI;QAEtC,IAAI;UACF,IAAID,YAAY,IAAI,CAACA,YAAY,CAACH,MAAM,CAAC,EAAE;YACzC;UACF;UAEA,MAAMnG,8BAA8B,CAAC;YACnC8F,KAAK,EAAEM,MAAM,CAACP,aAAa,CAACC,KAAK,IAAI,wBAAwB;YAC7DC,IAAI,EAAEA,IAAI,KAAKtB,SAAS,GACpB,GAAG0B,MAAM,CAACK,UAAU,CAACC,IAAI,yBAAyB,GAClD,OAAOV,IAAI,KAAK,UAAU,GACxBA,IAAI,CAACI,MAAM,CAAC,GACZJ,IAAI;YACV,IAAIQ,IAAI,KAAK9B,SAAS,GAClB,CAAC,CAAC,GACF;cACE8B,IAAI,EAAE,OAAOA,IAAI,KAAK,UAAU,GAAGA,IAAI,CAACJ,MAAM,CAAC,GAAGI;YACpD,CAAC;UACP,CAAC,CAAC;QACJ,CAAC,CAAC,OAAOL,KAAK,EAAE;UACd1C,QAAQ,CAAC5C,OAAO,CAACkB,OAAO,GAAG;YAAEoE,KAAK,EAAEhG,gBAAgB,CAACgG,KAAK;UAAE,CAAC,CAAC;QAChE;MACF;IACF,CAAC,CAAC;IAEFxC,4BAA4B,CAAC9C,OAAO,GAAGoF,WAAW;IAElD,OAAO,MAAM;MACX,IAAItC,4BAA4B,CAAC9C,OAAO,KAAKoF,WAAW,EAAE;QACxDtC,4BAA4B,CAAC9C,OAAO,GAAG,IAAI;MAC7C;IACF,CAAC;EACH,CAAC,EAAE,CAAC6E,8BAA8B,EAAElD,cAAc,EAAEmE,OAAO,EAAE1D,OAAO,CAAC,CAAC;EAEtE3D,KAAK,CAACsE,SAAS,CAAC,MAAM;IACpB,IAAI,OAAOhB,YAAY,EAAEgE,cAAc,KAAK,UAAU,EAAE;MACtD;IACF;IAEAhE,YAAY,CAACgE,cAAc,CACzBvE,WAAW,KAAK,IAAI,EACpBC,kBAAkB,EAClBC,yBACF,CAAC;EACH,CAAC,EAAE,CAACF,WAAW,EAAEC,kBAAkB,EAAEC,yBAAyB,EAAEK,YAAY,CAAC,CAAC;EAC9EtD,KAAK,CAACsE,SAAS,CAAC,MAAM;IACpB,IAAI,CAACpC,eAAe,CAACsD,MAAM,EAAE;MAC3B;IACF;IACA,MAAM+B,OAAO,GAAGjE,YAAY;IAE5B,IAAI,CAACiE,OAAO,EAAE;MACZ;IACF;IAEAA,OAAO,CAAC/E,aAAa,CAAC,CAACgF,MAAM,EAAEC,aAAa,KAAK;MAC/C9D,OAAO,CAAC+D,YAAY,CAACF,MAAM,CAAC;MAC5B,MAAMG,aAAa,GAAGhE,OAAO,CAACiE,OAAO,CAACC,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,EAAE,KAAKP,MAAM,CAACO,EAAE,CAAC;MAE3E,IAAIJ,aAAa,EAAE;QACjBhE,OAAO,CAACqE,IAAI,CAAC,aAAa,EAAEL,aAAa,CAAC;MAC5C;MAEA,OAAOxD,QAAQ,CAAC5C,OAAO,CAACiB,aAAa,GAAGgF,MAAM,EAAEC,aAAa,CAAC,IAAIQ,OAAO,CAACC,OAAO,CAAC,CAAC;IACrF,CAAC,CAAC;IAEF,OAAO,MAAM;MACXX,OAAO,CAAC/E,aAAa,CAAC4C,SAAS,CAAC;IAClC,CAAC;EACH,CAAC,EAAE,CAAClD,eAAe,CAACsD,MAAM,EAAER,wBAAwB,EAAE1B,YAAY,EAAEK,OAAO,CAAC,CAAC;EAC7E3D,KAAK,CAACsE,SAAS,CAAC,MAAM;IACpB,IAAI,CAACpC,eAAe,CAACsD,MAAM,EAAE;MAC3B;IACF;IACA,MAAM+B,OAAO,GAAGjE,YAAY;IAE5B,IAAI,CAACiE,OAAO,EAAE;MACZ;IACF;IAEAA,OAAO,CAAC9E,OAAO,CAAEyE,IAAI,IAAK;MACxB,MAAML,KAAK,GAAGhG,gBAAgB,CAACqG,IAAI,CAACL,KAAK,CAAC;MAC1C,MAAMsB,UAAU,GAAG;QAAE,GAAGjB,IAAI;QAAEL,KAAK;QAAEuB,IAAI,EAAEvB,KAAK,CAACuB;MAAK,CAAC;MAEvD,IAAIvB,KAAK,CAACuB,IAAI,KAAKxH,kBAAkB,CAACyH,iBAAiB,EAAE;QACvD1E,OAAO,CAACY,4BAA4B,CAClCV,uBAAuB,KAAK,SAAS,GAAG,SAAS,GAAG,QACtD,CAAC;QAED,IAAID,0BAA0B,CAACrC,OAAO,EAAE;UACtC;QACF;QAEAqC,0BAA0B,CAACrC,OAAO,GAAG,IAAI;MAC3C;MAEAoC,OAAO,CAACqE,IAAI,CAAC,OAAO,EAAEG,UAAU,CAAC;MACjChE,QAAQ,CAAC5C,OAAO,CAACkB,OAAO,GAAG0F,UAAU,CAAC;IACxC,CAAC,CAAC;IAEF,OAAO,MAAM;MACXZ,OAAO,CAAC9E,OAAO,CAAC2C,SAAS,CAAC;IAC5B,CAAC;EACH,CAAC,EAAE,CAAClD,eAAe,CAACsD,MAAM,EAAER,wBAAwB,EAAE1B,YAAY,EAAEH,gBAAgB,EAAEQ,OAAO,EAAEE,uBAAuB,CAAC,CAAC;EACxH7D,KAAK,CAACsE,SAAS,CAAC,MAAM;IACpB,IAAI,CAACpC,eAAe,CAACsD,MAAM,EAAE;MAC3B;IACF;IAEA,MAAM+B,OAAO,GAAGjE,YAAY;IAE5B,IAAI,CAACiE,OAAO,EAAE;MACZ;IACF;IAEA,MAAMe,QAAQ,GAAIpB,IAA4E,IAAK;MACjG/C,QAAQ,CAAC5C,OAAO,CAACqB,QAAQ,GAAGsE,IAAI,CAAC;MAEjC,IAAI,CAAC7B,qBAAqB,EAAE;QAC1B;MACF;MAEA,MAAMsB,WAAW,GAAGtC,4BAA4B,CAAC9C,OAAO;MAExD,IAAIoF,WAAW,EAAE;QACf,KAAKA,WAAW,CAAC4B,OAAO,CAACrB,IAAI,CAAC,CAACsB,KAAK,CAAE3B,KAAc,IAAK;UACvD1C,QAAQ,CAAC5C,OAAO,CAACkB,OAAO,GAAG;YAAEoE,KAAK,EAAEhG,gBAAgB,CAACgG,KAAK;UAAE,CAAC,CAAC;QAChE,CAAC,CAAC;MACJ;IACF,CAAC;IAEDU,OAAO,CAAC3E,QAAQ,CAAEsE,IAAI,IAAK;MACzBvD,OAAO,CAAC8E,eAAe,CAACvB,IAAI,CAAC;MAC7BvD,OAAO,CAACqE,IAAI,CAAC,QAAQ,EAAEd,IAAI,CAAC;MAC5BoB,QAAQ,GAAGpB,IAAI,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,MAAM;MACXK,OAAO,CAAC3E,QAAQ,CAACwC,SAAS,CAAC;IAC7B,CAAC;EACH,CAAC,EAAE,CACDlD,eAAe,CAACsD,MAAM,EACtBR,wBAAwB,EACxBK,qBAAqB,EACrB/B,YAAY,EACZK,OAAO,CACR,CAAC;EACF3D,KAAK,CAACsE,SAAS,CAAC,MAAM;IACpB,IAAI,CAACpC,eAAe,CAACsD,MAAM,EAAE;MAC3B;IACF;IAEA,MAAM+B,OAAO,GAAGjE,YAAY;IAE5B,IAAI,CAACiE,OAAO,EAAE;MACZ;IACF;IAEAA,OAAO,CAAC7E,qBAAqB,CAC3B,CAAC;MAAEgG,MAAM;MAAEvB,UAAU;MAAEwB;IAAmB,CAAC,KAAK;MAC9C,IAAID,MAAM,KAAK5H,YAAY,CAAC8H,YAAY,EAAE;QACxCjF,OAAO,CAACkF,YAAY,CAAC1B,UAAU,CAACY,EAAE,CAAC;MACrC,CAAC,MAAM;QACLpE,OAAO,CAACmF,eAAe,CAAC;UAAE3B,UAAU;UAAEuB;QAAO,CAAC,CAAC;MACjD;MACA/E,OAAO,CAACqE,IAAI,CAAC,QAAQ,EAAE;QAAEU,MAAM;QAAEvB,UAAU;QAAEwB;MAAmB,CAAC,CAAC;MAClExE,QAAQ,CAAC5C,OAAO,CAACmB,qBAAqB,GAAG;QAAEgG,MAAM;QAAEvB,UAAU;QAAEwB;MAAmB,CAAC,CAAC;IACtF,CACF,CAAC;IAED,OAAO,MAAM;MACXpB,OAAO,CAAC7E,qBAAqB,CAAC0C,SAAS,CAAC;IAC1C,CAAC;EACH,CAAC,EAAE,CAAClD,eAAe,CAACsD,MAAM,EAAER,wBAAwB,EAAE1B,YAAY,EAAEK,OAAO,CAAC,CAAC;EAC7E3D,KAAK,CAACsE,SAAS,CAAC,MAAM;IACpB,IAAI,CAACpC,eAAe,CAACsD,MAAM,EAAE;MAC3B;IACF;IAEA,MAAM+B,OAAO,GAAGjE,YAAY;IAE5B,IAAI,CAACiE,OAAO,IAAI,OAAOA,OAAO,CAAC5E,iBAAiB,KAAK,UAAU,EAAE;MAC/D;IACF;IAEA4E,OAAO,CAAC5E,iBAAiB,CAAEoG,KAAK,IAAK;MACnCpF,OAAO,CAACqF,wBAAwB,CAACD,KAAK,CAAC;MACvCpF,OAAO,CAACqE,IAAI,CAAC,YAAY,EAAEe,KAAK,CAAC;MACjC5E,QAAQ,CAAC5C,OAAO,CAACoB,iBAAiB,GAAGoG,KAAK,CAAC;IAC7C,CAAC,CAAC;IAEF,OAAO,MAAM;MACXxB,OAAO,CAAC5E,iBAAiB,CAACyC,SAAS,CAAC;IACtC,CAAC;EACH,CAAC,EAAE,CAAClD,eAAe,CAACsD,MAAM,EAAER,wBAAwB,EAAE1B,YAAY,EAAEK,OAAO,CAAC,CAAC;EAC7E3D,KAAK,CAACsE,SAAS,CAAC,MAAM;IACpB,IACE,CAACpC,eAAe,CAACsD,MAAM,IACvB,CAAClC,YAAY,IACbF,YAAY,CAAC7B,OAAO,KAAK+B,YAAY,EACrC;MACA;IACF;IAEAA,YAAY,CAAC2F,wBAAwB,CACnCtF,OAAO,CAAC2B,wBAAwB,CAAC,CAAC,IAChCrF,QAAQ,CAACiJ,YAAY,KAAK,QAC9B,CAAC;IACD5F,YAAY,CAAC6F,SAAS,CAAC,CAAC;EAC1B,CAAC,EAAE,CACDjH,eAAe,CAACsD,MAAM,EACtBR,wBAAwB,EACxBK,qBAAqB,EACrB/B,YAAY,EACZK,OAAO,CACR,CAAC;EACF3D,KAAK,CAACsE,SAAS,CAAC,MAAM;IACpB,MAAMoB,qBAAqB,GAAGxB,iBAAiB,CAAC3C,OAAO;IAEvD,IAAI,CAACW,eAAe,CAACsD,MAAM,IAAI,CAACE,qBAAqB,IAAI,CAACL,qBAAqB,EAAE;MAC/E;IACF;IAEA,MAAM+D,aAAa,GAAG7I,mBAAmB,CACvCmF,qBAAqB,CAAC2D,sBACxB,CAAC;IAED,IAAID,aAAa,EAAEE,oBAAoB,CAAC9D,MAAM,EAAE;MAC9CpC,YAAY,CAAC7B,OAAO,EAAEgI,cAAc,CAACH,aAAa,CAACE,oBAAoB,CAAC;IAC1E;IAEA,KAAKjF,4BAA4B,CAAC9C,OAAO,EAAEiI,KAAK,CAAC;MAC/CC,gBAAgB,EAAE,IAAI;MACtBC,cAAc,EAAE;IAClB,CAAC,CAAC,CAAClB,KAAK,CAAE3B,KAAc,IAAK;MAC3B1C,QAAQ,CAAC5C,OAAO,CAACkB,OAAO,GAAG;QAAEoE,KAAK,EAAEhG,gBAAgB,CAACgG,KAAK;MAAE,CAAC,CAAC;IAChE,CAAC,CAAC;EACJ,CAAC,EAAE,CACD3E,eAAe,CAACsD,MAAM,EACtBR,wBAAwB,EACxBK,qBAAqB,EACrBnC,cAAc,EAAEmG,sBAAsB,EACtC1F,OAAO,CACR,CAAC;EAEF3D,KAAK,CAACsE,SAAS,CAAC,MAAM;IACpB,MAAMqF,QAAQ,GAAG1J,QAAQ,CAAC2J,gBAAgB,CAAC,QAAQ,EAAGjF,KAAK,IAAK;MAC9DvB,YAAY,CAAC7B,OAAO,EAAE0H,wBAAwB,CAC5CtF,OAAO,CAAC2B,wBAAwB,CAAC,CAAC,IAAIX,KAAK,KAAK,QAClD,CAAC;MACD,IAAIA,KAAK,KAAK,QAAQ,IAAIhB,OAAO,CAAC2B,wBAAwB,CAAC,CAAC,EAAE;QAC5D,KAAKjB,4BAA4B,CAAC9C,OAAO,EAAEiI,KAAK,CAAC;UAC/CC,gBAAgB,EAAE,IAAI;UACtBC,cAAc,EAAE;QAClB,CAAC,CAAC,CAAClB,KAAK,CAAE3B,KAAc,IAAK;UACzB1C,QAAQ,CAAC5C,OAAO,CAACkB,OAAO,GAAG;YAAEoE,KAAK,EAAEhG,gBAAgB,CAACgG,KAAK;UAAE,CAAC,CAAC;QAClE,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;IAEF,OAAO,MAAM;MACX8C,QAAQ,CAAC5E,MAAM,CAAC,CAAC;IACnB,CAAC;EACH,CAAC,EAAE,CAACpB,OAAO,CAAC,CAAC;EAEb,oBACE1C,IAAA,CAACZ,wBAAwB;IAACsD,OAAO,EAAEF,UAAU,CAAClC,OAAQ;IAAAY,QAAA,eACtDlB,IAAA,CAACF,iCAAiC;MAChC2C,OAAO,EAAE2B,qBAAsB;MAC/BwE,OAAO,EAAE3G,cAAc,EAAE4G,OAAO,EAAEC,iBAAkB;MACpDtH,OAAO,EAAEA,OAAQ;MAAAN,QAAA,EAEhBA;IAAQ,CACwB;EAAC,CACV,CAAC;AAEjC,CAAC","ignoreList":[]}
|
|
@@ -14,7 +14,9 @@ export const BTProvider = ({
|
|
|
14
14
|
}) => {
|
|
15
15
|
const {
|
|
16
16
|
accessPermission,
|
|
17
|
-
openBleSetting
|
|
17
|
+
openBleSetting,
|
|
18
|
+
requestPermission,
|
|
19
|
+
status
|
|
18
20
|
} = useRequestPermissions({
|
|
19
21
|
onAccessPermissionChanged
|
|
20
22
|
});
|
|
@@ -24,12 +26,18 @@ export const BTProvider = ({
|
|
|
24
26
|
});
|
|
25
27
|
}
|
|
26
28
|
if (gateOnPermission && !accessPermission) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
const fallbackProps = {
|
|
30
|
+
status: status === "blocked" ? "blocked" : "denied",
|
|
31
|
+
request: requestPermission,
|
|
32
|
+
openSettings: openBleSetting
|
|
33
|
+
};
|
|
34
|
+
return permissionFallback ? permissionFallback(fallbackProps) : /*#__PURE__*/_jsx(DefaultPermissionFallback, {
|
|
35
|
+
...fallbackProps
|
|
29
36
|
});
|
|
30
37
|
}
|
|
31
38
|
return /*#__PURE__*/_jsx(BTProviderChildWrapper, {
|
|
32
|
-
...props
|
|
39
|
+
...props,
|
|
40
|
+
permissionStatus: status
|
|
33
41
|
});
|
|
34
42
|
};
|
|
35
43
|
//# sourceMappingURL=bt-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","ActivityIndicator","useRequestPermissions","BTProviderChildWrapper","DefaultPermissionFallback","jsx","_jsx","BTProvider","permissionFallback","gateOnPermission","onAccessPermissionChanged","props","accessPermission","openBleSetting","undefined","testID","
|
|
1
|
+
{"version":3,"names":["React","ActivityIndicator","useRequestPermissions","BTProviderChildWrapper","DefaultPermissionFallback","jsx","_jsx","BTProvider","permissionFallback","gateOnPermission","onAccessPermissionChanged","props","accessPermission","openBleSetting","requestPermission","status","undefined","testID","fallbackProps","request","openSettings","permissionStatus"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/bt-provider.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,iBAAiB,QAAQ,oBAAoB;AAEtD,SAASC,qBAAqB,QAAQ,qCAAkC;AAIxE,SAASC,sBAAsB,QAAQ,gCAA6B;AACpE,SAASC,yBAAyB,QAAQ,kCAA+B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1E,OAAO,MAAMC,UAAU,GAAGA,CAAsC;EAC9DC,kBAAkB;EAClBC,gBAAgB,GAAG,KAAK;EACxBC,yBAAyB;EACzB,GAAGC;AACwC,CAAC,KAAK;EACjD,MAAM;IAAEC,gBAAgB;IAAEC,cAAc;IAAEC,iBAAiB;IAAEC;EAAO,CAAC,GAAGb,qBAAqB,CAAC;IAC5FQ;EACF,CAAC,CAAC;EAEF,IAAID,gBAAgB,IAAIG,gBAAgB,KAAKI,SAAS,EAAE;IACtD,oBAAOV,IAAA,CAACL,iBAAiB;MAACgB,MAAM,EAAC;IAAoB,CAAE,CAAC;EAC1D;EAEA,IAAIR,gBAAgB,IAAI,CAACG,gBAAgB,EAAE;IACzC,MAAMM,aAAa,GAAG;MACpBH,MAAM,EAAEA,MAAM,KAAK,SAAS,GAAG,SAAS,GAAY,QAAiB;MACrEI,OAAO,EAAEL,iBAAiB;MAC1BM,YAAY,EAAEP;IAChB,CAAC;IAED,OAAOL,kBAAkB,GACvBA,kBAAkB,CAACU,aAAa,CAAC,gBAEjCZ,IAAA,CAACF,yBAAyB;MAAA,GAAKc;IAAa,CAAG,CAChD;EACH;EAEA,oBAAOZ,IAAA,CAACH,sBAAsB;IAAA,GAAKQ,KAAK;IAAEU,gBAAgB,EAAEN;EAAO,CAAE,CAAC;AACxE,CAAC","ignoreList":[]}
|
|
@@ -1,23 +1,62 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import * as React from "react";
|
|
3
4
|
import { useTranslation } from "react-i18next";
|
|
4
|
-
import { View } from "react-native";
|
|
5
|
+
import { StyleSheet, View } from "react-native";
|
|
5
6
|
import { Button, Text } from "react-native-paper";
|
|
7
|
+
import { SafeAreaInsetsContext } from "react-native-safe-area-context";
|
|
8
|
+
import { useAppTheme } from "../../theme/index.js";
|
|
6
9
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
7
10
|
export const DefaultPermissionFallback = ({
|
|
8
|
-
|
|
11
|
+
status,
|
|
12
|
+
request,
|
|
13
|
+
openSettings
|
|
9
14
|
}) => {
|
|
10
15
|
const {
|
|
11
16
|
t
|
|
12
17
|
} = useTranslation();
|
|
18
|
+
const theme = useAppTheme();
|
|
19
|
+
const insets = React.useContext(SafeAreaInsetsContext) ?? {
|
|
20
|
+
top: 0,
|
|
21
|
+
right: 0,
|
|
22
|
+
bottom: 0,
|
|
23
|
+
left: 0
|
|
24
|
+
};
|
|
25
|
+
const isBlocked = status === "blocked";
|
|
13
26
|
return /*#__PURE__*/_jsxs(View, {
|
|
27
|
+
style: [styles.container, {
|
|
28
|
+
backgroundColor: theme.colors.background,
|
|
29
|
+
paddingTop: insets.top + (theme.spacing?.(4) ?? 16),
|
|
30
|
+
paddingBottom: insets.bottom + (theme.spacing?.(4) ?? 16),
|
|
31
|
+
paddingLeft: insets.left + (theme.spacing?.(4) ?? 16),
|
|
32
|
+
paddingRight: insets.right + (theme.spacing?.(4) ?? 16)
|
|
33
|
+
}],
|
|
14
34
|
children: [/*#__PURE__*/_jsx(Text, {
|
|
35
|
+
variant: "titleMedium",
|
|
36
|
+
style: {
|
|
37
|
+
color: theme.colors.onBackground
|
|
38
|
+
},
|
|
15
39
|
children: t("feedback-messages.general.permission-not-granted")
|
|
16
40
|
}), /*#__PURE__*/_jsx(Button, {
|
|
17
41
|
mode: "contained",
|
|
18
|
-
onPress:
|
|
19
|
-
|
|
42
|
+
onPress: () => {
|
|
43
|
+
if (isBlocked) {
|
|
44
|
+
openSettings();
|
|
45
|
+
} else {
|
|
46
|
+
void request().catch(() => undefined);
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
children: isBlocked ? t("common-actions.open-settings") : t("common-actions.allow-access", {
|
|
50
|
+
defaultValue: "Allow access"
|
|
51
|
+
})
|
|
20
52
|
})]
|
|
21
53
|
});
|
|
22
54
|
};
|
|
55
|
+
const styles = StyleSheet.create({
|
|
56
|
+
container: {
|
|
57
|
+
flex: 1,
|
|
58
|
+
justifyContent: "center",
|
|
59
|
+
gap: 16
|
|
60
|
+
}
|
|
61
|
+
});
|
|
23
62
|
//# sourceMappingURL=default-permission-fallback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useTranslation","View","Button","Text","jsx","_jsx","jsxs","_jsxs","DefaultPermissionFallback","
|
|
1
|
+
{"version":3,"names":["React","useTranslation","StyleSheet","View","Button","Text","SafeAreaInsetsContext","useAppTheme","jsx","_jsx","jsxs","_jsxs","DefaultPermissionFallback","status","request","openSettings","t","theme","insets","useContext","top","right","bottom","left","isBlocked","style","styles","container","backgroundColor","colors","background","paddingTop","spacing","paddingBottom","paddingLeft","paddingRight","children","variant","color","onBackground","mode","onPress","catch","undefined","defaultValue","create","flex","justifyContent","gap"],"sourceRoot":"../../../../../src","sources":["modules/bt-management/components/default-permission-fallback.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,cAAc,QAAQ,eAAe;AAC9C,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,MAAM,EAAEC,IAAI,QAAQ,oBAAoB;AACjD,SAASC,qBAAqB,QAAQ,gCAAgC;AAEtE,SAASC,WAAW,QAAQ,sBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAG1C,OAAO,MAAMC,yBAAyB,GAAGA,CAAC;EACxCC,MAAM;EACNC,OAAO;EACPC;AACiC,CAAC,KAAK;EACvC,MAAM;IAAEC;EAAE,CAAC,GAAGf,cAAc,CAAC,CAAC;EAC9B,MAAMgB,KAAK,GAAGV,WAAW,CAAC,CAAC;EAE3B,MAAMW,MAAM,GAAGlB,KAAK,CAACmB,UAAU,CAACb,qBAAqB,CAAC,IAAI;IACxDc,GAAG,EAAE,CAAC;IACNC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,IAAI,EAAE;EACR,CAAC;EAED,MAAMC,SAAS,GAAGX,MAAM,KAAK,SAAS;EAEtC,oBACEF,KAAA,CAACR,IAAI;IACHsB,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MACEC,eAAe,EAAEX,KAAK,CAACY,MAAM,CAACC,UAAU;MACxCC,UAAU,EAAEb,MAAM,CAACE,GAAG,IAAIH,KAAK,CAACe,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;MACnDC,aAAa,EAAEf,MAAM,CAACI,MAAM,IAAIL,KAAK,CAACe,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;MACzDE,WAAW,EAAEhB,MAAM,CAACK,IAAI,IAAIN,KAAK,CAACe,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;MACrDG,YAAY,EAAEjB,MAAM,CAACG,KAAK,IAAIJ,KAAK,CAACe,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE;IACxD,CAAC,CACD;IAAAI,QAAA,gBAEF3B,IAAA,CAACJ,IAAI;MAACgC,OAAO,EAAC,aAAa;MAACZ,KAAK,EAAE;QAAEa,KAAK,EAAErB,KAAK,CAACY,MAAM,CAACU;MAAa,CAAE;MAAAH,QAAA,EACrEpB,CAAC,CAAC,kDAAkD;IAAC,CAClD,CAAC,eACPP,IAAA,CAACL,MAAM;MACLoC,IAAI,EAAC,WAAW;MAChBC,OAAO,EAAEA,CAAA,KAAM;QACb,IAAIjB,SAAS,EAAE;UACbT,YAAY,CAAC,CAAC;QAChB,CAAC,MAAM;UACL,KAAKD,OAAO,CAAC,CAAC,CAAC4B,KAAK,CAAC,MAAMC,SAAS,CAAC;QACvC;MACF,CAAE;MAAAP,QAAA,EAEDZ,SAAS,GACNR,CAAC,CAAC,8BAA8B,CAAC,GACjCA,CAAC,CAAC,6BAA6B,EAAE;QAAE4B,YAAY,EAAE;MAAe,CAAC;IAAC,CAChE,CAAC;EAAA,CACL,CAAC;AAEX,CAAC;AAED,MAAMlB,MAAM,GAAGxB,UAAU,CAAC2C,MAAM,CAAC;EAC/BlB,SAAS,EAAE;IACTmB,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBC,GAAG,EAAE;EACP;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
const declinedByRuntime = new WeakMap();
|
|
4
|
+
const writesByStorage = new WeakMap();
|
|
5
|
+
const parseDeclinedDeviceIds = value => {
|
|
6
|
+
if (!value) {
|
|
7
|
+
return [];
|
|
8
|
+
}
|
|
9
|
+
try {
|
|
10
|
+
const parsed = JSON.parse(value);
|
|
11
|
+
return Array.isArray(parsed) ? [...new Set(parsed.filter(id => typeof id === "string"))] : [];
|
|
12
|
+
} catch {
|
|
13
|
+
return [];
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
const getDeclinedDeviceState = (runtime, storageKey) => {
|
|
17
|
+
let byStorageKey = declinedByRuntime.get(runtime);
|
|
18
|
+
if (!byStorageKey) {
|
|
19
|
+
byStorageKey = new Map();
|
|
20
|
+
declinedByRuntime.set(runtime, byStorageKey);
|
|
21
|
+
}
|
|
22
|
+
let state = byStorageKey.get(storageKey);
|
|
23
|
+
if (!state) {
|
|
24
|
+
state = {
|
|
25
|
+
listeners: new Set()
|
|
26
|
+
};
|
|
27
|
+
byStorageKey.set(storageKey, state);
|
|
28
|
+
}
|
|
29
|
+
return state;
|
|
30
|
+
};
|
|
31
|
+
const publishDeclinedDeviceIds = (state, ids) => {
|
|
32
|
+
state.ids = ids;
|
|
33
|
+
state.listeners.forEach(listener => listener());
|
|
34
|
+
};
|
|
35
|
+
const loadDeclinedDeviceIds = (state, storage, storageKey) => {
|
|
36
|
+
if (state.ids) {
|
|
37
|
+
return Promise.resolve(state.ids);
|
|
38
|
+
}
|
|
39
|
+
state.loading ??= Promise.resolve().then(() => storage.getItem(storageKey)).then(parseDeclinedDeviceIds).then(ids => {
|
|
40
|
+
publishDeclinedDeviceIds(state, ids);
|
|
41
|
+
return ids;
|
|
42
|
+
}).finally(() => {
|
|
43
|
+
state.loading = undefined;
|
|
44
|
+
});
|
|
45
|
+
return state.loading;
|
|
46
|
+
};
|
|
47
|
+
const updateDeclinedDeviceIds = async (storage, storageKey, update) => {
|
|
48
|
+
let writes = writesByStorage.get(storage);
|
|
49
|
+
if (!writes) {
|
|
50
|
+
writes = new Map();
|
|
51
|
+
writesByStorage.set(storage, writes);
|
|
52
|
+
}
|
|
53
|
+
const previousWrite = writes.get(storageKey);
|
|
54
|
+
let nextIds = [];
|
|
55
|
+
const write = (previousWrite ?? Promise.resolve()).catch(() => undefined).then(async () => {
|
|
56
|
+
const currentIds = parseDeclinedDeviceIds(await storage.getItem(storageKey));
|
|
57
|
+
nextIds = update(currentIds);
|
|
58
|
+
await storage.setItem(storageKey, JSON.stringify(nextIds));
|
|
59
|
+
});
|
|
60
|
+
writes.set(storageKey, write);
|
|
61
|
+
try {
|
|
62
|
+
await write;
|
|
63
|
+
return nextIds;
|
|
64
|
+
} finally {
|
|
65
|
+
if (writes.get(storageKey) === write) {
|
|
66
|
+
writes.delete(storageKey);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
export { getDeclinedDeviceState, loadDeclinedDeviceIds, parseDeclinedDeviceIds, publishDeclinedDeviceIds, updateDeclinedDeviceIds };
|
|
71
|
+
//# sourceMappingURL=declined-device-storage.js.map
|