@remkoj/optimizely-one-nextjs 2.0.0-pre2 → 2.0.0-pre4

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.
@@ -0,0 +1,3 @@
1
+ import type { ApiService } from './types';
2
+ export declare const ExperimentationApiService: ApiService<any>;
3
+ export default ExperimentationApiService;
@@ -0,0 +1,33 @@
1
+ import * as EnvTools from '../utils/env';
2
+ import EnvVars from '../env-vars';
3
+ export const ExperimentationApiService = {
4
+ for: { path: '/exp', verb: 'get' },
5
+ handler: async (query, cookies) => {
6
+ const configuredProjectId = EnvTools.readValue(EnvVars.WebExperimentationProject);
7
+ const cookieProjectId = cookies.get("wx.projectid")?.value;
8
+ const queryProjectId = query.get('wx.projectid') ?? undefined;
9
+ const helperEnabled = EnvTools.readValueAsBoolean(EnvVars.HelperEnabled, false);
10
+ const projectId = helperEnabled ? cookieProjectId ?? queryProjectId ?? configuredProjectId : configuredProjectId;
11
+ // Make sure we have a Project ID
12
+ if (!projectId) {
13
+ if (EnvTools.readValueAsBoolean(EnvVars.OptimizelyDebug, false))
14
+ console.log("🔴 No Optimizely Web Experimentation Project ID identified");
15
+ return [{ error: { message: "Project not found", status: 404 } }, 404];
16
+ }
17
+ const snippetResponse = await fetch(`https://cdn.optimizely.com/js/${projectId}.js`, {
18
+ //@ts-expect-error: Next.JS extended fetch
19
+ next: {
20
+ revalidate: 900 // Cache the script for 15 minutes
21
+ }
22
+ });
23
+ if (!snippetResponse.ok) {
24
+ if (EnvTools.readValueAsBoolean(EnvVars.OptimizelyDebug, false))
25
+ console.log("🔴 Non OK response from the Optimizely Web Experimentation CDN");
26
+ return [{ error: { message: snippetResponse.statusText, status: snippetResponse.status } }, snippetResponse.status];
27
+ }
28
+ const body = await snippetResponse.text();
29
+ return [body, snippetResponse.status, "text/javascript; charset=utf-8"];
30
+ },
31
+ };
32
+ export default ExperimentationApiService;
33
+ //# sourceMappingURL=experimentation-api.js.map
@@ -0,0 +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,OAAO,EAAE,EAAE;QAC9B,MAAM,mBAAmB,GAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAA;QACjF,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,CAAA;QAC1D,MAAM,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,SAAS,CAAA;QAC7D,MAAM,aAAa,GAAG,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;QAC/E,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,eAAe,IAAI,cAAc,IAAI,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAA;QAEhH,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"}
package/dist/api/index.js CHANGED
@@ -3,12 +3,14 @@ import { NextResponse } from 'next/server';
3
3
  import { cookies } from 'next/headers';
4
4
  import ProfileApiService from './profile-api-service';
5
5
  import GraphInfoApiService from './graph-info-service';
6
+ import ExperimentationApiService from './experimentation-api';
6
7
  export function createOptimizelyOneApi(config) {
7
8
  const pathParameterName = config?.pathParameterName ?? 'path';
8
9
  const services = [
9
10
  ...(config?.services || []),
10
11
  ProfileApiService,
11
- GraphInfoApiService
12
+ GraphInfoApiService,
13
+ ExperimentationApiService
12
14
  ];
13
15
  // Basic service matcher, but get's the job done for now
14
16
  function matchService(verb, path, serviceFor) {
@@ -33,9 +35,14 @@ export function createOptimizelyOneApi(config) {
33
35
  return NextResponse.json({ error: { status: 404, message: "Not found" } }, { status: 404 });
34
36
  // Invoke the service
35
37
  const c = cookies();
36
- const [response, statusCode] = await apiService.handler(request.nextUrl.searchParams, c);
38
+ const [response, statusCode, contentType] = await apiService.handler(request.nextUrl.searchParams, c);
39
+ const headers = new Headers();
40
+ if (contentType)
41
+ headers.set("Content-Type", contentType);
37
42
  // Return the outcome
38
- return NextResponse.json(response, { status: statusCode });
43
+ if (typeof response == 'string')
44
+ return new NextResponse(response, { headers, status: statusCode });
45
+ return NextResponse.json(response, { headers, status: statusCode });
39
46
  }
40
47
  return handler;
41
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AACpB,OAAO,EAAoB,YAAY,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,iBAAiB,MAAM,uBAAuB,CAAA;AACrD,OAAO,mBAAmB,MAAM,sBAAsB,CAAA;AAkBtD,MAAM,UAAU,sBAAsB,CAAC,MAAwC;IAE3E,MAAM,iBAAiB,GAAG,MAAM,EAAE,iBAAiB,IAAI,MAAM,CAAA;IAC7D,MAAM,QAAQ,GAAG;QACb,GAAG,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC3B,iBAAiB;QACjB,mBAAmB;KACtB,CAAA;IAED,wDAAwD;IACxD,SAAS,YAAY,CAAC,IAAY,EAAE,IAAY,EAAE,UAA6B;QAE3E,OAAO,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;YACtD,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAA;IAC3D,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,OAAoB,EAAE,OAAuB;QAEhE,iEAAiE;QACjE,IAAI,OAAO,GAAmC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAC/E,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,GAAG,CAAA;aACtB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aAC7D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,GAAG,GAAG,OAAO,CAAA;QAC1D,MAAM,IAAI,GAAY,OAAO,CAAA;QAC7B,qMAAqM;QACrM,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAA;QAE3B,mBAAmB;QACnB,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAC,IAAI,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QAChF,IAAI,CAAC,UAAU;YACX,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,EAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAE9F,qBAAqB;QACrB,MAAM,CAAC,GAAG,OAAO,EAAE,CAAA;QACnB,MAAM,CAAE,QAAQ,EAAE,UAAU,CAAE,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;QAE1F,qBAAqB;QACrB,OAAO,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,OAAO,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,CAAA;AACpB,OAAO,EAAoB,YAAY,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,iBAAiB,MAAM,uBAAuB,CAAA;AACrD,OAAO,mBAAmB,MAAM,sBAAsB,CAAA;AACtD,OAAO,yBAAyB,MAAM,uBAAuB,CAAA;AAkB7D,MAAM,UAAU,sBAAsB,CAAC,MAAwC;IAE3E,MAAM,iBAAiB,GAAG,MAAM,EAAE,iBAAiB,IAAI,MAAM,CAAA;IAC7D,MAAM,QAAQ,GAAG;QACb,GAAG,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC3B,iBAAiB;QACjB,mBAAmB;QACnB,yBAAyB;KAC5B,CAAA;IAED,wDAAwD;IACxD,SAAS,YAAY,CAAC,IAAY,EAAE,IAAY,EAAE,UAA6B;QAE3E,OAAO,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE;YACtD,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAA;IAC3D,CAAC;IAED,KAAK,UAAU,OAAO,CAAC,OAAoB,EAAE,OAAuB;QAEhE,iEAAiE;QACjE,IAAI,OAAO,GAAmC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAC/E,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,GAAG,CAAA;aACtB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aAC7D,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,GAAG,GAAG,OAAO,CAAA;QAC1D,MAAM,IAAI,GAAY,OAAO,CAAA;QAC7B,qMAAqM;QACrM,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAA;QAE3B,mBAAmB;QACnB,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAC,IAAI,EAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QAChF,IAAI,CAAC,UAAU;YACX,OAAO,YAAY,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,WAAW,EAAE,EAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;QAE9F,qBAAqB;QACrB,MAAM,CAAC,GAAG,OAAO,EAAE,CAAA;QACnB,MAAM,CAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAE,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC,CAAA;QAEvG,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC9B,IAAI,WAAW;YACX,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;QAE5C,qBAAqB;QACrB,IAAI,OAAO,QAAQ,IAAI,QAAQ;YAC3B,OAAO,IAAI,YAAY,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;QACtE,OAAO,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAA;IACvE,CAAC;IACD,OAAO,OAAO,CAAA;AAClB,CAAC"}
@@ -6,7 +6,7 @@ export type ApiServiceErrorMessage = {
6
6
  message: string;
7
7
  };
8
8
  };
9
- export type ApiServiceErrorResponse = [ApiServiceErrorMessage, number];
9
+ export type ApiServiceErrorResponse = [ApiServiceErrorMessage, number] | [string, number, string];
10
10
  export type ApiServiceResponse<T extends {} = {}> = [T, 200 | undefined] | ApiServiceErrorResponse;
11
11
  export type ApiService<T extends {} = {}> = {
12
12
  for: {
@@ -1,9 +1,12 @@
1
1
  'use client';
2
2
  import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { Popover, Tab } from '@headlessui/react';
3
+ import { Fragment, useLayoutEffect, useCallback } from 'react';
4
+ import useCookie from '../use-cookie';
5
+ import { Popover, PopoverButton, PopoverPanel, Tab, TabGroup, TabList, TabPanels, TabPanel } from '@headlessui/react';
4
6
  import { ChevronUpIcon, UserGroupIcon, TagIcon, RocketLaunchIcon, IdentificationIcon, Square3Stack3DIcon } from '@heroicons/react/20/solid';
5
7
  import OptiLogo from './logo';
6
8
  import { useIsInTestMode } from '../use-test-mode';
9
+ import { useSearchParams, usePathname } from 'next/navigation';
7
10
  // Import the Panel CSS
8
11
  import '../../styles.css';
9
12
  // Prepare panel imports
@@ -25,6 +28,32 @@ const Panels = {
25
28
  */
26
29
  export const OptimizelyOneGadget = ({ servicePrefix = "/api/me", refreshInterval = 0, show = undefined }) => {
27
30
  const inTestMode = useIsInTestMode();
31
+ const searchParams = useSearchParams();
32
+ const pathname = usePathname();
33
+ const wxProjectIdParam = searchParams.get('pid');
34
+ const [projectIdCookie, setProjectIdCookie, removeProjectIdCookie] = useCookie('wx.projectid');
35
+ const removeQueryParam = useCallback((paramName) => {
36
+ const newParams = new URLSearchParams(searchParams.toString());
37
+ if (newParams.has(paramName))
38
+ newParams.delete(paramName);
39
+ const newSearch = newParams.toString();
40
+ const newPath = pathname + (newSearch.length > 0 ? '?' + newParams.toString() : '');
41
+ try {
42
+ window.location.href = newPath;
43
+ }
44
+ catch (e) {
45
+ console.log("🛑 Refreshing the page to apply the new Web Experimenation project failed, please refresh manually.");
46
+ }
47
+ }, [pathname, searchParams]);
48
+ useLayoutEffect(() => {
49
+ if (wxProjectIdParam != null && wxProjectIdParam != projectIdCookie) {
50
+ if (wxProjectIdParam == "")
51
+ removeProjectIdCookie();
52
+ else
53
+ setProjectIdCookie(wxProjectIdParam);
54
+ removeQueryParam('pid');
55
+ }
56
+ }, [wxProjectIdParam, projectIdCookie, removeQueryParam, removeProjectIdCookie, setProjectIdCookie]);
28
57
  const forceHidden = show != undefined && show == false;
29
58
  const forceShown = show != undefined && show == true;
30
59
  if (forceHidden || (!forceShown && !inTestMode))
@@ -33,7 +62,7 @@ export const OptimizelyOneGadget = ({ servicePrefix = "/api/me", refreshInterval
33
62
  console.log(`Optimizely One Demo API: ${servicePrefix}`);
34
63
  console.log(`Refresh interval: ${refreshInterval == 0 ? 'DISABLED' : refreshInterval + 'ms'}`);
35
64
  console.groupEnd();
36
- return _jsxs(Popover, { className: "oo-gadget md:oo-fixed md:oo-bottom-0 oo-z-[500]", children: [_jsxs(Popover.Button, { 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]', 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(Popover.Panel, { 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", 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(Tab.Group, { children: [_jsxs(Tab.List, { 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(Tab.Panels, { className: "oo-flex-1 md:oo-h-24 oo-overscroll-contain oo-overflow-y-auto", children: [_jsx(Tab.Panel, { as: "div", className: 'oo-p-1 md:oo-p-2', children: _jsx(Panels.Interests, { servicePrefix: servicePrefix, refreshInterval: refreshInterval }) }), _jsx(Tab.Panel, { as: "div", className: 'oo-p-1 md:oo-p-2', children: _jsx(Panels.Audiences, { servicePrefix: servicePrefix, refreshInterval: refreshInterval }) }), _jsx(Tab.Panel, { as: "div", className: 'oo-p-1 md:oo-p-2', children: _jsx(Panels.Experiments, {}) }), _jsx(Tab.Panel, { as: "div", className: 'oo-p-1 md:oo-p-2', children: _jsx(Panels.Ids, { servicePrefix: servicePrefix, refreshInterval: refreshInterval }) }), _jsx(Tab.Panel, { as: "div", className: 'oo-p-1 md:oo-p-2', children: _jsx(Panels.Graph, { servicePrefix: servicePrefix }) })] })] })] })] });
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]', 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", 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 }) })] })] })] })] });
37
66
  };
38
67
  export default OptimizelyOneGadget;
39
68
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/optimizely-one-gadget/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export declare function useCookie<T extends string | undefined>(cookieName: string, defaultValue?: T): [
2
+ T extends string ? string : string | undefined,
3
+ (newValue: T extends string ? string | undefined : string) => void,
4
+ () => void
5
+ ];
6
+ /**
7
+ * Try fetching the DOM Document, returning null if the current DOM Document
8
+ * cannot be found (e.g. server side)
9
+ *
10
+ * @returns The Document or undefined when on server side
11
+ */
12
+ export declare const useDocument: () => Document | undefined;
13
+ export default useCookie;
@@ -0,0 +1,41 @@
1
+ import { useCallback, useMemo } from "react";
2
+ export function useCookie(cookieName, defaultValue) {
3
+ const doc = useDocument();
4
+ const cv = useMemo(() => {
5
+ if (!doc)
6
+ return defaultValue;
7
+ const cookieData = doc.cookie.split(';').map(x => x.trim().split('=', 2).map(x => decodeURIComponent(x)));
8
+ const cookie = cookieData.filter(x => x[0] == cookieName)[0];
9
+ const val = (cookie ? cookie[1] ?? defaultValue : defaultValue);
10
+ return val;
11
+ }, [cookieName, defaultValue, doc]);
12
+ const sc = useCallback((newValue) => {
13
+ if (!doc)
14
+ return;
15
+ const cookieString = `${encodeURIComponent(cookieName)}=${encodeURIComponent(newValue ?? defaultValue ?? '')}`;
16
+ doc.cookie = cookieString;
17
+ }, [cookieName, doc]);
18
+ const rc = useCallback(() => {
19
+ if (!doc)
20
+ return;
21
+ const cookieString = `${encodeURIComponent(cookieName)}=`;
22
+ doc.cookie = cookieString;
23
+ }, [cookieName, doc]);
24
+ return [cv, sc, rc];
25
+ }
26
+ /**
27
+ * Try fetching the DOM Document, returning null if the current DOM Document
28
+ * cannot be found (e.g. server side)
29
+ *
30
+ * @returns The Document or undefined when on server side
31
+ */
32
+ export const useDocument = () => {
33
+ try {
34
+ return window.document;
35
+ }
36
+ catch {
37
+ return undefined;
38
+ }
39
+ };
40
+ export default useCookie;
41
+ //# sourceMappingURL=use-cookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-cookie.js","sourceRoot":"","sources":["../../src/components/use-cookie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE5C,MAAM,UAAU,SAAS,CAA+B,UAAkB,EAAE,YAAgB;IAMxF,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;IACzB,MAAM,EAAE,GAAG,OAAO,CAAiD,GAAG,EAAE;QACpE,IAAI,CAAC,GAAG;YACJ,OAAO,YAA8D,CAAA;QACzE,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAA2B,CAAA;QACnI,MAAM,MAAM,GAA+B,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QACxF,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAmD,CAAA;QACjH,OAAO,GAAG,CAAA;IACd,CAAC,EAAE,CAAE,UAAU,EAAE,YAAY,EAAE,GAAG,CAAE,CAAC,CAAA;IAErC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,QAAwD,EAAE,EAAE;QAChF,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,MAAM,YAAY,GAAG,GAAI,kBAAkB,CAAC,UAAU,CAAE,IAAK,kBAAkB,CAAC,QAAQ,IAAI,YAAY,IAAI,EAAE,CAAC,EAAE,CAAA;QACjH,GAAG,CAAC,MAAM,GAAG,YAAY,CAAA;IAC7B,CAAC,EAAE,CAAE,UAAU,EAAE,GAAG,CAAE,CAAC,CAAA;IAEvB,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;QACxB,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,MAAM,YAAY,GAAG,GAAI,kBAAkB,CAAC,UAAU,CAAE,GAAG,CAAA;QAC3D,GAAG,CAAC,MAAM,GAAG,YAAY,CAAA;IAC7B,CAAC,EAAE,CAAE,UAAU,EAAE,GAAG,CAAE,CAAC,CAAA;IAEvB,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAE5B,IAAI,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAA;IACpB,CAAC;AACL,CAAC,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -0,0 +1,12 @@
1
+ export declare function useCookie<T extends string | undefined>(cookieName: string, defaultValue?: T): [
2
+ T extends string ? string : string | undefined,
3
+ (newValue: T extends string ? string | undefined : string) => void,
4
+ () => void
5
+ ];
6
+ /**
7
+ * Try fetching the DOM Document, returning null if the current DOM Document
8
+ * cannot be found (e.g. server side)
9
+ *
10
+ * @returns The Document or undefined when on server side
11
+ */
12
+ export declare const useDocument: () => Document | undefined;
@@ -0,0 +1,40 @@
1
+ import { useCallback, useMemo } from "react";
2
+ export function useCookie(cookieName, defaultValue) {
3
+ const doc = useDocument();
4
+ const cv = useMemo(() => {
5
+ if (!doc)
6
+ return defaultValue;
7
+ const cookieData = doc.cookie.split(';').map(x => x.trim().split('=', 2).map(x => decodeURIComponent(x)));
8
+ const cookie = cookieData.filter(x => x[0] == cookieName)[0];
9
+ const val = (cookie ? cookie[1] ?? defaultValue : defaultValue);
10
+ return val;
11
+ }, [cookieName, defaultValue, doc]);
12
+ const sc = useCallback((newValue) => {
13
+ if (!doc)
14
+ return;
15
+ const cookieString = `${encodeURIComponent(cookieName)}=${encodeURIComponent(newValue ?? defaultValue ?? '')}`;
16
+ doc.cookie = cookieString;
17
+ }, [cookieName, doc]);
18
+ const rc = useCallback(() => {
19
+ if (!doc)
20
+ return;
21
+ const cookieString = `${encodeURIComponent(cookieName)}=`;
22
+ doc.cookie = cookieString;
23
+ }, [cookieName, doc]);
24
+ return [cv, sc, rc];
25
+ }
26
+ /**
27
+ * Try fetching the DOM Document, returning null if the current DOM Document
28
+ * cannot be found (e.g. server side)
29
+ *
30
+ * @returns The Document or undefined when on server side
31
+ */
32
+ export const useDocument = () => {
33
+ try {
34
+ return window.document;
35
+ }
36
+ catch {
37
+ return undefined;
38
+ }
39
+ };
40
+ //# sourceMappingURL=useCookie.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCookie.js","sourceRoot":"","sources":["../../src/components/useCookie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE5C,MAAM,UAAU,SAAS,CAA+B,UAAkB,EAAE,YAAgB;IAMxF,MAAM,GAAG,GAAG,WAAW,EAAE,CAAA;IACzB,MAAM,EAAE,GAAG,OAAO,CAAiD,GAAG,EAAE;QACpE,IAAI,CAAC,GAAG;YACJ,OAAO,YAA8D,CAAA;QACzE,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAA2B,CAAA;QACnI,MAAM,MAAM,GAA+B,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QACxF,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,YAAY,CAAmD,CAAA;QACjH,OAAO,GAAG,CAAA;IACd,CAAC,EAAE,CAAE,UAAU,EAAE,YAAY,EAAE,GAAG,CAAE,CAAC,CAAA;IAErC,MAAM,EAAE,GAAG,WAAW,CAAC,CAAC,QAAwD,EAAE,EAAE;QAChF,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,MAAM,YAAY,GAAG,GAAI,kBAAkB,CAAC,UAAU,CAAE,IAAK,kBAAkB,CAAC,QAAQ,IAAI,YAAY,IAAI,EAAE,CAAC,EAAE,CAAA;QACjH,GAAG,CAAC,MAAM,GAAG,YAAY,CAAA;IAC7B,CAAC,EAAE,CAAE,UAAU,EAAE,GAAG,CAAE,CAAC,CAAA;IAEvB,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;QACxB,IAAI,CAAC,GAAG;YAAE,OAAM;QAChB,MAAM,YAAY,GAAG,GAAI,kBAAkB,CAAC,UAAU,CAAE,GAAG,CAAA;QAC3D,GAAG,CAAC,MAAM,GAAG,YAAY,CAAA;IAC7B,CAAC,EAAE,CAAE,UAAU,EAAE,GAAG,CAAE,CAAC,CAAA;IAEvB,OAAO,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAE5B,IAAI,CAAC;QACD,OAAO,MAAM,CAAC,QAAQ,CAAA;IAC1B,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAA;IACpB,CAAC;AACL,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const useQueryParam: (paramName: string, defaultValue?: string) => void;
2
+ export default useQueryParam;
@@ -0,0 +1,28 @@
1
+ import { useCallback } from "react";
2
+ export const useQueryParam = (paramName, defaultValue) => {
3
+ const value = getQueryParam(paramName, defaultValue);
4
+ const remove = useCallback(() => {
5
+ return removeQueryParam(paramName);
6
+ }, [paramName]);
7
+ const set = useCallback((newValue) => {
8
+ return setQueryParam(paramName, newValue);
9
+ }, [paramName]);
10
+ };
11
+ function setQueryParam(key, newValue) {
12
+ }
13
+ function removeQueryParam(key) {
14
+ }
15
+ function getQueryParam(key, defaultValue) {
16
+ return getQueryParams().get(key) ?? defaultValue;
17
+ }
18
+ function getQueryParams() {
19
+ try {
20
+ const { search } = window.location;
21
+ return new URLSearchParams(search);
22
+ }
23
+ catch {
24
+ return new URLSearchParams();
25
+ }
26
+ }
27
+ export default useQueryParam;
28
+ //# sourceMappingURL=useQueryParam.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useQueryParam.js","sourceRoot":"","sources":["../../src/components/useQueryParam.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAW,MAAM,OAAO,CAAA;AAG5C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,SAAiB,EAAE,YAAqB,EAAE,EAAE;IAEtE,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;IACpD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC5B,OAAO,gBAAgB,CAAC,SAAS,CAAC,CAAA;IACtC,CAAC,EAAE,CAAE,SAAS,CAAE,CAAC,CAAA;IACjB,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,QAAgB,EAAE,EAAE;QACzC,OAAO,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;IAC7C,CAAC,EAAE,CAAE,SAAS,CAAE,CAAC,CAAA;AACrB,CAAC,CAAA;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,QAAgB;AAEpD,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;AAErC,CAAC;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,YAAqB;IACrD,OAAO,cAAc,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,YAAY,CAAA;AACpD,CAAC;AAED,SAAS,cAAc;IAEnB,IAAI,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAA;QAClC,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAA;IACtC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,eAAe,EAAE,CAAA;IAChC,CAAC;AACL,CAAC;AAED,eAAe,aAAa,CAAA"}
@@ -8,6 +8,7 @@ export declare const enum EnvVars {
8
8
  ContentRecsDeliveryKey = "OPTIMIZELY_CONTENTRECS_DELIVERY_KEY",
9
9
  ContentRecsHost = "OPTIMIZELY_CONTENTRECS_API",
10
10
  FrontendCookie = "OPTIMIZELY_FRONTEND_COOKIE",
11
- WebExperimentationProject = "OPTIMIZELY_WEB_EXPERIMENTATION_PROJECT"
11
+ WebExperimentationProject = "OPTIMIZELY_WEB_EXPERIMENTATION_PROJECT",
12
+ OptimizelyDebug = "OPTIMIZELY_DEBUG"
12
13
  }
13
14
  export default EnvVars;
package/dist/env-vars.js CHANGED
@@ -10,6 +10,7 @@ export var EnvVars;
10
10
  EnvVars["ContentRecsHost"] = "OPTIMIZELY_CONTENTRECS_API";
11
11
  EnvVars["FrontendCookie"] = "OPTIMIZELY_FRONTEND_COOKIE";
12
12
  EnvVars["WebExperimentationProject"] = "OPTIMIZELY_WEB_EXPERIMENTATION_PROJECT";
13
+ EnvVars["OptimizelyDebug"] = "OPTIMIZELY_DEBUG";
13
14
  })(EnvVars || (EnvVars = {}));
14
15
  export default EnvVars;
15
16
  //# sourceMappingURL=env-vars.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-vars.js","sourceRoot":"","sources":["../src/env-vars.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAkB,OAWjB;AAXD,WAAkB,OAAO;IACrB,mDAAwC,CAAA;IACxC,0DAA+C,CAAA;IAC/C,sEAA2D,CAAA;IAC3D,kDAAuC,CAAA;IACvC,8DAAmD,CAAA;IACnD,kEAAuD,CAAA;IACvD,yEAA8D,CAAA;IAC9D,yDAA8C,CAAA;IAC9C,wDAA6C,CAAA;IAC7C,+EAAoE,CAAA;AACxE,CAAC,EAXiB,OAAO,KAAP,OAAO,QAWxB;AACD,eAAe,OAAO,CAAA"}
1
+ {"version":3,"file":"env-vars.js","sourceRoot":"","sources":["../src/env-vars.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAkB,OAYjB;AAZD,WAAkB,OAAO;IACrB,mDAAwC,CAAA;IACxC,0DAA+C,CAAA;IAC/C,sEAA2D,CAAA;IAC3D,kDAAuC,CAAA;IACvC,8DAAmD,CAAA;IACnD,kEAAuD,CAAA;IACvD,yEAA8D,CAAA;IAC9D,yDAA8C,CAAA;IAC9C,wDAA6C,CAAA;IAC7C,+EAAoE,CAAA;IACpE,+CAAoC,CAAA;AACxC,CAAC,EAZiB,OAAO,KAAP,OAAO,QAYxB;AACD,eAAe,OAAO,CAAA"}
@@ -7,6 +7,7 @@ import ExpScript from './snippets/optimizely-web-experimentation';
7
7
  export default function (props) {
8
8
  const odp_id = props.dataPlatformTrackerId || EnvTools.readValue(EnvVars.OdpApiKey);
9
9
  const exp_id = props.experimentationProjectId || EnvTools.readValue(EnvVars.WebExperimentationProject);
10
- return _jsxs(_Fragment, { children: [odp_id && _jsx(OdpScript, { trackerId: odp_id }), exp_id && _jsx(ExpScript, { projectId: exp_id })] });
10
+ const useOptiOneHelper = EnvTools.readValueAsBoolean(EnvVars.HelperEnabled, false);
11
+ return _jsxs(_Fragment, { children: [odp_id && _jsx(OdpScript, { trackerId: odp_id }), exp_id && _jsx(ExpScript, { projectId: exp_id, useApiProxy: useOptiOneHelper })] });
11
12
  }
12
13
  //# 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,oCAAoC,CAAA;AAC1D,OAAO,SAAS,MAAM,2CAA2C,CAAA;AAOjE,MAAM,CAAC,OAAO,WAAW,KAAyB;IAE9C,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACnF,MAAM,MAAM,GAAG,KAAK,CAAC,wBAAwB,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAA;IACtG,OAAO,8BACD,MAAM,IAAI,KAAC,SAAS,IAAC,SAAS,EAAG,MAAM,GAAK,EAC5C,MAAM,IAAI,KAAC,SAAS,IAAC,SAAS,EAAG,MAAM,GAAK,IAC/C,CAAA;AACP,CAAC"}
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,oCAAoC,CAAA;AAC1D,OAAO,SAAS,MAAM,2CAA2C,CAAA;AAOjE,MAAM,CAAC,OAAO,WAAW,KAAyB;IAE9C,MAAM,MAAM,GAAG,KAAK,CAAC,qBAAqB,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACnF,MAAM,MAAM,GAAG,KAAK,CAAC,wBAAwB,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAA;IACtG,MAAM,gBAAgB,GAAG,QAAQ,CAAC,kBAAkB,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAA;IAClF,OAAO,8BACD,MAAM,IAAI,KAAC,SAAS,IAAC,SAAS,EAAG,MAAM,GAAK,EAC5C,MAAM,IAAI,KAAC,SAAS,IAAC,SAAS,EAAG,MAAM,EAAG,WAAW,EAAG,gBAAgB,GAAK,IAChF,CAAA;AACP,CAAC"}
@@ -1,5 +1,7 @@
1
1
  export type OptimizelyWebExperimentationProps = {
2
2
  projectId: string | number;
3
+ useApiProxy?: boolean;
4
+ apiPrefix?: string;
3
5
  };
4
- export declare const OptimizelyWebExperimentationScript: (props: OptimizelyWebExperimentationProps) => import("react/jsx-runtime").JSX.Element;
6
+ export declare const OptimizelyWebExperimentationScript: ({ projectId, apiPrefix, useApiProxy }: OptimizelyWebExperimentationProps) => import("react/jsx-runtime").JSX.Element;
5
7
  export default OptimizelyWebExperimentationScript;
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* eslint @next/next/no-before-interactive-script-outside-document: 0 */
3
3
  import Script from 'next/script';
4
- export const OptimizelyWebExperimentationScript = (props) => {
5
- const project_id = props.projectId;
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: `https://cdn.optimizely.com/js/${project_id}.js` })] });
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
7
  };
8
8
  export default OptimizelyWebExperimentationScript;
9
9
  //# sourceMappingURL=optimizely-web-experimentation.js.map
@@ -1 +1 @@
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;AAMhC,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,KAAwC,EAAE,EAAE;IAC3F,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAA;IAElC,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,iCAAkC,UAAW,KAAK,GAAI,IACnI,CAAA;AACP,CAAC,CAAA;AAED,eAAe,kCAAkC,CAAA"}
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"}
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.0-pre2",
4
+ "version": "2.0.0-pre4",
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>",
@@ -40,14 +40,15 @@
40
40
  }
41
41
  },
42
42
  "devDependencies": {
43
- "@headlessui/react": "^2.0.1",
43
+ "@headlessui/react": "^2.0.4",
44
44
  "@headlessui/tailwindcss": "^0.2.0",
45
45
  "@heroicons/react": "^2.1.3",
46
- "@remkoj/optimizely-graph-client": "^2.0.0-pre2",
47
- "@types/node": "^20.12.10",
48
- "@types/react": "^18.3.1",
46
+ "@remkoj/optimizely-graph-client": "^2.0.0-pre4",
47
+ "@types/node": "^20.12.12",
48
+ "@types/react": "^18.3.3",
49
49
  "@types/react-dom": "18.3.0",
50
50
  "@types/uuid": "^9.0.8",
51
+ "browserslist": "^4.23.0",
51
52
  "next": "^14.2.3",
52
53
  "prop-types": "^15.8.1",
53
54
  "react": "^18.3.1",
@@ -56,12 +57,13 @@
56
57
  "swr": "^2.2.5",
57
58
  "tailwindcss": "^3.4.3",
58
59
  "typescript": "^5.4.5",
60
+ "update-browserslist-db": "^1.0.16",
59
61
  "uuid": "^9.0.1"
60
62
  },
61
63
  "peerDependencies": {
62
64
  "@headlessui/react": "*",
63
65
  "@heroicons/react": "*",
64
- "@remkoj/optimizely-graph-client": "^2.0.0-pre2",
66
+ "@remkoj/optimizely-graph-client": "^2.0.0-pre4",
65
67
  "next": "*",
66
68
  "react": "*",
67
69
  "react-dom": "*",