@uniformdev/context-devtools 12.2.1-alpha.171 → 12.2.1-alpha.177

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.js CHANGED
@@ -1 +1,37 @@
1
- var E=Object.create;var d=Object.defineProperty;var w=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var T=t=>d(t,"__esModule",{value:!0});var N=(t,o)=>{for(var e in o)d(t,e,{get:o[e],enumerable:!0})},y=(t,o,e,s)=>{if(o&&typeof o=="object"||typeof o=="function")for(let i of O(o))!I.call(t,i)&&(e||i!=="default")&&d(t,i,{get:()=>o[i],enumerable:!(s=w(o,i))||s.enumerable});return t},S=(t,o)=>y(T(d(t!=null?E(P(t)):{},"default",!o&&t&&t.__esModule?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t),z=(t=>(o,e)=>t&&t.get(o)||(e=y(T({}),o,1),t&&t.set(o,e),e))(typeof WeakMap!="undefined"?new WeakMap:0);var U={};N(U,{ContextDevTools:()=>f,EmbeddedContextDevTools:()=>A});var n=S(require("react"));var g=require("@uniformdev/context/api"),x=require("react-use");function C({apiHost:t,apiKey:o,projectId:e}){return(0,x.useAsync)(async()=>!t||!o||!e?{}:(await new g.DimensionClient({projectId:e,apiKey:o,apiHost:t}).get()).dimensions.reduce((r,l)=>(r[l.dim]={...l,displayName:(0,g.computeDimensionDisplayName)(l)},r),{}),[t,o,e])}function f(t){let{value:o}=C(t.settings);return n.createElement("article",null,n.createElement("h1",null,"MUH DEV TOOLS"),n.createElement("section",null,n.createElement("h2",null,"Dimensions"),n.createElement("ul",null,Object.entries(t.state.scores).map(([e,s])=>{var r,l;let i=(l=(r=o==null?void 0:o[e])==null?void 0:r.displayName)!=null?l:e;return n.createElement("li",{key:e},i,": ",s)}))),n.createElement("details",null,n.createElement("summary",null,"Show raw state"),n.createElement("pre",null,JSON.stringify(t.state,null,2))),n.createElement("button",{type:"button",onClick:()=>t.actions.update({enrichments:[{cat:"cat",key:"alert",str:50}]})},"Update cat_alert enr"),n.createElement("button",{type:"button",onClick:()=>t.actions.rawUpdate([{type:"settest",data:{test:"cat alert!",variant:"nyan"}}])},"Set cat alert a/b test"),n.createElement("fieldset",{style:{display:"flex",flexDirection:"column"}},n.createElement("legend",null,"Configure Settings"),n.createElement("em",null,"Bad form, do not copy this crapcode ;)"),n.createElement("input",{type:"text",value:t.settings.apiHost,placeholder:"API Host",onChange:e=>t.saveSettings({...t.settings,apiHost:e.currentTarget.value})}),n.createElement("input",{type:"text",value:t.settings.apiKey,placeholder:"API Key",onChange:e=>t.saveSettings({...t.settings,apiKey:e.currentTarget.value})}),n.createElement("input",{type:"text",value:t.settings.projectId,placeholder:"Project ID",onChange:e=>t.saveSettings({...t.settings,projectId:e.currentTarget.value})}),n.createElement("select",{value:t.settings.logLevel,placeholder:"Project ID",onChange:e=>t.saveSettings({...t.settings,logLevel:e.currentTarget.value})},n.createElement("option",{value:"none"},"Off"),n.createElement("option",{value:"debug"},"Debug"),n.createElement("option",{value:"info"},"Info"),n.createElement("option",{value:"warn"},"Warn"),n.createElement("option",{value:"error"},"Error"))))}var h=require("@uniformdev/context"),a=S(require("react"));function A({context:t,initialSettings:o}){let e=t!=null?t:typeof window!="undefined"?window.__UNIFORM_DEVTOOLS_CONTEXT_INSTANCE__:void 0,s=e!=null?e:new h.Context({manifest:{project:{}}}),[i,r]=a.useState({data:s.storage.data,manifest:s.manifest.data,scores:s.scores,personalizations:[],tests:[]}),[l,R]=a.useState(o!=null?o:{});a.useEffect(()=>{let m=()=>{r(u=>({...u,scores:s.scores,data:s.storage.data,manifest:s.manifest.data}))},c=u=>{r(v=>({...v,personalizations:[...v.personalizations,u]}))},D=u=>{r(v=>({...v,tests:[...v.tests,u]}))};return s.events.on("personalizationResult",c),s.events.on("testResult",D),s.storage.events.on("*",m),()=>{s.storage.events.off("*",m),s.events.off("personalizationResult",c),s.events.off("testResult",D)}},[s]);let b=a.useMemo(()=>({update:c=>s.update(c),forget:()=>s.forget(!1),rawUpdate:c=>s.storage.updateData(c)}),[s]);return e?a.createElement(f,{state:i,actions:b,settings:l,saveSettings:R}):a.createElement("p",null,"Unable to find Uniform Context. Ensure the devtools plugin is activated.")}module.exports=z(U);0&&(module.exports={ContextDevTools,EmbeddedContextDevTools});
1
+ "use strict";var ge=Object.defineProperty,be=Object.defineProperties;var ye=Object.getOwnPropertyDescriptors;var O=Object.getOwnPropertySymbols;var Q=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable;var ee=(e,n,a)=>n in e?ge(e,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[n]=a,i=(e,n)=>{for(var a in n||(n={}))Q.call(n,a)&&ee(e,a,n[a]);if(O)for(var a of O(n))X.call(n,a)&&ee(e,a,n[a]);return e},s=(e,n)=>be(e,ye(n));var v=(e,n)=>{var a={};for(var r in e)Q.call(e,r)&&n.indexOf(r)<0&&(a[r]=e[r]);if(e!=null&&O)for(var r of O(e))n.indexOf(r)<0&&X.call(e,r)&&(a[r]=e[r]);return a};Object.defineProperty(exports,"__esModule",{value:!0});exports[Symbol.toStringTag]="Module";var fe=require("react"),N=require("formik"),Ee=require("yup"),ve=require("react-use"),te=require("@uniformdev/context");function ne(e){if(e&&e.__esModule)return e;var n={__proto__:null,[Symbol.toStringTag]:"Module"};return e&&Object.keys(e).forEach(function(a){if(a!=="default"){var r=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(n,a,r.get?r:{enumerable:!0,get:function(){return e[a]}})}}),n.default=e,Object.freeze(n)}var t=ne(fe),M=ne(Ee);const we="_menu_6gnmz_1",Ce="_logo_6gnmz_7",Le="_logo__svg_6gnmz_12",Ne="_menu__list_6gnmz_16",xe="_menu__item_6gnmz_25",ke="_menu__link_6gnmz_35",je="_menu__icon_6gnmz_51";var x={menu:we,logo:Ce,logo__svg:Le,menu__list:Ne,menu__item:xe,menu__link:ke,"menu__link--active":"_menu__link--active_6gnmz_47",menu__icon:je};const He=[{title:"Dimensions",href:"/dimensions",icon:`<svg
2
+ width="24"
3
+ height="24"
4
+ viewBox="0 0 24 24"
5
+ fill="none"
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ >
8
+ <path d="M13 7H11V17H13V7Z" fill="currentColor" />
9
+ <path
10
+ d="M5.99996 7.75732L7.41418 9.17154L5.58572 11L9.99996 11V13L5.58579 13L7.41418 14.8284L5.99996 16.2426L1.75732 12L5.99996 7.75732Z"
11
+ fill="currentColor"
12
+ />
13
+ <path
14
+ d="M18 16.2427L16.5858 14.8285L18.4143 13H14V11L18.4142 11L16.5858 9.17161L18 7.75739L22.2427 12L18 16.2427Z"
15
+ fill="currentColor"
16
+ />
17
+ </svg>
18
+ `},{title:"Quirks",href:"/quirks",icon:`<svg
19
+ width="24"
20
+ height="24"
21
+ viewBox="0 0 24 24"
22
+ fill="none"
23
+ xmlns="http://www.w3.org/2000/svg"
24
+ >
25
+ <path d="M6 6H10V4H4V10H6V6Z" fill="currentColor" />
26
+ <path d="M10 18H6V14H4V20H10V18Z" fill="currentColor" />
27
+ <path d="M14 6H18V10H20V4H14V6Z" fill="currentColor" />
28
+ <path d="M14 18H18V14H20V20H14V18Z" fill="currentColor" />
29
+ <path
30
+ d="M12 8.5C10.067 8.5 8.5 10.067 8.5 12C8.5 13.933 10.067 15.5 12 15.5C13.933 15.5 15.5 13.933 15.5 12C15.5 10.067 13.933 8.5 12 8.5Z"
31
+ fill="currentColor"
32
+ />
33
+ </svg>`},{title:"Settings",href:"/settings",icon:`<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
34
+ <path d="M19.1469 12.716C19.1986 12.2636 19.201 11.8069 19.1539 11.354L21.7429 9.474C21.8681 9.3822 21.9548 9.24723 21.9862 9.0952C22.0176 8.94316 21.9915 8.78489 21.9129 8.651L19.9939 5.399C19.9182 5.26986 19.7985 5.17231 19.6568 5.1242C19.515 5.07608 19.3606 5.08063 19.2219 5.137L16.3599 6.292C15.9237 5.9578 15.4502 5.67525 14.9489 5.45L14.5739 2.545C14.5547 2.39441 14.4813 2.25598 14.3673 2.15566C14.2534 2.05534 14.1068 1.99999 13.9549 2H10.0859C9.93402 1.99997 9.78728 2.05527 9.67317 2.15558C9.55906 2.25588 9.48539 2.39432 9.46595 2.545L9.09395 5.433C8.63957 5.63249 8.20723 5.87882 7.80395 6.168L5.00895 4.954C4.87173 4.89484 4.71787 4.88672 4.57519 4.9311C4.4325 4.97549 4.3104 5.06945 4.23095 5.196L2.22195 8.398C2.1396 8.52998 2.10934 8.68789 2.13707 8.84096C2.1648 8.99403 2.24854 9.1313 2.37195 9.226L4.86795 11.142C4.83172 11.4266 4.81302 11.7131 4.81195 12C4.81195 12.18 4.82095 12.362 4.83795 12.558L2.26495 14.375C2.13766 14.4647 2.04844 14.5987 2.01478 14.7508C1.98112 14.9028 2.00543 15.0619 2.08295 15.197L3.95695 18.474C4.11095 18.742 4.43695 18.857 4.72595 18.746L7.56095 17.644C8.00795 17.997 8.49195 18.294 9.00795 18.53L9.33795 21.396C9.37495 21.709 9.63795 21.946 9.95195 21.95L13.8169 22H13.8249C14.1349 22 14.3989 21.771 14.4439 21.463L14.8549 18.59C15.3703 18.3674 15.8579 18.0855 16.3079 17.75L19.1279 18.93C19.4129 19.05 19.7419 18.944 19.9029 18.679L21.8669 15.452C21.9477 15.319 21.976 15.1608 21.9464 15.0081C21.9168 14.8554 21.8315 14.7192 21.7069 14.626L19.1469 12.716ZM11.9999 15C10.3459 15 8.99995 13.655 8.99995 12C8.99995 10.346 10.3449 9 11.9999 9C13.6539 9 14.9999 10.345 14.9999 12C14.9999 13.654 13.6539 15 11.9999 15Z" fill="white"/>
35
+ </svg>
36
+ `}],Ie=n=>{var e=v(n,[]);const a=l=>{if(l.preventDefault(),l.currentTarget.pathname)return e.saveSettings(s(i({},e.settings),{route:l.currentTarget.pathname}))},r=l=>{var _;const o=x["menu__link--active"];return!((_=e.settings)==null?void 0:_.route)&&l==="/dimensions"||e.settings.route===l?o:""};return t.createElement("nav",{className:x.menu},t.createElement("a",{className:x.logo,href:"/settings",onClick:l=>a(l)},t.createElement("svg",{className:"logo__svg",width:"120",height:"38",viewBox:"0 0 120 38",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("g",{clipPath:"url(#clip0_41_612)"},t.createElement("path",{d:"M8.82261 3.73315L0 8.82209V18.9999L8.82261 13.911L17.6474 8.82209L8.82261 3.73315Z",fill:"#83C6E1"}),t.createElement("path",{d:"M8.82261 24.089V13.9111L0 19.0001V29.1779L8.82261 34.2669L17.6474 29.1779V19.0001L8.82261 24.089Z",fill:"#438FD5"}),t.createElement("path",{d:"M17.6474 8.82202L8.82263 13.911L17.6474 18.9999V29.1777L26.47 24.0888V13.911L17.6474 8.82202Z",fill:"#F4220B"}),t.createElement("path",{d:"M64.6069 13.9025H67.8036V25.5528H64.6069V13.9025ZM64.4902 8.5415H67.9181V11.7348H64.4902V8.5415ZM72.5153 10.1025V13.9025H70.3691V16.6272H72.5153V25.5528H75.7119V16.6272H78.2774V13.9025H75.7119V11.2684H78.2774V8.5415H75.2213L72.5153 10.1025ZM83.1059 13.7859L80.3999 15.3469V24.1084L83.1059 25.6694H88.0748L90.7808 24.1084V15.3469L88.0748 13.7859H83.1059ZM87.5842 22.9425H83.5943V16.5106H87.5842V22.9425ZM97.4723 14.8611L95.8103 13.9025H94.2779V25.5528H97.4745V16.6272H101.486V13.9025H99.1344L97.4723 14.8611ZM55.713 13.7859L53.8499 14.8611L51.9847 13.7859H50.7289V25.5528H53.9256V16.5106H57.9133V25.5528H61.1099V15.3469L58.4039 13.7859H55.713ZM44.0353 22.9425H40.0454V13.9025H36.851V24.1084L39.557 25.6694H42.3753L44.0309 24.7129L44.0331 24.7151L44.0353 24.7129V24.7151L45.6887 25.6694H47.2297V13.9025H44.0353V22.9425ZM117.51 13.7859H115.271L113.079 15.0425L110.909 13.7859H108.67L107.015 14.7402L105.359 13.7859H103.818V25.5528H107.015V16.5106H110.421V25.5528H113.615V16.5106H117.022V25.5528H120.216V15.3469L117.51 13.7859Z",fill:"white"})),t.createElement("defs",null,t.createElement("clipPath",{id:"clip0_41_612"},t.createElement("rect",{width:"120",height:"38",fill:"white"}))))),t.createElement("ul",{className:x.menu__list},He.map((l,o)=>t.createElement("li",{className:x.menu__item,key:o},t.createElement("a",{className:`${x.menu__link} ${r(l.href)}`,href:l.href,title:l.title,onClick:_=>a(_)},t.createElement("i",{className:x.menu__icon,dangerouslySetInnerHTML:{__html:l.icon}}),l.title)))))},Ve=()=>t.createElement("article",null,t.createElement("h1",null,"Something when wrong"),t.createElement("p",null,"We could not find the page you're looking for.")),$e="_accordion_1y4mw_1",Me="_accordion__content_1y4mw_2",Te="_accordion__title_1y4mw_6",Ue="_accordion__btn_1y4mw_12",Se="_accordion__icon_1y4mw_24";var H={accordion:$e,accordion__content:Me,accordion__title:Te,accordion__btn:Ue,accordion__icon:Se,"accordion__icon--active":"_accordion__icon--active_1y4mw_28"};const ae=({children:e})=>t.createElement("div",{className:H.accordion},e),oe=({title:e,children:n})=>{const[a,r]=t.useState(!1),l=e.split(" ").join("-").toLocaleLowerCase();return t.createElement(t.Fragment,null,t.createElement("h3",{className:`${H.accordion__title}`},t.createElement("button",{"aria-expanded":a,className:H.accordion__btn,title:e,id:l,"aria-controls":`${l}-section`,onClick:()=>r(o=>!o),type:"button"},e,t.createElement("i",{className:`${H.accordion__icon} ${a?H["accordion__icon--active"]:""}`},t.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{d:"M6.34317 7.75732L4.92896 9.17154L12 16.2426L19.0711 9.17157L17.6569 7.75735L12 13.4142L6.34317 7.75732Z",fill:"currentColor"}))))),t.createElement("div",{id:`${l}-section`,className:`${H.accordion__content}`,role:"region","aria-labelledby":l},a?n:null))},Pe="_btn_15bw2_1";var re={btn:Pe,"btn--primary":"_btn--primary_15bw2_15","btn--secondary":"_btn--secondary_15bw2_19","btn--unimportant":"_btn--unimportant_15bw2_22","btn--ghost":"_btn--ghost_15bw2_26"};const A=l=>{var o=l,{buttonType:e="primary",children:n,className:a}=o,r=v(o,["buttonType","children","className"]);return t.createElement(t.Fragment,null,t.createElement("button",i({type:"button",className:`${re.btn} ${re[`btn--${e}`]}${a?` ${a}`:""}`},r),n))},Oe="_cta_ddty5_1",Ae="_cta__title_ddty5_17",De="_cta__text_ddty5_24",ze="_cta__close_ddty5_30";var w={cta:Oe,"cta--with-icon":"_cta--with-icon_ddty5_12",cta__title:Ae,cta__text:De,cta__close:ze,"cta__btn-group":"_cta__btn-group_ddty5_50"};const le=({title:e,text:n,buttonGroup:a,children:r})=>t.createElement("div",{className:`${w.cta}`},t.createElement("h2",{className:`${w.cta__title}`},e),t.createElement("p",{className:`${w.cta__text}`},n),r,a?t.createElement("div",{className:`${w["cta__btn-group"]}`},a):null);var D={"input-switch":"_input-switch_13lsn_1","input-switch__label":"_input-switch__label_13lsn_8","input-switch__control":"_input-switch__control_13lsn_13","input-switch__checkbox":"_input-switch__checkbox_13lsn_17","input-switch__btn":"_input-switch__btn_13lsn_25"};const Ze=a=>{var r=a,{label:e}=r,n=v(r,["label"]);return t.createElement("label",{className:D["input-switch"]},t.createElement("span",{className:D["input-switch__label"]},e),t.createElement("input",i({type:"checkbox",className:D["input-switch__checkbox"]},n)),t.createElement("span",{className:D["input-switch__btn"]}))},qe="_table_fo951_1",Re="_table__head_fo951_8",Be="_table__body_fo951_13",Fe="_table__row_fo951_16",Ke="_table__heading_fo951_19",Ge="_table__data_fo951_32";var C={table:qe,table__head:Re,table__body:Be,table__row:Fe,table__heading:Ke,table__data:Ge,"table__data--left":"_table__data--left_fo951_39","table__data--right":"_table__data--right_fo951_43","table__data--center":"_table__data--center_fo951_47","table__data--light":"_table__data--light_fo951_51","table__data--dark":"_table__data--dark_fo951_55","t-border-bottom":"_t-border-bottom_fo951_59","t-border-left":"_t-border-left_fo951_63"};const K=({children:e})=>t.createElement("table",{className:C.table},e),Je=({children:e})=>t.createElement("thead",{className:C.table__head},e),G=({children:e})=>t.createElement("tbody",{className:C.table__body},e),z=({border:e,children:n})=>t.createElement("tr",{className:`${C.table__row} ${e?C[`t-border-${e}`]:""}`},n),ie=({children:e})=>t.createElement("th",{className:C.table__heading},e),k=({alignment:e="left",border:n,color:a="dark",children:r})=>t.createElement("td",{className:`${C.table__data} ${C[`table__data--${e}`]} ${C[`table__data--${a}`]} ${n?C[`t-border-${n}`]:""}`},r),We="_page_1ntvl_1",Ye="_page__title_1ntvl_5",Qe="_divider_1ntvl_24",Xe="_submitButton_1ntvl_43",et="_popIn_1ntvl_1",tt="_error_1ntvl_50";var L={page:We,page__title:Ye,"page__heading-group":"_page__heading-group_1ntvl_17",divider:Qe,submitButton:Xe,popIn:et,error:tt};const nt=({dimensionIndex:{index:e},state:{scores:n,data:a},actions:r})=>{const l=t.useMemo(()=>Object.keys(e).filter(c=>!n[c]).map(c=>{var p;return(p=e[c])!=null?p:{name:c,dim:c,type:"Unknown"}}),[n,e]),o=Object.keys(n).length,_=o+l.length,u=()=>{r.rawUpdate([{type:"setcontrol",data:!a.controlGroup}])};return t.createElement(t.Fragment,null,t.createElement("article",{className:L.page},t.createElement("div",{className:L["page__heading-group"]},t.createElement("h2",{className:L.page__title},"Dimensions",t.createElement("small",null,o," active of ",_)),t.createElement(Ze,{label:"Control Group",onChange:u,checked:a.controlGroup})),o>0?t.createElement(K,null,t.createElement(G,null,Object.entries(n).map(([c,p],b)=>{var h;const{name:m,type:d,category:E}=(h=e==null?void 0:e[c])!=null?h:{name:c,dim:c,type:"Unknown"};return t.createElement(z,{key:b},t.createElement(k,null,t.createElement("b",null,p)),t.createElement(k,null,t.createElement("span",{className:L.divider,role:"presentation"}),t.createElement("strong",null,E?`${E}:`:""," ",m)),t.createElement(k,{alignment:"right",color:"light"},d))}))):t.createElement(le,{title:a.controlGroup?"In control group":"No active dimensions",text:a.controlGroup?"You are part of the personalization control group. While in the control group you do not have dimension scores and will not see personalized content. A/B tests will still run.":"You do not have score in any dimensions yet.",buttonGroup:a.controlGroup?t.createElement(A,{buttonType:"secondary",onClick:u},"Exit control group"):null}),t.createElement(ae,null,t.createElement(oe,{title:"Inactive Dimensions"},t.createElement(K,null,t.createElement(G,null,l.map(({dim:c,type:p,name:b,category:m})=>t.createElement(z,{key:c},t.createElement(k,null,t.createElement("strong",null,m?`${m}:`:""," ",b)),t.createElement(k,{alignment:"right",color:"light"},p)))))))))},at=n=>{var e=v(n,[]);const{state:{data:a}}=e;return t.createElement(t.Fragment,null,t.createElement("article",{className:L.page},t.createElement("h1",{className:L.page__title},"Quirks"),t.createElement("p",null,"Microcopy here is TBD"),Object.keys(a.quirks).length?t.createElement(K,null,t.createElement(Je,null,t.createElement(z,null,t.createElement(ie,null,"Key"),t.createElement(ie,null,"Value"))),t.createElement(G,null,Object.entries(a.quirks).map(([r,l],o)=>t.createElement(z,{key:o,border:"bottom"},t.createElement(k,null,t.createElement("strong",null,r)),t.createElement(k,null,l))))):t.createElement(le,{title:"No quirks configured",text:"There are currently no quirks setup."})))};var y={"text-input":"_text-input_14cgg_1","select-input":"_select-input_14cgg_9","input-wrapper":"_input-wrapper_14cgg_18","input-label":"_input-label_14cgg_22","input-text":"_input-text_14cgg_29","input-caption":"_input-caption_14cgg_36","error-msg":"_error-msg_14cgg_41"};const J=l=>{var o=l,{field:e,form:n,meta:a}=o,r=v(o,["field","form","meta"]);const p=r,{label:_,caption:u}=p,c=v(p,["label","caption"]);return t.createElement("div",{className:y["input-wrapper"]},t.createElement("label",{className:y["input-label"]},t.createElement("span",{className:y["input-text"]},_),t.createElement("input",i(i({type:"text",className:y["text-input"]},e),c))),u?t.createElement("span",{className:y["input-caption"]},u):null,t.createElement(N.ErrorMessage,{component:"div",className:y["error-msg"],name:e.name}))},ot=l=>{var o=l,{field:e,form:n,meta:a}=o,r=v(o,["field","form","meta"]);const b=r,{label:_,options:u,caption:c}=b,p=v(b,["label","options","caption"]);return t.createElement("div",{className:y["input-wrapper"]},t.createElement("label",{className:y["input-label"]},t.createElement("span",{className:y["input-text"]},_),t.createElement("select",s(i(i({},e),p),{className:y["select-input"]}),u.map((m,d)=>t.createElement("option",{value:m.value,key:d},m.text)))),c?t.createElement("span",{className:y["input-caption"]},c):null,t.createElement(N.ErrorMessage,{component:"div",className:y["error-msg"],name:e.name}))},rt=M.object({apiKey:M.string().matches(/^uf.+$/,"API keys start with `uf`, double check your API key"),apiHost:M.string().matches(/^https:\/\/(localhost:8889|([a-z]+\.)?uniform.app)$/,"API host must be a Uniform domain."),logLevel:M.string(),projectId:M.string().uuid()}),lt=({settings:e,saveSettings:n,dimensionIndex:{error:a,loading:r}})=>{const l=[{value:"none",text:"Logging off"},{value:"info",text:"Log info, warnings, and errors"},{value:"warn",text:"Log warnings and errors"},{value:"error",text:"Log errors"},{value:"debug",text:"Verbose debug logging"}];return t.createElement(N.Formik,{initialValues:i({apiHost:"",apiKey:"",projectId:"",logLevel:"none"},e),validationSchema:rt,enableReinitialize:!0,onSubmit:o=>{n(s(i({},e),{apiHost:o.apiHost,apiKey:o.apiKey,projectId:o.projectId,logLevel:o.logLevel}))}},({dirty:o,isValid:_})=>t.createElement(N.Form,{className:L.page},t.createElement("h1",{className:L.page__title},"Settings"),t.createElement(N.Field,{component:ot,label:"Logging",caption:"Logs can be viewed in the browser console",id:"logging",name:"logLevel",options:l}),t.createElement("fieldset",null,t.createElement("legend",null,"Data Connection"),!r&&a?t.createElement("p",{className:L.error},"Unable to fetch data from Uniform",t.createElement("br",null),t.createElement("em",null,a.message)):null,t.createElement("p",null,t.createElement("small",null,"Adding an API key and project ID enables richer dimension data to be shown. You must have access to the Uniform project to do this.")),t.createElement(N.Field,{component:J,label:"Uniform API key",caption:"Generate an API key in your Uniform team settings. Grant only Context: Read Drafts permission.",id:"api-key",name:"apiKey",autoComplete:"off"}),t.createElement(N.Field,{component:J,label:"Uniform Project ID",caption:"Available after generating an API key ",id:"project-id",name:"projectId",autoComplete:"off"}),t.createElement(ae,null,t.createElement(oe,{title:"Advanced"},t.createElement(N.Field,{component:J,label:"Alternative API Host",caption:"Use a non-standard Uniform API endpoint. Most people will not not need this option.",id:"api-host",name:"apiHost",autoComplete:"off"}))),o?t.createElement(A,{type:"submit",className:L.submitButton,disabled:!_},"Save"):null)))},it=({settings:e,saveSettings:n})=>{const a=()=>{n(s(i({},e),{route:"/settings"}))},r=()=>{n(s(i({},e),{ignoreApiKeyPrompt:!0}))},l=!(e==null?void 0:e.apiKey);return!e.ignoreApiKeyPrompt&&l?t.createElement("div",{className:`${w.cta} ${w["cta--with-icon"]}`},t.createElement("h2",{className:`${w.cta__title}`},"Connect this site"),t.createElement("p",{className:`${w.cta__text}`},"Add a Uniform API key to get better data."),t.createElement("div",{className:`${w["cta__btn-group"]}`},t.createElement(A,{buttonType:"secondary",onClick:a},"Connect this site"),t.createElement(A,{buttonType:"ghost",onClick:r},"Skip for now")),t.createElement("button",{type:"button",className:`${w.cta__close}`,title:"close",onClick:r},t.createElement("span",{hidden:!0},"Close"))):null};const st="_layout_1hzp7_64",ct="_layout__main_1hzp7_84",_t="_scrollbar_1hzp7_91";var Z={layout:st,"layout--browser-ext":"_layout--browser-ext_1hzp7_75",layout__main:ct,scrollbar:_t},ut=Object.defineProperty,mt=(e,n,a)=>n in e?ut(e,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[n]=a;(e=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(e,{get:(n,a)=>(typeof require!="undefined"?require:n)[a]}):e)(function(e){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')});var pt=(e,n)=>()=>(e&&(n=e(e=0)),n),dt=(e,n,a)=>(mt(e,typeof n!="symbol"?n+"":n,a),a),ht=(e,n,a)=>{if(!n.has(e))throw TypeError("Cannot "+a)},g=(e,n,a)=>(ht(e,n,"read from private field"),a?a.call(e):n.get(e)),j=(e,n,a)=>{if(n.has(e))throw TypeError("Cannot add the same private member more than once");n instanceof WeakSet?n.add(e):n.set(e,a)},f=pt(()=>{});f();var se="_";f();var gt=async e=>await e(),ce=class extends Error{constructor(e,n,a,r,l){super(`${e}
37
+ ${r}${l?" "+l:""} (${n} ${a})`);this.errorMessage=e,this.fetchMethod=n,this.fetchUri=a,this.statusCode=r,this.statusText=l,Object.setPrototypeOf(this,ce.prototype)}};f();f();var I=class{constructor(e){dt(this,"options");var n,a,r,l,o,_;if(!e.apiKey&&!e.bearerToken)throw new Error("You must provide an API key or a bearer token");this.options=s(i({},e),{fetch:(n=e.fetch)!=null?n:fetch,apiHost:(a=e.apiHost)!=null?a:"https://uniform.app",apiKey:(r=e.apiKey)!=null?r:null,projectId:(l=e.projectId)!=null?l:null,bearerToken:(o=e.bearerToken)!=null?o:null,limitPolicy:(_=e.limitPolicy)!=null?_:gt})}async apiClient(e,n){return this.options.limitPolicy(async()=>{var a;let r=this.options.apiKey?{"x-api-key":this.options.apiKey}:{Authorization:`Bearer ${this.options.bearerToken}`},l=await fetch(e.toString(),s(i({},n),{headers:i(i({},n==null?void 0:n.headers),r)}));if(!l.ok){let o="";try{let _=await l.text();try{let u=JSON.parse(_);u.errorMessage?o=Array.isArray(u.errorMessage)?u.errorMessage.join(", "):u.errorMessage:o=_}catch{o=_}}catch{o="General error"}throw new ce(o,(a=n==null?void 0:n.method)!=null?a:"GET",e.toString(),l.status)}return(n==null?void 0:n.expectNoContent)?null:await l.json()})}createUrl(e,n){let a=new URL(`${this.options.apiHost}${e}`);return Object.entries(n!=null?n:{}).forEach(([r,l])=>{var o;typeof l!="undefined"&&l!==null&&a.searchParams.append(r,(o=l==null?void 0:l.toString())!=null?o:"")}),a}},T,q=class extends I{constructor(e){super(e)}async get(e){let{projectId:n}=this.options,a=this.createUrl(g(q,T),s(i({},e),{projectId:n}));return await this.apiClient(a)}async upsert(e){let n=this.createUrl(g(q,T));await this.apiClient(n,{method:"PUT",body:JSON.stringify(s(i({},e),{projectId:this.options.projectId})),expectNoContent:!0})}async remove(e){let n=this.createUrl(g(q,T));await this.apiClient(n,{method:"DELETE",body:JSON.stringify(s(i({},e),{projectId:this.options.projectId})),expectNoContent:!0})}},bt=q;T=new WeakMap,j(bt,T,"/api/v2/aggregate");f();var U,R,V=class extends I{constructor(e){super(e)}async get(e){let{projectId:n}=this.options,a=this.createUrl(g(V,U),s(i({},e),{projectId:n}));return await this.apiClient(a)}async upsertCategory(e){let n=this.createUrl(g(V,U));await this.apiClient(n,{method:"PUT",body:JSON.stringify(s(i({},e),{projectId:this.options.projectId})),expectNoContent:!0})}async removeCategory(e){let n=this.createUrl(g(V,U));await this.apiClient(n,{method:"DELETE",body:JSON.stringify(s(i({},e),{projectId:this.options.projectId})),expectNoContent:!0})}async upsertValue(e){let n=this.createUrl(g(V,R));await this.apiClient(n,{method:"PUT",body:JSON.stringify(s(i({},e),{projectId:this.options.projectId})),expectNoContent:!0})}async removeValue(e){let n=this.createUrl(g(V,R));await this.apiClient(n,{method:"DELETE",body:JSON.stringify(s(i({},e),{projectId:this.options.projectId})),expectNoContent:!0})}},_e=V;U=new WeakMap,R=new WeakMap,j(_e,U,"/api/v1/enrichments"),j(_e,R,"/api/v1/enrichment-values");f();var W,ue=class extends I{constructor(e){super(e)}async get(e){let{projectId:n}=this.options,a=this.createUrl(g(ue,W),s(i({},e),{projectId:n}));return await this.apiClient(a)}},yt=ue;W=new WeakMap,j(yt,W,"/api/v2/manifest");f();var S,B=class extends I{constructor(e){super(e)}async get(e){let{projectId:n}=this.options,a=this.createUrl(g(B,S),s(i({},e),{projectId:n}));return await this.apiClient(a)}async upsert(e){let n=this.createUrl(g(B,S));await this.apiClient(n,{method:"PUT",body:JSON.stringify(s(i({},e),{projectId:this.options.projectId})),expectNoContent:!0})}async remove(e){let n=this.createUrl(g(B,S));await this.apiClient(n,{method:"DELETE",body:JSON.stringify(s(i({},e),{projectId:this.options.projectId})),expectNoContent:!0})}},ft=B;S=new WeakMap,j(ft,S,"/api/v2/quirk");f();var P,F=class extends I{constructor(e){super(e)}async get(e){let{projectId:n}=this.options,a=this.createUrl(g(F,P),s(i({},e),{projectId:n}));return await this.apiClient(a)}async upsert(e){let n=this.createUrl(g(F,P));await this.apiClient(n,{method:"PUT",body:JSON.stringify(s(i({},e),{projectId:this.options.projectId})),expectNoContent:!0})}async remove(e){let n=this.createUrl(g(F,P));await this.apiClient(n,{method:"DELETE",body:JSON.stringify(s(i({},e),{projectId:this.options.projectId})),expectNoContent:!0})}},Et=F;P=new WeakMap,j(Et,P,"/api/v2/signal");f();f();f();var Y,me=class extends I{constructor(e){super(e)}async get(e){let{projectId:n}=this.options,a=this.createUrl(g(me,Y),s(i({},e),{projectId:n}));return await this.apiClient(a)}},pe=me;Y=new WeakMap,j(pe,Y,"/api/v2/dimension");f();function vt(e){let n=e.category==="ENR"?"Enrichment":e.category==="SIG"?"Signal":e.subcategory==="1"?"Intent":e.subcategory==="0"?"Audience":"Aggregate";return{dim:e.dim,name:e.name,type:n,category:e.category==="ENR"?e.subcategory:void 0}}function de(e,n){var a,r,l,o;if((r=(a=n.project.pz)==null?void 0:a.agg)==null?void 0:r[e])return{dim:e,name:e,type:"Aggregate"};if((o=(l=n.project.pz)==null?void 0:l.sig)==null?void 0:o[e])return{dim:e,name:e,type:"Signal"};if(e.indexOf(se)>=0){let[_,u]=e.split(se);return{dim:e,name:u,type:"Enrichment",category:_}}}function wt({apiHost:e,apiKey:n,projectId:a},r){const l=t.useMemo(()=>{var p,b,m,d;const c={};return r&&(Object.keys((b=(p=r==null?void 0:r.project.pz)==null?void 0:p.sig)!=null?b:{}).forEach(E=>{const h=de(E,r);h&&(c[E]=h)}),Object.keys((d=(m=r==null?void 0:r.project.pz)==null?void 0:m.agg)!=null?d:{}).forEach(E=>{const h=de(E,r);h&&(c[E]=h)})),c},[r]),{loading:o,error:_,value:u}=ve.useAsync(async()=>{if(!n||!a)return l;const p=(await new pe({projectId:a,apiKey:n,apiHost:e||void 0}).get()).dimensions,b=i({},l);return p.forEach(m=>{b[m.dim]=vt(m)}),b},[e,n,a,l]);return{loading:o,error:_,index:u!=null?u:l}}function he(e){const n=typeof chrome!="undefined"&&typeof chrome.storage!="undefined",a=wt(e.settings,e.state.manifest),r=s(i({},e),{dimensionIndex:a}),l=()=>{var o;switch((o=e.settings)==null?void 0:o.route){case void 0:case"/":case"/dimensions":return t.createElement(nt,i({},r));case"/quirks":return t.createElement(at,i({},r));case"/settings":return t.createElement(lt,i({},r));default:return t.createElement(Ve,null)}};return t.createElement("div",{className:`${Z.layout} ${n?"":Z["layout--browser-ext"]}`},t.createElement(Ie,i({},e)),t.createElement("main",{className:`${Z.layout__main} ${Z.scrollbar}`},t.createElement(it,i({},e)),l()))}var Ct={"embed-btn":"_embed-btn_1dhzs_1"};const Lt=n=>{var e=v(n,[]);return t.createElement("button",i({type:"button","data-uniform-dev-tools-version":"2",className:Ct["embed-btn"]},e),t.createElement("span",{hidden:!0},"Uniform devtools"),t.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},t.createElement("path",{d:"M13.325 3.05011L8.66741 20.4323L10.5993 20.9499L15.2568 3.56775L13.325 3.05011Z",fill:"currentColor"}),t.createElement("path",{d:"M7.61197 18.3608L8.97136 16.9124L8.97086 16.8933L3.87657 12.1121L8.66699 7.00798L7.20868 5.63928L1.04956 12.2017L7.61197 18.3608Z",fill:"currentColor"}),t.createElement("path",{d:"M16.388 18.3608L15.0286 16.9124L15.0291 16.8933L20.1234 12.1121L15.333 7.00798L16.7913 5.63928L22.9504 12.2017L16.388 18.3608Z",fill:"currentColor"})))};function Nt({context:e,initialSettings:n}){const[a,r]=t.useState(!1),l=e!=null?e:typeof window!="undefined"?window.__UNIFORM_DEVTOOLS_CONTEXT_INSTANCE__:void 0,o=l!=null?l:new te.Context({manifest:{project:{}}}),[_,u]=t.useState({data:o.storage.data,manifest:o.manifest.data,scores:o.scores,personalizations:[],tests:[]}),[c,p]=t.useState(n!=null?n:{});t.useEffect(()=>{var d;const m=te.createDebugConsoleLogDrain((d=c.logLevel)!=null?d:"none");return o.events.on("log",m),()=>{o.events.off("log",m)}},[c,o]),t.useEffect(()=>{const m=()=>{u(h=>s(i({},h),{scores:o.scores,data:o.storage.data,manifest:o.manifest.data}))},d=h=>{!h.changed||u($=>s(i({},$),{personalizations:[...$.personalizations,h]}))},E=h=>{!h.variantAssigned||u($=>s(i({},$),{tests:[...$.tests,h]}))};return o.events.on("personalizationResult",d),o.events.on("testResult",E),o.storage.events.on("*",m),()=>{o.storage.events.off("*",m),o.events.off("personalizationResult",d),o.events.off("testResult",E)}},[o,c]);const b=t.useMemo(()=>({update:d=>o.update(d),forget:()=>o.forget(!1),rawUpdate:d=>o.storage.updateData(d)}),[o]);return l?t.createElement("div",{"data-uniform-dev-tools-version":"2"},t.createElement(Lt,{onClick:()=>r(m=>!m)}),a?t.createElement(he,{state:_,actions:b,settings:c,saveSettings:p}):null):t.createElement("p",null,"Unable to find Uniform Context. Ensure the devtools plugin is activated.")}exports.ContextDevTools=he;exports.EmbeddedContextDevTools=Nt;