@transcend-io/airgap.js-types 13.0.0 → 14.0.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 (123) hide show
  1. package/LICENSE +201 -21
  2. package/dist/index.d.mts +2510 -0
  3. package/dist/index.d.mts.map +1 -0
  4. package/dist/index.mjs +1018 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/package.json +41 -41
  7. package/.yarn/sdks/eslint/package.json +0 -14
  8. package/.yarn/sdks/prettier/package.json +0 -7
  9. package/.yarn/sdks/typescript/package.json +0 -10
  10. package/README.md +0 -12
  11. package/build/constants.d.ts +0 -16
  12. package/build/constants.d.ts.map +0 -1
  13. package/build/constants.js +0 -46
  14. package/build/constants.js.map +0 -1
  15. package/build/core.d.ts +0 -1083
  16. package/build/core.d.ts.map +0 -1
  17. package/build/core.js +0 -226
  18. package/build/core.js.map +0 -1
  19. package/build/enums/browserLanguage.d.ts +0 -311
  20. package/build/enums/browserLanguage.d.ts.map +0 -1
  21. package/build/enums/browserLanguage.js +0 -314
  22. package/build/enums/browserLanguage.js.map +0 -1
  23. package/build/enums/consentExpiry.d.ts +0 -14
  24. package/build/enums/consentExpiry.d.ts.map +0 -1
  25. package/build/enums/consentExpiry.js +0 -16
  26. package/build/enums/consentExpiry.js.map +0 -1
  27. package/build/enums/experience.d.ts +0 -12
  28. package/build/enums/experience.d.ts.map +0 -1
  29. package/build/enums/experience.js +0 -15
  30. package/build/enums/experience.js.map +0 -1
  31. package/build/enums/index.d.ts +0 -7
  32. package/build/enums/index.d.ts.map +0 -1
  33. package/build/enums/index.js +0 -23
  34. package/build/enums/index.js.map +0 -1
  35. package/build/enums/privacyRegime.d.ts +0 -25
  36. package/build/enums/privacyRegime.d.ts.map +0 -1
  37. package/build/enums/privacyRegime.js +0 -29
  38. package/build/enums/privacyRegime.js.map +0 -1
  39. package/build/enums/purpose.d.ts +0 -88
  40. package/build/enums/purpose.d.ts.map +0 -1
  41. package/build/enums/purpose.js +0 -62
  42. package/build/enums/purpose.js.map +0 -1
  43. package/build/enums/viewState.d.ts +0 -197
  44. package/build/enums/viewState.d.ts.map +0 -1
  45. package/build/enums/viewState.js +0 -98
  46. package/build/enums/viewState.js.map +0 -1
  47. package/build/experience.d.ts +0 -63
  48. package/build/experience.d.ts.map +0 -1
  49. package/build/experience.js +0 -136
  50. package/build/experience.js.map +0 -1
  51. package/build/iab.d.ts +0 -320
  52. package/build/iab.d.ts.map +0 -1
  53. package/build/iab.js +0 -188
  54. package/build/iab.js.map +0 -1
  55. package/build/index.d.ts +0 -8
  56. package/build/index.d.ts.map +0 -1
  57. package/build/index.js +0 -24
  58. package/build/index.js.map +0 -1
  59. package/build/mobile.d.ts +0 -44
  60. package/build/mobile.d.ts.map +0 -1
  61. package/build/mobile.js +0 -46
  62. package/build/mobile.js.map +0 -1
  63. package/build/tsbuildinfo +0 -1
  64. package/build/ui.d.ts +0 -645
  65. package/build/ui.d.ts.map +0 -1
  66. package/build/ui.js +0 -159
  67. package/build/ui.js.map +0 -1
  68. package/build-esm/constants.d.ts +0 -16
  69. package/build-esm/constants.d.ts.map +0 -1
  70. package/build-esm/constants.js +0 -43
  71. package/build-esm/constants.js.map +0 -1
  72. package/build-esm/core.d.ts +0 -1083
  73. package/build-esm/core.d.ts.map +0 -1
  74. package/build-esm/core.js +0 -200
  75. package/build-esm/core.js.map +0 -1
  76. package/build-esm/enums/browserLanguage.d.ts +0 -311
  77. package/build-esm/enums/browserLanguage.d.ts.map +0 -1
  78. package/build-esm/enums/browserLanguage.js +0 -311
  79. package/build-esm/enums/browserLanguage.js.map +0 -1
  80. package/build-esm/enums/consentExpiry.d.ts +0 -14
  81. package/build-esm/enums/consentExpiry.d.ts.map +0 -1
  82. package/build-esm/enums/consentExpiry.js +0 -13
  83. package/build-esm/enums/consentExpiry.js.map +0 -1
  84. package/build-esm/enums/experience.d.ts +0 -12
  85. package/build-esm/enums/experience.d.ts.map +0 -1
  86. package/build-esm/enums/experience.js +0 -12
  87. package/build-esm/enums/experience.js.map +0 -1
  88. package/build-esm/enums/index.d.ts +0 -7
  89. package/build-esm/enums/index.d.ts.map +0 -1
  90. package/build-esm/enums/index.js +0 -7
  91. package/build-esm/enums/index.js.map +0 -1
  92. package/build-esm/enums/privacyRegime.d.ts +0 -25
  93. package/build-esm/enums/privacyRegime.d.ts.map +0 -1
  94. package/build-esm/enums/privacyRegime.js +0 -26
  95. package/build-esm/enums/privacyRegime.js.map +0 -1
  96. package/build-esm/enums/purpose.d.ts +0 -88
  97. package/build-esm/enums/purpose.d.ts.map +0 -1
  98. package/build-esm/enums/purpose.js +0 -59
  99. package/build-esm/enums/purpose.js.map +0 -1
  100. package/build-esm/enums/viewState.d.ts +0 -197
  101. package/build-esm/enums/viewState.d.ts.map +0 -1
  102. package/build-esm/enums/viewState.js +0 -95
  103. package/build-esm/enums/viewState.js.map +0 -1
  104. package/build-esm/experience.d.ts +0 -63
  105. package/build-esm/experience.d.ts.map +0 -1
  106. package/build-esm/experience.js +0 -132
  107. package/build-esm/experience.js.map +0 -1
  108. package/build-esm/iab.d.ts +0 -320
  109. package/build-esm/iab.d.ts.map +0 -1
  110. package/build-esm/iab.js +0 -162
  111. package/build-esm/iab.js.map +0 -1
  112. package/build-esm/index.d.ts +0 -8
  113. package/build-esm/index.d.ts.map +0 -1
  114. package/build-esm/index.js +0 -8
  115. package/build-esm/index.js.map +0 -1
  116. package/build-esm/mobile.d.ts +0 -44
  117. package/build-esm/mobile.d.ts.map +0 -1
  118. package/build-esm/mobile.js +0 -20
  119. package/build-esm/mobile.js.map +0 -1
  120. package/build-esm/ui.d.ts +0 -645
  121. package/build-esm/ui.d.ts.map +0 -1
  122. package/build-esm/ui.js +0 -133
  123. package/build-esm/ui.js.map +0 -1
package/dist/index.mjs ADDED
@@ -0,0 +1,1018 @@
1
+ import { FixedLengthArray, applyEnum, makeEnum, valuesOf } from "@transcend-io/type-utils";
2
+ import * as t from "io-ts";
3
+ import "@transcend-io/privacy-types";
4
+ //#region src/enums/purpose.ts
5
+ /**
6
+ * The options for the type of purpose that airgap classifies requests into
7
+ */
8
+ const SpecialTrackingPurpose = makeEnum({
9
+ Unknown: "Unknown",
10
+ Essential: "Essential"
11
+ });
12
+ /**
13
+ * Possible values for the default consent that can be given to a tracking purpose
14
+ */
15
+ const DefaultConsentValue = makeEnum({
16
+ Off: "off",
17
+ Auto: "Auto"
18
+ });
19
+ /**
20
+ * Purposes that can be configured
21
+ */
22
+ const ConfigurablePurpose = makeEnum({
23
+ Advertising: "Advertising",
24
+ Analytics: "Analytics",
25
+ Functional: "Functional",
26
+ SaleOfInfo: "SaleOfInfo"
27
+ });
28
+ /**
29
+ * Purposes that can be configured
30
+ */
31
+ const KnownDefaultPurpose = makeEnum({
32
+ Essential: "Essential",
33
+ ...ConfigurablePurpose
34
+ });
35
+ /**
36
+ * Purposes used by the purpose map
37
+ */
38
+ const Purpose = makeEnum({
39
+ ...SpecialTrackingPurpose,
40
+ ...ConfigurablePurpose
41
+ });
42
+ /** User-configurable user agent privacy signal */
43
+ const UserPrivacySignalEnum = makeEnum({
44
+ GPC: "GPC",
45
+ DNT: "DNT"
46
+ });
47
+ //#endregion
48
+ //#region src/enums/privacyRegime.ts
49
+ /**
50
+ * Potentially applicable data privacy legal regimes
51
+ * NOTE: Please make sure that new entries are compatible with GraphQL Enums
52
+ */
53
+ let PrivacyRegimeEnum = /* @__PURE__ */ function(PrivacyRegimeEnum) {
54
+ /** Unable to determine any applicable regimes */
55
+ PrivacyRegimeEnum["Unknown"] = "Unknown";
56
+ /** California Privacy Rights Act (and CCPA: California Consumer Privacy Act) */
57
+ PrivacyRegimeEnum["CPRA"] = "CPRA";
58
+ /** EU General Data Protection Regulation */
59
+ PrivacyRegimeEnum["GDPR"] = "GDPR";
60
+ /** Brazil Lei Geral de Proteção de Dados (General Personal Data Protection Law) */
61
+ PrivacyRegimeEnum["LGPD"] = "LGPD";
62
+ /** Virginia Consumer Data Protection Act */
63
+ PrivacyRegimeEnum["CDPA"] = "CDPA";
64
+ /** Colorado Privacy Act */
65
+ PrivacyRegimeEnum["CPA"] = "CPA";
66
+ /** Nevada Senate Bill 220 */
67
+ PrivacyRegimeEnum["NEVADA_SB220"] = "NEVADA_SB220";
68
+ /** Switzerland New Federal Act on Data Protection */
69
+ PrivacyRegimeEnum["nFADP"] = "nFADP";
70
+ /** US Do Not Sell/Share */
71
+ PrivacyRegimeEnum["US_DNSS"] = "US_DNSS";
72
+ return PrivacyRegimeEnum;
73
+ }({});
74
+ //#endregion
75
+ //#region src/enums/viewState.ts
76
+ /**
77
+ * Consent Manager view state for the Interactive Advertising Bureau
78
+ */
79
+ const IABViewState = makeEnum({ TCF_EU: "TCF_EU" });
80
+ /**
81
+ * View States for Transcend's Consent Manager UI
82
+ */
83
+ const InitialTranscendViewState = makeEnum({
84
+ QuickOptions: "QuickOptions",
85
+ QuickOptions3: "QuickOptions3",
86
+ AcceptAll: "AcceptAll",
87
+ AcceptAllRejectAllToggle: "AcceptAllRejectAllToggle",
88
+ AcceptAllOrMoreChoices: "AcceptAllOrMoreChoices",
89
+ AcceptOrRejectAll: "AcceptOrRejectAll",
90
+ AcceptOrRejectAllOrMoreChoices: "AcceptOrRejectAllOrMoreChoices",
91
+ AcceptOrRejectAnalytics: "AcceptOrRejectAnalytics",
92
+ AcceptOrRejectAdvertising: "AcceptOrRejectAdvertising",
93
+ NoticeAndDoNotSell: "NoticeAndDoNotSell",
94
+ DoNotSellExplainer: "DoNotSellExplainer",
95
+ CompleteOptionsToggles: "CompleteOptionsToggles",
96
+ PrivacyPolicyNotice: "PrivacyPolicyNotice",
97
+ PrivacyPolicyNoticeWithCloseButton: "PrivacyPolicyNoticeWithCloseButton",
98
+ CompleteOptions: "CompleteOptions",
99
+ CompleteOptionsInverted: "CompleteOptionsInverted",
100
+ Hidden: "Hidden"
101
+ });
102
+ /**
103
+ * Consent Manager view states that can be used at launch
104
+ */
105
+ const InitialViewState = makeEnum({
106
+ ...InitialTranscendViewState,
107
+ ...IABViewState
108
+ });
109
+ /**
110
+ * View states that are displayed in response to a user request (e.g. transcend.doNotSell() or )
111
+ */
112
+ const ResponseViewState = makeEnum({
113
+ DoNotSellDisclosure: "DoNotSellDisclosure",
114
+ OptOutDisclosure: "OptOutDisclosure"
115
+ });
116
+ /**
117
+ * Consent Manager view states that can be navigated to after initial view state
118
+ */
119
+ const DeepViewState = makeEnum({ LanguageOptions: "LanguageOptions" });
120
+ /**
121
+ * Consent Manager view states after it's been dismissed
122
+ */
123
+ const DismissedViewState = makeEnum({
124
+ Collapsed: "Collapsed",
125
+ Closed: "Closed"
126
+ });
127
+ /**
128
+ * All possible view states of the Consent Manager
129
+ */
130
+ const ViewState = makeEnum({
131
+ ...InitialViewState,
132
+ ...ResponseViewState,
133
+ ...DeepViewState,
134
+ ...DismissedViewState
135
+ });
136
+ //#endregion
137
+ //#region src/enums/browserLanguage.ts
138
+ const BrowserLanguage = makeEnum({
139
+ "(Afan)/Oromoor/Oriya": "om",
140
+ Abkhazian: "ab",
141
+ Afar: "aa",
142
+ Afrikaans: "af",
143
+ Akan: "ak",
144
+ Albanian: "sq",
145
+ Amharic: "am",
146
+ Arabic: "ar",
147
+ "Arabic (Algeria)": "ar-DZ",
148
+ "Arabic (Bahrain)": "ar-BH",
149
+ "Arabic (Egypt)": "ar-EG",
150
+ "Arabic (Iraq)": "ar-IQ",
151
+ "Arabic (Jordan)": "ar-JO",
152
+ "Arabic (Kuwait)": "ar-KW",
153
+ "Arabic (Lebanon)": "ar-LB",
154
+ "Arabic (Morocco)": "ar-MA",
155
+ "Arabic (Oman)": "ar-OM",
156
+ "Arabic (Qatar)": "ar-QA",
157
+ "Arabic (Saudi Arabia)": "ar-SA",
158
+ "Arabic (Syria)": "ar-SY",
159
+ "Arabic (Tunisia)": "ar-TN",
160
+ "Arabic (U.A.E.)": "ar-AE",
161
+ "Arabic (Yemen)": "ar-YE",
162
+ "Arabic (libya)": "ar-LY",
163
+ Aragonese: "an",
164
+ Armenian: "hy",
165
+ Assamese: "as",
166
+ Avaric: "av",
167
+ Avestan: "ae",
168
+ Aymara: "ay",
169
+ Azeri: "az",
170
+ Bambara: "bm",
171
+ Bashkir: "ba",
172
+ Basque: "eu",
173
+ Belarusian: "be",
174
+ Bengali: "bn",
175
+ Bhutani: "dz",
176
+ Bihari: "bh",
177
+ Bislama: "bi",
178
+ Bosnian: "bs",
179
+ Breton: "br",
180
+ "Bulgarian (Bulgaria)": "bg-BG",
181
+ Bulgarian: "bg",
182
+ Burmese: "my",
183
+ Cambodian: "km",
184
+ Catalan: "ca",
185
+ Chamorro: "ch",
186
+ Chechen: "ce",
187
+ Chinese: "zh",
188
+ "Chinese (China)": "zh-CN",
189
+ "Chinese (Hong Kong SAR)": "zh-HK",
190
+ "Chinese (Macau SAR)": "zh-MO",
191
+ "Chinese (Singapore)": "zh-SG",
192
+ "Chinese (Simplified)": "zh-Hans",
193
+ "Chinese (Taiwan)": "zh-TW",
194
+ Chichewa: "ny",
195
+ "Church Slavonic": "cu",
196
+ Cornish: "kw",
197
+ Corsican: "co",
198
+ Cree: "cr",
199
+ "Croatian (Bosnia and Herzegovina)": "hr-BA",
200
+ "Croatian (Croatia)": "hr-HR",
201
+ Croatian: "hr",
202
+ "Czech (Czech Republic)": "cs-CZ",
203
+ Czech: "cs",
204
+ Danish: "da",
205
+ "Danish (Denmark)": "da-DK",
206
+ Divehi: "div",
207
+ DivehiDv: "dv",
208
+ Dutch: "nl",
209
+ "Dutch (Belgium)": "nl-BE",
210
+ "Dutch (Netherlands)": "nl-NL",
211
+ English: "us",
212
+ "English (Australia)": "en-AU",
213
+ "English (Belize)": "en-BZ",
214
+ "English (Canada)": "en-CA",
215
+ "English (Caribbean)": "en-CB",
216
+ "English (Ireland)": "en-IE",
217
+ "English (Jamaica)": "en-JM",
218
+ "English (New Zealand)": "en-NZ",
219
+ "English (Philippines)": "en-PH",
220
+ "English (South Africa)": "en-ZA",
221
+ "English (Switzerland)": "en-CH",
222
+ "English (Trinidad)": "en-TT",
223
+ "English (United Kingdom)": "en-GB",
224
+ "English (United States)": "en-US",
225
+ "English (Zimbabwe)": "en-ZW",
226
+ Esperanto: "eo",
227
+ Estonian: "et",
228
+ "Estonian (Estonia)": "et-EE",
229
+ Ewe: "ee",
230
+ Faeroese: "fo",
231
+ Farsi: "fa",
232
+ Fiji: "fj",
233
+ Finnish: "fi",
234
+ "Finnish (Finland)": "fi-FI",
235
+ French: "fr",
236
+ "French (Belgium)": "fr-BE",
237
+ "French (Canada)": "fr-CA",
238
+ "French (France)": "fr-FR",
239
+ "French (Luxembourg)": "fr-LU",
240
+ "French (Monaco)": "fr-MC",
241
+ "French (Switzerland)": "fr-CH",
242
+ Frisian: "fy",
243
+ "FYRO Macedonian": "mk",
244
+ Gaelic: "gd",
245
+ Galician: "gl",
246
+ Ganda: "lg",
247
+ Georgian: "ka",
248
+ German: "de",
249
+ "German (Austria)": "de-AT",
250
+ "German (Germany)": "de-DE",
251
+ "German (Liechtenstein)": "de-LI",
252
+ "German (Luxembourg)": "de-LU",
253
+ "German (Switzerland)": "de-CH",
254
+ Greek: "el",
255
+ "Greek (Greece)": "el-GR",
256
+ Greenlandic: "kl",
257
+ Guarani: "gn",
258
+ Gujarati: "gu",
259
+ Haitian: "ht",
260
+ Hausa: "ha",
261
+ Hebrew: "iw",
262
+ "Hebrew (Israel)": "he-IL",
263
+ "Hebrew (Modern)": "he",
264
+ Herero: "hz",
265
+ Hindi: "hi",
266
+ "Hiri Motu": "ho",
267
+ Hungarian: "hu",
268
+ "Hungarian (Hungary)": "hu-HU",
269
+ Icelandic: "is",
270
+ "Icelandic (Iceland)": "is-IS",
271
+ Igbo: "ig",
272
+ Ido: "io",
273
+ Indonesian: "in",
274
+ "Indonesian (Modern)": "id",
275
+ Interlingua: "ia",
276
+ Interlingue: "ie",
277
+ Inuktitut: "iu",
278
+ Inupiak: "ik",
279
+ Irish: "ga",
280
+ "Irish (Ireland)": "ga-IE",
281
+ Italian: "it",
282
+ "Italian (Italy)": "it-IT",
283
+ "Italian (Switzerland)": "it-CH",
284
+ Japanese: "ja",
285
+ Javanese: "jw",
286
+ Kannada: "kn",
287
+ Kanuri: "kr",
288
+ Kashmiri: "ks",
289
+ Kazakh: "kk",
290
+ Kikuyu: "ki",
291
+ Kinyarwanda: "rw",
292
+ Kirghiz: "ky",
293
+ Kirundi: "rn",
294
+ Kongo: "kg",
295
+ Konkani: "kok",
296
+ Korean: "ko",
297
+ Komi: "kv",
298
+ Kuanyama: "kj",
299
+ Kurdish: "ku",
300
+ Kyrgyz: "kz",
301
+ Laothian: "lo",
302
+ Latin: "la",
303
+ Latvian: "lv",
304
+ "Latvian (Latvia)": "lv-LV",
305
+ Limburgan: "li",
306
+ Lingala: "ln",
307
+ "Lithuanian (Lithuania)": "lt-LT",
308
+ Lithuanian: "lt",
309
+ "Luba-Katanga": "lu",
310
+ Luxembourgish: "lb",
311
+ Malagasy: "mg",
312
+ Malay: "ms",
313
+ "Malay (Brunei Darussalam)": "ms-BN",
314
+ "Malay (Malaysia)": "ms-MY",
315
+ Malayalam: "ml",
316
+ Maltese: "mt",
317
+ "Maltese (Malta)": "mt-MT",
318
+ Manx: "gv",
319
+ Maori: "mi",
320
+ Marathi: "mr",
321
+ Marshallese: "mh",
322
+ Moldavian: "mo",
323
+ Mongolian: "mn",
324
+ Nauru: "na",
325
+ Navajo: "nv",
326
+ Ndonga: "ng",
327
+ "Nepali (India)": "ne",
328
+ "North Ndebele": "nd",
329
+ "Northern Sotho": "ns",
330
+ Norwegian: "no",
331
+ "Norwegian (Norway)": "no-NO",
332
+ "Norwegian Bokmål": "nb",
333
+ "Norwegian Bokmål (Norway)": "nb-NO",
334
+ "Norwegian Nynorsk": "nn",
335
+ "Norwegian Nynorsk (Norway)": "nn-NO",
336
+ "South Ndebele": "nr",
337
+ Occitan: "oc",
338
+ Ojibwa: "oj",
339
+ Oriya: "or",
340
+ Ossetian: "os",
341
+ Pali: "pi",
342
+ "Pashto/Pushto": "ps",
343
+ Polish: "pl",
344
+ "Polish (Poland)": "pl-PL",
345
+ Portuguese: "pt",
346
+ "Portuguese (Brazil)": "pt-BR",
347
+ "Portuguese (Portugal)": "pt-PT",
348
+ "Portuguese (Switzerland)": "pt-CH",
349
+ Punjabi: "pa",
350
+ Quechua: "qu",
351
+ "Quechua (Bolivia)": "qu-BO",
352
+ "Quechua (Ecuador)": "qu-EC",
353
+ "Quechua (Peru)": "qu-PE",
354
+ "Rhaeto-Romanic": "rm",
355
+ Romanian: "ro",
356
+ "Romanian (Moldova)": "ro-MD",
357
+ "Romanian (Romania)": "ro-RO",
358
+ Russian: "ru",
359
+ "Russian (Moldova)": "ru-MD",
360
+ Sami: "se",
361
+ "Sami (Finland)": "se-FI",
362
+ "Sami (Norway)": "se-NO",
363
+ "Sami (Sweden)": "se-SE",
364
+ Samoan: "sm",
365
+ Sango: "sg",
366
+ Sanskrit: "sa",
367
+ Sardinian: "sc",
368
+ Serbian: "sr",
369
+ "Serbian (Bosnia and Herzegovina)": "sr-BA",
370
+ "Serbian (Serbia and Montenegro)": "sr-SP",
371
+ "Serbo-Croatian": "sh",
372
+ Sesotho: "st",
373
+ Shona: "sn",
374
+ "Sichuan Yi": "ii",
375
+ Sindhi: "sd",
376
+ Singhalese: "si",
377
+ Siswati: "ss",
378
+ Slovak: "sk",
379
+ "Slovak (Slovakia)": "sk-SK",
380
+ Slovenian: "sl",
381
+ "Slovenian (Slovenia)": "sl-SI",
382
+ Somali: "so",
383
+ Sorbian: "sb",
384
+ Spanish: "es",
385
+ "Spanish (Argentina)": "es-AR",
386
+ "Spanish (Bolivia)": "es-BO",
387
+ "Spanish (Chile)": "es-CL",
388
+ "Spanish (Colombia)": "es-CO",
389
+ "Spanish (Costa Rica)": "es-CR",
390
+ "Spanish (Dominican Republic)": "es-DO",
391
+ "Spanish (Ecuador)": "es-EC",
392
+ "Spanish (El Salvador)": "es-SV",
393
+ "Spanish (España)": "es-ES",
394
+ "Spanish (Guatemala)": "es-GT",
395
+ "Spanish (Honduras)": "es-HN",
396
+ "Spanish (Mexico)": "es-MX",
397
+ "Spanish (Nicaragua)": "es-NI",
398
+ "Spanish (Panama)": "es-PA",
399
+ "Spanish (Paraguay)": "es-PY",
400
+ "Spanish (Peru)": "es-PE",
401
+ "Spanish (Puerto Rico)": "es-PR",
402
+ "Spanish (United States)": "es-US",
403
+ "Spanish (Uruguay)": "es-UY",
404
+ "Spanish (Venezuela)": "es-VE",
405
+ Sundanese: "su",
406
+ Sutu: "sx",
407
+ Swahili: "sw",
408
+ Swedish: "sv",
409
+ "Swedish (Finland)": "sv-FI",
410
+ "Swedish (Sweden)": "sv-SE",
411
+ "Swiss German": "gsw",
412
+ "Swiss German (Liechtenstein)": "gsw-LI",
413
+ "Swiss German (Switzerland)": "gsw-CH",
414
+ Syriac: "syr",
415
+ Tagalog: "tl",
416
+ Tahitian: "ty",
417
+ Tajik: "tg",
418
+ Tamil: "ta",
419
+ Tatar: "tt",
420
+ Telugu: "te",
421
+ Thai: "th",
422
+ Tibetan: "bo",
423
+ Tigrinya: "ti",
424
+ Tonga: "to",
425
+ Tsonga: "ts",
426
+ Tswana: "tn",
427
+ Turkish: "tr",
428
+ Turkmen: "tk",
429
+ Twi: "tw",
430
+ Uighur: "ug",
431
+ Ukrainian: "uk",
432
+ Urdu: "ur",
433
+ Uzbek: "uz",
434
+ Venda: "ve",
435
+ Vietnamese: "vi",
436
+ Volapuk: "vo",
437
+ Walloon: "wa",
438
+ Welsh: "cy",
439
+ Wolof: "wo",
440
+ Xhosa: "xh",
441
+ Yiddish: "yi",
442
+ Yoruba: "yo",
443
+ Zhuang: "za",
444
+ Zulu: "zu"
445
+ });
446
+ //#endregion
447
+ //#region src/enums/experience.ts
448
+ /**
449
+ * Describes whether listed countries/country subdivisions are included in an experience
450
+ */
451
+ const RegionsOperator = makeEnum({
452
+ In: "IN",
453
+ NotIn: "NOT_IN"
454
+ });
455
+ //#endregion
456
+ //#region src/enums/consentExpiry.ts
457
+ /**
458
+ * Enum of options available for behavior to exhibit when the user's consent has expired
459
+ */
460
+ const OnConsentExpiry = makeEnum({
461
+ Prompt: "Prompt",
462
+ ResetAll: "ResetAll",
463
+ ResetOptIns: "ResetOptIns"
464
+ });
465
+ //#endregion
466
+ //#region src/core.ts
467
+ /** Console-safe log levels */
468
+ const ConsoleSafeLogLevel = t.keyof({
469
+ info: null,
470
+ log: null,
471
+ warn: null,
472
+ debug: null,
473
+ error: null,
474
+ trace: null,
475
+ group: null,
476
+ groupCollapsed: null,
477
+ groupEnd: null
478
+ });
479
+ /** Airgap log levels */
480
+ const LogLevel = t.union([ConsoleSafeLogLevel, t.literal("fatal")]);
481
+ /** A boolean value represented as either `'on'` or `'off'` */
482
+ const BooleanString = t.keyof({
483
+ on: null,
484
+ off: null
485
+ });
486
+ /** Special `defaultConsent` automatic opt-out value for any potential reason */
487
+ const AutoOptOut = t.literal("Auto");
488
+ /** Special `defaultConsent` automatic opt-out value for GDPR-protected users */
489
+ const AutoOptOutForGDPR = t.literal("AutoGDPR");
490
+ /**
491
+ * Special `defaultConsent` automatic opt-out value for users with DNT enabled.
492
+ * Note that DNT is enabled by default for some browsers.
493
+ */
494
+ const AutoOptOutForDNT = t.literal("AutoDNT");
495
+ /**
496
+ * Special `defaultConsent` automatic opt-out value for users with GPC enabled.
497
+ */
498
+ const AutoOptOutForGPC = t.literal("AutoGPC");
499
+ /** Potential values for `defaultConsent` config token list */
500
+ const DefaultConsentConfigValue = t.union([
501
+ t.boolean,
502
+ AutoOptOut,
503
+ AutoOptOutForGDPR,
504
+ AutoOptOutForDNT,
505
+ AutoOptOutForGPC,
506
+ BooleanString
507
+ ]);
508
+ /** User-configurable user agent privacy signal */
509
+ const UserPrivacySignal = t.union([t.literal("GPC"), t.literal("DNT")]);
510
+ /** Tracking purpose metadata */
511
+ const TrackingPurposeDetails = t.intersection([t.type({
512
+ name: t.string,
513
+ description: t.string,
514
+ defaultConsent: DefaultConsentConfigValue,
515
+ showInConsentManager: t.boolean,
516
+ configurable: t.boolean,
517
+ essential: t.boolean
518
+ }), t.partial({
519
+ trackingType: t.string,
520
+ optOutSignals: t.array(UserPrivacySignal)
521
+ })]);
522
+ /** Tracking purposes types configuration */
523
+ const TrackingPurposesTypes = t.record(t.string, TrackingPurposeDetails);
524
+ /** Fully-resolved `defaultConsent` config */
525
+ const DefaultConsentConfig = t.record(t.string, DefaultConsentConfigValue);
526
+ /** Tracking purposes configuration */
527
+ const TrackingPurposesConfig = t.intersection([t.type({
528
+ useDefault: t.boolean,
529
+ types: TrackingPurposesTypes
530
+ }), t.partial({ defaultConsent: t.union([DefaultConsentConfigValue, DefaultConsentConfig]) })]);
531
+ const TrackingConsent = t.intersection([t.partial({
532
+ Essential: t.literal(true),
533
+ Unknown: t.literal(false)
534
+ }), t.record(t.string, t.union([
535
+ t.boolean,
536
+ t.string,
537
+ t.undefined
538
+ ]))]);
539
+ const TrackingConsentWithNulls = t.record(t.string, t.union([
540
+ t.boolean,
541
+ t.undefined,
542
+ t.null
543
+ ]));
544
+ const TCFReservedMetadata = t.partial({ tcString: t.string });
545
+ const ReservedMetadataCodec = t.partial({ tcmp: t.partial({ tcf: TCFReservedMetadata }) });
546
+ const CoreTrackingConsentDetails = t.intersection([t.type({
547
+ confirmed: t.boolean,
548
+ timestamp: t.string
549
+ }), t.partial({
550
+ updated: t.boolean,
551
+ prompted: t.boolean,
552
+ metadata: t.intersection([ReservedMetadataCodec, t.UnknownRecord]),
553
+ metadataTimestamp: t.string
554
+ })]);
555
+ const TrackingConsentDetails = t.intersection([CoreTrackingConsentDetails, t.type({ purposes: TrackingConsent })]);
556
+ const TrackingConsentOptionalData = t.partial({
557
+ tcf: t.string,
558
+ usp: t.string,
559
+ gpp: t.string,
560
+ viewState: valuesOf(ViewState),
561
+ airgapVersion: t.string
562
+ });
563
+ const FullTrackingConsentDetails = t.intersection([TrackingConsentDetails, TrackingConsentOptionalData]);
564
+ const FullTrackingConsentDetailsWithNulls = t.intersection([
565
+ CoreTrackingConsentDetails,
566
+ TrackingConsentOptionalData,
567
+ t.type({ purposes: TrackingConsentWithNulls })
568
+ ]);
569
+ const ConsentPreferencesBody = t.type({
570
+ token: t.string,
571
+ partition: t.string,
572
+ consent: TrackingConsentDetails
573
+ });
574
+ const ConsentTokenPayload = t.intersection([t.type({ encryptedIdentifier: t.string }), t.partial({ deprecatedEncryptedIdentifiers: t.array(t.string) })]);
575
+ /** Tracking purpose */
576
+ const TrackingPurpose = t.union([t.keyof(SpecialTrackingPurpose), t.string]);
577
+ /** Tracking consent change diffs */
578
+ const ConsentChange = t.record(TrackingPurpose, t.boolean);
579
+ /** Regime purpose scopes configuration */
580
+ const RegimePurposeScopesConfig = t.array(FixedLengthArray(2, 2, t.array(t.string)));
581
+ //#endregion
582
+ //#region src/iab.ts
583
+ /**
584
+ * TCF purpose configuration
585
+ */
586
+ const TcfPurpose = t.type({
587
+ id: t.number,
588
+ name: t.string,
589
+ description: t.string,
590
+ descriptionLegal: t.string
591
+ });
592
+ /**
593
+ * TCF stack configuration
594
+ */
595
+ const TcfStack = t.type({
596
+ id: t.number,
597
+ purposes: t.array(t.number),
598
+ specialFeatures: t.array(t.number),
599
+ name: t.string,
600
+ description: t.string
601
+ });
602
+ /**
603
+ * TCF stack configuration
604
+ */
605
+ const TcfVendor = t.intersection([t.type({
606
+ id: t.number,
607
+ name: t.string,
608
+ purposes: t.array(t.number),
609
+ legIntPurposes: t.array(t.number),
610
+ flexiblePurposes: t.array(t.number),
611
+ specialPurposes: t.array(t.number),
612
+ features: t.array(t.number),
613
+ specialFeatures: t.array(t.number),
614
+ policyUrl: t.string,
615
+ cookieMaxAgeSeconds: t.union([t.number, t.null]),
616
+ usesCookies: t.boolean
617
+ }), t.partial({
618
+ deletedDate: t.string,
619
+ overflow: t.type({ httpGetLimit: t.number }),
620
+ cookieRefresh: t.boolean,
621
+ usesNonCookieAccess: t.boolean,
622
+ deviceStorageDisclosureUrl: t.string
623
+ })]);
624
+ const TcfVendorListVersion = t.type({
625
+ gvlSpecificationVersion: t.number,
626
+ vendorListVersion: t.number,
627
+ tcfPolicyVersion: t.number,
628
+ lastUpdated: t.string
629
+ });
630
+ /**
631
+ * TCF global vendor list version 2
632
+ */
633
+ const TcfV2VendorList = t.intersection([TcfVendorListVersion, t.type({
634
+ purposes: t.record(t.string, TcfPurpose),
635
+ specialPurposes: t.record(t.string, TcfPurpose),
636
+ features: t.record(t.string, TcfPurpose),
637
+ specialFeatures: t.record(t.string, TcfPurpose),
638
+ stacks: t.record(t.string, TcfStack),
639
+ vendors: t.record(t.string, TcfVendor)
640
+ })]);
641
+ /**
642
+ * TCF GVL v3 purpose configuration (TCF features share the same type)
643
+ */
644
+ const TcfGvlV3Purpose = t.type({
645
+ id: t.number,
646
+ name: t.string,
647
+ description: t.string,
648
+ illustrations: t.array(t.string)
649
+ });
650
+ /**
651
+ * TCF GVL v3 data categories configuration
652
+ */
653
+ const TcfGvlV3DataCategory = t.type({
654
+ id: t.number,
655
+ name: t.string,
656
+ description: t.string
657
+ });
658
+ /**
659
+ * TCF GVL v3 URL configuration
660
+ */
661
+ const TcfGvlV3Url = t.intersection([t.type({
662
+ langId: t.string,
663
+ privacy: t.string
664
+ }), t.partial({ legIntClaim: t.string })]);
665
+ /**
666
+ * TCF GVL v3 data retention configuration
667
+ */
668
+ const TcfGvlV3DataRetention = t.intersection([t.type({
669
+ purposes: t.record(t.string, t.number),
670
+ specialPurposes: t.record(t.string, t.number)
671
+ }), t.partial({ stdRetention: t.union([t.number, t.null]) })]);
672
+ /**
673
+ * TCF GVL v3 vendor configuration
674
+ */
675
+ const TcfGvlV3Vendor = t.intersection([t.type({
676
+ id: t.number,
677
+ name: t.string,
678
+ purposes: t.array(t.number),
679
+ legIntPurposes: t.array(t.number),
680
+ flexiblePurposes: t.array(t.number),
681
+ specialPurposes: t.array(t.number),
682
+ features: t.array(t.number),
683
+ specialFeatures: t.array(t.number),
684
+ cookieMaxAgeSeconds: t.union([t.number, t.null]),
685
+ usesCookies: t.boolean,
686
+ cookieRefresh: t.boolean,
687
+ usesNonCookieAccess: t.boolean,
688
+ dataRetention: TcfGvlV3DataRetention,
689
+ urls: t.array(TcfGvlV3Url),
690
+ deviceStorageDisclosureUrl: t.string
691
+ }), t.partial({
692
+ deletedDate: t.string,
693
+ overflow: t.type({ httpGetLimit: t.number }),
694
+ dataDeclaration: t.array(t.number)
695
+ })]);
696
+ /**
697
+ * TCF global vendor list version 3
698
+ */
699
+ const TcfV3VendorList = t.intersection([TcfVendorListVersion, t.type({
700
+ purposes: t.record(t.string, TcfGvlV3Purpose),
701
+ specialPurposes: t.record(t.string, TcfGvlV3Purpose),
702
+ features: t.record(t.string, TcfGvlV3Purpose),
703
+ specialFeatures: t.record(t.string, TcfGvlV3Purpose),
704
+ stacks: t.record(t.string, TcfStack),
705
+ dataCategories: t.record(t.string, TcfGvlV3DataCategory),
706
+ vendors: t.record(t.string, TcfGvlV3Vendor)
707
+ })]);
708
+ const NonTcfVendor = t.intersection([t.type({
709
+ name: t.string,
710
+ purposes: t.array(t.string)
711
+ }), t.partial({
712
+ description: t.string,
713
+ privacyPolicyUrl: t.string
714
+ })]);
715
+ //#endregion
716
+ //#region src/ui.ts
717
+ /**
718
+ * Customer theming
719
+ */
720
+ const ConsentManagerTheme = t.type({
721
+ primaryColor: t.string,
722
+ fontColor: t.string
723
+ });
724
+ /**
725
+ * Mobile-first responsive breakpoints
726
+ * No media query for mobile, which is the default
727
+ */
728
+ const ConsentManagerBreakpoints = t.type({
729
+ tablet: t.string,
730
+ desktop: t.string
731
+ });
732
+ /**
733
+ * TODO: https://transcend.height.app/T-19149 - remove
734
+ * @deprecated
735
+ */
736
+ const PrivacyRegimeToInitialViewStateInput = t.partial(applyEnum(PrivacyRegimeEnum, () => valuesOf(InitialTranscendViewState)));
737
+ /**
738
+ * TODO: https://transcend.height.app/T-19149 - remove
739
+ * @deprecated
740
+ */
741
+ const PrivacyRegimeToInitialViewState = t.record(valuesOf(PrivacyRegimeEnum), valuesOf(InitialTranscendViewState));
742
+ const ExperienceToInitialViewState = t.record(t.string, valuesOf(InitialViewState));
743
+ const RequiredConsentManagerConfig = t.type({
744
+ theme: ConsentManagerTheme,
745
+ breakpoints: ConsentManagerBreakpoints,
746
+ privacyPolicy: t.string,
747
+ secondaryPolicy: t.string,
748
+ css: t.string,
749
+ messages: t.string,
750
+ initialViewStateByPrivacyRegime: ExperienceToInitialViewState,
751
+ dismissedViewState: valuesOf(DismissedViewState)
752
+ });
753
+ const OptionalConsentManagerConfig = t.partial({
754
+ languages: t.string,
755
+ uiZIndex: t.string,
756
+ uiShadowRoot: t.string,
757
+ autofocus: BooleanString
758
+ });
759
+ /** Consent manager UI configuration */
760
+ const ConsentManagerConfig = t.intersection([RequiredConsentManagerConfig, OptionalConsentManagerConfig]);
761
+ /** Input for Consent manager UI configuration */
762
+ const ConsentManagerConfigInput = t.partial({
763
+ ...OptionalConsentManagerConfig.props,
764
+ ...RequiredConsentManagerConfig.props
765
+ });
766
+ const TCFConfig = t.type({
767
+ vendorList: t.string,
768
+ css: t.string,
769
+ messages: t.string
770
+ });
771
+ /** Configuration that are passed directly to the TCF module, not via airgap.j */
772
+ const TCFBundledDataConfig = t.partial({
773
+ purposeMap: t.array(t.tuple([t.number, t.array(t.string)])),
774
+ restrictLegitimateInterestPurposes: t.array(t.number),
775
+ nonTcfVendors: t.array(NonTcfVendor),
776
+ languages: t.string,
777
+ locale: t.string,
778
+ enableAdvertiserConsentMode: t.boolean
779
+ });
780
+ /** Input for Consent manager UI configuration */
781
+ const TCFConfigInput = t.partial(TCFConfig.props);
782
+ const DEFAULT_VIEW_STATE_BY_PRIVACY_REGIME = {
783
+ GDPR: InitialViewState.QuickOptions,
784
+ LGPD: InitialViewState.QuickOptions,
785
+ nFADP: InitialViewState.QuickOptions,
786
+ CPRA: InitialViewState.Hidden,
787
+ CDPA: InitialViewState.Hidden,
788
+ CPA: InitialViewState.Hidden,
789
+ NEVADA_SB220: InitialViewState.Hidden,
790
+ Unknown: InitialViewState.Hidden,
791
+ US_DNSS: InitialViewState.Hidden
792
+ };
793
+ //#endregion
794
+ //#region src/constants.ts
795
+ const UNKNOWN_DEFAULT_EXPERIENCE = "Unknown";
796
+ const GDPR_PURPOSES = [[
797
+ "GDPR",
798
+ "LGPD",
799
+ "nFADP"
800
+ ], [
801
+ "Advertising",
802
+ "Analytics",
803
+ "Functional"
804
+ ]];
805
+ const DEFAULT_REGIME_TRACKING_PURPOSE_SCOPES = [
806
+ GDPR_PURPOSES,
807
+ [[
808
+ "CPRA",
809
+ "CDPA",
810
+ "CPA",
811
+ "NEVADA_SB220",
812
+ "US_DNSS"
813
+ ], ["SaleOfInfo"]],
814
+ [[UNKNOWN_DEFAULT_EXPERIENCE], []]
815
+ ];
816
+ const DEFAULT_REGIME_PURPOSE_OPT_OUTS = [GDPR_PURPOSES];
817
+ const DEFAULT_EXPERIENCE_PURPOSE_OPT_OUTS = Object.fromEntries(DEFAULT_REGIME_PURPOSE_OPT_OUTS.map(([regimes, purposes]) => regimes.map((regime) => [regime, purposes])).flat());
818
+ const DEFAULT_EXPERIENCE_PURPOSE_SCOPES = Object.fromEntries(DEFAULT_REGIME_TRACKING_PURPOSE_SCOPES.map(([regimes, purposes]) => regimes.map((regime) => [regime, purposes])).flat());
819
+ const REGIME_TIMEZONES = {};
820
+ const REGIME_DISPLAY_PRIORITY = {
821
+ GDPR: 10,
822
+ Unknown: 100
823
+ };
824
+ /**
825
+ * These TCF Purposes cannot be allowed to process under legitimate interest legal basis
826
+ * Source:
827
+ * https://iabeurope.eu/iab-europe-transparency-consent-framework-policies/#:~:text=Appendix%20A:%20Definitions%20Of%20Purposes,%20Features%20And%20Categories%20Of%20Data
828
+ */
829
+ const DEFAULT_RESTRICT_LEGIT_INTEREST_PROCESSING = [
830
+ 1,
831
+ 3,
832
+ 4,
833
+ 5,
834
+ 6
835
+ ];
836
+ //#endregion
837
+ //#region src/experience.ts
838
+ const REGIME_REGIONS = {
839
+ CPRA: [{
840
+ country: "US",
841
+ countrySubDivision: "US-CA"
842
+ }],
843
+ GDPR: [
844
+ { country: "EU" },
845
+ { country: "GB" },
846
+ { country: "NO" },
847
+ { country: "IS" },
848
+ { country: "LI" }
849
+ ],
850
+ LGPD: [{ country: "BR" }],
851
+ CDPA: [{
852
+ country: "US",
853
+ countrySubDivision: "US-VA"
854
+ }],
855
+ CPA: [{
856
+ country: "US",
857
+ countrySubDivision: "US-CO"
858
+ }],
859
+ UCPA: [{
860
+ country: "US",
861
+ countrySubDivision: "US-UT"
862
+ }],
863
+ NEVADA_SB220: [{
864
+ country: "US",
865
+ countrySubDivision: "US-NV"
866
+ }],
867
+ nFADP: [{ country: "CH" }],
868
+ US_DNSS: [
869
+ {
870
+ country: "US",
871
+ countrySubDivision: "US-CA"
872
+ },
873
+ {
874
+ country: "US",
875
+ countrySubDivision: "US-VA"
876
+ },
877
+ {
878
+ country: "US",
879
+ countrySubDivision: "US-CO"
880
+ },
881
+ {
882
+ country: "US",
883
+ countrySubDivision: "US-NV"
884
+ },
885
+ {
886
+ country: "US",
887
+ countrySubDivision: "US-TX"
888
+ },
889
+ {
890
+ country: "US",
891
+ countrySubDivision: "US-CT"
892
+ },
893
+ {
894
+ country: "US",
895
+ countrySubDivision: "US-OR"
896
+ },
897
+ {
898
+ country: "US",
899
+ countrySubDivision: "US-MT"
900
+ },
901
+ {
902
+ country: "US",
903
+ countrySubDivision: "US-UT"
904
+ },
905
+ {
906
+ country: "US",
907
+ countrySubDivision: "US-IA"
908
+ },
909
+ {
910
+ country: "US",
911
+ countrySubDivision: "US-DE"
912
+ },
913
+ {
914
+ country: "US",
915
+ countrySubDivision: "US-NH"
916
+ },
917
+ {
918
+ country: "US",
919
+ countrySubDivision: "US-NE"
920
+ },
921
+ {
922
+ country: "US",
923
+ countrySubDivision: "US-NJ"
924
+ }
925
+ ]
926
+ };
927
+ const REGIME_LANGUAGES = {
928
+ GDPR: [
929
+ BrowserLanguage["Bulgarian (Bulgaria)"],
930
+ BrowserLanguage["Croatian (Croatia)"],
931
+ BrowserLanguage["Czech (Czech Republic)"],
932
+ BrowserLanguage["Danish (Denmark)"],
933
+ BrowserLanguage["Dutch (Belgium)"],
934
+ BrowserLanguage["Dutch (Netherlands)"],
935
+ BrowserLanguage["English (Ireland)"],
936
+ BrowserLanguage["Estonian (Estonia)"],
937
+ BrowserLanguage["Finnish (Finland)"],
938
+ BrowserLanguage["French (Belgium)"],
939
+ BrowserLanguage["French (France)"],
940
+ BrowserLanguage["French (Luxembourg)"],
941
+ BrowserLanguage["German (Austria)"],
942
+ BrowserLanguage["German (Germany)"],
943
+ BrowserLanguage["German (Liechtenstein)"],
944
+ BrowserLanguage["German (Luxembourg)"],
945
+ BrowserLanguage["Greek (Greece)"],
946
+ BrowserLanguage["Hungarian (Hungary)"],
947
+ BrowserLanguage["Icelandic (Iceland)"],
948
+ BrowserLanguage["Irish (Ireland)"],
949
+ BrowserLanguage["Italian (Italy)"],
950
+ BrowserLanguage["Latvian (Latvia)"],
951
+ BrowserLanguage["Lithuanian (Lithuania)"],
952
+ BrowserLanguage["Maltese (Malta)"],
953
+ BrowserLanguage["Norwegian (Norway)"],
954
+ BrowserLanguage["Norwegian Bokmål (Norway)"],
955
+ BrowserLanguage["Norwegian Nynorsk (Norway)"],
956
+ BrowserLanguage["Polish (Poland)"],
957
+ BrowserLanguage["Portuguese (Portugal)"],
958
+ BrowserLanguage["Romanian (Romania)"],
959
+ BrowserLanguage["Slovak (Slovakia)"],
960
+ BrowserLanguage["Slovenian (Slovenia)"],
961
+ BrowserLanguage["Spanish (España)"],
962
+ BrowserLanguage["Swedish (Finland)"],
963
+ BrowserLanguage["Swedish (Finland)"],
964
+ BrowserLanguage["Swedish (Sweden)"]
965
+ ],
966
+ LGPD: [BrowserLanguage["Portuguese (Brazil)"]],
967
+ nFADP: [
968
+ BrowserLanguage["German (Switzerland)"],
969
+ BrowserLanguage["French (Switzerland)"],
970
+ BrowserLanguage["Italian (Switzerland)"],
971
+ BrowserLanguage["English (Switzerland)"],
972
+ BrowserLanguage["Portuguese (Switzerland)"],
973
+ BrowserLanguage["Swiss German (Switzerland)"]
974
+ ]
975
+ };
976
+ const REGIME_CONSENT_EXPIRY = { GDPR: 12 };
977
+ const REGIME_ON_CONSENT_EXPIRY = { GDPR: OnConsentExpiry.ResetOptIns };
978
+ /**
979
+ * construct default experience for regime
980
+ * @param regime - regime
981
+ * @returns ExperienceInput
982
+ */
983
+ function defaultExperience(regime) {
984
+ const isUnknown = regime === "Unknown";
985
+ const regimeEnum = PrivacyRegimeEnum[regime];
986
+ return {
987
+ name: regime,
988
+ displayName: regime,
989
+ regions: REGIME_REGIONS[regime] ?? [],
990
+ operator: isUnknown ? RegionsOperator.NotIn : RegionsOperator.In,
991
+ displayPriority: REGIME_DISPLAY_PRIORITY[regime] ?? 20,
992
+ viewState: DEFAULT_VIEW_STATE_BY_PRIVACY_REGIME[regimeEnum] ?? InitialViewState.Hidden,
993
+ browserLanguages: REGIME_LANGUAGES[regime] ?? [],
994
+ browserTimeZones: REGIME_TIMEZONES[regime] ?? [],
995
+ experiencePurposeInputs: DEFAULT_EXPERIENCE_PURPOSE_SCOPES[regime].map((purpose) => ({
996
+ purpose,
997
+ defaultOptOut: DEFAULT_EXPERIENCE_PURPOSE_OPT_OUTS[regime]?.includes(purpose) ?? false
998
+ })),
999
+ consentExpiry: REGIME_CONSENT_EXPIRY[regime] ?? 0,
1000
+ onConsentExpiry: REGIME_ON_CONSENT_EXPIRY[regime] ?? OnConsentExpiry.Prompt
1001
+ };
1002
+ }
1003
+ const DEFAULT_EXPERIENCES = applyEnum(PrivacyRegimeEnum, defaultExperience);
1004
+ //#endregion
1005
+ //#region src/mobile.ts
1006
+ const ConsentSDK = t.type({
1007
+ id: t.string,
1008
+ purposes: t.array(t.string)
1009
+ });
1010
+ const ConsentService = t.intersection([t.type({ name: t.string }), t.partial({
1011
+ sdks: t.array(ConsentSDK),
1012
+ tcfId: t.number
1013
+ })]);
1014
+ const MobileConfig = t.type({ services: t.array(ConsentService) });
1015
+ //#endregion
1016
+ export { AutoOptOut, AutoOptOutForDNT, AutoOptOutForGDPR, AutoOptOutForGPC, BooleanString, BrowserLanguage, ConfigurablePurpose, ConsentChange, ConsentManagerBreakpoints, ConsentManagerConfig, ConsentManagerConfigInput, ConsentManagerTheme, ConsentPreferencesBody, ConsentSDK, ConsentService, ConsentTokenPayload, ConsoleSafeLogLevel, CoreTrackingConsentDetails, DEFAULT_EXPERIENCES, DEFAULT_EXPERIENCE_PURPOSE_OPT_OUTS, DEFAULT_EXPERIENCE_PURPOSE_SCOPES, DEFAULT_REGIME_PURPOSE_OPT_OUTS, DEFAULT_REGIME_TRACKING_PURPOSE_SCOPES, DEFAULT_RESTRICT_LEGIT_INTEREST_PROCESSING, DEFAULT_VIEW_STATE_BY_PRIVACY_REGIME, DeepViewState, DefaultConsentConfig, DefaultConsentConfigValue, DefaultConsentValue, DismissedViewState, ExperienceToInitialViewState, FullTrackingConsentDetails, FullTrackingConsentDetailsWithNulls, GDPR_PURPOSES, IABViewState, InitialTranscendViewState, InitialViewState, KnownDefaultPurpose, LogLevel, MobileConfig, NonTcfVendor, OnConsentExpiry, OptionalConsentManagerConfig, PrivacyRegimeEnum, PrivacyRegimeToInitialViewState, PrivacyRegimeToInitialViewStateInput, Purpose, REGIME_CONSENT_EXPIRY, REGIME_DISPLAY_PRIORITY, REGIME_LANGUAGES, REGIME_ON_CONSENT_EXPIRY, REGIME_REGIONS, REGIME_TIMEZONES, RegimePurposeScopesConfig, RegionsOperator, RequiredConsentManagerConfig, ResponseViewState, SpecialTrackingPurpose, TCFBundledDataConfig, TCFConfig, TCFConfigInput, TcfGvlV3DataCategory, TcfGvlV3DataRetention, TcfGvlV3Purpose, TcfGvlV3Url, TcfGvlV3Vendor, TcfPurpose, TcfStack, TcfV2VendorList, TcfV3VendorList, TcfVendor, TcfVendorListVersion, TrackingConsent, TrackingConsentDetails, TrackingConsentOptionalData, TrackingConsentWithNulls, TrackingPurpose, TrackingPurposeDetails, TrackingPurposesConfig, TrackingPurposesTypes, UNKNOWN_DEFAULT_EXPERIENCE, UserPrivacySignal, UserPrivacySignalEnum, ViewState, defaultExperience };
1017
+
1018
+ //# sourceMappingURL=index.mjs.map