@uniformdev/context-react 17.5.1-alpha.6 → 17.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,19 @@
1
- import { Context, Quirks, ScoreVector, PersonalizedVariant, TestVariant, EnrichmentData } from '@uniformdev/context';
1
+ import { Quirks, ScoreVector, Context, PersonalizedVariant, TestVariant, EnrichmentData } from '@uniformdev/context';
2
2
  import * as react from 'react';
3
3
  import react__default, { ReactNode, ReactElement, HTMLAttributes } from 'react';
4
4
 
5
+ /**
6
+ * Provides reactive access to the Uniform Context's current visitor quirks values
7
+ * This can be used when you want to read current quirk values directly.
8
+ */
9
+ declare function useQuirks(): Quirks;
10
+
11
+ /**
12
+ * Provides reactive access to the Uniform Context's current visitor scores values.
13
+ * This can be used when you want to read current score values directly.
14
+ */
15
+ declare function useScores(): ScoreVector;
16
+
5
17
  declare type VariantOutputType = 'edge' | 'standard';
6
18
  interface UniformContextProps$1 {
7
19
  /** The configured Uniform Context instance to provide */
@@ -49,18 +61,6 @@ interface UseUniformContextDoesNotThrowOptions extends UseUniformContextOptions
49
61
  declare function useUniformContext(options?: UseUniformContextThrowsOptions): UniformContextProps;
50
62
  declare function useUniformContext(options?: UseUniformContextDoesNotThrowOptions): UniformContextProps | undefined;
51
63
 
52
- /**
53
- * Provides reactive access to the Uniform Context's current visitor quirks values
54
- * This can be used when you want to read current quirk values directly.
55
- */
56
- declare function useQuirks(): Quirks;
57
-
58
- /**
59
- * Provides reactive access to the Uniform Context's current visitor scores values.
60
- * This can be used when you want to read current score values directly.
61
- */
62
- declare function useScores(): ScoreVector;
63
-
64
64
  declare type PersonalizeWrapperComponent = react__default.ComponentType<{
65
65
  children: ReactNode;
66
66
  personalizationOccurred: boolean;
@@ -195,7 +195,7 @@ declare const Track: ({ behavior, children, tagName, threshold, disableVisibilit
195
195
  results?: number | undefined;
196
196
  security?: string | undefined;
197
197
  unselectable?: "on" | "off" | undefined;
198
- inputMode?: "search" | "text" | "url" | "none" | "tel" | "email" | "numeric" | "decimal" | undefined;
198
+ inputMode?: "url" | "search" | "text" | "none" | "tel" | "email" | "numeric" | "decimal" | undefined;
199
199
  is?: string | undefined;
200
200
  'aria-activedescendant'?: string | undefined;
201
201
  'aria-atomic'?: (boolean | "true" | "false") | undefined;
package/dist/index.esm.js CHANGED
@@ -1 +1 @@
1
- import{useContext as j}from"react";import{createContext as _}from"react";var V=_(void 0),U=_({});function s(e={}){let{throwOnMissingProvider:o=!0}=e,t=j(V);if(o){if(t===void 0)throw new Error("useUniformContext must be used within a <UniformContext> provider");return t}return t}import{useEffect as X,useState as G}from"react";function Ee(){let{context:e}=s(),[o,t]=G(e.quirks),r=n=>{t(n)};return X(()=>(e.events.on("quirksUpdated",r),()=>{e.events.off("quirksUpdated",r)}),[e]),o}import{useEffect as K,useState as Y}from"react";import{dequal as Z}from"dequal/lite";function I(){let{context:e}=s(),[o,t]=Y(e.scores);return K(()=>{let r=a=>{t(a)},n=e.scores;return Z(o,n)||t(n),e.events.on("scoresUpdated",r),()=>{e.events.off("scoresUpdated",r)}},[e]),o}import H from"react";import P,{useMemo as $}from"react";function M({variations:e,component:o,wrapperComponent:t,name:r,count:n=1}){let{context:a}=s(),i=I(),{variations:m,personalized:d}=$(()=>a.personalize({name:r,variations:e,take:n}),[i,a,n,r,e]),l=t!=null?t:({children:c})=>P.createElement(P.Fragment,null,c),g=o;return P.createElement(U.Provider,{value:{personalized:!0}},m.length?P.createElement(l,{personalizationOccurred:d},m.map(c=>P.createElement(g,{key:c.id,personalizationResult:{variation:c,personalizationOccurred:d},...c}))):null)}import{ScriptType as z}from"@uniformdev/context";import x,{Fragment as oe}from"react";import{EdgeNodeTagName as ee}from"@uniformdev/context";import{createElement as te}from"react";var u=e=>te(ee,e);function N(e){let{variations:o,count:t,component:r}=e,n={name:e.name,count:t!=null?t:1},a=r;return x.createElement(x.Fragment,null,x.createElement(u,{"data-type":z.ListStart,dangerouslySetInnerHTML:{__html:JSON.stringify(n)}}),o.map(i=>x.createElement(oe,{key:i.id},x.createElement(u,{"data-type":z.ListItemSettings,dangerouslySetInnerHTML:{__html:JSON.stringify({id:i.id,pz:i.pz||null})}}),x.createElement(u,{"data-type":z.ListItem},x.createElement(a,{key:i.id,personalizationResult:{variation:i,personalizationOccurred:!1},...i})))),x.createElement(u,{"data-type":z.ListEnd}))}var C=typeof window=="undefined";function Ke(e){var t;let{outputType:o}=(t=s({throwOnMissingProvider:!1}))!=null?t:{};if(!o)throw new Error("Using the <Personalize /> component requires the <UniformContext> provider to be present.");return!C||o==="standard"?H.createElement(M,{...e}):o==="edge"?H.createElement(N,{...e}):null}import R from"react";import{ScriptType as h}from"@uniformdev/context";import T,{Fragment as re}from"react";function A(e){let{name:o,variations:t,component:r}=e,n={name:o},a=r;return T.createElement(T.Fragment,null,T.createElement(u,{"data-type":h.TestStart,dangerouslySetInnerHTML:{__html:JSON.stringify(n)}}),t.map((i,m)=>T.createElement(re,{key:i.id},T.createElement(u,{"data-type":h.ListItemSettings,dangerouslySetInnerHTML:{__html:JSON.stringify({id:i.id})}}),T.createElement(u,{"data-type":h.ListItem},T.createElement(a,{key:m,...i})))),T.createElement(u,{"data-type":h.TestEnd}))}import ne from"react";var F=({name:e,variations:o,component:t})=>{let{context:r}=s(),{result:n}=r.test({name:e,variations:o});return n?ne.createElement(t,{...n}):null};var xt=e=>{var t;let{outputType:o}=(t=s({throwOnMissingProvider:!1}))!=null?t:{};if(!o)throw new Error("Using the <Test /> component requires the <UniformContext> provider to be present.");return!C||o==="standard"?R.createElement(F,{...e}):o==="edge"?R.createElement(A,{...e}):null};import k,{useEffect as ie}from"react";import{SERVER_STATE_ID as se}from"@uniformdev/context";import ae from"cookie";var zt=({context:e,children:o,outputType:t="standard",trackRouteOnRender:r=!0})=>(ie(()=>{C||!r||e.update({url:new URL(window.location.href),cookies:ae.parse(document.cookie)})}),k.createElement(V.Provider,{value:{context:e,outputType:t}},o,C?k.createElement(me,null):null));function me(){let{context:e}=s(),o=e.getServerToClientTransitionState();return k.createElement("script",{id:se,type:"application/json",dangerouslySetInnerHTML:{__html:JSON.stringify(o)}})}import{createElement as fe,useEffect as D,useRef as q,useState as b}from"react";import{useContext as pe}from"react";var S=e=>{let{personalized:o}=pe(U);return typeof o!="undefined"?o:typeof(e==null?void 0:e.personalized)!="undefined"?e.personalized:!1};var It=({behavior:e,children:o,tagName:t="div",threshold:r=.5,disableVisibilityTrigger:n=typeof window=="undefined"||!("IntersectionObserver"in window),...a})=>{let i=typeof document=="undefined"?"__uniform_ssr_url":document.location.href,{context:m}=s(),d=S(),[l,g]=b(),[c,y]=b(!1),O=q(null),p=q();return D(()=>{l!==i&&(y(!1),g(i))},[i,l]),D(()=>{var L;let w=!e||Array.isArray(e)&&!e.length;if(d||w||!O.current)return;let W=Array.isArray(e)?e:[e],v=()=>{var f;c||(m.update({enrichments:W}),y(!0),(f=p.current)==null||f.call(p))};if(n)v();else{(L=p.current)==null||L.call(p);let f=new IntersectionObserver(([E])=>{E.isIntersecting&&v()},{threshold:r});f.observe(O.current),p.current=()=>{var E;return(E=f.disconnect)==null?void 0:E.call(f)}}return()=>{var f;(f=p.current)==null||f.call(p)}},[m,e,n,r,d,l,i,c]),fe(t,{...a,ref:O},o)};import J from"react";import{useEffect as B,useState as Q}from"react";var Dt=({behavior:e,children:o})=>{let t=typeof document=="undefined"?"__uniform_ssr_url":document.location.href,{context:r}=s(),n=S(),[a,i]=Q(),[m,d]=Q(!1);return B(()=>{a!==t&&(d(!1),i(t))},[t,a]),B(()=>{let l=!e||Array.isArray(e)&&!e.length;if(n||l)return;(()=>{if(m)return;let y=Array.isArray(e)?e:[e];r.update({enrichments:y}),d(!0)})()},[r,e,n,m]),J.createElement(J.Fragment,null,o)};export{Ke as Personalize,xt as Test,It as Track,Dt as TrackFragment,zt as UniformContext,Ee as useQuirks,I as useScores,s as useUniformContext};
1
+ import{useEffect as j,useState as X}from"react";function xe(){let{context:e}=s(),[o,t]=X(e.quirks),r=n=>{t(n)};return j(()=>(e.events.on("quirksUpdated",r),()=>{e.events.off("quirksUpdated",r)}),[e]),o}import{dequal as G}from"dequal/lite";import{useEffect as K,useState as Y}from"react";function _(){let{context:e}=s(),[o,t]=Y(e.scores);return K(()=>{let r=a=>{t(a)},n=e.scores;return G(o,n)||t(n),e.events.on("scoresUpdated",r),()=>{e.events.off("scoresUpdated",r)}},[e]),o}import{useContext as Z}from"react";import{createContext as I}from"react";var V=I(void 0),U=I({});function s(e={}){let{throwOnMissingProvider:o=!0}=e,t=Z(V);if(o){if(t===void 0)throw new Error("useUniformContext must be used within a <UniformContext> provider");return t}return t}import H from"react";var C=typeof window=="undefined";import{ScriptType as z}from"@uniformdev/context";import x,{Fragment as te}from"react";import{EdgeNodeTagName as $}from"@uniformdev/context";import{createElement as ee}from"react";var u=e=>ee($,e);function M(e){let{variations:o,count:t,component:r}=e,n={name:e.name,count:t!=null?t:1},a=r;return x.createElement(x.Fragment,null,x.createElement(u,{"data-type":z.ListStart,dangerouslySetInnerHTML:{__html:JSON.stringify(n)}}),o.map(i=>x.createElement(te,{key:i.id},x.createElement(u,{"data-type":z.ListItemSettings,dangerouslySetInnerHTML:{__html:JSON.stringify({id:i.id,pz:i.pz||null})}}),x.createElement(u,{"data-type":z.ListItem},x.createElement(a,{key:i.id,personalizationResult:{variation:i,personalizationOccurred:!1},...i})))),x.createElement(u,{"data-type":z.ListEnd}))}import P,{useMemo as oe}from"react";function N({variations:e,component:o,wrapperComponent:t,name:r,count:n=1}){let{context:a}=s(),i=_(),{variations:m,personalized:d}=oe(()=>a.personalize({name:r,variations:e,take:n}),[i,a,n,r,e]),l=t!=null?t:({children:c})=>P.createElement(P.Fragment,null,c),g=o;return P.createElement(U.Provider,{value:{personalized:!0}},m.length?P.createElement(l,{personalizationOccurred:d},m.map(c=>P.createElement(g,{key:c.id,personalizationResult:{variation:c,personalizationOccurred:d},...c}))):null)}function Ke(e){var t;let{outputType:o}=(t=s({throwOnMissingProvider:!1}))!=null?t:{};if(!o)throw new Error("Using the <Personalize /> component requires the <UniformContext> provider to be present.");return!C||o==="standard"?H.createElement(N,{...e}):o==="edge"?H.createElement(M,{...e}):null}import R from"react";import{ScriptType as h}from"@uniformdev/context";import T,{Fragment as re}from"react";function A(e){let{name:o,variations:t,component:r}=e,n={name:o},a=r;return T.createElement(T.Fragment,null,T.createElement(u,{"data-type":h.TestStart,dangerouslySetInnerHTML:{__html:JSON.stringify(n)}}),t.map((i,m)=>T.createElement(re,{key:i.id},T.createElement(u,{"data-type":h.ListItemSettings,dangerouslySetInnerHTML:{__html:JSON.stringify({id:i.id})}}),T.createElement(u,{"data-type":h.ListItem},T.createElement(a,{key:m,...i})))),T.createElement(u,{"data-type":h.TestEnd}))}import ne from"react";var F=({name:e,variations:o,component:t})=>{let{context:r}=s(),{result:n}=r.test({name:e,variations:o});return n?ne.createElement(t,{...n}):null};var xt=e=>{var t;let{outputType:o}=(t=s({throwOnMissingProvider:!1}))!=null?t:{};if(!o)throw new Error("Using the <Test /> component requires the <UniformContext> provider to be present.");return!C||o==="standard"?R.createElement(F,{...e}):o==="edge"?R.createElement(A,{...e}):null};import{createElement as se,useEffect as D,useRef as q,useState as b}from"react";import{useContext as ie}from"react";var S=e=>{let{personalized:o}=ie(U);return typeof o!="undefined"?o:typeof(e==null?void 0:e.personalized)!="undefined"?e.personalized:!1};var zt=({behavior:e,children:o,tagName:t="div",threshold:r=.5,disableVisibilityTrigger:n=typeof window=="undefined"||!("IntersectionObserver"in window),...a})=>{let i=typeof document=="undefined"?"__uniform_ssr_url":document.location.href,{context:m}=s(),d=S(),[l,g]=b(),[c,y]=b(!1),O=q(null),p=q();return D(()=>{l!==i&&(y(!1),g(i))},[i,l]),D(()=>{var L;let w=!e||Array.isArray(e)&&!e.length;if(d||w||!O.current)return;let W=Array.isArray(e)?e:[e],v=()=>{var f;c||(m.update({enrichments:W}),y(!0),(f=p.current)==null||f.call(p))};if(n)v();else{(L=p.current)==null||L.call(p);let f=new IntersectionObserver(([E])=>{E.isIntersecting&&v()},{threshold:r});f.observe(O.current),p.current=()=>{var E;return(E=f.disconnect)==null?void 0:E.call(f)}}return()=>{var f;(f=p.current)==null||f.call(p)}},[m,e,n,r,d,l,i,c]),se(t,{...a,ref:O},o)};import J from"react";import{useEffect as B,useState as Q}from"react";var Lt=({behavior:e,children:o})=>{let t=typeof document=="undefined"?"__uniform_ssr_url":document.location.href,{context:r}=s(),n=S(),[a,i]=Q(),[m,d]=Q(!1);return B(()=>{a!==t&&(d(!1),i(t))},[t,a]),B(()=>{let l=!e||Array.isArray(e)&&!e.length;if(n||l)return;(()=>{if(m)return;let y=Array.isArray(e)?e:[e];r.update({enrichments:y}),d(!0)})()},[r,e,n,m]),J.createElement(J.Fragment,null,o)};import{SERVER_STATE_ID as ae}from"@uniformdev/context";import me from"cookie";import k,{useEffect as pe}from"react";var Dt=({context:e,children:o,outputType:t="standard",trackRouteOnRender:r=!0})=>(pe(()=>{C||!r||e.update({url:new URL(window.location.href),cookies:me.parse(document.cookie)})}),k.createElement(V.Provider,{value:{context:e,outputType:t}},o,C?k.createElement(fe,null):null));function fe(){let{context:e}=s(),o=e.getServerToClientTransitionState();return k.createElement("script",{id:ae,type:"application/json",dangerouslySetInnerHTML:{__html:JSON.stringify(o)}})}export{Ke as Personalize,xt as Test,zt as Track,Lt as TrackFragment,Dt as UniformContext,xe as useQuirks,_ as useScores,s as useUniformContext};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var re=Object.create;var k=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var ie=Object.getOwnPropertyNames;var se=Object.getPrototypeOf,ae=Object.prototype.hasOwnProperty;var me=(e,t)=>{for(var o in t)k(e,o,{get:t[o],enumerable:!0})},J=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ie(t))!ae.call(e,r)&&r!==o&&k(e,r,{get:()=>t[r],enumerable:!(n=ne(t,r))||n.enumerable});return e};var T=(e,t,o)=>(o=e!=null?re(se(e)):{},J(t||!e||!e.__esModule?k(o,"default",{value:e,enumerable:!0}):o,e)),pe=e=>J(k({},"__esModule",{value:!0}),e);var Ce={};me(Ce,{Personalize:()=>ue,Test:()=>ce,Track:()=>xe,TrackFragment:()=>Te,UniformContext:()=>de,useQuirks:()=>fe,useScores:()=>H,useUniformContext:()=>s});module.exports=pe(Ce);var B=require("react");var N=require("react"),w=(0,N.createContext)(void 0),v=(0,N.createContext)({});function s(e={}){let{throwOnMissingProvider:t=!0}=e,o=(0,B.useContext)(w);if(t){if(o===void 0)throw new Error("useUniformContext must be used within a <UniformContext> provider");return o}return o}var L=require("react");function fe(){let{context:e}=s(),[t,o]=(0,L.useState)(e.quirks),n=r=>{o(r)};return(0,L.useEffect)(()=>(e.events.on("quirksUpdated",n),()=>{e.events.off("quirksUpdated",n)}),[e]),t}var _=require("react");var Q=require("dequal/lite");function H(){let{context:e}=s(),[t,o]=(0,_.useState)(e.scores);return(0,_.useEffect)(()=>{let n=a=>{o(a)},r=e.scores;return(0,Q.dequal)(t,r)||o(r),e.events.on("scoresUpdated",n),()=>{e.events.off("scoresUpdated",n)}},[e]),t}var A=T(require("react"));var g=T(require("react"));function W({variations:e,component:t,wrapperComponent:o,name:n,count:r=1}){let{context:a}=s(),i=H(),{variations:u,personalized:C}=(0,g.useMemo)(()=>a.personalize({name:n,variations:e,take:r}),[i,a,r,n,e]),P=o!=null?o:({children:x})=>g.default.createElement(g.default.Fragment,null,x),h=t;return g.default.createElement(v.Provider,{value:{personalized:!0}},u.length?g.default.createElement(P,{personalizationOccurred:C},u.map(x=>g.default.createElement(h,{key:x.id,personalizationResult:{variation:x,personalizationOccurred:C},...x}))):null)}var U=require("@uniformdev/context"),m=T(require("react"));var j=require("@uniformdev/context"),X=require("react"),l=e=>(0,X.createElement)(j.EdgeNodeTagName,e);function G(e){let{variations:t,count:o,component:n}=e,r={name:e.name,count:o!=null?o:1},a=n;return m.default.createElement(m.default.Fragment,null,m.default.createElement(l,{"data-type":U.ScriptType.ListStart,dangerouslySetInnerHTML:{__html:JSON.stringify(r)}}),t.map(i=>m.default.createElement(m.Fragment,{key:i.id},m.default.createElement(l,{"data-type":U.ScriptType.ListItemSettings,dangerouslySetInnerHTML:{__html:JSON.stringify({id:i.id,pz:i.pz||null})}}),m.default.createElement(l,{"data-type":U.ScriptType.ListItem},m.default.createElement(a,{key:i.id,personalizationResult:{variation:i,personalizationOccurred:!1},...i})))),m.default.createElement(l,{"data-type":U.ScriptType.ListEnd}))}var y=typeof window=="undefined";function ue(e){var o;let{outputType:t}=(o=s({throwOnMissingProvider:!1}))!=null?o:{};if(!t)throw new Error("Using the <Personalize /> component requires the <UniformContext> provider to be present.");return!y||t==="standard"?A.default.createElement(W,{...e}):t==="edge"?A.default.createElement(G,{...e}):null}var F=T(require("react"));var z=require("@uniformdev/context"),p=T(require("react"));function K(e){let{name:t,variations:o,component:n}=e,r={name:t},a=n;return p.default.createElement(p.default.Fragment,null,p.default.createElement(l,{"data-type":z.ScriptType.TestStart,dangerouslySetInnerHTML:{__html:JSON.stringify(r)}}),o.map((i,u)=>p.default.createElement(p.Fragment,{key:i.id},p.default.createElement(l,{"data-type":z.ScriptType.ListItemSettings,dangerouslySetInnerHTML:{__html:JSON.stringify({id:i.id})}}),p.default.createElement(l,{"data-type":z.ScriptType.ListItem},p.default.createElement(a,{key:u,...i})))),p.default.createElement(l,{"data-type":z.ScriptType.TestEnd}))}var Y=T(require("react"));var Z=({name:e,variations:t,component:o})=>{let{context:n}=s(),{result:r}=n.test({name:e,variations:t});return r?Y.default.createElement(o,{...r}):null};var ce=e=>{var o;let{outputType:t}=(o=s({throwOnMissingProvider:!1}))!=null?o:{};if(!t)throw new Error("Using the <Test /> component requires the <UniformContext> provider to be present.");return!y||t==="standard"?F.default.createElement(Z,{...e}):t==="edge"?F.default.createElement(K,{...e}):null};var E=T(require("react")),$=require("@uniformdev/context");var ee=T(require("cookie")),de=({context:e,children:t,outputType:o="standard",trackRouteOnRender:n=!0})=>((0,E.useEffect)(()=>{y||!n||e.update({url:new URL(window.location.href),cookies:ee.default.parse(document.cookie)})}),E.default.createElement(w.Provider,{value:{context:e,outputType:o}},t,y?E.default.createElement(le,null):null));function le(){let{context:e}=s(),t=e.getServerToClientTransitionState();return E.default.createElement("script",{id:$.SERVER_STATE_ID,type:"application/json",dangerouslySetInnerHTML:{__html:JSON.stringify(t)}})}var f=require("react");var te=require("react");var I=e=>{let{personalized:t}=(0,te.useContext)(v);return typeof t!="undefined"?t:typeof(e==null?void 0:e.personalized)!="undefined"?e.personalized:!1};var xe=({behavior:e,children:t,tagName:o="div",threshold:n=.5,disableVisibilityTrigger:r=typeof window=="undefined"||!("IntersectionObserver"in window),...a})=>{let i=typeof document=="undefined"?"__uniform_ssr_url":document.location.href,{context:u}=s(),C=I(),[P,h]=(0,f.useState)(),[x,S]=(0,f.useState)(!1),M=(0,f.useRef)(null),c=(0,f.useRef)();return(0,f.useEffect)(()=>{P!==i&&(S(!1),h(i))},[i,P]),(0,f.useEffect)(()=>{var b;let D=!e||Array.isArray(e)&&!e.length;if(C||D||!M.current)return;let oe=Array.isArray(e)?e:[e],q=()=>{var d;x||(u.update({enrichments:oe}),S(!0),(d=c.current)==null||d.call(c))};if(r)q();else{(b=c.current)==null||b.call(c);let d=new IntersectionObserver(([O])=>{O.isIntersecting&&q()},{threshold:n});d.observe(M.current),c.current=()=>{var O;return(O=d.disconnect)==null?void 0:O.call(d)}}return()=>{var d;(d=c.current)==null||d.call(c)}},[u,e,r,n,C,P,i,x]),(0,f.createElement)(o,{...a,ref:M},t)};var R=T(require("react")),V=require("react");var Te=({behavior:e,children:t})=>{let o=typeof document=="undefined"?"__uniform_ssr_url":document.location.href,{context:n}=s(),r=I(),[a,i]=(0,V.useState)(),[u,C]=(0,V.useState)(!1);return(0,V.useEffect)(()=>{a!==o&&(C(!1),i(o))},[o,a]),(0,V.useEffect)(()=>{let P=!e||Array.isArray(e)&&!e.length;if(r||P)return;(()=>{if(u)return;let S=Array.isArray(e)?e:[e];n.update({enrichments:S}),C(!0)})()},[n,e,r,u]),R.default.createElement(R.default.Fragment,null,t)};0&&(module.exports={Personalize,Test,Track,TrackFragment,UniformContext,useQuirks,useScores,useUniformContext});
1
+ "use strict";var re=Object.create;var k=Object.defineProperty;var ne=Object.getOwnPropertyDescriptor;var ie=Object.getOwnPropertyNames;var se=Object.getPrototypeOf,ae=Object.prototype.hasOwnProperty;var me=(e,t)=>{for(var o in t)k(e,o,{get:t[o],enumerable:!0})},J=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ie(t))!ae.call(e,r)&&r!==o&&k(e,r,{get:()=>t[r],enumerable:!(n=ne(t,r))||n.enumerable});return e};var T=(e,t,o)=>(o=e!=null?re(se(e)):{},J(t||!e||!e.__esModule?k(o,"default",{value:e,enumerable:!0}):o,e)),pe=e=>J(k({},"__esModule",{value:!0}),e);var Ce={};me(Ce,{Personalize:()=>ue,Test:()=>ce,Track:()=>de,TrackFragment:()=>le,UniformContext:()=>xe,useQuirks:()=>fe,useScores:()=>N,useUniformContext:()=>s});module.exports=pe(Ce);var w=require("react");function fe(){let{context:e}=s(),[t,o]=(0,w.useState)(e.quirks),n=r=>{o(r)};return(0,w.useEffect)(()=>(e.events.on("quirksUpdated",n),()=>{e.events.off("quirksUpdated",n)}),[e]),t}var B=require("dequal/lite"),v=require("react");function N(){let{context:e}=s(),[t,o]=(0,v.useState)(e.scores);return(0,v.useEffect)(()=>{let n=a=>{o(a)},r=e.scores;return(0,B.dequal)(t,r)||o(r),e.events.on("scoresUpdated",n),()=>{e.events.off("scoresUpdated",n)}},[e]),t}var Q=require("react");var H=require("react"),L=(0,H.createContext)(void 0),_=(0,H.createContext)({});function s(e={}){let{throwOnMissingProvider:t=!0}=e,o=(0,Q.useContext)(L);if(t){if(o===void 0)throw new Error("useUniformContext must be used within a <UniformContext> provider");return o}return o}var A=T(require("react"));var y=typeof window=="undefined";var U=require("@uniformdev/context"),m=T(require("react"));var W=require("@uniformdev/context"),j=require("react"),l=e=>(0,j.createElement)(W.EdgeNodeTagName,e);function X(e){let{variations:t,count:o,component:n}=e,r={name:e.name,count:o!=null?o:1},a=n;return m.default.createElement(m.default.Fragment,null,m.default.createElement(l,{"data-type":U.ScriptType.ListStart,dangerouslySetInnerHTML:{__html:JSON.stringify(r)}}),t.map(i=>m.default.createElement(m.Fragment,{key:i.id},m.default.createElement(l,{"data-type":U.ScriptType.ListItemSettings,dangerouslySetInnerHTML:{__html:JSON.stringify({id:i.id,pz:i.pz||null})}}),m.default.createElement(l,{"data-type":U.ScriptType.ListItem},m.default.createElement(a,{key:i.id,personalizationResult:{variation:i,personalizationOccurred:!1},...i})))),m.default.createElement(l,{"data-type":U.ScriptType.ListEnd}))}var g=T(require("react"));function G({variations:e,component:t,wrapperComponent:o,name:n,count:r=1}){let{context:a}=s(),i=N(),{variations:u,personalized:C}=(0,g.useMemo)(()=>a.personalize({name:n,variations:e,take:r}),[i,a,r,n,e]),P=o!=null?o:({children:x})=>g.default.createElement(g.default.Fragment,null,x),h=t;return g.default.createElement(_.Provider,{value:{personalized:!0}},u.length?g.default.createElement(P,{personalizationOccurred:C},u.map(x=>g.default.createElement(h,{key:x.id,personalizationResult:{variation:x,personalizationOccurred:C},...x}))):null)}function ue(e){var o;let{outputType:t}=(o=s({throwOnMissingProvider:!1}))!=null?o:{};if(!t)throw new Error("Using the <Personalize /> component requires the <UniformContext> provider to be present.");return!y||t==="standard"?A.default.createElement(G,{...e}):t==="edge"?A.default.createElement(X,{...e}):null}var F=T(require("react"));var z=require("@uniformdev/context"),p=T(require("react"));function K(e){let{name:t,variations:o,component:n}=e,r={name:t},a=n;return p.default.createElement(p.default.Fragment,null,p.default.createElement(l,{"data-type":z.ScriptType.TestStart,dangerouslySetInnerHTML:{__html:JSON.stringify(r)}}),o.map((i,u)=>p.default.createElement(p.Fragment,{key:i.id},p.default.createElement(l,{"data-type":z.ScriptType.ListItemSettings,dangerouslySetInnerHTML:{__html:JSON.stringify({id:i.id})}}),p.default.createElement(l,{"data-type":z.ScriptType.ListItem},p.default.createElement(a,{key:u,...i})))),p.default.createElement(l,{"data-type":z.ScriptType.TestEnd}))}var Y=T(require("react"));var Z=({name:e,variations:t,component:o})=>{let{context:n}=s(),{result:r}=n.test({name:e,variations:t});return r?Y.default.createElement(o,{...r}):null};var ce=e=>{var o;let{outputType:t}=(o=s({throwOnMissingProvider:!1}))!=null?o:{};if(!t)throw new Error("Using the <Test /> component requires the <UniformContext> provider to be present.");return!y||t==="standard"?F.default.createElement(Z,{...e}):t==="edge"?F.default.createElement(K,{...e}):null};var f=require("react");var $=require("react");var I=e=>{let{personalized:t}=(0,$.useContext)(_);return typeof t!="undefined"?t:typeof(e==null?void 0:e.personalized)!="undefined"?e.personalized:!1};var de=({behavior:e,children:t,tagName:o="div",threshold:n=.5,disableVisibilityTrigger:r=typeof window=="undefined"||!("IntersectionObserver"in window),...a})=>{let i=typeof document=="undefined"?"__uniform_ssr_url":document.location.href,{context:u}=s(),C=I(),[P,h]=(0,f.useState)(),[x,S]=(0,f.useState)(!1),M=(0,f.useRef)(null),c=(0,f.useRef)();return(0,f.useEffect)(()=>{P!==i&&(S(!1),h(i))},[i,P]),(0,f.useEffect)(()=>{var b;let D=!e||Array.isArray(e)&&!e.length;if(C||D||!M.current)return;let oe=Array.isArray(e)?e:[e],q=()=>{var d;x||(u.update({enrichments:oe}),S(!0),(d=c.current)==null||d.call(c))};if(r)q();else{(b=c.current)==null||b.call(c);let d=new IntersectionObserver(([O])=>{O.isIntersecting&&q()},{threshold:n});d.observe(M.current),c.current=()=>{var O;return(O=d.disconnect)==null?void 0:O.call(d)}}return()=>{var d;(d=c.current)==null||d.call(c)}},[u,e,r,n,C,P,i,x]),(0,f.createElement)(o,{...a,ref:M},t)};var R=T(require("react")),E=require("react");var le=({behavior:e,children:t})=>{let o=typeof document=="undefined"?"__uniform_ssr_url":document.location.href,{context:n}=s(),r=I(),[a,i]=(0,E.useState)(),[u,C]=(0,E.useState)(!1);return(0,E.useEffect)(()=>{a!==o&&(C(!1),i(o))},[o,a]),(0,E.useEffect)(()=>{let P=!e||Array.isArray(e)&&!e.length;if(r||P)return;(()=>{if(u)return;let S=Array.isArray(e)?e:[e];n.update({enrichments:S}),C(!0)})()},[n,e,r,u]),R.default.createElement(R.default.Fragment,null,t)};var ee=require("@uniformdev/context"),te=T(require("cookie")),V=T(require("react"));var xe=({context:e,children:t,outputType:o="standard",trackRouteOnRender:n=!0})=>((0,V.useEffect)(()=>{y||!n||e.update({url:new URL(window.location.href),cookies:te.default.parse(document.cookie)})}),V.default.createElement(L.Provider,{value:{context:e,outputType:o}},t,y?V.default.createElement(Te,null):null));function Te(){let{context:e}=s(),t=e.getServerToClientTransitionState();return V.default.createElement("script",{id:ee.SERVER_STATE_ID,type:"application/json",dangerouslySetInnerHTML:{__html:JSON.stringify(t)}})}0&&(module.exports={Personalize,Test,Track,TrackFragment,UniformContext,useQuirks,useScores,useUniformContext});
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import{useContext as j}from"react";import{createContext as _}from"react";var V=_(void 0),U=_({});function s(e={}){let{throwOnMissingProvider:o=!0}=e,t=j(V);if(o){if(t===void 0)throw new Error("useUniformContext must be used within a <UniformContext> provider");return t}return t}import{useEffect as X,useState as G}from"react";function Ee(){let{context:e}=s(),[o,t]=G(e.quirks),r=n=>{t(n)};return X(()=>(e.events.on("quirksUpdated",r),()=>{e.events.off("quirksUpdated",r)}),[e]),o}import{useEffect as K,useState as Y}from"react";import{dequal as Z}from"dequal/lite";function I(){let{context:e}=s(),[o,t]=Y(e.scores);return K(()=>{let r=a=>{t(a)},n=e.scores;return Z(o,n)||t(n),e.events.on("scoresUpdated",r),()=>{e.events.off("scoresUpdated",r)}},[e]),o}import H from"react";import P,{useMemo as $}from"react";function M({variations:e,component:o,wrapperComponent:t,name:r,count:n=1}){let{context:a}=s(),i=I(),{variations:m,personalized:d}=$(()=>a.personalize({name:r,variations:e,take:n}),[i,a,n,r,e]),l=t!=null?t:({children:c})=>P.createElement(P.Fragment,null,c),g=o;return P.createElement(U.Provider,{value:{personalized:!0}},m.length?P.createElement(l,{personalizationOccurred:d},m.map(c=>P.createElement(g,{key:c.id,personalizationResult:{variation:c,personalizationOccurred:d},...c}))):null)}import{ScriptType as z}from"@uniformdev/context";import x,{Fragment as oe}from"react";import{EdgeNodeTagName as ee}from"@uniformdev/context";import{createElement as te}from"react";var u=e=>te(ee,e);function N(e){let{variations:o,count:t,component:r}=e,n={name:e.name,count:t!=null?t:1},a=r;return x.createElement(x.Fragment,null,x.createElement(u,{"data-type":z.ListStart,dangerouslySetInnerHTML:{__html:JSON.stringify(n)}}),o.map(i=>x.createElement(oe,{key:i.id},x.createElement(u,{"data-type":z.ListItemSettings,dangerouslySetInnerHTML:{__html:JSON.stringify({id:i.id,pz:i.pz||null})}}),x.createElement(u,{"data-type":z.ListItem},x.createElement(a,{key:i.id,personalizationResult:{variation:i,personalizationOccurred:!1},...i})))),x.createElement(u,{"data-type":z.ListEnd}))}var C=typeof window=="undefined";function Ke(e){var t;let{outputType:o}=(t=s({throwOnMissingProvider:!1}))!=null?t:{};if(!o)throw new Error("Using the <Personalize /> component requires the <UniformContext> provider to be present.");return!C||o==="standard"?H.createElement(M,{...e}):o==="edge"?H.createElement(N,{...e}):null}import R from"react";import{ScriptType as h}from"@uniformdev/context";import T,{Fragment as re}from"react";function A(e){let{name:o,variations:t,component:r}=e,n={name:o},a=r;return T.createElement(T.Fragment,null,T.createElement(u,{"data-type":h.TestStart,dangerouslySetInnerHTML:{__html:JSON.stringify(n)}}),t.map((i,m)=>T.createElement(re,{key:i.id},T.createElement(u,{"data-type":h.ListItemSettings,dangerouslySetInnerHTML:{__html:JSON.stringify({id:i.id})}}),T.createElement(u,{"data-type":h.ListItem},T.createElement(a,{key:m,...i})))),T.createElement(u,{"data-type":h.TestEnd}))}import ne from"react";var F=({name:e,variations:o,component:t})=>{let{context:r}=s(),{result:n}=r.test({name:e,variations:o});return n?ne.createElement(t,{...n}):null};var xt=e=>{var t;let{outputType:o}=(t=s({throwOnMissingProvider:!1}))!=null?t:{};if(!o)throw new Error("Using the <Test /> component requires the <UniformContext> provider to be present.");return!C||o==="standard"?R.createElement(F,{...e}):o==="edge"?R.createElement(A,{...e}):null};import k,{useEffect as ie}from"react";import{SERVER_STATE_ID as se}from"@uniformdev/context";import ae from"cookie";var zt=({context:e,children:o,outputType:t="standard",trackRouteOnRender:r=!0})=>(ie(()=>{C||!r||e.update({url:new URL(window.location.href),cookies:ae.parse(document.cookie)})}),k.createElement(V.Provider,{value:{context:e,outputType:t}},o,C?k.createElement(me,null):null));function me(){let{context:e}=s(),o=e.getServerToClientTransitionState();return k.createElement("script",{id:se,type:"application/json",dangerouslySetInnerHTML:{__html:JSON.stringify(o)}})}import{createElement as fe,useEffect as D,useRef as q,useState as b}from"react";import{useContext as pe}from"react";var S=e=>{let{personalized:o}=pe(U);return typeof o!="undefined"?o:typeof(e==null?void 0:e.personalized)!="undefined"?e.personalized:!1};var It=({behavior:e,children:o,tagName:t="div",threshold:r=.5,disableVisibilityTrigger:n=typeof window=="undefined"||!("IntersectionObserver"in window),...a})=>{let i=typeof document=="undefined"?"__uniform_ssr_url":document.location.href,{context:m}=s(),d=S(),[l,g]=b(),[c,y]=b(!1),O=q(null),p=q();return D(()=>{l!==i&&(y(!1),g(i))},[i,l]),D(()=>{var L;let w=!e||Array.isArray(e)&&!e.length;if(d||w||!O.current)return;let W=Array.isArray(e)?e:[e],v=()=>{var f;c||(m.update({enrichments:W}),y(!0),(f=p.current)==null||f.call(p))};if(n)v();else{(L=p.current)==null||L.call(p);let f=new IntersectionObserver(([E])=>{E.isIntersecting&&v()},{threshold:r});f.observe(O.current),p.current=()=>{var E;return(E=f.disconnect)==null?void 0:E.call(f)}}return()=>{var f;(f=p.current)==null||f.call(p)}},[m,e,n,r,d,l,i,c]),fe(t,{...a,ref:O},o)};import J from"react";import{useEffect as B,useState as Q}from"react";var Dt=({behavior:e,children:o})=>{let t=typeof document=="undefined"?"__uniform_ssr_url":document.location.href,{context:r}=s(),n=S(),[a,i]=Q(),[m,d]=Q(!1);return B(()=>{a!==t&&(d(!1),i(t))},[t,a]),B(()=>{let l=!e||Array.isArray(e)&&!e.length;if(n||l)return;(()=>{if(m)return;let y=Array.isArray(e)?e:[e];r.update({enrichments:y}),d(!0)})()},[r,e,n,m]),J.createElement(J.Fragment,null,o)};export{Ke as Personalize,xt as Test,It as Track,Dt as TrackFragment,zt as UniformContext,Ee as useQuirks,I as useScores,s as useUniformContext};
1
+ import{useEffect as j,useState as X}from"react";function xe(){let{context:e}=s(),[o,t]=X(e.quirks),r=n=>{t(n)};return j(()=>(e.events.on("quirksUpdated",r),()=>{e.events.off("quirksUpdated",r)}),[e]),o}import{dequal as G}from"dequal/lite";import{useEffect as K,useState as Y}from"react";function _(){let{context:e}=s(),[o,t]=Y(e.scores);return K(()=>{let r=a=>{t(a)},n=e.scores;return G(o,n)||t(n),e.events.on("scoresUpdated",r),()=>{e.events.off("scoresUpdated",r)}},[e]),o}import{useContext as Z}from"react";import{createContext as I}from"react";var V=I(void 0),U=I({});function s(e={}){let{throwOnMissingProvider:o=!0}=e,t=Z(V);if(o){if(t===void 0)throw new Error("useUniformContext must be used within a <UniformContext> provider");return t}return t}import H from"react";var C=typeof window=="undefined";import{ScriptType as z}from"@uniformdev/context";import x,{Fragment as te}from"react";import{EdgeNodeTagName as $}from"@uniformdev/context";import{createElement as ee}from"react";var u=e=>ee($,e);function M(e){let{variations:o,count:t,component:r}=e,n={name:e.name,count:t!=null?t:1},a=r;return x.createElement(x.Fragment,null,x.createElement(u,{"data-type":z.ListStart,dangerouslySetInnerHTML:{__html:JSON.stringify(n)}}),o.map(i=>x.createElement(te,{key:i.id},x.createElement(u,{"data-type":z.ListItemSettings,dangerouslySetInnerHTML:{__html:JSON.stringify({id:i.id,pz:i.pz||null})}}),x.createElement(u,{"data-type":z.ListItem},x.createElement(a,{key:i.id,personalizationResult:{variation:i,personalizationOccurred:!1},...i})))),x.createElement(u,{"data-type":z.ListEnd}))}import P,{useMemo as oe}from"react";function N({variations:e,component:o,wrapperComponent:t,name:r,count:n=1}){let{context:a}=s(),i=_(),{variations:m,personalized:d}=oe(()=>a.personalize({name:r,variations:e,take:n}),[i,a,n,r,e]),l=t!=null?t:({children:c})=>P.createElement(P.Fragment,null,c),g=o;return P.createElement(U.Provider,{value:{personalized:!0}},m.length?P.createElement(l,{personalizationOccurred:d},m.map(c=>P.createElement(g,{key:c.id,personalizationResult:{variation:c,personalizationOccurred:d},...c}))):null)}function Ke(e){var t;let{outputType:o}=(t=s({throwOnMissingProvider:!1}))!=null?t:{};if(!o)throw new Error("Using the <Personalize /> component requires the <UniformContext> provider to be present.");return!C||o==="standard"?H.createElement(N,{...e}):o==="edge"?H.createElement(M,{...e}):null}import R from"react";import{ScriptType as h}from"@uniformdev/context";import T,{Fragment as re}from"react";function A(e){let{name:o,variations:t,component:r}=e,n={name:o},a=r;return T.createElement(T.Fragment,null,T.createElement(u,{"data-type":h.TestStart,dangerouslySetInnerHTML:{__html:JSON.stringify(n)}}),t.map((i,m)=>T.createElement(re,{key:i.id},T.createElement(u,{"data-type":h.ListItemSettings,dangerouslySetInnerHTML:{__html:JSON.stringify({id:i.id})}}),T.createElement(u,{"data-type":h.ListItem},T.createElement(a,{key:m,...i})))),T.createElement(u,{"data-type":h.TestEnd}))}import ne from"react";var F=({name:e,variations:o,component:t})=>{let{context:r}=s(),{result:n}=r.test({name:e,variations:o});return n?ne.createElement(t,{...n}):null};var xt=e=>{var t;let{outputType:o}=(t=s({throwOnMissingProvider:!1}))!=null?t:{};if(!o)throw new Error("Using the <Test /> component requires the <UniformContext> provider to be present.");return!C||o==="standard"?R.createElement(F,{...e}):o==="edge"?R.createElement(A,{...e}):null};import{createElement as se,useEffect as D,useRef as q,useState as b}from"react";import{useContext as ie}from"react";var S=e=>{let{personalized:o}=ie(U);return typeof o!="undefined"?o:typeof(e==null?void 0:e.personalized)!="undefined"?e.personalized:!1};var zt=({behavior:e,children:o,tagName:t="div",threshold:r=.5,disableVisibilityTrigger:n=typeof window=="undefined"||!("IntersectionObserver"in window),...a})=>{let i=typeof document=="undefined"?"__uniform_ssr_url":document.location.href,{context:m}=s(),d=S(),[l,g]=b(),[c,y]=b(!1),O=q(null),p=q();return D(()=>{l!==i&&(y(!1),g(i))},[i,l]),D(()=>{var L;let w=!e||Array.isArray(e)&&!e.length;if(d||w||!O.current)return;let W=Array.isArray(e)?e:[e],v=()=>{var f;c||(m.update({enrichments:W}),y(!0),(f=p.current)==null||f.call(p))};if(n)v();else{(L=p.current)==null||L.call(p);let f=new IntersectionObserver(([E])=>{E.isIntersecting&&v()},{threshold:r});f.observe(O.current),p.current=()=>{var E;return(E=f.disconnect)==null?void 0:E.call(f)}}return()=>{var f;(f=p.current)==null||f.call(p)}},[m,e,n,r,d,l,i,c]),se(t,{...a,ref:O},o)};import J from"react";import{useEffect as B,useState as Q}from"react";var Lt=({behavior:e,children:o})=>{let t=typeof document=="undefined"?"__uniform_ssr_url":document.location.href,{context:r}=s(),n=S(),[a,i]=Q(),[m,d]=Q(!1);return B(()=>{a!==t&&(d(!1),i(t))},[t,a]),B(()=>{let l=!e||Array.isArray(e)&&!e.length;if(n||l)return;(()=>{if(m)return;let y=Array.isArray(e)?e:[e];r.update({enrichments:y}),d(!0)})()},[r,e,n,m]),J.createElement(J.Fragment,null,o)};import{SERVER_STATE_ID as ae}from"@uniformdev/context";import me from"cookie";import k,{useEffect as pe}from"react";var Dt=({context:e,children:o,outputType:t="standard",trackRouteOnRender:r=!0})=>(pe(()=>{C||!r||e.update({url:new URL(window.location.href),cookies:me.parse(document.cookie)})}),k.createElement(V.Provider,{value:{context:e,outputType:t}},o,C?k.createElement(fe,null):null));function fe(){let{context:e}=s(),o=e.getServerToClientTransitionState();return k.createElement("script",{id:ae,type:"application/json",dangerouslySetInnerHTML:{__html:JSON.stringify(o)}})}export{Ke as Personalize,xt as Test,zt as Track,Lt as TrackFragment,Dt as UniformContext,xe as useQuirks,_ as useScores,s as useUniformContext};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniformdev/context-react",
3
- "version": "17.5.1-alpha.6+56c22015c",
3
+ "version": "17.6.0",
4
4
  "description": "Uniform Context React integration package",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "main": "./dist/index.js",
@@ -29,7 +29,7 @@
29
29
  "react-dom": "18.2.0"
30
30
  },
31
31
  "dependencies": {
32
- "@uniformdev/context": "^17.5.1-alpha.6+56c22015c",
32
+ "@uniformdev/context": "^17.6.0",
33
33
  "cookie": "0.5.0",
34
34
  "dequal": "2.0.3"
35
35
  },
@@ -43,5 +43,5 @@
43
43
  "publishConfig": {
44
44
  "access": "public"
45
45
  },
46
- "gitHead": "56c22015c4959f040eb9d2cd02edadd53e122ca9"
46
+ "gitHead": "8346fa3ffe24fa0f81fb0c8b0d12e27806ae321b"
47
47
  }