@remkoj/optimizely-one-nextjs 6.0.0-pre9 → 6.0.0-rc.3
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/AGENTS.md +130 -0
- package/README.md +5 -1
- package/dist/api/graph-info-service.js +1 -1
- package/dist/api/graph-info-service.js.map +1 -1
- package/dist/api/index.js +5 -3
- package/dist/api/index.js.map +1 -1
- package/dist/api/profile-api-service.js +4 -2
- package/dist/api/profile-api-service.js.map +1 -1
- package/dist/api/types.d.ts +2 -2
- package/dist/client-types.d.ts +94 -23
- package/dist/client-types.js +5 -1
- package/dist/client-types.js.map +1 -1
- package/dist/components/context.d.ts +223 -60
- package/dist/components/context.js +159 -67
- package/dist/components/context.js.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/optimizely-one-gadget/_notice.js +1 -0
- package/dist/components/optimizely-one-gadget/_notice.js.map +1 -1
- package/dist/components/optimizely-one-gadget/_types.d.ts +13 -13
- package/dist/components/optimizely-one-gadget/audiences-panel.js +2 -1
- package/dist/components/optimizely-one-gadget/audiences-panel.js.map +1 -1
- package/dist/components/optimizely-one-gadget/exp-panel.d.ts +1 -1
- package/dist/components/optimizely-one-gadget/exp-panel.js +1 -0
- package/dist/components/optimizely-one-gadget/exp-panel.js.map +1 -1
- package/dist/components/optimizely-one-gadget/gadget.js +25 -17
- package/dist/components/optimizely-one-gadget/gadget.js.map +1 -1
- package/dist/components/optimizely-one-gadget/goals-panel.js +1 -0
- package/dist/components/optimizely-one-gadget/goals-panel.js.map +1 -1
- package/dist/components/optimizely-one-gadget/graph-panel.js +1 -0
- package/dist/components/optimizely-one-gadget/graph-panel.js.map +1 -1
- package/dist/components/optimizely-one-gadget/interests-panel.js +1 -0
- package/dist/components/optimizely-one-gadget/interests-panel.js.map +1 -1
- package/dist/components/optimizely-one-gadget/logo.js +1 -0
- package/dist/components/optimizely-one-gadget/logo.js.map +1 -1
- package/dist/components/optimizely-one-gadget/profile-panel.js +3 -2
- package/dist/components/optimizely-one-gadget/profile-panel.js.map +1 -1
- package/dist/components/page-activator.d.ts +1 -1
- package/dist/components/page-activator.js +12 -31
- package/dist/components/page-activator.js.map +1 -1
- package/dist/components/service-filters.d.ts +46 -0
- package/dist/components/service-filters.js +56 -0
- package/dist/components/service-filters.js.map +1 -0
- package/dist/components/types.d.ts +2 -0
- package/dist/components/types.js +2 -0
- package/dist/components/types.js.map +1 -0
- package/dist/components/use-cookie.js.map +1 -1
- package/dist/components/use-local-state.d.ts +24 -0
- package/dist/components/use-local-state.js +55 -0
- package/dist/components/use-local-state.js.map +1 -0
- package/dist/components/use-test-mode.js +2 -2
- package/dist/components/use-test-mode.js.map +1 -1
- package/dist/config.d.ts +119 -0
- package/dist/config.js +101 -2
- package/dist/config.js.map +1 -1
- package/dist/env-vars.d.ts +3 -0
- package/dist/env-vars.js +3 -0
- package/dist/env-vars.js.map +1 -1
- package/dist/products/content-recs/api.js.map +1 -1
- package/dist/products/content-recs/client.d.ts +10 -3
- package/dist/products/content-recs/client.js +38 -2
- package/dist/products/content-recs/client.js.map +1 -1
- package/dist/products/content-recs/delivery.d.ts +18 -18
- package/dist/products/content-recs/delivery.js.map +1 -1
- package/dist/products/content-recs/snippet.d.ts +1 -1
- package/dist/products/content-recs/snippet.js +0 -1
- package/dist/products/content-recs/snippet.js.map +1 -1
- package/dist/{api/content-goals.d.ts → products/content-recs/webservice-goals.d.ts} +1 -1
- package/dist/{api/content-goals.js → products/content-recs/webservice-goals.js} +4 -4
- package/dist/products/content-recs/webservice-goals.js.map +1 -0
- package/dist/products/content-recs/webservice.d.ts +3 -0
- package/dist/{api/content-recs.js → products/content-recs/webservice.js} +13 -12
- package/dist/products/content-recs/webservice.js.map +1 -0
- package/dist/products/data-platform/api.d.ts +9 -9
- package/dist/products/data-platform/api.js +9 -9
- package/dist/products/data-platform/api.js.map +1 -1
- package/dist/products/data-platform/client.d.ts +11 -2
- package/dist/products/data-platform/client.js +52 -9
- package/dist/products/data-platform/client.js.map +1 -1
- package/dist/products/data-platform/index.js.map +1 -1
- package/dist/products/data-platform/snippet.d.ts +1 -1
- package/dist/products/data-platform/snippet.js +3 -4
- package/dist/products/data-platform/snippet.js.map +1 -1
- package/dist/products/feature-experimentation/provider.d.ts +7 -0
- package/dist/products/feature-experimentation/provider.js +38 -0
- package/dist/products/feature-experimentation/provider.js.map +1 -0
- package/dist/products/web-experimentation/client.d.ts +5 -2
- package/dist/products/web-experimentation/client.js +21 -7
- package/dist/products/web-experimentation/client.js.map +1 -1
- package/dist/products/web-experimentation/snippet.d.ts +1 -1
- package/dist/products/web-experimentation/snippet.js +2 -3
- package/dist/products/web-experimentation/snippet.js.map +1 -1
- package/dist/products/web-experimentation/webservice.d.ts +3 -0
- package/dist/{api/experimentation-api.js → products/web-experimentation/webservice.js} +2 -2
- package/dist/products/web-experimentation/webservice.js.map +1 -0
- package/dist/server-components/index.d.ts +3 -0
- package/dist/server-components/index.js +3 -0
- package/dist/server-components/index.js.map +1 -1
- package/dist/{components/optimizely-one-gadget/index.d.ts → server-components/optimizely-one-gadget.d.ts} +2 -2
- package/dist/{components/optimizely-one-gadget/index.js → server-components/optimizely-one-gadget.js} +4 -5
- package/dist/server-components/optimizely-one-gadget.js.map +1 -0
- package/dist/server-components/optimizely-one.d.ts +219 -0
- package/dist/server-components/optimizely-one.js +112 -0
- package/dist/server-components/optimizely-one.js.map +1 -0
- package/dist/server-components/scripts/footer.d.ts +1 -1
- package/dist/server-components/scripts/footer.js.map +1 -1
- package/dist/server-components/scripts/header.d.ts +29 -29
- package/dist/server-components/scripts/header.js.map +1 -1
- package/dist/server-components/scripts/index.d.ts +6 -6
- package/dist/server-components/scripts/index.js +6 -6
- package/dist/server-components/scripts/index.js.map +1 -1
- package/dist/server.d.ts +1 -2
- package/dist/server.js +1 -6
- package/dist/server.js.map +1 -1
- package/dist/styles.css +2 -2
- package/dist/utils/env.js.map +1 -1
- package/dist/utils/products.d.ts +92 -0
- package/dist/utils/products.js +84 -0
- package/dist/utils/products.js.map +1 -0
- package/package.json +35 -30
- package/dist/api/content-goals.js.map +0 -1
- package/dist/api/content-recs.d.ts +0 -3
- package/dist/api/content-recs.js.map +0 -1
- package/dist/api/experimentation-api.d.ts +0 -3
- package/dist/api/experimentation-api.js.map +0 -1
- package/dist/components/optimizely-one-gadget/index.js.map +0 -1
- package/dist/components/rsc.d.ts +0 -2
- package/dist/components/rsc.js +0 -3
- package/dist/components/rsc.js.map +0 -1
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import { ContentRecs } from '../
|
|
2
|
-
import { readConfigFromEnv } from '
|
|
3
|
-
import * as Responses from '
|
|
1
|
+
import { ContentRecs } from '../index.js';
|
|
2
|
+
import { readConfigFromEnv } from '../../config.js';
|
|
3
|
+
import * as Responses from '../../api/responses.js';
|
|
4
4
|
export const ContentRecsApiService = {
|
|
5
5
|
for: { path: '/crecs', verb: 'get' },
|
|
6
6
|
handler: async (query, cookies) => {
|
|
7
|
+
// Read configuration
|
|
7
8
|
const optiOneConfig = readConfigFromEnv();
|
|
8
9
|
if (!optiOneConfig.ContentRecsHost)
|
|
9
10
|
return Responses.NotFound;
|
|
11
|
+
// Identify visitor
|
|
10
12
|
const crId = ContentRecs.Tools.getVisitorID(await cookies);
|
|
11
13
|
if (!crId)
|
|
12
14
|
return [{ total_hits: 0, content: [] }, 200];
|
|
15
|
+
// Send request to Content Recommendations, and strip JSONP function call
|
|
13
16
|
const recsService = new URL(`https://api.${optiOneConfig.ContentRecsHost}/1.0/users/idio_visitor_id:${crId}/content?callback=fn`);
|
|
14
17
|
query.forEach((value, name) => {
|
|
15
18
|
if (name.toLowerCase() != 'callback')
|
|
@@ -20,20 +23,18 @@ export const ContentRecsApiService = {
|
|
|
20
23
|
return [{ error: { status: snippetResponse.status, message: snippetResponse.statusText } }, snippetResponse.status];
|
|
21
24
|
const body = await snippetResponse.text();
|
|
22
25
|
const jsonData = body.substring(body.indexOf('{'), body.lastIndexOf('}') + 1);
|
|
26
|
+
// Convert and return data
|
|
23
27
|
try {
|
|
24
28
|
const recsData = JSON.parse(jsonData);
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
next_page: (new URL(recsData.next_page)).search
|
|
29
|
-
},
|
|
30
|
-
200
|
|
31
|
-
];
|
|
29
|
+
if (recsData.next_page)
|
|
30
|
+
recsData.next_page = (new URL(recsData.next_page)).search;
|
|
31
|
+
return [recsData, 200];
|
|
32
32
|
}
|
|
33
|
-
catch {
|
|
33
|
+
catch (e) {
|
|
34
|
+
console.error("Error in processing Content Recommendations", e);
|
|
34
35
|
return [{ error: { status: 500, message: "Unable to parse Content Recommendations data" } }, 500];
|
|
35
36
|
}
|
|
36
37
|
}
|
|
37
38
|
};
|
|
38
39
|
export default ContentRecsApiService;
|
|
39
|
-
//# sourceMappingURL=
|
|
40
|
+
//# sourceMappingURL=webservice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webservice.js","sourceRoot":"","sources":["../../../src/products/content-recs/webservice.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACnD,OAAO,KAAK,SAAS,MAAM,wBAAwB,CAAA;AAEnD,MAAM,CAAC,MAAM,qBAAqB,GAAuB;IACvD,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;IACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChC,qBAAqB;QACrB,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;QAC1C,IAAI,CAAC,aAAa,CAAC,eAAe;YAChC,OAAO,SAAS,CAAC,QAAQ,CAAA;QAE3B,mBAAmB;QACnB,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,OAAO,CAAC,CAAA;QAC1D,IAAI,CAAC,IAAI;YACP,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAE9C,yEAAyE;QACzE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,eAAe,aAAa,CAAC,eAAe,8BAA8B,IAAI,sBAAsB,CAAC,CAAA;QACjI,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YAC5B,IAAI,IAAI,CAAC,WAAW,EAAE,IAAI,UAAU;gBAClC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAC7C,CAAC,CAAC,CAAA;QACF,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;QACvE,IAAI,CAAC,eAAe,CAAC,EAAE;YACrB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,eAAe,CAAC,MAAM,CAAC,CAAA;QACrH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAA;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAE7E,0BAA0B;QAC1B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YACrC,IAAI,QAAQ,CAAC,SAAS;gBACpB,QAAQ,CAAC,SAAS,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAA;YAC3D,OAAO,CAAE,QAAQ,EAAE,GAAG,CAAE,CAAA;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAA;YAC/D,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,8CAA8C,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QACnG,CAAC;IACH,CAAC;CACF,CAAA;AAED,eAAe,qBAAqB,CAAA"}
|
|
@@ -20,19 +20,19 @@ export declare class DataPlatformClient {
|
|
|
20
20
|
get trackerId(): string;
|
|
21
21
|
constructor(options?: Partial<DataPlatformClientOptions>);
|
|
22
22
|
/**
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
23
|
+
* Retrieve a list of all audiences available within the ODP Instance
|
|
24
|
+
*
|
|
25
|
+
* @param throwOnError Set to true when an error needs to be
|
|
26
|
+
* thrown on an network error (instead of
|
|
27
|
+
* returning an empty list)
|
|
28
|
+
* @returns The list of all audiences
|
|
29
|
+
*/
|
|
30
30
|
getAllAudiences(throwOnError?: boolean): Promise<DataPlatformAudienceList>;
|
|
31
31
|
filterAudiences(vuid: string, audiences: string[]): Promise<string[]>;
|
|
32
32
|
getLastSearchTerms(vuid: string): Promise<string[]>;
|
|
33
33
|
getProfileInfo(vuid: string): Promise<DataPlatformProfile | undefined>;
|
|
34
|
-
protected privateQuery(graphQuery: string, variables?: Record<string,
|
|
35
|
-
query(graphQuery: string, variables?: Record<string,
|
|
34
|
+
protected privateQuery(graphQuery: string, variables?: Record<string, unknown>): Promise<Response>;
|
|
35
|
+
query(graphQuery: string, variables?: Record<string, unknown>): Promise<Response>;
|
|
36
36
|
}
|
|
37
37
|
export declare class DataPlatformError extends Error {
|
|
38
38
|
private _trackerId?;
|
|
@@ -26,13 +26,13 @@ export class DataPlatformClient {
|
|
|
26
26
|
console.warn('[Optimizely Data Platform]: No Private Key provided, authorized queries are not available');
|
|
27
27
|
}
|
|
28
28
|
/**
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
* Retrieve a list of all audiences available within the ODP Instance
|
|
30
|
+
*
|
|
31
|
+
* @param throwOnError Set to true when an error needs to be
|
|
32
|
+
* thrown on an network error (instead of
|
|
33
|
+
* returning an empty list)
|
|
34
|
+
* @returns The list of all audiences
|
|
35
|
+
*/
|
|
36
36
|
async getAllAudiences(throwOnError = false) {
|
|
37
37
|
const listAudiencesQuery = 'query GetAllAudiences { audiences { edges { node { name, description } } } }';
|
|
38
38
|
const listResponse = await this.privateQuery(listAudiencesQuery).catch(() => undefined);
|
|
@@ -71,10 +71,10 @@ export class DataPlatformClient {
|
|
|
71
71
|
const responseData = await this.privateQuery(query, variables).then(response => response.json()).catch(() => { return { errors: [{ message: "Uncaught error" }] }; });
|
|
72
72
|
if (responseData.errors) {
|
|
73
73
|
console.error("Error while fetching latest search terms, please check your keys");
|
|
74
|
-
console.error(responseData.errors.map(
|
|
74
|
+
console.error(responseData.errors.map(e => e.message).join('; '));
|
|
75
75
|
return [];
|
|
76
76
|
}
|
|
77
|
-
const terms = (responseData.data?.events?.edges?.map(
|
|
77
|
+
const terms = (responseData.data?.events?.edges?.map(e => e.node.search_term) ?? []);
|
|
78
78
|
return terms;
|
|
79
79
|
}
|
|
80
80
|
async getProfileInfo(vuid) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/products/data-platform/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,SAAS,MAAM,cAAc,CAAA;AAUpC;;;;GAIG;AACH,MAAM,OAAO,kBAAkB;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/products/data-platform/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AACpC,OAAO,SAAS,MAAM,cAAc,CAAA;AAUpC;;;;GAIG;AACH,MAAM,OAAO,kBAAkB;IAEV,MAAM,CAAsC;IAC9C,WAAW,CAAgB;IAC3B,UAAU,CAAS;IAEpC,IAAc,UAAU;QAEtB,OAAO,IAAI,CAAC,WAAW,IAAI,EAAE,CAAA;IAC/B,CAAC;IAED,IAAW,SAAS;QAElB,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAED,YAAmB,OAA4C;QAE7D,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,CAAA;QAC7I,MAAM,QAAQ,GAA+B,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,IAAI,EAAE,EAAE,uBAAuB,EAAE,CAAA;QACtH,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;QAC1C,CAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAE,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACtF,IAAI,CAAC,IAAI,CAAC,UAAU;YAClB,MAAM,IAAI,iBAAiB,CAAC,yEAAyE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;QACxH,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK;YAC5B,OAAO,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAA;IAC7G,CAAC;IAED;;;;;;;SAOK;IACE,KAAK,CAAC,eAAe,CAAC,eAAwB,KAAK;QAExD,MAAM,kBAAkB,GAAG,8EAA8E,CAAA;QACzG,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QACvF,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,CAAC;YACtB,IAAI,YAAY;gBACd,MAAM,IAAI,iBAAiB,CAAC,wCAAwC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;YACvF,OAAO,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAA;YACvD,OAAO,EAAE,CAAA;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,MAAM,YAAY,CAAC,IAAI,EAAE,CAAuF,CAAA;QAClI,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAA,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACrH,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,SAAmB;QAE5D,MAAM,KAAK,GAAG,sJAAsJ,CAAA;QAEpK,MAAM,SAAS,GAAG;YAChB,IAAI;YACJ,SAAS;SACV,CAAA;QAID,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAA;QAChF,IAAI,QAAQ,EAAE,EAAE;YACd,OAAQ,QAAQ,CAAC,IAAI,EAA2B;iBAC7C,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;QAEnF,MAAM,IAAI,iBAAiB,CAAC,iDAAkD,QAAQ,EAAE,MAAO,KAAM,QAAQ,EAAE,UAAW,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAA;IAC/I,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,IAAY;QAE1C,MAAM,KAAK,GAAG;;;;;;;;UAQR,CAAA;QACN,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,CAAA;QAC1B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAA+F,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,EAAC,OAAO,EAAE,gBAAgB,EAAC,CAAC,EAAoD,CAAA,CAAA,CAAC,CAAE,CAAA;QACjT,IAAI,YAAY,CAAC,MAAM,EACvB,CAAC;YACC,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAA;YACjF,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACjE,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,KAAK,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAE,IAAI,EAAE,CAAa,CAAA;QAEjG,OAAO,KAAK,CAAA;IACd,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,IAAY;QAEtC,MAAM,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwChB,CAAA;QACE,MAAM,SAAS,GAAG,EAAE,MAAM,EAAE,SAAU,IAAK,GAAG,EAAE,CAAA;QAChD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAA0C,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,EAAC,OAAO,EAAE,gBAAgB,EAAC,CAAC,EAAgC,CAAA,CAAA,CAAC,CAAE,CAAA;QACxO,IAAI,YAAY,CAAC,MAAM,EACvB,CAAC;YACC,OAAO,CAAC,KAAK,CAAC,kEAAkE,CAAC,CAAA;YACjF,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAuB,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;YACzF,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACjF,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC;YACtB,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,SAAkC;QAEjF,IAAI,CAAC,IAAI,CAAC,UAAU;YAClB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACxC,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YACzD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YACtD,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,IAAI,CAAC,UAAU;aAC7B;SACF,CAAC,CAAA;IACJ,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,UAAkB,EAAE,SAAkC;QAEvE,OAAO,KAAK,CAAC,IAAI,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YACzD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YACtD,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,WAAW,EAAE,IAAI,CAAC,SAAS;aAC5B;SACF,CAAC,CAAA;IACJ,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAElC,UAAU,CAAU;IAE5B,IAAW,SAAS;QAElB,OAAO,IAAI,CAAC,UAAU,IAAI,EAAE,CAAA;IAC9B,CAAC;IAED,YAAmB,OAAgB,EAAE,SAAkB,EAAE,OAAsB;QAE7E,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QACvB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAA;IAC7B,CAAC;CACF;AAED,eAAe,kBAAkB,CAAA"}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import * as ClientApi from '../../client-types';
|
|
2
|
-
|
|
2
|
+
import * as GlobalClientTypes from '../../components/types';
|
|
3
|
+
export declare class DataPlatformService implements ClientApi.OptimizelyOneService<ClientApi.OptimizelyDataPlatformApi, 'odp'> {
|
|
4
|
+
private _odpEnabled;
|
|
5
|
+
constructor(enabledServices?: Array<GlobalClientTypes.SupportedProductNames>);
|
|
3
6
|
order: Readonly<number>;
|
|
4
|
-
code: Readonly<
|
|
7
|
+
code: Readonly<'odp'>;
|
|
5
8
|
debug: boolean;
|
|
6
9
|
get isActive(): boolean;
|
|
7
10
|
trackPage(): void;
|
|
8
11
|
trackEvent(event: ClientApi.OptimizelyOneEvent): void;
|
|
9
12
|
getBrowserApi(): ClientApi.OptimizelyDataPlatformApi | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* Discover the visitorId cookie and make it available to the systems as identifier
|
|
15
|
+
*
|
|
16
|
+
* @returns The partial profile data
|
|
17
|
+
*/
|
|
18
|
+
discoverProfileData(): Promise<Partial<ClientApi.OptimizelyOneProfileData>>;
|
|
10
19
|
updateProfile(profileData: ClientApi.OptimizelyOneProfileData): void;
|
|
11
20
|
private lastTrackedContentIntelligenceId;
|
|
12
21
|
private get contentIntelligenceId();
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
export class DataPlatformService {
|
|
3
|
+
_odpEnabled = true;
|
|
4
|
+
constructor(enabledServices) {
|
|
5
|
+
if (enabledServices)
|
|
6
|
+
this._odpEnabled = enabledServices.includes("dataPlatform");
|
|
7
|
+
}
|
|
3
8
|
order = 200;
|
|
4
|
-
code =
|
|
9
|
+
code = 'odp';
|
|
5
10
|
debug = false;
|
|
6
11
|
get isActive() {
|
|
7
|
-
return this.
|
|
12
|
+
return this._odpEnabled;
|
|
8
13
|
}
|
|
9
14
|
trackPage() {
|
|
15
|
+
if (!this._odpEnabled)
|
|
16
|
+
return;
|
|
10
17
|
const zaius = this.getBrowserApi();
|
|
11
18
|
if (!zaius)
|
|
12
19
|
return;
|
|
@@ -21,37 +28,73 @@ export class DataPlatformService {
|
|
|
21
28
|
}
|
|
22
29
|
}
|
|
23
30
|
trackEvent(event) {
|
|
31
|
+
if (!this._odpEnabled)
|
|
32
|
+
return;
|
|
24
33
|
const zaius = this.getBrowserApi();
|
|
25
34
|
if (!zaius)
|
|
26
35
|
return;
|
|
27
36
|
const event_name = event.event;
|
|
28
|
-
const event_data = {
|
|
29
|
-
for (const prop_name of Object.getOwnPropertyNames(event)) {
|
|
37
|
+
const event_data = Object.entries(event).reduce((data, [prop_name, prop_value]) => {
|
|
30
38
|
if (prop_name != 'event')
|
|
31
|
-
|
|
32
|
-
|
|
39
|
+
data[prop_name] = prop_value;
|
|
40
|
+
return data;
|
|
41
|
+
}, {});
|
|
33
42
|
if (this.debug)
|
|
34
43
|
console.log("🏬 Data platform - Tracking event:", event_name, event_data);
|
|
35
44
|
zaius.event(event_name, event_data);
|
|
36
45
|
}
|
|
37
46
|
getBrowserApi() {
|
|
38
47
|
try {
|
|
48
|
+
if (!this._odpEnabled)
|
|
49
|
+
return undefined;
|
|
39
50
|
return window.zaius;
|
|
40
51
|
}
|
|
41
52
|
catch {
|
|
42
53
|
return undefined;
|
|
43
54
|
}
|
|
44
55
|
}
|
|
56
|
+
/**
|
|
57
|
+
* Discover the visitorId cookie and make it available to the systems as identifier
|
|
58
|
+
*
|
|
59
|
+
* @returns The partial profile data
|
|
60
|
+
*/
|
|
61
|
+
discoverProfileData() {
|
|
62
|
+
return new Promise((resolve) => {
|
|
63
|
+
try {
|
|
64
|
+
const cookies = document.cookie.split(';').map(x => x.trim().split('=', 2)).reduce((obj, cData) => { obj[cData[0]] = cData[1]; return obj; }, {});
|
|
65
|
+
const visitorId = cookies['visitorId'];
|
|
66
|
+
if (visitorId)
|
|
67
|
+
return resolve({ feature_experimentation_id: visitorId });
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
//Ignore errors on purpose
|
|
71
|
+
}
|
|
72
|
+
return resolve({});
|
|
73
|
+
});
|
|
74
|
+
}
|
|
45
75
|
updateProfile(profileData) {
|
|
46
76
|
const zaius = this.getBrowserApi();
|
|
47
77
|
if (!zaius)
|
|
48
78
|
return;
|
|
49
|
-
|
|
79
|
+
// Build IDs
|
|
80
|
+
const ids = { ...profileData.ids };
|
|
50
81
|
if (profileData.content_intelligence_id)
|
|
51
82
|
ids.content_intelligence_id = profileData.content_intelligence_id;
|
|
83
|
+
if (profileData.feature_experimentation_id)
|
|
84
|
+
ids.fs_user_id = profileData.feature_experimentation_id;
|
|
85
|
+
// Build fields
|
|
86
|
+
const fields = Object.entries({
|
|
87
|
+
...ids,
|
|
88
|
+
...profileData.custom,
|
|
89
|
+
...profileData.customPII
|
|
90
|
+
}).reduce((acc, [key, value]) => {
|
|
91
|
+
if (value)
|
|
92
|
+
acc[key] = value;
|
|
93
|
+
return acc;
|
|
94
|
+
}, {});
|
|
52
95
|
if (this.debug)
|
|
53
|
-
console.log("🏬 Data platform - Updating profile (ids, attributes):", ids,
|
|
54
|
-
zaius.customer(ids,
|
|
96
|
+
console.log("🏬 Data platform - Updating profile (ids, attributes):", ids, fields);
|
|
97
|
+
zaius.customer(ids, fields);
|
|
55
98
|
}
|
|
56
99
|
lastTrackedContentIntelligenceId = undefined;
|
|
57
100
|
get contentIntelligenceId() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/products/data-platform/client.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/products/data-platform/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/products/data-platform/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,IAAI,MAAM,EAA+D,MAAM,OAAO,CAAA;AACjH,OAAO,KAAK,KAAK,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,kBAAkB,IAAI,MAAM,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AACvE,OAAO,KAAK,KAAK,MAAM,WAAW,CAAA;AAElC,eAAe;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/products/data-platform/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,IAAI,MAAM,EAA+D,MAAM,OAAO,CAAA;AACjH,OAAO,KAAK,KAAK,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,kBAAkB,IAAI,MAAM,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AACvE,OAAO,KAAK,KAAK,MAAM,WAAW,CAAA;AAElC,eAAe;IACb,MAAM;IACN,KAAK;IACL,iBAAiB;CAClB,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export type OptimizelyDataPlatformProps = {
|
|
2
2
|
trackerId: string;
|
|
3
3
|
};
|
|
4
|
-
export declare const OptimizelyDataPlatformScript: (props: OptimizelyDataPlatformProps) => import("react
|
|
4
|
+
export declare const OptimizelyDataPlatformScript: (props: OptimizelyDataPlatformProps) => import("react").JSX.Element | null;
|
|
5
5
|
export default OptimizelyDataPlatformScript;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/* eslint @next/next/no-before-interactive-script-outside-document: 0 */
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
2
|
import Script from 'next/script';
|
|
4
3
|
export const OptimizelyDataPlatformScript = (props) => {
|
|
5
4
|
const odp_id = props.trackerId.split('.').shift() ?? '';
|
|
6
5
|
if (odp_id == '')
|
|
7
6
|
return null;
|
|
8
|
-
return _jsx(Script, { id: 'data-platform-script', strategy: 'beforeInteractive', children: `
|
|
7
|
+
return _jsxs(_Fragment, { children: [_jsx(Script, { id: 'data-platform-script', strategy: 'beforeInteractive', children: `
|
|
9
8
|
var zaius = window['zaius'] || (window['zaius'] = []);
|
|
10
9
|
zaius.methods = ['initialize', 'onload', 'customer', 'entity', 'event', 'subscribe', 'unsubscribe', 'consent', 'identify', 'anonymize', 'dispatch'];
|
|
11
10
|
|
|
@@ -33,7 +32,7 @@ export const OptimizelyDataPlatformScript = (props) => {
|
|
|
33
32
|
var firstScript = document.getElementsByTagName('script')[0];
|
|
34
33
|
firstScript.parentNode.insertBefore(script, firstScript);
|
|
35
34
|
})();
|
|
36
|
-
` });
|
|
35
|
+
` }), _jsx("link", { rel: "preconnect", href: "https://api.zaius.com" })] });
|
|
37
36
|
};
|
|
38
37
|
export default OptimizelyDataPlatformScript;
|
|
39
38
|
//# sourceMappingURL=snippet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippet.js","sourceRoot":"","sources":["../../../src/products/data-platform/snippet.tsx"],"names":[],"mappings":";AAAA,
|
|
1
|
+
{"version":3,"file":"snippet.js","sourceRoot":"","sources":["../../../src/products/data-platform/snippet.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAMhC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAkC,EAAE,EAAE;IACjF,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;IACvD,IAAI,MAAM,IAAI,EAAE;QACd,OAAO,IAAI,CAAA;IACb,OAAO,8BACL,KAAC,MAAM,IAAC,EAAE,EAAC,sBAAsB,EAAC,QAAQ,EAAC,mBAAmB,YAAE;;;;;;;;;;;;;;;;;;;;;;;;gIAwB6D,MAAO;;;;CAIvI,GACY,EACT,eAAM,GAAG,EAAC,YAAY,EAAC,IAAI,EAAC,uBAAuB,GAAG,IACrD,CAAA;AACL,CAAC,CAAA;AAED,eAAe,4BAA4B,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type PropsWithChildren } from 'react';
|
|
2
|
+
export type FeatureExperimentationProviderProps = PropsWithChildren<{
|
|
3
|
+
sdkKey: string;
|
|
4
|
+
frontendCookie: string;
|
|
5
|
+
debug?: boolean;
|
|
6
|
+
}>;
|
|
7
|
+
export default function FeatureExperimentationProvider({ sdkKey, frontendCookie, debug, children }: FeatureExperimentationProviderProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import * as FX from '@optimizely/react-sdk';
|
|
4
|
+
import { useMemo, useEffect } from 'react';
|
|
5
|
+
import { useCookie } from '../../components/use-cookie.js';
|
|
6
|
+
export default function FeatureExperimentationProvider({ sdkKey, frontendCookie, debug = false, children }) {
|
|
7
|
+
const optimizelyClient = useMemo(() => FX.createInstance({
|
|
8
|
+
projectConfigManager: FX.createPollingProjectConfigManager({
|
|
9
|
+
sdkKey,
|
|
10
|
+
autoUpdate: true,
|
|
11
|
+
updateInterval: 1000 * 60, // Update every minute
|
|
12
|
+
}),
|
|
13
|
+
eventProcessor: FX.createBatchEventProcessor({
|
|
14
|
+
batchSize: 10, // Send events in batches of 10 (or when flush interval is reached)
|
|
15
|
+
flushInterval: 1000 * 30, // Flush every 30 seconds
|
|
16
|
+
}),
|
|
17
|
+
odpManager: FX.createOdpManager({
|
|
18
|
+
eventBatchSize: 10,
|
|
19
|
+
eventFlushInterval: 1000 * 30,
|
|
20
|
+
}),
|
|
21
|
+
vuidManager: FX.createVuidManager({
|
|
22
|
+
enableVuid: true,
|
|
23
|
+
// vuidCache:
|
|
24
|
+
})
|
|
25
|
+
}), [sdkKey, debug]);
|
|
26
|
+
const [userId] = useCookie(frontendCookie, `optimizely-one-user-${Math.random().toString(36).substring(2, 15)}`);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (debug || process.env.NODE_ENV === 'development') {
|
|
29
|
+
console.groupCollapsed('🔧 [FeatureExperimentationProvider] Debug mode enabled');
|
|
30
|
+
console.log('🔑 SDK Key:', sdkKey);
|
|
31
|
+
console.log('🍪 Frontend Cookie:', frontendCookie);
|
|
32
|
+
console.log('👤 User ID:', userId);
|
|
33
|
+
console.groupEnd();
|
|
34
|
+
}
|
|
35
|
+
}, [sdkKey, frontendCookie, userId, debug]);
|
|
36
|
+
return (_jsx(FX.OptimizelyProvider, { client: optimizelyClient, user: { id: userId }, children: children }));
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/products/feature-experimentation/provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AACZ,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,SAAS,EAA0B,MAAM,OAAO,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAQ3D,MAAM,CAAC,OAAO,UAAU,8BAA8B,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,GAAG,KAAK,EAAE,QAAQ,EAAuC;IAC7I,MAAM,gBAAgB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,cAAc,CAAC;QACvD,oBAAoB,EAAE,EAAE,CAAC,iCAAiC,CAAC;YACzD,MAAM;YACN,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,IAAI,GAAG,EAAE,EAAE,sBAAsB;SAClD,CAAC;QACF,cAAc,EAAE,EAAE,CAAC,yBAAyB,CAAC;YAC3C,SAAS,EAAE,EAAE,EAAE,mEAAmE;YAClF,aAAa,EAAE,IAAI,GAAG,EAAE,EAAE,yBAAyB;SACpD,CAAC;QACF,UAAU,EAAE,EAAE,CAAC,gBAAgB,CAAC;YAC9B,cAAc,EAAE,EAAE;YAClB,kBAAkB,EAAE,IAAI,GAAG,EAAE;SAC9B,CAAC;QACF,WAAW,EAAE,EAAE,CAAC,iBAAiB,CAAC;YAChC,UAAU,EAAE,IAAI;YAChB,cAAc;SACf,CAAC;KACH,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAErB,MAAM,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,cAAc,EAAE,uBAAuB,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAEjH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;YACpD,OAAO,CAAC,cAAc,CAAC,wDAAwD,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAE5C,OAAO,CACL,KAAC,EAAE,CAAC,kBAAkB,IAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,YAClE,QAAQ,GACa,CACzB,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import * as ClientApi from '../../client-types';
|
|
2
|
-
|
|
2
|
+
import * as GlobalClientTypes from '../../components/types';
|
|
3
|
+
export declare class WebExperimenationService implements ClientApi.OptimizelyOneService<ClientApi.OptimizelyWebExperimentationApi, 'webex'> {
|
|
4
|
+
private _wxEnabled;
|
|
5
|
+
constructor(enabledServices?: Array<GlobalClientTypes.SupportedProductNames>);
|
|
3
6
|
order: Readonly<number>;
|
|
4
|
-
code: Readonly<
|
|
7
|
+
code: Readonly<'webex'>;
|
|
5
8
|
debug: boolean;
|
|
6
9
|
get isActive(): boolean;
|
|
7
10
|
activatePage(): void;
|
|
@@ -1,12 +1,19 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
export class WebExperimenationService {
|
|
3
|
+
_wxEnabled = true;
|
|
4
|
+
constructor(enabledServices) {
|
|
5
|
+
if (enabledServices)
|
|
6
|
+
this._wxEnabled = enabledServices.includes("dataPlatform");
|
|
7
|
+
}
|
|
3
8
|
order = 100;
|
|
4
|
-
code =
|
|
9
|
+
code = 'webex';
|
|
5
10
|
debug = false;
|
|
6
11
|
get isActive() {
|
|
7
|
-
return this.
|
|
12
|
+
return this._wxEnabled;
|
|
8
13
|
}
|
|
9
14
|
activatePage() {
|
|
15
|
+
if (!this._wxEnabled)
|
|
16
|
+
return;
|
|
10
17
|
const webex = this.getBrowserApi();
|
|
11
18
|
if (!webex)
|
|
12
19
|
return;
|
|
@@ -15,21 +22,26 @@ export class WebExperimenationService {
|
|
|
15
22
|
console.log("🚀 Web Experimentation - Activating pages");
|
|
16
23
|
}
|
|
17
24
|
trackEvent(event) {
|
|
25
|
+
if (!this._wxEnabled)
|
|
26
|
+
return;
|
|
18
27
|
const webex = this.getBrowserApi();
|
|
19
28
|
if (!webex)
|
|
20
29
|
return;
|
|
21
30
|
const eventName = `${event.event}_${event.action}`;
|
|
22
|
-
const eventTags = {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
31
|
+
const eventTags = Object.entries(event).reduce((tags, [prop_name, prop_value]) => {
|
|
32
|
+
if (prop_name.startsWith('tag_')) {
|
|
33
|
+
tags[prop_name.substring(4)] = prop_value;
|
|
34
|
+
}
|
|
35
|
+
return tags;
|
|
36
|
+
}, {});
|
|
27
37
|
if (this.debug)
|
|
28
38
|
console.log("🚀 Web Experimentation - Tracking event:", { type: 'event', eventName, tags: eventTags });
|
|
29
39
|
webex.push({ type: 'event', eventName, tags: eventTags });
|
|
30
40
|
}
|
|
31
41
|
getBrowserApi() {
|
|
32
42
|
try {
|
|
43
|
+
if (!this._wxEnabled)
|
|
44
|
+
return undefined;
|
|
33
45
|
if (!window.optimizely)
|
|
34
46
|
window.optimizely = [];
|
|
35
47
|
return window.optimizely;
|
|
@@ -39,6 +51,8 @@ export class WebExperimenationService {
|
|
|
39
51
|
}
|
|
40
52
|
}
|
|
41
53
|
updateProfile(profileData) {
|
|
54
|
+
if (!this._wxEnabled)
|
|
55
|
+
return;
|
|
42
56
|
const webex = this.getBrowserApi();
|
|
43
57
|
if (!webex)
|
|
44
58
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/products/web-experimentation/client.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/products/web-experimentation/client.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAKZ,MAAM,OAAO,wBAAwB;IAE3B,UAAU,GAAa,IAAI,CAAA;IACnC,YAAY,eAAgE;QAC1E,IAAI,eAAe;YACjB,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAA;IAC9D,CAAC;IAEM,KAAK,GAAsB,GAAG,CAAA;IAC9B,IAAI,GAAuB,OAAO,CAAA;IAClC,KAAK,GAAY,KAAK,CAAA;IAC7B,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IAEM,YAAY;QAEjB,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAM;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAClC,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;QAChC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAA;IAC1E,CAAC;IAEM,UAAU,CAAC,KAAmC;QAEnD,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAM;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAClC,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,MAAM,SAAS,GAAG,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAA;QAClD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE;YAC/E,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAA;YAC3C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,EAA6B,CAAC,CAAA;QACjC,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,0CAA0C,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;QACtH,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;IAC3D,CAAC;IAEM,aAAa;QAElB,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,OAAO,SAAS,CAAA;YACtC,IAAI,CAAC,MAAM,CAAC,UAAU;gBACpB,MAAM,CAAC,UAAU,GAAG,EAA0D,CAAA;YAChF,OAAO,MAAM,CAAC,UAAU,CAAA;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAA;QAClB,CAAC;IACH,CAAC;IAEM,aAAa,CAAC,WAA+C;QAElE,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,OAAM;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAClC,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,+CAA+C,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAA;QAC9H,KAAK,CAAC,IAAI,CAAC;YACT,IAAI,EAAE,MAAM;YACZ,UAAU,EAAE,WAAW,CAAC,MAAM;SAC/B,CAAC,CAAC;IACL,CAAC;CACF;AAED,eAAe,wBAAwB,CAAA"}
|
|
@@ -4,5 +4,5 @@ export type OptimizelyWebExperimentationProps = {
|
|
|
4
4
|
useProxy?: boolean;
|
|
5
5
|
apiPrefix?: string;
|
|
6
6
|
};
|
|
7
|
-
export declare const OptimizelyWebExperimentationScript: ({ projectId, allowProjectOverride, useProxy, apiPrefix }: OptimizelyWebExperimentationProps) => import("react
|
|
7
|
+
export declare const OptimizelyWebExperimentationScript: ({ projectId, allowProjectOverride, useProxy, apiPrefix }: OptimizelyWebExperimentationProps) => import("react").JSX.Element;
|
|
8
8
|
export default OptimizelyWebExperimentationScript;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/* eslint @next/next/no-before-interactive-script-outside-document: 0 */
|
|
3
2
|
import Script from 'next/script';
|
|
4
3
|
export const OptimizelyWebExperimentationScript = ({ projectId, allowProjectOverride = false, useProxy = false, apiPrefix = '/api/me' }) => {
|
|
5
4
|
function buildUrl(pid) {
|
|
6
5
|
return useProxy ?
|
|
7
|
-
`${apiPrefix}/exp?pid
|
|
6
|
+
`${apiPrefix}/exp${allowProjectOverride ? '?pid=' + pid : ''}` :
|
|
8
7
|
`https://cdn.optimizely.com/js/${pid}.js`;
|
|
9
8
|
}
|
|
10
9
|
return _jsxs(_Fragment, { children: [_jsx(Script, { id: 'web-experimentation-startup', strategy: 'beforeInteractive', children: `window["optimizely"] = window["optimizely"] || [];` }), allowProjectOverride ?
|
|
@@ -24,7 +23,7 @@ export const OptimizelyWebExperimentationScript = ({ projectId, allowProjectOver
|
|
|
24
23
|
s.parentNode.insertBefore(wx,s);
|
|
25
24
|
})(window,document,localStorage)
|
|
26
25
|
` }) :
|
|
27
|
-
_jsx(Script, { id: 'web-experimentation-project', strategy: 'beforeInteractive', src: buildUrl(projectId) })] });
|
|
26
|
+
_jsx(Script, { id: 'web-experimentation-project', strategy: 'beforeInteractive', src: buildUrl(projectId) }), _jsx("link", { rel: "preconnect", href: "https://logx.optimizely.com/v1/events" })] });
|
|
28
27
|
};
|
|
29
28
|
export default OptimizelyWebExperimentationScript;
|
|
30
29
|
//# sourceMappingURL=snippet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snippet.js","sourceRoot":"","sources":["../../../src/products/web-experimentation/snippet.tsx"],"names":[],"mappings":";AAAA,
|
|
1
|
+
{"version":3,"file":"snippet.js","sourceRoot":"","sources":["../../../src/products/web-experimentation/snippet.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAShC,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,EAAE,SAAS,EAAE,oBAAoB,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,SAAS,GAAG,SAAS,EAAqC,EAAE,EAAE;IAE5K,SAAS,QAAQ,CAAC,GAAkB;QAElC,OAAO,QAAQ,CAAC,CAAC;YACf,GAAI,SAAU,OAAQ,oBAAoB,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,EAAG,EAAE,CAAC,CAAC;YACpE,iCAAkC,GAAI,KAAK,CAAA;IAC/C,CAAC;IAED,OAAO,8BACL,KAAC,MAAM,IAAC,EAAE,EAAC,6BAA6B,EAAC,QAAQ,EAAC,mBAAmB,YAAG,oDAAoD,GAAU,EACpI,oBAAoB,CAAC,CAAC;gBACtB,KAAC,MAAM,IAAC,EAAE,EAAC,6BAA6B,EAAC,QAAQ,EAAC,mBAAmB,YAAE;;;;8DAId,SAAU;;;;;;cAM1D,QAAQ,CAAC,wBAAwB,CAAE;;;;;aAKrC,GAAU,CAAC,CAAC;gBACnB,KAAC,MAAM,IAAC,EAAE,EAAC,6BAA6B,EAAC,QAAQ,EAAC,mBAAmB,EAAC,GAAG,EAAG,QAAQ,CAAC,SAAS,CAAC,GAAK,EAEtG,eAAM,GAAG,EAAC,YAAY,EAAC,IAAI,EAAC,uCAAuC,GAAG,IACrE,CAAA;AACL,CAAC,CAAA;AAED,eAAe,kCAAkC,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import getConfig from '
|
|
1
|
+
import getConfig from '../../config.js';
|
|
2
2
|
export const ExperimentationApiService = {
|
|
3
3
|
for: { path: '/exp', verb: 'get' },
|
|
4
4
|
handler: async (query) => {
|
|
@@ -27,4 +27,4 @@ export const ExperimentationApiService = {
|
|
|
27
27
|
},
|
|
28
28
|
};
|
|
29
29
|
export default ExperimentationApiService;
|
|
30
|
-
//# sourceMappingURL=
|
|
30
|
+
//# sourceMappingURL=webservice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webservice.js","sourceRoot":"","sources":["../../../src/products/web-experimentation/webservice.ts"],"names":[],"mappings":"AACA,OAAO,SAAS,MAAM,iBAAiB,CAAA;AAEvC,MAAM,CAAC,MAAM,yBAAyB,GAAwB;IAC5D,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAClC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,MAAM,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,CAAA;QAC5H,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,CAAA;QACpD,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,cAAc,IAAI,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAA;QAE7F,iCAAiC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,IAAI,KAAK;gBACP,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAA;YAC3E,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,EAAC,EAAE,GAAG,CAAC,CAAA;QACvE,CAAC;QAGD,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,iCAAkC,SAAU,KAAK,EAAE;YACrF,0CAA0C;YAC1C,IAAI,EAAE;gBACJ,UAAU,EAAE,GAAG,CAAC,kCAAkC;aACnD;SACF,CAAC,CAAA;QACF,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;YACxB,IAAI,KAAK;gBACP,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAA;YAC/E,OAAO,CAAC,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,MAAM,EAAC,EAAC,EAAE,eAAe,CAAC,MAAM,CAAE,CAAA;QACnH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAA;QAEzC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAA;IACzE,CAAC;CACF,CAAA;AAED,eAAe,yBAAyB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server-components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server-components/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AAEpB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { OptimizelyOneGadgetProps } from '
|
|
1
|
+
import type { OptimizelyOneGadgetProps } from '../components/optimizely-one-gadget/_types.js';
|
|
2
2
|
import 'server-only';
|
|
3
|
-
export declare const OptimizelyOneGadget: ({ refreshInterval, servicePrefix, show, }: OptimizelyOneGadgetProps) => import("react
|
|
3
|
+
export declare const OptimizelyOneGadget: ({ refreshInterval, servicePrefix, show, }: OptimizelyOneGadgetProps) => import("react").JSX.Element | null;
|
|
4
4
|
export default OptimizelyOneGadget;
|
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import getConfig, { checkProductStatus } from '
|
|
2
|
+
import getConfig, { checkProductStatus } from '../config.js';
|
|
3
3
|
import dynamic from 'next/dynamic';
|
|
4
|
-
import { Suspense } from 'react';
|
|
5
4
|
import 'server-only';
|
|
6
|
-
const OptimizelyOneClientGadget = dynamic(() => import('
|
|
5
|
+
const OptimizelyOneClientGadget = dynamic(() => import('../components/optimizely-one-gadget/gadget.js'), { ssr: false, loading: () => null });
|
|
7
6
|
export const OptimizelyOneGadget = ({ refreshInterval = 0, servicePrefix = '/api/me', show, }) => {
|
|
8
7
|
const optiOneConfig = getConfig();
|
|
9
8
|
const { HelperEnabled, OptimizelyDebug } = optiOneConfig;
|
|
10
9
|
const productStatus = checkProductStatus(optiOneConfig);
|
|
11
10
|
if (show || (show === undefined && HelperEnabled)) {
|
|
12
|
-
return (_jsx(
|
|
11
|
+
return (_jsx(OptimizelyOneClientGadget, { refreshInterval: refreshInterval, servicePrefix: servicePrefix, show: show, showContentRecs: productStatus.contentRecsApi, showDataPlatform: productStatus.dataPlatform, showWebEx: productStatus.webExperimentation }));
|
|
13
12
|
}
|
|
14
13
|
if (OptimizelyDebug)
|
|
15
14
|
console.log(`🚀 [OptimizelyOne Gadget] Gadget disabled by ${show === undefined ? 'configuration' : 'parameter'}`);
|
|
16
15
|
return null;
|
|
17
16
|
};
|
|
18
17
|
export default OptimizelyOneGadget;
|
|
19
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=optimizely-one-gadget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimizely-one-gadget.js","sourceRoot":"","sources":["../../src/server-components/optimizely-one-gadget.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,EAAE,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AAC5D,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,OAAO,aAAa,CAAA;AAEpB,MAAM,yBAAyB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,+CAA+C,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;AAE7I,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAClC,eAAe,GAAG,CAAC,EACnB,aAAa,GAAG,SAAS,EACzB,IAAI,GACqB,EAAE,EAAE;IAC7B,MAAM,aAAa,GAAG,SAAS,EAAE,CAAA;IACjC,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,aAAa,CAAA;IACxD,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAA;IAEvD,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,aAAa,CAAC,EAAE,CAAC;QAClD,OAAO,CACL,KAAC,yBAAyB,IACxB,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,aAAa,CAAC,cAAc,EAC7C,gBAAgB,EAAE,aAAa,CAAC,YAAY,EAC5C,SAAS,EAAE,aAAa,CAAC,kBAAkB,GAC3C,CACH,CAAA;IACH,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,CAAC,GAAG,CACT,gDAAgD,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,WAAW,EAAE,CACrG,CAAA;IACH,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,eAAe,mBAAmB,CAAA"}
|