@financial-times/cmp-client 3.2.0 → 3.3.0-beta.5

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 (50) hide show
  1. package/README.md +17 -2
  2. package/dist/cmp-static.js +660 -0
  3. package/dist/index.cjs +205 -2761
  4. package/dist/index.js +205 -2761
  5. package/dist/src/client.d.ts.map +1 -1
  6. package/dist/src/cmp-static.d.ts +2 -0
  7. package/dist/src/cmp-static.d.ts.map +1 -0
  8. package/dist/src/consent-ready/index.d.ts.map +1 -1
  9. package/dist/src/consent-ready/utils/__fixtures__/helpers.d.ts +27 -0
  10. package/dist/src/consent-ready/utils/__fixtures__/helpers.d.ts.map +1 -0
  11. package/dist/src/consent-ready/utils/__fixtures__/strings.d.ts +4 -8
  12. package/dist/src/consent-ready/utils/__fixtures__/strings.d.ts.map +1 -1
  13. package/dist/src/consent-ready/utils/__tests__/consent.test.d.ts +2 -0
  14. package/dist/src/consent-ready/utils/__tests__/consent.test.d.ts.map +1 -0
  15. package/dist/src/consent-ready/utils/consent.d.ts +6 -0
  16. package/dist/src/consent-ready/utils/consent.d.ts.map +1 -0
  17. package/dist/src/consent-ready/utils/get-consent-payload.d.ts +7 -7
  18. package/dist/src/consent-ready/utils/get-consent-payload.d.ts.map +1 -1
  19. package/dist/src/consent-ready/utils/get-parsed-consent.d.ts +6 -5
  20. package/dist/src/consent-ready/utils/get-parsed-consent.d.ts.map +1 -1
  21. package/dist/src/consent-ready/utils/validators.d.ts +0 -1
  22. package/dist/src/consent-ready/utils/validators.d.ts.map +1 -1
  23. package/dist/src/html/cmp-footer-link.d.ts +8 -4
  24. package/dist/src/html/cmp-footer-link.d.ts.map +1 -1
  25. package/dist/src/html/cmp-scripts.d.ts.map +1 -1
  26. package/dist/src/index.d.ts +1 -1
  27. package/dist/src/index.d.ts.map +1 -1
  28. package/dist/src/lib/constants.d.ts +33 -2
  29. package/dist/src/lib/constants.d.ts.map +1 -1
  30. package/dist/src/lib/properties.d.ts +36 -0
  31. package/dist/src/lib/properties.d.ts.map +1 -1
  32. package/dist/src/tracking/index.d.ts +1 -1
  33. package/dist/src/tracking/index.d.ts.map +1 -1
  34. package/dist/src/tracking/state.d.ts +6 -0
  35. package/dist/src/tracking/state.d.ts.map +1 -1
  36. package/dist/src/utils/__tests__/url.test.d.ts +2 -0
  37. package/dist/src/utils/__tests__/url.test.d.ts.map +1 -0
  38. package/dist/src/utils/url.d.ts +126 -0
  39. package/dist/src/utils/url.d.ts.map +1 -0
  40. package/package.json +11 -11
  41. package/typings/globals.d.ts +4 -0
  42. package/typings/types.d.ts +54 -4
  43. package/dist/src/consent-ready/utils/has-consent-changed.d.ts +0 -3
  44. package/dist/src/consent-ready/utils/has-consent-changed.d.ts.map +0 -1
  45. package/dist/src/html/__tests__/cmp-footer-links.test.d.ts +0 -2
  46. package/dist/src/html/__tests__/cmp-footer-links.test.d.ts.map +0 -1
  47. package/dist/src/lib/enableNonEssentialCookiesOption.d.ts +0 -2
  48. package/dist/src/lib/enableNonEssentialCookiesOption.d.ts.map +0 -1
  49. package/dist/src/utils/cookie.d.ts +0 -2
  50. package/dist/src/utils/cookie.d.ts.map +0 -1
@@ -16,7 +16,12 @@ export interface SPConfig {
16
16
  joinHref?: boolean;
17
17
  events?: Partial<SPLifecycleEvents>;
18
18
  authId?: string;
19
- targetingParams?: Record<string, unknown>;
19
+ _clientOptions?: {
20
+ rootDomain?: string;
21
+ privacyManagerId?: number;
22
+ manageCookiesSelector?: string;
23
+ manageCookiesLinkOverride?: string;
24
+ };
20
25
  }
21
26
 
22
27
  export type SPEventCallback = (
@@ -102,7 +107,6 @@ export type TrackingProps = {
102
107
  product?: string;
103
108
  app?: string;
104
109
  flags: FlagsObject;
105
- componentId: string;
106
110
  };
107
111
 
108
112
  export type TrackingContext = {
@@ -114,15 +118,15 @@ export type TrackingContext = {
114
118
  export type TrackingEvent = {
115
119
  detail: {
116
120
  component: {
117
- id: string;
121
+ id: number;
118
122
  name: string;
119
123
  type: string;
120
124
  subtype: string;
121
- componentContentId: string | number;
122
125
  };
123
126
  category: string;
124
127
  action: string;
125
128
  custom?: Array<Record<string, unknown>>;
129
+ url: string | null;
126
130
  };
127
131
  };
128
132
  export type SPMessageType = "gdpr" | "ccpa" | "ios14" | "custom";
@@ -133,3 +137,49 @@ export type SPPMData = {
133
137
  };
134
138
 
135
139
  export type FlagsObject = Record<string, string | boolean>;
140
+
141
+ export type SPFrameMessageEvent = {
142
+ fromPM: boolean;
143
+ actionType: number;
144
+ messageId: string;
145
+ };
146
+
147
+ /**
148
+ * @see https://github.com/InteractiveAdvertisingBureau/GDPR-Transparency-and-Consent-Framework/blob/master/TCFv2/IAB%20Tech%20Lab%20-%20CMP%20API%20v2.md#tcdata
149
+ */
150
+ export type TCData = {
151
+ tcString: string;
152
+ tcfPolicyVersion: number;
153
+ cmpId: 1000;
154
+ cmpVersion: 1000;
155
+ gdprApplies: boolean | undefined;
156
+ eventStatus: string;
157
+ cmpStatus: string;
158
+ listenerId: number | undefined;
159
+ isServiceSpecific: boolean;
160
+ useNonStandardTexts: boolean;
161
+ publisherCC: string;
162
+ purposeOneTreatment: boolean;
163
+
164
+ purpose: {
165
+ consents: Record<string, boolean>;
166
+ legitimateInterests: Record<string, boolean>;
167
+ };
168
+
169
+ vendor: {
170
+ consents: Record<string, boolean>;
171
+ legitimateInterests: Record<string, boolean>;
172
+ };
173
+
174
+ specialFeatureOptins: Record<string, boolean>;
175
+
176
+ publisher: {
177
+ consents: Record<string, boolean>;
178
+ legitimateInterests: Record<string, boolean>;
179
+ customPurpose: {
180
+ consents: Record<string, boolean>;
181
+ legitimateInterests: Record<string, boolean>;
182
+ };
183
+ restrictions: Record<string, Record<string, 0 | 1 | 2>>;
184
+ };
185
+ };
@@ -1,3 +0,0 @@
1
- import type { ParsedConsentState } from "../../../typings/types";
2
- export declare function hasConsentChanged(parsedConsent: ParsedConsentState): boolean;
3
- //# sourceMappingURL=has-consent-changed.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"has-consent-changed.d.ts","sourceRoot":"","sources":["../../../../src/consent-ready/utils/has-consent-changed.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAoBjE,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,kBAAkB,GAAG,OAAO,CAO5E"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cmp-footer-links.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cmp-footer-links.test.d.ts","sourceRoot":"","sources":["../../../../src/html/__tests__/cmp-footer-links.test.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export declare function enableNonEssentialCookiesOption(): void;
2
- //# sourceMappingURL=enableNonEssentialCookiesOption.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"enableNonEssentialCookiesOption.d.ts","sourceRoot":"","sources":["../../../src/lib/enableNonEssentialCookiesOption.ts"],"names":[],"mappings":"AACA,wBAAgB,+BAA+B,SAuB9C"}
@@ -1,2 +0,0 @@
1
- export declare function getCookie(name: string): string | undefined;
2
- //# sourceMappingURL=cookie.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cookie.d.ts","sourceRoot":"","sources":["../../../src/utils/cookie.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,sBAIrC"}