@osano/osano-cmp-react-native 0.1.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/LICENSE +20 -0
- package/README.dev.md +58 -0
- package/README.md +1 -0
- package/android/build.gradle +94 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +3 -0
- package/android/src/main/AndroidManifestNew.xml +2 -0
- package/android/src/main/java/com/OsanoCMPSDK/OsanoCMPSDKModule.kt +72 -0
- package/android/src/main/java/com/OsanoCMPSDK/OsanoCMPSDKPackage.kt +17 -0
- package/ios/OsanoCmpSDK.mm +43 -0
- package/ios/OsanoCmpSdk.h +12 -0
- package/lib/commonjs/ConsentManager.js +529 -0
- package/lib/commonjs/ConsentManager.js.map +1 -0
- package/lib/commonjs/ConsentUiBuilder.js +75 -0
- package/lib/commonjs/ConsentUiBuilder.js.map +1 -0
- package/lib/commonjs/components/Button.js +222 -0
- package/lib/commonjs/components/Button.js.map +1 -0
- package/lib/commonjs/components/Checkbox.js +75 -0
- package/lib/commonjs/components/Checkbox.js.map +1 -0
- package/lib/commonjs/components/Divider.js +22 -0
- package/lib/commonjs/components/Divider.js.map +1 -0
- package/lib/commonjs/components/ExpansionPanel.js +70 -0
- package/lib/commonjs/components/ExpansionPanel.js.map +1 -0
- package/lib/commonjs/components/Link.js +51 -0
- package/lib/commonjs/components/Link.js.map +1 -0
- package/lib/commonjs/components/List.js +36 -0
- package/lib/commonjs/components/List.js.map +1 -0
- package/lib/commonjs/components/Locale.js +28 -0
- package/lib/commonjs/components/Locale.js.map +1 -0
- package/lib/commonjs/components/StoragePolicyLink.js +32 -0
- package/lib/commonjs/components/StoragePolicyLink.js.map +1 -0
- package/lib/commonjs/components/Toggle.js +113 -0
- package/lib/commonjs/components/Toggle.js.map +1 -0
- package/lib/commonjs/constants.js +37 -0
- package/lib/commonjs/constants.js.map +1 -0
- package/lib/commonjs/context.js +40 -0
- package/lib/commonjs/context.js.map +1 -0
- package/lib/commonjs/flavors/five.json +11 -0
- package/lib/commonjs/flavors/four.json +11 -0
- package/lib/commonjs/flavors/index.js +32 -0
- package/lib/commonjs/flavors/index.js.map +1 -0
- package/lib/commonjs/flavors/one.json +11 -0
- package/lib/commonjs/flavors/six.json +12 -0
- package/lib/commonjs/flavors/three.json +11 -0
- package/lib/commonjs/flavors/two.json +11 -0
- package/lib/commonjs/hooks/useBoundCallback.js +32 -0
- package/lib/commonjs/hooks/useBoundCallback.js.map +1 -0
- package/lib/commonjs/hooks/useDeviceOrientation.js +20 -0
- package/lib/commonjs/hooks/useDeviceOrientation.js.map +1 -0
- package/lib/commonjs/hooks/usePrevious.js +15 -0
- package/lib/commonjs/hooks/usePrevious.js.map +1 -0
- package/lib/commonjs/hooks/useThunkReducer.js +62 -0
- package/lib/commonjs/hooks/useThunkReducer.js.map +1 -0
- package/lib/commonjs/iab/constants.js +8 -0
- package/lib/commonjs/iab/constants.js.map +1 -0
- package/lib/commonjs/iab/gpp/api.js +226 -0
- package/lib/commonjs/iab/gpp/api.js.map +1 -0
- package/lib/commonjs/iab/gpp/consent.js +99 -0
- package/lib/commonjs/iab/gpp/consent.js.map +1 -0
- package/lib/commonjs/iab/gpp/constants.js +56 -0
- package/lib/commonjs/iab/gpp/constants.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/AbstractBase64UrlEncoder.js +139 -0
- package/lib/commonjs/iab/gpp/encoders/AbstractBase64UrlEncoder.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/BooleanEncoder.js +47 -0
- package/lib/commonjs/iab/gpp/encoders/BooleanEncoder.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/CompressedBase64UrlEncoder.js +49 -0
- package/lib/commonjs/iab/gpp/encoders/CompressedBase64UrlEncoder.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/DatetimeEncoder.js +48 -0
- package/lib/commonjs/iab/gpp/encoders/DatetimeEncoder.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/EncodableOptimizedFixedRange.js +184 -0
- package/lib/commonjs/iab/gpp/encoders/EncodableOptimizedFixedRange.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/FibonacciIntegerEncoder.js +81 -0
- package/lib/commonjs/iab/gpp/encoders/FibonacciIntegerEncoder.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/FibonacciIntegerRangeEncoder.js +104 -0
- package/lib/commonjs/iab/gpp/encoders/FibonacciIntegerRangeEncoder.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/FixedBitfieldEncoder.js +56 -0
- package/lib/commonjs/iab/gpp/encoders/FixedBitfieldEncoder.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/FixedIdBitMapEncoder.js +27 -0
- package/lib/commonjs/iab/gpp/encoders/FixedIdBitMapEncoder.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/FixedIntegerEncoder.js +62 -0
- package/lib/commonjs/iab/gpp/encoders/FixedIntegerEncoder.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/FixedIntegerListEncoder.js +71 -0
- package/lib/commonjs/iab/gpp/encoders/FixedIntegerListEncoder.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/FixedIntegerRangeEncoder.js +88 -0
- package/lib/commonjs/iab/gpp/encoders/FixedIntegerRangeEncoder.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/FixedStringEncoder.js +68 -0
- package/lib/commonjs/iab/gpp/encoders/FixedStringEncoder.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/LICENSE-IABTechLab +176 -0
- package/lib/commonjs/iab/gpp/encoders/TraditionalBase64UrlEncoder.js +46 -0
- package/lib/commonjs/iab/gpp/encoders/TraditionalBase64UrlEncoder.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/errors.js +42 -0
- package/lib/commonjs/iab/gpp/encoders/errors.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/index.js +105 -0
- package/lib/commonjs/iab/gpp/encoders/index.js.map +1 -0
- package/lib/commonjs/iab/gpp/encoders/types.js +2 -0
- package/lib/commonjs/iab/gpp/encoders/types.js.map +1 -0
- package/lib/commonjs/iab/gpp/index.js +16 -0
- package/lib/commonjs/iab/gpp/index.js.map +1 -0
- package/lib/commonjs/iab/gpp/reducer.js +12 -0
- package/lib/commonjs/iab/gpp/reducer.js.map +1 -0
- package/lib/commonjs/iab/gpp/selectors.js +25 -0
- package/lib/commonjs/iab/gpp/selectors.js.map +1 -0
- package/lib/commonjs/iab/gpp/types.js +2 -0
- package/lib/commonjs/iab/gpp/types.js.map +1 -0
- package/lib/commonjs/iab/gpp/v1/constants.js +16 -0
- package/lib/commonjs/iab/gpp/v1/constants.js.map +1 -0
- package/lib/commonjs/iab/gpp/v1/index.js +73 -0
- package/lib/commonjs/iab/gpp/v1/index.js.map +1 -0
- package/lib/commonjs/iab/tcf/actions.js +20 -0
- package/lib/commonjs/iab/tcf/actions.js.map +1 -0
- package/lib/commonjs/iab/tcf/consent.js +306 -0
- package/lib/commonjs/iab/tcf/consent.js.map +1 -0
- package/lib/commonjs/iab/tcf/constants.js +44 -0
- package/lib/commonjs/iab/tcf/constants.js.map +1 -0
- package/lib/commonjs/iab/tcf/index.js +14 -0
- package/lib/commonjs/iab/tcf/index.js.map +1 -0
- package/lib/commonjs/iab/tcf/reducer.js +57 -0
- package/lib/commonjs/iab/tcf/reducer.js.map +1 -0
- package/lib/commonjs/iab/tcf/selectors.js +158 -0
- package/lib/commonjs/iab/tcf/selectors.js.map +1 -0
- package/lib/commonjs/iab/tcf/tcfcav1-api.js +41 -0
- package/lib/commonjs/iab/tcf/tcfcav1-api.js.map +1 -0
- package/lib/commonjs/iab/tcf/tcfeuv2-api.js +256 -0
- package/lib/commonjs/iab/tcf/tcfeuv2-api.js.map +1 -0
- package/lib/commonjs/iab/tcf/types.js +6 -0
- package/lib/commonjs/iab/tcf/types.js.map +1 -0
- package/lib/commonjs/iab/tcf/v2.0/encoders.js +39 -0
- package/lib/commonjs/iab/tcf/v2.0/encoders.js.map +1 -0
- package/lib/commonjs/iab/tcf/v2.0/formatters.js +21 -0
- package/lib/commonjs/iab/tcf/v2.0/formatters.js.map +1 -0
- package/lib/commonjs/iab/tcf/v2.0/helpers.js +25 -0
- package/lib/commonjs/iab/tcf/v2.0/helpers.js.map +1 -0
- package/lib/commonjs/iab/tcf/v2.0/index.js +39 -0
- package/lib/commonjs/iab/tcf/v2.0/index.js.map +1 -0
- package/lib/commonjs/iab/tcf/v2.0/middleware.js +80 -0
- package/lib/commonjs/iab/tcf/v2.0/middleware.js.map +1 -0
- package/lib/commonjs/iab/tcf/v2.0/reducer.js +318 -0
- package/lib/commonjs/iab/tcf/v2.0/reducer.js.map +1 -0
- package/lib/commonjs/iab/tcf/v2.0/shared-constants.js +22 -0
- package/lib/commonjs/iab/tcf/v2.0/shared-constants.js.map +1 -0
- package/lib/commonjs/iab/tcf/v2.0/tcfcav1-constants.js +63 -0
- package/lib/commonjs/iab/tcf/v2.0/tcfcav1-constants.js.map +1 -0
- package/lib/commonjs/iab/tcf/v2.0/tcfeuv2-constants.js +92 -0
- package/lib/commonjs/iab/tcf/v2.0/tcfeuv2-constants.js.map +1 -0
- package/lib/commonjs/iab/types.js +6 -0
- package/lib/commonjs/iab/types.js.map +1 -0
- package/lib/commonjs/iab/usp/api.js +59 -0
- package/lib/commonjs/iab/usp/api.js.map +1 -0
- package/lib/commonjs/iab/usp/consent.js +140 -0
- package/lib/commonjs/iab/usp/consent.js.map +1 -0
- package/lib/commonjs/iab/usp/constants.js +46 -0
- package/lib/commonjs/iab/usp/constants.js.map +1 -0
- package/lib/commonjs/iab/usp/index.js +16 -0
- package/lib/commonjs/iab/usp/index.js.map +1 -0
- package/lib/commonjs/iab/usp/reducer.js +121 -0
- package/lib/commonjs/iab/usp/reducer.js.map +1 -0
- package/lib/commonjs/iab/usp/selectors.js +35 -0
- package/lib/commonjs/iab/usp/selectors.js.map +1 -0
- package/lib/commonjs/iab/usp/types.js +2 -0
- package/lib/commonjs/iab/usp/types.js.map +1 -0
- package/lib/commonjs/iab/usp/v1/constants.js +16 -0
- package/lib/commonjs/iab/usp/v1/constants.js.map +1 -0
- package/lib/commonjs/iab/usp/v1/index.js +58 -0
- package/lib/commonjs/iab/usp/v1/index.js.map +1 -0
- package/lib/commonjs/iab/utilities.js +16 -0
- package/lib/commonjs/iab/utilities.js.map +1 -0
- package/lib/commonjs/index.js +129 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/locale/af.json +306 -0
- package/lib/commonjs/locale/ar.json +306 -0
- package/lib/commonjs/locale/bg.json +306 -0
- package/lib/commonjs/locale/ca.json +306 -0
- package/lib/commonjs/locale/cs.json +306 -0
- package/lib/commonjs/locale/da.json +306 -0
- package/lib/commonjs/locale/de-at.json +306 -0
- package/lib/commonjs/locale/de.json +306 -0
- package/lib/commonjs/locale/el.json +306 -0
- package/lib/commonjs/locale/en-au.json +306 -0
- package/lib/commonjs/locale/en-ca.json +306 -0
- package/lib/commonjs/locale/en-gb.json +306 -0
- package/lib/commonjs/locale/en.json +306 -0
- package/lib/commonjs/locale/es-mx.json +306 -0
- package/lib/commonjs/locale/es.json +306 -0
- package/lib/commonjs/locale/et.json +306 -0
- package/lib/commonjs/locale/fa.json +306 -0
- package/lib/commonjs/locale/fi.json +306 -0
- package/lib/commonjs/locale/fr-ca.json +306 -0
- package/lib/commonjs/locale/fr.json +306 -0
- package/lib/commonjs/locale/gd.json +306 -0
- package/lib/commonjs/locale/he.json +306 -0
- package/lib/commonjs/locale/hi.json +306 -0
- package/lib/commonjs/locale/hr.json +306 -0
- package/lib/commonjs/locale/hu.json +306 -0
- package/lib/commonjs/locale/hy.json +306 -0
- package/lib/commonjs/locale/id.json +306 -0
- package/lib/commonjs/locale/index.js +427 -0
- package/lib/commonjs/locale/index.js.map +1 -0
- package/lib/commonjs/locale/is.json +306 -0
- package/lib/commonjs/locale/it.json +306 -0
- package/lib/commonjs/locale/ja.json +306 -0
- package/lib/commonjs/locale/kk.json +306 -0
- package/lib/commonjs/locale/ko.json +306 -0
- package/lib/commonjs/locale/lt.json +306 -0
- package/lib/commonjs/locale/lv.json +306 -0
- package/lib/commonjs/locale/mi.json +306 -0
- package/lib/commonjs/locale/ms.json +306 -0
- package/lib/commonjs/locale/nb.json +306 -0
- package/lib/commonjs/locale/nl-be.json +306 -0
- package/lib/commonjs/locale/nl.json +306 -0
- package/lib/commonjs/locale/nn.json +306 -0
- package/lib/commonjs/locale/no.json +306 -0
- package/lib/commonjs/locale/pl.json +306 -0
- package/lib/commonjs/locale/pt-br.json +306 -0
- package/lib/commonjs/locale/pt.json +306 -0
- package/lib/commonjs/locale/ro.json +306 -0
- package/lib/commonjs/locale/ru.json +306 -0
- package/lib/commonjs/locale/sk.json +306 -0
- package/lib/commonjs/locale/sl.json +306 -0
- package/lib/commonjs/locale/sq.json +306 -0
- package/lib/commonjs/locale/sr.json +306 -0
- package/lib/commonjs/locale/sv.json +306 -0
- package/lib/commonjs/locale/th.json +306 -0
- package/lib/commonjs/locale/tl.json +306 -0
- package/lib/commonjs/locale/tr.json +306 -0
- package/lib/commonjs/locale/uk.json +306 -0
- package/lib/commonjs/locale/vi.json +306 -0
- package/lib/commonjs/locale/zh-hk.json +306 -0
- package/lib/commonjs/locale/zh-tw.json +306 -0
- package/lib/commonjs/locale/zh.json +306 -0
- package/lib/commonjs/locale/zu.json +306 -0
- package/lib/commonjs/native/OsanoCmp.js +33 -0
- package/lib/commonjs/native/OsanoCmp.js.map +1 -0
- package/lib/commonjs/services/consent.js +134 -0
- package/lib/commonjs/services/consent.js.map +1 -0
- package/lib/commonjs/services/disclosures.js +25 -0
- package/lib/commonjs/services/disclosures.js.map +1 -0
- package/lib/commonjs/services/locale.js +40 -0
- package/lib/commonjs/services/locale.js.map +1 -0
- package/lib/commonjs/store.js +558 -0
- package/lib/commonjs/store.js.map +1 -0
- package/lib/commonjs/styles.js +186 -0
- package/lib/commonjs/styles.js.map +1 -0
- package/lib/commonjs/types/consent-config.d.js +6 -0
- package/lib/commonjs/types/consent-config.d.js.map +1 -0
- package/lib/commonjs/types/env.d.js +2 -0
- package/lib/commonjs/types/env.d.js.map +1 -0
- package/lib/commonjs/types/index.d.js +6 -0
- package/lib/commonjs/types/index.d.js.map +1 -0
- package/lib/commonjs/types/store.d.js +6 -0
- package/lib/commonjs/types/store.d.js.map +1 -0
- package/lib/commonjs/utils/API.js +43 -0
- package/lib/commonjs/utils/API.js.map +1 -0
- package/lib/commonjs/utils/Color.js +99 -0
- package/lib/commonjs/utils/Color.js.map +1 -0
- package/lib/commonjs/utils/EventEmitter.js +53 -0
- package/lib/commonjs/utils/EventEmitter.js.map +1 -0
- package/lib/commonjs/utils/Translator.js +222 -0
- package/lib/commonjs/utils/Translator.js.map +1 -0
- package/lib/commonjs/utils/index.js +116 -0
- package/lib/commonjs/utils/index.js.map +1 -0
- package/lib/commonjs/views/Dialog/Buttons.js +76 -0
- package/lib/commonjs/views/Dialog/Buttons.js.map +1 -0
- package/lib/commonjs/views/Dialog/FirstLayerUsage.js +44 -0
- package/lib/commonjs/views/Dialog/FirstLayerUsage.js.map +1 -0
- package/lib/commonjs/views/Dialog/Message.js +30 -0
- package/lib/commonjs/views/Dialog/Message.js.map +1 -0
- package/lib/commonjs/views/Dialog/PreferenceManagementDeepLinks.js +46 -0
- package/lib/commonjs/views/Dialog/PreferenceManagementDeepLinks.js.map +1 -0
- package/lib/commonjs/views/Dialog/index.js +314 -0
- package/lib/commonjs/views/Dialog/index.js.map +1 -0
- package/lib/commonjs/views/Drawer/Drawer.ConsentCategories.js +627 -0
- package/lib/commonjs/views/Drawer/Drawer.ConsentCategories.js.map +1 -0
- package/lib/commonjs/views/Drawer/Drawer.Header.js +120 -0
- package/lib/commonjs/views/Drawer/Drawer.Header.js.map +1 -0
- package/lib/commonjs/views/Drawer/Drawer.Iab.Disclosures.js +311 -0
- package/lib/commonjs/views/Drawer/Drawer.Iab.Disclosures.js.map +1 -0
- package/lib/commonjs/views/Drawer/Drawer.Iab.Vendors.js +458 -0
- package/lib/commonjs/views/Drawer/Drawer.Iab.Vendors.js.map +1 -0
- package/lib/commonjs/views/Drawer/index.js +208 -0
- package/lib/commonjs/views/Drawer/index.js.map +1 -0
- package/lib/module/ConsentManager.js +520 -0
- package/lib/module/ConsentManager.js.map +1 -0
- package/lib/module/ConsentUiBuilder.js +66 -0
- package/lib/module/ConsentUiBuilder.js.map +1 -0
- package/lib/module/components/Button.js +205 -0
- package/lib/module/components/Button.js.map +1 -0
- package/lib/module/components/Checkbox.js +65 -0
- package/lib/module/components/Checkbox.js.map +1 -0
- package/lib/module/components/Divider.js +14 -0
- package/lib/module/components/Divider.js.map +1 -0
- package/lib/module/components/ExpansionPanel.js +60 -0
- package/lib/module/components/ExpansionPanel.js.map +1 -0
- package/lib/module/components/Link.js +42 -0
- package/lib/module/components/Link.js.map +1 -0
- package/lib/module/components/List.js +28 -0
- package/lib/module/components/List.js.map +1 -0
- package/lib/module/components/Locale.js +21 -0
- package/lib/module/components/Locale.js.map +1 -0
- package/lib/module/components/StoragePolicyLink.js +24 -0
- package/lib/module/components/StoragePolicyLink.js.map +1 -0
- package/lib/module/components/Toggle.js +103 -0
- package/lib/module/components/Toggle.js.map +1 -0
- package/lib/module/constants.js +31 -0
- package/lib/module/constants.js.map +1 -0
- package/lib/module/context.js +33 -0
- package/lib/module/context.js.map +1 -0
- package/lib/module/flavors/five.json +11 -0
- package/lib/module/flavors/four.json +11 -0
- package/lib/module/flavors/index.js +26 -0
- package/lib/module/flavors/index.js.map +1 -0
- package/lib/module/flavors/one.json +11 -0
- package/lib/module/flavors/six.json +12 -0
- package/lib/module/flavors/three.json +11 -0
- package/lib/module/flavors/two.json +11 -0
- package/lib/module/hooks/useBoundCallback.js +25 -0
- package/lib/module/hooks/useBoundCallback.js.map +1 -0
- package/lib/module/hooks/useDeviceOrientation.js +13 -0
- package/lib/module/hooks/useDeviceOrientation.js.map +1 -0
- package/lib/module/hooks/usePrevious.js +9 -0
- package/lib/module/hooks/usePrevious.js.map +1 -0
- package/lib/module/hooks/useThunkReducer.js +54 -0
- package/lib/module/hooks/useThunkReducer.js.map +1 -0
- package/lib/module/iab/constants.js +2 -0
- package/lib/module/iab/constants.js.map +1 -0
- package/lib/module/iab/gpp/api.js +220 -0
- package/lib/module/iab/gpp/api.js.map +1 -0
- package/lib/module/iab/gpp/consent.js +89 -0
- package/lib/module/iab/gpp/consent.js.map +1 -0
- package/lib/module/iab/gpp/constants.js +50 -0
- package/lib/module/iab/gpp/constants.js.map +1 -0
- package/lib/module/iab/gpp/encoders/AbstractBase64UrlEncoder.js +132 -0
- package/lib/module/iab/gpp/encoders/AbstractBase64UrlEncoder.js.map +1 -0
- package/lib/module/iab/gpp/encoders/BooleanEncoder.js +39 -0
- package/lib/module/iab/gpp/encoders/BooleanEncoder.js.map +1 -0
- package/lib/module/iab/gpp/encoders/CompressedBase64UrlEncoder.js +38 -0
- package/lib/module/iab/gpp/encoders/CompressedBase64UrlEncoder.js.map +1 -0
- package/lib/module/iab/gpp/encoders/DatetimeEncoder.js +40 -0
- package/lib/module/iab/gpp/encoders/DatetimeEncoder.js.map +1 -0
- package/lib/module/iab/gpp/encoders/EncodableOptimizedFixedRange.js +177 -0
- package/lib/module/iab/gpp/encoders/EncodableOptimizedFixedRange.js.map +1 -0
- package/lib/module/iab/gpp/encoders/FibonacciIntegerEncoder.js +73 -0
- package/lib/module/iab/gpp/encoders/FibonacciIntegerEncoder.js.map +1 -0
- package/lib/module/iab/gpp/encoders/FibonacciIntegerRangeEncoder.js +96 -0
- package/lib/module/iab/gpp/encoders/FibonacciIntegerRangeEncoder.js.map +1 -0
- package/lib/module/iab/gpp/encoders/FixedBitfieldEncoder.js +48 -0
- package/lib/module/iab/gpp/encoders/FixedBitfieldEncoder.js.map +1 -0
- package/lib/module/iab/gpp/encoders/FixedIdBitMapEncoder.js +21 -0
- package/lib/module/iab/gpp/encoders/FixedIdBitMapEncoder.js.map +1 -0
- package/lib/module/iab/gpp/encoders/FixedIntegerEncoder.js +55 -0
- package/lib/module/iab/gpp/encoders/FixedIntegerEncoder.js.map +1 -0
- package/lib/module/iab/gpp/encoders/FixedIntegerListEncoder.js +63 -0
- package/lib/module/iab/gpp/encoders/FixedIntegerListEncoder.js.map +1 -0
- package/lib/module/iab/gpp/encoders/FixedIntegerRangeEncoder.js +80 -0
- package/lib/module/iab/gpp/encoders/FixedIntegerRangeEncoder.js.map +1 -0
- package/lib/module/iab/gpp/encoders/FixedStringEncoder.js +60 -0
- package/lib/module/iab/gpp/encoders/FixedStringEncoder.js.map +1 -0
- package/lib/module/iab/gpp/encoders/LICENSE-IABTechLab +176 -0
- package/lib/module/iab/gpp/encoders/TraditionalBase64UrlEncoder.js +35 -0
- package/lib/module/iab/gpp/encoders/TraditionalBase64UrlEncoder.js.map +1 -0
- package/lib/module/iab/gpp/encoders/errors.js +31 -0
- package/lib/module/iab/gpp/encoders/errors.js.map +1 -0
- package/lib/module/iab/gpp/encoders/index.js +15 -0
- package/lib/module/iab/gpp/encoders/index.js.map +1 -0
- package/lib/module/iab/gpp/encoders/types.js +2 -0
- package/lib/module/iab/gpp/encoders/types.js.map +1 -0
- package/lib/module/iab/gpp/index.js +9 -0
- package/lib/module/iab/gpp/index.js.map +1 -0
- package/lib/module/iab/gpp/reducer.js +6 -0
- package/lib/module/iab/gpp/reducer.js.map +1 -0
- package/lib/module/iab/gpp/selectors.js +14 -0
- package/lib/module/iab/gpp/selectors.js.map +1 -0
- package/lib/module/iab/gpp/types.js +2 -0
- package/lib/module/iab/gpp/types.js.map +1 -0
- package/lib/module/iab/gpp/v1/constants.js +10 -0
- package/lib/module/iab/gpp/v1/constants.js.map +1 -0
- package/lib/module/iab/gpp/v1/index.js +65 -0
- package/lib/module/iab/gpp/v1/index.js.map +1 -0
- package/lib/module/iab/tcf/actions.js +14 -0
- package/lib/module/iab/tcf/actions.js.map +1 -0
- package/lib/module/iab/tcf/consent.js +293 -0
- package/lib/module/iab/tcf/consent.js.map +1 -0
- package/lib/module/iab/tcf/constants.js +37 -0
- package/lib/module/iab/tcf/constants.js.map +1 -0
- package/lib/module/iab/tcf/index.js +7 -0
- package/lib/module/iab/tcf/index.js.map +1 -0
- package/lib/module/iab/tcf/reducer.js +51 -0
- package/lib/module/iab/tcf/reducer.js.map +1 -0
- package/lib/module/iab/tcf/selectors.js +124 -0
- package/lib/module/iab/tcf/selectors.js.map +1 -0
- package/lib/module/iab/tcf/tcfcav1-api.js +35 -0
- package/lib/module/iab/tcf/tcfcav1-api.js.map +1 -0
- package/lib/module/iab/tcf/tcfeuv2-api.js +251 -0
- package/lib/module/iab/tcf/tcfeuv2-api.js.map +1 -0
- package/lib/module/iab/tcf/types.js +2 -0
- package/lib/module/iab/tcf/types.js.map +1 -0
- package/lib/module/iab/tcf/v2.0/encoders.js +28 -0
- package/lib/module/iab/tcf/v2.0/encoders.js.map +1 -0
- package/lib/module/iab/tcf/v2.0/formatters.js +12 -0
- package/lib/module/iab/tcf/v2.0/formatters.js.map +1 -0
- package/lib/module/iab/tcf/v2.0/helpers.js +18 -0
- package/lib/module/iab/tcf/v2.0/helpers.js.map +1 -0
- package/lib/module/iab/tcf/v2.0/index.js +33 -0
- package/lib/module/iab/tcf/v2.0/index.js.map +1 -0
- package/lib/module/iab/tcf/v2.0/middleware.js +74 -0
- package/lib/module/iab/tcf/v2.0/middleware.js.map +1 -0
- package/lib/module/iab/tcf/v2.0/reducer.js +311 -0
- package/lib/module/iab/tcf/v2.0/reducer.js.map +1 -0
- package/lib/module/iab/tcf/v2.0/shared-constants.js +16 -0
- package/lib/module/iab/tcf/v2.0/shared-constants.js.map +1 -0
- package/lib/module/iab/tcf/v2.0/tcfcav1-constants.js +57 -0
- package/lib/module/iab/tcf/v2.0/tcfcav1-constants.js.map +1 -0
- package/lib/module/iab/tcf/v2.0/tcfeuv2-constants.js +85 -0
- package/lib/module/iab/tcf/v2.0/tcfeuv2-constants.js.map +1 -0
- package/lib/module/iab/types.js +2 -0
- package/lib/module/iab/types.js.map +1 -0
- package/lib/module/iab/usp/api.js +53 -0
- package/lib/module/iab/usp/api.js.map +1 -0
- package/lib/module/iab/usp/consent.js +129 -0
- package/lib/module/iab/usp/consent.js.map +1 -0
- package/lib/module/iab/usp/constants.js +38 -0
- package/lib/module/iab/usp/constants.js.map +1 -0
- package/lib/module/iab/usp/index.js +9 -0
- package/lib/module/iab/usp/index.js.map +1 -0
- package/lib/module/iab/usp/reducer.js +115 -0
- package/lib/module/iab/usp/reducer.js.map +1 -0
- package/lib/module/iab/usp/selectors.js +25 -0
- package/lib/module/iab/usp/selectors.js.map +1 -0
- package/lib/module/iab/usp/types.js +2 -0
- package/lib/module/iab/usp/types.js.map +1 -0
- package/lib/module/iab/usp/v1/constants.js +10 -0
- package/lib/module/iab/usp/v1/constants.js.map +1 -0
- package/lib/module/iab/usp/v1/index.js +51 -0
- package/lib/module/iab/usp/v1/index.js.map +1 -0
- package/lib/module/iab/utilities.js +9 -0
- package/lib/module/iab/utilities.js.map +1 -0
- package/lib/module/index.js +114 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/locale/af.json +306 -0
- package/lib/module/locale/ar.json +306 -0
- package/lib/module/locale/bg.json +306 -0
- package/lib/module/locale/ca.json +306 -0
- package/lib/module/locale/cs.json +306 -0
- package/lib/module/locale/da.json +306 -0
- package/lib/module/locale/de-at.json +306 -0
- package/lib/module/locale/de.json +306 -0
- package/lib/module/locale/el.json +306 -0
- package/lib/module/locale/en-au.json +306 -0
- package/lib/module/locale/en-ca.json +306 -0
- package/lib/module/locale/en-gb.json +306 -0
- package/lib/module/locale/en.json +306 -0
- package/lib/module/locale/es-mx.json +306 -0
- package/lib/module/locale/es.json +306 -0
- package/lib/module/locale/et.json +306 -0
- package/lib/module/locale/fa.json +306 -0
- package/lib/module/locale/fi.json +306 -0
- package/lib/module/locale/fr-ca.json +306 -0
- package/lib/module/locale/fr.json +306 -0
- package/lib/module/locale/gd.json +306 -0
- package/lib/module/locale/he.json +306 -0
- package/lib/module/locale/hi.json +306 -0
- package/lib/module/locale/hr.json +306 -0
- package/lib/module/locale/hu.json +306 -0
- package/lib/module/locale/hy.json +306 -0
- package/lib/module/locale/id.json +306 -0
- package/lib/module/locale/index.js +61 -0
- package/lib/module/locale/index.js.map +1 -0
- package/lib/module/locale/is.json +306 -0
- package/lib/module/locale/it.json +306 -0
- package/lib/module/locale/ja.json +306 -0
- package/lib/module/locale/kk.json +306 -0
- package/lib/module/locale/ko.json +306 -0
- package/lib/module/locale/lt.json +306 -0
- package/lib/module/locale/lv.json +306 -0
- package/lib/module/locale/mi.json +306 -0
- package/lib/module/locale/ms.json +306 -0
- package/lib/module/locale/nb.json +306 -0
- package/lib/module/locale/nl-be.json +306 -0
- package/lib/module/locale/nl.json +306 -0
- package/lib/module/locale/nn.json +306 -0
- package/lib/module/locale/no.json +306 -0
- package/lib/module/locale/pl.json +306 -0
- package/lib/module/locale/pt-br.json +306 -0
- package/lib/module/locale/pt.json +306 -0
- package/lib/module/locale/ro.json +306 -0
- package/lib/module/locale/ru.json +306 -0
- package/lib/module/locale/sk.json +306 -0
- package/lib/module/locale/sl.json +306 -0
- package/lib/module/locale/sq.json +306 -0
- package/lib/module/locale/sr.json +306 -0
- package/lib/module/locale/sv.json +306 -0
- package/lib/module/locale/th.json +306 -0
- package/lib/module/locale/tl.json +306 -0
- package/lib/module/locale/tr.json +306 -0
- package/lib/module/locale/uk.json +306 -0
- package/lib/module/locale/vi.json +306 -0
- package/lib/module/locale/zh-hk.json +306 -0
- package/lib/module/locale/zh-tw.json +306 -0
- package/lib/module/locale/zh.json +306 -0
- package/lib/module/locale/zu.json +306 -0
- package/lib/module/native/OsanoCmp.js +24 -0
- package/lib/module/native/OsanoCmp.js.map +1 -0
- package/lib/module/services/consent.js +123 -0
- package/lib/module/services/consent.js.map +1 -0
- package/lib/module/services/disclosures.js +18 -0
- package/lib/module/services/disclosures.js.map +1 -0
- package/lib/module/services/locale.js +32 -0
- package/lib/module/services/locale.js.map +1 -0
- package/lib/module/store.js +520 -0
- package/lib/module/store.js.map +1 -0
- package/lib/module/styles.js +178 -0
- package/lib/module/styles.js.map +1 -0
- package/lib/module/types/consent-config.d.js +2 -0
- package/lib/module/types/consent-config.d.js.map +1 -0
- package/lib/module/types/env.d.js +2 -0
- package/lib/module/types/env.d.js.map +1 -0
- package/lib/module/types/index.d.js +2 -0
- package/lib/module/types/index.d.js.map +1 -0
- package/lib/module/types/store.d.js +2 -0
- package/lib/module/types/store.d.js.map +1 -0
- package/lib/module/utils/API.js +37 -0
- package/lib/module/utils/API.js.map +1 -0
- package/lib/module/utils/Color.js +82 -0
- package/lib/module/utils/Color.js.map +1 -0
- package/lib/module/utils/EventEmitter.js +45 -0
- package/lib/module/utils/EventEmitter.js.map +1 -0
- package/lib/module/utils/Translator.js +215 -0
- package/lib/module/utils/Translator.js.map +1 -0
- package/lib/module/utils/index.js +107 -0
- package/lib/module/utils/index.js.map +1 -0
- package/lib/module/views/Dialog/Buttons.js +67 -0
- package/lib/module/views/Dialog/Buttons.js.map +1 -0
- package/lib/module/views/Dialog/FirstLayerUsage.js +34 -0
- package/lib/module/views/Dialog/FirstLayerUsage.js.map +1 -0
- package/lib/module/views/Dialog/Message.js +20 -0
- package/lib/module/views/Dialog/Message.js.map +1 -0
- package/lib/module/views/Dialog/PreferenceManagementDeepLinks.js +36 -0
- package/lib/module/views/Dialog/PreferenceManagementDeepLinks.js.map +1 -0
- package/lib/module/views/Dialog/index.js +304 -0
- package/lib/module/views/Dialog/index.js.map +1 -0
- package/lib/module/views/Drawer/Drawer.ConsentCategories.js +617 -0
- package/lib/module/views/Drawer/Drawer.ConsentCategories.js.map +1 -0
- package/lib/module/views/Drawer/Drawer.Header.js +110 -0
- package/lib/module/views/Drawer/Drawer.Header.js.map +1 -0
- package/lib/module/views/Drawer/Drawer.Iab.Disclosures.js +301 -0
- package/lib/module/views/Drawer/Drawer.Iab.Disclosures.js.map +1 -0
- package/lib/module/views/Drawer/Drawer.Iab.Vendors.js +448 -0
- package/lib/module/views/Drawer/Drawer.Iab.Vendors.js.map +1 -0
- package/lib/module/views/Drawer/index.js +198 -0
- package/lib/module/views/Drawer/index.js.map +1 -0
- package/lib/typescript/src/ConsentManager.d.ts +123 -0
- package/lib/typescript/src/ConsentManager.d.ts.map +1 -0
- package/lib/typescript/src/ConsentUiBuilder.d.ts +13 -0
- package/lib/typescript/src/ConsentUiBuilder.d.ts.map +1 -0
- package/lib/typescript/src/components/Button.d.ts +22 -0
- package/lib/typescript/src/components/Button.d.ts.map +1 -0
- package/lib/typescript/src/components/Checkbox.d.ts +12 -0
- package/lib/typescript/src/components/Checkbox.d.ts.map +1 -0
- package/lib/typescript/src/components/Divider.d.ts +9 -0
- package/lib/typescript/src/components/Divider.d.ts.map +1 -0
- package/lib/typescript/src/components/ExpansionPanel.d.ts +10 -0
- package/lib/typescript/src/components/ExpansionPanel.d.ts.map +1 -0
- package/lib/typescript/src/components/Link.d.ts +9 -0
- package/lib/typescript/src/components/Link.d.ts.map +1 -0
- package/lib/typescript/src/components/List.d.ts +10 -0
- package/lib/typescript/src/components/List.d.ts.map +1 -0
- package/lib/typescript/src/components/Locale.d.ts +10 -0
- package/lib/typescript/src/components/Locale.d.ts.map +1 -0
- package/lib/typescript/src/components/StoragePolicyLink.d.ts +4 -0
- package/lib/typescript/src/components/StoragePolicyLink.d.ts.map +1 -0
- package/lib/typescript/src/components/Toggle.d.ts +12 -0
- package/lib/typescript/src/components/Toggle.d.ts.map +1 -0
- package/lib/typescript/src/constants.d.ts +17 -0
- package/lib/typescript/src/constants.d.ts.map +1 -0
- package/lib/typescript/src/context.d.ts +34 -0
- package/lib/typescript/src/context.d.ts.map +1 -0
- package/lib/typescript/src/flavors/index.d.ts +21 -0
- package/lib/typescript/src/flavors/index.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useBoundCallback.d.ts +17 -0
- package/lib/typescript/src/hooks/useBoundCallback.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useDeviceOrientation.d.ts +4 -0
- package/lib/typescript/src/hooks/useDeviceOrientation.d.ts.map +1 -0
- package/lib/typescript/src/hooks/usePrevious.d.ts +2 -0
- package/lib/typescript/src/hooks/usePrevious.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useThunkReducer.d.ts +23 -0
- package/lib/typescript/src/hooks/useThunkReducer.d.ts.map +1 -0
- package/lib/typescript/src/iab/constants.d.ts +2 -0
- package/lib/typescript/src/iab/constants.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts +28 -0
- package/lib/typescript/src/iab/gpp/encoders/AbstractBase64UrlEncoder.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/BooleanEncoder.d.ts +34 -0
- package/lib/typescript/src/iab/gpp/encoders/BooleanEncoder.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/CompressedBase64UrlEncoder.d.ts +28 -0
- package/lib/typescript/src/iab/gpp/encoders/CompressedBase64UrlEncoder.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/DatetimeEncoder.d.ts +28 -0
- package/lib/typescript/src/iab/gpp/encoders/DatetimeEncoder.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/EncodableOptimizedFixedRange.d.ts +16 -0
- package/lib/typescript/src/iab/gpp/encoders/EncodableOptimizedFixedRange.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerEncoder.d.ts +28 -0
- package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerEncoder.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerRangeEncoder.d.ts +28 -0
- package/lib/typescript/src/iab/gpp/encoders/FibonacciIntegerRangeEncoder.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/FixedBitfieldEncoder.d.ts +28 -0
- package/lib/typescript/src/iab/gpp/encoders/FixedBitfieldEncoder.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/FixedIdBitMapEncoder.d.ts +6 -0
- package/lib/typescript/src/iab/gpp/encoders/FixedIdBitMapEncoder.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/FixedIntegerEncoder.d.ts +28 -0
- package/lib/typescript/src/iab/gpp/encoders/FixedIntegerEncoder.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/FixedIntegerListEncoder.d.ts +28 -0
- package/lib/typescript/src/iab/gpp/encoders/FixedIntegerListEncoder.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/FixedIntegerRangeEncoder.d.ts +28 -0
- package/lib/typescript/src/iab/gpp/encoders/FixedIntegerRangeEncoder.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/FixedStringEncoder.d.ts +26 -0
- package/lib/typescript/src/iab/gpp/encoders/FixedStringEncoder.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/TraditionalBase64UrlEncoder.d.ts +26 -0
- package/lib/typescript/src/iab/gpp/encoders/TraditionalBase64UrlEncoder.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/errors.d.ts +19 -0
- package/lib/typescript/src/iab/gpp/encoders/errors.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/index.d.ts +16 -0
- package/lib/typescript/src/iab/gpp/encoders/index.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/encoders/types.d.ts +5 -0
- package/lib/typescript/src/iab/gpp/encoders/types.d.ts.map +1 -0
- package/lib/typescript/src/iab/gpp/types.d.ts +3 -0
- package/lib/typescript/src/iab/gpp/types.d.ts.map +1 -0
- package/lib/typescript/src/iab/tcf/constants.d.ts +20 -0
- package/lib/typescript/src/iab/tcf/constants.d.ts.map +1 -0
- package/lib/typescript/src/iab/tcf/types.d.ts +12 -0
- package/lib/typescript/src/iab/tcf/types.d.ts.map +1 -0
- package/lib/typescript/src/iab/tcf/v2.0/encoders.d.ts +8 -0
- package/lib/typescript/src/iab/tcf/v2.0/encoders.d.ts.map +1 -0
- package/lib/typescript/src/iab/tcf/v2.0/helpers.d.ts +5 -0
- package/lib/typescript/src/iab/tcf/v2.0/helpers.d.ts.map +1 -0
- package/lib/typescript/src/iab/types.d.ts +63 -0
- package/lib/typescript/src/iab/types.d.ts.map +1 -0
- package/lib/typescript/src/iab/usp/types.d.ts +5 -0
- package/lib/typescript/src/iab/usp/types.d.ts.map +1 -0
- package/lib/typescript/src/iab/utilities.d.ts +3 -0
- package/lib/typescript/src/iab/utilities.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +5 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/native/OsanoCmp.d.ts +5 -0
- package/lib/typescript/src/native/OsanoCmp.d.ts.map +1 -0
- package/lib/typescript/src/services/consent.d.ts +17 -0
- package/lib/typescript/src/services/consent.d.ts.map +1 -0
- package/lib/typescript/src/services/disclosures.d.ts +2 -0
- package/lib/typescript/src/services/disclosures.d.ts.map +1 -0
- package/lib/typescript/src/services/locale.d.ts +4 -0
- package/lib/typescript/src/services/locale.d.ts.map +1 -0
- package/lib/typescript/src/store.d.ts +55 -0
- package/lib/typescript/src/store.d.ts.map +1 -0
- package/lib/typescript/src/styles.d.ts +141 -0
- package/lib/typescript/src/styles.d.ts.map +1 -0
- package/lib/typescript/src/utils/API.d.ts +6 -0
- package/lib/typescript/src/utils/API.d.ts.map +1 -0
- package/lib/typescript/src/utils/Color.d.ts +12 -0
- package/lib/typescript/src/utils/Color.d.ts.map +1 -0
- package/lib/typescript/src/utils/EventEmitter.d.ts +15 -0
- package/lib/typescript/src/utils/EventEmitter.d.ts.map +1 -0
- package/lib/typescript/src/utils/Translator.d.ts +61 -0
- package/lib/typescript/src/utils/Translator.d.ts.map +1 -0
- package/lib/typescript/src/utils/index.d.ts +5 -0
- package/lib/typescript/src/utils/index.d.ts.map +1 -0
- package/lib/typescript/src/views/Dialog/Buttons.d.ts +5 -0
- package/lib/typescript/src/views/Dialog/Buttons.d.ts.map +1 -0
- package/lib/typescript/src/views/Dialog/FirstLayerUsage.d.ts +4 -0
- package/lib/typescript/src/views/Dialog/FirstLayerUsage.d.ts.map +1 -0
- package/lib/typescript/src/views/Dialog/Message.d.ts +4 -0
- package/lib/typescript/src/views/Dialog/Message.d.ts.map +1 -0
- package/lib/typescript/src/views/Dialog/PreferenceManagementDeepLinks.d.ts +4 -0
- package/lib/typescript/src/views/Dialog/PreferenceManagementDeepLinks.d.ts.map +1 -0
- package/lib/typescript/src/views/Dialog/index.d.ts +5 -0
- package/lib/typescript/src/views/Dialog/index.d.ts.map +1 -0
- package/lib/typescript/src/views/Drawer/Drawer.ConsentCategories.d.ts +4 -0
- package/lib/typescript/src/views/Drawer/Drawer.ConsentCategories.d.ts.map +1 -0
- package/lib/typescript/src/views/Drawer/Drawer.Header.d.ts +10 -0
- package/lib/typescript/src/views/Drawer/Drawer.Header.d.ts.map +1 -0
- package/lib/typescript/src/views/Drawer/Drawer.Iab.Disclosures.d.ts +4 -0
- package/lib/typescript/src/views/Drawer/Drawer.Iab.Disclosures.d.ts.map +1 -0
- package/lib/typescript/src/views/Drawer/Drawer.Iab.Vendors.d.ts +4 -0
- package/lib/typescript/src/views/Drawer/Drawer.Iab.Vendors.d.ts.map +1 -0
- package/lib/typescript/src/views/Drawer/index.d.ts +5 -0
- package/lib/typescript/src/views/Drawer/index.d.ts.map +1 -0
- package/osano-cmp-sdk.podspec +41 -0
- package/package.json +158 -0
- package/src/ConsentManager.ts +622 -0
- package/src/ConsentUiBuilder.tsx +117 -0
- package/src/components/Button.tsx +204 -0
- package/src/components/Checkbox.tsx +86 -0
- package/src/components/Divider.tsx +20 -0
- package/src/components/ExpansionPanel.tsx +72 -0
- package/src/components/Link.tsx +49 -0
- package/src/components/List.tsx +39 -0
- package/src/components/Locale.tsx +38 -0
- package/src/components/StoragePolicyLink.tsx +24 -0
- package/src/components/Toggle.tsx +165 -0
- package/src/constants.ts +34 -0
- package/src/context.ts +79 -0
- package/src/flavors/five.json +11 -0
- package/src/flavors/four.json +11 -0
- package/src/flavors/index.ts +38 -0
- package/src/flavors/one.json +11 -0
- package/src/flavors/six.json +12 -0
- package/src/flavors/three.json +11 -0
- package/src/flavors/two.json +11 -0
- package/src/hooks/useBoundCallback.ts +32 -0
- package/src/hooks/useDeviceOrientation.ts +14 -0
- package/src/hooks/usePrevious.ts +9 -0
- package/src/hooks/useThunkReducer.ts +124 -0
- package/src/iab/constants.ts +1 -0
- package/src/iab/gpp/api.js +253 -0
- package/src/iab/gpp/consent.js +114 -0
- package/src/iab/gpp/constants.js +49 -0
- package/src/iab/gpp/encoders/AbstractBase64UrlEncoder.ts +89 -0
- package/src/iab/gpp/encoders/BooleanEncoder.ts +39 -0
- package/src/iab/gpp/encoders/CompressedBase64UrlEncoder.ts +41 -0
- package/src/iab/gpp/encoders/DatetimeEncoder.ts +46 -0
- package/src/iab/gpp/encoders/EncodableOptimizedFixedRange.ts +213 -0
- package/src/iab/gpp/encoders/FibonacciIntegerEncoder.ts +81 -0
- package/src/iab/gpp/encoders/FibonacciIntegerRangeEncoder.ts +122 -0
- package/src/iab/gpp/encoders/FixedBitfieldEncoder.ts +59 -0
- package/src/iab/gpp/encoders/FixedIdBitMapEncoder.ts +30 -0
- package/src/iab/gpp/encoders/FixedIntegerEncoder.ts +61 -0
- package/src/iab/gpp/encoders/FixedIntegerListEncoder.ts +87 -0
- package/src/iab/gpp/encoders/FixedIntegerRangeEncoder.ts +102 -0
- package/src/iab/gpp/encoders/FixedStringEncoder.ts +74 -0
- package/src/iab/gpp/encoders/LICENSE-IABTechLab +176 -0
- package/src/iab/gpp/encoders/TraditionalBase64UrlEncoder.ts +39 -0
- package/src/iab/gpp/encoders/errors.ts +41 -0
- package/src/iab/gpp/encoders/index.ts +15 -0
- package/src/iab/gpp/encoders/types.ts +5 -0
- package/src/iab/gpp/index.js +9 -0
- package/src/iab/gpp/reducer.js +7 -0
- package/src/iab/gpp/selectors.js +21 -0
- package/src/iab/gpp/types.ts +3 -0
- package/src/iab/gpp/v1/constants.js +7 -0
- package/src/iab/gpp/v1/index.js +73 -0
- package/src/iab/tcf/actions.js +52 -0
- package/src/iab/tcf/consent.js +345 -0
- package/src/iab/tcf/constants.ts +51 -0
- package/src/iab/tcf/index.js +7 -0
- package/src/iab/tcf/reducer.js +59 -0
- package/src/iab/tcf/selectors.js +151 -0
- package/src/iab/tcf/tcfcav1-api.js +39 -0
- package/src/iab/tcf/tcfeuv2-api.js +264 -0
- package/src/iab/tcf/types.ts +13 -0
- package/src/iab/tcf/v2.0/encoders.ts +37 -0
- package/src/iab/tcf/v2.0/formatters.js +14 -0
- package/src/iab/tcf/v2.0/helpers.ts +23 -0
- package/src/iab/tcf/v2.0/index.js +36 -0
- package/src/iab/tcf/v2.0/middleware.js +72 -0
- package/src/iab/tcf/v2.0/reducer.js +327 -0
- package/src/iab/tcf/v2.0/shared-constants.js +17 -0
- package/src/iab/tcf/v2.0/tcfcav1-constants.js +115 -0
- package/src/iab/tcf/v2.0/tcfeuv2-constants.js +117 -0
- package/src/iab/types.ts +67 -0
- package/src/iab/usp/api.js +56 -0
- package/src/iab/usp/consent.js +150 -0
- package/src/iab/usp/constants.js +40 -0
- package/src/iab/usp/index.js +9 -0
- package/src/iab/usp/reducer.js +107 -0
- package/src/iab/usp/selectors.js +31 -0
- package/src/iab/usp/types.ts +4 -0
- package/src/iab/usp/v1/constants.js +10 -0
- package/src/iab/usp/v1/index.js +54 -0
- package/src/iab/utilities.ts +17 -0
- package/src/index.tsx +128 -0
- package/src/locale/af.json +306 -0
- package/src/locale/ar.json +306 -0
- package/src/locale/bg.json +306 -0
- package/src/locale/ca.json +306 -0
- package/src/locale/cs.json +306 -0
- package/src/locale/da.json +306 -0
- package/src/locale/de-at.json +306 -0
- package/src/locale/de.json +306 -0
- package/src/locale/el.json +306 -0
- package/src/locale/en-au.json +306 -0
- package/src/locale/en-ca.json +306 -0
- package/src/locale/en-gb.json +306 -0
- package/src/locale/en.json +306 -0
- package/src/locale/es-mx.json +306 -0
- package/src/locale/es.json +306 -0
- package/src/locale/et.json +306 -0
- package/src/locale/fa.json +306 -0
- package/src/locale/fi.json +306 -0
- package/src/locale/fr-ca.json +306 -0
- package/src/locale/fr.json +306 -0
- package/src/locale/gd.json +306 -0
- package/src/locale/he.json +306 -0
- package/src/locale/hi.json +306 -0
- package/src/locale/hr.json +306 -0
- package/src/locale/hu.json +306 -0
- package/src/locale/hy.json +306 -0
- package/src/locale/id.json +306 -0
- package/src/locale/index.js +60 -0
- package/src/locale/is.json +306 -0
- package/src/locale/it.json +306 -0
- package/src/locale/ja.json +306 -0
- package/src/locale/kk.json +306 -0
- package/src/locale/ko.json +306 -0
- package/src/locale/lt.json +306 -0
- package/src/locale/lv.json +306 -0
- package/src/locale/mi.json +306 -0
- package/src/locale/ms.json +306 -0
- package/src/locale/nb.json +306 -0
- package/src/locale/nl-be.json +306 -0
- package/src/locale/nl.json +306 -0
- package/src/locale/nn.json +306 -0
- package/src/locale/no.json +306 -0
- package/src/locale/pl.json +306 -0
- package/src/locale/pt-br.json +306 -0
- package/src/locale/pt.json +306 -0
- package/src/locale/ro.json +306 -0
- package/src/locale/ru.json +306 -0
- package/src/locale/sk.json +306 -0
- package/src/locale/sl.json +306 -0
- package/src/locale/sq.json +306 -0
- package/src/locale/sr.json +306 -0
- package/src/locale/sv.json +306 -0
- package/src/locale/th.json +306 -0
- package/src/locale/tl.json +306 -0
- package/src/locale/tr.json +306 -0
- package/src/locale/uk.json +306 -0
- package/src/locale/vi.json +306 -0
- package/src/locale/zh-hk.json +306 -0
- package/src/locale/zh-tw.json +306 -0
- package/src/locale/zh.json +306 -0
- package/src/locale/zu.json +306 -0
- package/src/native/OsanoCmp.ts +32 -0
- package/src/services/consent.ts +164 -0
- package/src/services/disclosures.ts +25 -0
- package/src/services/locale.ts +43 -0
- package/src/store.ts +602 -0
- package/src/styles.ts +203 -0
- package/src/types/consent-config.d.ts +72 -0
- package/src/types/env.d.ts +2 -0
- package/src/types/index.d.ts +18 -0
- package/src/types/store.d.ts +43 -0
- package/src/utils/API.ts +47 -0
- package/src/utils/Color.ts +127 -0
- package/src/utils/EventEmitter.ts +54 -0
- package/src/utils/Translator.ts +326 -0
- package/src/utils/index.ts +133 -0
- package/src/views/Dialog/Buttons.tsx +71 -0
- package/src/views/Dialog/FirstLayerUsage.tsx +33 -0
- package/src/views/Dialog/Message.tsx +37 -0
- package/src/views/Dialog/PreferenceManagementDeepLinks.tsx +33 -0
- package/src/views/Dialog/index.tsx +442 -0
- package/src/views/Drawer/Drawer.ConsentCategories.tsx +689 -0
- package/src/views/Drawer/Drawer.Header.tsx +138 -0
- package/src/views/Drawer/Drawer.Iab.Disclosures.tsx +386 -0
- package/src/views/Drawer/Drawer.Iab.Vendors.tsx +552 -0
- package/src/views/Drawer/index.tsx +294 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const France = 'fr';
|
|
2
|
+
export const mappedJurisdictions = {
|
|
3
|
+
re: France,
|
|
4
|
+
// Réunion
|
|
5
|
+
gp: France,
|
|
6
|
+
// Guadeloupe
|
|
7
|
+
mq: France,
|
|
8
|
+
// Martinique
|
|
9
|
+
gy: France,
|
|
10
|
+
// Guyana
|
|
11
|
+
yt: France,
|
|
12
|
+
// Mayotte
|
|
13
|
+
mf: France // Collectivity of Saint-Martin
|
|
14
|
+
};
|
|
15
|
+
export let ConsentCategory = /*#__PURE__*/function (ConsentCategory) {
|
|
16
|
+
ConsentCategory["ESSENTIAL"] = "ESSENTIAL";
|
|
17
|
+
ConsentCategory["ANALYTICS"] = "ANALYTICS";
|
|
18
|
+
ConsentCategory["MARKETING"] = "MARKETING";
|
|
19
|
+
ConsentCategory["PERSONALIZATION"] = "PERSONALIZATION";
|
|
20
|
+
ConsentCategory["OPT_OUT"] = "OPT_OUT";
|
|
21
|
+
ConsentCategory["STORAGE"] = "STORAGE";
|
|
22
|
+
return ConsentCategory;
|
|
23
|
+
}({});
|
|
24
|
+
export const env = {
|
|
25
|
+
OSANO_ORIGIN: __DEV__ ? 'https://cmp-ci.osano.com' : 'https://cmp.osano.com',
|
|
26
|
+
CONSENT_URI: __DEV__ ? 'https://consent-ci.api.osano.com' : 'https://consent.api.osano.com',
|
|
27
|
+
DISCLOSURE_URI: __DEV__ ? 'https://disclosure-ci.api.osano.com' : 'https://disclosure.api.osano.com',
|
|
28
|
+
LOCALE_URI: __DEV__ ? 'https://locale.cmp-ci.osano.com' : 'https://locale.cmp.osano.com',
|
|
29
|
+
LOOKUPS_URI: __DEV__ ? 'https://lookups-ci.api.osano.com' : 'https://lookups.api.osano.com'
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["France","mappedJurisdictions","re","gp","mq","gy","yt","mf","ConsentCategory","env","OSANO_ORIGIN","__DEV__","CONSENT_URI","DISCLOSURE_URI","LOCALE_URI","LOOKUPS_URI"],"sourceRoot":"../../src","sources":["constants.ts"],"mappings":"AAAA,MAAMA,MAAM,GAAG,IAAI;AACnB,OAAO,MAAMC,mBAA2C,GAAG;EAC1DC,EAAE,EAAEF,MAAM;EAAE;EACZG,EAAE,EAAEH,MAAM;EAAE;EACZI,EAAE,EAAEJ,MAAM;EAAE;EACZK,EAAE,EAAEL,MAAM;EAAE;EACZM,EAAE,EAAEN,MAAM;EAAE;EACZO,EAAE,EAAEP,MAAM,CAAE;AACb,CAAC;AAED,WAAYQ,eAAe,0BAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAA,OAAfA,eAAe;AAAA;AAS3B,OAAO,MAAMC,GAAG,GAAG;EAClBC,YAAY,EAAEC,OAAO,GAAG,0BAA0B,GAAG,uBAAuB;EAC5EC,WAAW,EAAED,OAAO,GACjB,kCAAkC,GAClC,+BAA+B;EAClCE,cAAc,EAAEF,OAAO,GACpB,qCAAqC,GACrC,kCAAkC;EACrCG,UAAU,EAAEH,OAAO,GAChB,iCAAiC,GACjC,8BAA8B;EACjCI,WAAW,EAAEJ,OAAO,GACjB,kCAAkC,GAClC;AACJ,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import Translator from './utils/Translator';
|
|
3
|
+
import { createSharedStyles } from './styles';
|
|
4
|
+
import { initialState } from './store';
|
|
5
|
+
import { noop } from './utils';
|
|
6
|
+
export const OsanoPublicContext = /*#__PURE__*/React.createContext({
|
|
7
|
+
locale: Translator.DEFAULT_LANGUAGE,
|
|
8
|
+
getConsent: function () {
|
|
9
|
+
return false;
|
|
10
|
+
},
|
|
11
|
+
getDeviceId: () => '',
|
|
12
|
+
recordConsent: () => Promise.resolve(null),
|
|
13
|
+
clearConsent: noop,
|
|
14
|
+
setLocale: noop,
|
|
15
|
+
showBanner: noop,
|
|
16
|
+
showDrawer: noop
|
|
17
|
+
});
|
|
18
|
+
export const OsanoPrivateContext = /*#__PURE__*/React.createContext({
|
|
19
|
+
addMiddleware: noop,
|
|
20
|
+
removeMiddleware: noop,
|
|
21
|
+
cmp: undefined,
|
|
22
|
+
config: undefined,
|
|
23
|
+
hideDisclosures: false,
|
|
24
|
+
loadingDisclosures: false,
|
|
25
|
+
dispatch: noop,
|
|
26
|
+
getState: () => ({
|
|
27
|
+
...initialState
|
|
28
|
+
}),
|
|
29
|
+
locale: 'en',
|
|
30
|
+
sharedStyles: createSharedStyles(),
|
|
31
|
+
translate: () => ''
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","Translator","createSharedStyles","initialState","noop","OsanoPublicContext","createContext","locale","DEFAULT_LANGUAGE","getConsent","getDeviceId","recordConsent","Promise","resolve","clearConsent","setLocale","showBanner","showDrawer","OsanoPrivateContext","addMiddleware","removeMiddleware","cmp","undefined","config","hideDisclosures","loadingDisclosures","dispatch","getState","sharedStyles","translate"],"sourceRoot":"../../src","sources":["context.ts"],"mappings":"AASA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,UAAU,MAAM,oBAAoB;AAC3C,SAASC,kBAAkB,QAAQ,UAAU;AAC7C,SAASC,YAAY,QAAQ,SAAS;AAEtC,SAASC,IAAI,QAAQ,SAAS;AAqC9B,OAAO,MAAMC,kBAAkB,gBAAGL,KAAK,CAACM,aAAa,CAAyB;EAC7EC,MAAM,EAAEN,UAAU,CAACO,gBAAgB;EACnCC,UAAU,EAAE,SAAAA,CAAA,EAAqB;IAChC,OAAO,KAAK;EACb,CAAC;EACDC,WAAW,EAAEA,CAAA,KAAM,EAAE;EACrBC,aAAa,EAAEA,CAAA,KAAMC,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;EAC1CC,YAAY,EAAEV,IAAI;EAClBW,SAAS,EAAEX,IAAI;EACfY,UAAU,EAAEZ,IAAI;EAChBa,UAAU,EAAEb;AACb,CAAC,CAAC;AAEF,OAAO,MAAMc,mBAAmB,gBAAGlB,KAAK,CAACM,aAAa,CACrD;EACCa,aAAa,EAAEf,IAAI;EACnBgB,gBAAgB,EAAEhB,IAAI;EACtBiB,GAAG,EAAEC,SAAS;EACdC,MAAM,EAAED,SAAS;EACjBE,eAAe,EAAE,KAAK;EACtBC,kBAAkB,EAAE,KAAK;EACzBC,QAAQ,EAAEtB,IAAI;EACduB,QAAQ,EAAEA,CAAA,MAAO;IAAE,GAAGxB;EAAa,CAAC,CAAC;EACrCI,MAAM,EAAE,IAAI;EACZqB,YAAY,EAAE1B,kBAAkB,CAAC,CAAC;EAClC2B,SAAS,EAAEA,CAAA,KAAM;AAClB,CACD,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
var FlavorKeys = /*#__PURE__*/function (FlavorKeys) {
|
|
2
|
+
FlavorKeys["one"] = "one";
|
|
3
|
+
FlavorKeys["two"] = "two";
|
|
4
|
+
FlavorKeys["three"] = "three";
|
|
5
|
+
FlavorKeys["four"] = "four";
|
|
6
|
+
FlavorKeys["five"] = "five";
|
|
7
|
+
FlavorKeys["six"] = "six";
|
|
8
|
+
return FlavorKeys;
|
|
9
|
+
}(FlavorKeys || {});
|
|
10
|
+
import { five } from './five.json';
|
|
11
|
+
import { four } from './four.json';
|
|
12
|
+
import { one } from './one.json';
|
|
13
|
+
import { six } from './six.json';
|
|
14
|
+
import { three } from './three.json';
|
|
15
|
+
import { two } from './two.json';
|
|
16
|
+
export const flavors = {
|
|
17
|
+
one: one,
|
|
18
|
+
two: two,
|
|
19
|
+
three: three,
|
|
20
|
+
four: four,
|
|
21
|
+
five: five,
|
|
22
|
+
six: six
|
|
23
|
+
};
|
|
24
|
+
export const defaultFlavor = 'one';
|
|
25
|
+
export default flavors;
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FlavorKeys","five","four","one","six","three","two","flavors","defaultFlavor"],"sourceRoot":"../../../src","sources":["flavors/index.ts"],"mappings":"IAUKA,UAAU,0BAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA,EAAVA,UAAU;AASf,SAASC,IAAI,QAAQ,aAAa;AAClC,SAASC,IAAI,QAAQ,aAAa;AAClC,SAASC,GAAG,QAAQ,YAAY;AAChC,SAASC,GAAG,QAAQ,YAAY;AAChC,SAASC,KAAK,QAAQ,cAAc;AACpC,SAASC,GAAG,QAAQ,YAAY;AAEhC,OAAO,MAAMC,OAAmC,GAAG;EAClDJ,GAAG,EAAEA,GAAa;EAClBG,GAAG,EAAEA,GAAa;EAClBD,KAAK,EAAEA,KAAe;EACtBH,IAAI,EAAEA,IAAc;EACpBD,IAAI,EAAEA,IAAc;EACpBG,GAAG,EAAEA;AACN,CAAC;AAED,OAAO,MAAMI,aAAa,GAAG,KAAK;AAElC,eAAeD,OAAO","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { useRef } from 'react';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Binds the function `method` to the passed `props` as arguments. Uses
|
|
6
|
+
* `useRef` to store references to both `props` and `method`. `method` will
|
|
7
|
+
* receive each of the `props` as arguments in the same order they are passed
|
|
8
|
+
* and then each argument passed to the returned function.
|
|
9
|
+
*
|
|
10
|
+
* Conceptually similar to [Function.prototype.bind]{@https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Function/bind}.
|
|
11
|
+
* @example
|
|
12
|
+
* const boundCallback = useBoundCallback((prop1, prop2, arg1, arg2) => {
|
|
13
|
+
* console.log(prop1, prop2, arg1, arg2);
|
|
14
|
+
* }, ['myProp1', 'myProp2']);
|
|
15
|
+
* boundCallback('my first arg', 'my second arg');
|
|
16
|
+
* // result: "myProp1 myProp2 my first arg my second arg"
|
|
17
|
+
*/
|
|
18
|
+
export function useBoundCallback(method, props = []) {
|
|
19
|
+
const previousProps = useRef(props);
|
|
20
|
+
const boundMethod = useRef((...args) => method(...previousProps.current.concat(args)));
|
|
21
|
+
previousProps.current = props;
|
|
22
|
+
return boundMethod.current;
|
|
23
|
+
}
|
|
24
|
+
export default useBoundCallback;
|
|
25
|
+
//# sourceMappingURL=useBoundCallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useRef","useBoundCallback","method","props","previousProps","boundMethod","args","current","concat"],"sourceRoot":"../../../src","sources":["hooks/useBoundCallback.ts"],"mappings":"AAAA;AACA,SAASA,MAAM,QAAQ,OAAO;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAC/BC,MAA6B,EAC7BC,KAAY,GAAG,EAAE,EACO;EACxB,MAAMC,aAAa,GAAGJ,MAAM,CAACG,KAAK,CAAC;EACnC,MAAME,WAAW,GAAGL,MAAM,CAAC,CAAC,GAAGM,IAAW,KACzCJ,MAAM,CAAC,GAAGE,aAAa,CAACG,OAAO,CAACC,MAAM,CAACF,IAAI,CAAC,CAC7C,CAAC;EAEDF,aAAa,CAACG,OAAO,GAAGJ,KAAK;EAE7B,OAAOE,WAAW,CAACE,OAAO;AAC3B;AAEA,eAAeN,gBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useWindowDimensions } from 'react-native';
|
|
2
|
+
export function useDeviceOrientation() {
|
|
3
|
+
const {
|
|
4
|
+
width,
|
|
5
|
+
height
|
|
6
|
+
} = useWindowDimensions();
|
|
7
|
+
if (width >= height) {
|
|
8
|
+
return 'landscape';
|
|
9
|
+
}
|
|
10
|
+
return 'portrait';
|
|
11
|
+
}
|
|
12
|
+
export default useDeviceOrientation;
|
|
13
|
+
//# sourceMappingURL=useDeviceOrientation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useWindowDimensions","useDeviceOrientation","width","height"],"sourceRoot":"../../../src","sources":["hooks/useDeviceOrientation.ts"],"mappings":"AAAA,SAASA,mBAAmB,QAAQ,cAAc;AAIlD,OAAO,SAASC,oBAAoBA,CAAA,EAAsB;EACzD,MAAM;IAAEC,KAAK;IAAEC;EAAO,CAAC,GAAGH,mBAAmB,CAAC,CAAC;EAE/C,IAAIE,KAAK,IAAIC,MAAM,EAAE;IACpB,OAAO,WAAW;EACnB;EACA,OAAO,UAAU;AAClB;AAEA,eAAeF,oBAAoB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useEffect","useRef","usePrevious","value","ref","current"],"sourceRoot":"../../../src","sources":["hooks/usePrevious.ts"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEzC,OAAO,SAASC,WAAWA,CAAIC,KAAQ,EAAE;EACxC,MAAMC,GAAG,GAAGH,MAAM,CAAI,CAAC;EACvBD,SAAS,CAAC,MAAM;IACfI,GAAG,CAACC,OAAO,GAAGF,KAAK;EACpB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EACX,OAAOC,GAAG,CAACC,OAAO;AACnB","ignoreList":[]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
import { useCallback, useEffect, useReducer, useRef, useState } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Augments React's useReducer() hook so that the action
|
|
5
|
+
* dispatcher supports thunks.
|
|
6
|
+
*/
|
|
7
|
+
export function useThunkReducer(reducer, initializerArg, initializer, middleware = []) {
|
|
8
|
+
const mounted = useRef(true);
|
|
9
|
+
const allMiddleware = useRef([...middleware].reverse());
|
|
10
|
+
const [initialState] = initializer ?
|
|
11
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
12
|
+
useReducer(reducer, initializerArg, initializer) :
|
|
13
|
+
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
14
|
+
useReducer(reducer, initializerArg);
|
|
15
|
+
const [hookState, setHookState] = useState(initialState);
|
|
16
|
+
|
|
17
|
+
// State management.
|
|
18
|
+
const state = useRef(hookState);
|
|
19
|
+
const getState = useCallback(() => state.current, [state]);
|
|
20
|
+
const setState = useCallback(newState => {
|
|
21
|
+
state.current = newState;
|
|
22
|
+
mounted.current && setHookState(newState);
|
|
23
|
+
}, [state, setHookState]);
|
|
24
|
+
const addMiddleware = useCallback(m => {
|
|
25
|
+
allMiddleware.current = [m, ...allMiddleware.current];
|
|
26
|
+
}, []);
|
|
27
|
+
const removeMiddleware = useCallback(m => {
|
|
28
|
+
allMiddleware.current = allMiddleware.current.filter(toRemove => toRemove !== m);
|
|
29
|
+
}, []);
|
|
30
|
+
|
|
31
|
+
// Reducer.
|
|
32
|
+
const reduce = useCallback(action => {
|
|
33
|
+
const store = {
|
|
34
|
+
getState,
|
|
35
|
+
dispatch
|
|
36
|
+
};
|
|
37
|
+
return allMiddleware.current.reduce((next, currentMiddleware) => a => currentMiddleware(store)(next)(a), a => reducer(getState(), a))(action);
|
|
38
|
+
}, [reducer, getState]);
|
|
39
|
+
|
|
40
|
+
// Augmented dispatcher.
|
|
41
|
+
const dispatch = useCallback(action => {
|
|
42
|
+
const response = action instanceof Function ? action(dispatch, getState) : setState(reduce(action));
|
|
43
|
+
return response;
|
|
44
|
+
}, [getState, setState, reduce]);
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
mounted.current = true;
|
|
47
|
+
return () => {
|
|
48
|
+
mounted.current = false;
|
|
49
|
+
};
|
|
50
|
+
}, []);
|
|
51
|
+
return [hookState, dispatch, getState, addMiddleware, removeMiddleware];
|
|
52
|
+
}
|
|
53
|
+
export default useThunkReducer;
|
|
54
|
+
//# sourceMappingURL=useThunkReducer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCallback","useEffect","useReducer","useRef","useState","useThunkReducer","reducer","initializerArg","initializer","middleware","mounted","allMiddleware","reverse","initialState","hookState","setHookState","state","getState","current","setState","newState","addMiddleware","m","removeMiddleware","filter","toRemove","reduce","action","store","dispatch","next","currentMiddleware","a","response","Function"],"sourceRoot":"../../../src","sources":["hooks/useThunkReducer.ts"],"mappings":"AAAA;AACA,SACCA,WAAW,EACXC,SAAS,EACTC,UAAU,EACVC,MAAM,EACNC,QAAQ,QAIF,OAAO;AAiBd;AACA;AACA;AACA;AACA,OAAO,SAASC,eAAeA,CAC9BC,OAAsB,EACtBC,cAAmB,EACnBC,WAA8B,EAC9BC,UAEsD,GAAG,EAAE,EAW1D;EACD,MAAMC,OAAO,GAAGP,MAAM,CAAC,IAAI,CAAC;EAC5B,MAAMQ,aAAa,GAAGR,MAAM,CAAC,CAAC,GAAGM,UAAU,CAAC,CAACG,OAAO,CAAC,CAAC,CAAC;EACvD,MAAM,CAACC,YAAY,CAAC,GAAGL,WAAW;EAC/B;EACDN,UAAU,CAACI,OAAO,EAAEC,cAAc,EAAEC,WAAW,CAAC;EAC/C;EACDN,UAAU,CAACI,OAAO,EAAEC,cAAc,CAAC;EAErC,MAAM,CAACO,SAAS,EAAEC,YAAY,CAAC,GAAGX,QAAQ,CAACS,YAAY,CAAC;;EAExD;EACA,MAAMG,KAAK,GAAGb,MAAM,CAAIW,SAAS,CAAC;EAClC,MAAMG,QAAQ,GAAGjB,WAAW,CAAC,MAAMgB,KAAK,CAACE,OAAO,EAAE,CAACF,KAAK,CAAC,CAAC;EAC1D,MAAMG,QAAQ,GAAGnB,WAAW,CAC1BoB,QAAW,IAAK;IAChBJ,KAAK,CAACE,OAAO,GAAGE,QAAQ;IACxBV,OAAO,CAACQ,OAAO,IAAIH,YAAY,CAACK,QAAQ,CAAC;EAC1C,CAAC,EACD,CAACJ,KAAK,EAAED,YAAY,CACrB,CAAC;EACD,MAAMM,aAAa,GAAGrB,WAAW,CAE/BsB,CAAyE,IACrE;IACJX,aAAa,CAACO,OAAO,GAAG,CAACI,CAAC,EAAE,GAAGX,aAAa,CAACO,OAAO,CAAC;EACtD,CAAC,EACD,EACD,CAAC;EACD,MAAMK,gBAAgB,GAAGvB,WAAW,CAElCsB,CAAyE,IACrE;IACJX,aAAa,CAACO,OAAO,GAAGP,aAAa,CAACO,OAAO,CAACM,MAAM,CACnDC,QAAQ,IAAIA,QAAQ,KAAKH,CAC1B,CAAC;EACF,CAAC,EACD,EACD,CAAC;;EAED;EACA,MAAMI,MAAM,GAAG1B,WAAW,CACxB2B,MAAS,IAAK;IACd,MAAMC,KAAK,GAAG;MAAEX,QAAQ;MAAEY;IAAS,CAAC;IACpC,OAAOlB,aAAa,CAACO,OAAO,CAACQ,MAAM,CAClC,CAACI,IAAI,EAAEC,iBAAiB,KAAMC,CAAI,IACjCD,iBAAiB,CAACH,KAAK,CAAC,CAACE,IAAI,CAAC,CAACE,CAAC,CAAC,EACjCA,CAAI,IAAK1B,OAAO,CAACW,QAAQ,CAAC,CAAC,EAAEe,CAAC,CAChC,CAAC,CAACL,MAAM,CAAC;EACV,CAAC,EACD,CAACrB,OAAO,EAAEW,QAAQ,CACnB,CAAC;;EAED;EACA,MAAMY,QAAkC,GAAG7B,WAAW,CACrD2B,MAAM,IAAI;IACT,MAAMM,QAAQ,GACbN,MAAM,YAAYO,QAAQ,GACvBP,MAAM,CAACE,QAAQ,EAAEZ,QAAQ,CAAC,GAC1BE,QAAQ,CAACO,MAAM,CAACC,MAAM,CAAC,CAAC;IAC5B,OAAOM,QAAQ;EAChB,CAAC,EACD,CAAChB,QAAQ,EAAEE,QAAQ,EAAEO,MAAM,CAC5B,CAAC;EAEDzB,SAAS,CAAC,MAAM;IACfS,OAAO,CAACQ,OAAO,GAAG,IAAI;IACtB,OAAO,MAAM;MACZR,OAAO,CAACQ,OAAO,GAAG,KAAK;IACxB,CAAC;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,OAAO,CAACJ,SAAS,EAAEe,QAAQ,EAAEZ,QAAQ,EAAEI,aAAa,EAAEE,gBAAgB,CAAC;AACxE;AAEA,eAAelB,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CMP_ID"],"sourceRoot":"../../../src","sources":["iab/constants.ts"],"mappings":"AAAA,OAAO,MAAMA,MAAc,GAAG,GAAG","ignoreList":[]}
|
|
@@ -0,0 +1,220 @@
|
|
|
1
|
+
import { formatConsentString, makeFormatPingData, makeParseConsentString } from './consent';
|
|
2
|
+
import { EventNames } from './constants';
|
|
3
|
+
import { MAX_DATE } from '../../constants';
|
|
4
|
+
import { getSupportedApis } from './selectors';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* An object that contains the client callback and metadata.
|
|
8
|
+
* @typedef {Object} EventSubscriber
|
|
9
|
+
* @property {number} version - The version of the API that the subscriber is
|
|
10
|
+
* listening to.
|
|
11
|
+
* @property {function} callback - The callback function that the subscriber
|
|
12
|
+
* provided. The signature should match the API version.
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The listener ID is a number that is used to identify a subscriber. It is both
|
|
17
|
+
* a key in the eventSubscribers map and a property that is given back to the
|
|
18
|
+
* subscriber. It must not change for the lifetime of the subscriber.
|
|
19
|
+
* @typedef {number} ListenerId
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* A map of listener IDs to event subscribers.
|
|
24
|
+
* @type {Map<ListenerId, EventSubscriber>}
|
|
25
|
+
*/
|
|
26
|
+
const eventSubscribers = new Map();
|
|
27
|
+
|
|
28
|
+
// Allows us to clear the event subscribers in tests
|
|
29
|
+
export const _clearEventSubscribers = process.env.NODE_ENV === 'jest' ? () => eventSubscribers.clear() : undefined;
|
|
30
|
+
const createListenerId = () => {
|
|
31
|
+
let inc = 0;
|
|
32
|
+
let listenerId = MAX_DATE - Date.now();
|
|
33
|
+
do {
|
|
34
|
+
listenerId -= inc++;
|
|
35
|
+
} while (eventSubscribers.has(listenerId));
|
|
36
|
+
return listenerId;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Responsible for dispatching events to the subscribers.
|
|
41
|
+
* @param {number} apiVersion - The version of the API as defined by the IAB.
|
|
42
|
+
* @param {object} data - The data to dispatch to the subscribers.
|
|
43
|
+
*/
|
|
44
|
+
const makeDispatch = apiVersion => function dispatch(data) {
|
|
45
|
+
eventSubscribers.forEach(({
|
|
46
|
+
version,
|
|
47
|
+
callback
|
|
48
|
+
}, listenerId) => {
|
|
49
|
+
apiVersion === version && callback({
|
|
50
|
+
...data,
|
|
51
|
+
listenerId
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* The GPP has its own API but it can also call the older APIs. This function
|
|
58
|
+
* adapts the newer GPP call signature to the older APIs.
|
|
59
|
+
*/
|
|
60
|
+
const adaptedApis = new Map();
|
|
61
|
+
|
|
62
|
+
// Allows us to clear the event subscribers in tests
|
|
63
|
+
export const _clearAdaptedApis = process.env.NODE_ENV === 'jest' ? () => adaptedApis.clear() : undefined;
|
|
64
|
+
const getAdaptedApi = (clientApi, api) => {
|
|
65
|
+
// cache the adapted API so that we aren't creating a new function on every call
|
|
66
|
+
const adaptedApi = adaptedApis.get(clientApi);
|
|
67
|
+
if (adaptedApi) {
|
|
68
|
+
return adaptedApi;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
// If the API is not available, throw an error. If the requested API is the
|
|
72
|
+
// GPP, throw an error (the GPP should never call itself as a sub-API).
|
|
73
|
+
if (!api || clientApi === 'gpp') {
|
|
74
|
+
throw new Error(`API ${clientApi} is not available`);
|
|
75
|
+
}
|
|
76
|
+
switch (clientApi) {
|
|
77
|
+
// pre-GPP APIs use the signature (command, version, callback, parameter)
|
|
78
|
+
case 'tcfeuv2':
|
|
79
|
+
adaptedApis.set(clientApi, (command, callback, parameter) => api(command, 2, callback, parameter));
|
|
80
|
+
break;
|
|
81
|
+
case 'uspv1':
|
|
82
|
+
adaptedApis.set(clientApi, (command, callback, parameter) => api(command, 1, callback, parameter));
|
|
83
|
+
break;
|
|
84
|
+
default:
|
|
85
|
+
adaptedApis.set(clientApi, api);
|
|
86
|
+
}
|
|
87
|
+
return adaptedApis.get(clientApi);
|
|
88
|
+
};
|
|
89
|
+
export default function makeApi(initOptions) {
|
|
90
|
+
const formatPingData = makeFormatPingData(initOptions);
|
|
91
|
+
const parseConsentString = makeParseConsentString(initOptions);
|
|
92
|
+
const makeEventSubscriber = callback => ({
|
|
93
|
+
version: initOptions.version,
|
|
94
|
+
callback
|
|
95
|
+
});
|
|
96
|
+
const eventListenerReturn = (state, eventName, listenerId, data) => ({
|
|
97
|
+
eventName,
|
|
98
|
+
listenerId,
|
|
99
|
+
data,
|
|
100
|
+
pingData: formatPingData(state)
|
|
101
|
+
});
|
|
102
|
+
const dispatch = makeDispatch(initOptions.version);
|
|
103
|
+
function bind(store, allApis) {
|
|
104
|
+
const subApiSubscribers = new Map();
|
|
105
|
+
// The GPP spec says that events dispatched from section APIs should be
|
|
106
|
+
// dispatched from the GPP API. To do that, we'll subscribe to the
|
|
107
|
+
// events from the other APIs and re-dispatch them from here.
|
|
108
|
+
const initDispatchAggregator = () => {
|
|
109
|
+
if (subApiSubscribers.size > 0) {
|
|
110
|
+
// We have already initialized the dispatch aggregator
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
const supportedApis = getSupportedApis(store.getState());
|
|
114
|
+
allApis.forEach((api, section) => {
|
|
115
|
+
if (!supportedApis.includes(section)) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
const subscriber = data => {
|
|
119
|
+
// remove our own listener ID from the data object
|
|
120
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
121
|
+
const {
|
|
122
|
+
listenerId,
|
|
123
|
+
...rest
|
|
124
|
+
} = data;
|
|
125
|
+
dispatch({
|
|
126
|
+
// Other APIs don't currently have event names but if
|
|
127
|
+
// they are added this field should be dot-separated,
|
|
128
|
+
// e.g. `${section}.${data.eventName}`
|
|
129
|
+
eventName: section,
|
|
130
|
+
data: rest,
|
|
131
|
+
pingData: formatPingData(store.getState())
|
|
132
|
+
});
|
|
133
|
+
};
|
|
134
|
+
subApiSubscribers.set(section, subscriber);
|
|
135
|
+
getAdaptedApi(section, api)('addEventListener', subscriber);
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
return function gppApi(command, callback, parameter) {
|
|
139
|
+
const state = store.getState();
|
|
140
|
+
switch (command) {
|
|
141
|
+
case 'ping':
|
|
142
|
+
{
|
|
143
|
+
return formatPingData(state);
|
|
144
|
+
}
|
|
145
|
+
case 'addEventListener':
|
|
146
|
+
{
|
|
147
|
+
// We wait to initialize the dispatch aggregator until there
|
|
148
|
+
// is at least one client event listener. Saves a little
|
|
149
|
+
// performance and ensures that all APIs are available.
|
|
150
|
+
initDispatchAggregator();
|
|
151
|
+
const listenerId = createListenerId();
|
|
152
|
+
try {
|
|
153
|
+
if (typeof callback !== 'function') {
|
|
154
|
+
throw new Error('Callback must be a function');
|
|
155
|
+
}
|
|
156
|
+
eventSubscribers.set(listenerId, makeEventSubscriber(callback));
|
|
157
|
+
const returnObject = eventListenerReturn(state, EventNames.LISTENER_REGISTERED, listenerId, true);
|
|
158
|
+
return returnObject;
|
|
159
|
+
} catch {
|
|
160
|
+
eventSubscribers.delete(listenerId);
|
|
161
|
+
return eventListenerReturn(state, EventNames.LISTENER_REGISTERED, 0, false);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
case 'removeEventListener':
|
|
165
|
+
{
|
|
166
|
+
const listenerId = parseInt(parameter, 10);
|
|
167
|
+
const removed = eventSubscribers.delete(listenerId);
|
|
168
|
+
return eventListenerReturn(state, EventNames.LISTENER_REMOVED, listenerId, removed);
|
|
169
|
+
}
|
|
170
|
+
case 'hasSection':
|
|
171
|
+
{
|
|
172
|
+
const section = parameter;
|
|
173
|
+
return getSupportedApis(state).includes(`${section}`);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/** Note that this command throws if the requested section
|
|
177
|
+
* doesn't exist. The spec does not define what should happen in
|
|
178
|
+
* this case. Returning nothing could be misleading so an error
|
|
179
|
+
* is clearer. */
|
|
180
|
+
case 'getSection':
|
|
181
|
+
{
|
|
182
|
+
const clientApi = parameter;
|
|
183
|
+
const sectionApi = getAdaptedApi(clientApi, allApis.get(clientApi));
|
|
184
|
+
return sectionApi('getSection');
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/** Note that as above, this command throws if the requested
|
|
188
|
+
* section does not exist and returns undefined if the field
|
|
189
|
+
* doesn't exist. The spec is again silent on this case. */
|
|
190
|
+
case 'getField':
|
|
191
|
+
{
|
|
192
|
+
const [clientApi, ...fieldPath] = parameter.split('.');
|
|
193
|
+
const sectionApi = getAdaptedApi(clientApi, allApis.get(clientApi));
|
|
194
|
+
return sectionApi('getField', undefined, fieldPath.join('.'));
|
|
195
|
+
}
|
|
196
|
+
case 'getGPPData':
|
|
197
|
+
{
|
|
198
|
+
const gppString = formatConsentString(state);
|
|
199
|
+
return gppString ? parseConsentString(gppString, state) : undefined;
|
|
200
|
+
}
|
|
201
|
+
default:
|
|
202
|
+
{
|
|
203
|
+
const mark = command.indexOf('.');
|
|
204
|
+
if (mark < 0) {
|
|
205
|
+
throw new Error(`Invalid command: ${command}`);
|
|
206
|
+
}
|
|
207
|
+
const clientApi = command.substring(0, mark);
|
|
208
|
+
const apiCommand = command.substring(mark + 1);
|
|
209
|
+
const sectionApi = getAdaptedApi(clientApi, allApis.get(clientApi));
|
|
210
|
+
return sectionApi(apiCommand, callback, parameter);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
return {
|
|
216
|
+
bind,
|
|
217
|
+
dispatch
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
//# sourceMappingURL=api.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["formatConsentString","makeFormatPingData","makeParseConsentString","EventNames","MAX_DATE","getSupportedApis","eventSubscribers","Map","_clearEventSubscribers","process","env","NODE_ENV","clear","undefined","createListenerId","inc","listenerId","Date","now","has","makeDispatch","apiVersion","dispatch","data","forEach","version","callback","adaptedApis","_clearAdaptedApis","getAdaptedApi","clientApi","api","adaptedApi","get","Error","set","command","parameter","makeApi","initOptions","formatPingData","parseConsentString","makeEventSubscriber","eventListenerReturn","state","eventName","pingData","bind","store","allApis","subApiSubscribers","initDispatchAggregator","size","supportedApis","getState","section","includes","subscriber","rest","gppApi","returnObject","LISTENER_REGISTERED","delete","parseInt","removed","LISTENER_REMOVED","sectionApi","fieldPath","split","join","gppString","mark","indexOf","substring","apiCommand"],"sourceRoot":"../../../../src","sources":["iab/gpp/api.js"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { CmpDisplayStatusCodes, CmpStatusCodes, SECTIONS } from './constants';
|
|
2
|
+
import { decode as base64Decode, encode as base64Encode } from './encoders/CompressedBase64UrlEncoder';
|
|
3
|
+
import { doesGDPRApply, getConsentString, getSupportedApis, isBrowsingFrom, isUiVisible } from './selectors';
|
|
4
|
+
import { decode as fibRangeDecode, encode as fibRangeEncode } from './encoders/FibonacciIntegerRangeEncoder';
|
|
5
|
+
import { CMP_ID } from '../constants';
|
|
6
|
+
const ERROR_MESSAGE = 'Invalid GPP string';
|
|
7
|
+
|
|
8
|
+
/* A note on the GPP version number: According to the GPP spec, the GPP string's
|
|
9
|
+
* header can only contain an integer version number. However, the API spec for
|
|
10
|
+
* the PingReturn object requires that the GPP version number is in the format
|
|
11
|
+
* Major.Minor (e.g. 1.0). It's not a problem for now but will be interesting if
|
|
12
|
+
* and when they introduce a version 1.1.
|
|
13
|
+
*/
|
|
14
|
+
const HEADER_PREFIX = 'DB'; // Section 3 ('D'), GPP v1 ('B')
|
|
15
|
+
|
|
16
|
+
export const isSectionApplicable = (sectionId, state) => {
|
|
17
|
+
switch (sectionId) {
|
|
18
|
+
// case 1 is TCF v1 and is unsupported
|
|
19
|
+
case 2:
|
|
20
|
+
// TCF EU v2
|
|
21
|
+
return doesGDPRApply(state);
|
|
22
|
+
// cases 3 and 4 are GPP header and integrity sections and are not applicable
|
|
23
|
+
case 5:
|
|
24
|
+
// TCF CA
|
|
25
|
+
return isBrowsingFrom(state, 'ca');
|
|
26
|
+
case 6:
|
|
27
|
+
// USPrivacy v1
|
|
28
|
+
// case 7: // US National
|
|
29
|
+
return isBrowsingFrom(state, 'us');
|
|
30
|
+
// We do not implement the GPP US-state spec
|
|
31
|
+
// case 8: // US California
|
|
32
|
+
// return isBrowsingFrom(state, 'us-ca');
|
|
33
|
+
// case 9: // US Virginia
|
|
34
|
+
// return isBrowsingFrom(state, 'us-va');
|
|
35
|
+
// case 10: // US Colorado
|
|
36
|
+
// return isBrowsingFrom(state, 'us-co');
|
|
37
|
+
// case 11: // US Utah
|
|
38
|
+
// return isBrowsingFrom(state, 'us-ut');
|
|
39
|
+
// case 12: // US Connecticut
|
|
40
|
+
// return isBrowsingFrom(state, 'us-ct');
|
|
41
|
+
default:
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
export const makeFormatPingData = initOptions => state => ({
|
|
46
|
+
gppVersion: initOptions.version,
|
|
47
|
+
// '1.0', see note above
|
|
48
|
+
cmpStatus: CmpStatusCodes.LOADED,
|
|
49
|
+
cmpDisplayStatus: isUiVisible(state) ? CmpDisplayStatusCodes.VISIBLE : CmpDisplayStatusCodes.HIDDEN,
|
|
50
|
+
supportedAPIs: getSupportedApis(state),
|
|
51
|
+
cmpId: CMP_ID
|
|
52
|
+
});
|
|
53
|
+
export const makeParseConsentString = initOptions => (gppString, state) => {
|
|
54
|
+
const [header, ...sections] = gppString.split('~');
|
|
55
|
+
|
|
56
|
+
// All GPPv1 strings must start with 'DB'
|
|
57
|
+
if (header.substring(0, 2) !== HEADER_PREFIX) {
|
|
58
|
+
throw new Error(`${ERROR_MESSAGE}: Invalid header`);
|
|
59
|
+
}
|
|
60
|
+
const expectedSections = fibRangeDecode(base64Decode(header.substring(2)));
|
|
61
|
+
if (sections.length !== expectedSections.length) {
|
|
62
|
+
throw new Error(`${ERROR_MESSAGE}: Number of sections does not match header`);
|
|
63
|
+
}
|
|
64
|
+
return {
|
|
65
|
+
sectionId: 3,
|
|
66
|
+
gppVersion: 1,
|
|
67
|
+
// see note above
|
|
68
|
+
sectionList: expectedSections,
|
|
69
|
+
applicableSections: expectedSections.filter(sectionId => isSectionApplicable(sectionId, state)),
|
|
70
|
+
gppString,
|
|
71
|
+
pingData: makeFormatPingData(initOptions)(state)
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
export const formatConsentString = state => {
|
|
75
|
+
const consentStrings = getSupportedApis(state).map(section => ({
|
|
76
|
+
sectionId: SECTIONS[`${section}`],
|
|
77
|
+
consentString: getConsentString(state, section)
|
|
78
|
+
})).filter(({
|
|
79
|
+
consentString
|
|
80
|
+
}) => consentString !== undefined).sort((a, b) => a.sectionId - b.sectionId);
|
|
81
|
+
const header = `${HEADER_PREFIX}${base64Encode(fibRangeEncode(consentStrings.map(({
|
|
82
|
+
sectionId
|
|
83
|
+
}) => sectionId)))}`;
|
|
84
|
+
const sections = [header, ...consentStrings.map(({
|
|
85
|
+
consentString
|
|
86
|
+
}) => consentString)];
|
|
87
|
+
return sections.join('~');
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=consent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["CmpDisplayStatusCodes","CmpStatusCodes","SECTIONS","decode","base64Decode","encode","base64Encode","doesGDPRApply","getConsentString","getSupportedApis","isBrowsingFrom","isUiVisible","fibRangeDecode","fibRangeEncode","CMP_ID","ERROR_MESSAGE","HEADER_PREFIX","isSectionApplicable","sectionId","state","makeFormatPingData","initOptions","gppVersion","version","cmpStatus","LOADED","cmpDisplayStatus","VISIBLE","HIDDEN","supportedAPIs","cmpId","makeParseConsentString","gppString","header","sections","split","substring","Error","expectedSections","length","sectionList","applicableSections","filter","pingData","formatConsentString","consentStrings","map","section","consentString","undefined","sort","a","b","join"],"sourceRoot":"../../../../src","sources":["iab/gpp/consent.js"],"mappings":"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","ignoreList":[]}
|