@osano/osano-cmp-react-native 0.14.0 → 0.17.0
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.dev.md +225 -12
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/OsanoCMPSDK/OsanoCMPSDKModule.kt +146 -75
- package/android/src/main/java/com/OsanoCMPSDK/OsanoCMPSDKPackage.kt +0 -1
- package/ios/OsanoCmpSDK.mm +11 -24
- package/ios/OsanoCmpSdk.h +0 -7
- package/lib/commonjs/ConsentManager.js +87 -99
- package/lib/commonjs/ConsentManager.js.map +1 -1
- package/lib/commonjs/ConsentUiBuilder.js +5 -8
- package/lib/commonjs/ConsentUiBuilder.js.map +1 -1
- package/lib/commonjs/components/Button.js +42 -56
- package/lib/commonjs/components/Button.js.map +1 -1
- package/lib/commonjs/components/Checkbox.js +11 -14
- package/lib/commonjs/components/Checkbox.js.map +1 -1
- package/lib/commonjs/components/Divider.js +1 -2
- package/lib/commonjs/components/Divider.js.map +1 -1
- package/lib/commonjs/components/ExpansionPanel.js +13 -18
- package/lib/commonjs/components/ExpansionPanel.js.map +1 -1
- package/lib/commonjs/components/Link.js +4 -6
- package/lib/commonjs/components/Link.js.map +1 -1
- package/lib/commonjs/components/List.js +9 -13
- package/lib/commonjs/components/List.js.map +1 -1
- package/lib/commonjs/components/Locale.js +1 -4
- package/lib/commonjs/components/Locale.js.map +1 -1
- package/lib/commonjs/components/StoragePolicyLink.js +3 -5
- package/lib/commonjs/components/StoragePolicyLink.js.map +1 -1
- package/lib/commonjs/components/Toggle.js +18 -20
- package/lib/commonjs/components/Toggle.js.map +1 -1
- package/lib/commonjs/iab/constants.js +1 -1
- package/lib/commonjs/iab/tcf/consent.js +17 -11
- package/lib/commonjs/iab/tcf/consent.js.map +1 -1
- package/lib/commonjs/iab/tcf/middleware.js +43 -20
- package/lib/commonjs/iab/tcf/middleware.js.map +1 -1
- package/lib/commonjs/iab/tcf/reducer.js +21 -7
- package/lib/commonjs/iab/tcf/reducer.js.map +1 -1
- package/lib/commonjs/iab/tcf/selectors.js +16 -1
- package/lib/commonjs/iab/tcf/selectors.js.map +1 -1
- package/lib/commonjs/iab/tcf/v2.0/tcfcav1-constants.js +15 -3
- package/lib/commonjs/iab/tcf/v2.0/tcfcav1-constants.js.map +1 -1
- package/lib/commonjs/iab/tcf/v2.0/tcfeuv2-constants.js +11 -2
- package/lib/commonjs/iab/tcf/v2.0/tcfeuv2-constants.js.map +1 -1
- package/lib/commonjs/index.js +11 -13
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/native/OsanoCmp.js +36 -11
- package/lib/commonjs/native/OsanoCmp.js.map +1 -1
- package/lib/commonjs/native/OsanoCmpSdkSpec.js +9 -0
- package/lib/commonjs/native/OsanoCmpSdkSpec.js.map +1 -0
- package/lib/commonjs/services/consent.js +41 -13
- package/lib/commonjs/services/consent.js.map +1 -1
- package/lib/commonjs/utils/ExpoDetector.js +105 -0
- package/lib/commonjs/utils/ExpoDetector.js.map +1 -0
- package/lib/commonjs/utils/ExpoGoMemoryStorage.js +61 -0
- package/lib/commonjs/utils/ExpoGoMemoryStorage.js.map +1 -0
- package/lib/commonjs/utils/Translator.js.map +1 -1
- package/lib/commonjs/views/Dialog/Buttons.js +31 -35
- package/lib/commonjs/views/Dialog/Buttons.js.map +1 -1
- package/lib/commonjs/views/Dialog/FirstLayerUsage.js +8 -12
- package/lib/commonjs/views/Dialog/FirstLayerUsage.js.map +1 -1
- package/lib/commonjs/views/Dialog/Message.js +1 -2
- package/lib/commonjs/views/Dialog/Message.js.map +1 -1
- package/lib/commonjs/views/Dialog/PreferenceManagementDeepLinks.js +15 -20
- package/lib/commonjs/views/Dialog/PreferenceManagementDeepLinks.js.map +1 -1
- package/lib/commonjs/views/Dialog/index.js +71 -103
- package/lib/commonjs/views/Dialog/index.js.map +1 -1
- package/lib/commonjs/views/Drawer/Drawer.ConsentCategories.js +197 -249
- package/lib/commonjs/views/Drawer/Drawer.ConsentCategories.js.map +1 -1
- package/lib/commonjs/views/Drawer/Drawer.Header.js +39 -46
- package/lib/commonjs/views/Drawer/Drawer.Header.js.map +1 -1
- package/lib/commonjs/views/Drawer/Drawer.Iab.Disclosures.js +87 -97
- package/lib/commonjs/views/Drawer/Drawer.Iab.Disclosures.js.map +1 -1
- package/lib/commonjs/views/Drawer/Drawer.Iab.Vendors.js +191 -225
- package/lib/commonjs/views/Drawer/Drawer.Iab.Vendors.js.map +1 -1
- package/lib/commonjs/views/Drawer/index.js +55 -73
- package/lib/commonjs/views/Drawer/index.js.map +1 -1
- package/lib/module/ConsentManager.js +87 -101
- package/lib/module/ConsentManager.js.map +1 -1
- package/lib/module/ConsentUiBuilder.js +5 -10
- package/lib/module/ConsentUiBuilder.js.map +1 -1
- package/lib/module/actions.js +0 -2
- package/lib/module/actions.js.map +1 -1
- package/lib/module/commands.js +0 -2
- package/lib/module/commands.js.map +1 -1
- package/lib/module/components/Button.js +42 -58
- package/lib/module/components/Button.js.map +1 -1
- package/lib/module/components/Checkbox.js +11 -16
- package/lib/module/components/Checkbox.js.map +1 -1
- package/lib/module/components/Divider.js +1 -4
- package/lib/module/components/Divider.js.map +1 -1
- package/lib/module/components/ExpansionPanel.js +13 -20
- package/lib/module/components/ExpansionPanel.js.map +1 -1
- package/lib/module/components/Link.js +4 -8
- package/lib/module/components/Link.js.map +1 -1
- package/lib/module/components/List.js +9 -15
- package/lib/module/components/List.js.map +1 -1
- package/lib/module/components/Locale.js +1 -6
- package/lib/module/components/Locale.js.map +1 -1
- package/lib/module/components/StoragePolicyLink.js +3 -7
- package/lib/module/components/StoragePolicyLink.js.map +1 -1
- package/lib/module/components/Toggle.js +18 -22
- package/lib/module/components/Toggle.js.map +1 -1
- package/lib/module/constants.js +0 -2
- package/lib/module/constants.js.map +1 -1
- package/lib/module/context.js +0 -2
- package/lib/module/context.js.map +1 -1
- package/lib/module/flavors/index.js +0 -2
- package/lib/module/flavors/index.js.map +1 -1
- package/lib/module/hooks/useBoundCallback.js +0 -2
- package/lib/module/hooks/useBoundCallback.js.map +1 -1
- package/lib/module/hooks/useDeviceOrientation.js +0 -2
- package/lib/module/hooks/useDeviceOrientation.js.map +1 -1
- package/lib/module/hooks/usePrevious.js +0 -2
- package/lib/module/hooks/usePrevious.js.map +1 -1
- package/lib/module/hooks/useThunkReducer.js +0 -2
- package/lib/module/hooks/useThunkReducer.js.map +1 -1
- package/lib/module/iab/actions.js +0 -2
- package/lib/module/iab/actions.js.map +1 -1
- package/lib/module/iab/constants.js +1 -3
- package/lib/module/iab/constants.js.map +1 -1
- package/lib/module/iab/gpp/api.js +0 -2
- package/lib/module/iab/gpp/api.js.map +1 -1
- package/lib/module/iab/gpp/consent.js +0 -2
- package/lib/module/iab/gpp/consent.js.map +1 -1
- package/lib/module/iab/gpp/constants.js +0 -2
- package/lib/module/iab/gpp/constants.js.map +1 -1
- package/lib/module/iab/gpp/encoders/AbstractBase64UrlEncoder.js +0 -2
- package/lib/module/iab/gpp/encoders/AbstractBase64UrlEncoder.js.map +1 -1
- package/lib/module/iab/gpp/encoders/BooleanEncoder.js +0 -2
- package/lib/module/iab/gpp/encoders/BooleanEncoder.js.map +1 -1
- package/lib/module/iab/gpp/encoders/CompressedBase64UrlEncoder.js +0 -2
- package/lib/module/iab/gpp/encoders/CompressedBase64UrlEncoder.js.map +1 -1
- package/lib/module/iab/gpp/encoders/DatetimeEncoder.js +0 -2
- package/lib/module/iab/gpp/encoders/DatetimeEncoder.js.map +1 -1
- package/lib/module/iab/gpp/encoders/EncodableOptimizedFixedRange.js +0 -2
- package/lib/module/iab/gpp/encoders/EncodableOptimizedFixedRange.js.map +1 -1
- package/lib/module/iab/gpp/encoders/FibonacciIntegerEncoder.js +0 -2
- package/lib/module/iab/gpp/encoders/FibonacciIntegerEncoder.js.map +1 -1
- package/lib/module/iab/gpp/encoders/FibonacciIntegerRangeEncoder.js +0 -2
- package/lib/module/iab/gpp/encoders/FibonacciIntegerRangeEncoder.js.map +1 -1
- package/lib/module/iab/gpp/encoders/FixedBitfieldEncoder.js +0 -2
- package/lib/module/iab/gpp/encoders/FixedBitfieldEncoder.js.map +1 -1
- package/lib/module/iab/gpp/encoders/FixedIdBitMapEncoder.js +0 -2
- package/lib/module/iab/gpp/encoders/FixedIdBitMapEncoder.js.map +1 -1
- package/lib/module/iab/gpp/encoders/FixedIntegerEncoder.js +0 -2
- package/lib/module/iab/gpp/encoders/FixedIntegerEncoder.js.map +1 -1
- package/lib/module/iab/gpp/encoders/FixedIntegerListEncoder.js +0 -2
- package/lib/module/iab/gpp/encoders/FixedIntegerListEncoder.js.map +1 -1
- package/lib/module/iab/gpp/encoders/FixedIntegerRangeEncoder.js +0 -2
- package/lib/module/iab/gpp/encoders/FixedIntegerRangeEncoder.js.map +1 -1
- package/lib/module/iab/gpp/encoders/FixedStringEncoder.js +0 -2
- package/lib/module/iab/gpp/encoders/FixedStringEncoder.js.map +1 -1
- package/lib/module/iab/gpp/encoders/TraditionalBase64UrlEncoder.js +0 -2
- package/lib/module/iab/gpp/encoders/TraditionalBase64UrlEncoder.js.map +1 -1
- package/lib/module/iab/gpp/encoders/errors.js +0 -2
- package/lib/module/iab/gpp/encoders/errors.js.map +1 -1
- package/lib/module/iab/gpp/encoders/index.js +0 -2
- package/lib/module/iab/gpp/encoders/index.js.map +1 -1
- package/lib/module/iab/gpp/encoders/types.js +1 -1
- package/lib/module/iab/gpp/index.js +0 -2
- package/lib/module/iab/gpp/index.js.map +1 -1
- package/lib/module/iab/gpp/reducer.js +0 -2
- package/lib/module/iab/gpp/reducer.js.map +1 -1
- package/lib/module/iab/gpp/selectors.js +0 -2
- package/lib/module/iab/gpp/selectors.js.map +1 -1
- package/lib/module/iab/gpp/types.js +1 -1
- package/lib/module/iab/gpp/v1/constants.js +0 -2
- package/lib/module/iab/gpp/v1/constants.js.map +1 -1
- package/lib/module/iab/gpp/v1/index.js +0 -2
- package/lib/module/iab/gpp/v1/index.js.map +1 -1
- package/lib/module/iab/index.js +0 -2
- package/lib/module/iab/index.js.map +1 -1
- package/lib/module/iab/reducer.js +0 -2
- package/lib/module/iab/reducer.js.map +1 -1
- package/lib/module/iab/tcf/actions.js +0 -2
- package/lib/module/iab/tcf/actions.js.map +1 -1
- package/lib/module/iab/tcf/consent.js +18 -14
- package/lib/module/iab/tcf/consent.js.map +1 -1
- package/lib/module/iab/tcf/constants.js +0 -2
- package/lib/module/iab/tcf/constants.js.map +1 -1
- package/lib/module/iab/tcf/helpers.js +0 -2
- package/lib/module/iab/tcf/helpers.js.map +1 -1
- package/lib/module/iab/tcf/iab-storage-utils.js +0 -2
- package/lib/module/iab/tcf/iab-storage-utils.js.map +1 -1
- package/lib/module/iab/tcf/index.js +0 -2
- package/lib/module/iab/tcf/index.js.map +1 -1
- package/lib/module/iab/tcf/middleware.js +34 -13
- package/lib/module/iab/tcf/middleware.js.map +1 -1
- package/lib/module/iab/tcf/reducer.js +22 -10
- package/lib/module/iab/tcf/reducer.js.map +1 -1
- package/lib/module/iab/tcf/selectors.js +13 -2
- package/lib/module/iab/tcf/selectors.js.map +1 -1
- package/lib/module/iab/tcf/types.js +0 -2
- package/lib/module/iab/tcf/v2.0/encoders.js +0 -2
- package/lib/module/iab/tcf/v2.0/encoders.js.map +1 -1
- package/lib/module/iab/tcf/v2.0/formatters.js +0 -2
- package/lib/module/iab/tcf/v2.0/formatters.js.map +1 -1
- package/lib/module/iab/tcf/v2.0/index.js +0 -2
- package/lib/module/iab/tcf/v2.0/index.js.map +1 -1
- package/lib/module/iab/tcf/v2.0/shared-constants.js +0 -2
- package/lib/module/iab/tcf/v2.0/shared-constants.js.map +1 -1
- package/lib/module/iab/tcf/v2.0/tcfcav1-constants.js +15 -5
- package/lib/module/iab/tcf/v2.0/tcfcav1-constants.js.map +1 -1
- package/lib/module/iab/tcf/v2.0/tcfeuv2-constants.js +11 -4
- package/lib/module/iab/tcf/v2.0/tcfeuv2-constants.js.map +1 -1
- package/lib/module/iab/types.js +0 -2
- package/lib/module/iab/usp/api.js +0 -2
- package/lib/module/iab/usp/api.js.map +1 -1
- package/lib/module/iab/usp/consent.js +0 -2
- package/lib/module/iab/usp/consent.js.map +1 -1
- package/lib/module/iab/usp/constants.js +0 -2
- package/lib/module/iab/usp/constants.js.map +1 -1
- package/lib/module/iab/usp/index.js +0 -2
- package/lib/module/iab/usp/index.js.map +1 -1
- package/lib/module/iab/usp/reducer.js +0 -2
- package/lib/module/iab/usp/reducer.js.map +1 -1
- package/lib/module/iab/usp/selectors.js +0 -2
- package/lib/module/iab/usp/selectors.js.map +1 -1
- package/lib/module/iab/usp/types.js +1 -1
- package/lib/module/iab/usp/v1/constants.js +0 -2
- package/lib/module/iab/usp/v1/constants.js.map +1 -1
- package/lib/module/iab/usp/v1/index.js +0 -2
- package/lib/module/iab/usp/v1/index.js.map +1 -1
- package/lib/module/iab/utilities.js +0 -2
- package/lib/module/iab/utilities.js.map +1 -1
- package/lib/module/index.js +11 -15
- package/lib/module/index.js.map +1 -1
- package/lib/module/locale/index.js +0 -2
- package/lib/module/locale/index.js.map +1 -1
- package/lib/module/native/OsanoCmp.js +36 -13
- package/lib/module/native/OsanoCmp.js.map +1 -1
- package/lib/module/native/OsanoCmpSdkSpec.js +3 -0
- package/lib/module/native/OsanoCmpSdkSpec.js.map +1 -0
- package/lib/module/reducer.js +0 -2
- package/lib/module/reducer.js.map +1 -1
- package/lib/module/selectors.js +0 -2
- package/lib/module/selectors.js.map +1 -1
- package/lib/module/services/consent.js +41 -15
- package/lib/module/services/consent.js.map +1 -1
- package/lib/module/services/disclosures.js +0 -2
- package/lib/module/services/disclosures.js.map +1 -1
- package/lib/module/services/google-consent-mode-mapper.js +0 -2
- package/lib/module/services/google-consent-mode-mapper.js.map +1 -1
- package/lib/module/services/locale.js +0 -2
- package/lib/module/services/locale.js.map +1 -1
- package/lib/module/styles.js +0 -2
- package/lib/module/styles.js.map +1 -1
- package/lib/module/types/consent-config.d.js +0 -2
- package/lib/module/types/env.d.js +1 -1
- package/lib/module/types/google-consent-mode.js +0 -2
- package/lib/module/types/google-consent-mode.js.map +1 -1
- package/lib/module/types/index.d.js +0 -2
- package/lib/module/types/store.d.js +0 -2
- package/lib/module/utils/API.js +0 -2
- package/lib/module/utils/API.js.map +1 -1
- package/lib/module/utils/Color.js +0 -2
- package/lib/module/utils/Color.js.map +1 -1
- package/lib/module/utils/EventEmitter.js +0 -2
- package/lib/module/utils/EventEmitter.js.map +1 -1
- package/lib/module/utils/ExpoDetector.js +98 -0
- package/lib/module/utils/ExpoDetector.js.map +1 -0
- package/lib/module/utils/ExpoGoMemoryStorage.js +54 -0
- package/lib/module/utils/ExpoGoMemoryStorage.js.map +1 -0
- package/lib/module/utils/OsanoLogger.js +0 -2
- package/lib/module/utils/OsanoLogger.js.map +1 -1
- package/lib/module/utils/Translator.js +0 -2
- package/lib/module/utils/Translator.js.map +1 -1
- package/lib/module/utils/index.js +0 -2
- package/lib/module/utils/index.js.map +1 -1
- package/lib/module/utils/types.js +1 -1
- package/lib/module/views/Dialog/Buttons.js +31 -37
- package/lib/module/views/Dialog/Buttons.js.map +1 -1
- package/lib/module/views/Dialog/FirstLayerUsage.js +8 -14
- package/lib/module/views/Dialog/FirstLayerUsage.js.map +1 -1
- package/lib/module/views/Dialog/Message.js +1 -4
- package/lib/module/views/Dialog/Message.js.map +1 -1
- package/lib/module/views/Dialog/PreferenceManagementDeepLinks.js +15 -22
- package/lib/module/views/Dialog/PreferenceManagementDeepLinks.js.map +1 -1
- package/lib/module/views/Dialog/index.js +72 -106
- package/lib/module/views/Dialog/index.js.map +1 -1
- package/lib/module/views/Drawer/Drawer.ConsentCategories.js +197 -251
- package/lib/module/views/Drawer/Drawer.ConsentCategories.js.map +1 -1
- package/lib/module/views/Drawer/Drawer.Header.js +39 -48
- package/lib/module/views/Drawer/Drawer.Header.js.map +1 -1
- package/lib/module/views/Drawer/Drawer.Iab.Disclosures.js +87 -99
- package/lib/module/views/Drawer/Drawer.Iab.Disclosures.js.map +1 -1
- package/lib/module/views/Drawer/Drawer.Iab.Vendors.js +191 -227
- package/lib/module/views/Drawer/Drawer.Iab.Vendors.js.map +1 -1
- package/lib/module/views/Drawer/index.js +55 -75
- package/lib/module/views/Drawer/index.js.map +1 -1
- package/lib/typescript/lib/commonjs/ConsentManager.d.ts +209 -0
- package/lib/typescript/lib/commonjs/ConsentManager.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/ConsentUiBuilder.d.ts +3 -0
- package/lib/typescript/lib/commonjs/ConsentUiBuilder.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/actions.d.ts +66 -0
- package/lib/typescript/lib/commonjs/actions.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/commands.d.ts +4 -0
- package/lib/typescript/lib/commonjs/commands.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/Button.d.ts +11 -0
- package/lib/typescript/lib/commonjs/components/Button.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/Checkbox.d.ts +4 -0
- package/lib/typescript/lib/commonjs/components/Checkbox.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/Divider.d.ts +3 -0
- package/lib/typescript/lib/commonjs/components/Divider.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/ExpansionPanel.d.ts +8 -0
- package/lib/typescript/lib/commonjs/components/ExpansionPanel.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/Link.d.ts +3 -0
- package/lib/typescript/lib/commonjs/components/Link.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/List.d.ts +3 -0
- package/lib/typescript/lib/commonjs/components/List.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/Locale.d.ts +6 -0
- package/lib/typescript/lib/commonjs/components/Locale.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/StoragePolicyLink.d.ts +4 -0
- package/lib/typescript/lib/commonjs/components/StoragePolicyLink.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/components/Toggle.d.ts +4 -0
- package/lib/typescript/lib/commonjs/components/Toggle.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/constants.d.ts +20 -0
- package/lib/typescript/lib/commonjs/constants.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/context.d.ts +4 -0
- package/lib/typescript/lib/commonjs/context.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/flavors/index.d.ts +122 -0
- package/lib/typescript/lib/commonjs/flavors/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/hooks/useBoundCallback.d.ts +18 -0
- package/lib/typescript/lib/commonjs/hooks/useBoundCallback.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/hooks/useDeviceOrientation.d.ts +4 -0
- package/lib/typescript/lib/commonjs/hooks/useDeviceOrientation.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/hooks/usePrevious.d.ts +3 -0
- package/lib/typescript/lib/commonjs/hooks/usePrevious.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/hooks/useThunkReducer.d.ts +8 -0
- package/lib/typescript/lib/commonjs/hooks/useThunkReducer.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/actions.d.ts +10 -0
- package/lib/typescript/lib/commonjs/iab/actions.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/constants.d.ts +5 -0
- package/lib/typescript/lib/commonjs/iab/constants.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/api.d.ts +30 -0
- package/lib/typescript/lib/commonjs/iab/gpp/api.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/consent.d.ts +25 -0
- package/lib/typescript/lib/commonjs/iab/gpp/consent.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/constants.d.ts +26 -0
- package/lib/typescript/lib/commonjs/iab/gpp/constants.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts +9 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/BooleanEncoder.d.ts +32 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/BooleanEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/CompressedBase64UrlEncoder.d.ts +10 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/CompressedBase64UrlEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/DatetimeEncoder.d.ts +29 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/DatetimeEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/EncodableOptimizedFixedRange.d.ts +19 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/EncodableOptimizedFixedRange.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/FibonacciIntegerEncoder.d.ts +29 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/FibonacciIntegerEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/FibonacciIntegerRangeEncoder.d.ts +29 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/FibonacciIntegerRangeEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/FixedBitfieldEncoder.d.ts +29 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/FixedBitfieldEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/FixedIdBitMapEncoder.d.ts +7 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/FixedIdBitMapEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/FixedIntegerEncoder.d.ts +29 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/FixedIntegerEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/FixedIntegerListEncoder.d.ts +29 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/FixedIntegerListEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/FixedIntegerRangeEncoder.d.ts +29 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/FixedIntegerRangeEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/FixedStringEncoder.d.ts +29 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/FixedStringEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/TraditionalBase64UrlEncoder.d.ts +10 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/TraditionalBase64UrlEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/errors.d.ts +17 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/errors.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/index.d.ts +16 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/types.d.ts +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/encoders/types.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/index.d.ts +9 -0
- package/lib/typescript/lib/commonjs/iab/gpp/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/reducer.d.ts +7 -0
- package/lib/typescript/lib/commonjs/iab/gpp/reducer.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/selectors.d.ts +7 -0
- package/lib/typescript/lib/commonjs/iab/gpp/selectors.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/types.d.ts +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/types.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/v1/constants.d.ts +13 -0
- package/lib/typescript/lib/commonjs/iab/gpp/v1/constants.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/gpp/v1/index.d.ts +12 -0
- package/lib/typescript/lib/commonjs/iab/gpp/v1/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/index.d.ts +3 -0
- package/lib/typescript/lib/commonjs/iab/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/reducer.d.ts +6 -0
- package/lib/typescript/lib/commonjs/iab/reducer.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/tcf/actions.d.ts +64 -0
- package/lib/typescript/lib/commonjs/iab/tcf/actions.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/tcf/consent.d.ts +60 -0
- package/lib/typescript/lib/commonjs/iab/tcf/consent.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/tcf/constants.d.ts +62 -0
- package/lib/typescript/lib/commonjs/iab/tcf/constants.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/tcf/helpers.d.ts +9 -0
- package/lib/typescript/lib/commonjs/iab/tcf/helpers.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/tcf/iab-storage-utils.d.ts +9 -0
- package/lib/typescript/lib/commonjs/iab/tcf/iab-storage-utils.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/tcf/index.d.ts +4 -0
- package/lib/typescript/lib/commonjs/iab/tcf/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/tcf/middleware.d.ts +4 -0
- package/lib/typescript/lib/commonjs/iab/tcf/middleware.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/tcf/reducer.d.ts +23 -0
- package/lib/typescript/lib/commonjs/iab/tcf/reducer.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/tcf/selectors.d.ts +49 -0
- package/lib/typescript/lib/commonjs/iab/tcf/selectors.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/tcf/types.d.ts +2 -0
- package/lib/typescript/lib/commonjs/iab/tcf/types.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/tcf/v2.0/encoders.d.ts +14 -0
- package/lib/typescript/lib/commonjs/iab/tcf/v2.0/encoders.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/tcf/v2.0/formatters.d.ts +5 -0
- package/lib/typescript/lib/commonjs/iab/tcf/v2.0/formatters.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/tcf/v2.0/index.d.ts +200 -0
- package/lib/typescript/lib/commonjs/iab/tcf/v2.0/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/tcf/v2.0/shared-constants.d.ts +32 -0
- package/lib/typescript/lib/commonjs/iab/tcf/v2.0/shared-constants.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/tcf/v2.0/tcfcav1-constants.d.ts +47 -0
- package/lib/typescript/lib/commonjs/iab/tcf/v2.0/tcfcav1-constants.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/tcf/v2.0/tcfeuv2-constants.d.ts +51 -0
- package/lib/typescript/lib/commonjs/iab/tcf/v2.0/tcfeuv2-constants.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/types.d.ts +2 -0
- package/lib/typescript/lib/commonjs/iab/types.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/usp/api.d.ts +6 -0
- package/lib/typescript/lib/commonjs/iab/usp/api.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/usp/consent.d.ts +27 -0
- package/lib/typescript/lib/commonjs/iab/usp/consent.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/usp/constants.d.ts +109 -0
- package/lib/typescript/lib/commonjs/iab/usp/constants.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/usp/index.d.ts +9 -0
- package/lib/typescript/lib/commonjs/iab/usp/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/usp/reducer.d.ts +14 -0
- package/lib/typescript/lib/commonjs/iab/usp/reducer.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/usp/selectors.d.ts +7 -0
- package/lib/typescript/lib/commonjs/iab/usp/selectors.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/usp/types.d.ts +1 -0
- package/lib/typescript/lib/commonjs/iab/usp/types.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/usp/v1/constants.d.ts +13 -0
- package/lib/typescript/lib/commonjs/iab/usp/v1/constants.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/usp/v1/index.d.ts +12 -0
- package/lib/typescript/lib/commonjs/iab/usp/v1/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/iab/utilities.d.ts +3 -0
- package/lib/typescript/lib/commonjs/iab/utilities.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/index.d.ts +6 -0
- package/lib/typescript/lib/commonjs/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/locale/index.d.ts +62 -0
- package/lib/typescript/lib/commonjs/locale/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/native/OsanoCmp.d.ts +10 -0
- package/lib/typescript/lib/commonjs/native/OsanoCmp.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/native/OsanoCmpSdkSpec.d.ts +5 -0
- package/lib/typescript/lib/commonjs/native/OsanoCmpSdkSpec.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/reducer.d.ts +35 -0
- package/lib/typescript/lib/commonjs/reducer.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/selectors.d.ts +16 -0
- package/lib/typescript/lib/commonjs/selectors.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/services/consent.d.ts +11 -0
- package/lib/typescript/lib/commonjs/services/consent.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/services/disclosures.d.ts +3 -0
- package/lib/typescript/lib/commonjs/services/disclosures.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/services/google-consent-mode-mapper.d.ts +72 -0
- package/lib/typescript/lib/commonjs/services/google-consent-mode-mapper.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/services/locale.d.ts +4 -0
- package/lib/typescript/lib/commonjs/services/locale.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/styles.d.ts +141 -0
- package/lib/typescript/lib/commonjs/styles.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/types/consent-config.d.d.ts +2 -0
- package/lib/typescript/lib/commonjs/types/consent-config.d.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/types/env.d.d.ts +1 -0
- package/lib/typescript/lib/commonjs/types/env.d.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/types/google-consent-mode.d.ts +32 -0
- package/lib/typescript/lib/commonjs/types/google-consent-mode.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/types/index.d.d.ts +2 -0
- package/lib/typescript/lib/commonjs/types/index.d.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/types/store.d.d.ts +2 -0
- package/lib/typescript/lib/commonjs/types/store.d.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/utils/API.d.ts +7 -0
- package/lib/typescript/lib/commonjs/utils/API.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/utils/Color.d.ts +13 -0
- package/lib/typescript/lib/commonjs/utils/Color.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/utils/EventEmitter.d.ts +16 -0
- package/lib/typescript/lib/commonjs/utils/EventEmitter.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/utils/ExpoDetector.d.ts +28 -0
- package/lib/typescript/lib/commonjs/utils/ExpoDetector.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/utils/ExpoGoMemoryStorage.d.ts +22 -0
- package/lib/typescript/lib/commonjs/utils/ExpoGoMemoryStorage.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/utils/OsanoLogger.d.ts +16 -0
- package/lib/typescript/lib/commonjs/utils/OsanoLogger.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/utils/Translator.d.ts +54 -0
- package/lib/typescript/lib/commonjs/utils/Translator.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/utils/index.d.ts +8 -0
- package/lib/typescript/lib/commonjs/utils/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/utils/types.d.ts +1 -0
- package/lib/typescript/lib/commonjs/utils/types.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/views/Dialog/Buttons.d.ts +4 -0
- package/lib/typescript/lib/commonjs/views/Dialog/Buttons.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/views/Dialog/FirstLayerUsage.d.ts +4 -0
- package/lib/typescript/lib/commonjs/views/Dialog/FirstLayerUsage.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/views/Dialog/Message.d.ts +4 -0
- package/lib/typescript/lib/commonjs/views/Dialog/Message.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/views/Dialog/PreferenceManagementDeepLinks.d.ts +4 -0
- package/lib/typescript/lib/commonjs/views/Dialog/PreferenceManagementDeepLinks.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/views/Dialog/index.d.ts +4 -0
- package/lib/typescript/lib/commonjs/views/Dialog/index.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/views/Drawer/Drawer.ConsentCategories.d.ts +4 -0
- package/lib/typescript/lib/commonjs/views/Drawer/Drawer.ConsentCategories.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/views/Drawer/Drawer.Header.d.ts +4 -0
- package/lib/typescript/lib/commonjs/views/Drawer/Drawer.Header.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/views/Drawer/Drawer.Iab.Disclosures.d.ts +4 -0
- package/lib/typescript/lib/commonjs/views/Drawer/Drawer.Iab.Disclosures.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/views/Drawer/Drawer.Iab.Vendors.d.ts +4 -0
- package/lib/typescript/lib/commonjs/views/Drawer/Drawer.Iab.Vendors.d.ts.map +1 -0
- package/lib/typescript/lib/commonjs/views/Drawer/index.d.ts +3 -0
- package/lib/typescript/lib/commonjs/views/Drawer/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/ConsentManager.d.ts +543 -0
- package/lib/typescript/lib/module/ConsentManager.d.ts.map +1 -0
- package/lib/typescript/lib/module/ConsentUiBuilder.d.ts +175 -0
- package/lib/typescript/lib/module/ConsentUiBuilder.d.ts.map +1 -0
- package/lib/typescript/lib/module/actions.d.ts +65 -0
- package/lib/typescript/lib/module/actions.d.ts.map +1 -0
- package/lib/typescript/lib/module/commands.d.ts +3 -0
- package/lib/typescript/lib/module/commands.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/Button.d.ts +11 -0
- package/lib/typescript/lib/module/components/Button.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/Checkbox.d.ts +4 -0
- package/lib/typescript/lib/module/components/Checkbox.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/Divider.d.ts +4 -0
- package/lib/typescript/lib/module/components/Divider.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/ExpansionPanel.d.ts +9 -0
- package/lib/typescript/lib/module/components/ExpansionPanel.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/Link.d.ts +4 -0
- package/lib/typescript/lib/module/components/Link.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/List.d.ts +4 -0
- package/lib/typescript/lib/module/components/List.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/Locale.d.ts +8 -0
- package/lib/typescript/lib/module/components/Locale.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/StoragePolicyLink.d.ts +4 -0
- package/lib/typescript/lib/module/components/StoragePolicyLink.d.ts.map +1 -0
- package/lib/typescript/lib/module/components/Toggle.d.ts +4 -0
- package/lib/typescript/lib/module/components/Toggle.d.ts.map +1 -0
- package/lib/typescript/lib/module/constants.d.ts +19 -0
- package/lib/typescript/lib/module/constants.d.ts.map +1 -0
- package/lib/typescript/lib/module/context.d.ts +194 -0
- package/lib/typescript/lib/module/context.d.ts.map +1 -0
- package/lib/typescript/lib/module/flavors/index.d.ts +17 -0
- package/lib/typescript/lib/module/flavors/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/hooks/useBoundCallback.d.ts +17 -0
- package/lib/typescript/lib/module/hooks/useBoundCallback.d.ts.map +1 -0
- package/lib/typescript/lib/module/hooks/useDeviceOrientation.d.ts +3 -0
- package/lib/typescript/lib/module/hooks/useDeviceOrientation.d.ts.map +1 -0
- package/lib/typescript/lib/module/hooks/usePrevious.d.ts +2 -0
- package/lib/typescript/lib/module/hooks/usePrevious.d.ts.map +1 -0
- package/lib/typescript/lib/module/hooks/useThunkReducer.d.ts +7 -0
- package/lib/typescript/lib/module/hooks/useThunkReducer.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/actions.d.ts +9 -0
- package/lib/typescript/lib/module/iab/actions.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/constants.d.ts +4 -0
- package/lib/typescript/lib/module/iab/constants.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/api.d.ts +28 -0
- package/lib/typescript/lib/module/iab/gpp/api.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/consent.d.ts +24 -0
- package/lib/typescript/lib/module/iab/gpp/consent.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/constants.d.ts +37 -0
- package/lib/typescript/lib/module/iab/gpp/constants.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts +8 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/BooleanEncoder.d.ts +8 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/BooleanEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/CompressedBase64UrlEncoder.d.ts +9 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/CompressedBase64UrlEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/DatetimeEncoder.d.ts +8 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/DatetimeEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/EncodableOptimizedFixedRange.d.ts +18 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/EncodableOptimizedFixedRange.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/FibonacciIntegerEncoder.d.ts +8 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/FibonacciIntegerEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/FibonacciIntegerRangeEncoder.d.ts +8 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/FibonacciIntegerRangeEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/FixedBitfieldEncoder.d.ts +8 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/FixedBitfieldEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/FixedIdBitMapEncoder.d.ts +6 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/FixedIdBitMapEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/FixedIntegerEncoder.d.ts +8 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/FixedIntegerEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/FixedIntegerListEncoder.d.ts +8 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/FixedIntegerListEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/FixedIntegerRangeEncoder.d.ts +8 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/FixedIntegerRangeEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/FixedStringEncoder.d.ts +8 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/FixedStringEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/TraditionalBase64UrlEncoder.d.ts +9 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/TraditionalBase64UrlEncoder.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/errors.d.ts +16 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/errors.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/index.d.ts +15 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/types.d.ts +1 -0
- package/lib/typescript/lib/module/iab/gpp/encoders/types.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/index.d.ts +10 -0
- package/lib/typescript/lib/module/iab/gpp/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/reducer.d.ts +6 -0
- package/lib/typescript/lib/module/iab/gpp/reducer.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/selectors.d.ts +6 -0
- package/lib/typescript/lib/module/iab/gpp/selectors.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/types.d.ts +1 -0
- package/lib/typescript/lib/module/iab/gpp/types.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/v1/constants.d.ts +9 -0
- package/lib/typescript/lib/module/iab/gpp/v1/constants.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/gpp/v1/index.d.ts +17 -0
- package/lib/typescript/lib/module/iab/gpp/v1/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/index.d.ts +2 -0
- package/lib/typescript/lib/module/iab/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/reducer.d.ts +5 -0
- package/lib/typescript/lib/module/iab/reducer.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/tcf/actions.d.ts +63 -0
- package/lib/typescript/lib/module/iab/tcf/actions.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/tcf/consent.d.ts +59 -0
- package/lib/typescript/lib/module/iab/tcf/consent.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/tcf/constants.d.ts +61 -0
- package/lib/typescript/lib/module/iab/tcf/constants.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/tcf/helpers.d.ts +8 -0
- package/lib/typescript/lib/module/iab/tcf/helpers.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/tcf/iab-storage-utils.d.ts +8 -0
- package/lib/typescript/lib/module/iab/tcf/iab-storage-utils.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/tcf/index.d.ts +332 -0
- package/lib/typescript/lib/module/iab/tcf/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/tcf/middleware.d.ts +3 -0
- package/lib/typescript/lib/module/iab/tcf/middleware.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/tcf/reducer.d.ts +21 -0
- package/lib/typescript/lib/module/iab/tcf/reducer.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/tcf/selectors.d.ts +48 -0
- package/lib/typescript/lib/module/iab/tcf/selectors.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/tcf/types.d.ts +2 -0
- package/lib/typescript/lib/module/iab/tcf/types.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/tcf/v2.0/encoders.d.ts +13 -0
- package/lib/typescript/lib/module/iab/tcf/v2.0/encoders.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/tcf/v2.0/formatters.d.ts +4 -0
- package/lib/typescript/lib/module/iab/tcf/v2.0/formatters.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/tcf/v2.0/index.d.ts +337 -0
- package/lib/typescript/lib/module/iab/tcf/v2.0/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/tcf/v2.0/shared-constants.d.ts +81 -0
- package/lib/typescript/lib/module/iab/tcf/v2.0/shared-constants.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/tcf/v2.0/tcfcav1-constants.d.ts +121 -0
- package/lib/typescript/lib/module/iab/tcf/v2.0/tcfcav1-constants.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/tcf/v2.0/tcfeuv2-constants.d.ts +113 -0
- package/lib/typescript/lib/module/iab/tcf/v2.0/tcfeuv2-constants.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/types.d.ts +2 -0
- package/lib/typescript/lib/module/iab/types.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/usp/api.d.ts +4 -0
- package/lib/typescript/lib/module/iab/usp/api.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/usp/consent.d.ts +13 -0
- package/lib/typescript/lib/module/iab/usp/consent.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/usp/constants.d.ts +77 -0
- package/lib/typescript/lib/module/iab/usp/constants.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/usp/index.d.ts +10 -0
- package/lib/typescript/lib/module/iab/usp/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/usp/reducer.d.ts +13 -0
- package/lib/typescript/lib/module/iab/usp/reducer.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/usp/selectors.d.ts +6 -0
- package/lib/typescript/lib/module/iab/usp/selectors.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/usp/types.d.ts +1 -0
- package/lib/typescript/lib/module/iab/usp/types.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/usp/v1/constants.d.ts +9 -0
- package/lib/typescript/lib/module/iab/usp/v1/constants.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/usp/v1/index.d.ts +16 -0
- package/lib/typescript/lib/module/iab/usp/v1/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/iab/utilities.d.ts +2 -0
- package/lib/typescript/lib/module/iab/utilities.d.ts.map +1 -0
- package/lib/typescript/lib/module/index.d.ts +5 -0
- package/lib/typescript/lib/module/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/locale/index.d.ts +61 -0
- package/lib/typescript/lib/module/locale/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/native/OsanoCmp.d.ts +9 -0
- package/lib/typescript/lib/module/native/OsanoCmp.d.ts.map +1 -0
- package/lib/typescript/lib/module/native/OsanoCmpSdkSpec.d.ts +3 -0
- package/lib/typescript/lib/module/native/OsanoCmpSdkSpec.d.ts.map +1 -0
- package/lib/typescript/lib/module/reducer.d.ts +34 -0
- package/lib/typescript/lib/module/reducer.d.ts.map +1 -0
- package/lib/typescript/lib/module/selectors.d.ts +15 -0
- package/lib/typescript/lib/module/selectors.d.ts.map +1 -0
- package/lib/typescript/lib/module/services/consent.d.ts +10 -0
- package/lib/typescript/lib/module/services/consent.d.ts.map +1 -0
- package/lib/typescript/lib/module/services/disclosures.d.ts +2 -0
- package/lib/typescript/lib/module/services/disclosures.d.ts.map +1 -0
- package/lib/typescript/lib/module/services/google-consent-mode-mapper.d.ts +71 -0
- package/lib/typescript/lib/module/services/google-consent-mode-mapper.d.ts.map +1 -0
- package/lib/typescript/lib/module/services/locale.d.ts +3 -0
- package/lib/typescript/lib/module/services/locale.d.ts.map +1 -0
- package/lib/typescript/lib/module/styles.d.ts +140 -0
- package/lib/typescript/lib/module/styles.d.ts.map +1 -0
- package/lib/typescript/lib/module/types/consent-config.d.d.ts +2 -0
- package/lib/typescript/lib/module/types/consent-config.d.d.ts.map +1 -0
- package/lib/typescript/lib/module/types/env.d.d.ts +1 -0
- package/lib/typescript/lib/module/types/env.d.d.ts.map +1 -0
- package/lib/typescript/lib/module/types/google-consent-mode.d.ts +38 -0
- package/lib/typescript/lib/module/types/google-consent-mode.d.ts.map +1 -0
- package/lib/typescript/lib/module/types/index.d.d.ts +2 -0
- package/lib/typescript/lib/module/types/index.d.d.ts.map +1 -0
- package/lib/typescript/lib/module/types/store.d.d.ts +2 -0
- package/lib/typescript/lib/module/types/store.d.d.ts.map +1 -0
- package/lib/typescript/lib/module/utils/API.d.ts +6 -0
- package/lib/typescript/lib/module/utils/API.d.ts.map +1 -0
- package/lib/typescript/lib/module/utils/Color.d.ts +12 -0
- package/lib/typescript/lib/module/utils/Color.d.ts.map +1 -0
- package/lib/typescript/lib/module/utils/EventEmitter.d.ts +15 -0
- package/lib/typescript/lib/module/utils/EventEmitter.d.ts.map +1 -0
- package/lib/typescript/lib/module/utils/ExpoDetector.d.ts +27 -0
- package/lib/typescript/lib/module/utils/ExpoDetector.d.ts.map +1 -0
- package/lib/typescript/lib/module/utils/ExpoGoMemoryStorage.d.ts +21 -0
- package/lib/typescript/lib/module/utils/ExpoGoMemoryStorage.d.ts.map +1 -0
- package/lib/typescript/lib/module/utils/OsanoLogger.d.ts +15 -0
- package/lib/typescript/lib/module/utils/OsanoLogger.d.ts.map +1 -0
- package/lib/typescript/lib/module/utils/Translator.d.ts +52 -0
- package/lib/typescript/lib/module/utils/Translator.d.ts.map +1 -0
- package/lib/typescript/lib/module/utils/index.d.ts +6 -0
- package/lib/typescript/lib/module/utils/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/utils/types.d.ts +1 -0
- package/lib/typescript/lib/module/utils/types.d.ts.map +1 -0
- package/lib/typescript/lib/module/views/Dialog/Buttons.d.ts +5 -0
- package/lib/typescript/lib/module/views/Dialog/Buttons.d.ts.map +1 -0
- package/lib/typescript/lib/module/views/Dialog/FirstLayerUsage.d.ts +5 -0
- package/lib/typescript/lib/module/views/Dialog/FirstLayerUsage.d.ts.map +1 -0
- package/lib/typescript/lib/module/views/Dialog/Message.d.ts +4 -0
- package/lib/typescript/lib/module/views/Dialog/Message.d.ts.map +1 -0
- package/lib/typescript/lib/module/views/Dialog/PreferenceManagementDeepLinks.d.ts +6 -0
- package/lib/typescript/lib/module/views/Dialog/PreferenceManagementDeepLinks.d.ts.map +1 -0
- package/lib/typescript/lib/module/views/Dialog/index.d.ts +5 -0
- package/lib/typescript/lib/module/views/Dialog/index.d.ts.map +1 -0
- package/lib/typescript/lib/module/views/Drawer/Drawer.ConsentCategories.d.ts +5 -0
- package/lib/typescript/lib/module/views/Drawer/Drawer.ConsentCategories.d.ts.map +1 -0
- package/lib/typescript/lib/module/views/Drawer/Drawer.Header.d.ts +5 -0
- package/lib/typescript/lib/module/views/Drawer/Drawer.Header.d.ts.map +1 -0
- package/lib/typescript/lib/module/views/Drawer/Drawer.Iab.Disclosures.d.ts +5 -0
- package/lib/typescript/lib/module/views/Drawer/Drawer.Iab.Disclosures.d.ts.map +1 -0
- package/lib/typescript/lib/module/views/Drawer/Drawer.Iab.Vendors.d.ts +5 -0
- package/lib/typescript/lib/module/views/Drawer/Drawer.Iab.Vendors.d.ts.map +1 -0
- package/lib/typescript/lib/module/views/Drawer/index.d.ts +4 -0
- package/lib/typescript/lib/module/views/Drawer/index.d.ts.map +1 -0
- package/lib/typescript/src/ConsentManager.d.ts +3 -3
- package/lib/typescript/src/ConsentManager.d.ts.map +1 -1
- package/lib/typescript/src/commands.d.ts.map +1 -1
- package/lib/typescript/src/components/Button.d.ts.map +1 -1
- package/lib/typescript/src/components/Divider.d.ts.map +1 -1
- package/lib/typescript/src/components/ExpansionPanel.d.ts.map +1 -1
- package/lib/typescript/src/components/Link.d.ts.map +1 -1
- package/lib/typescript/src/components/Locale.d.ts.map +1 -1
- package/lib/typescript/src/components/StoragePolicyLink.d.ts.map +1 -1
- package/lib/typescript/src/components/Toggle.d.ts.map +1 -1
- package/lib/typescript/src/iab/actions.d.ts.map +1 -1
- package/lib/typescript/src/iab/constants.d.ts +1 -1
- package/lib/typescript/src/iab/gpp/api.d.ts.map +1 -1
- package/lib/typescript/src/iab/gpp/consent.d.ts.map +1 -1
- package/lib/typescript/src/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts.map +1 -1
- package/lib/typescript/src/iab/gpp/encoders/BooleanEncoder.d.ts +2 -2
- package/lib/typescript/src/iab/gpp/encoders/BooleanEncoder.d.ts.map +1 -1
- package/lib/typescript/src/iab/gpp/encoders/DatetimeEncoder.d.ts.map +1 -1
- package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerEncoder.d.ts.map +1 -1
- package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerRangeEncoder.d.ts.map +1 -1
- package/lib/typescript/src/iab/gpp/encoders/FixedBitfieldEncoder.d.ts.map +1 -1
- package/lib/typescript/src/iab/gpp/encoders/FixedIntegerEncoder.d.ts.map +1 -1
- package/lib/typescript/src/iab/gpp/encoders/FixedIntegerListEncoder.d.ts.map +1 -1
- package/lib/typescript/src/iab/gpp/encoders/FixedIntegerRangeEncoder.d.ts.map +1 -1
- package/lib/typescript/src/iab/gpp/encoders/FixedStringEncoder.d.ts.map +1 -1
- package/lib/typescript/src/iab/gpp/v1/constants.d.ts.map +1 -1
- package/lib/typescript/src/iab/gpp/v1/index.d.ts +1 -3
- package/lib/typescript/src/iab/gpp/v1/index.d.ts.map +1 -1
- package/lib/typescript/src/iab/index.d.ts.map +1 -1
- package/lib/typescript/src/iab/tcf/actions.d.ts.map +1 -1
- package/lib/typescript/src/iab/tcf/consent.d.ts.map +1 -1
- package/lib/typescript/src/iab/tcf/constants.d.ts.map +1 -1
- package/lib/typescript/src/iab/tcf/helpers.d.ts.map +1 -1
- package/lib/typescript/src/iab/tcf/iab-storage-utils.d.ts.map +1 -1
- package/lib/typescript/src/iab/tcf/middleware.d.ts.map +1 -1
- package/lib/typescript/src/iab/tcf/reducer.d.ts +1 -0
- package/lib/typescript/src/iab/tcf/reducer.d.ts.map +1 -1
- package/lib/typescript/src/iab/tcf/selectors.d.ts +2 -0
- package/lib/typescript/src/iab/tcf/selectors.d.ts.map +1 -1
- package/lib/typescript/src/iab/tcf/types.d.ts +2 -0
- package/lib/typescript/src/iab/tcf/types.d.ts.map +1 -1
- package/lib/typescript/src/iab/tcf/v2.0/formatters.d.ts.map +1 -1
- package/lib/typescript/src/iab/tcf/v2.0/shared-constants.d.ts +2 -0
- package/lib/typescript/src/iab/tcf/v2.0/shared-constants.d.ts.map +1 -1
- package/lib/typescript/src/iab/tcf/v2.0/tcfcav1-constants.d.ts +6 -0
- package/lib/typescript/src/iab/tcf/v2.0/tcfcav1-constants.d.ts.map +1 -1
- package/lib/typescript/src/iab/tcf/v2.0/tcfeuv2-constants.d.ts +5 -0
- package/lib/typescript/src/iab/tcf/v2.0/tcfeuv2-constants.d.ts.map +1 -1
- package/lib/typescript/src/iab/usp/api.d.ts +1 -1
- package/lib/typescript/src/iab/usp/api.d.ts.map +1 -1
- package/lib/typescript/src/iab/usp/consent.d.ts.map +1 -1
- package/lib/typescript/src/iab/usp/constants.d.ts +1 -1
- package/lib/typescript/src/iab/usp/selectors.d.ts +1 -4
- package/lib/typescript/src/iab/usp/selectors.d.ts.map +1 -1
- package/lib/typescript/src/iab/usp/v1/constants.d.ts.map +1 -1
- package/lib/typescript/src/iab/usp/v1/index.d.ts +1 -1
- package/lib/typescript/src/iab/usp/v1/index.d.ts.map +1 -1
- package/lib/typescript/src/iab/utilities.d.ts.map +1 -1
- package/lib/typescript/src/native/OsanoCmp.d.ts.map +1 -1
- package/lib/typescript/src/{NativeOsanoCmpSdk.d.ts → native/OsanoCmpSdkSpec.d.ts} +7 -4
- package/lib/typescript/src/native/OsanoCmpSdkSpec.d.ts.map +1 -0
- package/lib/typescript/src/reducer.d.ts.map +1 -1
- package/lib/typescript/src/selectors.d.ts.map +1 -1
- package/lib/typescript/src/services/consent.d.ts +1 -1
- package/lib/typescript/src/services/consent.d.ts.map +1 -1
- package/lib/typescript/src/styles.d.ts.map +1 -1
- package/lib/typescript/src/utils/Color.d.ts.map +1 -1
- package/lib/typescript/src/utils/ExpoDetector.d.ts +29 -0
- package/lib/typescript/src/utils/ExpoDetector.d.ts.map +1 -0
- package/lib/typescript/src/utils/ExpoGoMemoryStorage.d.ts +21 -0
- package/lib/typescript/src/utils/ExpoGoMemoryStorage.d.ts.map +1 -0
- package/lib/typescript/src/utils/Translator.d.ts +1 -1
- package/lib/typescript/src/utils/Translator.d.ts.map +1 -1
- package/lib/typescript/src/views/Dialog/index.d.ts.map +1 -1
- package/lib/typescript/src/views/Drawer/Drawer.Iab.Disclosures.d.ts.map +1 -1
- package/lib/typescript/src/views/Drawer/Drawer.Iab.Vendors.d.ts.map +1 -1
- package/lib/typescript/src/views/Drawer/index.d.ts.map +1 -1
- package/osano-cmp-sdk.podspec +15 -15
- package/package.json +33 -15
- package/src/ConsentManager.ts +100 -119
- package/src/components/Button.tsx +1 -1
- package/src/components/Locale.tsx +1 -1
- package/src/constants.ts +1 -1
- package/src/iab/constants.ts +1 -1
- package/src/iab/tcf/consent.ts +41 -26
- package/src/iab/tcf/middleware.ts +43 -18
- package/src/iab/tcf/reducer.ts +29 -9
- package/src/iab/tcf/selectors.ts +16 -0
- package/src/iab/tcf/types.ts +2 -0
- package/src/iab/tcf/v2.0/tcfcav1-constants.ts +24 -3
- package/src/iab/tcf/v2.0/tcfeuv2-constants.ts +19 -1
- package/src/index.tsx +1 -1
- package/src/native/OsanoCmp.ts +39 -19
- package/src/native/OsanoCmpSdkSpec.ts +25 -0
- package/src/services/consent.ts +53 -29
- package/src/types/index.d.ts +2 -2
- package/src/utils/ExpoDetector.ts +114 -0
- package/src/utils/ExpoGoMemoryStorage.ts +61 -0
- package/src/utils/Translator.ts +1 -1
- package/src/views/Dialog/Buttons.tsx +1 -1
- package/src/views/Dialog/index.tsx +107 -134
- package/src/views/Drawer/Drawer.Header.tsx +1 -1
- package/src/views/Drawer/Drawer.Iab.Disclosures.tsx +6 -3
- package/src/views/Drawer/Drawer.Iab.Vendors.tsx +18 -10
- package/src/views/Drawer/index.tsx +45 -63
- package/android/src/main/AndroidManifestNew.xml +0 -2
- package/lib/commonjs/NativeOsanoCmpSdk.js +0 -56
- package/lib/commonjs/NativeOsanoCmpSdk.js.map +0 -1
- package/lib/commonjs/package.json +0 -1
- package/lib/module/NativeOsanoCmpSdk.js +0 -52
- package/lib/module/NativeOsanoCmpSdk.js.map +0 -1
- package/lib/typescript/src/NativeOsanoCmpSdk.d.ts.map +0 -1
- package/src/NativeOsanoCmpSdk.ts +0 -64
package/src/iab/tcf/reducer.ts
CHANGED
|
@@ -8,7 +8,11 @@ import {
|
|
|
8
8
|
SET_VENDOR_CONSENT,
|
|
9
9
|
UPDATE_PURPOSE_LIST,
|
|
10
10
|
} from './actions';
|
|
11
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
getUpdatedVendorDisclosures,
|
|
13
|
+
getVendorListVersion,
|
|
14
|
+
getVendors
|
|
15
|
+
} from './selectors';
|
|
12
16
|
import {
|
|
13
17
|
updatePurposeOptOuts,
|
|
14
18
|
updateSpecialFeatureOptIns,
|
|
@@ -36,6 +40,7 @@ export const initialState = {
|
|
|
36
40
|
vendorListVersion: 0,
|
|
37
41
|
vendors: {},
|
|
38
42
|
vendorOptouts: {},
|
|
43
|
+
vendorDisclosures: {},
|
|
39
44
|
},
|
|
40
45
|
},
|
|
41
46
|
},
|
|
@@ -67,6 +72,7 @@ const updateOptions = (
|
|
|
67
72
|
const { version } = initOptions;
|
|
68
73
|
const vendorListVersion = getVendorListVersion(config, version);
|
|
69
74
|
const vendors = getVendors(config, version);
|
|
75
|
+
const vendorDisclosures = getUpdatedVendorDisclosures(config, version);
|
|
70
76
|
|
|
71
77
|
return {
|
|
72
78
|
...state,
|
|
@@ -79,6 +85,7 @@ const updateOptions = (
|
|
|
79
85
|
vendorListLoaded: true,
|
|
80
86
|
vendorListVersion,
|
|
81
87
|
vendors,
|
|
88
|
+
vendorDisclosures
|
|
82
89
|
},
|
|
83
90
|
},
|
|
84
91
|
},
|
|
@@ -133,27 +140,40 @@ export default function makeReducer(initOptions: IabInitOptions) {
|
|
|
133
140
|
case CLOSE: {
|
|
134
141
|
const { config } = payload as ConsentManager;
|
|
135
142
|
if (config.configId && config.iabEnabled) {
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
143
|
+
const consentPayload = createConsentPayload(state);
|
|
144
|
+
switch (Platform.OS) {
|
|
145
|
+
case 'ios':
|
|
146
|
+
case 'android':
|
|
147
|
+
setStorage(
|
|
148
|
+
`${gppSection}_${config.configId}`,
|
|
149
|
+
JSON.stringify(consentPayload),
|
|
150
|
+
);
|
|
151
|
+
break;
|
|
152
|
+
default:
|
|
153
|
+
try {
|
|
154
|
+
window.localStorage.setItem(
|
|
155
|
+
`${gppSection}_${config.configId}`,
|
|
156
|
+
JSON.stringify(consentPayload),
|
|
157
|
+
);
|
|
158
|
+
} catch (e) {}
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
141
161
|
}
|
|
142
162
|
return state;
|
|
143
163
|
}
|
|
144
164
|
|
|
145
165
|
case CLEAR_CONSENT: {
|
|
146
|
-
const
|
|
166
|
+
const consentPayload = createConsentPayload();
|
|
147
167
|
return {
|
|
148
168
|
...state,
|
|
149
169
|
iab: {
|
|
150
170
|
...state.iab,
|
|
151
171
|
tcf: {
|
|
152
172
|
...state.iab.tcf,
|
|
153
|
-
...
|
|
173
|
+
...consentPayload,
|
|
154
174
|
v2: {
|
|
155
175
|
...state.iab.tcf?.v2,
|
|
156
|
-
...
|
|
176
|
+
...consentPayload.v2,
|
|
157
177
|
},
|
|
158
178
|
},
|
|
159
179
|
},
|
package/src/iab/tcf/selectors.ts
CHANGED
|
@@ -115,6 +115,12 @@ export const getVendorIds = (config: Config, apiVersion?: string) =>
|
|
|
115
115
|
Object.keys(getVendors(config, apiVersion)).map((vendorId) =>
|
|
116
116
|
Number.parseInt(vendorId, 10)
|
|
117
117
|
) || [];
|
|
118
|
+
export const getActiveVendorIds = (config: Config, apiVersion?: string) => {
|
|
119
|
+
const vendors = getVendors(config, apiVersion);
|
|
120
|
+
return Object.values(vendors)
|
|
121
|
+
.filter(v => !v.deletedDate)
|
|
122
|
+
.map(v => Number(v.id));
|
|
123
|
+
};
|
|
118
124
|
export const getVendorOptOuts = (
|
|
119
125
|
state: Partial<IabState>,
|
|
120
126
|
apiVersion?: TcfVersionType
|
|
@@ -190,3 +196,13 @@ export const getConsent = (state?: OsanoState) => {
|
|
|
190
196
|
consent[ConsentCategory.OPT_OUT] = getFinalOptOutValue(state);
|
|
191
197
|
return consent;
|
|
192
198
|
};
|
|
199
|
+
|
|
200
|
+
export const getUpdatedVendorDisclosures = (config: Config, apiVersion?: string) => {
|
|
201
|
+
const activeVendors = getActiveVendorIds(config, apiVersion);
|
|
202
|
+
const disclosures: Record<string, boolean> = {};
|
|
203
|
+
for (const vendorId of activeVendors) {
|
|
204
|
+
// We disclose all active IAB vendors (there is no way to selectively hide them), so set them all to true.
|
|
205
|
+
disclosures[`${vendorId}`] = true;
|
|
206
|
+
}
|
|
207
|
+
return disclosures;
|
|
208
|
+
};
|
package/src/iab/tcf/types.ts
CHANGED
|
@@ -73,9 +73,11 @@ export type IabInitOptions = {
|
|
|
73
73
|
defaultTimestamp: number;
|
|
74
74
|
storageKey: string;
|
|
75
75
|
version: TcfVersionType;
|
|
76
|
+
tcfPolicyVersion: number;
|
|
76
77
|
cmpId: number;
|
|
77
78
|
cmpVersion: number;
|
|
78
79
|
coreFieldSequence: CoreField[];
|
|
80
|
+
disclosedVendorsFieldSequence: CoreField[];
|
|
79
81
|
createConsentPayload: (state?: IabState) => Partial<TcfState>;
|
|
80
82
|
tcString: string;
|
|
81
83
|
fallbackGvlVersion: number;
|
|
@@ -19,6 +19,7 @@ import { createUTCTimestampInDeciseconds } from '../helpers';
|
|
|
19
19
|
|
|
20
20
|
// gppSection is the key in redux state that stores the consent string.
|
|
21
21
|
const gppSection = 'tcfcav1';
|
|
22
|
+
const tcfPolicyVersion = 5;
|
|
22
23
|
/**
|
|
23
24
|
* This string is a stub with only the base values so that consent.js has a
|
|
24
25
|
* string to start with. Its values are essentially blank and will be replaced
|
|
@@ -77,6 +78,22 @@ const coreFieldSequence: CoreField[] = [
|
|
|
77
78
|
'vendor.legitimateInterests',
|
|
78
79
|
idsOnlyArrayFormatter,
|
|
79
80
|
],
|
|
81
|
+
// This is not supported in TcfCA v1, HOWEVER, it's still listed and required in the spec doc, and should always be 0
|
|
82
|
+
['PubRestrictions', 12, IntEncoder, 'numPubRestrictions'],
|
|
83
|
+
];
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* The fields for the disclosed vendors segment of the TCString for TCF-Canada v1.
|
|
87
|
+
*/
|
|
88
|
+
const disclosedVendorsFieldSequence: CoreField[] = [
|
|
89
|
+
['DisclosedVendorsSegmentType', 3, IntEncoder],
|
|
90
|
+
[
|
|
91
|
+
'DisclosedVendors',
|
|
92
|
+
Number.POSITIVE_INFINITY,
|
|
93
|
+
EncodableOptimizedFixedRange,
|
|
94
|
+
'vendor.vendorsDisclosed',
|
|
95
|
+
idsOnlyArrayFormatter,
|
|
96
|
+
],
|
|
80
97
|
];
|
|
81
98
|
|
|
82
99
|
const version = Number.parseInt(baseInitOptions.version, 10);
|
|
@@ -84,8 +101,10 @@ const staticFields = {
|
|
|
84
101
|
version,
|
|
85
102
|
cmpId: baseInitOptions.cmpId,
|
|
86
103
|
cmpVersion: baseInitOptions.cmpVersion,
|
|
87
|
-
tcfPolicyVersion
|
|
88
|
-
useNonStandardStacks:
|
|
104
|
+
tcfPolicyVersion,
|
|
105
|
+
useNonStandardStacks: false,
|
|
106
|
+
DisclosedVendorsSegmentType: 1,
|
|
107
|
+
numPubRestrictions: 0,
|
|
89
108
|
};
|
|
90
109
|
|
|
91
110
|
const dynamicFields = {
|
|
@@ -95,7 +114,9 @@ const dynamicFields = {
|
|
|
95
114
|
|
|
96
115
|
export const initOptions = {
|
|
97
116
|
...baseInitOptions,
|
|
98
|
-
|
|
117
|
+
tcfPolicyVersion,
|
|
118
|
+
coreFieldSequence,
|
|
119
|
+
disclosedVendorsFieldSequence,
|
|
99
120
|
gppSection,
|
|
100
121
|
tcString: BOOTSTRAP_TCSTRING,
|
|
101
122
|
staticFields,
|
|
@@ -17,6 +17,7 @@ export const iframeName = '__tcfapiLocator';
|
|
|
17
17
|
|
|
18
18
|
// gppSection is the key in redux state that stores the consent string.
|
|
19
19
|
const gppSection = 'tcfeuv2';
|
|
20
|
+
const tcfPolicyVersion = 5;
|
|
20
21
|
/**
|
|
21
22
|
* This string is a stub with only the base values so that consent.js has a
|
|
22
23
|
* string to start with. It was generated with <https://iabtcf.com/>.
|
|
@@ -79,16 +80,31 @@ const coreFieldSequence: CoreField[] = [
|
|
|
79
80
|
['numPubRestrictions', 12, IntEncoder], // This is a meta field and shouldn't be exposed directly via an API
|
|
80
81
|
];
|
|
81
82
|
|
|
83
|
+
/**
|
|
84
|
+
* The fields for the disclosed vendors segment of the TCString in the order they appear in the TCString
|
|
85
|
+
*/
|
|
86
|
+
const disclosedVendorsFieldSequence: CoreField[] = [
|
|
87
|
+
['vendorsDisclosedSegmentType', 3, IntEncoder],
|
|
88
|
+
[
|
|
89
|
+
'vendorsDisclosed',
|
|
90
|
+
Number.POSITIVE_INFINITY,
|
|
91
|
+
EncodableOptimizedFixedRange,
|
|
92
|
+
'vendor.vendorsDisclosed',
|
|
93
|
+
],
|
|
94
|
+
];
|
|
95
|
+
|
|
96
|
+
|
|
82
97
|
const version = Number.parseInt(baseInitOptions.version, 10);
|
|
83
98
|
const staticFields = {
|
|
84
99
|
version,
|
|
85
100
|
cmpId: baseInitOptions.cmpId,
|
|
86
101
|
cmpVersion: baseInitOptions.cmpVersion,
|
|
87
|
-
tcfPolicyVersion
|
|
102
|
+
tcfPolicyVersion,
|
|
88
103
|
useNonStandardStacks: true,
|
|
89
104
|
isServiceSpecific: true,
|
|
90
105
|
purposeOneTreatment: false,
|
|
91
106
|
numPubRestrictions: 0,
|
|
107
|
+
vendorsDisclosedSegmentType: 1,
|
|
92
108
|
};
|
|
93
109
|
|
|
94
110
|
const dynamicFields = {
|
|
@@ -98,7 +114,9 @@ const dynamicFields = {
|
|
|
98
114
|
|
|
99
115
|
export const initOptions = {
|
|
100
116
|
...baseInitOptions,
|
|
117
|
+
tcfPolicyVersion,
|
|
101
118
|
coreFieldSequence,
|
|
119
|
+
disclosedVendorsFieldSequence,
|
|
102
120
|
gppSection,
|
|
103
121
|
tcString: BOOTSTRAP_TCSTRING,
|
|
104
122
|
staticFields,
|
package/src/index.tsx
CHANGED
|
@@ -70,7 +70,7 @@ export const Osano: React.FunctionComponent<
|
|
|
70
70
|
reducer,
|
|
71
71
|
{ configId, customerId },
|
|
72
72
|
init,
|
|
73
|
-
[consentManager.current.middleware],
|
|
73
|
+
[consentManager.current.middleware.bind(consentManager.current)],
|
|
74
74
|
);
|
|
75
75
|
const { addMiddleware, dispatch, getState, removeMiddleware } = store;
|
|
76
76
|
|
package/src/native/OsanoCmp.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { NativeModules, Platform } from 'react-native';
|
|
2
|
-
import
|
|
2
|
+
import OsanoCmpSdkTurboModule from './OsanoCmpSdkSpec';
|
|
3
|
+
import { ExpoDetector } from '../utils/ExpoDetector';
|
|
4
|
+
import { ExpoGoMemoryStorage } from '../utils/ExpoGoMemoryStorage';
|
|
3
5
|
|
|
4
6
|
const LINKING_ERROR =
|
|
5
7
|
`The package 'osano-cmp-react-native' doesn't seem to be linked. Make sure: \n\n` +
|
|
@@ -7,51 +9,69 @@ const LINKING_ERROR =
|
|
|
7
9
|
'- You rebuilt the app after installing the package\n' +
|
|
8
10
|
'- You are not using Expo Go\n';
|
|
9
11
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
12
|
+
const OsanoCmp = OsanoCmpSdkTurboModule || NativeModules.OsanoCmpSdk || new Proxy(
|
|
13
|
+
{},
|
|
14
|
+
{
|
|
15
|
+
get(_, prop) {
|
|
16
|
+
throw new Error(`${LINKING_ERROR}\nAttempted to call: ${String(prop)}`);
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
);
|
|
16
20
|
|
|
17
21
|
export function getDeviceId(): Promise<string | null | undefined> {
|
|
22
|
+
if (ExpoDetector.isExpoGo()) {
|
|
23
|
+
return ExpoGoMemoryStorage.getDeviceId();
|
|
24
|
+
}
|
|
18
25
|
return OsanoCmp.getDeviceId();
|
|
19
26
|
}
|
|
20
27
|
export function setStorage(key: string, value: string): Promise<string> {
|
|
28
|
+
if (ExpoDetector.isExpoGo()) {
|
|
29
|
+
return ExpoGoMemoryStorage.setStorage(key, value);
|
|
30
|
+
}
|
|
21
31
|
return OsanoCmp.setStorage(key, value);
|
|
22
32
|
}
|
|
23
33
|
export function getStorage(key: string): Promise<string | null | undefined> {
|
|
34
|
+
if (ExpoDetector.isExpoGo()) {
|
|
35
|
+
return ExpoGoMemoryStorage.getStorage(key);
|
|
36
|
+
}
|
|
24
37
|
return OsanoCmp.getStorage(key);
|
|
25
38
|
}
|
|
26
39
|
export function clearStorage(key: string): Promise<void> {
|
|
40
|
+
if (ExpoDetector.isExpoGo()) {
|
|
41
|
+
return ExpoGoMemoryStorage.clearStorage(key);
|
|
42
|
+
}
|
|
27
43
|
return OsanoCmp.clearStorage(key);
|
|
28
44
|
}
|
|
29
45
|
export function setStorageToDefault(
|
|
30
46
|
key: string,
|
|
31
47
|
value: string,
|
|
32
48
|
): Promise<string> {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
49
|
+
if (ExpoDetector.isExpoGo()) {
|
|
50
|
+
return ExpoGoMemoryStorage.setStorageToDefault(key, value);
|
|
51
|
+
}
|
|
52
|
+
return OsanoCmp.setStorageToDefault?.(key, value) ?? Promise.resolve(value);
|
|
36
53
|
}
|
|
37
54
|
export function setIntStorageToDefault(
|
|
38
55
|
key: string,
|
|
39
56
|
value: number,
|
|
40
57
|
): Promise<number> {
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
58
|
+
if (ExpoDetector.isExpoGo()) {
|
|
59
|
+
return ExpoGoMemoryStorage.setIntStorageToDefault(key, value);
|
|
60
|
+
}
|
|
61
|
+
return OsanoCmp.setIntStorageToDefault?.(key, value) ?? Promise.resolve(value);
|
|
44
62
|
}
|
|
45
63
|
export function setBoolStorageToDefault(
|
|
46
64
|
key: string,
|
|
47
65
|
value: boolean,
|
|
48
66
|
): Promise<boolean> {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
67
|
+
if (ExpoDetector.isExpoGo()) {
|
|
68
|
+
return ExpoGoMemoryStorage.setBoolStorageToDefault(key, value);
|
|
69
|
+
}
|
|
70
|
+
return OsanoCmp.setBoolStorageToDefault?.(key, value) ?? Promise.resolve(value);
|
|
52
71
|
}
|
|
53
72
|
export function clearStorageFromDefault(key: string): Promise<void> {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
73
|
+
if (ExpoDetector.isExpoGo()) {
|
|
74
|
+
return ExpoGoMemoryStorage.clearStorageFromDefault(key);
|
|
75
|
+
}
|
|
76
|
+
return OsanoCmp.clearStorageFromDefault?.(key) ?? Promise.resolve();
|
|
57
77
|
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
import { TurboModuleRegistry } from 'react-native';
|
|
3
|
+
|
|
4
|
+
export interface Spec extends TurboModule {
|
|
5
|
+
// Core storage methods
|
|
6
|
+
setStorage(key: string, value: string): Promise<string>;
|
|
7
|
+
getStorage(key: string): Promise<string | null>;
|
|
8
|
+
clearStorage(key: string): Promise<void>;
|
|
9
|
+
|
|
10
|
+
// Default storage methods (iOS specific functionality)
|
|
11
|
+
setStorageToDefault(key: string, value: string): Promise<string>;
|
|
12
|
+
setIntStorageToDefault(key: string, value: number): Promise<number>;
|
|
13
|
+
setBoolStorageToDefault(key: string, value: boolean): Promise<boolean>;
|
|
14
|
+
clearStorageFromDefault(key: string): Promise<void>;
|
|
15
|
+
|
|
16
|
+
// Device identification
|
|
17
|
+
getDeviceId(): Promise<string>;
|
|
18
|
+
|
|
19
|
+
// Constants only (no synchronous methods for TurboModule compatibility)
|
|
20
|
+
getConstants(): {
|
|
21
|
+
IS_OFFICIAL_SAMPLE: boolean;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default TurboModuleRegistry.get<Spec>('OsanoCmpSdk');
|
package/src/services/consent.ts
CHANGED
|
@@ -1,29 +1,25 @@
|
|
|
1
|
+
import { sha512 } from 'js-sha512';
|
|
2
|
+
import { Platform, NativeModules } from 'react-native';
|
|
3
|
+
import { TextEncoder } from 'text-encoding';
|
|
4
|
+
import type { ConsentManager } from '../ConsentManager';
|
|
1
5
|
import {
|
|
2
6
|
ConsentCategory,
|
|
3
7
|
ConsentCategory as ConsentCategoryType,
|
|
4
8
|
env,
|
|
5
9
|
} from '../constants';
|
|
6
|
-
import { NativeModules, Platform } from 'react-native';
|
|
7
10
|
import { clearStorage, getStorage, setStorage } from '../native/OsanoCmp';
|
|
8
|
-
|
|
9
|
-
import API from '../utils/API';
|
|
10
11
|
import type { Config } from '../types/consent-config';
|
|
11
|
-
import type { ConsentManager } from '../ConsentManager';
|
|
12
|
-
import { TextEncoder } from 'text-encoding';
|
|
13
12
|
import { merge } from '../utils';
|
|
13
|
+
import API from '../utils/API';
|
|
14
14
|
import { osanoLogger } from '../utils/OsanoLogger';
|
|
15
|
-
import { sha512 } from 'js-sha512';
|
|
16
15
|
|
|
17
16
|
const Buffer = require('buffer').Buffer;
|
|
18
17
|
|
|
19
18
|
const { CONSENT_URI, LOOKUPS_URI, OSANO_ORIGIN } = env;
|
|
20
19
|
|
|
21
|
-
const IS_OFFICIAL_SAMPLE: boolean = (NativeModules as any)?.OsanoCmpSdk
|
|
22
|
-
?.IS_OFFICIAL_SAMPLE;
|
|
20
|
+
const IS_OFFICIAL_SAMPLE: boolean = (NativeModules as any)?.OsanoCmpSdk?.IS_OFFICIAL_SAMPLE;
|
|
23
21
|
|
|
24
|
-
const CONSENTING_PLATFORM_TAG = IS_OFFICIAL_SAMPLE
|
|
25
|
-
? `${Platform.OS}.sample-react-native`
|
|
26
|
-
: `${Platform.OS}.react-native`;
|
|
22
|
+
const CONSENTING_PLATFORM_TAG = IS_OFFICIAL_SAMPLE ? `${Platform.OS}.sample-react-native` : `${Platform.OS}.react-native`;
|
|
27
23
|
|
|
28
24
|
const overrideConfig: Partial<Config> = {
|
|
29
25
|
// Override config here
|
|
@@ -109,19 +105,24 @@ const storeConsent = async (
|
|
|
109
105
|
resolve(cmp.consent ?? []);
|
|
110
106
|
return cmp.consent;
|
|
111
107
|
};
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
)
|
|
116
|
-
.then(() => {
|
|
108
|
+
switch (Platform.OS) {
|
|
109
|
+
case 'ios':
|
|
110
|
+
case 'android':
|
|
117
111
|
setStorage(
|
|
118
|
-
`${STORAGE_KEY}
|
|
119
|
-
JSON.stringify(
|
|
112
|
+
`${STORAGE_KEY}_last_recorded_consent_date`,
|
|
113
|
+
JSON.stringify(new Date()),
|
|
120
114
|
)
|
|
121
|
-
.then(
|
|
115
|
+
.then(() => {
|
|
116
|
+
setStorage(
|
|
117
|
+
`${STORAGE_KEY}_${cmp.configId}`,
|
|
118
|
+
JSON.stringify(cmp.consent),
|
|
119
|
+
)
|
|
120
|
+
.then(resConsent)
|
|
121
|
+
.catch(reject);
|
|
122
|
+
})
|
|
122
123
|
.catch(reject);
|
|
123
|
-
|
|
124
|
-
|
|
124
|
+
break;
|
|
125
|
+
}
|
|
125
126
|
});
|
|
126
127
|
};
|
|
127
128
|
|
|
@@ -132,7 +133,15 @@ export const clearConsent = async (cmp: ConsentManager) => {
|
|
|
132
133
|
resolve([ConsentCategory.ESSENTIAL]);
|
|
133
134
|
return cmp.consent;
|
|
134
135
|
};
|
|
135
|
-
|
|
136
|
+
switch (Platform.OS) {
|
|
137
|
+
case 'android':
|
|
138
|
+
case 'ios':
|
|
139
|
+
clearStorage(`${STORAGE_KEY}_${cmp.configId}`).then(resConsent);
|
|
140
|
+
break;
|
|
141
|
+
default:
|
|
142
|
+
resConsent();
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
136
145
|
});
|
|
137
146
|
};
|
|
138
147
|
|
|
@@ -151,12 +160,19 @@ const retrieveConsent = async (cmp: ConsentManager) => {
|
|
|
151
160
|
}
|
|
152
161
|
throw new Error('Consent not found');
|
|
153
162
|
};
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
163
|
+
switch (Platform.OS) {
|
|
164
|
+
case 'ios':
|
|
165
|
+
case 'android':
|
|
166
|
+
getStorage(`${STORAGE_KEY}_${cmp.configId}`)
|
|
167
|
+
.then(resConsent)
|
|
168
|
+
.catch(() => {
|
|
169
|
+
// Consent not found
|
|
170
|
+
clearConsent(cmp).then(resolve);
|
|
171
|
+
});
|
|
172
|
+
break;
|
|
173
|
+
default:
|
|
174
|
+
break;
|
|
175
|
+
}
|
|
160
176
|
});
|
|
161
177
|
};
|
|
162
178
|
|
|
@@ -172,7 +188,15 @@ const retrieveLastConsentTimestamp = async () => {
|
|
|
172
188
|
return '';
|
|
173
189
|
}
|
|
174
190
|
};
|
|
175
|
-
|
|
191
|
+
switch (Platform.OS) {
|
|
192
|
+
case 'ios':
|
|
193
|
+
case 'android':
|
|
194
|
+
getStorage(`${STORAGE_KEY}_last_recorded_consent_date`).then(resValue);
|
|
195
|
+
break;
|
|
196
|
+
default:
|
|
197
|
+
// nothing
|
|
198
|
+
break;
|
|
199
|
+
}
|
|
176
200
|
});
|
|
177
201
|
};
|
|
178
202
|
|
package/src/types/index.d.ts
CHANGED
|
@@ -27,9 +27,9 @@ export interface OsanoProps {
|
|
|
27
27
|
hideUI?: boolean;
|
|
28
28
|
hideDisclosures?: boolean;
|
|
29
29
|
onConfigLoadSuccess?: () => void;
|
|
30
|
-
onConfigLoadFailure?: (
|
|
30
|
+
onConfigLoadFailure?: () => void;
|
|
31
31
|
onLangLoadSuccess?: () => void;
|
|
32
|
-
onLangLoadFailure?: (
|
|
32
|
+
onLangLoadFailure?: () => void;
|
|
33
33
|
onGoogleConsentUpdate?: GoogleConsentModeCallback;
|
|
34
34
|
overrides?: OsanoOverrides;
|
|
35
35
|
extUsrData?: string;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Platform } from 'react-native';
|
|
2
|
+
import { osanoLogger as OsanoLogger } from './OsanoLogger';
|
|
3
|
+
|
|
4
|
+
interface ExpoDetectionResult {
|
|
5
|
+
isExpo: boolean;
|
|
6
|
+
isExpoGo: boolean;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export class ExpoDetector {
|
|
10
|
+
private static _detectionResult: ExpoDetectionResult | null = null;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Detect Expo environment and cache result
|
|
14
|
+
*/
|
|
15
|
+
public static detect(): ExpoDetectionResult {
|
|
16
|
+
// Return cached result if available
|
|
17
|
+
if (this._detectionResult) {
|
|
18
|
+
return this._detectionResult;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const result: ExpoDetectionResult = {
|
|
22
|
+
isExpo: false,
|
|
23
|
+
isExpoGo: false,
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
// Check for Expo runtime via globals
|
|
27
|
+
try {
|
|
28
|
+
const hasExpoGlobalProp = !!(global as any).expo;
|
|
29
|
+
|
|
30
|
+
if (hasExpoGlobalProp) {
|
|
31
|
+
result.isExpo = true;
|
|
32
|
+
|
|
33
|
+
// Analyze global.expo to distinguish Expo Go from dev builds
|
|
34
|
+
const globalExpoContent = (global as any).expo;
|
|
35
|
+
|
|
36
|
+
if (globalExpoContent && typeof globalExpoContent === 'object') {
|
|
37
|
+
const documentsDir = globalExpoContent.documentsDir || '';
|
|
38
|
+
const cacheDir = globalExpoContent.cacheDir || '';
|
|
39
|
+
|
|
40
|
+
// Check execution environment
|
|
41
|
+
const exponentConstants = globalExpoContent.modules?.ExponentConstants;
|
|
42
|
+
const executionEnvironment = exponentConstants?.executionEnvironment;
|
|
43
|
+
|
|
44
|
+
// Check for Expo Go app ID
|
|
45
|
+
const expoApplication = globalExpoContent.modules?.ExpoApplication;
|
|
46
|
+
const applicationId = expoApplication?.applicationId;
|
|
47
|
+
|
|
48
|
+
// Expo Go indicators: package name, execution env, app ID
|
|
49
|
+
const hasExpoGoPackageName = documentsDir.includes('host.exp.exponent') ||
|
|
50
|
+
cacheDir.includes('host.exp.exponent');
|
|
51
|
+
const isStoreClient = executionEnvironment === 'storeClient';
|
|
52
|
+
const hasExpoGoAppId = applicationId === 'host.exp.exponent';
|
|
53
|
+
|
|
54
|
+
if (hasExpoGoPackageName || isStoreClient || hasExpoGoAppId) {
|
|
55
|
+
result.isExpoGo = true;
|
|
56
|
+
} else {
|
|
57
|
+
result.isExpoGo = false;
|
|
58
|
+
}
|
|
59
|
+
} else {
|
|
60
|
+
// Assume dev build for safety
|
|
61
|
+
result.isExpoGo = false;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
} catch (error) {
|
|
65
|
+
OsanoLogger.debug(`Expo detection failed: ${String(error)}`);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
// Cache the result
|
|
69
|
+
this._detectionResult = result;
|
|
70
|
+
|
|
71
|
+
return result;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Check if running in Expo Go
|
|
76
|
+
*/
|
|
77
|
+
public static isExpoGo(): boolean {
|
|
78
|
+
const result = this.detect();
|
|
79
|
+
return result.isExpoGo;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Check if any Expo environment
|
|
84
|
+
*/
|
|
85
|
+
public static isExpo(): boolean {
|
|
86
|
+
const result = this.detect();
|
|
87
|
+
return result.isExpo;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* Get environment description
|
|
92
|
+
*/
|
|
93
|
+
public static getEnvironmentDescription(): string {
|
|
94
|
+
const result = this.detect();
|
|
95
|
+
|
|
96
|
+
if (!result.isExpo) {
|
|
97
|
+
return 'Bare React Native';
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
if (result.isExpoGo) {
|
|
101
|
+
return 'Expo Go';
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
return 'Expo Development Build';
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Reset cached result for testing
|
|
109
|
+
*/
|
|
110
|
+
public static resetCache(): void {
|
|
111
|
+
this._detectionResult = null;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-memory storage fallback for Expo Go environment
|
|
3
|
+
* Provides storage functionality when native modules are not available
|
|
4
|
+
*/
|
|
5
|
+
export class ExpoGoMemoryStorage {
|
|
6
|
+
private static storage = new Map<string, string>();
|
|
7
|
+
private static defaultStorage = new Map<string, string | number | boolean>();
|
|
8
|
+
|
|
9
|
+
static setStorage(key: string, value: string): Promise<string> {
|
|
10
|
+
this.storage.set(key, value);
|
|
11
|
+
return Promise.resolve(value);
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
static getStorage(key: string): Promise<string | null> {
|
|
15
|
+
const value = this.storage.get(key) || null;
|
|
16
|
+
return Promise.resolve(value);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
static clearStorage(key: string): Promise<void> {
|
|
20
|
+
this.storage.delete(key);
|
|
21
|
+
return Promise.resolve();
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
static setStorageToDefault(key: string, value: string): Promise<string> {
|
|
25
|
+
this.defaultStorage.set(key, value);
|
|
26
|
+
return Promise.resolve(value);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
static setIntStorageToDefault(key: string, value: number): Promise<number> {
|
|
30
|
+
this.defaultStorage.set(key, value);
|
|
31
|
+
return Promise.resolve(value);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
static setBoolStorageToDefault(key: string, value: boolean): Promise<boolean> {
|
|
35
|
+
this.defaultStorage.set(key, value);
|
|
36
|
+
return Promise.resolve(value);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
static clearStorageFromDefault(key: string): Promise<void> {
|
|
40
|
+
this.defaultStorage.delete(key);
|
|
41
|
+
return Promise.resolve();
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
static getDeviceId(): Promise<string> {
|
|
45
|
+
// Generate a consistent device ID for Expo Go session
|
|
46
|
+
let deviceId = this.storage.get('__expo_device_id');
|
|
47
|
+
if (!deviceId) {
|
|
48
|
+
deviceId = `expo_go_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`;
|
|
49
|
+
this.storage.set('__expo_device_id', deviceId);
|
|
50
|
+
}
|
|
51
|
+
return Promise.resolve(deviceId);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Clear all storage for testing purposes
|
|
56
|
+
*/
|
|
57
|
+
static clearAll(): void {
|
|
58
|
+
this.storage.clear();
|
|
59
|
+
this.defaultStorage.clear();
|
|
60
|
+
}
|
|
61
|
+
}
|
package/src/utils/Translator.ts
CHANGED
|
@@ -103,7 +103,7 @@ export default class Translator extends EventEmitter {
|
|
|
103
103
|
load(
|
|
104
104
|
desiredLocale?: string,
|
|
105
105
|
onLangLoadSuccess?: () => void,
|
|
106
|
-
onLangLoadFailure?: (
|
|
106
|
+
onLangLoadFailure?: () => void,
|
|
107
107
|
): Promise<PromiseSettledResult<string | undefined>[]> {
|
|
108
108
|
const allLocales = desiredLocale
|
|
109
109
|
? Translator.fallbackLanguages(
|