@uniformdev/context-devtools 16.0.1-alpha.194 → 16.0.1-nuxt.149
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/esm/index.js +61 -61
- package/dist/index.d.ts +0 -0
- package/dist/index.js +43 -43
- package/package.json +7 -7
package/dist/esm/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as e}from"@emotion/react";import*as
|
|
1
|
+
"use strict";import{jsx as e}from"@emotion/react";import*as b from"react";import{css as D}from"@emotion/react";import{createContext as ot,useContext as rt}from"react";var me=ot({settings:{},saveSettings:()=>{}}),z=()=>rt(me),ue=({children:t,settings:r,saveSettings:n})=>e(me.Provider,{value:{settings:r,saveSettings:n}},t);var nt=({route:t,children:r,className:n})=>{let{settings:o,saveSettings:s}=z();return e("a",{href:"",className:n,onClick:a=>{a.preventDefault(),s({...o,route:t})}},r)},H=nt;var it=[{title:"Dimensions",href:"/dimensions",icon:`<svg
|
|
2
2
|
width="24"
|
|
3
3
|
height="24"
|
|
4
4
|
viewBox="0 0 24 24"
|
|
@@ -36,28 +36,28 @@ import{jsx as e}from"@emotion/react";import*as y from"react";import{css as L}fro
|
|
|
36
36
|
</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">
|
|
37
37
|
<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"/>
|
|
38
38
|
</svg>
|
|
39
|
-
`}],
|
|
39
|
+
`}],st=`<svg width="24" height="24" fill="white" viewBox="0 0 122.88 116.67" xmlns="http://www.w3.org/2000/svg">
|
|
40
40
|
<g>
|
|
41
41
|
<path d="M84.55,116.66c2.49,0,4.53-1.99,4.53-4.41V88.08c1.55-13.03,7.27-9.16,14-5.13 c16.27,9.74,27.08-15.88,13.93-23.78c-10.32-6.2-14.79,4.46-22.35,3.36c-2.92-0.43-4.95-3.5-5.59-8.17V36.9 c0-2.43-2.04-4.41-4.53-4.41H63.73c-17.18-2.12-1.93-11.37-1.93-19.98C61.81,5.6,55.38,0,47.45,0c-7.92,0-15.19,5.6-15.19,12.51 c0,8.12,15.78,17.86-1.64,19.98H4.53C2.04,32.49,0,34.47,0,36.9v17.42c1.33,7.43,6.49,9.15,13.1,4.25 c2.23-1.66,5.99-3.59,8.71-3.59c7.09,0,12.85,6.25,12.85,13.96S28.91,84.6,21.81,84.6c-2.53,0-4.89-0.8-6.89-2.19 c0,0.59-12.4-10.85-14.92,3.15v26.71c0,2.43,2.04,4.41,4.53,4.41c13.97,0,27.92,0,41.88-0.01c0.55-2.55-1.24-5.47-2.92-8 c-13.22-19.93,38.21-21.92,24.99,0.62c-0.65,1.11-1.3,2.19-1.8,3.24c-0.63,1.31-1.05,2.91-0.96,4.14L84.55,116.66L84.55,116.66z"></path>
|
|
42
42
|
</g>
|
|
43
|
-
</svg>`,
|
|
43
|
+
</svg>`,ge=({...t})=>{var o,s;let r=a=>{var p;let l="active";return!((p=t.settings)!=null&&p.route)&&a==="/dimensions"||t.settings.route===a?l:""},n=Boolean(typeof window!="undefined"&&((s=(o=window.chrome)==null?void 0:o.runtime)==null?void 0:s.id));return e("nav",{css:D`
|
|
44
44
|
background: var(--brand-secondary-1);
|
|
45
45
|
padding: var(--spacing-base);
|
|
46
46
|
min-width: 200px;
|
|
47
47
|
display: flex;
|
|
48
48
|
flex-direction: column;
|
|
49
|
-
`},e("a",{css:
|
|
49
|
+
`},e("a",{css:D`
|
|
50
50
|
flex-grow: 0;
|
|
51
51
|
display: inline-block;
|
|
52
52
|
margin: 0 var(--spacing-base);
|
|
53
|
-
`,href:"https://uniform.dev/"},e("svg",{css:{display:"block"},width:"120",height:"38",viewBox:"0 0 120 38",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e("g",{clipPath:"url(#clip0_41_612)"},e("path",{d:"M8.82261 3.73315L0 8.82209V18.9999L8.82261 13.911L17.6474 8.82209L8.82261 3.73315Z",fill:"#83C6E1"}),e("path",{d:"M8.82261 24.089V13.9111L0 19.0001V29.1779L8.82261 34.2669L17.6474 29.1779V19.0001L8.82261 24.089Z",fill:"#438FD5"}),e("path",{d:"M17.6474 8.82202L8.82263 13.911L17.6474 18.9999V29.1777L26.47 24.0888V13.911L17.6474 8.82202Z",fill:"#F4220B"}),e("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"})),e("defs",null,e("clipPath",{id:"clip0_41_612"},e("rect",{width:"120",height:"38",fill:"white"}))))),e("ul",{css:
|
|
53
|
+
`,href:"https://uniform.dev/"},e("svg",{css:{display:"block"},width:"120",height:"38",viewBox:"0 0 120 38",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e("g",{clipPath:"url(#clip0_41_612)"},e("path",{d:"M8.82261 3.73315L0 8.82209V18.9999L8.82261 13.911L17.6474 8.82209L8.82261 3.73315Z",fill:"#83C6E1"}),e("path",{d:"M8.82261 24.089V13.9111L0 19.0001V29.1779L8.82261 34.2669L17.6474 29.1779V19.0001L8.82261 24.089Z",fill:"#438FD5"}),e("path",{d:"M17.6474 8.82202L8.82263 13.911L17.6474 18.9999V29.1777L26.47 24.0888V13.911L17.6474 8.82202Z",fill:"#F4220B"}),e("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"})),e("defs",null,e("clipPath",{id:"clip0_41_612"},e("rect",{width:"120",height:"38",fill:"white"}))))),e("ul",{css:D`
|
|
54
54
|
display: flex;
|
|
55
55
|
flex-flow: column nowrap;
|
|
56
56
|
padding: 0;
|
|
57
57
|
margin: 0;
|
|
58
58
|
list-style-type: none;
|
|
59
59
|
flex-grow: 1;
|
|
60
|
-
`},
|
|
60
|
+
`},it.map((a,l)=>{var m,u,i,c;let p=0;return a.href==="/overrides"&&Object.keys((m=t.settings.scoreOverrides)!=null?m:{}).length>0&&(p=Object.keys((u=t.settings.scoreOverrides)!=null?u:{}).length),a.href==="/quirks"&&Object.keys((i=t.settings.quirkOverrides)!=null?i:{}).length>0&&(p=Object.keys((c=t.settings.quirkOverrides)!=null?c:{}).length),e("li",{css:D`
|
|
61
61
|
padding: 0;
|
|
62
62
|
margin: 0;
|
|
63
63
|
list-style-type: none;
|
|
@@ -65,7 +65,7 @@ import{jsx as e}from"@emotion/react";import*as y from"react";import{css as L}fro
|
|
|
65
65
|
&:last-of-type {
|
|
66
66
|
margin-top: auto;
|
|
67
67
|
}
|
|
68
|
-
`,key:l},e(H,{css:
|
|
68
|
+
`,key:l},e(H,{css:D`
|
|
69
69
|
align-items: center;
|
|
70
70
|
border-radius: var(--rounded-base);
|
|
71
71
|
display: flex;
|
|
@@ -79,10 +79,10 @@ import{jsx as e}from"@emotion/react";import*as y from"react";import{css as L}fro
|
|
|
79
79
|
&.active {
|
|
80
80
|
background: var(--gray-700);
|
|
81
81
|
}
|
|
82
|
-
`,className:r(a.href),route:a.href},e("i",{css:
|
|
82
|
+
`,className:r(a.href),route:a.href},e("i",{css:D`
|
|
83
83
|
align-items: center;
|
|
84
84
|
display: flex;
|
|
85
|
-
`,dangerouslySetInnerHTML:{__html:a.icon}}),a.title,p?e("span",{css:
|
|
85
|
+
`,dangerouslySetInnerHTML:{__html:a.icon}}),a.title,p?e("span",{css:D`
|
|
86
86
|
font-size: var(--fs-xxs);
|
|
87
87
|
display: inline-block;
|
|
88
88
|
width: 12px;
|
|
@@ -91,7 +91,7 @@ import{jsx as e}from"@emotion/react";import*as y from"react";import{css as L}fro
|
|
|
91
91
|
background-color: var(--red-tooltip);
|
|
92
92
|
text-align: center;
|
|
93
93
|
line-height: 12px;
|
|
94
|
-
`},p):null))})),!n&&e("a",{target:"_blank",href:"https://chrome.google.com/webstore/detail/uniform-context/dcmlokofjljnfjcknpmhjocogllfbhkg",css:
|
|
94
|
+
`},p):null))})),!n&&e("a",{target:"_blank",href:"https://chrome.google.com/webstore/detail/uniform-context/dcmlokofjljnfjcknpmhjocogllfbhkg",css:D`
|
|
95
95
|
align-items: center;
|
|
96
96
|
border-radius: var(--rounded-base);
|
|
97
97
|
display: flex;
|
|
@@ -106,14 +106,14 @@ import{jsx as e}from"@emotion/react";import*as y from"react";import{css as L}fro
|
|
|
106
106
|
&.active {
|
|
107
107
|
background: var(--gray-700);
|
|
108
108
|
}
|
|
109
|
-
`,rel:"noreferrer"},e("i",{css:
|
|
109
|
+
`,rel:"noreferrer"},e("i",{css:D`
|
|
110
110
|
align-items: center;
|
|
111
111
|
display: flex;
|
|
112
|
-
`,dangerouslySetInnerHTML:{__html:
|
|
112
|
+
`,dangerouslySetInnerHTML:{__html:st}}),"Install Chrome Extension"))};var ve=()=>e("article",null,e("h1",null,"Something when wrong"),e("p",null,"We could not find the page you're looking for."));import*as te from"react";import{css as M}from"@emotion/react";import*as U from"react";var fe=M({willChange:"height"}),at=M`
|
|
113
113
|
border-bottom: 2px solid var(--brand-secondary-1);
|
|
114
114
|
font-size: var(--fs-base);
|
|
115
115
|
margin: 0;
|
|
116
|
-
`,
|
|
116
|
+
`,ct=M`
|
|
117
117
|
align-items: center;
|
|
118
118
|
border: none;
|
|
119
119
|
background: none;
|
|
@@ -123,11 +123,11 @@ import{jsx as e}from"@emotion/react";import*as y from"react";import{css as L}fro
|
|
|
123
123
|
padding: var(--spacing-sm) 0;
|
|
124
124
|
font-weight: var(--fw-bold);
|
|
125
125
|
justify-content: space-between;
|
|
126
|
-
`,
|
|
126
|
+
`,dt=M`
|
|
127
127
|
align-self: center;
|
|
128
|
-
`,
|
|
128
|
+
`,lt=M`
|
|
129
129
|
transform: rotate(-180deg);
|
|
130
|
-
`,_=({children:t})=>e("div",{css:[
|
|
130
|
+
`,_=({children:t})=>e("div",{css:[fe]},t),G=({title:t,children:r})=>{let[n,o]=U.useState(!1),s=t.split(" ").join("-").toLocaleLowerCase();return e(U.Fragment,null,e("h3",{css:at},e("button",{"aria-expanded":n,css:ct,title:t,id:s,"aria-controls":`${s}-section`,onClick:()=>o(a=>!a),type:"button"},t,e("i",{css:[dt,n?lt:void 0]},e("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e("path",{d:"M6.34317 7.75732L4.92896 9.17154L12 16.2426L19.0711 9.17157L17.6569 7.75735L12 13.4142L6.34317 7.75732Z",fill:"currentColor"}))))),e("div",{id:`${s}-section`,css:[fe,M`
|
|
131
131
|
padding: var(--spacing-sm) 0;
|
|
132
132
|
`],role:"region","aria-labelledby":s},n?r:null))};import{css as A}from"@emotion/react";var $=A`
|
|
133
133
|
background-color: var(--gray-100);
|
|
@@ -137,7 +137,7 @@ import{jsx as e}from"@emotion/react";import*as y from"react";import{css as L}fro
|
|
|
137
137
|
&:first-of-type {
|
|
138
138
|
margin: 0 0 var(--spacing-base);
|
|
139
139
|
}
|
|
140
|
-
`,
|
|
140
|
+
`,he=A`
|
|
141
141
|
background: var(--gray-100)
|
|
142
142
|
url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%0A%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 2C8.44771 2 8 2.44772 8 3V5C8 5.55228 8.44771 6 9 6C9.55229 6 10 5.55228 10 5V3C10 2.44772 9.55229 2 9 2ZM8 9H16V11C16 13.2091 14.2091 15 12 15C9.79086 15 8 13.2091 8 11V9ZM13 16.917C15.8377 16.441 18 13.973 18 11V7H6V11C6 13.973 8.16229 16.441 11 16.917V22C11 22.5523 11.4477 23 12 23C12.5523 23 13 22.5523 13 22V16.917ZM14 3C14 2.44772 14.4477 2 15 2C15.5523 2 16 2.44772 16 3V5C16 5.55228 15.5523 6 15 6C14.4477 6 14 5.55228 14 5V3Z' fill='%232ecdb4' /%3E%3C/svg%3E")
|
|
143
143
|
no-repeat var(--spacing-sm) var(--spacing-base);
|
|
@@ -151,7 +151,7 @@ import{jsx as e}from"@emotion/react";import*as y from"react";import{css as L}fro
|
|
|
151
151
|
color: var(--brand-secondary-1);
|
|
152
152
|
margin: var(--spacing-xs) 0 0;
|
|
153
153
|
font-size: var(--fs-sm);
|
|
154
|
-
`,
|
|
154
|
+
`,be=A`
|
|
155
155
|
align-items: center;
|
|
156
156
|
border: none;
|
|
157
157
|
background: transparent
|
|
@@ -175,21 +175,21 @@ import{jsx as e}from"@emotion/react";import*as y from"react";import{css as L}fro
|
|
|
175
175
|
display: flex;
|
|
176
176
|
margin: var(--spacing-sm) 0 0;
|
|
177
177
|
gap: var(--spacing-base);
|
|
178
|
-
`;var E=({title:t,text:r,buttonGroup:n,children:o})=>e("div",{css:$},e("h2",{css:K},t),e("p",{css:W},r),o,n?e("div",{css:Y},n):null);import{css as
|
|
178
|
+
`;var E=({title:t,text:r,buttonGroup:n,children:o})=>e("div",{css:$},e("h2",{css:K},t),e("p",{css:W},r),o,n?e("div",{css:Y},n):null);import{css as T,keyframes as pt}from"@emotion/react";var mt=pt`from {
|
|
179
179
|
transform: scale(1);
|
|
180
180
|
}
|
|
181
181
|
to {
|
|
182
182
|
transform: scale(1.2);
|
|
183
183
|
}
|
|
184
|
-
`,
|
|
184
|
+
`,f={page:T`
|
|
185
185
|
color: var(--brand-secondary-1);
|
|
186
|
-
`,text:
|
|
186
|
+
`,text:T`
|
|
187
187
|
margin: var(--spacing-sm) 0;
|
|
188
|
-
`,reset:
|
|
188
|
+
`,reset:T`
|
|
189
189
|
margin: 0 var(--spacing-md);
|
|
190
190
|
font-size: var(--fs-sm);
|
|
191
191
|
color: var(--gray-500);
|
|
192
|
-
`,title:
|
|
192
|
+
`,title:T`
|
|
193
193
|
margin: 0 0 var(--spacing-sm);
|
|
194
194
|
font-size: var(--fs-md);
|
|
195
195
|
& > small {
|
|
@@ -198,12 +198,12 @@ to {
|
|
|
198
198
|
font-weight: var(--fw-regular);
|
|
199
199
|
margin: var(--spacing-xxs) 0 0;
|
|
200
200
|
}
|
|
201
|
-
`,headingGroup:
|
|
201
|
+
`,headingGroup:T`
|
|
202
202
|
align-items: baseline;
|
|
203
203
|
display: flex;
|
|
204
204
|
justify-content: space-between;
|
|
205
205
|
align-items: center;
|
|
206
|
-
`,divider:
|
|
206
|
+
`,divider:T`
|
|
207
207
|
background: var(--gray-300);
|
|
208
208
|
display: block;
|
|
209
209
|
width: 1px;
|
|
@@ -211,67 +211,67 @@ to {
|
|
|
211
211
|
position: absolute;
|
|
212
212
|
inset: 0 auto 0 0;
|
|
213
213
|
margin: auto 0;
|
|
214
|
-
`,submitButton:
|
|
214
|
+
`,submitButton:T`
|
|
215
215
|
position: absolute;
|
|
216
216
|
right: var(--spacing-base);
|
|
217
217
|
bottom: var(--spacing-base);
|
|
218
|
-
animation: 0.5s 2 alternate ${
|
|
219
|
-
`,cancelButton:
|
|
218
|
+
animation: 0.5s 2 alternate ${mt};
|
|
219
|
+
`,cancelButton:T`
|
|
220
220
|
position: absolute;
|
|
221
221
|
left: calc(200px + var(--spacing-base));
|
|
222
222
|
bottom: var(--spacing-base);
|
|
223
223
|
background: white;
|
|
224
224
|
padding: var(--spacing-sm);
|
|
225
225
|
border: 1px solid var(--gray-300);
|
|
226
|
-
`,error:
|
|
226
|
+
`,error:T`
|
|
227
227
|
color: var(--brand-secondary-5);
|
|
228
228
|
font-size: var(--fs-sm);
|
|
229
|
-
`,quirks:
|
|
229
|
+
`,quirks:T`
|
|
230
230
|
.uniform-input-select,
|
|
231
231
|
input {
|
|
232
232
|
padding: var(--spacing-sm);
|
|
233
233
|
}
|
|
234
|
-
`};import{css as
|
|
234
|
+
`};import{css as S}from"@emotion/react";var J=({children:t})=>e("table",{css:S`
|
|
235
235
|
border-collapse: collapse;
|
|
236
236
|
display: table;
|
|
237
237
|
width: 100%;
|
|
238
238
|
font-size: var(--fs-sm);
|
|
239
|
-
`},t),
|
|
239
|
+
`},t),ye=({children:t})=>e("thead",{css:S`
|
|
240
240
|
background: var(--gray-50);
|
|
241
241
|
text-align: left;
|
|
242
242
|
& tr {
|
|
243
243
|
border-bottom: 1px solid var(--gray-200);
|
|
244
244
|
}
|
|
245
|
-
`},t),X=({children:t})=>e("tbody",null,t),
|
|
245
|
+
`},t),X=({children:t})=>e("tbody",null,t),q=({border:t,children:r})=>e("tr",{css:t?S`
|
|
246
246
|
border-bottom: 1px solid var(--gray-200);
|
|
247
247
|
&:where(:last-child) {
|
|
248
248
|
border: none;
|
|
249
249
|
}
|
|
250
|
-
`:void 0},r),j=({children:t,width:r})=>e("th",{css:
|
|
250
|
+
`:void 0},r),j=({children:t,width:r})=>e("th",{css:S`
|
|
251
251
|
outline: none;
|
|
252
252
|
padding: var(--spacing-sm);
|
|
253
253
|
width: ${r!=null?r:"auto"};
|
|
254
|
-
`},t);function
|
|
254
|
+
`},t);function ut(t){switch(t){case"light":return S`
|
|
255
255
|
color: var(--gray-400);
|
|
256
|
-
`;case"dark":return
|
|
256
|
+
`;case"dark":return S`
|
|
257
257
|
color: var(--brand-secondary-1);
|
|
258
|
-
`}}function
|
|
258
|
+
`}}function gt(t){return S`
|
|
259
259
|
text-align: ${t};
|
|
260
|
-
`}var
|
|
260
|
+
`}var O=({alignment:t="left",border:r,color:n="dark",children:o})=>e("td",{css:[S`
|
|
261
261
|
padding: var(--spacing-base);
|
|
262
262
|
max-width: 180px;
|
|
263
263
|
overflow-wrap: break-word;
|
|
264
264
|
position: relative;
|
|
265
|
-
`,
|
|
265
|
+
`,ut(n),gt(t),r?S`
|
|
266
266
|
border-left: 1px solid var(--gray-200);
|
|
267
|
-
`:void 0]},o);import{css as ie}from"@emotion/react";var
|
|
267
|
+
`:void 0]},o);import{css as ie}from"@emotion/react";var Ce=ie`
|
|
268
268
|
position: relative;
|
|
269
269
|
display: inline-block;
|
|
270
270
|
font-size: var(--fs-base);
|
|
271
|
-
`,
|
|
271
|
+
`,we=ie`
|
|
272
272
|
display: block;
|
|
273
273
|
text-decoration: line-through;
|
|
274
|
-
`,
|
|
274
|
+
`,ke=ie`
|
|
275
275
|
position: absolute;
|
|
276
276
|
width: 6px;
|
|
277
277
|
height: 6px;
|
|
@@ -279,26 +279,26 @@ to {
|
|
|
279
279
|
top: 9px;
|
|
280
280
|
background: var(--red-tooltip);
|
|
281
281
|
border-radius: 3px;
|
|
282
|
-
`;import{css as
|
|
282
|
+
`;import{css as vt}from"@emotion/react";var ft=`<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
283
283
|
<path d="M4.2 7.2C4.53137 7.2 4.8 6.93137 4.8 6.6C4.8 6.26863 4.53137 6 4.2 6C3.86863 6 3.6 6.26863 3.6 6.6C3.6 6.93137 3.86863 7.2 4.2 7.2Z" fill="#828282"/>
|
|
284
284
|
<path d="M8.4 6.6C8.4 6.93137 8.13137 7.2 7.8 7.2C7.46863 7.2 7.2 6.93137 7.2 6.6C7.2 6.26863 7.46863 6 7.8 6C8.13137 6 8.4 6.26863 8.4 6.6Z" fill="#828282"/>
|
|
285
285
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 12C9.31371 12 12 9.31371 12 6C12 2.68629 9.31371 0 6 0C2.68629 0 0 2.68629 0 6C0 9.31371 2.68629 12 6 12ZM6 10.8C8.65097 10.8 10.8 8.65097 10.8 6C10.8 5.49824 10.723 5.01447 10.5802 4.55984C10.0795 4.69533 9.55274 4.76763 9.00913 4.76763C6.77526 4.76763 4.82652 3.54683 3.79366 1.73601C2.25282 2.53492 1.2 4.14451 1.2 6C1.2 8.65097 3.34903 10.8 6 10.8Z" fill="#828282"/>
|
|
286
|
-
</svg>`,
|
|
286
|
+
</svg>`,ht=`<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
287
287
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.59995 5.05775C4.9254 5.05775 5.99992 3.98325 5.99992 2.65778C5.99992 1.33232 4.9254 0.257812 3.59995 0.257812C2.27448 0.257812 1.19998 1.33232 1.19998 2.65778C1.19998 3.98325 2.27448 5.05775 3.59995 5.05775ZM3.59999 3.85777C4.26272 3.85777 4.79997 3.32052 4.79997 2.65778C4.79997 1.99505 4.26272 1.4578 3.59999 1.4578C2.93725 1.4578 2.4 1.99505 2.4 2.65778C2.4 3.32052 2.93725 3.85777 3.59999 3.85777Z" fill="#828282"/>
|
|
288
288
|
<path d="M5.39993 6.8577C5.73131 6.8577 5.99993 7.12632 5.99993 7.45769V11.0576H7.19991V7.45769C7.19991 6.46356 6.39406 5.65771 5.39993 5.65771H1.79998C0.80588 5.65771 0 6.46356 0 7.45769V11.0576H1.19999V7.45769C1.19999 7.12632 1.46861 6.8577 1.79998 6.8577H5.39993Z" fill="#828282"/>
|
|
289
289
|
<path d="M11.9999 5.05762H8.3999V6.2576H11.9999V5.05762Z" fill="#828282"/>
|
|
290
290
|
<path d="M8.3999 7.45752H11.9999V8.6575H8.3999V7.45752Z" fill="#828282"/>
|
|
291
291
|
<path d="M11.9999 2.65771H8.3999V3.8577H11.9999V2.65771Z" fill="#828282"/>
|
|
292
|
-
</svg>`,
|
|
292
|
+
</svg>`,Te=`<svg width="15" height="11" viewBox="0 0 15 11" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
293
293
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M7.113 3.12646C8.16729 3.12646 9.02195 3.98113 9.02195 5.03541C9.02195 5.86658 8.49075 6.57368 7.74932 6.83573V10.1259H6.47669V6.83573C5.73526 6.57368 5.20405 5.86658 5.20405 5.03541C5.20405 3.98113 6.05872 3.12646 7.113 3.12646ZM7.113 4.39909C7.46443 4.39909 7.74932 4.68398 7.74932 5.03541C7.74932 5.38684 7.46443 5.67172 7.113 5.67172C6.76158 5.67172 6.47669 5.38684 6.47669 5.03541C6.47669 4.68398 6.76158 4.39909 7.113 4.39909Z" fill="#828282"/>
|
|
294
294
|
<path d="M3.96336 1.88578C3.15733 2.69183 2.65879 3.80537 2.65879 5.03535C2.65879 6.42093 3.29145 7.65875 4.28366 8.47569L5.1895 7.56984C4.42501 6.98876 3.93142 6.06969 3.93142 5.03535C3.93142 4.1568 4.28752 3.36142 4.86325 2.78567L3.96336 1.88578Z" fill="#828282"/>
|
|
295
295
|
<path d="M9.36269 2.7856C9.93846 3.36136 10.2946 4.15676 10.2946 5.03535C10.2946 6.06973 9.80096 6.98882 9.03643 7.5699L9.94228 8.47575C10.9345 7.65881 11.5672 6.42096 11.5672 5.03535C11.5672 3.80533 11.0687 2.69177 10.2626 1.88571L9.36269 2.7856Z" fill="#828282"/>
|
|
296
296
|
<path d="M0.113525 5.03534C0.113525 3.10251 0.896953 1.35266 2.16359 0.0860049L3.06347 0.985892C2.02714 2.02224 1.38616 3.45394 1.38616 5.03534C1.38616 6.61674 2.02714 8.04844 3.06347 9.08479L2.16358 9.98468C0.89695 8.71802 0.113525 6.96817 0.113525 5.03534Z" fill="#828282"/>
|
|
297
297
|
<path d="M12.0624 9.98474C13.329 8.71809 14.1125 6.96821 14.1125 5.03534C14.1125 3.10248 13.329 1.3526 12.0624 0.0859375L11.1625 0.985824C12.1988 2.02218 12.8398 3.4539 12.8398 5.03534C12.8398 6.61678 12.1988 8.0485 11.1625 9.08486L12.0624 9.98474Z" fill="#828282"/>
|
|
298
|
-
</svg>`,
|
|
298
|
+
</svg>`,De=({type:t})=>{let r="";switch(t){case"Audience":r=ft;break;case"Signal":r=Te;break;case"Intent":r=Te;break;case"Enrichment":r=ht;break}return e("i",{css:vt`
|
|
299
299
|
align-items: center;
|
|
300
300
|
display: inline-block;
|
|
301
|
-
`,dangerouslySetInnerHTML:{__html:r}})};var
|
|
301
|
+
`,dangerouslySetInnerHTML:{__html:r}})};var bt=({dimensionIndex:t,dimensions:r,disableEditOverride:n,onClick:o,preemptiveOverrides:s})=>{var p;let{settings:a}=z(),l=(p=s!=null?s:a.scoreOverrides)!=null?p:{};return e(J,null,e(X,null,Object.entries(r).sort(([m],[u])=>m.localeCompare(u)).map(([m,u])=>{var h;let{dim:i,name:c,type:d,category:g}=(h=t[m])!=null?h:{name:m,dim:m,type:void 0,category:void 0},v=l[i];return e(q,{key:i},e(O,null,v!==void 0?e("s",{css:we},v.initial):null,e("b",{css:Ce},u,v!==void 0&&e("i",{css:ke}))),e(O,null,e("div",{onClick:()=>o==null?void 0:o(i),css:o?{cursor:"pointer"}:void 0},e("span",{css:f.divider,role:"presentation"}),e("div",null,e(De,{type:d})," ",d),e("strong",null,g?`${g}:`:""," ",c))),e(O,{alignment:"right",color:"light"},v!==void 0&&!n?e(H,{route:`/overrides/${i}`},"Edit override"):null))})))},V=bt;async function ee({actions:t,saveSettings:r,scores:n,settings:o}){var p,m;let s=(p=o.scoreOverrides)!=null?p:{},a={...s},l=[];for(let u of Object.keys(s)){let i=s==null?void 0:s[u];delete a[u],l.push({type:"modscoreS",data:{dimension:u,delta:i.initial-((m=n[u])!=null?m:0)}})}await r({...o,scoreOverrides:a}),await t.rawUpdate(l)}async function Se({quirk:t,settings:r,saveSettings:n,actions:o}){var l;let s=(l=r.quirkOverrides)==null?void 0:l[t];if(!s)return;let a={...r.quirkOverrides};delete a[t],await n({...r,quirkOverrides:a}),await o.rawUpdate([{type:"setquirk",data:{key:t,value:s.initial}}])}import{Button as Le}from"@uniformdev/design-system";import{Switch as yt}from"@uniformdev/design-system";var Oe=({dimensionIndex:{index:t},state:{scores:r,data:n},actions:o,saveSettings:s,settings:a})=>{let l=te.useMemo(()=>{let i={};return Object.keys(t).filter(c=>!r[c]).map(c=>{i[t[c].dim]=0}),i},[r,t]),p=Object.keys(r).length,m=p+Object.keys(l).length,u=()=>{o.rawUpdate([{type:"setcontrol",data:!n.controlGroup}])};return e(te.Fragment,null,e("article",{css:f.page},e("div",{css:f.headingGroup},e("h2",{css:f.title},"Dimensions",e("small",null,p," active of ",m)),e("div",{css:f.reset},e(Le,{buttonType:"ghost",onClick:()=>ee({actions:o,saveSettings:s,scores:r,settings:a}).then(o.forget)},"clear all dimensions")),e(yt,{name:"controlGroup",label:"Control Group",onChange:u,checked:n.controlGroup})),p>0?e(V,{dimensionIndex:t,dimensions:r}):e(E,{title:n.controlGroup?"In control group":"No active dimensions",text:n.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:n.controlGroup?e(Le,{buttonType:"secondary",onClick:u},"Exit control group"):null}),e(_,null,e(G,{title:`Inactive Dimensions (${Object.keys(l).length})`},e(V,{dimensionIndex:t,dimensions:l})))))};import*as Re from"react";import{AddButton as Ct}from"@uniformdev/design-system";import{Button as xe}from"@uniformdev/design-system";var Ve=({dimensionIndex:{index:t},state:{data:r,scores:n},actions:o,settings:s,saveSettings:a})=>{var c;let l=(c=s.scoreOverrides)!=null?c:{},p=Object.keys(l).length,m=d=>(d==null||d.preventDefault(),a({...s,route:"/overrides/add"})),u=()=>{o.rawUpdate([{type:"setcontrol",data:!r.controlGroup}])},i={};return Object.entries(n).map(([d,g])=>{l[d]!==void 0&&(i[d]=g)}),e(Re.Fragment,null,e("article",{css:f.page},e("div",{css:f.headingGroup},e("h2",{css:f.title},"What if?"),e("div",{css:f.reset},e(xe,{buttonType:"ghost",onClick:()=>ee({actions:o,settings:s,saveSettings:a,scores:n})},"delete all overrides")),e(Ct,{onClick:m})),e("p",null,"Override dimension scores to test personalization"),p>0?e(V,{dimensionIndex:t,dimensions:i,onClick:d=>a({...s,route:`/overrides/${d}`})}):e(E,{title:r.controlGroup?"In control group":"No overrides",text:r.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 any dimension overrides yet.",buttonGroup:r.controlGroup?e(xe,{buttonType:"secondary",onClick:u},"Exit control group"):null})))};import{Field as Qe,Form as Rt,Formik as Vt}from"formik";import*as B from"yup";import{css as P}from"@emotion/react";var Pe=P`
|
|
302
302
|
background: var(--white);
|
|
303
303
|
border: 1px solid var(--gray-500);
|
|
304
304
|
border-radius: var(--rounded-base);
|
|
@@ -309,26 +309,26 @@ to {
|
|
|
309
309
|
cursor: not-allowed;
|
|
310
310
|
color: var(--gray-200);
|
|
311
311
|
}
|
|
312
|
-
`,
|
|
312
|
+
`,cr=P`
|
|
313
313
|
margin: var(--spacing-base) 0;
|
|
314
|
-
`,
|
|
314
|
+
`,Ie=P`
|
|
315
315
|
color: var(--brand-secondary-1);
|
|
316
316
|
display: flex;
|
|
317
317
|
flex-direction: column;
|
|
318
318
|
margin: 0 0 var(--spacing-sm);
|
|
319
|
-
`,
|
|
319
|
+
`,He=P`
|
|
320
320
|
color: var(--brand-secondary-1);
|
|
321
321
|
display: block;
|
|
322
322
|
flex: 1 100%;
|
|
323
323
|
font-weight: var(--fw-bold);
|
|
324
324
|
margin: 0 0 var(--spacing-sm);
|
|
325
|
-
`,
|
|
325
|
+
`,dr=P`
|
|
326
326
|
color: var(--gray-600);
|
|
327
327
|
font-size: var(--fs-sm);
|
|
328
|
-
`,
|
|
328
|
+
`,lr=P`
|
|
329
329
|
color: var(--brand-secondary-5);
|
|
330
330
|
display: block;
|
|
331
|
-
`,
|
|
331
|
+
`,Me=P`
|
|
332
332
|
flex-direction: row;
|
|
333
333
|
flex-wrap: wrap;
|
|
334
334
|
|
|
@@ -396,18 +396,18 @@ to {
|
|
|
396
396
|
flex: 1 0 20%;
|
|
397
397
|
padding: 10px;
|
|
398
398
|
}
|
|
399
|
-
`;import{Caption as
|
|
399
|
+
`;import{Caption as wt,ErrorMessage as kt}from"@uniformdev/design-system";var Ae=({field:t,form:r,meta:n,...o})=>{var u,i;let{label:s,caption:a,min:l=0,max:p=100,step:m}=o;return e("div",null,e("label",{css:[Ie,Me]},e("span",{css:He},s),e("input",{type:"range",min:l,max:p,step:m,...t,value:(u=t.value)!=null?u:0}),e("span",{className:"value-display"},(i=t.value)!=null?i:0)),a?e(wt,null,a):null,r.touched[t.name]&&r.errors[t.name]?e(kt,{message:r.errors[t.name]}):null)};import{css as Tt}from"@emotion/react";var I=({children:t,...r})=>e("fieldset",{css:Tt`
|
|
400
400
|
border: none;
|
|
401
401
|
padding: 0;
|
|
402
402
|
& legend {
|
|
403
403
|
margin-bottom: var(--spacing-base);
|
|
404
404
|
}
|
|
405
|
-
`,...r},t);import{css as
|
|
405
|
+
`,...r},t);import{css as Dt}from"@emotion/react";var F=({children:t})=>e("legend",{css:Dt`
|
|
406
406
|
font-size: var(--fs-md);
|
|
407
407
|
font-weight: var(--fw-bold);
|
|
408
408
|
border-bottom: 1px solid var(--gray-400);
|
|
409
409
|
width: 100%;
|
|
410
|
-
`},t);import{Context as
|
|
410
|
+
`},t);import{Context as St,TransitionDataStore as Lt}from"@uniformdev/context";function Ee({manifest:t,visitor:r,override:n}){let o=new St({manifest:t,transitionStore:new se({initialData:r})}),s={...o.scores};o.storage.updateData([n]);let l={...{...o.scores}};return Object.entries(l).forEach(([p,m])=>{s[p]===m&&delete l[p]}),l}var se=class extends Lt{async handleDelete(){}async handleUpdateData(){}};function N({scores:t,scoreOverrides:r}){let n=[];return r?(Object.entries(r).forEach(([o,s])=>{var p;let a=(p=t[o])!=null?p:0;if(a===s.override)return;let l=s.override-a;n.push({type:"modscoreS",data:{dimension:o,delta:l}})}),n):[]}function oe({quirks:t,quirkOverrides:r}){let n={};if(!!r)return Object.entries(r).forEach(([o,s])=>{t[o]!==s.override&&(n[o]=s.override)}),Object.keys(n).length>0?n:void 0}import{Button as Pt}from"@uniformdev/design-system";var ae=t=>({field:r,form:n,meta:o,...s})=>e(t,{...r,...s,errorMessage:n.errors[r.name]});import{Input as Ot,InputSelect as xt}from"@uniformdev/design-system";var re=ae(Ot),Be=ae(xt);var It=B.object({dimension:B.string(),score:B.number()}),ce=({settings:t,saveSettings:r,state:n,actions:o,dimensionIndex:{index:s}})=>{var m,u;let a=t.route?[...t.route.matchAll(/overrides\/(?!.*add)(\w+)?/g)]:[],l=a[0]?a[0][1]:"";if(!((m=n.manifest.project.pz)!=null&&m.sig))return e("p",null,"Error, manifest is broken or there is no signal to override.");let p=Object.entries(s).filter(([,i])=>i.type!=="Audience"&&i.type!=="Intent").map(([i,c])=>{let d=c.type?`${c.type}: `:"",g=c.category?`${c.category} - `:"",v=`${d}${g}${c.name}`;return{value:i,label:v}});return p.unshift({value:"",label:"Choose dimension to override"}),e(Vt,{initialValues:{dimension:l,score:(u=n.scores[l])!=null?u:0},validate:i=>{let c={};return(i.score===n.scores[i.dimension]||i.score===0&&!n.scores[l])&&(c.score="You have to modify current score value"),c},validationSchema:It,enableReinitialize:!0,validateOnChange:!1,validateOnBlur:!1,onSubmit:async i=>{var h,y,C,w,x,R;let c=(y=(h=s[i.dimension])==null?void 0:h.cap)!=null?y:0,d=Math.min(i.score,c),g={...t,scoreOverrides:{...t.scoreOverrides,[i.dimension]:{initial:(R=(x=(w=(C=t.scoreOverrides)==null?void 0:C[i.dimension])==null?void 0:w.initial)!=null?x:n.scores[i.dimension])!=null?R:0,override:d}},route:"/overrides"};await r(g);let v=N({scores:n.scores,scoreOverrides:g.scoreOverrides});o.rawUpdate(v)}},({isSubmitting:i,values:c,setFieldValue:d})=>{var C;let g=Ee({manifest:n.manifest,visitor:n.data,override:{type:"modscore",data:{dimension:c.dimension,delta:c.score-((C=n.scores[c.dimension])!=null?C:0)}}}),v=Object.entries(n.scores).reduce((w,[x,R])=>(w[x]={initial:R,override:R},w),{}),h={max:100,step:50};s[c.dimension]&&(h.max=s[c.dimension].cap,h.step=s[c.dimension].str);let y=c.score&&Object.keys(g).length>0;return e(Rt,{css:f.page},e("h1",{css:f.title},"Override Dimension"),e(Qe,{component:Be,label:"Dimension",id:"dimension",name:"dimension",options:p,disabled:i,onChange:w=>{d("score",0,!1),d("dimension",w.target.value)}}),e("p",{css:f.text},e("small",null,"Audiences and Intents are aggregated from other dimension scores and cannot be overridden directly.")),c.dimension?e(Qe,{component:Ae,name:"score",label:"Score",disabled:i,max:h.max,step:h.step,caption:`Range: 0 - ${h.max} in increments of ${h.step}`}):null,e(I,{disabled:i,css:{marginBottom:"2rem"}},y?e(_,null,e(G,{title:`Impacted Dimensions (${Object.keys(g).length})`},e(V,{preemptiveOverrides:v,dimensionIndex:s,dimensions:g,disableEditOverride:!0}))):null,e(Pt,{type:"submit",css:f.submitButton,disabled:i},"Save"),e(H,{route:"/overrides",css:f.cancelButton},"Cancel")))})};import{useState as Qt}from"react";import{useState as Ht,useEffect as Mt}from"react";import{Button as At,Input as Et}from"@uniformdev/design-system";var Bt=({name:t,value:r,submit:n})=>{let[o,s]=Ht(r!=null?r:"");return Mt(()=>{s(r!=null?r:"")},[r]),e("div",{css:{display:"flex",gap:"var(--spacing-sm)"}},e(Et,{type:"text",css:[Pe],name:t,value:o,onChange:p=>{s(p.target.value)}}),e(At,{buttonType:"primary",disabled:o===r,size:"sm",onClick:()=>n(t,o!=null?o:"")},"Save"))},qe=Bt;import{Button as Fe,InputSelect as qt}from"@uniformdev/design-system";var Ne=({...t})=>{let{state:{data:{quirks:r}},quirksIndex:{index:n},settings:o,saveSettings:s,actions:a}=t,[l,p]=Qt(""),m;l&&(m=n[l]);let u=async(i,c)=>{var v,h,y;p("");let d={...o,quirkOverrides:{...o.quirkOverrides,[i]:{initial:(y=(h=(v=o.quirkOverrides)==null?void 0:v[i])==null?void 0:h.initial)!=null?y:r[i],override:c}}};await s(d);let g=oe({quirks:r,quirkOverrides:d.quirkOverrides});await a.update({quirks:g})};return e(b.Fragment,null,e("article",{css:[f.page,f.quirks]},e("h1",{css:f.title},"Quirks"),e("p",{css:f.text},"Keys defined in Uniform and their current, programmatically defined values for this visit."),Object.keys(n).length?e(J,null,e(ye,null,e(q,null,e(j,{width:"30%"},"Key"),e(j,{width:"50%"},"Value"),e(j,{width:"20%"},""))),e(X,null,Object.values(n).map(({name:i,value:c,id:d})=>{var h,y,C;let g=(y=(h=o.quirkOverrides)==null?void 0:h[i])==null?void 0:y.initial,v=[];return m&&m.options&&(v=m.options.map(w=>({value:w.value,label:w.name}))),e(q,{key:d,border:"bottom"},e(O,null,e("strong",null,i)),e(O,null,l!==d?e("div",{onClick:()=>{p(d)}},g?e("div",null,e("s",null,g)):null,c):null,l===d&&m&&e(b.Fragment,null,m.options?e(qt,{showLabel:!1,label:`Change ${i}`,defaultOption:`Change ${i}`,name:d,onChange:w=>u(w.target.name,w.target.value),options:v}):e(qe,{name:d,value:c,submit:u}))),e(O,null,l?null:(C=o.quirkOverrides)!=null&&C[d]?e(Fe,{buttonType:"ghost",onClick:()=>{Se({quirk:d,settings:o,saveSettings:s,actions:a})}},e("small",null,"Clear Override")):e(Fe,{buttonType:"ghost",onClick:()=>{p(d)}},e("small",null,"Override"))))}))):e(E,{title:"No quirks configured",text:"There are currently no quirks setup. Try to connect to Uniform API to load additional information about Quirks and Quirks without defined value."})))};import{Button as Ft}from"@uniformdev/design-system";import{Switch as Ze}from"@uniformdev/design-system";var ze=({settings:t,saveSettings:r,actions:n,state:{data:o}})=>e("article",{css:[f.page,{display:"flex",flexDirection:"column",gap:"var(--spacing-base)"}]},e("h1",{css:f.title},"Settings"),e(I,null,e(F,null,"Data Connection"),e(Ft,{buttonType:"tertiary",onClick:()=>{r({...t,route:"/connect"})}},"Manage Connection to Uniform")),e(I,null,e(F,null,"Storage Consent"),e(Ze,{label:"Store visitor data",id:"consent-mode",name:"consentMode",checked:o.consent,onChange:s=>{n.rawUpdate([{type:"consent",data:s.currentTarget.checked}]),r({...t,consentMode:s.currentTarget.checked})}}),e("p",null,e("small",null,"Enabling storage consent allows storing behavior in this browser for personalization across sessions. Only affects this browser. Personalization works with this disabled, but dimension scores are lost on refresh."))),e(I,null,e(F,null,"Logging"),e(Ze,{label:"Write Uniform Context diagnostic logs to browser console",id:"logging",name:"logging",checked:t.logLevel==="debug",onChange:s=>r({...t,logLevel:s.currentTarget.checked?"debug":"none"})})));import{Button as Ue}from"@uniformdev/design-system";var de=({settings:t,saveSettings:r})=>{let n=()=>{r({...t,route:"/connect"})},o=()=>{r({...t,ignoreApiKeyPrompt:!0})},s=t.route==="/connect",a=!(t!=null&&t.apiKey);return!t.ignoreApiKeyPrompt&&a&&!s?e("div",{css:[$,he]},e("h2",{css:K},"Connect to a Uniform Project"),e("p",{css:W},"This allows reading human-readable labels for the dimensions."),e("div",{css:Y},e(Ue,{buttonType:"secondary",onClick:n},"Connect this site"),e(Ue,{buttonType:"ghost",onClick:o},"Skip for now")),e("button",{type:"button",css:be,title:"close",onClick:o},e("span",{hidden:!0},"Close"))):null};import{computeDimensionDefinitionDisplayData as Nt,computeDimensionDisplayData as _e,DimensionClient as Zt}from"@uniformdev/context/api";import{useAsync as zt}from"react-use";import*as Ge from"react";function $e({apiHost:t,apiKey:r,projectId:n},o){let{loading:s,error:a,value:l}=zt(async()=>{if(!r||!n)return p;let u=(await new Zt({projectId:n,apiKey:r,apiHost:t||void 0}).get()).dimensions,i={};return u.map(c=>{var d,g,v,h,y,C,w,x;if(i[c.dim]={...Nt(c),cap:c.cap,str:(h=(v=(g=(d=o==null?void 0:o.project.pz)==null?void 0:d.sig)==null?void 0:g[c.dim])==null?void 0:v.str)!=null?h:50},i[c.dim].type==="Enrichment"){let R=c.dim.split("_")[0];i[c.dim].cap=(x=(w=(C=(y=o==null?void 0:o.project.pz)==null?void 0:y.enr)==null?void 0:C[R])==null?void 0:w.cap)!=null?x:100}}),i},[t,r,n]),p=Ge.useMemo(()=>{var u,i,c,d;let m={};return o&&(Object.entries((i=(u=o==null?void 0:o.project.pz)==null?void 0:u.sig)!=null?i:{}).map(([g,v])=>{let h=_e(g,o);h&&(m[g]={...v,...h})}),Object.entries((d=(c=o==null?void 0:o.project.pz)==null?void 0:c.enr)!=null?d:{}).map(([g,v])=>{var C;let h=_e(g,o),y={cap:(C=v.cap)!=null?C:100,str:10};h&&(m[g]={...h,cap:y.cap,str:y.str})}),l&&Object.entries(l).map(([g,v])=>{m[g]={...m[g],...v}})),m},[o,l]);return{loading:s,error:a,index:p}}import{useMemo as Ut}from"react";import{QuirkClient as _t}from"@uniformdev/context/api";import{useAsync as Gt}from"react-use";function Ke({apiHost:t,apiKey:r,projectId:n},o){let{loading:s,error:a,value:l}=Gt(async()=>{if(!r||!n)return{};let u=await new _t({projectId:n,apiKey:r,apiHost:t||void 0}).get(),i={};return u.quirks.map(c=>{i[c.id]={...c,value:o[c.id]}}),i},[t,r,n]),p=Ut(()=>{let m={};return Object.entries(o).map(([u,i])=>m[u]={value:i,id:u,name:u}),l&&Object.entries(l).map(([u,i])=>m[u]={...i,value:o[u]}),m},[o,l]);return{loading:s,error:a,index:p}}import{css as Xe}from"@emotion/react";import{Theme as no}from"@uniformdev/design-system";function ne(){return e("style",null,`
|
|
411
411
|
:root {
|
|
412
412
|
--site-width: 700px;
|
|
413
413
|
|
|
@@ -417,7 +417,7 @@ to {
|
|
|
417
417
|
|
|
418
418
|
--min-height: 450px;
|
|
419
419
|
}
|
|
420
|
-
`)}import{useEffect as
|
|
420
|
+
`)}import{useEffect as $t,useState as Kt}from"react";import{useMountedState as Wt}from"react-use";var We=()=>{let[t,r]=Kt(!1),n=Wt();return $t(()=>{setTimeout(()=>{n()&&r(!0)},1e3)},[n]),t?e("article",{css:f.page},e("h1",null,"Loading..."),e("p",null,"Connecting to Uniform API for complete data.")):null};import{parseQuickConnect as Yt}from"@uniformdev/context";import{ApiClientError as Jt,ManifestClient as Xt}from"@uniformdev/context/api";import{Field as le,Form as jt,Formik as eo}from"formik";import*as k from"react";import{ErrorMessage as to,Input as oo,Button as Q}from"@uniformdev/design-system";function Ye(t){let[r,n]=k.useState(t.currentData?"c":"qc"),[o,s]=k.useState(void 0),[a,l]=k.useState(void 0),p=k.useCallback(async i=>{let c=new Xt(i);s(void 0);try{let d=await c.get({preview:!0});return l({manifest:d,target:i}),d}catch(d){if(d instanceof Jt){d.statusCode===403?s("API key is valid but does not have Context > Read Drafts permission, or the API key does not have permissions to the project, or the project does not exist."):s(d.errorMessage);return}if("message"in d){d.message==="Failed to fetch"?s("A network error occurred. Ensure the API host is valid."):s(d.message);return}s(JSON.stringify(d,null,2));return}},[]);k.useEffect(()=>{!t.currentData||p(t.currentData)},[p,t.currentData]);let m=async i=>{await p(i)&&(n("c"),await t.onConnect(i))},u=()=>{confirm("Disconnect from Uniform? Make sure to save your API key if you want to reconnect.")&&(n("qc"),l(void 0),s(void 0),t.onConnect(null))};return e("div",null,o?e(k.Fragment,null,e(to,{message:o}),e(Q,{buttonType:"secondary",type:"button",onClick:u},"Clear old/broken settings")):null,r==="qc"||r==="mc"?e(ro,{...t,state:r,setState:n,onConnect:m}):e("div",null,a?e(k.Fragment,null,e("p",null,"Connected to"," ",e("a",{href:`${a==null?void 0:a.target.apiHost}/projects/${a==null?void 0:a.target.projectId}`,target:"_blank",rel:"noopener noreferrer",css:{textDecoration:"underline"}},e("strong",null,a==null?void 0:a.manifest.project.name))," ",e("small",null,"(",a==null?void 0:a.manifest.project.id,")")),e(Q,{buttonType:"secondary",type:"button",onClick:u},"Disconnect")):null))}function ro({setState:t,state:r,currentData:n,onConnect:o}){var s,a,l;return e("div",null,e(eo,{initialValues:{apiHost:(s=n==null?void 0:n.apiHost)!=null?s:"https://uniform.app",apiKey:(a=n==null?void 0:n.apiKey)!=null?a:"",projectId:(l=n==null?void 0:n.projectId)!=null?l:"",qc:""},onSubmit:o},({setFieldValue:p,setFieldError:m,errors:{qc:u},isSubmitting:i})=>e(jt,null,e("fieldset",{css:{display:"flex",flexDirection:"column",gap:"var(--spacing-base)"}},r==="qc"?e(k.Fragment,null,e("div",null,e(oo,{placeholder:"Paste Quick Connect Code Here",caption:"Copy the Quick Connect code after creating an API key in Uniform.",errorMessage:u,onChange:c=>{try{let d=Yt(c.currentTarget.value);p("apiHost",d.apiHost),p("apiKey",d.apiKey),p("projectId",d.projectId)}catch(d){m("qc",d.message)}}})),e("section",{css:{display:"flex",gap:"var(--spacing-sm)"}},e(Q,{type:"submit",buttonType:"primary",disabled:i},i?"Verifying...":"Connect"),e(Q,{type:"button",buttonType:"ghost",onClick:()=>t("mc"),disabled:i},"Connect Manually"))):e(k.Fragment,null,e("div",null,e(le,{component:re,label:"API Key",name:"apiKey",caption:"Generate an API key in your Uniform team settings."})),e("div",null,e(le,{component:re,label:"Project ID",name:"projectId",caption:"Available to copy after generating an API key"})),e("div",null,e(le,{component:re,label:"API Host",name:"apiHost",caption:"Use a non-standard Uniform API endpoint. Most people will not not need this option."})),e("section",{css:{display:"flex",gap:"var(--spacing-sm)"}},e(Q,{type:"submit",buttonType:"primary",disabled:i},i?"Verifying...":"Connect"),e(Q,{type:"button",buttonType:"ghost",onClick:()=>t("qc"),disabled:i},"Use Quick Connect")))))))}var Je=({settings:t,saveSettings:r})=>{let n=t.apiKey&&t.projectId?{apiKey:t.apiKey,projectId:t.projectId,apiHost:t.apiHost}:void 0;return e("article",{css:f.page},e("h1",{css:f.title},"Connect to a Uniform Project"),e("p",{css:f.text},e("small",null,"Adding an API key and project ID enables human-readable dimension labels to be shown. You must have access to the Uniform project to do this.")),e(Ye,{onConnect:async o=>{o?await r({...t,apiKey:o.apiKey,projectId:o.projectId,apiHost:o.apiHost}):await r({...t,apiKey:void 0,projectId:void 0,apiHost:void 0})},currentData:n}))};var io=Xe`
|
|
421
421
|
background: var(--white);
|
|
422
422
|
padding: var(--spacing-base);
|
|
423
423
|
overflow-y: auto;
|
|
@@ -446,7 +446,7 @@ to {
|
|
|
446
446
|
&::-webkit-scrollbar-thumb:hover {
|
|
447
447
|
background: var(--gray-500);
|
|
448
448
|
}
|
|
449
|
-
`;function
|
|
449
|
+
`;function je(t){let r=$e(t.settings,t.state.manifest),n=Ke(t.settings,t.state.data.quirks),o={...t,dimensionIndex:r,quirksIndex:n},s=()=>{var a;if(r.loading||n.loading)return e(We,null);if(t.settings.route&&t.settings.route.match(/overrides\/\w+/))return e(ce,{...o});switch((a=t.settings)==null?void 0:a.route){case void 0:case"/":case"/dimensions":return e(Oe,{...o});case"/overrides":return e(Ve,{...o});case"/overrides/add":return e(ce,{...o});case"/quirks":return e(Ne,{...o});case"/settings":return e(ze,{...o});case"/connect":return e(Je,{...o});default:return e(ve,null)}};return e(ue,{settings:t.settings,saveSettings:t.saveSettings},e(no,null),e(ne,null),e("div",{css:Xe`
|
|
450
450
|
display: grid;
|
|
451
451
|
grid-template-columns: 200px auto;
|
|
452
452
|
font-weight: var(--fs-base);
|
|
@@ -455,7 +455,7 @@ to {
|
|
|
455
455
|
line-height: var(--base-line-height);
|
|
456
456
|
height: var(--min-height);
|
|
457
457
|
min-width: var(--site-width);
|
|
458
|
-
`},e(
|
|
458
|
+
`},e(ge,{...t}),e("main",{css:io},e(de,{...t}),s())))}import{Context as so,createDebugConsoleLogDrain as ao}from"@uniformdev/context";import*as L from"react";var pe="embeddedUniformDevToolsSettings";function et({context:t,initialSettings:r}){let n=t!=null?t:typeof window!="undefined"?window.__UNIFORM_DEVTOOLS_CONTEXT_INSTANCE__:void 0,o=n!=null?n:new so({manifest:{project:{}}}),[s,a]=L.useState({data:o.storage.data,manifest:o.manifest.data,scores:o.scores,personalizations:[],tests:[]}),[l,p]=L.useState(r!=null?r:{});L.useEffect(()=>{var c;let i=ao((c=l.logLevel)!=null?c:"none");return o.events.on("log",i),()=>{o.events.off("log",i)}},[l,o]),L.useEffect(()=>{let i=()=>{let g=window.localStorage.getItem(pe)||"{}",v=JSON.parse(g),h=oe({quirks:o.storage.data.quirks,quirkOverrides:v.quirkOverrides});h&&(console.log("Applying overridden quirks:",h),o.update({quirks:h}));let y=N({scores:o.scores,scoreOverrides:v.scoreOverrides});y.length&&(console.log("Applying overridden scores:",y),o.storage.updateData(y)),a(C=>({...C,scores:o.scores,data:o.storage.data,manifest:o.manifest.data}))},c=g=>{!g.changed||a(v=>({...v,personalizations:[...v.personalizations,g]}))},d=g=>{!g.variantAssigned||a(v=>({...v,tests:[...v.tests,g]}))};return o.events.on("personalizationResult",c),o.events.on("testResult",d),o.storage.events.on("*",i),()=>{o.storage.events.off("*",i),o.events.off("personalizationResult",c),o.events.off("testResult",d)}},[o]),L.useEffect(()=>{if(window.localStorage){let i=window.localStorage.getItem(pe);if(i)try{let c=JSON.parse(i),d={...r,...c};p(d);let g=N({scores:s.scores,scoreOverrides:d.scoreOverrides});m.rawUpdate(g)}catch(c){window.localStorage.removeItem(pe),console.error("Failed to parse settings from localStorage: ",c.message)}}},[]);let{actions:m,saveSettings:u}=L.useMemo(()=>({actions:{update:d=>o.update(d),forget:()=>o.forget(!1),rawUpdate:d=>o.storage.updateData(d)},saveSettings:async d=>{p(d),window.localStorage&&window.localStorage.setItem("embeddedUniformDevToolsSettings",JSON.stringify(d))}}),[o]);return n?e(je,{state:s,actions:m,settings:l,saveSettings:u}):e("p",null,"Unable to find Uniform Context. Ensure the devtools plugin is activated.")}import{css as po}from"@emotion/react";import*as Z from"react";import{Theme as mo}from"@uniformdev/design-system";import{css as co}from"@emotion/react";var lo=co`
|
|
459
459
|
align-items: center;
|
|
460
460
|
border-radius: var(--rounded-full);
|
|
461
461
|
background: var(--brand-secondary-5);
|
|
@@ -481,11 +481,11 @@ to {
|
|
|
481
481
|
max-width: 100%;
|
|
482
482
|
height: auto;
|
|
483
483
|
}
|
|
484
|
-
`,
|
|
484
|
+
`,tt=({...t})=>e("button",{type:"button",css:lo,...t},e("span",{hidden:!0},"Uniform devtools"),e("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},e("path",{d:"M13.325 3.05011L8.66741 20.4323L10.5993 20.9499L15.2568 3.56775L13.325 3.05011Z",fill:"currentColor"}),e("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"}),e("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 bi(t){let[r,n]=Z.useState(!1),[o,s]=Z.useState(t.context);return Z.useEffect(()=>{!t.context&&typeof document!="undefined"&&s(window.__UNIFORM_DEVTOOLS_CONTEXT_INSTANCE__)},[t.context]),o?e("div",null,e(mo,null),e(ne,null),e(tt,{onClick:()=>n(a=>!a)}),r?e("div",{css:po`
|
|
485
485
|
box-shadow: var(--shadow-base);
|
|
486
486
|
position: fixed;
|
|
487
487
|
bottom: 82px;
|
|
488
488
|
right: var(--spacing-base);
|
|
489
489
|
z-index: var(--z-10);
|
|
490
490
|
max-width: var(--site-width);
|
|
491
|
-
`},e(
|
|
491
|
+
`},e(et,{...t})):null):e("p",null,"Unable to find Uniform Context. Ensure the devtools plugin is activated.")}export{je as ContextDevTools,et as EmbeddedContextDevTools,bi as ToggleEmbeddedContextDevTools};
|
package/dist/index.d.ts
CHANGED
|
File without changes
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
"use strict";var It=Object.create;var K=Object.defineProperty;var Ht=Object.getOwnPropertyDescriptor;var Mt=Object.getOwnPropertyNames;var At=Object.getPrototypeOf,Et=Object.prototype.hasOwnProperty;var Bt=(t,r)=>{for(var n in r)K(t,n,{get:r[n],enumerable:!0})},He=(t,r,n,o)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of Mt(r))!Et.call(t,i)&&i!==n&&K(t,i,{get:()=>r[i],enumerable:!(o=Ht(r,i))||o.enumerable});return t};var O=(t,r,n)=>(n=t!=null?It(At(t)):{},He(r||!t||!t.__esModule?K(n,"default",{value:t,enumerable:!0}):n,t)),Qt=t=>He(K({},"__esModule",{value:!0}),t);var no={};Bt(no,{ContextDevTools:()=>Ve,EmbeddedContextDevTools:()=>Ie,ToggleEmbeddedContextDevTools:()=>ro});module.exports=Qt(no);var e=require("@emotion/react"),b=O(require("react"));var S=require("@emotion/react");var W=require("react"),Me=(0,W.createContext)({settings:{},saveSettings:()=>{}}),Y=()=>(0,W.useContext)(Me),Ae=({children:t,settings:r,saveSettings:n})=>(0,e.jsx)(Me.Provider,{value:{settings:r,saveSettings:n}},t);var qt=({route:t,children:r,className:n})=>{let{settings:o,saveSettings:i}=Y();return(0,e.jsx)("a",{href:"",className:n,onClick:a=>{a.preventDefault(),i({...o,route:t})}},r)},F=qt;var Ft=[{title:"Dimensions",href:"/dimensions",icon:`<svg
|
|
2
2
|
width="24"
|
|
3
3
|
height="24"
|
|
4
4
|
viewBox="0 0 24 24"
|
|
@@ -36,7 +36,7 @@ var Ht=Object.create;var $=Object.defineProperty;var Mt=Object.getOwnPropertyDes
|
|
|
36
36
|
</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">
|
|
37
37
|
<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"/>
|
|
38
38
|
</svg>
|
|
39
|
-
`}],
|
|
39
|
+
`}],Nt=`<svg width="24" height="24" fill="white" viewBox="0 0 122.88 116.67" xmlns="http://www.w3.org/2000/svg">
|
|
40
40
|
<g>
|
|
41
41
|
<path d="M84.55,116.66c2.49,0,4.53-1.99,4.53-4.41V88.08c1.55-13.03,7.27-9.16,14-5.13 c16.27,9.74,27.08-15.88,13.93-23.78c-10.32-6.2-14.79,4.46-22.35,3.36c-2.92-0.43-4.95-3.5-5.59-8.17V36.9 c0-2.43-2.04-4.41-4.53-4.41H63.73c-17.18-2.12-1.93-11.37-1.93-19.98C61.81,5.6,55.38,0,47.45,0c-7.92,0-15.19,5.6-15.19,12.51 c0,8.12,15.78,17.86-1.64,19.98H4.53C2.04,32.49,0,34.47,0,36.9v17.42c1.33,7.43,6.49,9.15,13.1,4.25 c2.23-1.66,5.99-3.59,8.71-3.59c7.09,0,12.85,6.25,12.85,13.96S28.91,84.6,21.81,84.6c-2.53,0-4.89-0.8-6.89-2.19 c0,0.59-12.4-10.85-14.92,3.15v26.71c0,2.43,2.04,4.41,4.53,4.41c13.97,0,27.92,0,41.88-0.01c0.55-2.55-1.24-5.47-2.92-8 c-13.22-19.93,38.21-21.92,24.99,0.62c-0.65,1.11-1.3,2.19-1.8,3.24c-0.63,1.31-1.05,2.91-0.96,4.14L84.55,116.66L84.55,116.66z"></path>
|
|
42
42
|
</g>
|
|
@@ -57,7 +57,7 @@ var Ht=Object.create;var $=Object.defineProperty;var Mt=Object.getOwnPropertyDes
|
|
|
57
57
|
margin: 0;
|
|
58
58
|
list-style-type: none;
|
|
59
59
|
flex-grow: 1;
|
|
60
|
-
`},
|
|
60
|
+
`},Ft.map((a,l)=>{var m,u,s,c;let p=0;return a.href==="/overrides"&&Object.keys((m=t.settings.scoreOverrides)!=null?m:{}).length>0&&(p=Object.keys((u=t.settings.scoreOverrides)!=null?u:{}).length),a.href==="/quirks"&&Object.keys((s=t.settings.quirkOverrides)!=null?s:{}).length>0&&(p=Object.keys((c=t.settings.quirkOverrides)!=null?c:{}).length),(0,e.jsx)("li",{css:S.css`
|
|
61
61
|
padding: 0;
|
|
62
62
|
margin: 0;
|
|
63
63
|
list-style-type: none;
|
|
@@ -109,11 +109,11 @@ var Ht=Object.create;var $=Object.defineProperty;var Mt=Object.getOwnPropertyDes
|
|
|
109
109
|
`,rel:"noreferrer"},(0,e.jsx)("i",{css:S.css`
|
|
110
110
|
align-items: center;
|
|
111
111
|
display: flex;
|
|
112
|
-
`,dangerouslySetInnerHTML:{__html:
|
|
112
|
+
`,dangerouslySetInnerHTML:{__html:Nt}}),"Install Chrome Extension"))};var Be=()=>(0,e.jsx)("article",null,(0,e.jsx)("h1",null,"Something when wrong"),(0,e.jsx)("p",null,"We could not find the page you're looking for."));var de=O(require("react"));var M=require("@emotion/react"),J=O(require("react")),Qe=(0,M.css)({willChange:"height"}),Zt=M.css`
|
|
113
113
|
border-bottom: 2px solid var(--brand-secondary-1);
|
|
114
114
|
font-size: var(--fs-base);
|
|
115
115
|
margin: 0;
|
|
116
|
-
`,
|
|
116
|
+
`,zt=M.css`
|
|
117
117
|
align-items: center;
|
|
118
118
|
border: none;
|
|
119
119
|
background: none;
|
|
@@ -123,13 +123,13 @@ var Ht=Object.create;var $=Object.defineProperty;var Mt=Object.getOwnPropertyDes
|
|
|
123
123
|
padding: var(--spacing-sm) 0;
|
|
124
124
|
font-weight: var(--fw-bold);
|
|
125
125
|
justify-content: space-between;
|
|
126
|
-
`,
|
|
126
|
+
`,Ut=M.css`
|
|
127
127
|
align-self: center;
|
|
128
|
-
`,
|
|
128
|
+
`,_t=M.css`
|
|
129
129
|
transform: rotate(-180deg);
|
|
130
|
-
`,
|
|
130
|
+
`,X=({children:t})=>(0,e.jsx)("div",{css:[Qe]},t),j=({title:t,children:r})=>{let[n,o]=J.useState(!1),i=t.split(" ").join("-").toLocaleLowerCase();return(0,e.jsx)(J.Fragment,null,(0,e.jsx)("h3",{css:Zt},(0,e.jsx)("button",{"aria-expanded":n,css:zt,title:t,id:i,"aria-controls":`${i}-section`,onClick:()=>o(a=>!a),type:"button"},t,(0,e.jsx)("i",{css:[Ut,n?_t:void 0]},(0,e.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,e.jsx)("path",{d:"M6.34317 7.75732L4.92896 9.17154L12 16.2426L19.0711 9.17157L17.6569 7.75735L12 13.4142L6.34317 7.75732Z",fill:"currentColor"}))))),(0,e.jsx)("div",{id:`${i}-section`,css:[Qe,M.css`
|
|
131
131
|
padding: var(--spacing-sm) 0;
|
|
132
|
-
`],role:"region","aria-labelledby":i},n?r:null))};var
|
|
132
|
+
`],role:"region","aria-labelledby":i},n?r:null))};var A=require("@emotion/react"),ee=A.css`
|
|
133
133
|
background-color: var(--gray-100);
|
|
134
134
|
padding: var(--spacing-base) var(--spacing-md);
|
|
135
135
|
margin: var(--spacing-base) 0;
|
|
@@ -137,21 +137,21 @@ var Ht=Object.create;var $=Object.defineProperty;var Mt=Object.getOwnPropertyDes
|
|
|
137
137
|
&:first-of-type {
|
|
138
138
|
margin: 0 0 var(--spacing-base);
|
|
139
139
|
}
|
|
140
|
-
`,
|
|
140
|
+
`,qe=A.css`
|
|
141
141
|
background: var(--gray-100)
|
|
142
142
|
url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%0A%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M9 2C8.44771 2 8 2.44772 8 3V5C8 5.55228 8.44771 6 9 6C9.55229 6 10 5.55228 10 5V3C10 2.44772 9.55229 2 9 2ZM8 9H16V11C16 13.2091 14.2091 15 12 15C9.79086 15 8 13.2091 8 11V9ZM13 16.917C15.8377 16.441 18 13.973 18 11V7H6V11C6 13.973 8.16229 16.441 11 16.917V22C11 22.5523 11.4477 23 12 23C12.5523 23 13 22.5523 13 22V16.917ZM14 3C14 2.44772 14.4477 2 15 2C15.5523 2 16 2.44772 16 3V5C16 5.55228 15.5523 6 15 6C14.4477 6 14 5.55228 14 5V3Z' fill='%232ecdb4' /%3E%3C/svg%3E")
|
|
143
143
|
no-repeat var(--spacing-sm) var(--spacing-base);
|
|
144
144
|
padding: var(--spacing-base) var(--spacing-xl);
|
|
145
|
-
`,
|
|
145
|
+
`,te=A.css`
|
|
146
146
|
color: var(--brand-secondary-1);
|
|
147
147
|
margin: 0;
|
|
148
148
|
font-size: var(--fs-base);
|
|
149
149
|
font-weight: var(--fw-bold);
|
|
150
|
-
`,
|
|
150
|
+
`,oe=A.css`
|
|
151
151
|
color: var(--brand-secondary-1);
|
|
152
152
|
margin: var(--spacing-xs) 0 0;
|
|
153
153
|
font-size: var(--fs-sm);
|
|
154
|
-
`,
|
|
154
|
+
`,Fe=A.css`
|
|
155
155
|
align-items: center;
|
|
156
156
|
border: none;
|
|
157
157
|
background: transparent
|
|
@@ -171,17 +171,17 @@ var Ht=Object.create;var $=Object.defineProperty;var Mt=Object.getOwnPropertyDes
|
|
|
171
171
|
&:hover {
|
|
172
172
|
opacity: 0.6;
|
|
173
173
|
}
|
|
174
|
-
`,
|
|
174
|
+
`,re=A.css`
|
|
175
175
|
display: flex;
|
|
176
176
|
margin: var(--spacing-sm) 0 0;
|
|
177
177
|
gap: var(--spacing-base);
|
|
178
|
-
`;var
|
|
178
|
+
`;var N=({title:t,text:r,buttonGroup:n,children:o})=>(0,e.jsx)("div",{css:ee},(0,e.jsx)("h2",{css:te},t),(0,e.jsx)("p",{css:oe},r),o,n?(0,e.jsx)("div",{css:re},n):null);var k=require("@emotion/react"),Gt=k.keyframes`from {
|
|
179
179
|
transform: scale(1);
|
|
180
180
|
}
|
|
181
181
|
to {
|
|
182
182
|
transform: scale(1.2);
|
|
183
183
|
}
|
|
184
|
-
`,
|
|
184
|
+
`,f={page:k.css`
|
|
185
185
|
color: var(--brand-secondary-1);
|
|
186
186
|
`,text:k.css`
|
|
187
187
|
margin: var(--spacing-sm) 0;
|
|
@@ -215,7 +215,7 @@ to {
|
|
|
215
215
|
position: absolute;
|
|
216
216
|
right: var(--spacing-base);
|
|
217
217
|
bottom: var(--spacing-base);
|
|
218
|
-
animation: 0.5s 2 alternate ${
|
|
218
|
+
animation: 0.5s 2 alternate ${Gt};
|
|
219
219
|
`,cancelButton:k.css`
|
|
220
220
|
position: absolute;
|
|
221
221
|
left: calc(200px + var(--spacing-base));
|
|
@@ -231,7 +231,7 @@ to {
|
|
|
231
231
|
input {
|
|
232
232
|
padding: var(--spacing-sm);
|
|
233
233
|
}
|
|
234
|
-
`};var L=require("@emotion/react"),
|
|
234
|
+
`};var L=require("@emotion/react"),ne=({children:t})=>(0,e.jsx)("table",{css:L.css`
|
|
235
235
|
border-collapse: collapse;
|
|
236
236
|
display: table;
|
|
237
237
|
width: 100%;
|
|
@@ -242,36 +242,36 @@ to {
|
|
|
242
242
|
& tr {
|
|
243
243
|
border-bottom: 1px solid var(--gray-200);
|
|
244
244
|
}
|
|
245
|
-
`},t),
|
|
245
|
+
`},t),ie=({children:t})=>(0,e.jsx)("tbody",null,t),z=({border:t,children:r})=>(0,e.jsx)("tr",{css:t?L.css`
|
|
246
246
|
border-bottom: 1px solid var(--gray-200);
|
|
247
247
|
&:where(:last-child) {
|
|
248
248
|
border: none;
|
|
249
249
|
}
|
|
250
|
-
`:void 0},r),
|
|
250
|
+
`:void 0},r),se=({children:t,width:r})=>(0,e.jsx)("th",{css:L.css`
|
|
251
251
|
outline: none;
|
|
252
252
|
padding: var(--spacing-sm);
|
|
253
253
|
width: ${r!=null?r:"auto"};
|
|
254
|
-
`},t);function
|
|
254
|
+
`},t);function $t(t){switch(t){case"light":return L.css`
|
|
255
255
|
color: var(--gray-400);
|
|
256
256
|
`;case"dark":return L.css`
|
|
257
257
|
color: var(--brand-secondary-1);
|
|
258
|
-
`}}function
|
|
258
|
+
`}}function Kt(t){return L.css`
|
|
259
259
|
text-align: ${t};
|
|
260
|
-
`}var
|
|
260
|
+
`}var R=({alignment:t="left",border:r,color:n="dark",children:o})=>(0,e.jsx)("td",{css:[L.css`
|
|
261
261
|
padding: var(--spacing-base);
|
|
262
262
|
max-width: 180px;
|
|
263
263
|
overflow-wrap: break-word;
|
|
264
264
|
position: relative;
|
|
265
|
-
|
|
265
|
+
`,$t(n),Kt(t),r?L.css`
|
|
266
266
|
border-left: 1px solid var(--gray-200);
|
|
267
|
-
`:void 0]},o);var
|
|
267
|
+
`:void 0]},o);var ae=require("@emotion/react"),Ze=ae.css`
|
|
268
268
|
position: relative;
|
|
269
269
|
display: inline-block;
|
|
270
270
|
font-size: var(--fs-base);
|
|
271
|
-
`,ze=
|
|
271
|
+
`,ze=ae.css`
|
|
272
272
|
display: block;
|
|
273
273
|
text-decoration: line-through;
|
|
274
|
-
`,Ue=
|
|
274
|
+
`,Ue=ae.css`
|
|
275
275
|
position: absolute;
|
|
276
276
|
width: 6px;
|
|
277
277
|
height: 6px;
|
|
@@ -279,11 +279,11 @@ to {
|
|
|
279
279
|
top: 9px;
|
|
280
280
|
background: var(--red-tooltip);
|
|
281
281
|
border-radius: 3px;
|
|
282
|
-
`;var Ge=require("@emotion/react"),
|
|
282
|
+
`;var Ge=require("@emotion/react"),Wt=`<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
283
283
|
<path d="M4.2 7.2C4.53137 7.2 4.8 6.93137 4.8 6.6C4.8 6.26863 4.53137 6 4.2 6C3.86863 6 3.6 6.26863 3.6 6.6C3.6 6.93137 3.86863 7.2 4.2 7.2Z" fill="#828282"/>
|
|
284
284
|
<path d="M8.4 6.6C8.4 6.93137 8.13137 7.2 7.8 7.2C7.46863 7.2 7.2 6.93137 7.2 6.6C7.2 6.26863 7.46863 6 7.8 6C8.13137 6 8.4 6.26863 8.4 6.6Z" fill="#828282"/>
|
|
285
285
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 12C9.31371 12 12 9.31371 12 6C12 2.68629 9.31371 0 6 0C2.68629 0 0 2.68629 0 6C0 9.31371 2.68629 12 6 12ZM6 10.8C8.65097 10.8 10.8 8.65097 10.8 6C10.8 5.49824 10.723 5.01447 10.5802 4.55984C10.0795 4.69533 9.55274 4.76763 9.00913 4.76763C6.77526 4.76763 4.82652 3.54683 3.79366 1.73601C2.25282 2.53492 1.2 4.14451 1.2 6C1.2 8.65097 3.34903 10.8 6 10.8Z" fill="#828282"/>
|
|
286
|
-
</svg>`,
|
|
286
|
+
</svg>`,Yt=`<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
287
287
|
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.59995 5.05775C4.9254 5.05775 5.99992 3.98325 5.99992 2.65778C5.99992 1.33232 4.9254 0.257812 3.59995 0.257812C2.27448 0.257812 1.19998 1.33232 1.19998 2.65778C1.19998 3.98325 2.27448 5.05775 3.59995 5.05775ZM3.59999 3.85777C4.26272 3.85777 4.79997 3.32052 4.79997 2.65778C4.79997 1.99505 4.26272 1.4578 3.59999 1.4578C2.93725 1.4578 2.4 1.99505 2.4 2.65778C2.4 3.32052 2.93725 3.85777 3.59999 3.85777Z" fill="#828282"/>
|
|
288
288
|
<path d="M5.39993 6.8577C5.73131 6.8577 5.99993 7.12632 5.99993 7.45769V11.0576H7.19991V7.45769C7.19991 6.46356 6.39406 5.65771 5.39993 5.65771H1.79998C0.80588 5.65771 0 6.46356 0 7.45769V11.0576H1.19999V7.45769C1.19999 7.12632 1.46861 6.8577 1.79998 6.8577H5.39993Z" fill="#828282"/>
|
|
289
289
|
<path d="M11.9999 5.05762H8.3999V6.2576H11.9999V5.05762Z" fill="#828282"/>
|
|
@@ -295,10 +295,10 @@ to {
|
|
|
295
295
|
<path d="M9.36269 2.7856C9.93846 3.36136 10.2946 4.15676 10.2946 5.03535C10.2946 6.06973 9.80096 6.98882 9.03643 7.5699L9.94228 8.47575C10.9345 7.65881 11.5672 6.42096 11.5672 5.03535C11.5672 3.80533 11.0687 2.69177 10.2626 1.88571L9.36269 2.7856Z" fill="#828282"/>
|
|
296
296
|
<path d="M0.113525 5.03534C0.113525 3.10251 0.896953 1.35266 2.16359 0.0860049L3.06347 0.985892C2.02714 2.02224 1.38616 3.45394 1.38616 5.03534C1.38616 6.61674 2.02714 8.04844 3.06347 9.08479L2.16358 9.98468C0.89695 8.71802 0.113525 6.96817 0.113525 5.03534Z" fill="#828282"/>
|
|
297
297
|
<path d="M12.0624 9.98474C13.329 8.71809 14.1125 6.96821 14.1125 5.03534C14.1125 3.10248 13.329 1.3526 12.0624 0.0859375L11.1625 0.985824C12.1988 2.02218 12.8398 3.4539 12.8398 5.03534C12.8398 6.61678 12.1988 8.0485 11.1625 9.08486L12.0624 9.98474Z" fill="#828282"/>
|
|
298
|
-
</svg>`,$e=({type:t})=>{let r="";switch(t){case"Audience":r=
|
|
298
|
+
</svg>`,$e=({type:t})=>{let r="";switch(t){case"Audience":r=Wt;break;case"Signal":r=_e;break;case"Intent":r=_e;break;case"Enrichment":r=Yt;break}return(0,e.jsx)("i",{css:Ge.css`
|
|
299
299
|
align-items: center;
|
|
300
300
|
display: inline-block;
|
|
301
|
-
`,dangerouslySetInnerHTML:{__html:r}})};var
|
|
301
|
+
`,dangerouslySetInnerHTML:{__html:r}})};var Jt=({dimensionIndex:t,dimensions:r,disableEditOverride:n,onClick:o,preemptiveOverrides:i})=>{var p;let{settings:a}=Y(),l=(p=i!=null?i:a.scoreOverrides)!=null?p:{};return(0,e.jsx)(ne,null,(0,e.jsx)(ie,null,Object.entries(r).sort(([m],[u])=>m.localeCompare(u)).map(([m,u])=>{var h;let{dim:s,name:c,type:d,category:g}=(h=t[m])!=null?h:{name:m,dim:m,type:void 0,category:void 0},v=l[s];return(0,e.jsx)(z,{key:s},(0,e.jsx)(R,null,v!==void 0?(0,e.jsx)("s",{css:ze},v.initial):null,(0,e.jsx)("b",{css:Ze},u,v!==void 0&&(0,e.jsx)("i",{css:Ue}))),(0,e.jsx)(R,null,(0,e.jsx)("div",{onClick:()=>o==null?void 0:o(s),css:o?{cursor:"pointer"}:void 0},(0,e.jsx)("span",{css:f.divider,role:"presentation"}),(0,e.jsx)("div",null,(0,e.jsx)($e,{type:d})," ",d),(0,e.jsx)("strong",null,g?`${g}:`:""," ",c))),(0,e.jsx)(R,{alignment:"right",color:"light"},v!==void 0&&!n?(0,e.jsx)(F,{route:`/overrides/${s}`},"Edit override"):null))})))},E=Jt;async function ce({actions:t,saveSettings:r,scores:n,settings:o}){var p,m;let i=(p=o.scoreOverrides)!=null?p:{},a={...i},l=[];for(let u of Object.keys(i)){let s=i==null?void 0:i[u];delete a[u],l.push({type:"modscoreS",data:{dimension:u,delta:s.initial-((m=n[u])!=null?m:0)}})}await r({...o,scoreOverrides:a}),await t.rawUpdate(l)}async function Ke({quirk:t,settings:r,saveSettings:n,actions:o}){var l;let i=(l=r.quirkOverrides)==null?void 0:l[t];if(!i)return;let a={...r.quirkOverrides};delete a[t],await n({...r,quirkOverrides:a}),await o.rawUpdate([{type:"setquirk",data:{key:t,value:i.initial}}])}var we=require("@uniformdev/design-system"),We=require("@uniformdev/design-system"),Ye=({dimensionIndex:{index:t},state:{scores:r,data:n},actions:o,saveSettings:i,settings:a})=>{let l=de.useMemo(()=>{let s={};return Object.keys(t).filter(c=>!r[c]).map(c=>{s[t[c].dim]=0}),s},[r,t]),p=Object.keys(r).length,m=p+Object.keys(l).length,u=()=>{o.rawUpdate([{type:"setcontrol",data:!n.controlGroup}])};return(0,e.jsx)(de.Fragment,null,(0,e.jsx)("article",{css:f.page},(0,e.jsx)("div",{css:f.headingGroup},(0,e.jsx)("h2",{css:f.title},"Dimensions",(0,e.jsx)("small",null,p," active of ",m)),(0,e.jsx)("div",{css:f.reset},(0,e.jsx)(we.Button,{buttonType:"ghost",onClick:()=>ce({actions:o,saveSettings:i,scores:r,settings:a}).then(o.forget)},"clear all dimensions")),(0,e.jsx)(We.Switch,{name:"controlGroup",label:"Control Group",onChange:u,checked:n.controlGroup})),p>0?(0,e.jsx)(E,{dimensionIndex:t,dimensions:r}):(0,e.jsx)(N,{title:n.controlGroup?"In control group":"No active dimensions",text:n.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:n.controlGroup?(0,e.jsx)(we.Button,{buttonType:"secondary",onClick:u},"Exit control group"):null}),(0,e.jsx)(X,null,(0,e.jsx)(j,{title:`Inactive Dimensions (${Object.keys(l).length})`},(0,e.jsx)(E,{dimensionIndex:t,dimensions:l})))))};var Je=O(require("react"));var Xe=require("@uniformdev/design-system");var ke=require("@uniformdev/design-system"),je=({dimensionIndex:{index:t},state:{data:r,scores:n},actions:o,settings:i,saveSettings:a})=>{var c;let l=(c=i.scoreOverrides)!=null?c:{},p=Object.keys(l).length,m=d=>(d==null||d.preventDefault(),a({...i,route:"/overrides/add"})),u=()=>{o.rawUpdate([{type:"setcontrol",data:!r.controlGroup}])},s={};return Object.entries(n).map(([d,g])=>{l[d]!==void 0&&(s[d]=g)}),(0,e.jsx)(Je.Fragment,null,(0,e.jsx)("article",{css:f.page},(0,e.jsx)("div",{css:f.headingGroup},(0,e.jsx)("h2",{css:f.title},"What if?"),(0,e.jsx)("div",{css:f.reset},(0,e.jsx)(ke.Button,{buttonType:"ghost",onClick:()=>ce({actions:o,settings:i,saveSettings:a,scores:n})},"delete all overrides")),(0,e.jsx)(Xe.AddButton,{onClick:m})),(0,e.jsx)("p",null,"Override dimension scores to test personalization"),p>0?(0,e.jsx)(E,{dimensionIndex:t,dimensions:s,onClick:d=>a({...i,route:`/overrides/${d}`})}):(0,e.jsx)(N,{title:r.controlGroup?"In control group":"No overrides",text:r.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 any dimension overrides yet.",buttonGroup:r.controlGroup?(0,e.jsx)(ke.Button,{buttonType:"secondary",onClick:u},"Exit control group"):null})))};var Q=require("formik");var Z=O(require("yup"));var V=require("@emotion/react"),et=V.css`
|
|
302
302
|
background: var(--white);
|
|
303
303
|
border: 1px solid var(--gray-500);
|
|
304
304
|
border-radius: var(--rounded-base);
|
|
@@ -309,26 +309,26 @@ to {
|
|
|
309
309
|
cursor: not-allowed;
|
|
310
310
|
color: var(--gray-200);
|
|
311
311
|
}
|
|
312
|
-
`,
|
|
312
|
+
`,Zo=V.css`
|
|
313
313
|
margin: var(--spacing-base) 0;
|
|
314
|
-
`,tt=
|
|
314
|
+
`,tt=V.css`
|
|
315
315
|
color: var(--brand-secondary-1);
|
|
316
316
|
display: flex;
|
|
317
317
|
flex-direction: column;
|
|
318
318
|
margin: 0 0 var(--spacing-sm);
|
|
319
|
-
`,ot=
|
|
319
|
+
`,ot=V.css`
|
|
320
320
|
color: var(--brand-secondary-1);
|
|
321
321
|
display: block;
|
|
322
322
|
flex: 1 100%;
|
|
323
323
|
font-weight: var(--fw-bold);
|
|
324
324
|
margin: 0 0 var(--spacing-sm);
|
|
325
|
-
`,
|
|
325
|
+
`,zo=V.css`
|
|
326
326
|
color: var(--gray-600);
|
|
327
327
|
font-size: var(--fs-sm);
|
|
328
|
-
`,
|
|
328
|
+
`,Uo=V.css`
|
|
329
329
|
color: var(--brand-secondary-5);
|
|
330
330
|
display: block;
|
|
331
|
-
`,rt=
|
|
331
|
+
`,rt=V.css`
|
|
332
332
|
flex-direction: row;
|
|
333
333
|
flex-wrap: wrap;
|
|
334
334
|
|
|
@@ -396,7 +396,7 @@ to {
|
|
|
396
396
|
flex: 1 0 20%;
|
|
397
397
|
padding: 10px;
|
|
398
398
|
}
|
|
399
|
-
`;var
|
|
399
|
+
`;var le=require("@uniformdev/design-system"),nt=({field:t,form:r,meta:n,...o})=>{var u,s;let{label:i,caption:a,min:l=0,max:p=100,step:m}=o;return(0,e.jsx)("div",null,(0,e.jsx)("label",{css:[tt,rt]},(0,e.jsx)("span",{css:ot},i),(0,e.jsx)("input",{type:"range",min:l,max:p,step:m,...t,value:(u=t.value)!=null?u:0}),(0,e.jsx)("span",{className:"value-display"},(s=t.value)!=null?s:0)),a?(0,e.jsx)(le.Caption,null,a):null,r.touched[t.name]&&r.errors[t.name]?(0,e.jsx)(le.ErrorMessage,{message:r.errors[t.name]}):null)};var it=require("@emotion/react"),B=({children:t,...r})=>(0,e.jsx)("fieldset",{css:it.css`
|
|
400
400
|
border: none;
|
|
401
401
|
padding: 0;
|
|
402
402
|
& legend {
|
|
@@ -407,7 +407,7 @@ to {
|
|
|
407
407
|
font-weight: var(--fw-bold);
|
|
408
408
|
border-bottom: 1px solid var(--gray-400);
|
|
409
409
|
width: 100%;
|
|
410
|
-
`},t);var le=require("@uniformdev/context");function at({manifest:t,visitor:r,override:n}){let o=new le.Context({manifest:t,transitionStore:new ke({initialData:r})}),i={...o.scores};o.storage.updateData([n]);let l={...{...o.scores}};return Object.entries(l).forEach(([p,m])=>{i[p]===m&&delete l[p]}),l}var ke=class extends le.TransitionDataStore{async handleDelete(){}async handleUpdateData(){}};function _({scores:t,scoreOverrides:r}){let n=[];return r?(Object.entries(r).forEach(([o,i])=>{var p;let a=(p=t[o])!=null?p:0;if(a===i.override)return;let l=i.override-a;n.push({type:"modscoreS",data:{dimension:o,delta:l}})}),n):[]}function pe({quirks:t,quirkOverrides:r}){let n={};if(!!r)return Object.entries(r).forEach(([o,i])=>{t[o]!==i.override&&(n[o]=i.override)}),Object.keys(n).length>0?n:void 0}var dt=require("@uniformdev/design-system");var Te=t=>({field:r,form:n,meta:o,...i})=>(0,e.jsx)(t,{...i,...r,errorMessage:n.errors[r.name]});var me=require("@uniformdev/design-system"),ue=Te(me.Input),ct=Te(me.InputSelect);var jt=N.object({dimension:N.string(),score:N.number()}),De=({settings:t,saveSettings:r,state:n,actions:o,dimensionIndex:{index:i}})=>{var m,u;let a=t.route?[...t.route.matchAll(/overrides\/(?!.*add)(\w+)?/g)]:[],l=a[0]?a[0][1]:"";if(!((m=n.manifest.project.pz)!=null&&m.sig))return(0,e.jsx)("p",null,"Error, manifest is broken or there is no signal to override.");let p=Object.entries(i).filter(([,s])=>s.type!=="Audience"&&s.type!=="Intent").map(([s,d])=>{let c=d.type?`${d.type}: `:"",v=d.category?`${d.category} - `:"",f=`${c}${v}${d.name}`;return{value:s,label:f}});return p.unshift({value:"",label:"Choose dimension to override"}),(0,e.jsx)(B.Formik,{initialValues:{dimension:l,score:(u=n.scores[l])!=null?u:0},validate:s=>{let d={};return(s.score===n.scores[s.dimension]||s.score===0&&!n.scores[l])&&(d.score="You have to modify current score value"),d},validationSchema:jt,enableReinitialize:!0,validateOnChange:!1,validateOnBlur:!1,onSubmit:async s=>{var y,C,w,D,Z,Pe;let d=(C=(y=i[s.dimension])==null?void 0:y.cap)!=null?C:0,c=Math.min(s.score,d),v={...t,scoreOverrides:{...t.scoreOverrides,[s.dimension]:{initial:(Pe=(Z=(D=(w=t.scoreOverrides)==null?void 0:w[s.dimension])==null?void 0:D.initial)!=null?Z:n.scores[s.dimension])!=null?Pe:0,override:c}},route:"/overrides"};await r(v);let f=_({scores:n.scores,scoreOverrides:v.scoreOverrides});o.rawUpdate(f)}},({isSubmitting:s,values:d})=>{var C;let c=at({manifest:n.manifest,visitor:n.data,override:{type:"modscore",data:{dimension:d.dimension,delta:d.score-((C=n.scores[d.dimension])!=null?C:0)}}}),v=Object.entries(n.scores).reduce((w,[D,Z])=>(w[D]={initial:Z,override:Z},w),{}),f={max:100,step:50};i[d.dimension]&&(f.max=i[d.dimension].cap,f.step=i[d.dimension].str);let y=d.score&&Object.keys(c).length>0;return(0,e.jsx)(B.Form,{css:h.page},(0,e.jsx)("h1",{css:h.title},"Override Dimension"),(0,e.jsx)(B.Field,{component:ct,label:"Dimension",id:"dimension",name:"dimension",options:p,disabled:s}),(0,e.jsx)("p",{css:h.text},(0,e.jsx)("small",null,"Audiences and Intents are aggregated from other dimension scores and cannot be overridden directly.")),d.dimension?(0,e.jsx)(B.Field,{component:nt,name:"score",label:"Score",disabled:s,caption:`Range: 0 - ${f.max} in increments of ${f.step}`}):null,(0,e.jsx)(E,{disabled:s,css:{marginBottom:"2rem"}},y?(0,e.jsx)(J,null,(0,e.jsx)(X,{title:`Impacted Dimensions (${Object.keys(c).length})`},(0,e.jsx)(A,{preemptiveOverrides:v,dimensionIndex:i,dimensions:c,disableEditOverride:!0}))):null,(0,e.jsx)(dt.Button,{type:"submit",css:h.submitButton,disabled:s},"Save"),(0,e.jsx)(F,{route:"/overrides",css:h.cancelButton},"Cancel")))})};var pt=require("react");var ge=require("react"),ve=require("@uniformdev/design-system");var eo=({name:t,value:r,submit:n})=>{let[o,i]=(0,ge.useState)(r!=null?r:"");return(0,ge.useEffect)(()=>{i(r!=null?r:"")},[r]),(0,e.jsx)("div",{css:{display:"flex",gap:"var(--spacing-sm)"}},(0,e.jsx)(ve.Input,{type:"text",css:[et],name:t,value:o,onChange:p=>{i(p.target.value)}}),(0,e.jsx)(ve.Button,{buttonType:"primary",disabled:o===r,size:"sm",onClick:()=>n(t,o!=null?o:"")},"Save"))},lt=eo;var G=require("@uniformdev/design-system"),mt=({...t})=>{let{state:{data:{quirks:r}},quirksIndex:{index:n},settings:o,saveSettings:i,actions:a}=t,[l,p]=(0,pt.useState)(""),m;l&&(m=n[l]);let u=async(s,d)=>{var f,y,C;p("");let c={...o,quirkOverrides:{...o.quirkOverrides,[s]:{initial:(C=(y=(f=o.quirkOverrides)==null?void 0:f[s])==null?void 0:y.initial)!=null?C:r[s],override:d}}};await i(c);let v=pe({quirks:r,quirkOverrides:c.quirkOverrides});await a.update({quirks:v})};return(0,e.jsx)(b.Fragment,null,(0,e.jsx)("article",{css:[h.page,h.quirks]},(0,e.jsx)("h1",{css:h.title},"Quirks"),(0,e.jsx)("p",{css:h.text},"Keys defined in Uniform and their current, programmatically defined values for this visit."),Object.keys(n).length?(0,e.jsx)(re,null,(0,e.jsx)(Ne,null,(0,e.jsx)(z,null,(0,e.jsx)(ie,{width:"30%"},"Key"),(0,e.jsx)(ie,{width:"50%"},"Value"),(0,e.jsx)(ie,{width:"20%"},""))),(0,e.jsx)(ne,null,Object.values(n).map(({name:s,value:d,id:c})=>{var y,C,w;let v=(C=(y=o.quirkOverrides)==null?void 0:y[s])==null?void 0:C.initial,f=[];return m&&m.options&&(f=m.options.map(D=>({value:D.value,label:D.name}))),(0,e.jsx)(z,{key:c,border:"bottom"},(0,e.jsx)(V,null,(0,e.jsx)("strong",null,s)),(0,e.jsx)(V,null,l!==c?(0,e.jsx)("div",{onClick:()=>{p(c)}},v?(0,e.jsx)("div",null,(0,e.jsx)("s",null,v)):null,d):null,l===c&&m&&(0,e.jsx)(b.Fragment,null,m.options?(0,e.jsx)(G.InputSelect,{showLabel:!1,label:`Change ${s}`,defaultOption:`Change ${s}`,name:c,onChange:D=>u(D.target.name,D.target.value),options:f}):(0,e.jsx)(lt,{name:c,value:d,submit:u}))),(0,e.jsx)(V,null,l?null:(w=o.quirkOverrides)!=null&&w[c]?(0,e.jsx)(G.Button,{buttonType:"ghost",onClick:()=>{Ke({quirk:c,settings:o,saveSettings:i,actions:a})}},(0,e.jsx)("small",null,"Clear Override")):(0,e.jsx)(G.Button,{buttonType:"ghost",onClick:()=>{p(c)}},(0,e.jsx)("small",null,"Override"))))}))):(0,e.jsx)(q,{title:"No quirks configured",text:"There are currently no quirks setup. Try to connect to Uniform API to load additional information about Quirks and Quirks without defined value."})))};var ut=require("@uniformdev/design-system"),Se=require("@uniformdev/design-system"),gt=({settings:t,saveSettings:r,actions:n,state:{data:o}})=>(0,e.jsx)("article",{css:[h.page,{display:"flex",flexDirection:"column",gap:"var(--spacing-base)"}]},(0,e.jsx)("h1",{css:h.title},"Settings"),(0,e.jsx)(E,null,(0,e.jsx)(U,null,"Data Connection"),(0,e.jsx)(ut.Button,{buttonType:"tertiary",onClick:()=>{r({...t,route:"/connect"})}},"Manage Connection to Uniform")),(0,e.jsx)(E,null,(0,e.jsx)(U,null,"Storage Consent"),(0,e.jsx)(Se.Switch,{label:"Store visitor data",id:"consent-mode",name:"consentMode",checked:o.consent,onChange:i=>{n.rawUpdate([{type:"consent",data:i.currentTarget.checked}]),r({...t,consentMode:i.currentTarget.checked})}}),(0,e.jsx)("p",null,(0,e.jsx)("small",null,"Enabling storage consent allows storing behavior in this browser for personalization across sessions. Only affects this browser. Personalization works with this disabled, but dimension scores are lost on refresh."))),(0,e.jsx)(E,null,(0,e.jsx)(U,null,"Logging"),(0,e.jsx)(Se.Switch,{label:"Write Uniform Context diagnostic logs to browser console",id:"logging",name:"logging",checked:t.logLevel==="debug",onChange:i=>r({...t,logLevel:i.currentTarget.checked?"debug":"none"})})));var Le=require("@uniformdev/design-system");var Oe=({settings:t,saveSettings:r})=>{let n=()=>{r({...t,route:"/connect"})},o=()=>{r({...t,ignoreApiKeyPrompt:!0})},i=t.route==="/connect",a=!(t!=null&&t.apiKey);return!t.ignoreApiKeyPrompt&&a&&!i?(0,e.jsx)("div",{css:[j,Fe]},(0,e.jsx)("h2",{css:ee},"Connect to a Uniform Project"),(0,e.jsx)("p",{css:te},"This allows reading human-readable labels for the dimensions."),(0,e.jsx)("div",{css:oe},(0,e.jsx)(Le.Button,{buttonType:"secondary",onClick:n},"Connect this site"),(0,e.jsx)(Le.Button,{buttonType:"ghost",onClick:o},"Skip for now")),(0,e.jsx)("button",{type:"button",css:qe,title:"close",onClick:o},(0,e.jsx)("span",{hidden:!0},"Close"))):null};var Q=require("@uniformdev/context/api"),vt=require("react-use"),ft=x(require("react"));function ht({apiHost:t,apiKey:r,projectId:n},o){let{loading:i,error:a,value:l}=(0,vt.useAsync)(async()=>{if(!r||!n)return p;let u=(await new Q.DimensionClient({projectId:n,apiKey:r,apiHost:t||void 0}).get()).dimensions,s={};return u.map(d=>{var c,v,f,y;if(s[d.dim]={...(0,Q.computeDimensionDefinitionDisplayData)(d),cap:d.cap,str:10},s[d.dim].type==="Enrichment"){let C=d.dim.split("_")[0];s[d.dim].cap=(y=(f=(v=(c=o==null?void 0:o.project.pz)==null?void 0:c.enr)==null?void 0:v[C])==null?void 0:f.cap)!=null?y:100}}),s},[t,r,n]),p=ft.useMemo(()=>{var u,s,d,c;let m={};return o&&(Object.entries((s=(u=o==null?void 0:o.project.pz)==null?void 0:u.sig)!=null?s:{}).map(([v,f])=>{let y=(0,Q.computeDimensionDisplayData)(v,o);y&&(m[v]={...f,...y})}),Object.entries((c=(d=o==null?void 0:o.project.pz)==null?void 0:d.enr)!=null?c:{}).map(([v,f])=>{var w;let y=(0,Q.computeDimensionDisplayData)(v,o),C={cap:(w=f.cap)!=null?w:100,str:10};y&&(m[v]={...y,cap:C.cap,str:C.str})}),l&&Object.entries(l).map(([v,f])=>{m[v]={...m[v],...f}})),m},[o,l]);return{loading:i,error:a,index:p}}var bt=require("react"),yt=require("@uniformdev/context/api"),Ct=require("react-use");function wt({apiHost:t,apiKey:r,projectId:n},o){let{loading:i,error:a,value:l}=(0,Ct.useAsync)(async()=>{if(!r||!n)return{};let u=await new yt.QuirkClient({projectId:n,apiKey:r,apiHost:t||void 0}).get(),s={};return u.quirks.map(d=>{s[d.id]={...d,value:o[d.id]}}),s},[t,r,n]),p=(0,bt.useMemo)(()=>{let m={};return Object.entries(o).map(([u,s])=>m[u]={value:s,id:u,name:u}),l&&Object.entries(l).map(([u,s])=>m[u]={...s,value:o[u]}),m},[o,l]);return{loading:i,error:a,index:p}}var xe=require("@emotion/react"),Ot=require("@uniformdev/design-system");function fe(){return(0,e.jsx)("style",null,`
|
|
410
|
+
`},t);var pe=require("@uniformdev/context");function at({manifest:t,visitor:r,override:n}){let o=new pe.Context({manifest:t,transitionStore:new Te({initialData:r})}),i={...o.scores};o.storage.updateData([n]);let l={...{...o.scores}};return Object.entries(l).forEach(([p,m])=>{i[p]===m&&delete l[p]}),l}var Te=class extends pe.TransitionDataStore{async handleDelete(){}async handleUpdateData(){}};function _({scores:t,scoreOverrides:r}){let n=[];return r?(Object.entries(r).forEach(([o,i])=>{var p;let a=(p=t[o])!=null?p:0;if(a===i.override)return;let l=i.override-a;n.push({type:"modscoreS",data:{dimension:o,delta:l}})}),n):[]}function me({quirks:t,quirkOverrides:r}){let n={};if(!!r)return Object.entries(r).forEach(([o,i])=>{t[o]!==i.override&&(n[o]=i.override)}),Object.keys(n).length>0?n:void 0}var dt=require("@uniformdev/design-system");var De=t=>({field:r,form:n,meta:o,...i})=>(0,e.jsx)(t,{...r,...i,errorMessage:n.errors[r.name]});var ue=require("@uniformdev/design-system"),ge=De(ue.Input),ct=De(ue.InputSelect);var Xt=Z.object({dimension:Z.string(),score:Z.number()}),Se=({settings:t,saveSettings:r,state:n,actions:o,dimensionIndex:{index:i}})=>{var m,u;let a=t.route?[...t.route.matchAll(/overrides\/(?!.*add)(\w+)?/g)]:[],l=a[0]?a[0][1]:"";if(!((m=n.manifest.project.pz)!=null&&m.sig))return(0,e.jsx)("p",null,"Error, manifest is broken or there is no signal to override.");let p=Object.entries(i).filter(([,s])=>s.type!=="Audience"&&s.type!=="Intent").map(([s,c])=>{let d=c.type?`${c.type}: `:"",g=c.category?`${c.category} - `:"",v=`${d}${g}${c.name}`;return{value:s,label:v}});return p.unshift({value:"",label:"Choose dimension to override"}),(0,e.jsx)(Q.Formik,{initialValues:{dimension:l,score:(u=n.scores[l])!=null?u:0},validate:s=>{let c={};return(s.score===n.scores[s.dimension]||s.score===0&&!n.scores[l])&&(c.score="You have to modify current score value"),c},validationSchema:Xt,enableReinitialize:!0,validateOnChange:!1,validateOnBlur:!1,onSubmit:async s=>{var h,y,C,w,I,H;let c=(y=(h=i[s.dimension])==null?void 0:h.cap)!=null?y:0,d=Math.min(s.score,c),g={...t,scoreOverrides:{...t.scoreOverrides,[s.dimension]:{initial:(H=(I=(w=(C=t.scoreOverrides)==null?void 0:C[s.dimension])==null?void 0:w.initial)!=null?I:n.scores[s.dimension])!=null?H:0,override:d}},route:"/overrides"};await r(g);let v=_({scores:n.scores,scoreOverrides:g.scoreOverrides});o.rawUpdate(v)}},({isSubmitting:s,values:c,setFieldValue:d})=>{var C;let g=at({manifest:n.manifest,visitor:n.data,override:{type:"modscore",data:{dimension:c.dimension,delta:c.score-((C=n.scores[c.dimension])!=null?C:0)}}}),v=Object.entries(n.scores).reduce((w,[I,H])=>(w[I]={initial:H,override:H},w),{}),h={max:100,step:50};i[c.dimension]&&(h.max=i[c.dimension].cap,h.step=i[c.dimension].str);let y=c.score&&Object.keys(g).length>0;return(0,e.jsx)(Q.Form,{css:f.page},(0,e.jsx)("h1",{css:f.title},"Override Dimension"),(0,e.jsx)(Q.Field,{component:ct,label:"Dimension",id:"dimension",name:"dimension",options:p,disabled:s,onChange:w=>{d("score",0,!1),d("dimension",w.target.value)}}),(0,e.jsx)("p",{css:f.text},(0,e.jsx)("small",null,"Audiences and Intents are aggregated from other dimension scores and cannot be overridden directly.")),c.dimension?(0,e.jsx)(Q.Field,{component:nt,name:"score",label:"Score",disabled:s,max:h.max,step:h.step,caption:`Range: 0 - ${h.max} in increments of ${h.step}`}):null,(0,e.jsx)(B,{disabled:s,css:{marginBottom:"2rem"}},y?(0,e.jsx)(X,null,(0,e.jsx)(j,{title:`Impacted Dimensions (${Object.keys(g).length})`},(0,e.jsx)(E,{preemptiveOverrides:v,dimensionIndex:i,dimensions:g,disableEditOverride:!0}))):null,(0,e.jsx)(dt.Button,{type:"submit",css:f.submitButton,disabled:s},"Save"),(0,e.jsx)(F,{route:"/overrides",css:f.cancelButton},"Cancel")))})};var pt=require("react");var ve=require("react"),fe=require("@uniformdev/design-system");var jt=({name:t,value:r,submit:n})=>{let[o,i]=(0,ve.useState)(r!=null?r:"");return(0,ve.useEffect)(()=>{i(r!=null?r:"")},[r]),(0,e.jsx)("div",{css:{display:"flex",gap:"var(--spacing-sm)"}},(0,e.jsx)(fe.Input,{type:"text",css:[et],name:t,value:o,onChange:p=>{i(p.target.value)}}),(0,e.jsx)(fe.Button,{buttonType:"primary",disabled:o===r,size:"sm",onClick:()=>n(t,o!=null?o:"")},"Save"))},lt=jt;var G=require("@uniformdev/design-system"),mt=({...t})=>{let{state:{data:{quirks:r}},quirksIndex:{index:n},settings:o,saveSettings:i,actions:a}=t,[l,p]=(0,pt.useState)(""),m;l&&(m=n[l]);let u=async(s,c)=>{var v,h,y;p("");let d={...o,quirkOverrides:{...o.quirkOverrides,[s]:{initial:(y=(h=(v=o.quirkOverrides)==null?void 0:v[s])==null?void 0:h.initial)!=null?y:r[s],override:c}}};await i(d);let g=me({quirks:r,quirkOverrides:d.quirkOverrides});await a.update({quirks:g})};return(0,e.jsx)(b.Fragment,null,(0,e.jsx)("article",{css:[f.page,f.quirks]},(0,e.jsx)("h1",{css:f.title},"Quirks"),(0,e.jsx)("p",{css:f.text},"Keys defined in Uniform and their current, programmatically defined values for this visit."),Object.keys(n).length?(0,e.jsx)(ne,null,(0,e.jsx)(Ne,null,(0,e.jsx)(z,null,(0,e.jsx)(se,{width:"30%"},"Key"),(0,e.jsx)(se,{width:"50%"},"Value"),(0,e.jsx)(se,{width:"20%"},""))),(0,e.jsx)(ie,null,Object.values(n).map(({name:s,value:c,id:d})=>{var h,y,C;let g=(y=(h=o.quirkOverrides)==null?void 0:h[s])==null?void 0:y.initial,v=[];return m&&m.options&&(v=m.options.map(w=>({value:w.value,label:w.name}))),(0,e.jsx)(z,{key:d,border:"bottom"},(0,e.jsx)(R,null,(0,e.jsx)("strong",null,s)),(0,e.jsx)(R,null,l!==d?(0,e.jsx)("div",{onClick:()=>{p(d)}},g?(0,e.jsx)("div",null,(0,e.jsx)("s",null,g)):null,c):null,l===d&&m&&(0,e.jsx)(b.Fragment,null,m.options?(0,e.jsx)(G.InputSelect,{showLabel:!1,label:`Change ${s}`,defaultOption:`Change ${s}`,name:d,onChange:w=>u(w.target.name,w.target.value),options:v}):(0,e.jsx)(lt,{name:d,value:c,submit:u}))),(0,e.jsx)(R,null,l?null:(C=o.quirkOverrides)!=null&&C[d]?(0,e.jsx)(G.Button,{buttonType:"ghost",onClick:()=>{Ke({quirk:d,settings:o,saveSettings:i,actions:a})}},(0,e.jsx)("small",null,"Clear Override")):(0,e.jsx)(G.Button,{buttonType:"ghost",onClick:()=>{p(d)}},(0,e.jsx)("small",null,"Override"))))}))):(0,e.jsx)(N,{title:"No quirks configured",text:"There are currently no quirks setup. Try to connect to Uniform API to load additional information about Quirks and Quirks without defined value."})))};var ut=require("@uniformdev/design-system"),Le=require("@uniformdev/design-system"),gt=({settings:t,saveSettings:r,actions:n,state:{data:o}})=>(0,e.jsx)("article",{css:[f.page,{display:"flex",flexDirection:"column",gap:"var(--spacing-base)"}]},(0,e.jsx)("h1",{css:f.title},"Settings"),(0,e.jsx)(B,null,(0,e.jsx)(U,null,"Data Connection"),(0,e.jsx)(ut.Button,{buttonType:"tertiary",onClick:()=>{r({...t,route:"/connect"})}},"Manage Connection to Uniform")),(0,e.jsx)(B,null,(0,e.jsx)(U,null,"Storage Consent"),(0,e.jsx)(Le.Switch,{label:"Store visitor data",id:"consent-mode",name:"consentMode",checked:o.consent,onChange:i=>{n.rawUpdate([{type:"consent",data:i.currentTarget.checked}]),r({...t,consentMode:i.currentTarget.checked})}}),(0,e.jsx)("p",null,(0,e.jsx)("small",null,"Enabling storage consent allows storing behavior in this browser for personalization across sessions. Only affects this browser. Personalization works with this disabled, but dimension scores are lost on refresh."))),(0,e.jsx)(B,null,(0,e.jsx)(U,null,"Logging"),(0,e.jsx)(Le.Switch,{label:"Write Uniform Context diagnostic logs to browser console",id:"logging",name:"logging",checked:t.logLevel==="debug",onChange:i=>r({...t,logLevel:i.currentTarget.checked?"debug":"none"})})));var Oe=require("@uniformdev/design-system");var xe=({settings:t,saveSettings:r})=>{let n=()=>{r({...t,route:"/connect"})},o=()=>{r({...t,ignoreApiKeyPrompt:!0})},i=t.route==="/connect",a=!(t!=null&&t.apiKey);return!t.ignoreApiKeyPrompt&&a&&!i?(0,e.jsx)("div",{css:[ee,qe]},(0,e.jsx)("h2",{css:te},"Connect to a Uniform Project"),(0,e.jsx)("p",{css:oe},"This allows reading human-readable labels for the dimensions."),(0,e.jsx)("div",{css:re},(0,e.jsx)(Oe.Button,{buttonType:"secondary",onClick:n},"Connect this site"),(0,e.jsx)(Oe.Button,{buttonType:"ghost",onClick:o},"Skip for now")),(0,e.jsx)("button",{type:"button",css:Fe,title:"close",onClick:o},(0,e.jsx)("span",{hidden:!0},"Close"))):null};var q=require("@uniformdev/context/api"),vt=require("react-use"),ft=O(require("react"));function ht({apiHost:t,apiKey:r,projectId:n},o){let{loading:i,error:a,value:l}=(0,vt.useAsync)(async()=>{if(!r||!n)return p;let u=(await new q.DimensionClient({projectId:n,apiKey:r,apiHost:t||void 0}).get()).dimensions,s={};return u.map(c=>{var d,g,v,h,y,C,w,I;if(s[c.dim]={...(0,q.computeDimensionDefinitionDisplayData)(c),cap:c.cap,str:(h=(v=(g=(d=o==null?void 0:o.project.pz)==null?void 0:d.sig)==null?void 0:g[c.dim])==null?void 0:v.str)!=null?h:50},s[c.dim].type==="Enrichment"){let H=c.dim.split("_")[0];s[c.dim].cap=(I=(w=(C=(y=o==null?void 0:o.project.pz)==null?void 0:y.enr)==null?void 0:C[H])==null?void 0:w.cap)!=null?I:100}}),s},[t,r,n]),p=ft.useMemo(()=>{var u,s,c,d;let m={};return o&&(Object.entries((s=(u=o==null?void 0:o.project.pz)==null?void 0:u.sig)!=null?s:{}).map(([g,v])=>{let h=(0,q.computeDimensionDisplayData)(g,o);h&&(m[g]={...v,...h})}),Object.entries((d=(c=o==null?void 0:o.project.pz)==null?void 0:c.enr)!=null?d:{}).map(([g,v])=>{var C;let h=(0,q.computeDimensionDisplayData)(g,o),y={cap:(C=v.cap)!=null?C:100,str:10};h&&(m[g]={...h,cap:y.cap,str:y.str})}),l&&Object.entries(l).map(([g,v])=>{m[g]={...m[g],...v}})),m},[o,l]);return{loading:i,error:a,index:p}}var bt=require("react"),yt=require("@uniformdev/context/api"),Ct=require("react-use");function wt({apiHost:t,apiKey:r,projectId:n},o){let{loading:i,error:a,value:l}=(0,Ct.useAsync)(async()=>{if(!r||!n)return{};let u=await new yt.QuirkClient({projectId:n,apiKey:r,apiHost:t||void 0}).get(),s={};return u.quirks.map(c=>{s[c.id]={...c,value:o[c.id]}}),s},[t,r,n]),p=(0,bt.useMemo)(()=>{let m={};return Object.entries(o).map(([u,s])=>m[u]={value:s,id:u,name:u}),l&&Object.entries(l).map(([u,s])=>m[u]={...s,value:o[u]}),m},[o,l]);return{loading:i,error:a,index:p}}var Re=require("@emotion/react"),Ot=require("@uniformdev/design-system");function he(){return(0,e.jsx)("style",null,`
|
|
411
411
|
:root {
|
|
412
412
|
--site-width: 700px;
|
|
413
413
|
|
|
@@ -417,7 +417,7 @@ to {
|
|
|
417
417
|
|
|
418
418
|
--min-height: 450px;
|
|
419
419
|
}
|
|
420
|
-
`)}var
|
|
420
|
+
`)}var be=require("react"),kt=require("react-use");var Tt=()=>{let[t,r]=(0,be.useState)(!1),n=(0,kt.useMountedState)();return(0,be.useEffect)(()=>{setTimeout(()=>{n()&&r(!0)},1e3)},[n]),t?(0,e.jsx)("article",{css:f.page},(0,e.jsx)("h1",null,"Loading..."),(0,e.jsx)("p",null,"Connecting to Uniform API for complete data.")):null};var Dt=require("@uniformdev/context"),ye=require("@uniformdev/context/api"),P=require("formik"),T=O(require("react")),D=require("@uniformdev/design-system");function St(t){let[r,n]=T.useState(t.currentData?"c":"qc"),[o,i]=T.useState(void 0),[a,l]=T.useState(void 0),p=T.useCallback(async s=>{let c=new ye.ManifestClient(s);i(void 0);try{let d=await c.get({preview:!0});return l({manifest:d,target:s}),d}catch(d){if(d instanceof ye.ApiClientError){d.statusCode===403?i("API key is valid but does not have Context > Read Drafts permission, or the API key does not have permissions to the project, or the project does not exist."):i(d.errorMessage);return}if("message"in d){d.message==="Failed to fetch"?i("A network error occurred. Ensure the API host is valid."):i(d.message);return}i(JSON.stringify(d,null,2));return}},[]);T.useEffect(()=>{!t.currentData||p(t.currentData)},[p,t.currentData]);let m=async s=>{await p(s)&&(n("c"),await t.onConnect(s))},u=()=>{confirm("Disconnect from Uniform? Make sure to save your API key if you want to reconnect.")&&(n("qc"),l(void 0),i(void 0),t.onConnect(null))};return(0,e.jsx)("div",null,o?(0,e.jsx)(T.Fragment,null,(0,e.jsx)(D.ErrorMessage,{message:o}),(0,e.jsx)(D.Button,{buttonType:"secondary",type:"button",onClick:u},"Clear old/broken settings")):null,r==="qc"||r==="mc"?(0,e.jsx)(eo,{...t,state:r,setState:n,onConnect:m}):(0,e.jsx)("div",null,a?(0,e.jsx)(T.Fragment,null,(0,e.jsx)("p",null,"Connected to"," ",(0,e.jsx)("a",{href:`${a==null?void 0:a.target.apiHost}/projects/${a==null?void 0:a.target.projectId}`,target:"_blank",rel:"noopener noreferrer",css:{textDecoration:"underline"}},(0,e.jsx)("strong",null,a==null?void 0:a.manifest.project.name))," ",(0,e.jsx)("small",null,"(",a==null?void 0:a.manifest.project.id,")")),(0,e.jsx)(D.Button,{buttonType:"secondary",type:"button",onClick:u},"Disconnect")):null))}function eo({setState:t,state:r,currentData:n,onConnect:o}){var i,a,l;return(0,e.jsx)("div",null,(0,e.jsx)(P.Formik,{initialValues:{apiHost:(i=n==null?void 0:n.apiHost)!=null?i:"https://uniform.app",apiKey:(a=n==null?void 0:n.apiKey)!=null?a:"",projectId:(l=n==null?void 0:n.projectId)!=null?l:"",qc:""},onSubmit:o},({setFieldValue:p,setFieldError:m,errors:{qc:u},isSubmitting:s})=>(0,e.jsx)(P.Form,null,(0,e.jsx)("fieldset",{css:{display:"flex",flexDirection:"column",gap:"var(--spacing-base)"}},r==="qc"?(0,e.jsx)(T.Fragment,null,(0,e.jsx)("div",null,(0,e.jsx)(D.Input,{placeholder:"Paste Quick Connect Code Here",caption:"Copy the Quick Connect code after creating an API key in Uniform.",errorMessage:u,onChange:c=>{try{let d=(0,Dt.parseQuickConnect)(c.currentTarget.value);p("apiHost",d.apiHost),p("apiKey",d.apiKey),p("projectId",d.projectId)}catch(d){m("qc",d.message)}}})),(0,e.jsx)("section",{css:{display:"flex",gap:"var(--spacing-sm)"}},(0,e.jsx)(D.Button,{type:"submit",buttonType:"primary",disabled:s},s?"Verifying...":"Connect"),(0,e.jsx)(D.Button,{type:"button",buttonType:"ghost",onClick:()=>t("mc"),disabled:s},"Connect Manually"))):(0,e.jsx)(T.Fragment,null,(0,e.jsx)("div",null,(0,e.jsx)(P.Field,{component:ge,label:"API Key",name:"apiKey",caption:"Generate an API key in your Uniform team settings."})),(0,e.jsx)("div",null,(0,e.jsx)(P.Field,{component:ge,label:"Project ID",name:"projectId",caption:"Available to copy after generating an API key"})),(0,e.jsx)("div",null,(0,e.jsx)(P.Field,{component:ge,label:"API Host",name:"apiHost",caption:"Use a non-standard Uniform API endpoint. Most people will not not need this option."})),(0,e.jsx)("section",{css:{display:"flex",gap:"var(--spacing-sm)"}},(0,e.jsx)(D.Button,{type:"submit",buttonType:"primary",disabled:s},s?"Verifying...":"Connect"),(0,e.jsx)(D.Button,{type:"button",buttonType:"ghost",onClick:()=>t("qc"),disabled:s},"Use Quick Connect")))))))}var Lt=({settings:t,saveSettings:r})=>{let n=t.apiKey&&t.projectId?{apiKey:t.apiKey,projectId:t.projectId,apiHost:t.apiHost}:void 0;return(0,e.jsx)("article",{css:f.page},(0,e.jsx)("h1",{css:f.title},"Connect to a Uniform Project"),(0,e.jsx)("p",{css:f.text},(0,e.jsx)("small",null,"Adding an API key and project ID enables human-readable dimension labels to be shown. You must have access to the Uniform project to do this.")),(0,e.jsx)(St,{onConnect:async o=>{o?await r({...t,apiKey:o.apiKey,projectId:o.projectId,apiHost:o.apiHost}):await r({...t,apiKey:void 0,projectId:void 0,apiHost:void 0})},currentData:n}))};var to=Re.css`
|
|
421
421
|
background: var(--white);
|
|
422
422
|
padding: var(--spacing-base);
|
|
423
423
|
overflow-y: auto;
|
|
@@ -446,7 +446,7 @@ to {
|
|
|
446
446
|
&::-webkit-scrollbar-thumb:hover {
|
|
447
447
|
background: var(--gray-500);
|
|
448
448
|
}
|
|
449
|
-
`;function
|
|
449
|
+
`;function Ve(t){let r=ht(t.settings,t.state.manifest),n=wt(t.settings,t.state.data.quirks),o={...t,dimensionIndex:r,quirksIndex:n},i=()=>{var a;if(r.loading||n.loading)return(0,e.jsx)(Tt,null);if(t.settings.route&&t.settings.route.match(/overrides\/\w+/))return(0,e.jsx)(Se,{...o});switch((a=t.settings)==null?void 0:a.route){case void 0:case"/":case"/dimensions":return(0,e.jsx)(Ye,{...o});case"/overrides":return(0,e.jsx)(je,{...o});case"/overrides/add":return(0,e.jsx)(Se,{...o});case"/quirks":return(0,e.jsx)(mt,{...o});case"/settings":return(0,e.jsx)(gt,{...o});case"/connect":return(0,e.jsx)(Lt,{...o});default:return(0,e.jsx)(Be,null)}};return(0,e.jsx)(Ae,{settings:t.settings,saveSettings:t.saveSettings},(0,e.jsx)(Ot.Theme,null),(0,e.jsx)(he,null),(0,e.jsx)("div",{css:Re.css`
|
|
450
450
|
display: grid;
|
|
451
451
|
grid-template-columns: 200px auto;
|
|
452
452
|
font-weight: var(--fs-base);
|
|
@@ -455,7 +455,7 @@ to {
|
|
|
455
455
|
line-height: var(--base-line-height);
|
|
456
456
|
height: var(--min-height);
|
|
457
457
|
min-width: var(--site-width);
|
|
458
|
-
`},(0,e.jsx)(Ee,{...t}),(0,e.jsx)("main",{css:
|
|
458
|
+
`},(0,e.jsx)(Ee,{...t}),(0,e.jsx)("main",{css:to},(0,e.jsx)(xe,{...t}),i())))}var Ce=require("@uniformdev/context"),x=O(require("react"));var Pe="embeddedUniformDevToolsSettings";function Ie({context:t,initialSettings:r}){let n=t!=null?t:typeof window!="undefined"?window.__UNIFORM_DEVTOOLS_CONTEXT_INSTANCE__:void 0,o=n!=null?n:new Ce.Context({manifest:{project:{}}}),[i,a]=x.useState({data:o.storage.data,manifest:o.manifest.data,scores:o.scores,personalizations:[],tests:[]}),[l,p]=x.useState(r!=null?r:{});x.useEffect(()=>{var c;let s=(0,Ce.createDebugConsoleLogDrain)((c=l.logLevel)!=null?c:"none");return o.events.on("log",s),()=>{o.events.off("log",s)}},[l,o]),x.useEffect(()=>{let s=()=>{let g=window.localStorage.getItem(Pe)||"{}",v=JSON.parse(g),h=me({quirks:o.storage.data.quirks,quirkOverrides:v.quirkOverrides});h&&(console.log("Applying overridden quirks:",h),o.update({quirks:h}));let y=_({scores:o.scores,scoreOverrides:v.scoreOverrides});y.length&&(console.log("Applying overridden scores:",y),o.storage.updateData(y)),a(C=>({...C,scores:o.scores,data:o.storage.data,manifest:o.manifest.data}))},c=g=>{!g.changed||a(v=>({...v,personalizations:[...v.personalizations,g]}))},d=g=>{!g.variantAssigned||a(v=>({...v,tests:[...v.tests,g]}))};return o.events.on("personalizationResult",c),o.events.on("testResult",d),o.storage.events.on("*",s),()=>{o.storage.events.off("*",s),o.events.off("personalizationResult",c),o.events.off("testResult",d)}},[o]),x.useEffect(()=>{if(window.localStorage){let s=window.localStorage.getItem(Pe);if(s)try{let c=JSON.parse(s),d={...r,...c};p(d);let g=_({scores:i.scores,scoreOverrides:d.scoreOverrides});m.rawUpdate(g)}catch(c){window.localStorage.removeItem(Pe),console.error("Failed to parse settings from localStorage: ",c.message)}}},[]);let{actions:m,saveSettings:u}=x.useMemo(()=>({actions:{update:d=>o.update(d),forget:()=>o.forget(!1),rawUpdate:d=>o.storage.updateData(d)},saveSettings:async d=>{p(d),window.localStorage&&window.localStorage.setItem("embeddedUniformDevToolsSettings",JSON.stringify(d))}}),[o]);return n?(0,e.jsx)(Ve,{state:i,actions:m,settings:l,saveSettings:u}):(0,e.jsx)("p",null,"Unable to find Uniform Context. Ensure the devtools plugin is activated.")}var Vt=require("@emotion/react"),$=O(require("react"));var Pt=require("@uniformdev/design-system");var xt=require("@emotion/react"),oo=xt.css`
|
|
459
459
|
align-items: center;
|
|
460
460
|
border-radius: var(--rounded-full);
|
|
461
461
|
background: var(--brand-secondary-5);
|
|
@@ -481,7 +481,7 @@ to {
|
|
|
481
481
|
max-width: 100%;
|
|
482
482
|
height: auto;
|
|
483
483
|
}
|
|
484
|
-
`,Rt=({...t})=>(0,e.jsx)("button",{type:"button",css:
|
|
484
|
+
`,Rt=({...t})=>(0,e.jsx)("button",{type:"button",css:oo,...t},(0,e.jsx)("span",{hidden:!0},"Uniform devtools"),(0,e.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},(0,e.jsx)("path",{d:"M13.325 3.05011L8.66741 20.4323L10.5993 20.9499L15.2568 3.56775L13.325 3.05011Z",fill:"currentColor"}),(0,e.jsx)("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"}),(0,e.jsx)("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 ro(t){let[r,n]=$.useState(!1),[o,i]=$.useState(t.context);return $.useEffect(()=>{!t.context&&typeof document!="undefined"&&i(window.__UNIFORM_DEVTOOLS_CONTEXT_INSTANCE__)},[t.context]),o?(0,e.jsx)("div",null,(0,e.jsx)(Pt.Theme,null),(0,e.jsx)(he,null),(0,e.jsx)(Rt,{onClick:()=>n(a=>!a)}),r?(0,e.jsx)("div",{css:Vt.css`
|
|
485
485
|
box-shadow: var(--shadow-base);
|
|
486
486
|
position: fixed;
|
|
487
487
|
bottom: 82px;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uniformdev/context-devtools",
|
|
3
|
-
"version": "16.0.1-
|
|
3
|
+
"version": "16.0.1-nuxt.149+df378f9ac",
|
|
4
4
|
"description": "Uniform Context developer tools components",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -20,18 +20,18 @@
|
|
|
20
20
|
"react-dom": ">=17"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@types/chrome": "0.0.
|
|
24
|
-
"@types/react": "18.0.
|
|
23
|
+
"@types/chrome": "0.0.190",
|
|
24
|
+
"@types/react": "18.0.14",
|
|
25
25
|
"autoprefixer": "10.4.7",
|
|
26
26
|
"postcss": "8.4.14",
|
|
27
27
|
"react": "18.1.0",
|
|
28
28
|
"react-dom": "18.1.0",
|
|
29
|
-
"tsup": "
|
|
29
|
+
"tsup": "6.1.2"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@emotion/react": "^11.9.0",
|
|
33
|
-
"@uniformdev/context": "^16.0.1-
|
|
34
|
-
"@uniformdev/design-system": "^16.0.1-
|
|
33
|
+
"@uniformdev/context": "^16.0.1-nuxt.149+df378f9ac",
|
|
34
|
+
"@uniformdev/design-system": "^16.0.1-nuxt.149+df378f9ac",
|
|
35
35
|
"formik": "^2.2.9",
|
|
36
36
|
"react-use": "^17.4.0",
|
|
37
37
|
"reakit": "^1.3.11",
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"publishConfig": {
|
|
44
44
|
"access": "public"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "df378f9aceb4936066e0fbcaa76de8630f0fe654"
|
|
47
47
|
}
|