@datawheel/bespoke 0.7.9 → 0.7.10
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/cms.js +1 -1
- package/dist/redux-store.js +1 -1
- package/dist/report.js +1 -1
- package/dist/server.js +1 -1
- package/package.json +1 -1
package/dist/server.js
CHANGED
|
@@ -62,6 +62,6 @@ Error initializing sequelize connection:
|
|
|
62
62
|
`,`Error message: ${d.message}`),"N/A"}})}var eo=(e,t,r)=>{let{variables:o}=r,n=s=>s.allowed==="never"?!1:!s.allowed||s.allowed==="always"||o[s.allowed],a={...e};return Object.keys(a).forEach(s=>{typeof a[s]=="string"?a[s]=yt(a[s],t,r):Array.isArray(a[s])?a[s]=a[s].filter(n).map(i=>typeof i=="object"?eo(i,t,r):typeof i=="string"?yt(i,t,r):i):typeof a[s]=="object"&&a[s]!==null&&!(a[s]instanceof Date)&&(a[s]=eo(a[s],t,r));}),a},gr=eo;var Aa=e=>Array.isArray(e)?e.map(t=>typeof t=="string"?{allowed:"always",label:t,id:t}:{allowed:"always",label:t.id,...t}):[];var to=(e,t,r)=>{if(!r)return !1;if(e===Me.SINGLE)return r.find(n=>n.id===t);let o=Array.isArray(t)?t:t.split(",");return Array.isArray(o)&&o.every(n=>r.map(a=>a.id).includes(n))};function ro(e,t,r,o,n=!1){let{variables:a}=pe(o),s=gr({logic:t},r,o).logic,i=Ke("variables",a,s,r,void 0,o),{vars:c,log:l,error:u}=i,p=c.type||Me.SINGLE,d=c.component||"Selector",m=c.hideLabel||"false",y=c.resetSectionVars||"false",R=c.name||"Unlabeled Selector",h=Aa(c.options||[]),v=b=>p===Me.MULTI&&!Array.isArray(b)?[b]:b,w=c.defaultValue,B;if(w&&(w=v(w),to(p,w,h)&&(B=w)),!B){let b=h&&h[0]&&h[0].id||h[0]||"";B=v(b);}if(n&&typeof window<"u"){let b=`selector${e}id`,O=new URLSearchParams(window.location.search),K=Object.fromEntries(O)[b];K&&!to(p,K,h)&&K!==void 0&&(O.delete(b),window.history.replaceState(null,null,`?${O.toString()}`));}return {config:{name:R,type:p,options:h,defaultValue:B,component:d,hideLabel:m,resetSectionVars:y},log:l,error:u}}function oo(e,t,r){if(!e)return !1;let o=Array.isArray(r)?r:r.split(",");return Array.isArray(o)&&o.every(n=>e.map(a=>`${a[`${t} ID`]}`).includes(n))}function no(e,t,r,o,n=!1){let{variables:a}=pe(o),s=gr({logic:t},r,o).logic,i=Ke("variables",a,s,r,void 0,o),{vars:c,log:l,error:u}=i;if(n&&typeof window<"u"){let d=`multihierarchySelector${e}-value`,m=`multihierarchySelector${e}-type`,y=new URLSearchParams(window.location.search),R=Object.fromEntries(y),h=R[d],v=R[m];h&&h!==void 0&&v&&v!==void 0&&!oo(c.data,v,h)&&(y.delete(d),y.delete(m),window.history.replaceState(null,null,`?${y.toString()}`));}return {config:c,log:l,error:u}}var dl=(e,t,r)=>{let o=`selector${e}id`,n=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(o),a=new URLSearchParams(t).get(o),s=n||a;if(r.type===Me.MULTI){let l=s?s.split(","):r.defaultValue,u=r.options.filter(p=>l.includes(p.id));return {[`selector${e}id`]:l,[`selector${e}label`]:(u||[]).map(p=>p.label)}}let i=s&&r.options.find(l=>l.id===s)?s:r.defaultValue,c=r.options.find(l=>l.id===i);return {[`selector${e}id`]:i,[`selector${e}label`]:c&&c.label||void 0}},Ta=dl;var ml=(e,t,r)=>{let o=`multihierarchySelector${e}-value`,n=`multihierarchySelector${e}-type`,a=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(o),s=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(n),i=new URLSearchParams(t).get(o),c=new URLSearchParams(t).get(n),l=a||i,u=s||c,p=l?l.split(","):r.defaultValue||[],d=u||r.defaultValueType||"",m=r.data?.filter(y=>p.includes(`${y[`${d} ID`]}`))||[];return {[`multihierarchySelector${e}id`]:p,[`multihierarchySelector${e}label`]:[...new Set((m||[]).map(y=>y[d]))],[`multihierarchySelector${e}type`]:d}},va=ml;var{localeDefault:_a,locales:fl}=$(),gl=Object.values(Vr),yl=(e,t=_a)=>e&&gl.includes(e.type)?{locale:zr,locales:[zr]}:{locale:t,locales:fl},ka=(e,t=_a)=>{if(!e)return {};let{locale:r}=yl(e,t);return e.contentByLocale?.[r]?.content};function hl(e,t){let r=Object.values(t),o=r.filter(n=>n.shared&&n.section_id!==e).map(n=>n.id);return Object.fromEntries(r.filter(n=>n.section_id===e&&(n.inputs.length===0||n.inputs.some(a=>o.includes(a)))).map(n=>[n.id,n]))}var Pa=hl;function ao(e){return e.type===N.SECTION_FLAG&&e.inputs.length===0&&e.consumers.length===0}var je=dr(process.env.NEXT_PUBLIC_REPORTS_DEBUG),El=process.env.REPORTS_ORIGIN||"";wa(hr,{retries:3,retryDelay:wa.exponentialDelay,onRetry:(e,t,r)=>{console.log("Generator request failed. Retrying... Count: ",e),console.log("URL: ",r.url),console.log(t.message);}});hr.interceptors.request.use(e=>({...e,requestStart:Date.now()}));hr.interceptors.response.use(e=>({...e,requestDuration:new Date().getTime()-e.config.requestStart}),e=>Promise.reject(e));var Al=(e,t,r)=>{let o=yt(e,t,r);return o.startsWith("http")||(o=`${El}${o.startsWith("/")?"":"/"}${o}`),o},{urlProxy:Tl}=Kt("/api/cms");function yr(e){return e.ok!==void 0}function so(e){this.message=e,this.name="ApiFetchException";}var Ia=process.env.NEXT_PUBLIC_REPORTS_API_FETCH_TIMEOUT||0;async function vl(e,t,r="en",o){let n=Date.now(),a=e,s,c=new URL(e).searchParams;if(c.has("bespoke_slugs")){let p=new RegExp(`[?&]bespoke_slugs=${c.get("bespoke_slugs")}`,"g");a=a.replace(p,"");}let l=o?o.settings:{},u=!!(l&&l.useProxy&&l.useProxy==="true");if(typeof window=="object"&&u){let p=await Tl({url:a,timeout:Ia});if(p.ok===!0)s=p.data;else throw new so(p?.error)}else try{let p=await hr({url:a,timeout:Ia});if(p.status===200)p.headers["content-type"]==="text/csv"?s=csvParse(p.data):s=p.data;else throw new so("No response")}catch(p){throw new so(p.message)}if(c.has("bespoke_slugs")){let p=c.get("bespoke_slugs");if(p){let d=p.split(",");if(d.length===3){let[m,y,R]=d,h=Pt(s,R);if(h&&Array.isArray(h)){let v=Array.from(new Set(h.map(E=>`${E[y]}`).filter(E=>!["","undefined"].includes(E)))),w=v.join("").length>2e3,B=await t({mode:w?"whole":"ids",ids:w?void 0:v,all:!1,locale:r,variant:[parseInt(m,10)],output:"lite",limit:v.length+1}).then(E=>{let b=[];return yr(E)?E.ok&&(b=E.data.results):b=E.results,b&&Array.isArray(b)?b:[]}).catch(E=>(console.error(`Error hydrating slugs for Variant: ${m}, Key: ${y}, Accessor: ${R}`),console.error(` Url ${e}`),o&&console.error(` From Section ${o.section_id} and Block ${o.id}`),console.error(E),[]));if(B){let E=Object.fromEntries(B.map(b=>[b.id,`/${b.variant_slug}/${b.slug}`]));h.map(b=>(b.bespoke_slug=E[b[y]]?E[b[y]]:null,b));}}}}}return {data:s,requestDuration:Date.now()-n}}function _l(e){this.name="BlockException",this.message=e;}async function xa(e,t,r,o){let{locale:n,variables:a,query:s}=pe(r),i=Pl(e,r,a,t),c=null,l=e.contentByLocale?.logic?.content?.api,u=null,p=null,d=null;if(!i)return {outputVariables:{},renderVariables:{},status:{allowed:!1,hiddenByCascade:e.id}};if(e.type===N.FALLBACK)return {outputVariables:{},renderVariables:{},status:{allowed:i,hiddenByCascade:e.id}};if(l){d=Al(l,t,r);let E=d.split(Bn).filter(D=>D!==""),b=[];for(let D=0;D<E.length;D++){let K=E[D];new RegExp("^(?:[a-z+]+:)?//","i").test(d)||(K=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/${K}`.replace(/([^:]\/)\/+/g,"$1")),b.push(vl(K,o,n,e).catch(H=>{throw new _l(` Excecution of ${e.type}-${e.id} in section ${e.section_id} in report ${a.report_name} (${a.report_id}) failed.
|
|
63
63
|
Error fetching ${K}.
|
|
64
64
|
Message: ${H.message}.
|
|
65
|
-
`)}));}let O=await Promise.all(b).catch(D=>D.message);if(typeof O=="string"&&O)return {outputVariables:{},renderVariables:{},status:{error:O}};c=O.length===1?O[0].data:O.map(D=>D.data),p=O.reduce((D,K)=>D+JSON.stringify(K.data).length/1024,0),u=Math.max(...O.map(D=>D.requestDuration));}if(e.type===N.SELECTOR){let{config:E,log:b,error:O}=ro(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:Ta(e.id,s,E),renderVariables:E,status:{log:b,error:O,allowed:i}}}if(e.type===N.MULTIHIERARCHY_SELECTOR){let{config:E,log:b,error:O}=no(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:va(e.id,s,E),renderVariables:E,status:{log:b,error:O,allowed:i}}}if(e.type===N.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:i}};if(e.type===N.RELATED){let E=e.contentByLocale?.logic?.content?.simple?.compare||"variant",b=e.contentByLocale?.logic?.content?.simple?.limit||4,O=Object.keys(a).filter(_=>_.startsWith("report_id")).map(_=>a[_]),D=Object.keys(a).filter(_=>_.startsWith("dimension_id")).map(_=>a[_]),K=Object.keys(a).filter(_=>_.startsWith("variant_id")).map(_=>a[_]),J=Object.keys(a).filter(_=>_.startsWith("id")).map(_=>a[_]);if(!J.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:!1}};let H=await Promise.all(J.map((_,L)=>o({mode:"ids",locale:n,ids:[_],output:"lite",variant:[K[L]]}))).then(_=>_.flatMap(L=>{let A=[];return yr(L)?L.ok&&(A=L.data.results):A=L.results,A&&Array.isArray(A)?A:[]})).catch(_=>(console.log("Error getting related members",_),[]));if(D.length>1){let _=Object.keys(a).filter(G=>G.startsWith("variant_slug")).map(G=>a[G]),L=H.map((G,C)=>{let x={mode:"related",locale:n,related:b??4,current_ids:[G.content_id],output:"full",variant_ids:[G.variant_id]};return C===0&&(x.include_ids=[G.content_id]),x}),A=await Promise.all(L.map(G=>o(G))).then(G=>G.flatMap(C=>{let x=[];return yr(C)?C.ok&&(x=C.data.results):x=C.results,x&&Array.isArray(x)?x:[]})).catch(G=>(console.log("Error getting related members",G),[])),P=A.reduce((G,C)=>{let x=C.variant_slug;return G[x]||(G[x]=[]),G[x].push(C),G},{}),F=[],Q=Object.keys(P),Y=[{combination:[],index:0}];for(;Y.length>0;){let G=Y.pop();if(!G)continue;let{combination:C,index:x}=G;if(x===Q.length){F.push(C);continue}let se=Q[x],de=P[se];for(let le of de)Y.push({combination:[...C,le],index:x+1});}return {outputVariables:{related_reports:F.map(G=>{let C=G.sort((x,se)=>_.indexOf(x.variant_slug)-_.indexOf(se.variant_slug));return {entities:C,link:"/"+C.map(x=>`${x.variant_slug}/${x.slug}`).join("/")}})},renderVariables:{},status:{log:[],allowed:A.length>0}}}let U=H.map(_=>_.content_id),k={mode:"related",locale:n,related:b??4,current_ids:U,output:"full"};E&&(E==="report"?k.report_ids=O:E==="dimension"?k.dimension_ids=D:k.variant_ids=K);let V=await o(k).then(_=>{let L=[];return yr(_)?_.ok&&(L=_.data.results):L=_.results,L&&Array.isArray(L)?L:[]}).catch(_=>(console.log("Error getting related members",_),[]));return {outputVariables:{related_reports:V.map(_=>({entities:[_],link:`/${_.variant_slug}/${_.slug}`}))},renderVariables:{},status:{log:[],allowed:V.length>0}}}let{logic:m}=ka(e,n),y=yt(m,t,r),R=Ke("resp",c||{},y,t,a,r),{vars:h,error:v,log:w}=R;if(typeof h!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:w,duration:u,responseSize:p,resp:c,api:d,allowed:i}};let B=Object.keys(h).reduce((E,b)=>({...E,[`${e.type}${e.id}${b}`]:h[b]}),{});return {renderVariables:h,outputVariables:[N.GENERATOR,N.SECTION_FLAG].includes(e.type)?h:B,status:{log:w,error:v,duration:u,responseSize:p,resp:c,api:d,allowed:i}}}function kl(e,t,r,o,n,a,s){return e.consumers.forEach(i=>{if(t[i]){let c=`${r}-${i}`;!o.includes(c)&&(t[i].section_id===t[r].section_id||!n)&&o.push(c),e.consumers.filter(l=>t[l].section_id===t[r].section_id||!n).forEach(l=>io(l,t,o,!1,a,n,s));}})}var io=(e,t,r=[],o=!0,n=!0,a=!0,s=[])=>{if(s.includes(e))return [];s.push(e);let i=t[e];return i&&i.inputs.length&&o&&i.inputs.forEach(c=>{let l=`${c}-${e}`;r.includes(l)||r.push(l),i.inputs.forEach(u=>io(u,t,r,o,!1,a,s));}),i&&i.consumers.length&&n&&kl(i,t,e,r,a,n,s),r},Pl=(e,t,r,o)=>{let n=!0;if(e&&"allowed"in e.settings&&e.settings.allowed!=="always")if(e.settings.allowed==="never")n=!1;else {let a=pe(t),{error:s,output:i}=Ke("variables",r,e.settings.allowedLogic||"return false;",o,void 0,a);s||(n=!!i);}return n},Rr=async(e,t,r,o,n,a={},s,i="section")=>{let c=i==="section",l=pe(n),u=l.variables,p={...a.variables??{}},d={...a.status??{}},m=new Set,y=[],R={};r?R={...R,[r]:e[r]}:t?R=(t??[]).reduce((U,{id:k})=>({...U,...Pa(k,e)}),{}):R=Object.values(e).filter(U=>ao(U)).reduce((U,k)=>({...U,[k.id]:k}),{});let h=Object.values(R).filter(U=>ao(U));if(h.length>0){je&&console.log("%crunConsumers: calculating section flags","color:purple",h.map(T=>T.id).join(", "));let U=Object.fromEntries(await Promise.all(h.map(async T=>[T.id,await xa(T,o,{...l,variables:u,locale:u.locale},s).then(_=>{let{outputVariables:L,status:A}=_;if(A.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${T.id}, Section ${T.section_id}) failed with message: ${A.error}. `);d[T.id]={allowed:!1,error:A.error},p[T.id]={};}return (T.consumers.length>0||[N.GENERATOR,N.SECTION_FLAG,N.RELATED].includes(T.type))&&A.allowed&&Object.keys(L).length>0?p[T.id]=L:p[T.id]={},i==="report"?(d[T.id]={allowed:A.allowed},[N.GENERATOR,N.SECTION_FLAG].includes(T.type)&&A.api&&(d[T.id].api=A.api)):d[T.id]=A,_})]))),V=Object.entries(U).filter(([T,_])=>!_.outputVariables[Ln]).map(([T])=>Number(T));m=new Set(V.map(T=>e[T].section_id)),Object.values(R).filter(T=>m.has(T.section_id)).forEach(T=>{y.push(T.id),delete R[T.id];}),je&&console.log("%crunConsumers: removing sections","color:purple",m.keys());}let v=m.size>0?Object.fromEntries(Object.entries(e).filter(([U,k])=>m?.has(k.section_id)?(y.includes(k.id)||y.push(k.id),!1):!0)):e;if(y.length>0&&(v=Object.fromEntries(Object.entries(v).map(([U,k])=>{let V={...k,inputs:k.inputs.filter(T=>!y.includes(T)),consumers:k.consumers.filter(T=>!y.includes(T))};return [U,V]}))),!r&&!t)return {variables:{...a.variables??{},...p},status:{...a.status??{},...d}};i==="report"&&y.length>0&&y.forEach(U=>{delete p[U],delete d[U],delete e[U];}),je&&console.log("%crunConsumers: running root blocks","color:purple",Object.keys(R));let w=Object.keys(R).reduce((U,k)=>{let V=new Date,T=io(Number(k),v,[],!r,!0,c).map(A=>A.split("-")),L=(new Date().getTime()-V.getTime())/1e3;return je&&console.log(`%cResolved dependencies for ${k} (${L.toFixed(2)}s)`,"color:blue"),[...U,...T]},[]),B=new Date,E=Object.keys(R).reduce((U,k)=>U.includes(k)?[...U]:[k,...U],Rl(w)),O=(new Date().getTime()-B.getTime())/1e3;je&&console.log(`%cResolved DAG (${O.toFixed(2)}s): `,"color:green",E);async function D(U,k){let V=new Map;for(let T of U){let _=k[T],A=Promise.all(_.inputs.filter(P=>U.includes(String(P))).map(P=>V.get(Number(P)))).then(async()=>{let P=_.inputs.reduce((C,x)=>({...C,...p[x]}),u),F=_.inputs.find(C=>(_.settings?.ignoreCascade?_.settings?.ignoreCascade:[]).includes(C)||!d[C]?!1:!d[C].allowed||d[C].hiddenByCascade);if(F){d[T]={allowed:!1,hiddenByCascade:d[F].hiddenByCascade||F},p[T]={};return}let Q=new Date,Y=await xa(_,o,{...l,variables:P,locale:P.locale},s).then(({outputVariables:C,status:x})=>{if(x.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${T}, Section ${_.section_id}) failed with message: ${x.error}. `);d[T]={allowed:!1,error:x.error},p[T]={};}(_.consumers.length>0||[N.GENERATOR,N.SECTION_FLAG,N.RELATED].includes(_.type))&&x.allowed&&Object.keys(C).length>0?p[T]=C:p[T]={},i==="report"?(d[T]={allowed:x.allowed},[N.GENERATOR,N.SECTION_FLAG].includes(_.type)&&x.api&&(d[T].api=x.api)):d[T]=x;}),G=(new Date().getTime()-Q.getTime())/1e3;return je&&console.log(`%cBlock ${_.id} resolved in ${G.toFixed(3)}s`,G>500?"color:red":"color:green"),Y});V.set(Number(T),A);}await Promise.all(Array.from(V.values()));}let K=new Date;await D(E,v);let H=(new Date().getTime()-K.getTime())/1e3;return je&&console.log(`%cResolved Variables (${H.toFixed(2)}s): `,"color:green"),{variables:{...a.variables??{},...p},status:{...a.status??{},...d}}};function wl(e=[]){return e.reduce((t,r,o)=>{if(r){let n=o+1;t[`id${n}`]=r.id,t[`name${n}`]=r.name,t[`slug${n}`]=r.slug,"attributes"in r&&Object.keys(r.attributes).forEach(a=>{t[`attr_${a}${n}`]=r.attributes[a];}),t[`variant_id${n}`]=r.variant_id,t[`variant_name${n}`]=r.variant_name,t[`variant_slug${n}`]=r.variant_slug,t[`dimension_id${n}`]=r.dimension_id,t[`dimension_name${n}`]=r.dimension_name,t.report_id=r.report_id,t.report_name=r.report_name;}return t},{})}var br=wl;function xl(){let{publicRuntimeConfig:e}=Il(),t=e.bespoke_report_env_vars||{};return {...Object.keys(t).reduce((r,o)=>(r[`ENV_${o}`]=t[o]||"N/A",r),{})}}var Sr=xl;function Cl(e,t){return +(e<t)-+(e>t)}function Er(e,t,r="ordering"){return Cl(t[r],e[r])}var Ba=(e,t={},r="en",o={},n={})=>{let a={setVariables:o.onSetVariables?o.onSetVariables:c=>c,openModal:o.onOpenModal?o.onOpenModal:c=>c,formatters:t,libs:Be,locale:r,...n};function s(c){return Function("globals",...c.vars,`with (globals) { ${c.logic} }`).bind(a,a)}function i(c){if(c.vars&&c.logic)return s(c);for(let l in c)Array.isArray(c[l])?c[l]=c[l].map(u=>isObject(u)?i(u):u):isObject(c[l])&&(c[l]=i(c[l]));return c}return i(e)};var{localeDefault:Ll}=$();var jt=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});jt.define({consumers:[jt],inputs:[jt]});var La=new schema.Entity("variant"),Ma=new schema.Entity("dimension",{variants:[La]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),Oa=new schema.Entity("section",{blocks:[jt]}),Ml=new schema.Entity("report",{dimensions:[Ma],sections:[Oa]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(Er):[]}}}),Ol=new schema.Entity("formatter"),Nl={report:Ml,section:Oa,block:jt,dimension:Ma,variant:La,formatter:Ol};function Ar(e,t){let r=Nl[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:ht(o,"report"),dimension:ht(o,"dimension"),section:ht(o,"section"),block:ht(o,"block"),variant:ht(o,"variant"),formatter:ht(o,"formatter")}}function ht(e,t){return e.hasOwnProperty(t)?e[t]:{}}var Na=(e,t=void 0)=>{let{sid:r,bid:o,previews:n=[],query:a={}}=t||{},s,i,c={};return r?(s=r,c.activeSection=s):s=e.activeSection,n.length>0?(i=n,c.previews=i.filter(Boolean)):i=e.previews,{parsedParams:{sid:s,bid:o,previews:i,query:a},statusPayload:c}},co=(e=[],t=Ll)=>e.reduce((r,o)=>{let n=Ba({vars:["n"],logic:o.content.logic},{},t,{});return r[o.name]=n,r},{});var fe=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",Tr=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[fe];Tr.includes(fe)||Tr.push(fe);var Fl={localeDefault:fe,locales:Tr,currentLocale:fe,preferredLocale:fe,showToolbar:!1,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:!0,settings:!1,reportEditor:!1},isCMS:!1,isRunConsumersRunning:[]},vr=createSlice({name:"status",initialState:Fl,reducers:{setStatus:(e,t)=>{Object.assign(e,t.payload);},setPreviews(e,t){e.previews=t.payload;},setCurrentLocale(e,t){e.currentLocale=t.payload;},setPreferredLocale(e,t){e.preferredLocale=t.payload;},setSectionState(e,t){e.sectionState={...e.sectionState,...t.payload};},resetSectionState(e,t){e.sectionState={...e.sectionState,[t.payload]:{}};},setActiveEntity(e,t){e.activeEntity=t.payload;},openSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!0};},closeSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!1};},toggleSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!e.sidebarStatus[t.payload]};},addRunConsumersRunning(e,t){e.isRunConsumersRunning=e.isRunConsumersRunning.concat(t.payload);},removeRunConsumersRunning(e,t){e.isRunConsumersRunning=e.isRunConsumersRunning.filter(r=>!t.payload.includes(r));}},extraReducers:{[HYDRATE]:(e,t)=>({...e,previews:t.payload.status.previews})}}),Ae=vr.actions;var $l={attributes:{},variables:{},status:{}},_r=createSlice({name:"variables",initialState:$l,reducers:{setVariableChange:(e,t)=>{e.attributes={...e.attributes,...t.payload.attributes},e.variables={...e.variables,...t.payload.variables},e.status={...e.status,...t.payload.status};}},extraReducers:{[HYDRATE]:(e,t)=>({attributes:{...e.attributes,...t.payload.variables.attributes},status:{...e.status,...t.payload.variables.status},variables:{...e.variables,...t.payload.variables.variables}})}}),kr=_r.actions;var Kl={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}}},Ie=createSlice({name:"records",initialState:Kl,reducers:{set:(e,t)=>{let r=t.payload;return {entities:Ht(e.entities,r.entities||{}),requests:Ht(e.requests,r.requests||{}),reports:r.reports||e.reports,tree:r.tree||e.tree}},setRequest:(e,t)=>{let r=t.payload;e.requests[r.type][r.key]=r;},setCreateRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let o=Array.isArray(r.data)?r.data:[r.data],n=Ar(r.type,o),a=Ht(e.entities,n);if(e.entities=a,r.type==="report"){let s=r.data;e.reports?e.reports.indexOf(s.id)===-1&&(e.reports=[...e.reports,s.id]):e.reports=[s.id];}else if(r.type==="dimension"){let s=r.data;e.entities.report[s.report_id].dimensions.push(s.id),e.entities.report[s.report_id].dimensions=Pr(a.report[s.report_id].dimensions,a.dimension);}else if(r.type==="variant"){let s=r.data;e.entities.dimension[s.dimension_id].variants.push(s.id);}else if(r.type==="section"&&!Array.isArray(r.data)){let s=r.data;e.entities.report[s.report_id].sections.push(s.id),e.entities.report[s.report_id].sections=Pr(a.report[s.report_id].sections,a.section);}else if(r.type==="block")if(Array.isArray(r.data)){let s=r.data,i=s[0],c=s.map(l=>l.id);e.entities.section[i.section_id].blocks.concat(c);}else {let s=r.data;e.entities.section[s.section_id].blocks.push(s.id);}}},setReadRequest(e,t){let r=t.payload;if(r.type!=="report"&&(e.requests[r.type][r.key]=r),r.status==="SUCCESS"){let o=Ar(r.type,r.data),n=Ht(e.entities,o);e.entities=n;}},setUpdateRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let o=Array.isArray(r.data)?r.data:[r.data],n=Ar(r.type,o),a,s,i;if(r.type==="block"&&!Array.isArray(r.data)){let l=e.entities.block[r.data.id].inputs,u=n.block[r.data.id].inputs;a=l.length!==u.length,a&&(i=l.length>u.length,s=i?l.filter(p=>!u.includes(p))[0]:u.filter(p=>!l.includes(p))[0]),Object.values(n.block).forEach(p=>{p.block_input&&delete n.block[p.id];});}let c=Ht(e.entities,n);if(e.entities=c,r.type==="dimension"){let l=r.data;e.entities.report[l.report_id].dimensions=Pr(c.report[l.report_id].dimensions,c.dimension);}else if(r.type==="section"&&!Array.isArray(r.data)){let l=r.data;e.entities.report[l.report_id].sections=Pr(c.report[l.report_id].sections,c.section);}else if(r.type==="block"&&!Array.isArray(r.data)){let l=r.data;a&&(i?e.entities.block[s].consumers=e.entities.block[s].consumers.filter(u=>u!==l.id):e.entities.block[s].consumers.push(l.id));}}},setDeleteRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let{id:o,parentId:n,parentType:a}=r.data;if(delete e.entities[r.type][o],a&&n!=null){let s=`${r.type}s`;jl(e.entities[a][n][s],o);}}},removeBlocks:(e,t)=>{let r=t.payload,o={...e.entities.block};return r.forEach(n=>{delete o[n];}),{...e,entities:{...e.entities,block:o}}},addBlocks:(e,t)=>{let r=t.payload;return {...e,entities:{...e.entities,block:{...e.entities.block,...r}}}}},extraReducers:{[HYDRATE]:(e,t)=>{let r=t.payload.records,o=r.entities;return {entities:o,reports:Object.values(o.report).map(n=>n.id),requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},tree:r.tree}}}});function Ht(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],...t[r]}]))}function Pr(e,t){return e.map(n=>t[n]).sort(Er).map(n=>n.id)}function jl(e,t){let r=e.indexOf(t);r>-1&&e.splice(r,1);}function oe(e){for(var t=arguments.length,r=Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];if(process.env.NODE_ENV!=="production"){var n=eu[e],a=n?typeof n=="function"?n.apply(null,r):n:"unknown error nr: "+e;throw Error("[Immer] "+a)}throw Error("[Immer] minified error nr: "+e+(r.length?" "+r.map(function(s){return "'"+s+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function bt(e){return !!e&&!!e[ie]}function We(e){var t;return !!e&&(function(r){if(!r||typeof r!="object")return !1;var o=Object.getPrototypeOf(r);if(o===null)return !0;var n=Object.hasOwnProperty.call(o,"constructor")&&o.constructor;return n===Object||typeof n=="function"&&Function.toString.call(n)===tu}(e)||Array.isArray(e)||!!e[Ga]||!!(!((t=e.constructor)===null||t===void 0)&&t[Ga])||bo(e)||So(e))}function Yt(e,t,r){r===void 0&&(r=!1),Et(e)===0?(r?Object.keys:_o)(e).forEach(function(o){r&&typeof o=="symbol"||t(o,e[o],e);}):e.forEach(function(o,n){return t(n,o,e)});}function Et(e){var t=e[ie];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:bo(e)?2:So(e)?3:0}function fo(e,t){return Et(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Hl(e,t){return Et(e)===2?e.get(t):e[t]}function Ka(e,t,r){var o=Et(e);o===2?e.set(t,r):o===3?e.add(r):e[t]=r;}function Wl(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function bo(e){return Zl&&e instanceof Map}function So(e){return Xl&&e instanceof Set}function He(e){return e.o||e.t}function Eo(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=ru(e);delete t[ie];for(var r=_o(t),o=0;o<r.length;o++){var n=r[o],a=t[n];a.writable===!1&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(t[n]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[n]});}return Object.create(Object.getPrototypeOf(e),t)}function Ao(e,t){return t===void 0&&(t=!1),To(e)||bt(e)||!We(e)||(Et(e)>1&&(e.set=e.add=e.clear=e.delete=Yl),Object.freeze(e),t&&Yt(e,function(r,o){return Ao(o,!0)},!0)),e}function Yl(){oe(2);}function To(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Re(e){var t=ou[e];return t||oe(18,e),t}function Da(){return process.env.NODE_ENV==="production"||St||oe(0),St}function lo(e,t){t&&(Re("Patches"),e.u=[],e.s=[],e.v=t);}function wr(e){go(e),e.p.forEach(Jl),e.p=null;}function go(e){e===St&&(St=e.l);}function Ua(e){return St={p:[],l:St,h:e,m:!0,_:0}}function Jl(e){var t=e[ie];t.i===0||t.i===1?t.j():t.g=!0;}function uo(e,t){t._=t.p.length;var r=t.p[0],o=e!==void 0&&e!==r;return t.h.O||Re("ES5").S(t,e,o),o?(r[ie].P&&(wr(t),oe(4)),We(e)&&(e=Ir(t,e),t.l||xr(t,e)),t.u&&Re("Patches").M(r[ie].t,e,t.u,t.s)):e=Ir(t,r,[]),wr(t),t.u&&t.v(t.u,t.s),e!==ja?e:void 0}function Ir(e,t,r){if(To(t))return t;var o=t[ie];if(!o)return Yt(t,function(i,c){return Fa(e,o,t,i,c,r)},!0),t;if(o.A!==e)return t;if(!o.P)return xr(e,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var n=o.i===4||o.i===5?o.o=Eo(o.k):o.o,a=n,s=!1;o.i===3&&(a=new Set(n),n.clear(),s=!0),Yt(a,function(i,c){return Fa(e,o,n,i,c,r,s)}),xr(e,n,!1),r&&e.u&&Re("Patches").N(o,r,e.u,e.s);}return o.o}function Fa(e,t,r,o,n,a,s){if(process.env.NODE_ENV!=="production"&&n===r&&oe(5),bt(n)){var i=Ir(e,n,a&&t&&t.i!==3&&!fo(t.R,o)?a.concat(o):void 0);if(Ka(r,o,i),!bt(i))return;e.m=!1;}else s&&r.add(n);if(We(n)&&!To(n)){if(!e.h.D&&e._<1)return;Ir(e,n),t&&t.A.l||xr(e,n);}}function xr(e,t,r){r===void 0&&(r=!1),!e.l&&e.h.D&&e.m&&Ao(t,r);}function po(e,t){var r=e[ie];return (r?He(r):e)[t]}function Va(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var o=Object.getOwnPropertyDescriptor(r,t);if(o)return o;r=Object.getPrototypeOf(r);}}function yo(e){e.P||(e.P=!0,e.l&&yo(e.l));}function mo(e){e.o||(e.o=Eo(e.t));}function ho(e,t,r){var o=bo(t)?Re("MapSet").F(t,r):So(t)?Re("MapSet").T(t,r):e.O?function(n,a){var s=Array.isArray(n),i={i:s?1:0,A:a?a.A:Da(),P:!1,I:!1,R:{},l:a,t:n,k:null,o:null,j:null,C:!1},c=i,l=Ro;s&&(c=[i],l=Wt);var u=Proxy.revocable(c,l),p=u.revoke,d=u.proxy;return i.k=d,i.j=p,d}(t,r):Re("ES5").J(t,r);return (r?r.A:Da()).p.push(o),o}function Ql(e){return bt(e)||oe(22,e),function t(r){if(!We(r))return r;var o,n=r[ie],a=Et(r);if(n){if(!n.P&&(n.i<4||!Re("ES5").K(n)))return n.t;n.I=!0,o=za(r,a),n.I=!1;}else o=za(r,a);return Yt(o,function(s,i){n&&Hl(n.t,s)===i||Ka(o,s,t(i));}),a===3?new Set(o):o}(e)}function za(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return Eo(e)}var $a,St,vo=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",Zl=typeof Map<"u",Xl=typeof Set<"u",qa=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",ja=vo?Symbol.for("immer-nothing"):(($a={})["immer-nothing"]=!0,$a),Ga=vo?Symbol.for("immer-draftable"):"__$immer_draftable",ie=vo?Symbol.for("immer-state"):"__$immer_state";var eu={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(e){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(e){return "Cannot apply patch, path doesn't resolve: "+e},16:'Sets cannot have "replace" patches.',17:function(e){return "Unsupported patch operation: "+e},18:function(e){return "The plugin for '"+e+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+e+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(e){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+e+"'"},22:function(e){return "'current' expects a draft, got: "+e},23:function(e){return "'original' expects a draft, got: "+e},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},tu=""+Object.prototype.constructor,_o=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,ru=Object.getOwnPropertyDescriptors||function(e){var t={};return _o(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r);}),t},ou={},Ro={get:function(e,t){if(t===ie)return e;var r=He(e);if(!fo(r,t))return function(n,a,s){var i,c=Va(a,s);return c?"value"in c?c.value:(i=c.get)===null||i===void 0?void 0:i.call(n.k):void 0}(e,r,t);var o=r[t];return e.I||!We(o)?o:o===po(e.t,t)?(mo(e),e.o[t]=ho(e.A.h,o,e)):o},has:function(e,t){return t in He(e)},ownKeys:function(e){return Reflect.ownKeys(He(e))},set:function(e,t,r){var o=Va(He(e),t);if(o?.set)return o.set.call(e.k,r),!0;if(!e.P){var n=po(He(e),t),a=n?.[ie];if(a&&a.t===r)return e.o[t]=r,e.R[t]=!1,!0;if(Wl(r,n)&&(r!==void 0||fo(e.t,t)))return !0;mo(e),yo(e);}return e.o[t]===r&&(r!==void 0||t in e.o)||Number.isNaN(r)&&Number.isNaN(e.o[t])||(e.o[t]=r,e.R[t]=!0),!0},deleteProperty:function(e,t){return po(e.t,t)!==void 0||t in e.t?(e.R[t]=!1,mo(e),yo(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=He(e),o=Reflect.getOwnPropertyDescriptor(r,t);return o&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:o.enumerable,value:r[t]}},defineProperty:function(){oe(11);},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){oe(12);}},Wt={};Yt(Ro,function(e,t){Wt[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};}),Wt.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&oe(13),Wt.set.call(this,e,t,void 0)},Wt.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&oe(14),Ro.set.call(this,e[0],t,r,e[0])};var nu=function(){function e(r){var o=this;this.O=qa,this.D=!0,this.produce=function(n,a,s){if(typeof n=="function"&&typeof a!="function"){var i=a;a=n;var c=o;return function(R){var h=this;R===void 0&&(R=i);for(var v=arguments.length,w=Array(v>1?v-1:0),B=1;B<v;B++)w[B-1]=arguments[B];return c.produce(R,function(E){var b;return (b=a).call.apply(b,[h,E].concat(w))})}}var l;if(typeof a!="function"&&oe(6),s!==void 0&&typeof s!="function"&&oe(7),We(n)){var u=Ua(o),p=ho(o,n,void 0),d=!0;try{l=a(p),d=!1;}finally{d?wr(u):go(u);}return typeof Promise<"u"&&l instanceof Promise?l.then(function(R){return lo(u,s),uo(R,u)},function(R){throw wr(u),R}):(lo(u,s),uo(l,u))}if(!n||typeof n!="object"){if((l=a(n))===void 0&&(l=n),l===ja&&(l=void 0),o.D&&Ao(l,!0),s){var m=[],y=[];Re("Patches").M(n,l,m,y),s(m,y);}return l}oe(21,n);},this.produceWithPatches=function(n,a){if(typeof n=="function")return function(l){for(var u=arguments.length,p=Array(u>1?u-1:0),d=1;d<u;d++)p[d-1]=arguments[d];return o.produceWithPatches(l,function(m){return n.apply(void 0,[m].concat(p))})};var s,i,c=o.produce(n,a,function(l,u){s=l,i=u;});return typeof Promise<"u"&&c instanceof Promise?c.then(function(l){return [l,s,i]}):[c,s,i]},typeof r?.useProxies=="boolean"&&this.setUseProxies(r.useProxies),typeof r?.autoFreeze=="boolean"&&this.setAutoFreeze(r.autoFreeze);}var t=e.prototype;return t.createDraft=function(r){We(r)||oe(8),bt(r)&&(r=Ql(r));var o=Ua(this),n=ho(this,r,void 0);return n[ie].C=!0,go(o),n},t.finishDraft=function(r,o){var n=r&&r[ie];process.env.NODE_ENV!=="production"&&(n&&n.C||oe(9),n.I&&oe(10));var a=n.A;return lo(a,o),uo(void 0,a)},t.setAutoFreeze=function(r){this.D=r;},t.setUseProxies=function(r){r&&!qa&&oe(20),this.O=r;},t.applyPatches=function(r,o){var n;for(n=o.length-1;n>=0;n--){var a=o[n];if(a.path.length===0&&a.op==="replace"){r=a.value;break}}n>-1&&(o=o.slice(n+1));var s=Re("Patches").$;return bt(r)?s(r,o):this.produce(r,function(i){return s(i,o)})},e}(),ce=new nu,au=ce.produce;ce.produceWithPatches.bind(ce);ce.setAutoFreeze.bind(ce);ce.setUseProxies.bind(ce);ce.applyPatches.bind(ce);ce.createDraft.bind(ce);ce.finishDraft.bind(ce);var Cr=au;var ge=Ie.actions,Ja=Jt({block:Ye("block"),dimension:Ye("dimension"),formatter:Ye("formatter"),report:Ye("report"),section:Ye("section"),variant:Ye("variant")}),ne=Jt({block:Je("block"),dimension:Je("dimension"),formatter:Je("formatter"),report:Je("report"),section:Je("section"),variant:Je("variant")}),Qa=Jt({block:Te("block"),dimension:Te("dimension"),formatter:Te("formatter"),report:Te("report"),section:Te("section"),variant:Te("variant")}),Za=Jt({block:At("block"),dimension:At("dimension"),formatter:At("formatter"),report:At("report"),section:At("section"),variant:At("variant")}),Xa=Jt({block:Wa("block"),section:Wa("section")});function Jt(e){return (t,r)=>{let o=e[t];if(!o)throw new Error(`Attempting to dispatch action for invalid entity type '${t}'`);return o(r)}}function Qe(e,t){return (r,o)=>{let a=o().records.requests[e][t],s=!a||a.status==="UNINITIALIZED"?"LOADING":"FETCHING";r(ge.setRequest({key:t,type:e,status:s}));}}function Tt(e,t,r,o){return n=>{typeof window=="object"&¬ifications.show({autoClose:3e3,color:"red",id:t,message:o,title:"Error"}),n(ge.setRequest({key:t,type:e,status:"FAILURE",error:{code:r,message:o}}));}}function Ye(e){return t=>{let r=Po(e,t);return (o,n,a)=>(o(Qe(e,r)),ae(a,"create",e)(t).then(i=>(i.ok===!0?o(ge.setCreateRequest({key:r,operation:"create",status:"SUCCESS",type:e,data:i.data})):o(Tt(e,r,i.status,i.error)),i)))}}function cu(e){return t=>{let r=Po(e,t[0]);return (o,n,a)=>(o(Qe(e,r)),ae(a,"createBulk",e)(t).then(i=>(i.ok===!0?o(ge.setCreateRequest({key:r,operation:"createBulk",status:"SUCCESS",type:e,data:i.data})):o(Tt(e,r,i.status,i.error)),i)))}}function Ha(e,t,r){return r.replace(new RegExp(e,"g"),t)}function lu(e){return e.section_id!==void 0}function uu(e){return e.report_id!==void 0}function Wa(e){return t=>{let{create:r}=t;return (o,n,a)=>Ye(e)(r)(o,n,a).then(async i=>{if(i.ok){let{data:c}=i,{id:l}=c,{update:u}=t,p=rs(e,{id:l});if(o(Qe(e,`${p}`)),e==="block"&&lu(r)){let d=Cr(u,h=>{h.id=l;}),{contentByLocale:m}=d;m&&(d=Cr(d,h=>{h.id=l,h.contentByLocale=Object.keys(m).reduce((v,w)=>{let B=m?m[w]:{};return v[w]={...B,id:l},v},{});}));let R=d.inputs?.map(h=>({type:h.type,id:h.id,inputAction:{operation:"create",input:{input_id:h.id,block_id:d.id}}}));return R&&R.length>0&&Ya(e)([d,...R])(o,n,a).then(()=>Je("section")({id:d.section_id,include:!0})(o,n,a).then(h=>(h.ok&&o(ge.setRequest({key:p,type:e,status:"SUCCESS",data:h.data})),h))),Te(e)(d)(o,n,a).then(h=>(h.ok&&o(ge.setRequest({key:p,type:e,status:"SUCCESS",data:h.data})),h))}if(e==="section"&&uu(r)){let{id:d}=c,m=Cr(u,h=>{h.id=d;}),{blocks:y}=m,R=y?.map(h=>({type:h.type,blockcol:h.blockcol,blockrow:h.blockrow,section_id:d,locales:Object.keys(h.contentByLocale).map(v=>v)}));return R&&y&&await cu("block")(R)(o,n,a).then(h=>{if(h.ok){let v=h.data,w=[],B=v.map((E,b)=>{let D={...E},K=D.id,J=y[b];J.contentByLocale&&(D.contentByLocale=Object.keys(J.contentByLocale).reduce((A,P)=>{let F=J.contentByLocale[P];return A[P]={...F,content:{...F.content},id:D.id},A},{}));let{settings:H}=J,{contentByLocale:U,id:k}=D;D.settings=H;let V={id:k,contentByLocale:U,settings:H};return J.inputs.map(A=>A.id).reduce((A,P)=>{let F=y.findIndex(Q=>Q.id===P);return [...A,F]},[]).map(A=>({...v[A],originalBlock:y[A]})).forEach(A=>{let{id:P,type:F,originalBlock:Q}=A;if([N.SELECTOR,N.VIZ].includes(F)){if(V.contentByLocale?.logic?.content?.api){let Y=V.contentByLocale?.logic.content.api;V.contentByLocale.logic.content.api=Ha(`(selector${Q.id}id)`,`selector${P}id`,Y);}if(V.contentByLocale?.logic?.content?.logic){let Y=V.contentByLocale.logic.content.logic;V.contentByLocale.logic.content.logic=Ha(`(selector${Q.id}id)`,`selector${P}id`,Y);}}w.push({id:P,inputAction:{operation:"create",input:{input_id:P,block_id:K}}});}),V});return Ya("block")([...B,...w])(o,n,a)}}),Te(e)(m)(o,n,a).then(h=>(h.ok&&o(ge.setRequest({key:p,type:e,status:"SUCCESS",data:h.data})),h))}return Te(e)({...u,id:c.id})(o,n,a)}})}}function Je(e){return t=>{let r=es(e,t);return (o,n,a)=>(o(Qe(e,r)),ae(a,"read",e)(t).then(i=>(i.ok===!0?o(ge.setReadRequest({key:r,operation:"read",status:"SUCCESS",type:e,data:i.data})):o(Tt(e,r,i.status,i.error)),i)))}}function Te(e){return t=>{let r=wo(e,t);return (o,n,a)=>(o(Qe(e,r)),ae(a,"update",e)(t).then(i=>(i.ok===!0?o(ge.setUpdateRequest({key:r,operation:"update",status:"SUCCESS",type:e,data:i.data})):o(Tt(e,r,i.status,i.error)),i)))}}function Ya(e){return t=>{let r=wo(e,t[0]);return (o,n,a)=>(o(Qe(e,r)),ae(a,"updateBulk",e)(t).then(i=>(i.ok===!0?o(ge.setUpdateRequest({key:r,operation:"updateBulk",status:"SUCCESS",type:e,data:i.data})):o(Tt(e,r,i.status,i.error)),i)))}}function At(e){return t=>{let r=ts(e,t);return (o,n,a)=>(o(Qe(e,r)),ae(a,"delete",e)(t).then(i=>{i.ok===!0?o(ge.setDeleteRequest({key:r,operation:"delete",status:"SUCCESS",type:e,data:i.data})):o(Tt(e,r,i.status,i.error));}))}}function Po(e,t){if(e==="variant"){let r=t;return `create(variant, [${r.dimension_id}, ${r.name}])`}return `create(${e}, [${Object.keys(t)}])`}function es(e,t={}){let r=t.id==null?null:`'${t.id}'`;return `read(${e}, ${r}, ${!!t.include})`}function wo(e,t){let{id:r,...o}=t;return `update(${e}, ${r}, [${Object.keys(o)}])`}function ts(e,t){return `delete(${e}, ${t})`}function rs(e,t){let r=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${r})`}var{setStatus:os,setPreviews:pu,setSectionState:ns,resetSectionState:as,setCurrentLocale:du,setPreferredLocale:mu,addRunConsumersRunning:ss,removeRunConsumersRunning:is}=Ae;function fu(e,t){return async(r,o,n)=>{let a=await n.validateVariantSlug({dimension:e,slug:t});if("error"in a)throw new Error(a.error);return a.data}}function gu(e){return async(t,r,o)=>{let n=await o.searchReport(e);if("error"in n)throw new Error(n.error);return n.data}}function yu(){return async(e,t,r)=>{let o=await r.regenerateSearch(void 0);if("error"in o)throw new Error(o.error);return o.data}}function Qt(e){return async(t,r,o)=>{let n=await o.readMember(e);if("error"in n)throw new Error(n.error);return n.data}}function hu(e){return async(t,r,o)=>{let n=await o.searchMember(e);if(n.ok===!0)return n.data;throw new Error(n.error)}}async function cs(e,t,r,o){let n=r().status,a={...n,...o},s={...n.query,...o.query};Object.keys(s).forEach(c=>s[c]===void 0&&delete s[c]);let i={...a,query:s};t(os(i)),n.activeSection&&t(ls(e,{query:s}));}function Ru(e,t){return async(r,o)=>cs(e,r,o,{query:{[t]:void 0}})}function bu(e,t,r){return async(o,n)=>cs(e,o,n,{query:{[t]:r}})}function ls(e,t){return async(r,o)=>{let n=o(),{currentLocale:a}=n.status,s=n.records.entities.block,i=e.formatterFunctions[a],{parsedParams:c,statusPayload:l}=Na(n.status,t),{sid:u,bid:p,previews:d,query:m}=c;Object.keys(l).length&&r(Ae.setStatus(l));let y={...br(d),locale:a,...Sr()},R={variables:y,query:m,locale:a};r(Ae.addRunConsumersRunning([u]));let h=n.records.entities.section[u],v=async w=>r(Qt(w));try{let w=await Rr(s,h&&[h],p,i,R,void 0,v),{variables:B,status:E}=w;r(kr.setVariableChange({attributes:y,variables:B,status:E})),r(Ae.removeRunConsumersRunning([u]));}catch(w){console.log("Error in runConsumers client side: recalculateVariables",w);}}}function Su(e){return async(t,r,o)=>{let n=await o.readMetadata(e);if("error"in n)throw new Error(n.error);return n.data}}function Eu(e){return async(t,r,o)=>{let n=await o.urlProxy({url:e});if("error"in n)throw new Error(n.error);return n.data}}function Au(){return async(e,t,r)=>{let o=await r.searchRole("");if("error"in o)throw new Error(o.error);return o.data}}function Tu(e){return async(t,r,o)=>{let n=await o.searchUser(e);if("error"in n)throw new Error(n.error);return n.data}}function vu(e){return async(t,r,o)=>{let n=await o.readUser({user_id:e});if("error"in n)throw new Error(n.error);return n.data}}function _u({user:e}){return async(t,r,o)=>{let n=await o.updateUser(e);if("error"in n)throw new Error(n.error);return n.data}}function ku(e){return async(t,r,o)=>{let n=await o.updateMyData(e);if("error"in n)throw new Error(n.error);return n.data}}function Br(e){let{removeBlocks:t}=Ie.actions;return async r=>{await r(t(e));}}function Io(e){let{addBlocks:t}=Ie.actions;return async r=>{await r(t(e));}}function Pu(e){return async(t,r,o)=>{let n=await o.readPrivateBlocks({...e,roles:[]});if("error"in n)throw new Error(n.error);return n.data}}function wu(e){return async(t,r,o)=>{let n=await o.revalidateUrl({target:e.target});if("error"in n)throw new Error(n.error);return n.data}}function Iu(e){return async(t,r,o)=>{let n=await o.revalidateReport({reportId:e.reportId,profilePrefix:e.profilePrefix});if("error"in n)throw new Error(n.error);return n.data}}var us=e=>configureStore({reducer:{[Ie.name]:Ie.reducer,[vr.name]:vr.reducer,[_r.name]:_r.reducer},middleware(t){return t({thunk:{extraArgument:Kt("/api/cms/")}})}}),Xt=createWrapper(us);function Mu(e){let t=process.cwd(),r=Lu.resolve(t.endsWith("/example")?t.replace("/example",""):t,"package-lock.json"),o;try{let n=JSON.parse(Rc.readFileSync(r,"utf-8"));o=n.dependencies&&n.dependencies[e]&&n.dependencies[e].version!=="file:packages/reports"?n.dependencies[e].version:"0.dev";}catch{o="0.vercel";}return o||"Version not found"}function Ou(e){let t=()=>Promise.resolve({}),{pathSegmentsKey:r="bespoke",preResolve:o=t,postResolve:n=t}=e||{};return ee.withPageAuthRequired({getServerSideProps:Xt.getServerSideProps(a=>{let{dispatch:s}=a;return async i=>{let c=i.query[r],[l]=Array.isArray(c)?c:[c];await s($t);let u=await Mu("@datawheel/bespoke"),p=await o(a,i);if("redirect"in p)return {props:p};l==="reports"&&(ps(i.query[r])?await Promise.all([s(ne("formatter",{})),s(ne("report",{id:ps(i.query[r]),include:!0})),Ae.setStatus({isCMS:!0})]):await Promise.all([s(ne("report",{include:"dimensions"})),Ae.setStatus({isCMS:!0})])),l==="metadata"&&await s(ne("report",{include:"dimensions"})),l==="formatters"&&await s(ne("formatter",{}));let d=await n(a,i);return {props:{...p,...d,bespokeVersion:u}}}})})}function ps(e){if(e==null||e==="")return;let[,t]=Array.isArray(e)?e:[e];return Number.parseInt(t)||void 0}var {locales:Du}=$(),Uu={pathSegment:"path",formatterFunctions:Du.reduce((e,t)=>({...e,[t]:{}}),{}),profilePrefix:"path",siteProps:{}};createContext(Uu);$();var hs=e=>e.records.entities.block;function kt(e){return t=>Object.values(t.records.entities[e])}var Rs=kt("section"),bs=kt("formatter");function Xu(e){let{fallback:t=!0,limit:r=50}=e||{};return async o=>{let{defaultLocale:n=fe,locales:a=[]}=o,s=[];if(r>0){let i=a.find(u=>u===n),{searchMember:c}=await Ue().then(dt),l=await c({query:"",limit:r,format:"plain",locale:i||fe,noImage:!1,visible:!0,report:[],dimension:[],variant:[],includes:!0});l.ok===!0&&(s=l.data.results.map(u=>({locale:a.find(p=>p===u.locale),params:{bespoke:[u.variant.slug,u.slug]}})));}return {fallback:t,paths:s}}}function ep(e){let{pathSegmentsKey:t="bespoke"}=e||{};try{return Xt.getStaticProps(r=>{let{dispatch:o}=r;return async n=>{await o($t);let a=new Date().toISOString(),{locale:s=fe,params:i={}}=n,c=Array.from(tp(i[t]));if(c.length===0)return await Promise.all([o(ne("formatter",{})),o(ne("report",{include:!0}))]),{props:{buildTime:a}};let l=await o(Qt({mode:"slugs",locale:s,slugs:c,output:"full"}));o(Zt.setPreviews(l.results)),await Promise.all([o(ne("formatter",{})),o(ne("report",{id:l.results.map(b=>b.report_id),include:!0,locales:[s]}))]);let u=r.getState(),p=bs(u),d=co(p,s),m=Rs(u),y=hs(u),R={...y},h={},v=Object.values(y).reduce((b,O)=>("access"in O.settings&&!["public","guest"].some(D=>!O.settings.access||O.settings.access.includes(D))&&b.push(O.id),b),[]);v=v.concat(zt(v,Object.values(R)));let w=v.filter(b=>R[b].settings[Xo.FALLBACK]);v.forEach(b=>{w.includes(b)&&(h[b]={...R[b],type:"fallback",original_type:R[b].type}),delete R[b];}),await o(Br(v)),await o(Io(h));let B={...br(l.results),locale:s,...Sr()},E=async b=>await o(Qt(b));return await Rr({...R,...h},m,void 0,d,{locale:s,query:i,variables:B},void 0,E,"report").then(async b=>{let O=Object.keys({...R,...h}).reduce((D,K)=>(b.variables[K]&&b.status[K]||D.push(K),D),[]);await o(Br(O)),await o(kr.setVariableChange({...b,attributes:B}));}),{props:{buildTime:a}}}})}catch(r){console.log("ERROR SSR",r);}}function tp(e=[]){let t=[].concat(e),r=0;return {next(){return {value:{variantSlug:t[r++],memberSlug:t[r++]},done:r>t.length}},[Symbol.iterator](){return this}}}
|
|
65
|
+
`)}));}let O=await Promise.all(b).catch(D=>D.message);if(typeof O=="string"&&O)return {outputVariables:{},renderVariables:{},status:{error:O}};c=O.length===1?O[0].data:O.map(D=>D.data),p=O.reduce((D,K)=>D+JSON.stringify(K.data).length/1024,0),u=Math.max(...O.map(D=>D.requestDuration));}if(e.type===N.SELECTOR){let{config:E,log:b,error:O}=ro(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:Ta(e.id,s,E),renderVariables:E,status:{log:b,error:O,allowed:i}}}if(e.type===N.MULTIHIERARCHY_SELECTOR){let{config:E,log:b,error:O}=no(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:va(e.id,s,E),renderVariables:E,status:{log:b,error:O,allowed:i}}}if(e.type===N.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:i}};if(e.type===N.RELATED){let E=e.contentByLocale?.logic?.content?.simple?.compare||"variant",b=e.contentByLocale?.logic?.content?.simple?.limit||4,O=Object.keys(a).filter(_=>_.startsWith("report_id")).map(_=>a[_]),D=Object.keys(a).filter(_=>_.startsWith("dimension_id")).map(_=>a[_]),K=Object.keys(a).filter(_=>_.startsWith("variant_id")).map(_=>a[_]),J=Object.keys(a).filter(_=>_.startsWith("id")).map(_=>a[_]);if(!J.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:!1}};let H=await Promise.all(J.map((_,L)=>o({mode:"ids",locale:n,ids:[_],output:"lite",variant:[K[L]]}))).then(_=>_.flatMap(L=>{let A=[];return yr(L)?L.ok&&(A=L.data.results):A=L.results,A&&Array.isArray(A)?A:[]})).catch(_=>(console.log("Error getting related members",_),[]));if(D.length>1){let _=Object.keys(a).filter(G=>G.startsWith("variant_slug")).map(G=>a[G]),L=H.map((G,C)=>{let x={mode:"related",locale:n,related:b??4,current_ids:[G.content_id],output:"full",variant_ids:[G.variant_id]};return C===0&&(x.include_ids=[G.content_id]),x}),A=await Promise.all(L.map(G=>o(G))).then(G=>G.flatMap(C=>{let x=[];return yr(C)?C.ok&&(x=C.data.results):x=C.results,x&&Array.isArray(x)?x:[]})).catch(G=>(console.log("Error getting related members",G),[])),P=A.reduce((G,C)=>{let x=C.variant_slug;return G[x]||(G[x]=[]),G[x].push(C),G},{}),F=[],Q=Object.keys(P),Y=[{combination:[],index:0}];for(;Y.length>0;){let G=Y.pop();if(!G)continue;let{combination:C,index:x}=G;if(x===Q.length){F.push(C);continue}let se=Q[x],de=P[se];for(let le of de)Y.push({combination:[...C,le],index:x+1});}return {outputVariables:{related_reports:F.map(G=>{let C=G.sort((x,se)=>_.indexOf(x.variant_slug)-_.indexOf(se.variant_slug));return {entities:C,link:"/"+C.map(x=>`${x.variant_slug}/${x.slug}`).join("/")}})},renderVariables:{},status:{log:[],allowed:A.length>0}}}let U=H.map(_=>_.content_id),k={mode:"related",locale:n,related:b??4,current_ids:U,output:"full"};E&&(E==="report"?k.report_ids=O:E==="dimension"?k.dimension_ids=D:k.variant_ids=K);let V=await o(k).then(_=>{let L=[];return yr(_)?_.ok&&(L=_.data.results):L=_.results,L&&Array.isArray(L)?L:[]}).catch(_=>(console.log("Error getting related members",_),[]));return {outputVariables:{related_reports:V.map(_=>({entities:[_],link:`/${_.variant_slug}/${_.slug}`}))},renderVariables:{},status:{log:[],allowed:V.length>0}}}let{logic:m}=ka(e,n),y=yt(m,t,r),R=Ke("resp",c||{},y,t,a,r),{vars:h,error:v,log:w}=R;if(typeof h!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:w,duration:u,responseSize:p,resp:c,api:d,allowed:i}};let B=Object.keys(h).reduce((E,b)=>({...E,[`${e.type}${e.id}${b}`]:h[b]}),{});return {renderVariables:h,outputVariables:[N.GENERATOR,N.SECTION_FLAG].includes(e.type)?h:B,status:{log:w,error:v,duration:u,responseSize:p,resp:c,api:d,allowed:i}}}function kl(e,t,r,o,n,a,s){return e.consumers.forEach(i=>{if(t[i]){let c=`${r}-${i}`;!o.includes(c)&&(t[i].section_id===t[r].section_id||!n)&&o.push(c),e.consumers.filter(l=>t[l]&&t[l].section_id===t[r].section_id||!n).forEach(l=>io(l,t,o,!1,a,n,s));}})}var io=(e,t,r=[],o=!0,n=!0,a=!0,s=[])=>{if(s.includes(e))return [];s.push(e);let i=t[e];return i&&i.inputs.length&&o&&i.inputs.forEach(c=>{let l=`${c}-${e}`;r.includes(l)||r.push(l),i.inputs.forEach(u=>io(u,t,r,o,!1,a,s));}),i&&i.consumers.length&&n&&kl(i,t,e,r,a,n,s),r},Pl=(e,t,r,o)=>{let n=!0;if(e&&"allowed"in e.settings&&e.settings.allowed!=="always")if(e.settings.allowed==="never")n=!1;else {let a=pe(t),{error:s,output:i}=Ke("variables",r,e.settings.allowedLogic||"return false;",o,void 0,a);s||(n=!!i);}return n},Rr=async(e,t,r,o,n,a={},s,i="section")=>{let c=i==="section",l=pe(n),u=l.variables,p={...a.variables??{}},d={...a.status??{}},m=new Set,y=[],R={};r?R={...R,[r]:e[r]}:t?R=(t??[]).reduce((U,{id:k})=>({...U,...Pa(k,e)}),{}):R=Object.values(e).filter(U=>ao(U)).reduce((U,k)=>({...U,[k.id]:k}),{});let h=Object.values(R).filter(U=>ao(U));if(h.length>0){je&&console.log("%crunConsumers: calculating section flags","color:purple",h.map(T=>T.id).join(", "));let U=Object.fromEntries(await Promise.all(h.map(async T=>[T.id,await xa(T,o,{...l,variables:u,locale:u.locale},s).then(_=>{let{outputVariables:L,status:A}=_;if(A.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${T.id}, Section ${T.section_id}) failed with message: ${A.error}. `);d[T.id]={allowed:!1,error:A.error},p[T.id]={};}return (T.consumers.length>0||[N.GENERATOR,N.SECTION_FLAG,N.RELATED].includes(T.type))&&A.allowed&&Object.keys(L).length>0?p[T.id]=L:p[T.id]={},i==="report"?(d[T.id]={allowed:A.allowed},[N.GENERATOR,N.SECTION_FLAG].includes(T.type)&&A.api&&(d[T.id].api=A.api)):d[T.id]=A,_})]))),V=Object.entries(U).filter(([T,_])=>!_.outputVariables[Ln]).map(([T])=>Number(T));m=new Set(V.map(T=>e[T].section_id)),Object.values(R).filter(T=>m.has(T.section_id)).forEach(T=>{y.push(T.id),delete R[T.id];}),je&&console.log("%crunConsumers: removing sections","color:purple",m.keys());}let v=m.size>0?Object.fromEntries(Object.entries(e).filter(([U,k])=>m?.has(k.section_id)?(y.includes(k.id)||y.push(k.id),!1):!0)):e;if(y.length>0&&(v=Object.fromEntries(Object.entries(v).map(([U,k])=>{let V={...k,inputs:k.inputs.filter(T=>!y.includes(T)),consumers:k.consumers.filter(T=>!y.includes(T))};return [U,V]}))),!r&&!t)return {variables:{...a.variables??{},...p},status:{...a.status??{},...d}};i==="report"&&y.length>0&&y.forEach(U=>{delete p[U],delete d[U],delete e[U];}),je&&console.log("%crunConsumers: running root blocks","color:purple",Object.keys(R));let w=Object.keys(R).reduce((U,k)=>{let V=new Date,T=io(Number(k),v,[],!r,!0,c).map(A=>A.split("-")),L=(new Date().getTime()-V.getTime())/1e3;return je&&console.log(`%cResolved dependencies for ${k} (${L.toFixed(2)}s)`,"color:blue"),[...U,...T]},[]),B=new Date,E=Object.keys(R).reduce((U,k)=>U.includes(k)?[...U]:[k,...U],Rl(w)),O=(new Date().getTime()-B.getTime())/1e3;je&&console.log(`%cResolved DAG (${O.toFixed(2)}s): `,"color:green",E);async function D(U,k){let V=new Map;for(let T of U){let _=k[T],A=Promise.all(_.inputs.filter(P=>U.includes(String(P))).map(P=>V.get(Number(P)))).then(async()=>{let P=_.inputs.reduce((C,x)=>({...C,...p[x]}),u),F=_.inputs.find(C=>(_.settings?.ignoreCascade?_.settings?.ignoreCascade:[]).includes(C)||!d[C]?!1:!d[C].allowed||d[C].hiddenByCascade);if(F){d[T]={allowed:!1,hiddenByCascade:d[F].hiddenByCascade||F},p[T]={};return}let Q=new Date,Y=await xa(_,o,{...l,variables:P,locale:P.locale},s).then(({outputVariables:C,status:x})=>{if(x.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${T}, Section ${_.section_id}) failed with message: ${x.error}. `);d[T]={allowed:!1,error:x.error},p[T]={};}(_.consumers.length>0||[N.GENERATOR,N.SECTION_FLAG,N.RELATED].includes(_.type))&&x.allowed&&Object.keys(C).length>0?p[T]=C:p[T]={},i==="report"?(d[T]={allowed:x.allowed},[N.GENERATOR,N.SECTION_FLAG].includes(_.type)&&x.api&&(d[T].api=x.api)):d[T]=x;}),G=(new Date().getTime()-Q.getTime())/1e3;return je&&console.log(`%cBlock ${_.id} resolved in ${G.toFixed(3)}s`,G>500?"color:red":"color:green"),Y});V.set(Number(T),A);}await Promise.all(Array.from(V.values()));}let K=new Date;await D(E,v);let H=(new Date().getTime()-K.getTime())/1e3;return je&&console.log(`%cResolved Variables (${H.toFixed(2)}s): `,"color:green"),{variables:{...a.variables??{},...p},status:{...a.status??{},...d}}};function wl(e=[]){return e.reduce((t,r,o)=>{if(r){let n=o+1;t[`id${n}`]=r.id,t[`name${n}`]=r.name,t[`slug${n}`]=r.slug,"attributes"in r&&Object.keys(r.attributes).forEach(a=>{t[`attr_${a}${n}`]=r.attributes[a];}),t[`variant_id${n}`]=r.variant_id,t[`variant_name${n}`]=r.variant_name,t[`variant_slug${n}`]=r.variant_slug,t[`dimension_id${n}`]=r.dimension_id,t[`dimension_name${n}`]=r.dimension_name,t.report_id=r.report_id,t.report_name=r.report_name;}return t},{})}var br=wl;function xl(){let{publicRuntimeConfig:e}=Il(),t=e.bespoke_report_env_vars||{};return {...Object.keys(t).reduce((r,o)=>(r[`ENV_${o}`]=t[o]||"N/A",r),{})}}var Sr=xl;function Cl(e,t){return +(e<t)-+(e>t)}function Er(e,t,r="ordering"){return Cl(t[r],e[r])}var Ba=(e,t={},r="en",o={},n={})=>{let a={setVariables:o.onSetVariables?o.onSetVariables:c=>c,openModal:o.onOpenModal?o.onOpenModal:c=>c,formatters:t,libs:Be,locale:r,...n};function s(c){return Function("globals",...c.vars,`with (globals) { ${c.logic} }`).bind(a,a)}function i(c){if(c.vars&&c.logic)return s(c);for(let l in c)Array.isArray(c[l])?c[l]=c[l].map(u=>isObject(u)?i(u):u):isObject(c[l])&&(c[l]=i(c[l]));return c}return i(e)};var{localeDefault:Ll}=$();var jt=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});jt.define({consumers:[jt],inputs:[jt]});var La=new schema.Entity("variant"),Ma=new schema.Entity("dimension",{variants:[La]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),Oa=new schema.Entity("section",{blocks:[jt]}),Ml=new schema.Entity("report",{dimensions:[Ma],sections:[Oa]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(Er):[]}}}),Ol=new schema.Entity("formatter"),Nl={report:Ml,section:Oa,block:jt,dimension:Ma,variant:La,formatter:Ol};function Ar(e,t){let r=Nl[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:ht(o,"report"),dimension:ht(o,"dimension"),section:ht(o,"section"),block:ht(o,"block"),variant:ht(o,"variant"),formatter:ht(o,"formatter")}}function ht(e,t){return e.hasOwnProperty(t)?e[t]:{}}var Na=(e,t=void 0)=>{let{sid:r,bid:o,previews:n=[],query:a={}}=t||{},s,i,c={};return r?(s=r,c.activeSection=s):s=e.activeSection,n.length>0?(i=n,c.previews=i.filter(Boolean)):i=e.previews,{parsedParams:{sid:s,bid:o,previews:i,query:a},statusPayload:c}},co=(e=[],t=Ll)=>e.reduce((r,o)=>{let n=Ba({vars:["n"],logic:o.content.logic},{},t,{});return r[o.name]=n,r},{});var fe=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",Tr=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[fe];Tr.includes(fe)||Tr.push(fe);var Fl={localeDefault:fe,locales:Tr,currentLocale:fe,preferredLocale:fe,showToolbar:!1,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:!0,settings:!1,reportEditor:!1},isCMS:!1,isRunConsumersRunning:[]},vr=createSlice({name:"status",initialState:Fl,reducers:{setStatus:(e,t)=>{Object.assign(e,t.payload);},setPreviews(e,t){e.previews=t.payload;},setCurrentLocale(e,t){e.currentLocale=t.payload;},setPreferredLocale(e,t){e.preferredLocale=t.payload;},setSectionState(e,t){e.sectionState={...e.sectionState,...t.payload};},resetSectionState(e,t){e.sectionState={...e.sectionState,[t.payload]:{}};},setActiveEntity(e,t){e.activeEntity=t.payload;},openSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!0};},closeSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!1};},toggleSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!e.sidebarStatus[t.payload]};},addRunConsumersRunning(e,t){e.isRunConsumersRunning=e.isRunConsumersRunning.concat(t.payload);},removeRunConsumersRunning(e,t){e.isRunConsumersRunning=e.isRunConsumersRunning.filter(r=>!t.payload.includes(r));}},extraReducers:{[HYDRATE]:(e,t)=>({...e,previews:t.payload.status.previews})}}),Ae=vr.actions;var $l={attributes:{},variables:{},status:{}},_r=createSlice({name:"variables",initialState:$l,reducers:{setVariableChange:(e,t)=>{e.attributes={...e.attributes,...t.payload.attributes},e.variables={...e.variables,...t.payload.variables},e.status={...e.status,...t.payload.status};}},extraReducers:{[HYDRATE]:(e,t)=>({attributes:{...e.attributes,...t.payload.variables.attributes},status:{...e.status,...t.payload.variables.status},variables:{...e.variables,...t.payload.variables.variables}})}}),kr=_r.actions;var Kl={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}}},Ie=createSlice({name:"records",initialState:Kl,reducers:{set:(e,t)=>{let r=t.payload;return {entities:Ht(e.entities,r.entities||{}),requests:Ht(e.requests,r.requests||{}),reports:r.reports||e.reports,tree:r.tree||e.tree}},setRequest:(e,t)=>{let r=t.payload;e.requests[r.type][r.key]=r;},setCreateRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let o=Array.isArray(r.data)?r.data:[r.data],n=Ar(r.type,o),a=Ht(e.entities,n);if(e.entities=a,r.type==="report"){let s=r.data;e.reports?e.reports.indexOf(s.id)===-1&&(e.reports=[...e.reports,s.id]):e.reports=[s.id];}else if(r.type==="dimension"){let s=r.data;e.entities.report[s.report_id].dimensions.push(s.id),e.entities.report[s.report_id].dimensions=Pr(a.report[s.report_id].dimensions,a.dimension);}else if(r.type==="variant"){let s=r.data;e.entities.dimension[s.dimension_id].variants.push(s.id);}else if(r.type==="section"&&!Array.isArray(r.data)){let s=r.data;e.entities.report[s.report_id].sections.push(s.id),e.entities.report[s.report_id].sections=Pr(a.report[s.report_id].sections,a.section);}else if(r.type==="block")if(Array.isArray(r.data)){let s=r.data,i=s[0],c=s.map(l=>l.id);e.entities.section[i.section_id].blocks.concat(c);}else {let s=r.data;e.entities.section[s.section_id].blocks.push(s.id);}}},setReadRequest(e,t){let r=t.payload;if(r.type!=="report"&&(e.requests[r.type][r.key]=r),r.status==="SUCCESS"){let o=Ar(r.type,r.data),n=Ht(e.entities,o);e.entities=n;}},setUpdateRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let o=Array.isArray(r.data)?r.data:[r.data],n=Ar(r.type,o),a,s,i;if(r.type==="block"&&!Array.isArray(r.data)){let l=e.entities.block[r.data.id].inputs,u=n.block[r.data.id].inputs;a=l.length!==u.length,a&&(i=l.length>u.length,s=i?l.filter(p=>!u.includes(p))[0]:u.filter(p=>!l.includes(p))[0]),Object.values(n.block).forEach(p=>{p.block_input&&delete n.block[p.id];});}let c=Ht(e.entities,n);if(e.entities=c,r.type==="dimension"){let l=r.data;e.entities.report[l.report_id].dimensions=Pr(c.report[l.report_id].dimensions,c.dimension);}else if(r.type==="section"&&!Array.isArray(r.data)){let l=r.data;e.entities.report[l.report_id].sections=Pr(c.report[l.report_id].sections,c.section);}else if(r.type==="block"&&!Array.isArray(r.data)){let l=r.data;a&&(i?e.entities.block[s].consumers=e.entities.block[s].consumers.filter(u=>u!==l.id):e.entities.block[s].consumers.push(l.id));}}},setDeleteRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let{id:o,parentId:n,parentType:a}=r.data;if(delete e.entities[r.type][o],a&&n!=null){let s=`${r.type}s`;jl(e.entities[a][n][s],o);}}},removeBlocks:(e,t)=>{let r=t.payload,o={...e.entities.block};return r.forEach(n=>{delete o[n];}),{...e,entities:{...e.entities,block:o}}},addBlocks:(e,t)=>{let r=t.payload;return {...e,entities:{...e.entities,block:{...e.entities.block,...r}}}}},extraReducers:{[HYDRATE]:(e,t)=>{let r=t.payload.records,o=r.entities;return {entities:o,reports:Object.values(o.report).map(n=>n.id),requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},tree:r.tree}}}});function Ht(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],...t[r]}]))}function Pr(e,t){return e.map(n=>t[n]).sort(Er).map(n=>n.id)}function jl(e,t){let r=e.indexOf(t);r>-1&&e.splice(r,1);}function oe(e){for(var t=arguments.length,r=Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];if(process.env.NODE_ENV!=="production"){var n=eu[e],a=n?typeof n=="function"?n.apply(null,r):n:"unknown error nr: "+e;throw Error("[Immer] "+a)}throw Error("[Immer] minified error nr: "+e+(r.length?" "+r.map(function(s){return "'"+s+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function bt(e){return !!e&&!!e[ie]}function We(e){var t;return !!e&&(function(r){if(!r||typeof r!="object")return !1;var o=Object.getPrototypeOf(r);if(o===null)return !0;var n=Object.hasOwnProperty.call(o,"constructor")&&o.constructor;return n===Object||typeof n=="function"&&Function.toString.call(n)===tu}(e)||Array.isArray(e)||!!e[Ga]||!!(!((t=e.constructor)===null||t===void 0)&&t[Ga])||bo(e)||So(e))}function Yt(e,t,r){r===void 0&&(r=!1),Et(e)===0?(r?Object.keys:_o)(e).forEach(function(o){r&&typeof o=="symbol"||t(o,e[o],e);}):e.forEach(function(o,n){return t(n,o,e)});}function Et(e){var t=e[ie];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:bo(e)?2:So(e)?3:0}function fo(e,t){return Et(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Hl(e,t){return Et(e)===2?e.get(t):e[t]}function Ka(e,t,r){var o=Et(e);o===2?e.set(t,r):o===3?e.add(r):e[t]=r;}function Wl(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function bo(e){return Zl&&e instanceof Map}function So(e){return Xl&&e instanceof Set}function He(e){return e.o||e.t}function Eo(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=ru(e);delete t[ie];for(var r=_o(t),o=0;o<r.length;o++){var n=r[o],a=t[n];a.writable===!1&&(a.writable=!0,a.configurable=!0),(a.get||a.set)&&(t[n]={configurable:!0,writable:!0,enumerable:a.enumerable,value:e[n]});}return Object.create(Object.getPrototypeOf(e),t)}function Ao(e,t){return t===void 0&&(t=!1),To(e)||bt(e)||!We(e)||(Et(e)>1&&(e.set=e.add=e.clear=e.delete=Yl),Object.freeze(e),t&&Yt(e,function(r,o){return Ao(o,!0)},!0)),e}function Yl(){oe(2);}function To(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Re(e){var t=ou[e];return t||oe(18,e),t}function Da(){return process.env.NODE_ENV==="production"||St||oe(0),St}function lo(e,t){t&&(Re("Patches"),e.u=[],e.s=[],e.v=t);}function wr(e){go(e),e.p.forEach(Jl),e.p=null;}function go(e){e===St&&(St=e.l);}function Ua(e){return St={p:[],l:St,h:e,m:!0,_:0}}function Jl(e){var t=e[ie];t.i===0||t.i===1?t.j():t.g=!0;}function uo(e,t){t._=t.p.length;var r=t.p[0],o=e!==void 0&&e!==r;return t.h.O||Re("ES5").S(t,e,o),o?(r[ie].P&&(wr(t),oe(4)),We(e)&&(e=Ir(t,e),t.l||xr(t,e)),t.u&&Re("Patches").M(r[ie].t,e,t.u,t.s)):e=Ir(t,r,[]),wr(t),t.u&&t.v(t.u,t.s),e!==ja?e:void 0}function Ir(e,t,r){if(To(t))return t;var o=t[ie];if(!o)return Yt(t,function(i,c){return Fa(e,o,t,i,c,r)},!0),t;if(o.A!==e)return t;if(!o.P)return xr(e,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var n=o.i===4||o.i===5?o.o=Eo(o.k):o.o,a=n,s=!1;o.i===3&&(a=new Set(n),n.clear(),s=!0),Yt(a,function(i,c){return Fa(e,o,n,i,c,r,s)}),xr(e,n,!1),r&&e.u&&Re("Patches").N(o,r,e.u,e.s);}return o.o}function Fa(e,t,r,o,n,a,s){if(process.env.NODE_ENV!=="production"&&n===r&&oe(5),bt(n)){var i=Ir(e,n,a&&t&&t.i!==3&&!fo(t.R,o)?a.concat(o):void 0);if(Ka(r,o,i),!bt(i))return;e.m=!1;}else s&&r.add(n);if(We(n)&&!To(n)){if(!e.h.D&&e._<1)return;Ir(e,n),t&&t.A.l||xr(e,n);}}function xr(e,t,r){r===void 0&&(r=!1),!e.l&&e.h.D&&e.m&&Ao(t,r);}function po(e,t){var r=e[ie];return (r?He(r):e)[t]}function Va(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var o=Object.getOwnPropertyDescriptor(r,t);if(o)return o;r=Object.getPrototypeOf(r);}}function yo(e){e.P||(e.P=!0,e.l&&yo(e.l));}function mo(e){e.o||(e.o=Eo(e.t));}function ho(e,t,r){var o=bo(t)?Re("MapSet").F(t,r):So(t)?Re("MapSet").T(t,r):e.O?function(n,a){var s=Array.isArray(n),i={i:s?1:0,A:a?a.A:Da(),P:!1,I:!1,R:{},l:a,t:n,k:null,o:null,j:null,C:!1},c=i,l=Ro;s&&(c=[i],l=Wt);var u=Proxy.revocable(c,l),p=u.revoke,d=u.proxy;return i.k=d,i.j=p,d}(t,r):Re("ES5").J(t,r);return (r?r.A:Da()).p.push(o),o}function Ql(e){return bt(e)||oe(22,e),function t(r){if(!We(r))return r;var o,n=r[ie],a=Et(r);if(n){if(!n.P&&(n.i<4||!Re("ES5").K(n)))return n.t;n.I=!0,o=za(r,a),n.I=!1;}else o=za(r,a);return Yt(o,function(s,i){n&&Hl(n.t,s)===i||Ka(o,s,t(i));}),a===3?new Set(o):o}(e)}function za(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return Eo(e)}var $a,St,vo=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",Zl=typeof Map<"u",Xl=typeof Set<"u",qa=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",ja=vo?Symbol.for("immer-nothing"):(($a={})["immer-nothing"]=!0,$a),Ga=vo?Symbol.for("immer-draftable"):"__$immer_draftable",ie=vo?Symbol.for("immer-state"):"__$immer_state";var eu={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(e){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(e){return "Cannot apply patch, path doesn't resolve: "+e},16:'Sets cannot have "replace" patches.',17:function(e){return "Unsupported patch operation: "+e},18:function(e){return "The plugin for '"+e+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+e+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(e){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+e+"'"},22:function(e){return "'current' expects a draft, got: "+e},23:function(e){return "'original' expects a draft, got: "+e},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},tu=""+Object.prototype.constructor,_o=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,ru=Object.getOwnPropertyDescriptors||function(e){var t={};return _o(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r);}),t},ou={},Ro={get:function(e,t){if(t===ie)return e;var r=He(e);if(!fo(r,t))return function(n,a,s){var i,c=Va(a,s);return c?"value"in c?c.value:(i=c.get)===null||i===void 0?void 0:i.call(n.k):void 0}(e,r,t);var o=r[t];return e.I||!We(o)?o:o===po(e.t,t)?(mo(e),e.o[t]=ho(e.A.h,o,e)):o},has:function(e,t){return t in He(e)},ownKeys:function(e){return Reflect.ownKeys(He(e))},set:function(e,t,r){var o=Va(He(e),t);if(o?.set)return o.set.call(e.k,r),!0;if(!e.P){var n=po(He(e),t),a=n?.[ie];if(a&&a.t===r)return e.o[t]=r,e.R[t]=!1,!0;if(Wl(r,n)&&(r!==void 0||fo(e.t,t)))return !0;mo(e),yo(e);}return e.o[t]===r&&(r!==void 0||t in e.o)||Number.isNaN(r)&&Number.isNaN(e.o[t])||(e.o[t]=r,e.R[t]=!0),!0},deleteProperty:function(e,t){return po(e.t,t)!==void 0||t in e.t?(e.R[t]=!1,mo(e),yo(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=He(e),o=Reflect.getOwnPropertyDescriptor(r,t);return o&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:o.enumerable,value:r[t]}},defineProperty:function(){oe(11);},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){oe(12);}},Wt={};Yt(Ro,function(e,t){Wt[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};}),Wt.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&oe(13),Wt.set.call(this,e,t,void 0)},Wt.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&oe(14),Ro.set.call(this,e[0],t,r,e[0])};var nu=function(){function e(r){var o=this;this.O=qa,this.D=!0,this.produce=function(n,a,s){if(typeof n=="function"&&typeof a!="function"){var i=a;a=n;var c=o;return function(R){var h=this;R===void 0&&(R=i);for(var v=arguments.length,w=Array(v>1?v-1:0),B=1;B<v;B++)w[B-1]=arguments[B];return c.produce(R,function(E){var b;return (b=a).call.apply(b,[h,E].concat(w))})}}var l;if(typeof a!="function"&&oe(6),s!==void 0&&typeof s!="function"&&oe(7),We(n)){var u=Ua(o),p=ho(o,n,void 0),d=!0;try{l=a(p),d=!1;}finally{d?wr(u):go(u);}return typeof Promise<"u"&&l instanceof Promise?l.then(function(R){return lo(u,s),uo(R,u)},function(R){throw wr(u),R}):(lo(u,s),uo(l,u))}if(!n||typeof n!="object"){if((l=a(n))===void 0&&(l=n),l===ja&&(l=void 0),o.D&&Ao(l,!0),s){var m=[],y=[];Re("Patches").M(n,l,m,y),s(m,y);}return l}oe(21,n);},this.produceWithPatches=function(n,a){if(typeof n=="function")return function(l){for(var u=arguments.length,p=Array(u>1?u-1:0),d=1;d<u;d++)p[d-1]=arguments[d];return o.produceWithPatches(l,function(m){return n.apply(void 0,[m].concat(p))})};var s,i,c=o.produce(n,a,function(l,u){s=l,i=u;});return typeof Promise<"u"&&c instanceof Promise?c.then(function(l){return [l,s,i]}):[c,s,i]},typeof r?.useProxies=="boolean"&&this.setUseProxies(r.useProxies),typeof r?.autoFreeze=="boolean"&&this.setAutoFreeze(r.autoFreeze);}var t=e.prototype;return t.createDraft=function(r){We(r)||oe(8),bt(r)&&(r=Ql(r));var o=Ua(this),n=ho(this,r,void 0);return n[ie].C=!0,go(o),n},t.finishDraft=function(r,o){var n=r&&r[ie];process.env.NODE_ENV!=="production"&&(n&&n.C||oe(9),n.I&&oe(10));var a=n.A;return lo(a,o),uo(void 0,a)},t.setAutoFreeze=function(r){this.D=r;},t.setUseProxies=function(r){r&&!qa&&oe(20),this.O=r;},t.applyPatches=function(r,o){var n;for(n=o.length-1;n>=0;n--){var a=o[n];if(a.path.length===0&&a.op==="replace"){r=a.value;break}}n>-1&&(o=o.slice(n+1));var s=Re("Patches").$;return bt(r)?s(r,o):this.produce(r,function(i){return s(i,o)})},e}(),ce=new nu,au=ce.produce;ce.produceWithPatches.bind(ce);ce.setAutoFreeze.bind(ce);ce.setUseProxies.bind(ce);ce.applyPatches.bind(ce);ce.createDraft.bind(ce);ce.finishDraft.bind(ce);var Cr=au;var ge=Ie.actions,Ja=Jt({block:Ye("block"),dimension:Ye("dimension"),formatter:Ye("formatter"),report:Ye("report"),section:Ye("section"),variant:Ye("variant")}),ne=Jt({block:Je("block"),dimension:Je("dimension"),formatter:Je("formatter"),report:Je("report"),section:Je("section"),variant:Je("variant")}),Qa=Jt({block:Te("block"),dimension:Te("dimension"),formatter:Te("formatter"),report:Te("report"),section:Te("section"),variant:Te("variant")}),Za=Jt({block:At("block"),dimension:At("dimension"),formatter:At("formatter"),report:At("report"),section:At("section"),variant:At("variant")}),Xa=Jt({block:Wa("block"),section:Wa("section")});function Jt(e){return (t,r)=>{let o=e[t];if(!o)throw new Error(`Attempting to dispatch action for invalid entity type '${t}'`);return o(r)}}function Qe(e,t){return (r,o)=>{let a=o().records.requests[e][t],s=!a||a.status==="UNINITIALIZED"?"LOADING":"FETCHING";r(ge.setRequest({key:t,type:e,status:s}));}}function Tt(e,t,r,o){return n=>{typeof window=="object"&¬ifications.show({autoClose:3e3,color:"red",id:t,message:o,title:"Error"}),n(ge.setRequest({key:t,type:e,status:"FAILURE",error:{code:r,message:o}}));}}function Ye(e){return t=>{let r=Po(e,t);return (o,n,a)=>(o(Qe(e,r)),ae(a,"create",e)(t).then(i=>(i.ok===!0?o(ge.setCreateRequest({key:r,operation:"create",status:"SUCCESS",type:e,data:i.data})):o(Tt(e,r,i.status,i.error)),i)))}}function cu(e){return t=>{let r=Po(e,t[0]);return (o,n,a)=>(o(Qe(e,r)),ae(a,"createBulk",e)(t).then(i=>(i.ok===!0?o(ge.setCreateRequest({key:r,operation:"createBulk",status:"SUCCESS",type:e,data:i.data})):o(Tt(e,r,i.status,i.error)),i)))}}function Ha(e,t,r){return r.replace(new RegExp(e,"g"),t)}function lu(e){return e.section_id!==void 0}function uu(e){return e.report_id!==void 0}function Wa(e){return t=>{let{create:r}=t;return (o,n,a)=>Ye(e)(r)(o,n,a).then(async i=>{if(i.ok){let{data:c}=i,{id:l}=c,{update:u}=t,p=rs(e,{id:l});if(o(Qe(e,`${p}`)),e==="block"&&lu(r)){let d=Cr(u,h=>{h.id=l;}),{contentByLocale:m}=d;m&&(d=Cr(d,h=>{h.id=l,h.contentByLocale=Object.keys(m).reduce((v,w)=>{let B=m?m[w]:{};return v[w]={...B,id:l},v},{});}));let R=d.inputs?.map(h=>({type:h.type,id:h.id,inputAction:{operation:"create",input:{input_id:h.id,block_id:d.id}}}));return R&&R.length>0&&Ya(e)([d,...R])(o,n,a).then(()=>Je("section")({id:d.section_id,include:!0})(o,n,a).then(h=>(h.ok&&o(ge.setRequest({key:p,type:e,status:"SUCCESS",data:h.data})),h))),Te(e)(d)(o,n,a).then(h=>(h.ok&&o(ge.setRequest({key:p,type:e,status:"SUCCESS",data:h.data})),h))}if(e==="section"&&uu(r)){let{id:d}=c,m=Cr(u,h=>{h.id=d;}),{blocks:y}=m,R=y?.map(h=>({type:h.type,blockcol:h.blockcol,blockrow:h.blockrow,section_id:d,locales:Object.keys(h.contentByLocale).map(v=>v)}));return R&&y&&await cu("block")(R)(o,n,a).then(h=>{if(h.ok){let v=h.data,w=[],B=v.map((E,b)=>{let D={...E},K=D.id,J=y[b];J.contentByLocale&&(D.contentByLocale=Object.keys(J.contentByLocale).reduce((A,P)=>{let F=J.contentByLocale[P];return A[P]={...F,content:{...F.content},id:D.id},A},{}));let{settings:H}=J,{contentByLocale:U,id:k}=D;D.settings=H;let V={id:k,contentByLocale:U,settings:H};return J.inputs.map(A=>A.id).reduce((A,P)=>{let F=y.findIndex(Q=>Q.id===P);return [...A,F]},[]).map(A=>({...v[A],originalBlock:y[A]})).forEach(A=>{let{id:P,type:F,originalBlock:Q}=A;if([N.SELECTOR,N.VIZ].includes(F)){if(V.contentByLocale?.logic?.content?.api){let Y=V.contentByLocale?.logic.content.api;V.contentByLocale.logic.content.api=Ha(`(selector${Q.id}id)`,`selector${P}id`,Y);}if(V.contentByLocale?.logic?.content?.logic){let Y=V.contentByLocale.logic.content.logic;V.contentByLocale.logic.content.logic=Ha(`(selector${Q.id}id)`,`selector${P}id`,Y);}}w.push({id:P,inputAction:{operation:"create",input:{input_id:P,block_id:K}}});}),V});return Ya("block")([...B,...w])(o,n,a)}}),Te(e)(m)(o,n,a).then(h=>(h.ok&&o(ge.setRequest({key:p,type:e,status:"SUCCESS",data:h.data})),h))}return Te(e)({...u,id:c.id})(o,n,a)}})}}function Je(e){return t=>{let r=es(e,t);return (o,n,a)=>(o(Qe(e,r)),ae(a,"read",e)(t).then(i=>(i.ok===!0?o(ge.setReadRequest({key:r,operation:"read",status:"SUCCESS",type:e,data:i.data})):o(Tt(e,r,i.status,i.error)),i)))}}function Te(e){return t=>{let r=wo(e,t);return (o,n,a)=>(o(Qe(e,r)),ae(a,"update",e)(t).then(i=>(i.ok===!0?o(ge.setUpdateRequest({key:r,operation:"update",status:"SUCCESS",type:e,data:i.data})):o(Tt(e,r,i.status,i.error)),i)))}}function Ya(e){return t=>{let r=wo(e,t[0]);return (o,n,a)=>(o(Qe(e,r)),ae(a,"updateBulk",e)(t).then(i=>(i.ok===!0?o(ge.setUpdateRequest({key:r,operation:"updateBulk",status:"SUCCESS",type:e,data:i.data})):o(Tt(e,r,i.status,i.error)),i)))}}function At(e){return t=>{let r=ts(e,t);return (o,n,a)=>(o(Qe(e,r)),ae(a,"delete",e)(t).then(i=>{i.ok===!0?o(ge.setDeleteRequest({key:r,operation:"delete",status:"SUCCESS",type:e,data:i.data})):o(Tt(e,r,i.status,i.error));}))}}function Po(e,t){if(e==="variant"){let r=t;return `create(variant, [${r.dimension_id}, ${r.name}])`}return `create(${e}, [${Object.keys(t)}])`}function es(e,t={}){let r=t.id==null?null:`'${t.id}'`;return `read(${e}, ${r}, ${!!t.include})`}function wo(e,t){let{id:r,...o}=t;return `update(${e}, ${r}, [${Object.keys(o)}])`}function ts(e,t){return `delete(${e}, ${t})`}function rs(e,t){let r=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${r})`}var{setStatus:os,setPreviews:pu,setSectionState:ns,resetSectionState:as,setCurrentLocale:du,setPreferredLocale:mu,addRunConsumersRunning:ss,removeRunConsumersRunning:is}=Ae;function fu(e,t){return async(r,o,n)=>{let a=await n.validateVariantSlug({dimension:e,slug:t});if("error"in a)throw new Error(a.error);return a.data}}function gu(e){return async(t,r,o)=>{let n=await o.searchReport(e);if("error"in n)throw new Error(n.error);return n.data}}function yu(){return async(e,t,r)=>{let o=await r.regenerateSearch(void 0);if("error"in o)throw new Error(o.error);return o.data}}function Qt(e){return async(t,r,o)=>{let n=await o.readMember(e);if("error"in n)throw new Error(n.error);return n.data}}function hu(e){return async(t,r,o)=>{let n=await o.searchMember(e);if(n.ok===!0)return n.data;throw new Error(n.error)}}async function cs(e,t,r,o){let n=r().status,a={...n,...o},s={...n.query,...o.query};Object.keys(s).forEach(c=>s[c]===void 0&&delete s[c]);let i={...a,query:s};t(os(i)),n.activeSection&&t(ls(e,{query:s}));}function Ru(e,t){return async(r,o)=>cs(e,r,o,{query:{[t]:void 0}})}function bu(e,t,r){return async(o,n)=>cs(e,o,n,{query:{[t]:r}})}function ls(e,t){return async(r,o)=>{let n=o(),{currentLocale:a}=n.status,s=n.records.entities.block,i=e.formatterFunctions[a],{parsedParams:c,statusPayload:l}=Na(n.status,t),{sid:u,bid:p,previews:d,query:m}=c;Object.keys(l).length&&r(Ae.setStatus(l));let y={...br(d),locale:a,...Sr()},R={variables:y,query:m,locale:a};r(Ae.addRunConsumersRunning([u]));let h=n.records.entities.section[u],v=async w=>r(Qt(w));try{let w=await Rr(s,h&&[h],p,i,R,void 0,v),{variables:B,status:E}=w;r(kr.setVariableChange({attributes:y,variables:B,status:E})),r(Ae.removeRunConsumersRunning([u]));}catch(w){console.log("Error in runConsumers client side: recalculateVariables",w);}}}function Su(e){return async(t,r,o)=>{let n=await o.readMetadata(e);if("error"in n)throw new Error(n.error);return n.data}}function Eu(e){return async(t,r,o)=>{let n=await o.urlProxy({url:e});if("error"in n)throw new Error(n.error);return n.data}}function Au(){return async(e,t,r)=>{let o=await r.searchRole("");if("error"in o)throw new Error(o.error);return o.data}}function Tu(e){return async(t,r,o)=>{let n=await o.searchUser(e);if("error"in n)throw new Error(n.error);return n.data}}function vu(e){return async(t,r,o)=>{let n=await o.readUser({user_id:e});if("error"in n)throw new Error(n.error);return n.data}}function _u({user:e}){return async(t,r,o)=>{let n=await o.updateUser(e);if("error"in n)throw new Error(n.error);return n.data}}function ku(e){return async(t,r,o)=>{let n=await o.updateMyData(e);if("error"in n)throw new Error(n.error);return n.data}}function Br(e){let{removeBlocks:t}=Ie.actions;return async r=>{await r(t(e));}}function Io(e){let{addBlocks:t}=Ie.actions;return async r=>{await r(t(e));}}function Pu(e){return async(t,r,o)=>{let n=await o.readPrivateBlocks({...e,roles:[]});if("error"in n)throw new Error(n.error);return n.data}}function wu(e){return async(t,r,o)=>{let n=await o.revalidateUrl({target:e.target});if("error"in n)throw new Error(n.error);return n.data}}function Iu(e){return async(t,r,o)=>{let n=await o.revalidateReport({reportId:e.reportId,profilePrefix:e.profilePrefix});if("error"in n)throw new Error(n.error);return n.data}}var us=e=>configureStore({reducer:{[Ie.name]:Ie.reducer,[vr.name]:vr.reducer,[_r.name]:_r.reducer},middleware(t){return t({thunk:{extraArgument:Kt("/api/cms/")}})}}),Xt=createWrapper(us);function Mu(e){let t=process.cwd(),r=Lu.resolve(t.endsWith("/example")?t.replace("/example",""):t,"package-lock.json"),o;try{let n=JSON.parse(Rc.readFileSync(r,"utf-8"));o=n.dependencies&&n.dependencies[e]&&n.dependencies[e].version!=="file:packages/reports"?n.dependencies[e].version:"0.dev";}catch{o="0.vercel";}return o||"Version not found"}function Ou(e){let t=()=>Promise.resolve({}),{pathSegmentsKey:r="bespoke",preResolve:o=t,postResolve:n=t}=e||{};return ee.withPageAuthRequired({getServerSideProps:Xt.getServerSideProps(a=>{let{dispatch:s}=a;return async i=>{let c=i.query[r],[l]=Array.isArray(c)?c:[c];await s($t);let u=await Mu("@datawheel/bespoke"),p=await o(a,i);if("redirect"in p)return {props:p};l==="reports"&&(ps(i.query[r])?await Promise.all([s(ne("formatter",{})),s(ne("report",{id:ps(i.query[r]),include:!0})),Ae.setStatus({isCMS:!0})]):await Promise.all([s(ne("report",{include:"dimensions"})),Ae.setStatus({isCMS:!0})])),l==="metadata"&&await s(ne("report",{include:"dimensions"})),l==="formatters"&&await s(ne("formatter",{}));let d=await n(a,i);return {props:{...p,...d,bespokeVersion:u}}}})})}function ps(e){if(e==null||e==="")return;let[,t]=Array.isArray(e)?e:[e];return Number.parseInt(t)||void 0}var {locales:Du}=$(),Uu={pathSegment:"path",formatterFunctions:Du.reduce((e,t)=>({...e,[t]:{}}),{}),profilePrefix:"path",siteProps:{}};createContext(Uu);$();var hs=e=>e.records.entities.block;function kt(e){return t=>Object.values(t.records.entities[e])}var Rs=kt("section"),bs=kt("formatter");function Xu(e){let{fallback:t=!0,limit:r=50}=e||{};return async o=>{let{defaultLocale:n=fe,locales:a=[]}=o,s=[];if(r>0){let i=a.find(u=>u===n),{searchMember:c}=await Ue().then(dt),l=await c({query:"",limit:r,format:"plain",locale:i||fe,noImage:!1,visible:!0,report:[],dimension:[],variant:[],includes:!0});l.ok===!0&&(s=l.data.results.map(u=>({locale:a.find(p=>p===u.locale),params:{bespoke:[u.variant.slug,u.slug]}})));}return {fallback:t,paths:s}}}function ep(e){let{pathSegmentsKey:t="bespoke"}=e||{};try{return Xt.getStaticProps(r=>{let{dispatch:o}=r;return async n=>{await o($t);let a=new Date().toISOString(),{locale:s=fe,params:i={}}=n,c=Array.from(tp(i[t]));if(c.length===0)return await Promise.all([o(ne("formatter",{})),o(ne("report",{include:!0}))]),{props:{buildTime:a}};let l=await o(Qt({mode:"slugs",locale:s,slugs:c,output:"full"}));o(Zt.setPreviews(l.results)),await Promise.all([o(ne("formatter",{})),o(ne("report",{id:l.results.map(b=>b.report_id),include:!0,locales:[s]}))]);let u=r.getState(),p=bs(u),d=co(p,s),m=Rs(u),y=hs(u),R={...y},h={},v=Object.values(y).reduce((b,O)=>("access"in O.settings&&!["public","guest"].some(D=>!O.settings.access||O.settings.access.includes(D))&&b.push(O.id),b),[]);v=v.concat(zt(v,Object.values(R)));let w=v.filter(b=>R[b].settings[Xo.FALLBACK]);v.forEach(b=>{w.includes(b)&&(h[b]={...R[b],type:"fallback",original_type:R[b].type}),delete R[b];}),await o(Br(v)),await o(Io(h));let B={...br(l.results),locale:s,...Sr()},E=async b=>await o(Qt(b));return await Rr({...R,...h},m,void 0,d,{locale:s,query:i,variables:B},void 0,E,"report").then(async b=>{let O=Object.keys({...R,...h}).reduce((D,K)=>(b.variables[K]&&b.status[K]||D.push(K),D),[]);await o(Br(O)),await o(kr.setVariableChange({...b,attributes:B}));}),{props:{buildTime:a}}}})}catch(r){console.log("ERROR SSR",r);}}function tp(e=[]){let t=[].concat(e),r=0;return {next(){return {value:{variantSlug:t[r++],memberSlug:t[r++]},done:r>t.length}},[Symbol.iterator](){return this}}}
|
|
66
66
|
|
|
67
67
|
export { Ts as BespokeGetSession, ks as BespokeHandleAuth, Ou as BespokeManagerServerSideProps, Xu as BespokeRendererStaticPaths, ep as BespokeRendererStaticProps, Ds as BespokeSearchUsersByMetadata, Cs as BespokeUpdateCurrentUserAppMetadata, Ls as BespokeUpdateCurrentUserMetadata, Os as BespokeWithApiRoleAuthRequired, el as ReportCrosswalkHandler, dt as dbApiFactory, Zr as endpointKey, Zc as endpointNextJsHandlerFactory, Ue as getDB, $t as useDatabaseApi };
|