@transcend-io/airgap.js-types 10.7.9 → 10.9.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.
Files changed (53) hide show
  1. package/build/core.d.ts +23 -1
  2. package/build/core.d.ts.map +1 -1
  3. package/build/core.js.map +1 -1
  4. package/build/tsbuildinfo +1 -1
  5. package/build-esm/constants.d.ts +10 -0
  6. package/build-esm/constants.d.ts.map +1 -0
  7. package/build-esm/constants.js +35 -0
  8. package/build-esm/constants.js.map +1 -0
  9. package/build-esm/core.d.ts +710 -0
  10. package/build-esm/core.d.ts.map +1 -0
  11. package/build-esm/core.js +197 -0
  12. package/build-esm/core.js.map +1 -0
  13. package/build-esm/enums/browserLanguage.d.ts +248 -0
  14. package/build-esm/enums/browserLanguage.d.ts.map +1 -0
  15. package/build-esm/enums/browserLanguage.js +248 -0
  16. package/build-esm/enums/browserLanguage.js.map +1 -0
  17. package/build-esm/enums/experience.d.ts +12 -0
  18. package/build-esm/enums/experience.d.ts.map +1 -0
  19. package/build-esm/enums/experience.js +12 -0
  20. package/build-esm/enums/experience.js.map +1 -0
  21. package/build-esm/enums/index.d.ts +6 -0
  22. package/build-esm/enums/index.d.ts.map +1 -0
  23. package/build-esm/enums/index.js +6 -0
  24. package/build-esm/enums/index.js.map +1 -0
  25. package/build-esm/enums/privacyRegime.d.ts +23 -0
  26. package/build-esm/enums/privacyRegime.d.ts.map +1 -0
  27. package/build-esm/enums/privacyRegime.js +24 -0
  28. package/build-esm/enums/privacyRegime.js.map +1 -0
  29. package/build-esm/enums/purpose.d.ts +60 -0
  30. package/build-esm/enums/purpose.d.ts.map +1 -0
  31. package/build-esm/enums/purpose.js +44 -0
  32. package/build-esm/enums/purpose.js.map +1 -0
  33. package/build-esm/enums/viewState.d.ts +121 -0
  34. package/build-esm/enums/viewState.d.ts.map +1 -0
  35. package/build-esm/enums/viewState.js +90 -0
  36. package/build-esm/enums/viewState.js.map +1 -0
  37. package/build-esm/experience.d.ts +57 -0
  38. package/build-esm/experience.d.ts.map +1 -0
  39. package/build-esm/experience.js +107 -0
  40. package/build-esm/experience.js.map +1 -0
  41. package/build-esm/iab.d.ts +307 -0
  42. package/build-esm/iab.d.ts.map +1 -0
  43. package/build-esm/iab.js +150 -0
  44. package/build-esm/iab.js.map +1 -0
  45. package/build-esm/index.d.ts +7 -0
  46. package/build-esm/index.d.ts.map +1 -0
  47. package/build-esm/index.js +7 -0
  48. package/build-esm/index.js.map +1 -0
  49. package/build-esm/ui.d.ts +499 -0
  50. package/build-esm/ui.d.ts.map +1 -0
  51. package/build-esm/ui.js +101 -0
  52. package/build-esm/ui.js.map +1 -0
  53. package/package.json +4 -3
@@ -0,0 +1,90 @@
1
+ // main
2
+ import { makeEnum } from '@transcend-io/type-utils';
3
+ /**
4
+ * Consent Manager view state for the Interactive Advertising Bureau
5
+ */
6
+ export const IABViewState = makeEnum({
7
+ /* Transparency and Consent Framework for Europe */
8
+ TCF_EU: 'TCF_EU',
9
+ });
10
+ /**
11
+ * View States for Transcend's Consent Manager UI
12
+ */
13
+ export const InitialTranscendViewState = makeEnum({
14
+ /* expanded and showing quick select options */
15
+ QuickOptions: 'QuickOptions',
16
+ /* three option UI: essential, functional/analytics, advertising */
17
+ QuickOptions3: 'QuickOptions3',
18
+ /* accept all button call to action, with more options in the banner footer */
19
+ AcceptAll: 'AcceptAll',
20
+ /* toggle button that toggles on or off all active purposes in the current regime */
21
+ AcceptAllRejectAllToggle: 'AcceptAllRejectAllToggle',
22
+ /* accept all or more options, both as calls to action */
23
+ AcceptAllOrMoreChoices: 'AcceptAllOrMoreChoices',
24
+ /* accept all or reject all */
25
+ AcceptOrRejectAll: 'AcceptOrRejectAll',
26
+ /* accept all or reject all or more options */
27
+ AcceptOrRejectAllOrMoreChoices: 'AcceptOrRejectAllOrMoreChoices',
28
+ /* accept or reject the Analytics script tag */
29
+ AcceptOrRejectAnalytics: 'AcceptOrRejectAnalytics',
30
+ /* accept or reject the Advertising script tag */
31
+ AcceptOrRejectAdvertising: 'AcceptOrRejectAdvertising',
32
+ /* data collection notice with do not sell */
33
+ NoticeAndDoNotSell: 'NoticeAndDoNotSell',
34
+ /* open a modal that allows for an explanation of do not sell/share, before opting out */
35
+ DoNotSellExplainer: 'DoNotSellExplainer',
36
+ /* open a modal that allows for complete options toggling */
37
+ CompleteOptionsToggles: 'CompleteOptionsToggles',
38
+ /* open a modal that shows a notice that the privacy policy has changed, without any prompt to change consent */
39
+ PrivacyPolicyNotice: 'PrivacyPolicyNotice',
40
+ /* expanded and showing full checkbox options */
41
+ CompleteOptions: 'CompleteOptions',
42
+ /* complete options, but selecting a checkbox means the user is opted out */
43
+ CompleteOptionsInverted: 'CompleteOptionsInverted',
44
+ /* hidden */
45
+ Hidden: 'Hidden',
46
+ });
47
+ /**
48
+ * Consent Manager view states that can be used at launch
49
+ */
50
+ export const InitialViewState = makeEnum({
51
+ /** View States for Transcend's Consent Manager UI */
52
+ ...InitialTranscendViewState,
53
+ /** View States for IAB Frameworks */
54
+ ...IABViewState,
55
+ });
56
+ /**
57
+ * View states that are displayed in response to a user request (e.g. transcend.doNotSell() or )
58
+ */
59
+ export const ResponseViewState = makeEnum({
60
+ /* notice that do not sell has been acknowledged properly */
61
+ DoNotSellDisclosure: 'DoNotSellDisclosure',
62
+ /* notice of a 1 click opt out for multiple consent purposes */
63
+ OptOutDisclosure: 'OptOutDisclosure',
64
+ });
65
+ /**
66
+ * Consent Manager view states that can be navigated to after initial view state
67
+ */
68
+ export const DeepViewState = makeEnum({
69
+ /* language options */
70
+ LanguageOptions: 'LanguageOptions',
71
+ });
72
+ /**
73
+ * Consent Manager view states after it's been dismissed
74
+ */
75
+ export const DismissedViewState = makeEnum({
76
+ /* showing and collapsed */
77
+ Collapsed: 'Collapsed',
78
+ /* closed */
79
+ Closed: 'Closed',
80
+ });
81
+ /**
82
+ * All possible view states of the Consent Manager
83
+ */
84
+ export const ViewState = makeEnum({
85
+ ...InitialViewState,
86
+ ...ResponseViewState,
87
+ ...DeepViewState,
88
+ ...DismissedViewState,
89
+ });
90
+ //# sourceMappingURL=viewState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewState.js","sourceRoot":"","sources":["../../src/enums/viewState.ts"],"names":[],"mappings":"AAAA,OAAO;AACP,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,QAAQ,CAAC;IACnC,mDAAmD;IACnD,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,QAAQ,CAAC;IAChD,+CAA+C;IAC/C,YAAY,EAAE,cAAc;IAC5B,mEAAmE;IACnE,aAAa,EAAE,eAAe;IAC9B,8EAA8E;IAC9E,SAAS,EAAE,WAAW;IACtB,oFAAoF;IACpF,wBAAwB,EAAE,0BAA0B;IACpD,yDAAyD;IACzD,sBAAsB,EAAE,wBAAwB;IAChD,8BAA8B;IAC9B,iBAAiB,EAAE,mBAAmB;IACtC,8CAA8C;IAC9C,8BAA8B,EAAE,gCAAgC;IAChE,+CAA+C;IAC/C,uBAAuB,EAAE,yBAAyB;IAClD,iDAAiD;IACjD,yBAAyB,EAAE,2BAA2B;IACtD,6CAA6C;IAC7C,kBAAkB,EAAE,oBAAoB;IACxC,yFAAyF;IACzF,kBAAkB,EAAE,oBAAoB;IACxC,4DAA4D;IAC5D,sBAAsB,EAAE,wBAAwB;IAChD,gHAAgH;IAChH,mBAAmB,EAAE,qBAAqB;IAC1C,gDAAgD;IAChD,eAAe,EAAE,iBAAiB;IAClC,4EAA4E;IAC5E,uBAAuB,EAAE,yBAAyB;IAClD,YAAY;IACZ,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAC;AAQH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;IACvC,qDAAqD;IACrD,GAAG,yBAAyB;IAC5B,qCAAqC;IACrC,GAAG,YAAY;CAChB,CAAC,CAAC;AAQH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACxC,4DAA4D;IAC5D,mBAAmB,EAAE,qBAAqB;IAC1C,+DAA+D;IAC/D,gBAAgB,EAAE,kBAAkB;CACrC,CAAC,CAAC;AAQH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,QAAQ,CAAC;IACpC,sBAAsB;IACtB,eAAe,EAAE,iBAAiB;CACnC,CAAC,CAAC;AAOH;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACzC,2BAA2B;IAC3B,SAAS,EAAE,WAAW;IACtB,YAAY;IACZ,MAAM,EAAE,QAAQ;CACjB,CAAC,CAAC;AAQH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;IAChC,GAAG,gBAAgB;IACnB,GAAG,iBAAiB;IACpB,GAAG,aAAa;IAChB,GAAG,kBAAkB;CACtB,CAAC,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { IsoCountryCode } from '@transcend-io/privacy-types';
2
+ import { Purpose } from './enums/purpose';
3
+ import { InitialViewState } from './enums/viewState';
4
+ import { PrivacyRegime } from './core';
5
+ import { RegionsOperator } from './enums';
6
+ export interface Region {
7
+ /** A country's ISO code */
8
+ country: IsoCountryCode;
9
+ /** A country subdivision ISO code */
10
+ countrySubDivision?: string;
11
+ }
12
+ export interface ExperiencePurposeInput {
13
+ /** name of the purpose */
14
+ purpose: Purpose;
15
+ /** opt out by default */
16
+ defaultOptOut: boolean;
17
+ }
18
+ export interface ExperienceInput {
19
+ /** The regime determining the default experience */
20
+ name: PrivacyRegime;
21
+ /** The display name of the experience */
22
+ displayName: string;
23
+ /** A list of regions to be included/not included in this experience */
24
+ regions: Region[];
25
+ /** A list of browser languages that this experience applies to */
26
+ browserLanguages: string[];
27
+ /** A list of browser time zones that this experience applies to */
28
+ browserTimeZones: string[];
29
+ /** Whether the listed regions are included or excluded from the experience */
30
+ operator: RegionsOperator;
31
+ /** If data subject linked to multiple experiences, display priority for experiences. Lower number, higher priority. */
32
+ displayPriority: number;
33
+ /** The view state to display on transcend.showConsentManager() */
34
+ viewState: InitialViewState;
35
+ /** experience purposes to be added */
36
+ experiencePurposeInputs: ExperiencePurposeInput[];
37
+ }
38
+ export declare const REGIME_REGIONS: Record<PrivacyRegime, Region[]>;
39
+ export declare const REGIME_LANGUAGES: Record<PrivacyRegime, string[]>;
40
+ /**
41
+ * construct default experience for regime
42
+ *
43
+ * @param regime - regime
44
+ * @returns ExperienceInput
45
+ */
46
+ export declare function defaultExperience(regime: PrivacyRegime): ExperienceInput;
47
+ export declare const DEFAULT_EXPERIENCES: {
48
+ Unknown: ExperienceInput;
49
+ CPRA: ExperienceInput;
50
+ GDPR: ExperienceInput;
51
+ LGPD: ExperienceInput;
52
+ CDPA: ExperienceInput;
53
+ CPA: ExperienceInput;
54
+ NEVADA_SB220: ExperienceInput;
55
+ nFADP: ExperienceInput;
56
+ };
57
+ //# sourceMappingURL=experience.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experience.d.ts","sourceRoot":"","sources":["../src/experience.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAI7D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAOvC,OAAO,EAAmB,eAAe,EAAE,MAAM,SAAS,CAAC;AAE3D,MAAM,WAAW,MAAM;IACrB,2BAA2B;IAC3B,OAAO,EAAE,cAAc,CAAC;IACxB,qCAAqC;IACrC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,0BAA0B;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,yBAAyB;IACzB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,IAAI,EAAE,aAAa,CAAC;IACpB,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kEAAkE;IAClE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,mEAAmE;IACnE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,EAAE,eAAe,CAAC;IAC1B,uHAAuH;IACvH,eAAe,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,SAAS,EAAE,gBAAgB,CAAC;IAC5B,sCAAsC;IACtC,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;CACnD;AAID,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,CAe1D,CAAC;AAIF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,CAgD5D,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,CAwBxE;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;CAG/B,CAAC"}
@@ -0,0 +1,107 @@
1
+ // main
2
+ import { applyEnum } from '@transcend-io/type-utils';
3
+ // local
4
+ import { PrivacyRegimeEnum } from './enums/privacyRegime';
5
+ import { InitialViewState } from './enums/viewState';
6
+ import { DEFAULT_VIEW_STATE_BY_PRIVACY_REGIME } from './ui';
7
+ import { DEFAULT_EXPERIENCE_PURPOSE_SCOPES, DEFAULT_EXPERIENCE_PURPOSE_OPT_OUTS, REGIME_DISPLAY_PRIORITY, REGIME_TIMEZONES, } from './constants';
8
+ import { BrowserLanguage, RegionsOperator } from './enums';
9
+ // default to []
10
+ // Don't put this into constants or you will regret it (per the constants.ts warning)
11
+ export const REGIME_REGIONS = {
12
+ CPRA: [{ country: 'US', countrySubDivision: 'US-CA' }],
13
+ GDPR: [
14
+ { country: 'EU' },
15
+ { country: 'GB' },
16
+ { country: 'NO' },
17
+ { country: 'IS' },
18
+ { country: 'LI' },
19
+ ],
20
+ LGPD: [{ country: 'BR' }],
21
+ CDPA: [{ country: 'US', countrySubDivision: 'US-VA' }],
22
+ CPA: [{ country: 'US', countrySubDivision: 'US-CO' }],
23
+ UCPA: [{ country: 'US', countrySubDivision: 'US-UT' }],
24
+ NEVADA_SB220: [{ country: 'US', countrySubDivision: 'US-NV' }],
25
+ nFADP: [{ country: 'CH' }],
26
+ };
27
+ // default to []
28
+ // Don't put this into constants or you will regret it (per the constants.ts warning)
29
+ export const REGIME_LANGUAGES = {
30
+ GDPR: [
31
+ BrowserLanguage['Bulgarian (Bulgaria)'],
32
+ BrowserLanguage['Croatian (Croatia)'],
33
+ BrowserLanguage['Czech (Czech Republic)'],
34
+ BrowserLanguage['Danish (Denmark)'],
35
+ BrowserLanguage['Dutch (Belgium)'],
36
+ BrowserLanguage['Dutch (Netherlands)'],
37
+ BrowserLanguage['English (Ireland)'],
38
+ BrowserLanguage['Estonian (Estonia)'],
39
+ BrowserLanguage['Finnish (Finland)'],
40
+ BrowserLanguage['French (Belgium)'],
41
+ BrowserLanguage['French (France)'],
42
+ BrowserLanguage['French (Luxembourg)'],
43
+ BrowserLanguage['German (Austria)'],
44
+ BrowserLanguage['German (Germany)'],
45
+ BrowserLanguage['German (Liechtenstein)'],
46
+ BrowserLanguage['German (Luxembourg)'],
47
+ BrowserLanguage['Greek (Greece)'],
48
+ BrowserLanguage['Hungarian (Hungary)'],
49
+ BrowserLanguage['Icelandic (Iceland)'],
50
+ BrowserLanguage['Irish (Ireland)'],
51
+ BrowserLanguage['Italian (Italy)'],
52
+ BrowserLanguage['Latvian (Latvia)'],
53
+ BrowserLanguage['Lithuanian (Lithuania)'],
54
+ BrowserLanguage['Maltese (Malta)'],
55
+ BrowserLanguage['Norwegian (Norway)'],
56
+ BrowserLanguage['Norwegian Bokmål (Norway)'],
57
+ BrowserLanguage['Norwegian Nynorsk (Norway)'],
58
+ BrowserLanguage['Polish (Poland)'],
59
+ BrowserLanguage['Portuguese (Portugal)'],
60
+ BrowserLanguage['Romanian (Romania)'],
61
+ BrowserLanguage['Slovak (Slovakia)'],
62
+ BrowserLanguage['Slovenian (Slovenia)'],
63
+ BrowserLanguage['Spanish (Espa\u00f1a)'],
64
+ BrowserLanguage['Swedish (Finland)'],
65
+ BrowserLanguage['Swedish (Finland)'],
66
+ BrowserLanguage['Swedish (Sweden)'],
67
+ ],
68
+ LGPD: [BrowserLanguage['Portuguese (Brazil)']],
69
+ nFADP: [
70
+ BrowserLanguage['German (Switzerland)'],
71
+ BrowserLanguage['French (Switzerland)'],
72
+ BrowserLanguage['Italian (Switzerland)'],
73
+ BrowserLanguage['English (Switzerland)'],
74
+ BrowserLanguage['Portuguese (Switzerland)'],
75
+ BrowserLanguage['Swiss German (Switzerland)'],
76
+ ],
77
+ };
78
+ /**
79
+ * construct default experience for regime
80
+ *
81
+ * @param regime - regime
82
+ * @returns ExperienceInput
83
+ */
84
+ export function defaultExperience(regime) {
85
+ var _a, _b, _c, _d, _e;
86
+ const isUnknown = regime === 'Unknown';
87
+ const regimeEnum = PrivacyRegimeEnum[regime];
88
+ return {
89
+ name: regime,
90
+ displayName: regime,
91
+ regions: (_a = REGIME_REGIONS[regime]) !== null && _a !== void 0 ? _a : [],
92
+ operator: isUnknown ? RegionsOperator.NotIn : RegionsOperator.In,
93
+ displayPriority: (_b = REGIME_DISPLAY_PRIORITY[regime]) !== null && _b !== void 0 ? _b : 20,
94
+ viewState: (_c = DEFAULT_VIEW_STATE_BY_PRIVACY_REGIME[regimeEnum]) !== null && _c !== void 0 ? _c : InitialViewState.Hidden,
95
+ browserLanguages: (_d = REGIME_LANGUAGES[regime]) !== null && _d !== void 0 ? _d : [],
96
+ browserTimeZones: (_e = REGIME_TIMEZONES[regime]) !== null && _e !== void 0 ? _e : [],
97
+ experiencePurposeInputs: DEFAULT_EXPERIENCE_PURPOSE_SCOPES[regime].map((purpose) => {
98
+ var _a, _b;
99
+ return ({
100
+ purpose,
101
+ defaultOptOut: (_b = (_a = DEFAULT_EXPERIENCE_PURPOSE_OPT_OUTS[regime]) === null || _a === void 0 ? void 0 : _a.includes(purpose)) !== null && _b !== void 0 ? _b : false,
102
+ });
103
+ }),
104
+ };
105
+ }
106
+ export const DEFAULT_EXPERIENCES = applyEnum(PrivacyRegimeEnum, defaultExperience);
107
+ //# sourceMappingURL=experience.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"experience.js","sourceRoot":"","sources":["../src/experience.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,307 @@
1
+ import * as t from 'io-ts';
2
+ /**
3
+ * TCF purpose configuration
4
+ */
5
+ export declare const TcfPurpose: t.TypeC<{
6
+ id: t.NumberC;
7
+ name: t.StringC;
8
+ description: t.StringC;
9
+ descriptionLegal: t.StringC;
10
+ }>;
11
+ /**
12
+ * Type override
13
+ */
14
+ export declare type TcfPurpose = t.TypeOf<typeof TcfPurpose>;
15
+ /**
16
+ * TCF stack configuration
17
+ */
18
+ export declare const TcfStack: t.TypeC<{
19
+ id: t.NumberC;
20
+ purposes: t.ArrayC<t.NumberC>;
21
+ specialFeatures: t.ArrayC<t.NumberC>;
22
+ name: t.StringC;
23
+ description: t.StringC;
24
+ }>;
25
+ /**
26
+ * Type override
27
+ */
28
+ export declare type TcfStack = t.TypeOf<typeof TcfStack>;
29
+ /**
30
+ * TCF stack configuration
31
+ */
32
+ export declare const TcfVendor: t.IntersectionC<[t.TypeC<{
33
+ id: t.NumberC;
34
+ name: t.StringC;
35
+ purposes: t.ArrayC<t.NumberC>;
36
+ legIntPurposes: t.ArrayC<t.NumberC>;
37
+ flexiblePurposes: t.ArrayC<t.NumberC>;
38
+ specialPurposes: t.ArrayC<t.NumberC>;
39
+ features: t.ArrayC<t.NumberC>;
40
+ specialFeatures: t.ArrayC<t.NumberC>;
41
+ policyUrl: t.StringC;
42
+ cookieMaxAgeSeconds: t.UnionC<[t.NumberC, t.NullC]>;
43
+ usesCookies: t.BooleanC;
44
+ }>, t.PartialC<{
45
+ deletedDate: t.StringC;
46
+ overflow: t.TypeC<{
47
+ httpGetLimit: t.NumberC;
48
+ }>;
49
+ cookieRefresh: t.BooleanC;
50
+ usesNonCookieAccess: t.BooleanC;
51
+ deviceStorageDisclosureUrl: t.StringC;
52
+ }>]>;
53
+ /**
54
+ * Type override
55
+ */
56
+ export declare type TcfVendor = t.TypeOf<typeof TcfVendor>;
57
+ export declare const TcfVendorListVersion: t.TypeC<{
58
+ gvlSpecificationVersion: t.NumberC;
59
+ vendorListVersion: t.NumberC;
60
+ tcfPolicyVersion: t.NumberC;
61
+ lastUpdated: t.StringC;
62
+ }>;
63
+ /**
64
+ * Type override
65
+ */
66
+ export declare type TcfVendorListVersion = t.TypeOf<typeof TcfVendorListVersion>;
67
+ /**
68
+ * TCF global vendor list version 2
69
+ */
70
+ export declare const TcfV2VendorList: t.IntersectionC<[t.TypeC<{
71
+ gvlSpecificationVersion: t.NumberC;
72
+ vendorListVersion: t.NumberC;
73
+ tcfPolicyVersion: t.NumberC;
74
+ lastUpdated: t.StringC;
75
+ }>, t.TypeC<{
76
+ purposes: t.RecordC<t.StringC, t.TypeC<{
77
+ id: t.NumberC;
78
+ name: t.StringC;
79
+ description: t.StringC;
80
+ descriptionLegal: t.StringC;
81
+ }>>;
82
+ specialPurposes: t.RecordC<t.StringC, t.TypeC<{
83
+ id: t.NumberC;
84
+ name: t.StringC;
85
+ description: t.StringC;
86
+ descriptionLegal: t.StringC;
87
+ }>>;
88
+ features: t.RecordC<t.StringC, t.TypeC<{
89
+ id: t.NumberC;
90
+ name: t.StringC;
91
+ description: t.StringC;
92
+ descriptionLegal: t.StringC;
93
+ }>>;
94
+ specialFeatures: t.RecordC<t.StringC, t.TypeC<{
95
+ id: t.NumberC;
96
+ name: t.StringC;
97
+ description: t.StringC;
98
+ descriptionLegal: t.StringC;
99
+ }>>;
100
+ stacks: t.RecordC<t.StringC, t.TypeC<{
101
+ id: t.NumberC;
102
+ purposes: t.ArrayC<t.NumberC>;
103
+ specialFeatures: t.ArrayC<t.NumberC>;
104
+ name: t.StringC;
105
+ description: t.StringC;
106
+ }>>;
107
+ vendors: t.RecordC<t.StringC, t.IntersectionC<[t.TypeC<{
108
+ id: t.NumberC;
109
+ name: t.StringC;
110
+ purposes: t.ArrayC<t.NumberC>;
111
+ legIntPurposes: t.ArrayC<t.NumberC>;
112
+ flexiblePurposes: t.ArrayC<t.NumberC>;
113
+ specialPurposes: t.ArrayC<t.NumberC>;
114
+ features: t.ArrayC<t.NumberC>;
115
+ specialFeatures: t.ArrayC<t.NumberC>;
116
+ policyUrl: t.StringC;
117
+ cookieMaxAgeSeconds: t.UnionC<[t.NumberC, t.NullC]>;
118
+ usesCookies: t.BooleanC;
119
+ }>, t.PartialC<{
120
+ deletedDate: t.StringC;
121
+ overflow: t.TypeC<{
122
+ httpGetLimit: t.NumberC;
123
+ }>;
124
+ cookieRefresh: t.BooleanC;
125
+ usesNonCookieAccess: t.BooleanC;
126
+ deviceStorageDisclosureUrl: t.StringC;
127
+ }>]>>;
128
+ }>]>;
129
+ /**
130
+ * Overload TcfV2VendorList as a type
131
+ */
132
+ export declare type TcfV2VendorList = t.TypeOf<typeof TcfV2VendorList>;
133
+ /**
134
+ * TCF GVL v3 purpose configuration (TCF features share the same type)
135
+ */
136
+ export declare const TcfGvlV3Purpose: t.TypeC<{
137
+ id: t.NumberC;
138
+ name: t.StringC;
139
+ description: t.StringC;
140
+ illustrations: t.ArrayC<t.StringC>;
141
+ }>;
142
+ /**
143
+ * Type override
144
+ */
145
+ export declare type TcfGvlV3Purpose = t.TypeOf<typeof TcfGvlV3Purpose>;
146
+ /**
147
+ * TCF GVL v3 data categories configuration
148
+ */
149
+ export declare const TcfGvlV3DataCategory: t.TypeC<{
150
+ id: t.NumberC;
151
+ name: t.StringC;
152
+ description: t.StringC;
153
+ }>;
154
+ /**
155
+ * Type override
156
+ */
157
+ export declare type TcfGvlV3DataCategory = t.TypeOf<typeof TcfGvlV3DataCategory>;
158
+ /**
159
+ * TCF GVL v3 URL configuration
160
+ */
161
+ export declare const TcfGvlV3Url: t.IntersectionC<[t.TypeC<{
162
+ langId: t.StringC;
163
+ privacy: t.StringC;
164
+ }>, t.PartialC<{
165
+ legIntClaim: t.StringC;
166
+ }>]>;
167
+ /**
168
+ * Type override
169
+ */
170
+ export declare type TcfGvlV3Url = t.TypeOf<typeof TcfGvlV3Url>;
171
+ /**
172
+ * TCF GVL v3 data retention configuration
173
+ */
174
+ export declare const TcfGvlV3DataRetention: t.IntersectionC<[t.TypeC<{
175
+ purposes: t.RecordC<t.StringC, t.NumberC>;
176
+ specialPurposes: t.RecordC<t.StringC, t.NumberC>;
177
+ }>, t.PartialC<{
178
+ stdRetention: t.NumberC;
179
+ }>]>;
180
+ /**
181
+ * Type override
182
+ */
183
+ export declare type TcfGvlV3DataRetention = t.TypeOf<typeof TcfGvlV3DataRetention>;
184
+ /**
185
+ * TCF GVL v3 vendor configuration
186
+ */
187
+ export declare const TcfGvlV3Vendor: t.IntersectionC<[t.TypeC<{
188
+ id: t.NumberC;
189
+ name: t.StringC;
190
+ purposes: t.ArrayC<t.NumberC>;
191
+ legIntPurposes: t.ArrayC<t.NumberC>;
192
+ flexiblePurposes: t.ArrayC<t.NumberC>;
193
+ specialPurposes: t.ArrayC<t.NumberC>;
194
+ features: t.ArrayC<t.NumberC>;
195
+ specialFeatures: t.ArrayC<t.NumberC>;
196
+ cookieMaxAgeSeconds: t.UnionC<[t.NumberC, t.NullC]>;
197
+ usesCookies: t.BooleanC;
198
+ cookieRefresh: t.BooleanC;
199
+ usesNonCookieAccess: t.BooleanC;
200
+ dataRetention: t.IntersectionC<[t.TypeC<{
201
+ purposes: t.RecordC<t.StringC, t.NumberC>;
202
+ specialPurposes: t.RecordC<t.StringC, t.NumberC>;
203
+ }>, t.PartialC<{
204
+ stdRetention: t.NumberC;
205
+ }>]>;
206
+ urls: t.ArrayC<t.IntersectionC<[t.TypeC<{
207
+ langId: t.StringC;
208
+ privacy: t.StringC;
209
+ }>, t.PartialC<{
210
+ legIntClaim: t.StringC;
211
+ }>]>>;
212
+ deviceStorageDisclosureUrl: t.StringC;
213
+ }>, t.PartialC<{
214
+ deletedDate: t.StringC;
215
+ overflow: t.TypeC<{
216
+ httpGetLimit: t.NumberC;
217
+ }>;
218
+ dataDeclaration: t.ArrayC<t.NumberC>;
219
+ }>]>;
220
+ /**
221
+ * Type override
222
+ */
223
+ export declare type TcfGvlV3Vendor = t.TypeOf<typeof TcfGvlV3Vendor>;
224
+ /**
225
+ * TCF global vendor list version 3
226
+ */
227
+ export declare const TcfV3VendorList: t.IntersectionC<[t.TypeC<{
228
+ gvlSpecificationVersion: t.NumberC;
229
+ vendorListVersion: t.NumberC;
230
+ tcfPolicyVersion: t.NumberC;
231
+ lastUpdated: t.StringC;
232
+ }>, t.TypeC<{
233
+ purposes: t.RecordC<t.StringC, t.TypeC<{
234
+ id: t.NumberC;
235
+ name: t.StringC;
236
+ description: t.StringC;
237
+ illustrations: t.ArrayC<t.StringC>;
238
+ }>>;
239
+ specialPurposes: t.RecordC<t.StringC, t.TypeC<{
240
+ id: t.NumberC;
241
+ name: t.StringC;
242
+ description: t.StringC;
243
+ illustrations: t.ArrayC<t.StringC>;
244
+ }>>;
245
+ features: t.RecordC<t.StringC, t.TypeC<{
246
+ id: t.NumberC;
247
+ name: t.StringC;
248
+ description: t.StringC;
249
+ illustrations: t.ArrayC<t.StringC>;
250
+ }>>;
251
+ specialFeatures: t.RecordC<t.StringC, t.TypeC<{
252
+ id: t.NumberC;
253
+ name: t.StringC;
254
+ description: t.StringC;
255
+ illustrations: t.ArrayC<t.StringC>;
256
+ }>>;
257
+ stacks: t.RecordC<t.StringC, t.TypeC<{
258
+ id: t.NumberC;
259
+ purposes: t.ArrayC<t.NumberC>;
260
+ specialFeatures: t.ArrayC<t.NumberC>;
261
+ name: t.StringC;
262
+ description: t.StringC;
263
+ }>>;
264
+ dataCategories: t.RecordC<t.StringC, t.TypeC<{
265
+ id: t.NumberC;
266
+ name: t.StringC;
267
+ description: t.StringC;
268
+ }>>;
269
+ vendors: t.RecordC<t.StringC, t.IntersectionC<[t.TypeC<{
270
+ id: t.NumberC;
271
+ name: t.StringC;
272
+ purposes: t.ArrayC<t.NumberC>;
273
+ legIntPurposes: t.ArrayC<t.NumberC>;
274
+ flexiblePurposes: t.ArrayC<t.NumberC>;
275
+ specialPurposes: t.ArrayC<t.NumberC>;
276
+ features: t.ArrayC<t.NumberC>;
277
+ specialFeatures: t.ArrayC<t.NumberC>;
278
+ cookieMaxAgeSeconds: t.UnionC<[t.NumberC, t.NullC]>;
279
+ usesCookies: t.BooleanC;
280
+ cookieRefresh: t.BooleanC;
281
+ usesNonCookieAccess: t.BooleanC;
282
+ dataRetention: t.IntersectionC<[t.TypeC<{
283
+ purposes: t.RecordC<t.StringC, t.NumberC>;
284
+ specialPurposes: t.RecordC<t.StringC, t.NumberC>;
285
+ }>, t.PartialC<{
286
+ stdRetention: t.NumberC;
287
+ }>]>;
288
+ urls: t.ArrayC<t.IntersectionC<[t.TypeC<{
289
+ langId: t.StringC;
290
+ privacy: t.StringC;
291
+ }>, t.PartialC<{
292
+ legIntClaim: t.StringC;
293
+ }>]>>;
294
+ deviceStorageDisclosureUrl: t.StringC;
295
+ }>, t.PartialC<{
296
+ deletedDate: t.StringC;
297
+ overflow: t.TypeC<{
298
+ httpGetLimit: t.NumberC;
299
+ }>;
300
+ dataDeclaration: t.ArrayC<t.NumberC>;
301
+ }>]>>;
302
+ }>]>;
303
+ /**
304
+ * Type override
305
+ */
306
+ export declare type TcfV3VendorList = t.TypeOf<typeof TcfV3VendorList>;
307
+ //# sourceMappingURL=iab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iab.d.ts","sourceRoot":"","sources":["../src/iab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,OAAO,CAAC;AAE3B;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;EAKrB,CAAC;AAEH;;GAEG;AACH,oBAAY,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,UAAU,CAAC,CAAC;AAErD;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;EAMnB,CAAC;AAEH;;GAEG;AACH,oBAAY,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;IAuBpB,CAAC;AAEH;;GAEG;AACH,oBAAY,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,SAAS,CAAC,CAAC;AAEnD,eAAO,MAAM,oBAAoB;;;;;EAK/B,CAAC;AACH;;GAEG;AACH,oBAAY,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAU1B,CAAC;AAEH;;GAEG;AACH,oBAAY,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;EAK1B,CAAC;AAEH;;GAEG;AACH,oBAAY,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;EAI/B,CAAC;AAEH;;GAEG;AACH,oBAAY,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEzE;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;IAKtB,CAAC;AAEH;;GAEG;AACH,oBAAY,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;IAQhC,CAAC;AAEH;;GAEG;AACH,oBAAY,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAE3E;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyBzB,CAAC;AAEH;;GAEG;AACH,oBAAY,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,cAAc,CAAC,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAW1B,CAAC;AAEH;;GAEG;AACH,oBAAY,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,eAAe,CAAC,CAAC"}