@remkoj/optimizely-one-nextjs 2.0.2 → 2.0.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/README.md +15 -5
- package/dist/api/content-goals.d.ts +13 -1
- package/dist/api/content-goals.js.map +1 -1
- package/dist/api/experimentation-api.js +3 -4
- package/dist/api/experimentation-api.js.map +1 -1
- package/dist/components/optimizely-one-gadget/audiences-panel.js +2 -2
- package/dist/components/optimizely-one-gadget/audiences-panel.js.map +1 -1
- package/dist/components/optimizely-one-gadget/exp-panel.js +2 -2
- package/dist/components/optimizely-one-gadget/exp-panel.js.map +1 -1
- package/dist/components/optimizely-one-gadget/goals-panel.d.ts +7 -0
- package/dist/components/optimizely-one-gadget/goals-panel.js +23 -0
- package/dist/components/optimizely-one-gadget/goals-panel.js.map +1 -0
- package/dist/components/optimizely-one-gadget/index.js +4 -3
- package/dist/components/optimizely-one-gadget/index.js.map +1 -1
- package/dist/components/optimizely-one-gadget/interests-panel.js +1 -1
- package/dist/components/optimizely-one-gadget/interests-panel.js.map +1 -1
- package/dist/{server-components/scripts/snippets/optimizely-content-recs.js → products/content-recs/snippet.js} +1 -1
- package/dist/products/content-recs/snippet.js.map +1 -0
- package/dist/{server-components/scripts/snippets/optimizely-data-patform.js → products/data-platform/snippet.js} +1 -1
- package/dist/products/data-platform/snippet.js.map +1 -0
- package/dist/{server-components/scripts/snippets/optimizely-web-experimentation.d.ts → products/web-experimentation/snippet.d.ts} +3 -2
- package/dist/products/web-experimentation/snippet.js +29 -0
- package/dist/products/web-experimentation/snippet.js.map +1 -0
- package/dist/server-components/scripts/footer.js +1 -1
- package/dist/server-components/scripts/footer.js.map +1 -1
- package/dist/server-components/scripts/header.d.ts +44 -1
- package/dist/server-components/scripts/header.js +14 -7
- package/dist/server-components/scripts/header.js.map +1 -1
- package/package.json +5 -5
- package/dist/components/use-next-best-goals.d.ts +0 -5
- package/dist/components/use-next-best-goals.js +0 -6
- package/dist/components/use-next-best-goals.js.map +0 -1
- package/dist/server-components/scripts/snippets/optimizely-content-recs.js.map +0 -1
- package/dist/server-components/scripts/snippets/optimizely-data-patform.js.map +0 -1
- package/dist/server-components/scripts/snippets/optimizely-web-experimentation.js +0 -9
- package/dist/server-components/scripts/snippets/optimizely-web-experimentation.js.map +0 -1
- /package/dist/{server-components/scripts/snippets/optimizely-content-recs.d.ts → products/content-recs/snippet.d.ts} +0 -0
- /package/dist/{server-components/scripts/snippets/optimizely-data-patform.d.ts → products/data-platform/snippet.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -9,9 +9,11 @@ React components (both client & server) to integrate the browser-side products f
|
|
|
9
9
|
- [2.3. Instrument your site with additional events](#23-instrument-your-site-with-additional-events)
|
|
10
10
|
- [2.4. Enable session cookie for Visitor ID](#24-enable-session-cookie-for-visitor-id)
|
|
11
11
|
- [2.5. Configuration](#25-configuration)
|
|
12
|
-
- [Prevent key leakage and unauthorized access](#prevent-key-leakage-and-unauthorized-access)
|
|
13
|
-
- [List of supported environment variables](#list-of-supported-environment-variables)
|
|
12
|
+
- [2.5.1. Prevent key leakage and unauthorized access](#251-prevent-key-leakage-and-unauthorized-access)
|
|
13
|
+
- [2.5.2. List of supported environment variables](#252-list-of-supported-environment-variables)
|
|
14
14
|
- [3. Usage](#3-usage)
|
|
15
|
+
- [3.1. Optimizely One Gadget](#31-optimizely-one-gadget)
|
|
16
|
+
- [3.2. Selecting the Web Experimentation project in browser](#32-selecting-the-web-experimentation-project-in-browser)
|
|
15
17
|
|
|
16
18
|
|
|
17
19
|
## 1. Requirements
|
|
@@ -124,14 +126,14 @@ export const config = {
|
|
|
124
126
|
### 2.5. Configuration
|
|
125
127
|
The Optimizely One Integration is configured by setting the appropriate environment variables.
|
|
126
128
|
|
|
127
|
-
#### Prevent key leakage and unauthorized access
|
|
129
|
+
#### 2.5.1. Prevent key leakage and unauthorized access
|
|
128
130
|
These environment variables must ***never*** be, consider them compromised when
|
|
129
131
|
1. Comitted into your source control system. Set them using the method available on your hosting environment.
|
|
130
132
|
2. Configured to be exposed to the browser
|
|
131
133
|
|
|
132
134
|
Locally, you may use a `.env.local` file, which must be added to the ignore list of you source control system.
|
|
133
135
|
|
|
134
|
-
#### List of supported environment variables
|
|
136
|
+
#### 2.5.2. List of supported environment variables
|
|
135
137
|
| Product | Environment Variable | Default Value | Purpose |
|
|
136
138
|
| - | - | - | - |
|
|
137
139
|
| *Global* | OPTIMIZELY_ONE_HELPER | 0 | Set to "1" to enable the Optimizely One Demo tools.<br/>- Allow overriding of the WebEx project ID through the 'pid' query string parameter <br/>- Enable the `<OptimizelyOneGadget />` component.
|
|
@@ -149,6 +151,14 @@ Locally, you may use a `.env.local` file, which must be added to the ignore list
|
|
|
149
151
|
## 3. Usage
|
|
150
152
|
When leveraging the components and structure from the installation, everything should work immediately.
|
|
151
153
|
|
|
154
|
+
### 3.1. Optimizely One Gadget
|
|
152
155
|
The OptimizelyOneGadget will only show if the following two criteria have been met, this ensures that the gadget is only available when it has intentionally ben enabled:
|
|
153
156
|
1. The environment variable `OPTIMIZELY_ONE_HELPER` has been set to "1"
|
|
154
|
-
2. A test-cookie has been added to the browser using the 'Add test cookie' feature of the [Optimizely Assistant Chrome Add-On](https://support.optimizely.com/hc/en-us/articles/4410289500301-Optimizely-Experimentation-Assistant-Chrome-extension)
|
|
157
|
+
2. A test-cookie has been added to the browser using the 'Add test cookie' feature of the [Optimizely Assistant Chrome Add-On](https://support.optimizely.com/hc/en-us/articles/4410289500301-Optimizely-Experimentation-Assistant-Chrome-extension)
|
|
158
|
+
|
|
159
|
+
Using the Optimizely One Gadget it is possible to demonstrate the in-session behaviour tracking and analysis performed by the configured Optimizely products.
|
|
160
|
+
|
|
161
|
+
### 3.2. Selecting the Web Experimentation project in browser
|
|
162
|
+
When the `OPTIMIZELY_ONE_HELPER` is set to "1" - or the Scripts.Header component has been instructed to do so explicitly - it is possible to change the Optimizely Web Experimentation project on the fly. This is done by adding a query string parameter `?pid=`, with the new project id.
|
|
163
|
+
|
|
164
|
+
The project id is persisted in localStorage with the key `_pid` and needs to be removed manually to revert back to the configured Web Experimentation project.
|
|
@@ -1,3 +1,15 @@
|
|
|
1
1
|
import type { ApiService } from './types';
|
|
2
|
-
export
|
|
2
|
+
export type GoalsReponse = {
|
|
3
|
+
goals: Array<{
|
|
4
|
+
/**
|
|
5
|
+
* The name of the goal within Content Recommendations
|
|
6
|
+
*/
|
|
7
|
+
goal: string;
|
|
8
|
+
/**
|
|
9
|
+
* The relevancy of the goal, as a float between 0 and 1
|
|
10
|
+
*/
|
|
11
|
+
score: number;
|
|
12
|
+
}>;
|
|
13
|
+
};
|
|
14
|
+
export declare const ContentRecsGoalsService: ApiService<GoalsReponse>;
|
|
3
15
|
export default ContentRecsGoalsService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content-goals.js","sourceRoot":"","sources":["../../src/api/content-goals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"content-goals.js","sourceRoot":"","sources":["../../src/api/content-goals.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAgBzC,MAAM,CAAC,MAAM,uBAAuB,GAA8B;IAC9D,GAAG,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE;IACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QACpD,IAAI,CAAC,IAAI;YACL,OAAO,CAAC,EAAC,KAAK,EAAE,EAAE,EAAC,EAAC,GAAG,CAAC,CAAA;QAC5B,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QAC7C,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QAC9D,OAAO,CAAC,EAAC,KAAK,EAAE,aAAa,EAAC,EAAC,GAAG,CAAC,CAAA;IACvC,CAAC;CACJ,CAAA;AAED,eAAe,uBAAuB,CAAA"}
|
|
@@ -2,12 +2,11 @@ import * as EnvTools from '../utils/env';
|
|
|
2
2
|
import EnvVars from '../env-vars';
|
|
3
3
|
export const ExperimentationApiService = {
|
|
4
4
|
for: { path: '/exp', verb: 'get' },
|
|
5
|
-
handler: async (query
|
|
5
|
+
handler: async (query) => {
|
|
6
6
|
const configuredProjectId = EnvTools.readValue(EnvVars.WebExperimentationProject);
|
|
7
|
-
const
|
|
8
|
-
const queryProjectId = query.get('wx.projectid') ?? undefined;
|
|
7
|
+
const queryProjectId = query.get('pid') ?? undefined;
|
|
9
8
|
const helperEnabled = EnvTools.readValueAsBoolean(EnvVars.HelperEnabled, false);
|
|
10
|
-
const projectId = helperEnabled ?
|
|
9
|
+
const projectId = helperEnabled ? queryProjectId ?? configuredProjectId : configuredProjectId;
|
|
11
10
|
// Make sure we have a Project ID
|
|
12
11
|
if (!projectId) {
|
|
13
12
|
if (EnvTools.readValueAsBoolean(EnvVars.OptimizelyDebug, false))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experimentation-api.js","sourceRoot":"","sources":["../../src/api/experimentation-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAA;AACxC,OAAO,OAAO,MAAM,aAAa,CAAA;AAEjC,MAAM,CAAC,MAAM,yBAAyB,GAAqB;IACvD,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAClC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"experimentation-api.js","sourceRoot":"","sources":["../../src/api/experimentation-api.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,cAAc,CAAA;AACxC,OAAO,OAAO,MAAM,aAAa,CAAA;AAEjC,MAAM,CAAC,MAAM,yBAAyB,GAAqB;IACvD,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;IAClC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,MAAM,mBAAmB,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAA;QACjF,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,SAAS,CAAA;QACpD,MAAM,aAAa,GAAG,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;QAC/E,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,cAAc,IAAI,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAA;QAE7F,iCAAiC;QACjC,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,IAAI,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAA;YAC7E,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,EAAC,EAAE,GAAG,CAAC,CAAA;QACzE,CAAC;QAGD,MAAM,eAAe,GAAG,MAAM,KAAK,CAAC,iCAAkC,SAAU,KAAK,EAAE;YACnF,0CAA0C;YAC1C,IAAI,EAAE;gBACF,UAAU,EAAE,GAAG,CAAC,kCAAkC;aACrD;SACJ,CAAC,CAAA;QACF,IAAI,CAAC,eAAe,CAAC,EAAE,EAAE,CAAC;YACtB,IAAI,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC;gBAC3D,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAA;YACjF,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;QACrH,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,CAAA;QAEzC,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,EAAE,gCAAgC,CAAC,CAAA;IAC3E,CAAC;CACJ,CAAA;AAED,eAAe,yBAAyB,CAAA"}
|
|
@@ -45,9 +45,9 @@ export const AudiencesPanel = ({ servicePrefix = '/api/me', refreshInterval = 0
|
|
|
45
45
|
if (error)
|
|
46
46
|
return _jsx("p", { className: 'oo-m-2 md:oo-m-4 oo-rounded-md oo-bg-amber-200 oo-border oo-border-amber-800 oo-text-amber-800 oo-p-1 md:oo-p-2', children: "There was an error loading your profile information" });
|
|
47
47
|
// Show list
|
|
48
|
-
return _jsxs(_Fragment, { children: [
|
|
48
|
+
return _jsxs(_Fragment, { children: [hasMore && _jsxs("p", { className: 'oo-text-[14px] oo-border oo-border-amber-800 oo-bg-amber-200 oo-text-amber-800 oo-p-1 oo-my-1 oo-rounded-md', children: ["Showing results for the first ", size * pageSize, " audiences of ", audienceCount, ", ", _jsx("span", { onClick: () => setSize(size + 1), className: "oo-cursor-pointer oo-underline oo-text-blue-800", children: "load more" })] }), _jsx("ul", { className: 'oo-text-[14px] oo-grid oo-grid-cols-1 oo-divide-y oo-divide-slate-200', children: (profiles || []).map(profile => (profile?.audiences ?? []).map(a => {
|
|
49
49
|
return _jsxs("li", { className: 'oo-py-1', children: [_jsx(UserGroupIcon, { className: 'oo-inline-block oo-h-4 oo-w-4 oo-mr-2' }), a.name] }, "audience-" + a.id);
|
|
50
|
-
})).flat() }), hasMore && _jsx("p", { onClick: () => setSize(size + 1), className: 'oo-text-center oo-inline-block oo-cursor-pointer oo-px-2 oo-py-1 oo-border oo-border-b-0 oo-border-slate-300 oo-rounded-md oo-bg-blue-500 oo-text-white', children: "Load more" }), _jsxs("p", { className: 'oo-text-[12px] oo-m-2 oo-mt-3 oo-p-1 md:oo-p-2 oo-rounded-md oo-bg-amber-200 oo-border oo-border-amber-800 oo-text-amber-800', children: [_jsx("span", { className: 'oo-font-bold', children: "Please note:" }), " Interest based audiences are updated once per hour"] })] });
|
|
50
|
+
})).flat() }), _jsx("p", { className: 'oo-text-[12px]', children: "Powered by: Optimizely Data Platform" }), hasMore && _jsx("p", { onClick: () => setSize(size + 1), className: 'oo-text-center oo-inline-block oo-cursor-pointer oo-px-2 oo-py-1 oo-border oo-border-b-0 oo-border-slate-300 oo-rounded-md oo-bg-blue-500 oo-text-white', children: "Load more" }), isLoading && _jsxs("p", { className: 'oo-m-2 md:oo-m-4 oo-rounded-md oo-bg-amber-200 oo-border oo-border-amber-800 oo-text-amber-800 oo-p-1 md:oo-p-2', children: [_jsx(ArrowPathIcon, { className: 'oo-inline-block oo-h-4 oo-w-4 oo-mr-2 oo-animate-spin' }), "Loading the audiences..."] }), (isValidating && !isLoading) && _jsxs("p", { className: 'oo-text-[14px] oo-m-2 md:oo-m-4 oo-rounded-md oo-bg-amber-200 oo-border oo-border-amber-800 oo-text-amber-800 oo-p-1 md:oo-p-2', children: [_jsx(ArrowPathIcon, { className: 'oo-inline-block oo-h-4 oo-w-4 oo-ml-2 oo-animate-spin' }), " Refreshing audiences"] }), _jsxs("p", { className: 'oo-text-[12px] oo-m-2 oo-mt-3 oo-p-1 md:oo-p-2 oo-rounded-md oo-bg-amber-200 oo-border oo-border-amber-800 oo-text-amber-800', children: [_jsx("span", { className: 'oo-font-bold', children: "Please note:" }), " Interest based audiences are updated once per hour"] })] });
|
|
51
51
|
};
|
|
52
52
|
export default AudiencesPanel;
|
|
53
53
|
//# sourceMappingURL=audiences-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audiences-panel.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/audiences-panel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAA0B,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACxE,OAAO,cAA4E,MAAM,cAAc,CAAA;AAQvG,MAAM,WAAW,GAAmF,CAAC,aAAa,EAAE,QAAQ,EAAE,EAAE;IAC5H,MAAM,UAAU,GAAG,GAAI,aAAc,0BAA2B,QAAS,EAAE,CAAA;IAC3E,MAAM,MAAM,GAAsC,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE;QAC9E,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,kBAAkB,GAAG,SAAS;YAAE,OAAO,IAAI,CAAA;QACpF,OAAO,GAAI,UAAW,SAAU,SAAU,EAAE,CAAA;IAChD,CAAC,CAAA;IACD,OAAO,MAAM,CAAA;AACjB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAA4C,CAAC,EAAE,aAAa,GAAG,SAAS,EAAE,eAAe,GAAG,CAAC,EAAC,EAAE,EAAE;IAEzH,wBAAwB;IACxB,MAAM,QAAQ,GAAG,EAAE,CAAA;IACnB,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAA;IACnD,MAAM,MAAM,GAA0C;QAClD,WAAW,EAAE,CAAC;QACd,aAAa,EAAE,IAAI;QACnB,iBAAiB,EAAE,IAAI;QACvB,iBAAiB,EAAE,IAAI;QACvB,eAAe,EAAE,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,sDAAsD;QACnI,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACnB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACvB,IAAI,CAAC,CAAC,CAAC,EAAE;oBACL,MAAM,IAAI,KAAK,CAAC,GAAI,CAAC,CAAC,MAAO,KAAM,CAAC,CAAC,UAAW,EAAE,CAAC,CAAA;gBACvD,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;YACnB,CAAC,CAAC,CAAA;QACN,CAAC;KACJ,CAAA;IAED,gBAAgB;IAChB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,CAAa,MAAM,EAAE,MAAM,CAAC,CAAA;IAEpH,mCAAmC;IACnC,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,kBAAkB,IAAI,CAAC,CAAC,CAAA;IAC5E,MAAM,aAAa,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,cAAc,IAAI,CAAC,CAAC,CAAA;IACxE,MAAM,OAAO,GAAG,IAAI,GAAG,aAAa,CAAA;IAEpC,qEAAqE;IACrE,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,kBAAkB,IAAI,CAAC,CAAC,CAAC,CAAA;QACtE,IAAI,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO;YAC/B,OAAO,CAAC,OAAO,CAAC,CAAA;IACxB,CAAC,EAAE,CAAE,IAAI,EAAE,QAAQ,CAAE,CAAC,CAAA;IAEtB,eAAe;IACf,IAAI,KAAK;QACL,OAAO,YAAG,SAAS,EAAC,iHAAiH,oEAAwD,CAAA;IAEjM,YAAY;IACZ,OAAO,8BACD,
|
|
1
|
+
{"version":3,"file":"audiences-panel.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/audiences-panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState, useEffect } from 'react';
|
|
3
3
|
import Link from 'next/link';
|
|
4
4
|
import { useOptimizelyOne } from '../context';
|
|
@@ -36,7 +36,7 @@ export const ExpPanel = () => {
|
|
|
36
36
|
const expIds = experimentsArray.map(ed => ed.id);
|
|
37
37
|
return !expIds.includes(c.experiment.id);
|
|
38
38
|
});
|
|
39
|
-
return _jsxs("dl", { className: 'oo-text-[14px]', children: [_jsx("dt", { className: 'oo-font-bold oo-pt-1', children: "Script information:" }), _jsxs("dd", { children: ["Account id: ", data?.accountId, "; Project id: ", _jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}`, target: "_blank", className: "oo-underline oo-text-blue-800", children: data?.projectId }), "; Revision: ", data?.revision] }), _jsx("dt", { className: 'oo-font-bold oo-pt-1', children: "Active page(s):" }), _jsx("dd", { children: _jsx("ul", { children: pagesArray.map(p => _jsx("li", { children: _jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}/implementation/pages/${p.id}`, target: "_blank", className: "oo-underline oo-text-blue-800", children: p.name || p.apiName }) }, `exp-page-${data?.projectId}-${p.id}`)) }) }), _jsx("dt", { className: 'oo-font-bold oo-pt-1', children: "Active experiment(s):" }), _jsx("dd", { children: _jsx("ul", { children: experimentsArray.map(e => _jsxs("li", { children: [_jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}/experiments/${e.id}`, target: "_blank", className: "oo-underline oo-text-blue-800", children: e.experimentName || e.id }), ", variant: ", _jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}/experiments/${e.id}/variations/${e.variation.id}`, target: "_blank", className: "oo-underline oo-text-blue-800", children: e.variation.name || e.variation.id })] }, `exp-${data?.projectId}-${e.id}`)) }) }), _jsx("dt", { className: 'oo-font-bold oo-pt-1', children: "Active Personalization Campaigns(s):" }), _jsx("dd", { children: _jsx("ul", { children: filteredCampaigns.map(e => _jsxs("li", { children: [_jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}/campaigns/${e.id}`, target: "_blank", className: "oo-underline oo-text-blue-800", children: e.campaignName || e.id }), "; Audience(s): ", e.audiences.map(a => _jsxs("span", { children: [_jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}/audiences/${a.id}`, target: "_blank", className: "oo-underline oo-text-blue-800", children: a.name }), ", "] }, "exp-pers-aud-" + a.id))] }, `campaign-${data?.projectId}-${e.id}`)) }) })] });
|
|
39
|
+
return _jsxs(_Fragment, { children: [_jsxs("dl", { className: 'oo-text-[14px]', children: [_jsx("dt", { className: 'oo-font-bold oo-pt-1', children: "Script information:" }), _jsxs("dd", { children: ["Account id: ", data?.accountId, "; Project id: ", _jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}`, target: "_blank", className: "oo-underline oo-text-blue-800", children: data?.projectId }), "; Revision: ", data?.revision] }), _jsx("dt", { className: 'oo-font-bold oo-pt-1', children: "Active page(s):" }), _jsx("dd", { children: _jsx("ul", { children: pagesArray.map(p => _jsx("li", { children: _jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}/implementation/pages/${p.id}`, target: "_blank", className: "oo-underline oo-text-blue-800", children: p.name || p.apiName }) }, `exp-page-${data?.projectId}-${p.id}`)) }) }), _jsx("dt", { className: 'oo-font-bold oo-pt-1', children: "Active experiment(s):" }), _jsx("dd", { children: _jsx("ul", { children: experimentsArray.map(e => _jsxs("li", { children: [_jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}/experiments/${e.id}`, target: "_blank", className: "oo-underline oo-text-blue-800", children: e.experimentName || e.id }), ", variant: ", _jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}/experiments/${e.id}/variations/${e.variation.id}`, target: "_blank", className: "oo-underline oo-text-blue-800", children: e.variation.name || e.variation.id })] }, `exp-${data?.projectId}-${e.id}`)) }) }), _jsx("dt", { className: 'oo-font-bold oo-pt-1', children: "Active Personalization Campaigns(s):" }), _jsx("dd", { children: _jsx("ul", { children: filteredCampaigns.map(e => _jsxs("li", { children: [_jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}/campaigns/${e.id}`, target: "_blank", className: "oo-underline oo-text-blue-800", children: e.campaignName || e.id }), "; Audience(s): ", e.audiences.map(a => _jsxs("span", { children: [_jsx(Link, { href: `https://app.optimizely.com/v2/projects/${data?.projectId ?? ''}/audiences/${a.id}`, target: "_blank", className: "oo-underline oo-text-blue-800", children: a.name }), ", "] }, "exp-pers-aud-" + a.id))] }, `campaign-${data?.projectId}-${e.id}`)) }) })] }), _jsx("p", { className: 'oo-text-[12px]', children: "Powered by: Optimizely Web Experimentation" })] });
|
|
40
40
|
};
|
|
41
41
|
export default ExpPanel;
|
|
42
42
|
//# sourceMappingURL=exp-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exp-panel.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/exp-panel.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"exp-panel.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/exp-panel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { TrophyIcon, ArrowPathIcon } from '@heroicons/react/20/solid';
|
|
3
|
+
import useSWR from 'swr';
|
|
4
|
+
export const GoalsPanel = ({ servicePrefix = '/api/me', refreshInterval = 2000 }) => {
|
|
5
|
+
const serviceUrl = `${servicePrefix}/cgoals`;
|
|
6
|
+
const { data, isLoading, isValidating, error } = useSWR(serviceUrl, {
|
|
7
|
+
revalidateOnMount: true,
|
|
8
|
+
fetcher: () => fetch(serviceUrl).then(r => {
|
|
9
|
+
if (!r.ok)
|
|
10
|
+
throw new Error(`${r.status}: ${r.statusText}`);
|
|
11
|
+
return r.json();
|
|
12
|
+
}),
|
|
13
|
+
refreshInterval
|
|
14
|
+
});
|
|
15
|
+
if (error)
|
|
16
|
+
return _jsx("p", { className: 'oo-m-2 md:oo-m-4 oo-rounded-md oo-bg-amber-200 oo-border oo-border-amber-800 oo-text-amber-800 oo-p-1 md:oo-p-2', children: "There was an error loading your next best goals" });
|
|
17
|
+
const goals = (data?.goals ?? []).map(t => _jsxs("li", { className: 'oo-py-1', children: [_jsx(TrophyIcon, { className: 'oo-inline-block oo-h-[16px] oo-w-[16px] oo-mr-2' }), t.goal, " (", `${t.score * 100}%`, ")"] }, "goal-" + t.goal));
|
|
18
|
+
if (goals.length == 0)
|
|
19
|
+
goals.push(_jsx("li", { className: 'oo-py-1', children: _jsx("div", { className: "oo-m-2 md:oo-m-4 oo-rounded-md oo-bg-amber-200 oo-border oo-border-amber-800 oo-text-amber-800 oo-p-1 md:oo-p-2", children: "No goals inferred from behaviour" }) }, "no-topics"));
|
|
20
|
+
return _jsxs(_Fragment, { children: [_jsx("ul", { className: 'oo-text-[14px] oo-grid oo-grid-cols-1 oo-divide-y oo-divide-slate-200', children: goals }), _jsx("p", { className: 'oo-text-[12px]', children: "Powered by: Optimizely Content Recommendations" }), (isValidating && !isLoading) && _jsxs("p", { className: 'oo-text-[14px] oo-m-2 md:oo-m-4 oo-rounded-md oo-bg-amber-200 oo-border oo-border-amber-800 oo-text-amber-800 oo-p-1 md:oo-p-2', children: [_jsx(ArrowPathIcon, { className: 'oo-inline-block oo-h-4 oo-w-4 oo-ml-2 oo-animate-spin' }), " Refreshing goals"] }), isLoading && _jsxs("p", { className: 'oo-m-2 md:oo-m-4 oo-rounded-md oo-bg-amber-200 oo-border oo-border-amber-800 oo-text-amber-800 oo-p-1 md:oo-p-2', children: [_jsx(ArrowPathIcon, { className: 'oo-inline-block oo-h-4 oo-w-4 oo-mr-2 oo-animate-spin' }), " Loading goals"] })] });
|
|
21
|
+
};
|
|
22
|
+
export default GoalsPanel;
|
|
23
|
+
//# sourceMappingURL=goals-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"goals-panel.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/goals-panel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,MAAM,MAAM,KAAK,CAAA;AAQxB,MAAM,CAAC,MAAM,UAAU,GAAwC,CAAC,EAAE,aAAa,GAAG,SAAS,EAAE,eAAe,GAAG,IAAI,EAAE,EAAE,EAAE;IAErH,MAAM,UAAU,GAAG,GAAI,aAAc,SAAS,CAAA;IAC9C,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,MAAM,CAAc,UAAU,EAAE;QAC7E,iBAAiB,EAAE,IAAI;QACvB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YACtC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACL,MAAM,IAAI,KAAK,CAAC,GAAI,CAAC,CAAC,MAAO,KAAM,CAAC,CAAC,UAAW,EAAE,CAAC,CAAA;YACvD,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC,CAAC;QACF,eAAe;KAClB,CAAC,CAAA;IAEF,IAAI,KAAK;QACL,OAAO,YAAG,SAAS,EAAC,iHAAiH,gEAAoD,CAAA;IAE7L,MAAM,KAAK,GAAmB,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,cAAI,SAAS,EAAC,SAAS,aAC9E,KAAC,UAAU,IAAC,SAAS,EAAC,iDAAiD,GAAG,EAAE,CAAC,CAAC,IAAI,QAAM,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,GAAG,UADvB,OAAO,GAAC,CAAC,CAAC,IAAI,CAEjG,CAAC,CAAA;IACN,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,aAAI,SAAS,EAAC,SAAS,YAAiB,cAAK,SAAS,EAAC,iHAAiH,iDAAuC,IAAnL,WAAW,CAA6K,CAAC,CAAA;IAEpO,OAAO,8BACH,aAAI,SAAS,EAAC,uEAAuE,YAAG,KAAK,GAAO,EACpG,YAAG,SAAS,EAAC,gBAAgB,+DAAmD,EAC9E,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,aAAG,SAAS,EAAC,gIAAgI,aAAC,KAAC,aAAa,IAAC,SAAS,EAAC,uDAAuD,GAAG,yBAAqB,EACtR,SAAS,IAAI,aAAG,SAAS,EAAC,iHAAiH,aAAC,KAAC,aAAa,IAAC,SAAS,EAAC,uDAAuD,GAAG,sBAAkB,IACpP,CAAA;AACP,CAAC,CAAA;AAED,eAAe,UAAU,CAAA"}
|
|
@@ -3,7 +3,7 @@ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-run
|
|
|
3
3
|
import { Fragment, useLayoutEffect, useCallback } from 'react';
|
|
4
4
|
import useCookie from '../use-cookie';
|
|
5
5
|
import { Popover, PopoverButton, PopoverPanel, Tab, TabGroup, TabList, TabPanels, TabPanel } from '@headlessui/react';
|
|
6
|
-
import { ChevronUpIcon, UserGroupIcon, TagIcon, RocketLaunchIcon, IdentificationIcon, Square3Stack3DIcon } from '@heroicons/react/20/solid';
|
|
6
|
+
import { ChevronUpIcon, UserGroupIcon, TagIcon, RocketLaunchIcon, IdentificationIcon, Square3Stack3DIcon, TrophyIcon } from '@heroicons/react/20/solid';
|
|
7
7
|
import OptiLogo from './logo';
|
|
8
8
|
import { useIsInTestMode } from '../use-test-mode';
|
|
9
9
|
import { useSearchParams, usePathname } from 'next/navigation';
|
|
@@ -16,7 +16,8 @@ const Panels = {
|
|
|
16
16
|
Experiments: dynamic(() => import('./exp-panel'), { ssr: false }),
|
|
17
17
|
Interests: dynamic(() => import('./interests-panel'), { ssr: false }),
|
|
18
18
|
Audiences: dynamic(() => import('./audiences-panel'), { ssr: false }),
|
|
19
|
-
Graph: dynamic(() => import('./graph-panel'), { ssr: false })
|
|
19
|
+
Graph: dynamic(() => import('./graph-panel'), { ssr: false }),
|
|
20
|
+
Goals: dynamic(() => import('./goals-panel'), { ssr: false })
|
|
20
21
|
};
|
|
21
22
|
/**
|
|
22
23
|
* Add an Optimizely One Debug helper to the page, which can be triggered by
|
|
@@ -62,7 +63,7 @@ export const OptimizelyOneGadget = ({ servicePrefix = "/api/me", refreshInterval
|
|
|
62
63
|
console.log(`Optimizely One Demo API: ${servicePrefix}`);
|
|
63
64
|
console.log(`Refresh interval: ${refreshInterval == 0 ? 'DISABLED' : refreshInterval + 'ms'}`);
|
|
64
65
|
console.groupEnd();
|
|
65
|
-
return _jsxs(Popover, { className: "oo-gadget md:oo-fixed md:oo-bottom-0 oo-z-[500]", children: [_jsxs(PopoverButton, { className: 'oo-fixed oo-bottom-0 oo-right-0 oo-w-full oo-h-[50px] oo-flex oo-flex-row oo-justify-between oo-p-2 oo-border-t oo-border-slate-500 oo-bg-slate-100 oo-text-slate-800 md:oo-w-[350px] md:oo-right-4 md:oo-rounded-t-md md:oo-border-x oo-z-[500] oo-p-[10px] dark:oo-text-slate-800', children: [_jsx(OptiLogo, { className: 'oo-w-auto oo-h-full' }), _jsx(ChevronUpIcon, { className: "oo-ui-open:oo-rotate-180 oo-ui-open:oo-transform oo-h-full oo-w-auto oo-inline-block" })] }), _jsxs(PopoverPanel, { className: "oo-fixed oo-bottom-[50px] oo-right-0 oo-w-full oo-top-0 md:oo-border md:oo-border-slate-300 oo-bg-white md:oo-right-4 md:oo-bottom-[55px] md:oo-w-[600px] oo-z-[501] oo-max-w-full oo-flex oo-flex-col oo-justify-stretch md:oo-h-[350px] md:oo-top-auto md:oo-rounded-md md:oo-shadow-xl md:oo-overflow-hidden oo-text-slate-800 dark:oo-text-slate-800", children: [_jsxs("div", { className: "oo-border-b oo-border-slate-300 oo-bg-slate-100 oo-text-slate-800 oo-text-[18px] oo-font-bold oo-p-1 oo-flex-none md:oo-p-2", children: [_jsx(IdentificationIcon, { className: 'oo-inline-block oo-h-[24px] oo-w-[24px] oo-mr-2 oo-text-blue-500' }), "My Profile"] }), _jsxs(TabGroup, { as: Fragment, children: [_jsxs(TabList, { className: "oo-flex-none oo-flex oo-justify-between md:oo-justify-start oo-gap-2 oo-p-1 md:oo-p-2 oo-pb-0 md:oo-pb-0 oo-border-b oo-border-slate-300 oo-text-[14px]", children: [_jsxs(Tab, { as: "div", className: 'oo-text-center oo-inline-block oo-cursor-pointer oo-px-2 oo-py-1 oo-border oo-border-b-0 oo-border-slate-300 oo-rounded-t-md oo-ui-selected:oo-bg-blue-500 oo-ui-selected:oo-text-white', children: [_jsx(TagIcon, { className: 'oo-inline-block oo-h-[18px] oo-w-[18px] oo-mr-2' }), "Interests"] }), _jsxs(Tab, { as: "div", className: 'oo-text-center oo-inline-block oo-cursor-pointer oo-px-2 oo-py-1 oo-border oo-border-b-0 oo-border-slate-300 oo-rounded-t-md oo-ui-selected:oo-bg-blue-500 oo-ui-selected:oo-text-white', children: [_jsx(UserGroupIcon, { className: 'oo-inline-block oo-h-[18px] oo-w-[18px] oo-mr-2' }), "Audiences"] }), _jsxs(Tab, { as: "div", className: 'oo-text-center oo-inline-block oo-cursor-pointer oo-px-2 oo-py-1 oo-border oo-border-b-0 oo-border-slate-300 oo-rounded-t-md oo-ui-selected:oo-bg-blue-500 oo-ui-selected:oo-text-white', children: [_jsx(RocketLaunchIcon, { className: 'oo-inline-block oo-h-[18px] oo-w-[18px] oo-mr-2' }), "Experiments"] }), _jsxs(Tab, { as: "div", className: 'oo-text-center oo-inline-block oo-cursor-pointer oo-px-2 oo-py-1 oo-border oo-border-b-0 oo-border-slate-300 oo-rounded-t-md oo-ui-selected:oo-bg-blue-500 oo-ui-selected:oo-text-white', children: [_jsx(IdentificationIcon, { className: 'oo-inline-block oo-h-[18px] oo-w-[18px] oo-mr-2' }), "Identifiers"] }), _jsxs(Tab, { as: "div", className: 'oo-text-center oo-inline-block oo-cursor-pointer oo-px-2 oo-py-1 oo-border oo-border-b-0 oo-border-slate-300 oo-rounded-t-md oo-ui-selected:oo-bg-blue-500 oo-ui-selected:oo-text-white', children: [_jsx(Square3Stack3DIcon, { className: 'oo-inline-block oo-h-[18px] oo-w-[18px] oo-mr-2' }), "Graph"] })] }), _jsxs(TabPanels, { className: "oo-flex-1 md:oo-h-24 oo-overscroll-contain oo-overflow-y-auto", children: [_jsx(TabPanel, { as: "div", className: 'oo-p-1 md:oo-p-2', children: _jsx(Panels.Interests, { servicePrefix: servicePrefix, refreshInterval: refreshInterval }) }), _jsx(TabPanel, { as: "div", className: 'oo-p-1 md:oo-p-2', children: _jsx(Panels.Audiences, { servicePrefix: servicePrefix, refreshInterval: refreshInterval }) }), _jsx(TabPanel, { as: "div", className: 'oo-p-1 md:oo-p-2', children: _jsx(Panels.Experiments, {}) }), _jsx(TabPanel, { as: "div", className: 'oo-p-1 md:oo-p-2', children: _jsx(Panels.Ids, { servicePrefix: servicePrefix, refreshInterval: refreshInterval }) }), _jsx(TabPanel, { as: "div", className: 'oo-p-1 md:oo-p-2', children: _jsx(Panels.Graph, { servicePrefix: servicePrefix }) })] })] })] })] });
|
|
66
|
+
return _jsxs(Popover, { className: "oo-gadget md:oo-fixed md:oo-bottom-0 oo-z-[500]", children: [_jsxs(PopoverButton, { className: 'oo-fixed oo-bottom-0 oo-right-0 oo-w-full oo-h-[50px] oo-flex oo-flex-row oo-justify-between oo-p-2 oo-border-t oo-border-slate-500 oo-bg-slate-100 oo-text-slate-800 md:oo-w-[350px] md:oo-right-4 md:oo-rounded-t-md md:oo-border-x oo-z-[500] oo-p-[10px] dark:oo-text-slate-800', children: [_jsx(OptiLogo, { className: 'oo-w-auto oo-h-full' }), _jsx(ChevronUpIcon, { className: "oo-ui-open:oo-rotate-180 oo-ui-open:oo-transform oo-h-full oo-w-auto oo-inline-block" })] }), _jsxs(PopoverPanel, { className: "oo-fixed oo-bottom-[50px] oo-right-0 oo-w-full oo-top-0 md:oo-border md:oo-border-slate-300 oo-bg-white md:oo-right-4 md:oo-bottom-[55px] md:oo-w-[600px] oo-z-[501] oo-max-w-full oo-flex oo-flex-col oo-justify-stretch md:oo-h-[350px] md:oo-top-auto md:oo-rounded-md md:oo-shadow-xl md:oo-overflow-hidden oo-text-slate-800 dark:oo-text-slate-800", children: [_jsxs("div", { className: "oo-border-b oo-border-slate-300 oo-bg-slate-100 oo-text-slate-800 oo-text-[18px] oo-font-bold oo-p-1 oo-flex-none md:oo-p-2", children: [_jsx(IdentificationIcon, { className: 'oo-inline-block oo-h-[24px] oo-w-[24px] oo-mr-2 oo-text-blue-500' }), "My Profile"] }), _jsxs(TabGroup, { as: Fragment, children: [_jsxs(TabList, { className: "oo-flex-none oo-flex oo-justify-between md:oo-justify-start oo-gap-2 oo-p-1 md:oo-p-2 oo-pb-0 md:oo-pb-0 oo-border-b oo-border-slate-300 oo-text-[14px]", children: [_jsxs(Tab, { as: "div", className: 'oo-text-center oo-inline-block oo-cursor-pointer oo-px-2 oo-py-1 oo-border oo-border-b-0 oo-border-slate-300 oo-rounded-t-md oo-ui-selected:oo-bg-blue-500 oo-ui-selected:oo-text-white', children: [_jsx(TagIcon, { className: 'oo-inline-block oo-h-[18px] oo-w-[18px] oo-mr-2' }), "Interests"] }), _jsxs(Tab, { as: "div", className: 'oo-text-center oo-inline-block oo-cursor-pointer oo-px-2 oo-py-1 oo-border oo-border-b-0 oo-border-slate-300 oo-rounded-t-md oo-ui-selected:oo-bg-blue-500 oo-ui-selected:oo-text-white', children: [_jsx(TrophyIcon, { className: 'oo-inline-block oo-h-[18px] oo-w-[18px] oo-mr-2' }), "Goals"] }), _jsxs(Tab, { as: "div", className: 'oo-text-center oo-inline-block oo-cursor-pointer oo-px-2 oo-py-1 oo-border oo-border-b-0 oo-border-slate-300 oo-rounded-t-md oo-ui-selected:oo-bg-blue-500 oo-ui-selected:oo-text-white', children: [_jsx(UserGroupIcon, { className: 'oo-inline-block oo-h-[18px] oo-w-[18px] oo-mr-2' }), "Audiences"] }), _jsxs(Tab, { as: "div", className: 'oo-text-center oo-inline-block oo-cursor-pointer oo-px-2 oo-py-1 oo-border oo-border-b-0 oo-border-slate-300 oo-rounded-t-md oo-ui-selected:oo-bg-blue-500 oo-ui-selected:oo-text-white', children: [_jsx(RocketLaunchIcon, { className: 'oo-inline-block oo-h-[18px] oo-w-[18px] oo-mr-2' }), "Experiments"] }), _jsxs(Tab, { as: "div", className: 'oo-text-center oo-inline-block oo-cursor-pointer oo-px-2 oo-py-1 oo-border oo-border-b-0 oo-border-slate-300 oo-rounded-t-md oo-ui-selected:oo-bg-blue-500 oo-ui-selected:oo-text-white', children: [_jsx(IdentificationIcon, { className: 'oo-inline-block oo-h-[18px] oo-w-[18px] oo-mr-2' }), "Identifiers"] }), _jsxs(Tab, { as: "div", className: 'oo-text-center oo-inline-block oo-cursor-pointer oo-px-2 oo-py-1 oo-border oo-border-b-0 oo-border-slate-300 oo-rounded-t-md oo-ui-selected:oo-bg-blue-500 oo-ui-selected:oo-text-white', children: [_jsx(Square3Stack3DIcon, { className: 'oo-inline-block oo-h-[18px] oo-w-[18px] oo-mr-2' }), "Graph"] })] }), _jsxs(TabPanels, { className: "oo-flex-1 md:oo-h-24 oo-overscroll-contain oo-overflow-y-auto", children: [_jsx(TabPanel, { as: "div", className: 'oo-p-1 md:oo-p-2', children: _jsx(Panels.Interests, { servicePrefix: servicePrefix, refreshInterval: refreshInterval }) }), _jsx(TabPanel, { as: "div", className: 'oo-p-1 md:oo-p-2', children: _jsx(Panels.Goals, { servicePrefix: servicePrefix, refreshInterval: refreshInterval }) }), _jsx(TabPanel, { as: "div", className: 'oo-p-1 md:oo-p-2', children: _jsx(Panels.Audiences, { servicePrefix: servicePrefix, refreshInterval: refreshInterval }) }), _jsx(TabPanel, { as: "div", className: 'oo-p-1 md:oo-p-2', children: _jsx(Panels.Experiments, {}) }), _jsx(TabPanel, { as: "div", className: 'oo-p-1 md:oo-p-2', children: _jsx(Panels.Ids, { servicePrefix: servicePrefix, refreshInterval: refreshInterval }) }), _jsx(TabPanel, { as: "div", className: 'oo-p-1 md:oo-p-2', children: _jsx(Panels.Graph, { servicePrefix: servicePrefix }) })] })] })] })] });
|
|
66
67
|
};
|
|
67
68
|
export default OptimizelyOneGadget;
|
|
68
69
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/index.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AACZ,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,EAA0B,MAAM,OAAO,CAAA;AACtF,OAAO,SAAS,MAAM,eAAe,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACrH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ export const InterestsPanel = ({ servicePrefix = '/api/me', refreshInterval = 20
|
|
|
17
17
|
const contentTopics = (profile?.contentTopics ?? []).map(t => _jsxs("li", { className: 'oo-py-1', children: [_jsx(TagIcon, { className: 'oo-inline-block oo-h-[16px] oo-w-[16px] oo-mr-2' }), t] }, "topic-" + t));
|
|
18
18
|
if (contentTopics.length == 0)
|
|
19
19
|
contentTopics.push(_jsx("li", { className: 'oo-py-1', children: _jsx("div", { className: "oo-m-2 md:oo-m-4 oo-rounded-md oo-bg-amber-200 oo-border oo-border-amber-800 oo-text-amber-800 oo-p-1 md:oo-p-2", children: "No topics inferred from behaviour" }) }, "no-topics"));
|
|
20
|
-
return _jsxs(_Fragment, { children: [(isValidating && !isLoading) && _jsxs("p", { className: 'oo-text-[14px] oo-m-2 md:oo-m-4 oo-rounded-md oo-bg-amber-200 oo-border oo-border-amber-800 oo-text-amber-800 oo-p-1 md:oo-p-2', children: [_jsx(ArrowPathIcon, { className: 'oo-inline-block oo-h-4 oo-w-4 oo-ml-2 oo-animate-spin' }), " Refreshing interests"] }), isLoading && _jsxs("p", { className: 'oo-m-2 md:oo-m-4 oo-rounded-md oo-bg-amber-200 oo-border oo-border-amber-800 oo-text-amber-800 oo-p-1 md:oo-p-2', children: [_jsx(ArrowPathIcon, { className: 'oo-inline-block oo-h-4 oo-w-4 oo-mr-2 oo-animate-spin' }), " Loading interests"] })
|
|
20
|
+
return _jsxs(_Fragment, { children: [_jsx("ul", { className: 'oo-text-[14px] oo-grid oo-grid-cols-1 oo-divide-y oo-divide-slate-200', children: contentTopics }), _jsx("p", { className: 'oo-text-[12px]', children: "Powered by: Optimizely Content Recommendations" }), (isValidating && !isLoading) && _jsxs("p", { className: 'oo-text-[14px] oo-m-2 md:oo-m-4 oo-rounded-md oo-bg-amber-200 oo-border oo-border-amber-800 oo-text-amber-800 oo-p-1 md:oo-p-2', children: [_jsx(ArrowPathIcon, { className: 'oo-inline-block oo-h-4 oo-w-4 oo-ml-2 oo-animate-spin' }), " Refreshing interests"] }), isLoading && _jsxs("p", { className: 'oo-m-2 md:oo-m-4 oo-rounded-md oo-bg-amber-200 oo-border oo-border-amber-800 oo-text-amber-800 oo-p-1 md:oo-p-2', children: [_jsx(ArrowPathIcon, { className: 'oo-inline-block oo-h-4 oo-w-4 oo-mr-2 oo-animate-spin' }), " Loading interests"] })] });
|
|
21
21
|
};
|
|
22
22
|
export default InterestsPanel;
|
|
23
23
|
//# sourceMappingURL=interests-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interests-panel.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/interests-panel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,MAAM,MAAM,KAAK,CAAA;AASxB,MAAM,CAAC,MAAM,cAAc,GAA4C,CAAC,EAAE,aAAa,GAAG,SAAS,EAAE,eAAe,GAAG,IAAI,EAAE,EAAE,EAAE;IAE7H,MAAM,MAAM,GAAG,GAAI,aAAc,eAAe,CAAA;IAChD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,MAAM,CAAa,MAAM,EAAE;QACjF,iBAAiB,EAAE,IAAI;QACvB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAClC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACL,MAAM,IAAI,KAAK,CAAC,GAAI,CAAC,CAAC,MAAO,KAAM,CAAC,CAAC,UAAW,EAAE,CAAC,CAAA;YACvD,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC,CAAC;QACF,eAAe;KAClB,CAAC,CAAA;IAEF,IAAI,KAAK;QACL,OAAO,YAAG,SAAS,EAAC,iHAAiH,oEAAwD,CAAA;IAEjM,MAAM,aAAa,GAAmB,CAAC,OAAO,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,cAAI,SAAS,EAAC,SAAS,aAAkB,KAAC,OAAO,IAAC,SAAS,EAAC,iDAAiD,GAAG,EAAE,CAAC,KAAtF,QAAQ,GAAC,CAAC,CAAmF,CAAC,CAAA;IACzM,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC;QACzB,aAAa,CAAC,IAAI,CAAC,aAAI,SAAS,EAAC,SAAS,YAAiB,cAAK,SAAS,EAAC,iHAAiH,kDAAwC,IAApL,WAAW,CAA8K,CAAC,CAAA;IAE7O,OAAO,
|
|
1
|
+
{"version":3,"file":"interests-panel.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/interests-panel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AAClE,OAAO,MAAM,MAAM,KAAK,CAAA;AASxB,MAAM,CAAC,MAAM,cAAc,GAA4C,CAAC,EAAE,aAAa,GAAG,SAAS,EAAE,eAAe,GAAG,IAAI,EAAE,EAAE,EAAE;IAE7H,MAAM,MAAM,GAAG,GAAI,aAAc,eAAe,CAAA;IAChD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,MAAM,CAAa,MAAM,EAAE;QACjF,iBAAiB,EAAE,IAAI;QACvB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;YAClC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACL,MAAM,IAAI,KAAK,CAAC,GAAI,CAAC,CAAC,MAAO,KAAM,CAAC,CAAC,UAAW,EAAE,CAAC,CAAA;YACvD,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QACnB,CAAC,CAAC;QACF,eAAe;KAClB,CAAC,CAAA;IAEF,IAAI,KAAK;QACL,OAAO,YAAG,SAAS,EAAC,iHAAiH,oEAAwD,CAAA;IAEjM,MAAM,aAAa,GAAmB,CAAC,OAAO,EAAE,aAAa,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,cAAI,SAAS,EAAC,SAAS,aAAkB,KAAC,OAAO,IAAC,SAAS,EAAC,iDAAiD,GAAG,EAAE,CAAC,KAAtF,QAAQ,GAAC,CAAC,CAAmF,CAAC,CAAA;IACzM,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC;QACzB,aAAa,CAAC,IAAI,CAAC,aAAI,SAAS,EAAC,SAAS,YAAiB,cAAK,SAAS,EAAC,iHAAiH,kDAAwC,IAApL,WAAW,CAA8K,CAAC,CAAA;IAE7O,OAAO,8BACH,aAAI,SAAS,EAAC,uEAAuE,YAC/E,aAAa,GACd,EACL,YAAG,SAAS,EAAC,gBAAgB,+DAAmD,EAC9E,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,aAAG,SAAS,EAAC,gIAAgI,aAAC,KAAC,aAAa,IAAC,SAAS,EAAC,uDAAuD,GAAG,6BAAyB,EAC1R,SAAS,IAAI,aAAG,SAAS,EAAC,iHAAiH,aAAC,KAAC,aAAa,IAAC,SAAS,EAAC,uDAAuD,GAAG,0BAAsB,IACxP,CAAA;AACP,CAAC,CAAA;AAED,eAAe,cAAc,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snippet.js","sourceRoot":"","sources":["../../../src/products/content-recs/snippet.tsx"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,OAAO,MAAM,MAAM,aAAa,CAAA;AAOhC,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,KAAiC,EAAE,EAAE;IACrF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAA;IAC9B,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAA;IAElC,OAAO,KAAC,MAAM,IAAC,EAAE,EAAC,qBAAqB,EAAC,QAAQ,EAAC,mBAAmB,YAAE;;;qBAGpD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAE;uBACxB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAE;;;;;CAKnD,GACQ,CAAA;AACT,CAAC,CAAA;AAED,eAAe,mCAAmC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snippet.js","sourceRoot":"","sources":["../../../src/products/data-platform/snippet.tsx"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,OAAO,MAAM,MAAM,aAAa,CAAA;AAMhC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAkC,EAAE,EAAE;IAC/E,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;IACvD,OAAO,KAAC,MAAM,IAAC,EAAE,EAAC,sBAAsB,EAAC,QAAQ,EAAC,mBAAmB,YAAE;;;;;;;;;;;;;;;;;;;;;;;;gIAwBsD,MAAO;;;;CAIvI,GACQ,CAAA;AACT,CAAC,CAAA;AAED,eAAe,4BAA4B,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
export type OptimizelyWebExperimentationProps = {
|
|
2
2
|
projectId: string | number;
|
|
3
|
-
|
|
3
|
+
allowProjectOverride?: boolean;
|
|
4
|
+
useProxy?: boolean;
|
|
4
5
|
apiPrefix?: string;
|
|
5
6
|
};
|
|
6
|
-
export declare const OptimizelyWebExperimentationScript: ({ projectId,
|
|
7
|
+
export declare const OptimizelyWebExperimentationScript: ({ projectId, allowProjectOverride, useProxy, apiPrefix }: OptimizelyWebExperimentationProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
8
|
export default OptimizelyWebExperimentationScript;
|
|
@@ -0,0 +1,29 @@
|
|
|
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
|
+
import Script from 'next/script';
|
|
4
|
+
export const OptimizelyWebExperimentationScript = ({ projectId, allowProjectOverride = false, useProxy = false, apiPrefix = '/api/me' }) => {
|
|
5
|
+
function buildUrl(pid) {
|
|
6
|
+
return useProxy ?
|
|
7
|
+
`${apiPrefix}/exp?pid=${pid}` :
|
|
8
|
+
`https://cdn.optimizely.com/js/${pid}.js`;
|
|
9
|
+
}
|
|
10
|
+
return _jsxs(_Fragment, { children: [_jsx(Script, { id: 'web-experimentation-startup', strategy: 'beforeInteractive', children: `window["optimizely"] = window["optimizely"] || [];` }), allowProjectOverride ?
|
|
11
|
+
_jsx(Script, { id: 'web-experimentation-project', strategy: 'beforeInteractive', children: `
|
|
12
|
+
((w,d,l) => {
|
|
13
|
+
const localProject = l.getItem('_pid');
|
|
14
|
+
const queryProject = (new URLSearchParams(w.location.search)).get('pid');
|
|
15
|
+
const currentProject = queryProject || localProject || '${projectId}';
|
|
16
|
+
if (currentProject != localProject)
|
|
17
|
+
l.setItem('_pid', currentProject)
|
|
18
|
+
|
|
19
|
+
let ia = d.createElement('script');
|
|
20
|
+
ia.async=0;
|
|
21
|
+
ia.src='${buildUrl('\'+ currentProject +\'')}';
|
|
22
|
+
let s=d.getElementsByTagName('script')[0];
|
|
23
|
+
s.parentNode.insertBefore(ia,s);
|
|
24
|
+
})(window,document,localStorage)
|
|
25
|
+
` }) :
|
|
26
|
+
_jsx(Script, { id: 'web-experimentation-project', strategy: 'beforeInteractive', src: buildUrl(projectId) })] });
|
|
27
|
+
};
|
|
28
|
+
export default OptimizelyWebExperimentationScript;
|
|
29
|
+
//# sourceMappingURL=snippet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snippet.js","sourceRoot":"","sources":["../../../src/products/web-experimentation/snippet.tsx"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,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;IAE1K,SAAS,QAAQ,CAAC,GAAkB;QAEhC,OAAO,QAAQ,CAAC,CAAC;YACb,GAAI,SAAU,YAAa,GAAI,EAAE,CAAC,CAAC;YACnC,iCAAkC,GAAI,KAAK,CAAA;IACnD,CAAC;IAED,OAAO,8BACH,KAAC,MAAM,IAAC,EAAE,EAAC,6BAA6B,EAAC,QAAQ,EAAC,mBAAmB,YAAG,oDAAoD,GAAU,EACpI,oBAAoB,CAAC,CAAC;gBACpB,KAAC,MAAM,IAAC,EAAE,EAAC,6BAA6B,EAAC,QAAQ,EAAC,mBAAmB,YAAE;;;;8DAIpB,SAAU;;;;;;cAM1D,QAAQ,CAAC,wBAAwB,CAAE;;;;aAIrC,GAAU,CAAC,CAAC;gBACb,KAAC,MAAM,IAAC,EAAE,EAAC,6BAA6B,EAAC,QAAQ,EAAC,mBAAmB,EAAC,GAAG,EAAG,QAAQ,CAAC,SAAS,CAAC,GAAK,IAEzG,CAAA;AACP,CAAC,CAAA;AAED,eAAe,kCAAkC,CAAA"}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
|
2
2
|
import 'server-only';
|
|
3
3
|
import EnvTools from '../../utils/env';
|
|
4
4
|
import EnvVars from '../../env-vars';
|
|
5
|
-
import CRecsScript from '
|
|
5
|
+
import CRecsScript from '../../products/content-recs/snippet';
|
|
6
6
|
export default function (props) {
|
|
7
7
|
const crecs_client = props.contentRecsClient || EnvTools.readValue(EnvVars.ContentRecsClient);
|
|
8
8
|
const crecs_delivery = props.contentRecsDelivery || EnvTools.readValueAsInt(EnvVars.ContentRecsDelivery);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../src/server-components/scripts/footer.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,CAAA;AACpB,OAAO,QAAQ,MAAM,iBAAiB,CAAA;AACtC,OAAO,OAAO,MAAM,gBAAgB,CAAA;AACpC,OAAO,WAAW,MAAM,
|
|
1
|
+
{"version":3,"file":"footer.js","sourceRoot":"","sources":["../../../src/server-components/scripts/footer.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,CAAA;AACpB,OAAO,QAAQ,MAAM,iBAAiB,CAAA;AACtC,OAAO,OAAO,MAAM,gBAAgB,CAAA;AACpC,OAAO,WAAW,MAAM,qCAAqC,CAAA;AAO7D,MAAM,CAAC,OAAO,WAAW,KAAyB;IAE9C,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,IAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAC5F,MAAM,cAAc,GAAG,KAAK,CAAC,mBAAmB,IAAI,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAA;IACxG,OAAO,4BACD,YAAY,IAAI,cAAc,IAAI,KAAC,WAAW,IAAC,MAAM,EAAG,YAAY,EAAG,QAAQ,EAAG,cAAc,GAAK,GACxG,CAAA;AACP,CAAC"}
|
|
@@ -1,6 +1,49 @@
|
|
|
1
1
|
import 'server-only';
|
|
2
2
|
export type HeaderScriptsProps = {
|
|
3
|
+
/**
|
|
4
|
+
* The public or private key for the Optimizely Data Platform that will be
|
|
5
|
+
* used to add the ODP tracking script.
|
|
6
|
+
*
|
|
7
|
+
* If not provided, it will be read from the "OPTIMIZELY_DATAPLATFORM_ID"
|
|
8
|
+
* environment variable.
|
|
9
|
+
*/
|
|
3
10
|
dataPlatformTrackerId?: string;
|
|
11
|
+
/**
|
|
12
|
+
* The Optimizely Web Experimentation Project ID that will be used within the
|
|
13
|
+
* frontend.
|
|
14
|
+
*
|
|
15
|
+
* If not provided, it will be read from the "OPTIMIZELY_WEB_EXPERIMENTATION_PROJECT"
|
|
16
|
+
* environment variable.
|
|
17
|
+
*/
|
|
4
18
|
experimentationProjectId?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Allow (persisted using localStorage) overriding of the Web Experimentation
|
|
21
|
+
* ProjectID. This is usefull if you need to use one demo site with multiple
|
|
22
|
+
* projects.
|
|
23
|
+
*
|
|
24
|
+
* If not provided (i.e. undefined), it will allow overriding based upon the
|
|
25
|
+
* "OPTIMIZELY_ONE_HELPER" environment variable.
|
|
26
|
+
*/
|
|
27
|
+
experimentationAllowOverride?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* When set, the Web Experimentation script will be proxied through a Next.JS
|
|
30
|
+
* api, so there's no call to the optimizely.com domain within the page. The
|
|
31
|
+
* snippet will be cached for 15 minutes, so this will add an additional delay
|
|
32
|
+
* to publishing new experiments.
|
|
33
|
+
*/
|
|
34
|
+
useScriptProxy?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* The path where the proxy, included within this package has been installed,
|
|
37
|
+
* it defaults to /api/me, which is the path used when following the
|
|
38
|
+
* instructions of the README.
|
|
39
|
+
*/
|
|
40
|
+
apiPrefix?: string;
|
|
5
41
|
};
|
|
6
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Add the Scripts that must be included within the frontend to use the Optimizely
|
|
44
|
+
* One services.
|
|
45
|
+
*
|
|
46
|
+
* @param param0 The parameters for this component
|
|
47
|
+
* @returns The fragment with all Header Scripts
|
|
48
|
+
*/
|
|
49
|
+
export default function ({ dataPlatformTrackerId, experimentationProjectId, experimentationAllowOverride, useScriptProxy, apiPrefix }: HeaderScriptsProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -2,12 +2,19 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
|
|
|
2
2
|
import 'server-only';
|
|
3
3
|
import EnvTools from '../../utils/env';
|
|
4
4
|
import EnvVars from '../../env-vars';
|
|
5
|
-
import OdpScript from '
|
|
6
|
-
import ExpScript from '
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
import OdpScript from '../../products/data-platform/snippet';
|
|
6
|
+
import ExpScript from '../../products/web-experimentation/snippet';
|
|
7
|
+
/**
|
|
8
|
+
* Add the Scripts that must be included within the frontend to use the Optimizely
|
|
9
|
+
* One services.
|
|
10
|
+
*
|
|
11
|
+
* @param param0 The parameters for this component
|
|
12
|
+
* @returns The fragment with all Header Scripts
|
|
13
|
+
*/
|
|
14
|
+
export default function ({ dataPlatformTrackerId, experimentationProjectId, experimentationAllowOverride, useScriptProxy = false, apiPrefix = '/api/me' }) {
|
|
15
|
+
const odp_id = dataPlatformTrackerId || EnvTools.readValue(EnvVars.OdpApiKey);
|
|
16
|
+
const exp_id = experimentationProjectId || EnvTools.readValue(EnvVars.WebExperimentationProject);
|
|
17
|
+
const useOptiOneHelper = experimentationAllowOverride == undefined ? EnvTools.readValueAsBoolean(EnvVars.HelperEnabled, false) : experimentationAllowOverride;
|
|
18
|
+
return _jsxs(_Fragment, { children: [odp_id && _jsx(OdpScript, { trackerId: odp_id }), exp_id && _jsx(ExpScript, { projectId: exp_id, allowProjectOverride: useOptiOneHelper, useProxy: useScriptProxy, apiPrefix: apiPrefix })] });
|
|
12
19
|
}
|
|
13
20
|
//# sourceMappingURL=header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/server-components/scripts/header.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,CAAA;AACpB,OAAO,QAAQ,MAAM,iBAAiB,CAAA;AACtC,OAAO,OAAO,MAAM,gBAAgB,CAAA;AACpC,OAAO,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/server-components/scripts/header.tsx"],"names":[],"mappings":";AAAA,OAAO,aAAa,CAAA;AACpB,OAAO,QAAQ,MAAM,iBAAiB,CAAA;AACtC,OAAO,OAAO,MAAM,gBAAgB,CAAA;AACpC,OAAO,SAAS,MAAM,sCAAsC,CAAA;AAC5D,OAAO,SAAS,MAAM,4CAA4C,CAAA;AA+ClE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,WAAW,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,4BAA4B,EAC5B,cAAc,GAAG,KAAK,EACtB,SAAS,GAAG,SAAS,EACJ;IAEjB,MAAM,MAAM,GAAG,qBAAqB,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAC7E,MAAM,MAAM,GAAG,wBAAwB,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAA;IAChG,MAAM,gBAAgB,GAAG,4BAA4B,IAAI,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,4BAA4B,CAAA;IAC7J,OAAO,8BACD,MAAM,IAAI,KAAC,SAAS,IAAC,SAAS,EAAG,MAAM,GAAK,EAC5C,MAAM,IAAI,KAAC,SAAS,IAAC,SAAS,EAAG,MAAM,EAAG,oBAAoB,EAAG,gBAAgB,EAAG,QAAQ,EAAG,cAAc,EAAG,SAAS,EAAG,SAAS,GAAI,IAC5I,CAAA;AACP,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remkoj/optimizely-one-nextjs",
|
|
3
3
|
"license": "Apache-2.0",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.3",
|
|
5
5
|
"packageManager": "yarn@4.1.1",
|
|
6
6
|
"repository": "https://github.com/remkoj/optimizely-dxp-clients.git",
|
|
7
7
|
"author": "Remko Jantzen <693172+remkoj@users.noreply.github.com>",
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"@headlessui/react": "^2.1.2",
|
|
44
44
|
"@headlessui/tailwindcss": "^0.2.1",
|
|
45
45
|
"@heroicons/react": "^2.1.5",
|
|
46
|
-
"@remkoj/optimizely-graph-client": "^2.0.
|
|
47
|
-
"@types/node": "^22.
|
|
46
|
+
"@remkoj/optimizely-graph-client": "^2.0.3",
|
|
47
|
+
"@types/node": "^22.2.0",
|
|
48
48
|
"@types/react": "^18.3.3",
|
|
49
49
|
"@types/react-dom": "18.3.0",
|
|
50
50
|
"@types/uuid": "^10.0.0",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"react-dom": "^18.3.1",
|
|
56
56
|
"scheduler": "^0.23.2",
|
|
57
57
|
"swr": "^2.2.5",
|
|
58
|
-
"tailwindcss": "^3.4.
|
|
58
|
+
"tailwindcss": "^3.4.9",
|
|
59
59
|
"typescript": "^5.5.4",
|
|
60
60
|
"update-browserslist-db": "^1.1.0",
|
|
61
61
|
"uuid": "^10.0.0"
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"peerDependencies": {
|
|
64
64
|
"@headlessui/react": "*",
|
|
65
65
|
"@heroicons/react": "*",
|
|
66
|
-
"@remkoj/optimizely-graph-client": "^2.0.
|
|
66
|
+
"@remkoj/optimizely-graph-client": "^2.0.3",
|
|
67
67
|
"next": "*",
|
|
68
68
|
"react": "*",
|
|
69
69
|
"react-dom": "*",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-next-best-goals.js","sourceRoot":"","sources":["../../src/components/use-next-best-goals.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,KAAK,CAAA;AAMxB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC7B,OAAO,GAAG,gBAAgB,EACV,EAAE,EAAE;IAEpB,OAAO,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AACjC,CAAC,CAAA;AAED,eAAe,gBAAgB,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"optimizely-content-recs.js","sourceRoot":"","sources":["../../../../src/server-components/scripts/snippets/optimizely-content-recs.tsx"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,OAAO,MAAM,MAAM,aAAa,CAAA;AAOhC,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,KAAiC,EAAE,EAAE;IACrF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAA;IAC9B,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAA;IAElC,OAAO,KAAC,MAAM,IAAC,EAAE,EAAC,qBAAqB,EAAC,QAAQ,EAAC,mBAAmB,YAAE;;;qBAGpD,IAAI,CAAC,SAAS,CAAC,SAAS,CAAE;uBACxB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAE;;;;;CAKnD,GACQ,CAAA;AACT,CAAC,CAAA;AAED,eAAe,mCAAmC,CAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"optimizely-data-patform.js","sourceRoot":"","sources":["../../../../src/server-components/scripts/snippets/optimizely-data-patform.tsx"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,OAAO,MAAM,MAAM,aAAa,CAAA;AAMhC,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,KAAkC,EAAE,EAAE;IAC/E,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,CAAA;IACvD,OAAO,KAAC,MAAM,IAAC,EAAE,EAAC,sBAAsB,EAAC,QAAQ,EAAC,mBAAmB,YAAE;;;;;;;;;;;;;;;;;;;;;;;;gIAwBsD,MAAO;;;;CAIvI,GACQ,CAAA;AACT,CAAC,CAAA;AAED,eAAe,4BAA4B,CAAA"}
|
|
@@ -1,9 +0,0 @@
|
|
|
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
|
-
import Script from 'next/script';
|
|
4
|
-
export const OptimizelyWebExperimentationScript = ({ projectId, apiPrefix = "/api/me", useApiProxy = false }) => {
|
|
5
|
-
const scriptSrc = useApiProxy ? `${apiPrefix}/exp` : `https://cdn.optimizely.com/js/${projectId}.js`;
|
|
6
|
-
return _jsxs(_Fragment, { children: [_jsx(Script, { id: 'web-experimentation-startup', strategy: 'beforeInteractive', children: `window["optimizely"] = window["optimizely"] || [];` }), _jsx(Script, { id: 'web-experimentation-project', strategy: 'beforeInteractive', src: scriptSrc })] });
|
|
7
|
-
};
|
|
8
|
-
export default OptimizelyWebExperimentationScript;
|
|
9
|
-
//# sourceMappingURL=optimizely-web-experimentation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"optimizely-web-experimentation.js","sourceRoot":"","sources":["../../../../src/server-components/scripts/snippets/optimizely-web-experimentation.tsx"],"names":[],"mappings":";AAAA,wEAAwE;AACxE,OAAO,MAAM,MAAM,aAAa,CAAA;AAQhC,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,WAAW,GAAG,KAAK,EAAqC,EAAE,EAAE;IAE/I,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,GAAI,SAAU,MAAM,CAAC,CAAC,CAAC,iCAAkC,SAAU,KAAK,CAAA;IACxG,OAAO,8BACH,KAAC,MAAM,IAAC,EAAE,EAAC,6BAA6B,EAAC,QAAQ,EAAC,mBAAmB,YAAG,oDAAoD,GAAU,EACtI,KAAC,MAAM,IAAC,EAAE,EAAC,6BAA6B,EAAC,QAAQ,EAAC,mBAAmB,EAAC,GAAG,EAAG,SAAS,GAAK,IAC3F,CAAA;AACP,CAAC,CAAA;AAED,eAAe,kCAAkC,CAAA"}
|
|
File without changes
|