@datawheel/bespoke 0.8.0-rc.11 → 0.8.0-rc.12
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
|
@@ -60,6 +60,6 @@ Error initializing sequelize connection:
|
|
|
60
60
|
`,`Error message: ${d.message}`),"N/A"}})}var Jr=(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]=dt(a[s],t,r):Array.isArray(a[s])?a[s]=a[s].filter(n).map(i=>typeof i=="object"?Jr(i,t,r):typeof i=="string"?dt(i,t,r):i):typeof a[s]=="object"&&a[s]!==null&&!(a[s]instanceof Date)&&(a[s]=Jr(a[s],t,r));}),a},dr=Jr;var ga=e=>Array.isArray(e)?e.map(t=>typeof t=="string"?{allowed:"always",label:t,id:t}:{allowed:"always",label:t.id,...t}):[];var Yr=(e,t,r)=>{if(!r)return !1;if(e===Ce.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 Qr(e,t,r,o,n=!1){let{variables:a}=ce(o),s=dr({logic:t},r,o).logic,i=ze("variables",a,s,r,void 0,o),{vars:c,log:l,error:p}=i,u=c.type||Ce.SINGLE,d=c.component||"Selector",m=c.hideLabel||"false",y=c.resetSectionVars||"false",h=c.name||"Unlabeled Selector",R=ga(c.options||[]),A=b=>u===Ce.MULTI&&!Array.isArray(b)?[b]:b,P=c.defaultValue,I;if(P&&(P=A(P),Yr(u,P,R)&&(I=P)),!I){let b=R&&R[0]&&R[0].id||R[0]||"";I=A(b);}if(n&&typeof window<"u"){let b=`selector${e}id`,O=new URLSearchParams(window.location.search),F=Object.fromEntries(O)[b];F&&!Yr(u,F,R)&&F!==void 0&&(O.delete(b),window.history.replaceState(null,null,`?${O.toString()}`));}return {config:{name:h,type:u,options:R,defaultValue:I,component:d,hideLabel:m,resetSectionVars:y},log:l,error:p}}function Zr(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 Xr(e,t,r,o,n=!1){let{variables:a}=ce(o),s=dr({logic:t},r,o).logic,i=ze("variables",a,s,r,void 0,o),{vars:c,log:l,error:p}=i;if(n&&typeof window<"u"){let d=`multihierarchySelector${e}-value`,m=`multihierarchySelector${e}-type`,y=new URLSearchParams(window.location.search),h=Object.fromEntries(y),R=h[d],A=h[m];R&&R!==void 0&&A&&A!==void 0&&!Zr(c.data,A,R)&&(y.delete(d),y.delete(m),window.history.replaceState(null,null,`?${y.toString()}`));}return {config:c,log:l,error:p}}var Zc=(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===Ce.MULTI){let l=s?s.split(","):r.defaultValue,p=r.options.filter(u=>l.includes(u.id));return {[`selector${e}id`]:l,[`selector${e}label`]:(p||[]).map(u=>u.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}},ya=Zc;var Xc=(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,p=s||c,u=l?l.split(","):r.defaultValue||[],d=p||r.defaultValueType||"",m=r.data?.filter(y=>u.includes(`${y[`${d} ID`]}`))||[];return {[`multihierarchySelector${e}id`]:u,[`multihierarchySelector${e}label`]:[...new Set((m||[]).map(y=>y[d]))],[`multihierarchySelector${e}type`]:d}},ha=Xc;var{localeDefault:Ra,locales:el}=j(),tl=Object.values(Dr),rl=(e,t=Ra)=>e&&tl.includes(e.type)?{locale:Ur,locales:[Ur]}:{locale:t,locales:el},ba=(e,t=Ra)=>{if(!e)return {};let{locale:r}=rl(e,t);return e.contentByLocale?.[r]?.content};function ol(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 Sa=ol;function eo(e){return e.type===B.SECTION_FLAG&&e.inputs.length===0&&e.consumers.length===0}var $e=lr(process.env.NEXT_PUBLIC_REPORTS_DEBUG),il=process.env.REPORTS_ORIGIN||"";Ea(fr,{retries:3,retryDelay:Ea.exponentialDelay,onRetry:(e,t,r)=>{console.log("Generator request failed. Retrying... Count: ",e),console.log("URL: ",r.url),console.log(t.message);}});fr.interceptors.request.use(e=>({...e,requestStart:Date.now()}));fr.interceptors.response.use(e=>({...e,requestDuration:new Date().getTime()-e.config.requestStart}),e=>Promise.reject(e));var cl=(e,t,r)=>{let o=dt(e,t,r);return o.startsWith("http")||(o=`${il}${o.startsWith("/")?"":"/"}${o}`),o},{urlProxy:ll}=zt("/api/cms");function mr(e){return e.ok!==void 0}function to(e){this.message=e,this.name="ApiFetchException";}var Aa=process.env.NEXT_PUBLIC_REPORTS_API_FETCH_TIMEOUT||0;async function ul(e,t,r="en",o){let n=Date.now(),a=e,s,c=new URL(e).searchParams;if(c.has("bespoke_slugs")){let u=new RegExp(`[?&]bespoke_slugs=${c.get("bespoke_slugs")}`,"g");a=a.replace(u,"");}let l=o?o.settings:{},p=!!(l&&l.useProxy&&l.useProxy==="true");if(typeof window=="object"&&p){let u=await ll({url:a,timeout:Aa});if(u.ok===!0)s=u.data;else throw new to(u?.error)}else try{let u=await fr({url:a,timeout:Aa});if(u.status===200)u.headers["content-type"]==="text/csv"?s=csvParse(u.data):s=u.data;else throw new to("No response")}catch(u){throw new to(u.message)}if(c.has("bespoke_slugs")){let u=c.get("bespoke_slugs");if(u){let d=u.split(",");if(d.length===3){let[m,y,h]=d,R=Tt(s,h);if(R&&Array.isArray(R)){let A=Array.from(new Set(R.map(E=>`${E[y]}`).filter(E=>!["","undefined"].includes(E)))),P=A.join("").length>2e3,I=await t({mode:P?"whole":"ids",ids:P?void 0:A,all:!1,locale:r,variant:[parseInt(m,10)],output:"lite",limit:A.length+1}).then(E=>{let b=[];return mr(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: ${h}`),console.error(` Url ${e}`),o&&console.error(` From Section ${o.section_id} and Block ${o.id}`),console.error(E),[]));if(I){let E=Object.fromEntries(I.map(b=>[b.id,`/${b.variant_slug}/${b.slug}`]));R.map(b=>(b.bespoke_slug=E[b[y]]?E[b[y]]:null,b));}}}}}return {data:s,requestDuration:Date.now()-n}}function pl(e){this.name="BlockException",this.message=e;}async function Ta(e,t,r,o){let{locale:n,variables:a,query:s}=ce(r),i=ml(e,r,a,t),c=null,l=e.contentByLocale?.logic?.content?.api,p=null,u=null,d=null;if(!i)return {outputVariables:{},renderVariables:{},status:{allowed:!1,hiddenByCascade:e.id}};if(e.type===B.FALLBACK)return {outputVariables:{},renderVariables:{},status:{allowed:i,hiddenByCascade:e.id}};if(l){d=cl(l,t,r);let E=d.split(kn).filter(D=>D!==""),b=[];for(let D=0;D<E.length;D++){let F=E[D];new RegExp("^(?:[a-z+]+:)?//","i").test(d)||(F=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/${F}`.replace(/([^:]\/)\/+/g,"$1")),b.push(ul(F,o,n,e).catch(W=>{throw new pl(` Excecution of ${e.type}-${e.id} in section ${e.section_id} in report ${a.report_name} (${a.report_id}) failed.
|
|
61
61
|
Error fetching ${F}.
|
|
62
62
|
Message: ${W.message}.
|
|
63
|
-
`)}));}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),u=O.reduce((D,F)=>D+JSON.stringify(F.data).length/1024,0),p=Math.max(...O.map(D=>D.requestDuration));}if(e.type===B.SELECTOR){let{config:E,log:b,error:O}=Qr(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:ya(e.id,s,E),renderVariables:E,status:{log:b,error:O,allowed:i}}}if(e.type===B.MULTIHIERARCHY_SELECTOR){let{config:E,log:b,error:O}=Xr(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:ha(e.id,s,E),renderVariables:E,status:{log:b,error:O,allowed:i}}}if(e.type===B.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:i}};if(e.type===B.RELATED){let E=e.contentByLocale?.logic?.content?.simple?.compare||"variant",b=e.contentByLocale?.logic?.content?.simple?.limit||4,O=Object.keys(a).filter(T=>T.startsWith("report_id")).map(T=>a[T]),D=Object.keys(a).filter(T=>T.startsWith("dimension_id")).map(T=>a[T]),F=Object.keys(a).filter(T=>T.startsWith("variant_id")).map(T=>a[T]),Z=Object.keys(a).filter(T=>T.startsWith("id")).map(T=>a[T]);if(!Z.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:!1}};let W=await o({mode:"ids",locale:n,ids:Z,output:"lite",variant:F}).then(T=>{let N=[];return mr(T)?T.ok&&(N=T.data.results):N=T.results,N&&Array.isArray(N)?N:[]}).catch(T=>(console.log("Error getting related members",T),[]));if(D.length>1){let T=Object.keys(a).filter(U=>U.startsWith("variant_slug")).map(U=>a[U]),N=W.map((U,V)=>{let M={mode:"related",locale:n,related:b??4,current_ids:[U.content_id],output:"full",variant_ids:[U.variant_id]};return V===0&&(M.include_ids=[U.content_id]),M}),_=await Promise.all(N.map(U=>o(U))).then(U=>U.flatMap(V=>{let M=[];return mr(V)?V.ok&&(M=V.data.results):M=V.results,M&&Array.isArray(M)?M:[]})).catch(U=>(console.log("Error getting related members",U),[])),w=_.reduce((U,V)=>{let M=V.variant_slug;return U[M]||(U[M]=[]),U[M].push(V),U},{}),$=[],X=Object.keys(w),x=[{combination:[],index:0}];for(;x.length>0;){let U=x.pop();if(!U)continue;let{combination:V,index:M}=U;if(M===X.length){$.push(V);continue}let de=X[M],Je=w[de];for(let Yt of Je)x.push({combination:[...V,Yt],index:M+1});}return {outputVariables:{related_reports:$.map(U=>{let V=U.sort((M,de)=>T.indexOf(M.variant_slug)-T.indexOf(de.variant_slug));return {entities:V,link:"/"+V.map(M=>`${M.variant_slug}/${M.slug}`).join("/")}})},renderVariables:{},status:{log:[],allowed:_.length>0}}}let L=W.map(T=>T.content_id),z={mode:"related",locale:n,related:b??4,current_ids:L,output:"full"};E&&(E==="report"?z.report_ids=O:E==="dimension"?z.dimension_ids=D:z.variant_ids=F);let H=await o(z).then(T=>{let N=[];return mr(T)?T.ok&&(N=T.data.results):N=T.results,N&&Array.isArray(N)?N:[]}).catch(T=>(console.log("Error getting related members",T),[]));return {outputVariables:{related_reports:H.map(T=>({entities:[T],link:`/${T.variant_slug}/${T.slug}`}))},renderVariables:{},status:{log:[],allowed:H.length>0}}}let{logic:m}=ba(e,n),y=dt(m,t,r),h=ze("resp",c||{},y,t,a,r),{vars:R,error:A,log:P}=h;if(typeof R!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:P,duration:p,responseSize:u,resp:c,api:d,allowed:i}};let I=Object.keys(R).reduce((E,b)=>({...E,[`${e.type}${e.id}${b}`]:R[b]}),{});return {renderVariables:R,outputVariables:[B.GENERATOR,B.SECTION_FLAG].includes(e.type)?R:I,status:{log:P,error:A,duration:p,responseSize:u,resp:c,api:d,allowed:i}}}function dl(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=>ro(l,t,o,!1,a,n,s));}})}var ro=(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(p=>ro(p,t,r,o,!1,a,s));}),i&&i.consumers.length&&n&&dl(i,t,e,r,a,n,s),r},ml=(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=ce(t),{error:s,output:i}=ze("variables",r,e.settings.allowedLogic||"return false;",o,void 0,a);s||(n=!!i);}return n},gr=async(e,t,r,o,n,a={},s,i="section")=>{let c=i==="section",l=ce(n),p=l.variables,u={...a.variables??{}},d={...a.status??{}},m=new Set,y=[],h={};r?h={...h,[r]:e[r]}:t?h=(t??[]).reduce((L,{id:z})=>({...L,...Sa(z,e)}),{}):h=Object.values(e).filter(L=>eo(L)).reduce((L,z)=>({...L,[z.id]:z}),{});let R=Object.values(h).filter(L=>eo(L));if(R.length>0){$e&&console.log("%crunConsumers: calculating section flags","color:purple",R.map(v=>v.id).join(", "));let L=Object.fromEntries(await Promise.all(R.map(async v=>[v.id,await Ta(v,o,{...l,variables:p,locale:p.locale},s).then(T=>{let{outputVariables:N,status:_}=T;if(_.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${v.id}, Section ${v.section_id}) failed with message: ${_.error}. `);d[v.id]={allowed:!1,error:_.error},u[v.id]={};}return (v.consumers.length>0||[B.GENERATOR,B.SECTION_FLAG,B.RELATED].includes(v.type))&&_.allowed&&Object.keys(N).length>0?u[v.id]=N:u[v.id]={},i==="report"?(d[v.id]={allowed:_.allowed},[B.GENERATOR,B.SECTION_FLAG].includes(v.type)&&_.api&&(d[v.id].api=_.api)):d[v.id]=_,T})]))),H=Object.entries(L).filter(([v,T])=>!T.outputVariables[Pn]).map(([v])=>Number(v));m=new Set(H.map(v=>e[v].section_id)),Object.values(h).filter(v=>m.has(v.section_id)).forEach(v=>{y.push(v.id),delete h[v.id];}),$e&&console.log("%crunConsumers: removing sections","color:purple",m.keys());}let A=m.size>0?Object.fromEntries(Object.entries(e).filter(([L,z])=>m?.has(z.section_id)?(y.includes(z.id)||y.push(z.id),!1):!0)):e;if(y.length>0&&(A=Object.fromEntries(Object.entries(A).map(([L,z])=>{let H={...z,inputs:z.inputs.filter(v=>!y.includes(v)),consumers:z.consumers.filter(v=>!y.includes(v))};return [L,H]}))),!r&&!t)return {variables:{...a.variables??{},...u},status:{...a.status??{},...d}};i==="report"&&y.length>0&&y.forEach(L=>{delete u[L],delete d[L],delete e[L];}),$e&&console.log("%crunConsumers: running root blocks","color:purple",Object.keys(h));let P=Object.keys(h).reduce((L,z)=>{let H=new Date,v=ro(Number(z),A,[],!r,!0,c).map(_=>_.split("-")),N=(new Date().getTime()-H.getTime())/1e3;return $e&&console.log(`%cResolved dependencies for ${z} (${N.toFixed(2)}s)`,"color:blue"),[...L,...v]},[]),I=new Date,E=Object.keys(h).reduce((L,z)=>L.includes(z)?[...L]:[z,...L],nl(P)),O=(new Date().getTime()-I.getTime())/1e3;$e&&console.log(`%cResolved DAG (${O.toFixed(2)}s): `,"color:green",E);async function D(L,z){let H=new Map;for(let v of L){let T=z[v],_=Promise.all(T.inputs.filter(w=>L.includes(String(w))).map(w=>H.get(Number(w)))).then(async()=>{let w=T.inputs.reduce((V,M)=>({...V,...u[M]}),p),$=T.inputs.find(V=>(T.settings?.ignoreCascade?T.settings?.ignoreCascade:[]).includes(V)?!1:!d[V]||!d[V].allowed||d[V].hiddenByCascade);if($){d[v]={allowed:!1,hiddenByCascade:d[$].hiddenByCascade||$},u[v]={};return}let X=new Date,x=await Ta(T,o,{...l,variables:w,locale:w.locale},s).then(({outputVariables:V,status:M})=>{if(M.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${v}, Section ${T.section_id}) failed with message: ${M.error}. `);d[v]={allowed:!1,error:M.error},u[v]={};}(T.consumers.length>0||[B.GENERATOR,B.SECTION_FLAG,B.RELATED].includes(T.type))&&M.allowed&&Object.keys(V).length>0?u[v]=V:u[v]={},i==="report"?(d[v]={allowed:M.allowed},[B.GENERATOR,B.SECTION_FLAG].includes(T.type)&&M.api&&(d[v].api=M.api)):d[v]=M;}),U=(new Date().getTime()-X.getTime())/1e3;return $e&&console.log(`%cBlock ${T.id} resolved in ${U.toFixed(3)}s`,U>500?"color:red":"color:green"),x});H.set(Number(v),_);}await Promise.all(Array.from(H.values()));}let F=new Date;await D(E,A);let W=(new Date().getTime()-F.getTime())/1e3;return $e&&console.log(`%cResolved Variables (${W.toFixed(2)}s): `,"color:green"),{variables:{...a.variables??{},...u},status:{...a.status??{},...d}}};function fl(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 yr=fl;function yl(){let{publicRuntimeConfig:e}=gl(),t=e.bespoke_report_env_vars||{};return {...Object.keys(t).reduce((r,o)=>(r[`ENV_${o}`]=t[o]||"N/A",r),{})}}var hr=yl;function hl(e,t){return +(e<t)-+(e>t)}function Rr(e,t,r="ordering"){return hl(t[r],e[r])}var va=(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:Ie,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(p=>isObject(p)?i(p):p):isObject(c[l])&&(c[l]=i(c[l]));return c}return i(e)};var{localeDefault:bl}=j();var $t=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});$t.define({consumers:[$t],inputs:[$t]});var ka=new schema.Entity("variant"),Pa=new schema.Entity("dimension",{variants:[ka]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),wa=new schema.Entity("section",{blocks:[$t]}),Sl=new schema.Entity("report",{dimensions:[Pa],sections:[wa]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(Rr):[]}}}),El=new schema.Entity("formatter"),Al={report:Sl,section:wa,block:$t,dimension:Pa,variant:ka,formatter:El};function br(e,t){let r=Al[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:mt(o,"report"),dimension:mt(o,"dimension"),section:mt(o,"section"),block:mt(o,"block"),variant:mt(o,"variant"),formatter:mt(o,"formatter")}}function mt(e,t){return e.hasOwnProperty(t)?e[t]:{}}var xa=(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}},oo=(e=[],t=bl)=>e.reduce((r,o)=>{let n=va({vars:["n"],logic:o.content.logic},{},t,{});return r[o.name]=n,r},{});var ue=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",Sr=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[ue];Sr.includes(ue)||Sr.push(ue);var vl={localeDefault:ue,locales:Sr,currentLocale:ue,preferredLocale:ue,showToolbar:!1,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:!0,settings:!1,reportEditor:!1},isCMS:!1},Er=createSlice({name:"status",initialState:vl,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]};}},extraReducers:{[HYDRATE]:(e,t)=>({...e,previews:t.payload.status.previews})}}),qe=Er.actions;var wl={attributes:{},variables:{},status:{}},Ar=createSlice({name:"variables",initialState:wl,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}})}}),Tr=Ar.actions;var Bl={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}}},_e=createSlice({name:"records",initialState:Bl,reducers:{set:(e,t)=>{let r=t.payload;return {entities:qt(e.entities,r.entities||{}),requests:qt(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=br(r.type,o),a=qt(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=_r(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=_r(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=br(r.type,r.data),n=qt(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=br(r.type,o),a,s,i;if(r.type==="block"&&!Array.isArray(r.data)){let l=e.entities.block[r.data.id].inputs,p=n.block[r.data.id].inputs;a=l.length!==p.length,a&&(i=l.length>p.length,s=i?l.filter(u=>!p.includes(u))[0]:p.filter(u=>!l.includes(u))[0]),Object.values(n.block).forEach(u=>{u.block_input&&delete n.block[u.id];});}let c=qt(e.entities,n);if(e.entities=c,r.type==="dimension"){let l=r.data;e.entities.report[l.report_id].dimensions=_r(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=_r(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(p=>p!==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`;Cl(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 qt(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],...t[r]}]))}function _r(e,t){return e.map(n=>t[n]).sort(Rr).map(n=>n.id)}function Cl(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=Vl[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 gt(e){return !!e&&!!e[se]}function Ke(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)===zl}(e)||Array.isArray(e)||!!e[Da]||!!(!((t=e.constructor)===null||t===void 0)&&t[Da])||fo(e)||go(e))}function Kt(e,t,r){r===void 0&&(r=!1),ht(e)===0?(r?Object.keys:So)(e).forEach(function(o){r&&typeof o=="symbol"||t(o,e[o],e);}):e.forEach(function(o,n){return t(n,o,e)});}function ht(e){var t=e[se];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:fo(e)?2:go(e)?3:0}function co(e,t){return ht(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Ml(e,t){return ht(e)===2?e.get(t):e[t]}function Ua(e,t,r){var o=ht(e);o===2?e.set(t,r):o===3?e.add(r):e[t]=r;}function Ol(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function fo(e){return Ul&&e instanceof Map}function go(e){return Fl&&e instanceof Set}function Ge(e){return e.o||e.t}function yo(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=$l(e);delete t[se];for(var r=So(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 ho(e,t){return t===void 0&&(t=!1),Ro(e)||gt(e)||!Ke(e)||(ht(e)>1&&(e.set=e.add=e.clear=e.delete=Ll),Object.freeze(e),t&&Kt(e,function(r,o){return ho(o,!0)},!0)),e}function Ll(){oe(2);}function Ro(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function ye(e){var t=ql[e];return t||oe(18,e),t}function Ia(){return process.env.NODE_ENV==="production"||yt||oe(0),yt}function no(e,t){t&&(ye("Patches"),e.u=[],e.s=[],e.v=t);}function vr(e){lo(e),e.p.forEach(Nl),e.p=null;}function lo(e){e===yt&&(yt=e.l);}function Ba(e){return yt={p:[],l:yt,h:e,m:!0,_:0}}function Nl(e){var t=e[se];t.i===0||t.i===1?t.j():t.g=!0;}function ao(e,t){t._=t.p.length;var r=t.p[0],o=e!==void 0&&e!==r;return t.h.O||ye("ES5").S(t,e,o),o?(r[se].P&&(vr(t),oe(4)),Ke(e)&&(e=kr(t,e),t.l||Pr(t,e)),t.u&&ye("Patches").M(r[se].t,e,t.u,t.s)):e=kr(t,r,[]),vr(t),t.u&&t.v(t.u,t.s),e!==Fa?e:void 0}function kr(e,t,r){if(Ro(t))return t;var o=t[se];if(!o)return Kt(t,function(i,c){return Ca(e,o,t,i,c,r)},!0),t;if(o.A!==e)return t;if(!o.P)return Pr(e,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var n=o.i===4||o.i===5?o.o=yo(o.k):o.o,a=n,s=!1;o.i===3&&(a=new Set(n),n.clear(),s=!0),Kt(a,function(i,c){return Ca(e,o,n,i,c,r,s)}),Pr(e,n,!1),r&&e.u&&ye("Patches").N(o,r,e.u,e.s);}return o.o}function Ca(e,t,r,o,n,a,s){if(process.env.NODE_ENV!=="production"&&n===r&&oe(5),gt(n)){var i=kr(e,n,a&&t&&t.i!==3&&!co(t.R,o)?a.concat(o):void 0);if(Ua(r,o,i),!gt(i))return;e.m=!1;}else s&&r.add(n);if(Ke(n)&&!Ro(n)){if(!e.h.D&&e._<1)return;kr(e,n),t&&t.A.l||Pr(e,n);}}function Pr(e,t,r){r===void 0&&(r=!1),!e.l&&e.h.D&&e.m&&ho(t,r);}function so(e,t){var r=e[se];return (r?Ge(r):e)[t]}function Ma(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 uo(e){e.P||(e.P=!0,e.l&&uo(e.l));}function io(e){e.o||(e.o=yo(e.t));}function po(e,t,r){var o=fo(t)?ye("MapSet").F(t,r):go(t)?ye("MapSet").T(t,r):e.O?function(n,a){var s=Array.isArray(n),i={i:s?1:0,A:a?a.A:Ia(),P:!1,I:!1,R:{},l:a,t:n,k:null,o:null,j:null,C:!1},c=i,l=mo;s&&(c=[i],l=Gt);var p=Proxy.revocable(c,l),u=p.revoke,d=p.proxy;return i.k=d,i.j=u,d}(t,r):ye("ES5").J(t,r);return (r?r.A:Ia()).p.push(o),o}function Dl(e){return gt(e)||oe(22,e),function t(r){if(!Ke(r))return r;var o,n=r[se],a=ht(r);if(n){if(!n.P&&(n.i<4||!ye("ES5").K(n)))return n.t;n.I=!0,o=Oa(r,a),n.I=!1;}else o=Oa(r,a);return Kt(o,function(s,i){n&&Ml(n.t,s)===i||Ua(o,s,t(i));}),a===3?new Set(o):o}(e)}function Oa(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return yo(e)}var La,yt,bo=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",Ul=typeof Map<"u",Fl=typeof Set<"u",Na=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",Fa=bo?Symbol.for("immer-nothing"):((La={})["immer-nothing"]=!0,La),Da=bo?Symbol.for("immer-draftable"):"__$immer_draftable",se=bo?Symbol.for("immer-state"):"__$immer_state";var Vl={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"},zl=""+Object.prototype.constructor,So=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,$l=Object.getOwnPropertyDescriptors||function(e){var t={};return So(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r);}),t},ql={},mo={get:function(e,t){if(t===se)return e;var r=Ge(e);if(!co(r,t))return function(n,a,s){var i,c=Ma(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||!Ke(o)?o:o===so(e.t,t)?(io(e),e.o[t]=po(e.A.h,o,e)):o},has:function(e,t){return t in Ge(e)},ownKeys:function(e){return Reflect.ownKeys(Ge(e))},set:function(e,t,r){var o=Ma(Ge(e),t);if(o?.set)return o.set.call(e.k,r),!0;if(!e.P){var n=so(Ge(e),t),a=n?.[se];if(a&&a.t===r)return e.o[t]=r,e.R[t]=!1,!0;if(Ol(r,n)&&(r!==void 0||co(e.t,t)))return !0;io(e),uo(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 so(e.t,t)!==void 0||t in e.t?(e.R[t]=!1,io(e),uo(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=Ge(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);}},Gt={};Kt(mo,function(e,t){Gt[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};}),Gt.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&oe(13),Gt.set.call(this,e,t,void 0)},Gt.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&oe(14),mo.set.call(this,e[0],t,r,e[0])};var Gl=function(){function e(r){var o=this;this.O=Na,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(h){var R=this;h===void 0&&(h=i);for(var A=arguments.length,P=Array(A>1?A-1:0),I=1;I<A;I++)P[I-1]=arguments[I];return c.produce(h,function(E){var b;return (b=a).call.apply(b,[R,E].concat(P))})}}var l;if(typeof a!="function"&&oe(6),s!==void 0&&typeof s!="function"&&oe(7),Ke(n)){var p=Ba(o),u=po(o,n,void 0),d=!0;try{l=a(u),d=!1;}finally{d?vr(p):lo(p);}return typeof Promise<"u"&&l instanceof Promise?l.then(function(h){return no(p,s),ao(h,p)},function(h){throw vr(p),h}):(no(p,s),ao(l,p))}if(!n||typeof n!="object"){if((l=a(n))===void 0&&(l=n),l===Fa&&(l=void 0),o.D&&ho(l,!0),s){var m=[],y=[];ye("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 p=arguments.length,u=Array(p>1?p-1:0),d=1;d<p;d++)u[d-1]=arguments[d];return o.produceWithPatches(l,function(m){return n.apply(void 0,[m].concat(u))})};var s,i,c=o.produce(n,a,function(l,p){s=l,i=p;});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){Ke(r)||oe(8),gt(r)&&(r=Dl(r));var o=Ba(this),n=po(this,r,void 0);return n[se].C=!0,lo(o),n},t.finishDraft=function(r,o){var n=r&&r[se];process.env.NODE_ENV!=="production"&&(n&&n.C||oe(9),n.I&&oe(10));var a=n.A;return no(a,o),ao(void 0,a)},t.setAutoFreeze=function(r){this.D=r;},t.setUseProxies=function(r){r&&!Na&&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=ye("Patches").$;return gt(r)?s(r,o):this.produce(r,function(i){return s(i,o)})},e}(),ie=new Gl,Kl=ie.produce;ie.produceWithPatches.bind(ie);ie.setAutoFreeze.bind(ie);ie.setUseProxies.bind(ie);ie.applyPatches.bind(ie);ie.createDraft.bind(ie);ie.finishDraft.bind(ie);var wr=Kl;var pe=_e.actions,qa=jt({block:je("block"),dimension:je("dimension"),formatter:je("formatter"),report:je("report"),section:je("section"),variant:je("variant")}),ne=jt({block:He("block"),dimension:He("dimension"),formatter:He("formatter"),report:He("report"),section:He("section"),variant:He("variant")}),Ga=jt({block:be("block"),dimension:be("dimension"),formatter:be("formatter"),report:be("report"),section:be("section"),variant:be("variant")}),Ka=jt({block:Rt("block"),dimension:Rt("dimension"),formatter:Rt("formatter"),report:Rt("report"),section:Rt("section"),variant:Rt("variant")}),ja=jt({block:za("block"),section:za("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 We(e,t){return (r,o)=>{let a=o().records.requests[e][t],s=!a||a.status==="UNINITIALIZED"?"LOADING":"FETCHING";r(pe.setRequest({key:t,type:e,status:s}));}}function bt(e,t,r,o){return n=>{typeof window=="object"&¬ifications.show({autoClose:3e3,color:"red",id:t,message:o,title:"Error"}),n(pe.setRequest({key:t,type:e,status:"FAILURE",error:{code:r,message:o}}));}}function je(e){return t=>{let r=Ao(e,t);return (o,n,a)=>(o(We(e,r)),ae(a,"create",e)(t).then(i=>(i.ok===!0?o(pe.setCreateRequest({key:r,operation:"create",status:"SUCCESS",type:e,data:i.data})):o(bt(e,r,i.status,i.error)),i)))}}function Wl(e){return t=>{let r=Ao(e,t[0]);return (o,n,a)=>(o(We(e,r)),ae(a,"createBulk",e)(t).then(i=>(i.ok===!0?o(pe.setCreateRequest({key:r,operation:"createBulk",status:"SUCCESS",type:e,data:i.data})):o(bt(e,r,i.status,i.error)),i)))}}function Va(e,t,r){return r.replace(new RegExp(e,"g"),t)}function Jl(e){return e.section_id!==void 0}function Yl(e){return e.report_id!==void 0}function za(e){return t=>{let{create:r}=t;return (o,n,a)=>je(e)(r)(o,n,a).then(async i=>{if(i.ok){let{data:c}=i,{id:l}=c,{update:p}=t,u=Ja(e,{id:l});if(o(We(e,`${u}`)),e==="block"&&Jl(r)){let d=wr(p,R=>{R.id=l;}),{contentByLocale:m}=d;m&&(d=wr(d,R=>{R.id=l,R.contentByLocale=Object.keys(m).reduce((A,P)=>{let I=m?m[P]:{};return A[P]={...I,id:l},A},{});}));let h=d.inputs?.map(R=>({type:R.type,id:R.id,inputAction:{operation:"create",input:{input_id:R.id,block_id:d.id}}}));return h&&h.length>0&&$a(e)([d,...h])(o,n,a).then(()=>He("section")({id:d.section_id,include:!0})(o,n,a).then(R=>(R.ok&&o(pe.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))),be(e)(d)(o,n,a).then(R=>(R.ok&&o(pe.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))}if(e==="section"&&Yl(r)){let{id:d}=c,m=wr(p,R=>{R.id=d;}),{blocks:y}=m,h=y?.map(R=>({type:R.type,blockcol:R.blockcol,blockrow:R.blockrow,section_id:d,locales:Object.keys(R.contentByLocale).map(A=>A)}));return h&&y&&await Wl("block")(h)(o,n,a).then(R=>{if(R.ok){let A=R.data,P=[],I=A.map((E,b)=>{let D={...E},F=D.id,Z=y[b];Z.contentByLocale&&(D.contentByLocale=Object.keys(Z.contentByLocale).reduce((_,w)=>{let $=Z.contentByLocale[w];return _[w]={...$,content:{...$.content},id:D.id},_},{}));let{settings:W}=Z,{contentByLocale:L,id:z}=D;D.settings=W;let H={id:z,contentByLocale:L,settings:W};return Z.inputs.map(_=>_.id).reduce((_,w)=>{let $=y.findIndex(X=>X.id===w);return [..._,$]},[]).map(_=>({...A[_],originalBlock:y[_]})).forEach(_=>{let{id:w,type:$,originalBlock:X}=_;if([B.SELECTOR,B.VIZ].includes($)){if(H.contentByLocale?.logic?.content?.api){let x=H.contentByLocale?.logic.content.api;H.contentByLocale.logic.content.api=Va(`(selector${X.id}id)`,`selector${w}id`,x);}if(H.contentByLocale?.logic?.content?.logic){let x=H.contentByLocale.logic.content.logic;H.contentByLocale.logic.content.logic=Va(`(selector${X.id}id)`,`selector${w}id`,x);}}P.push({id:w,inputAction:{operation:"create",input:{input_id:w,block_id:F}}});}),H});return $a("block")([...I,...P])(o,n,a)}}),be(e)(m)(o,n,a).then(R=>(R.ok&&o(pe.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))}return be(e)({...p,id:c.id})(o,n,a)}})}}function He(e){return t=>{let r=Ha(e,t);return (o,n,a)=>(o(We(e,r)),ae(a,"read",e)(t).then(i=>(i.ok===!0?o(pe.setReadRequest({key:r,operation:"read",status:"SUCCESS",type:e,data:i.data})):o(bt(e,r,i.status,i.error)),i)))}}function be(e){return t=>{let r=To(e,t);return (o,n,a)=>(o(We(e,r)),ae(a,"update",e)(t).then(i=>(i.ok===!0?o(pe.setUpdateRequest({key:r,operation:"update",status:"SUCCESS",type:e,data:i.data})):o(bt(e,r,i.status,i.error)),i)))}}function $a(e){return t=>{let r=To(e,t[0]);return (o,n,a)=>(o(We(e,r)),ae(a,"updateBulk",e)(t).then(i=>(i.ok===!0?o(pe.setUpdateRequest({key:r,operation:"updateBulk",status:"SUCCESS",type:e,data:i.data})):o(bt(e,r,i.status,i.error)),i)))}}function Rt(e){return t=>{let r=Wa(e,t);return (o,n,a)=>(o(We(e,r)),ae(a,"delete",e)(t).then(i=>{i.ok===!0?o(pe.setDeleteRequest({key:r,operation:"delete",status:"SUCCESS",type:e,data:i.data})):o(bt(e,r,i.status,i.error));}))}}function Ao(e,t){if(e==="variant"){let r=t;return `create(variant, [${r.dimension_id}, ${r.name}])`}return `create(${e}, [${Object.keys(t)}])`}function Ha(e,t={}){let r=t.id==null?null:`'${t.id}'`;return `read(${e}, ${r}, ${!!t.include})`}function To(e,t){let{id:r,...o}=t;return `update(${e}, ${r}, [${Object.keys(o)}])`}function Wa(e,t){return `delete(${e}, ${t})`}function Ja(e,t){let r=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${r})`}var{setStatus:Ya,setPreviews:Ql,setSectionState:Qa,resetSectionState:Za,setCurrentLocale:Zl,setPreferredLocale:Xl}=qe;function eu(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 tu(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 ru(){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 Ht(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 ou(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 Xa(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(Ya(i)),n.activeSection&&t(es(e,{query:s}));}function nu(e,t){return async(r,o)=>Xa(e,r,o,{query:{[t]:void 0}})}function au(e,t,r){return async(o,n)=>Xa(e,o,n,{query:{[t]:r}})}function es(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}=xa(n.status,t),{sid:p,bid:u,previews:d,query:m}=c;Object.keys(l).length&&r(qe.setStatus(l));let y={...yr(d),locale:a,...hr()},h={variables:y,query:m,locale:a},R=n.records.entities.section[p],A=async P=>r(Ht(P));try{let P=await gr(s,R&&[R],u,i,h,void 0,A),{variables:I,status:E}=P;r(Tr.setVariableChange({attributes:y,variables:I,status:E}));}catch(P){console.log("Error in runConsumers client side: recalculateVariables",P);}}}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 iu(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 cu(){return async(e,t,r)=>{let o=await r.searchRole("");if("error"in o)throw new Error(o.error);return o.data}}function lu(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 uu(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 pu({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 du(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 xr(e){let{removeBlocks:t}=_e.actions;return async r=>{await r(t(e));}}function _o(e){let{addBlocks:t}=_e.actions;return async r=>{await r(t(e));}}function mu(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 fu(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 gu(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 ts=e=>configureStore({reducer:{[_e.name]:_e.reducer,[Er.name]:Er.reducer,[Ar.name]:Ar.reducer},middleware(t){return t({thunk:{extraArgument:zt("/api/cms/")}})}}),Jt=createWrapper(ts);function Su(e){let t=process.cwd(),r=bu.resolve(t.endsWith("/example")?t.replace("/example",""):t,"package-lock.json"),o;try{let n=JSON.parse(nc.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 Eu(e){let t=()=>Promise.resolve({}),{pathSegmentsKey:r="bespoke",preResolve:o=t,postResolve:n=t,authOptions:a={providers:[]}}=e||{};return Jt.getServerSideProps(s=>{let{dispatch:i}=s;return async c=>{let l=await me(c.req,c.res,a);if(!l)return {redirect:{destination:"/api/auth/signin?callbackUrl=/cms",permanent:!1}};let p=new Set([G.ADMIN,G.EDITOR,G.WRITER]);if(!(l?.user?.bespoke_roles||[]).some(A=>p.has(A)))return {redirect:{destination:"/",permanent:!1}};let d=c.query[r],[m]=Array.isArray(d)?d:[d];await i(Ut);let y=await Su("@datawheel/bespoke"),h=await o(s,c);if("redirect"in h)return {props:h};m==="reports"&&(rs(c.query[r])?await Promise.all([i(ne("formatter",{})),i(ne("report",{id:rs(c.query[r]),include:!0})),qe.setStatus({isCMS:!0})]):await Promise.all([i(ne("report",{include:"dimensions"})),qe.setStatus({isCMS:!0})])),m==="metadata"&&await i(ne("report",{include:"dimensions"})),m==="formatters"&&await i(ne("formatter",{}));let R=await n(s,c);return {props:{...h,...R,bespokeVersion:y,session:l}}}})}function rs(e){if(e==null||e==="")return;let[,t]=Array.isArray(e)?e:[e];return Number.parseInt(t)||void 0}var {locales:Tu}=j(),_u={pathSegment:"path",formatterFunctions:Tu.reduce((e,t)=>({...e,[t]:{}}),{}),profilePrefix:"path",siteProps:{}};createContext(_u);j();var cs=e=>e.records.entities.block;function At(e){return t=>Object.values(t.records.entities[e])}var ls=At("section"),us=At("formatter");function Fu(e){let{fallback:t=!0,limit:r=50}=e||{};return async o=>{let{defaultLocale:n=ue,locales:a=[]}=o,s=[];if(r>0){let i=a.find(p=>p===n),{searchMember:c}=await Ne().then(ct),l=await c({query:"",limit:r,format:"plain",locale:i||ue,noImage:!1,visible:!0,report:[],dimension:[],variant:[],includes:!0});l.ok===!0&&(s=l.data.results.map(p=>({locale:a.find(u=>u===p.locale),params:{bespoke:[p.variant.slug,p.slug]}})));}return {fallback:t,paths:s}}}function Vu(e){let{pathSegmentsKey:t="bespoke"}=e||{};try{return Jt.getStaticProps(r=>{let{dispatch:o}=r;return async n=>{await o(Ut);let a=new Date().toISOString(),{locale:s=ue,params:i={}}=n,c=Array.from(zu(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(Ht({mode:"slugs",locale:s,slugs:c,output:"full"}));o(Wt.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 p=r.getState(),u=us(p),d=oo(u,s),m=ls(p),y=cs(p),h={...y},R={},A=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),[]);A=A.concat(Dt(A,Object.values(h)));let P=A.filter(b=>h[b].settings[Wo.FALLBACK]);A.forEach(b=>{P.includes(b)&&(R[b]={...h[b],type:B.FALLBACK}),delete h[b];}),await o(xr(A)),await o(_o(R));let I={...yr(l.results),locale:s,...hr()},E=async b=>await o(Ht(b));return await gr({...h,...R},m,void 0,d,{locale:s,query:i,variables:I},void 0,E,"report").then(async b=>{let O=Object.keys(h).reduce((D,F)=>(b.variables[F]&&b.status[F]||D.push(F),D),[]);await o(xr(O)),await o(Tr.setVariableChange({...b,attributes:I}));}),{props:{buildTime:a}}}})}catch(r){console.log("ERROR SSR",r);}}function zu(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}}}
|
|
63
|
+
`)}));}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),u=O.reduce((D,F)=>D+JSON.stringify(F.data).length/1024,0),p=Math.max(...O.map(D=>D.requestDuration));}if(e.type===B.SELECTOR){let{config:E,log:b,error:O}=Qr(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:ya(e.id,s,E),renderVariables:E,status:{log:b,error:O,allowed:i}}}if(e.type===B.MULTIHIERARCHY_SELECTOR){let{config:E,log:b,error:O}=Xr(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:ha(e.id,s,E),renderVariables:E,status:{log:b,error:O,allowed:i}}}if(e.type===B.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:i}};if(e.type===B.RELATED){let E=e.contentByLocale?.logic?.content?.simple?.compare||"variant",b=e.contentByLocale?.logic?.content?.simple?.limit||4,O=Object.keys(a).filter(T=>T.startsWith("report_id")).map(T=>a[T]),D=Object.keys(a).filter(T=>T.startsWith("dimension_id")).map(T=>a[T]),F=Object.keys(a).filter(T=>T.startsWith("variant_id")).map(T=>a[T]),Z=Object.keys(a).filter(T=>T.startsWith("id")).map(T=>a[T]);if(!Z.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:!1}};let W=await o({mode:"ids",locale:n,ids:Z,output:"lite",variant:F}).then(T=>{let N=[];return mr(T)?T.ok&&(N=T.data.results):N=T.results,N&&Array.isArray(N)?N:[]}).catch(T=>(console.log("Error getting related members",T),[]));if(D.length>1){let T=Object.keys(a).filter(U=>U.startsWith("variant_slug")).map(U=>a[U]),N=W.map((U,V)=>{let M={mode:"related",locale:n,related:b??4,current_ids:[U.content_id],output:"full",variant_ids:[U.variant_id]};return V===0&&(M.include_ids=[U.content_id]),M}),_=await Promise.all(N.map(U=>o(U))).then(U=>U.flatMap(V=>{let M=[];return mr(V)?V.ok&&(M=V.data.results):M=V.results,M&&Array.isArray(M)?M:[]})).catch(U=>(console.log("Error getting related members",U),[])),w=_.reduce((U,V)=>{let M=V.variant_slug;return U[M]||(U[M]=[]),U[M].push(V),U},{}),$=[],X=Object.keys(w),x=[{combination:[],index:0}];for(;x.length>0;){let U=x.pop();if(!U)continue;let{combination:V,index:M}=U;if(M===X.length){$.push(V);continue}let de=X[M],Je=w[de];for(let Yt of Je)x.push({combination:[...V,Yt],index:M+1});}return {outputVariables:{related_reports:$.map(U=>{let V=U.sort((M,de)=>T.indexOf(M.variant_slug)-T.indexOf(de.variant_slug));return {entities:V,link:"/"+V.map(M=>`${M.variant_slug}/${M.slug}`).join("/")}})},renderVariables:{},status:{log:[],allowed:_.length>0}}}let L=W.map(T=>T.content_id),z={mode:"related",locale:n,related:b??4,current_ids:L,output:"full"};E&&(E==="report"?z.report_ids=O:E==="dimension"?z.dimension_ids=D:z.variant_ids=F);let H=await o(z).then(T=>{let N=[];return mr(T)?T.ok&&(N=T.data.results):N=T.results,N&&Array.isArray(N)?N:[]}).catch(T=>(console.log("Error getting related members",T),[]));return {outputVariables:{related_reports:H.map(T=>({entities:[T],link:`/${T.variant_slug}/${T.slug}`}))},renderVariables:{},status:{log:[],allowed:H.length>0}}}let{logic:m}=ba(e,n),y=dt(m,t,r),h=ze("resp",c||{},y,t,a,r),{vars:R,error:A,log:P}=h;if(typeof R!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:P,duration:p,responseSize:u,resp:c,api:d,allowed:i}};let I=Object.keys(R).reduce((E,b)=>({...E,[`${e.type}${e.id}${b}`]:R[b]}),{});return {renderVariables:R,outputVariables:[B.GENERATOR,B.SECTION_FLAG].includes(e.type)?R:I,status:{log:P,error:A,duration:p,responseSize:u,resp:c,api:d,allowed:i}}}function dl(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=>ro(l,t,o,!1,a,n,s));}})}var ro=(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(p=>ro(p,t,r,o,!1,a,s));}),i&&i.consumers.length&&n&&dl(i,t,e,r,a,n,s),r},ml=(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=ce(t),{error:s,output:i}=ze("variables",r,e.settings.allowedLogic||"return false;",o,void 0,a);s||(n=!!i);}return n},gr=async(e,t,r,o,n,a={},s,i="section")=>{let c=i==="section",l=ce(n),p=l.variables,u={...a.variables??{}},d={...a.status??{}},m=new Set,y=[],h={};r?h={...h,[r]:e[r]}:t?h=(t??[]).reduce((L,{id:z})=>({...L,...Sa(z,e)}),{}):h=Object.values(e).filter(L=>eo(L)).reduce((L,z)=>({...L,[z.id]:z}),{});let R=Object.values(h).filter(L=>eo(L));if(R.length>0){$e&&console.log("%crunConsumers: calculating section flags","color:purple",R.map(v=>v.id).join(", "));let L=Object.fromEntries(await Promise.all(R.map(async v=>[v.id,await Ta(v,o,{...l,variables:p,locale:p.locale},s).then(T=>{let{outputVariables:N,status:_}=T;if(_.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${v.id}, Section ${v.section_id}) failed with message: ${_.error}. `);d[v.id]={allowed:!1,error:_.error},u[v.id]={};}return (v.consumers.length>0||[B.GENERATOR,B.SECTION_FLAG,B.RELATED].includes(v.type))&&_.allowed&&Object.keys(N).length>0?u[v.id]=N:u[v.id]={},i==="report"?(d[v.id]={allowed:_.allowed},[B.GENERATOR,B.SECTION_FLAG].includes(v.type)&&_.api&&(d[v.id].api=_.api)):d[v.id]=_,T})]))),H=Object.entries(L).filter(([v,T])=>!T.outputVariables[Pn]).map(([v])=>Number(v));m=new Set(H.map(v=>e[v].section_id)),Object.values(h).filter(v=>m.has(v.section_id)).forEach(v=>{y.push(v.id),delete h[v.id];}),$e&&console.log("%crunConsumers: removing sections","color:purple",m.keys());}let A=m.size>0?Object.fromEntries(Object.entries(e).filter(([L,z])=>m?.has(z.section_id)?(y.includes(z.id)||y.push(z.id),!1):!0)):e;if(y.length>0&&(A=Object.fromEntries(Object.entries(A).map(([L,z])=>{let H={...z,inputs:z.inputs.filter(v=>!y.includes(v)),consumers:z.consumers.filter(v=>!y.includes(v))};return [L,H]}))),!r&&!t)return {variables:{...a.variables??{},...u},status:{...a.status??{},...d}};i==="report"&&y.length>0&&y.forEach(L=>{delete u[L],delete d[L],delete e[L];}),$e&&console.log("%crunConsumers: running root blocks","color:purple",Object.keys(h));let P=Object.keys(h).reduce((L,z)=>{let H=new Date,v=ro(Number(z),A,[],!r,!0,c).map(_=>_.split("-")),N=(new Date().getTime()-H.getTime())/1e3;return $e&&console.log(`%cResolved dependencies for ${z} (${N.toFixed(2)}s)`,"color:blue"),[...L,...v]},[]),I=new Date,E=Object.keys(h).reduce((L,z)=>L.includes(z)?[...L]:[z,...L],nl(P)),O=(new Date().getTime()-I.getTime())/1e3;$e&&console.log(`%cResolved DAG (${O.toFixed(2)}s): `,"color:green",E);async function D(L,z){let H=new Map;for(let v of L){let T=z[v],_=Promise.all(T.inputs.filter(w=>L.includes(String(w))).map(w=>H.get(Number(w)))).then(async()=>{let w=T.inputs.reduce((V,M)=>({...V,...u[M]}),p),$=T.inputs.find(V=>(T.settings?.ignoreCascade?T.settings?.ignoreCascade:[]).includes(V)||!d[V]?!1:!d[V].allowed||d[V].hiddenByCascade);if($){d[v]={allowed:!1,hiddenByCascade:d[$].hiddenByCascade||$},u[v]={};return}let X=new Date,x=await Ta(T,o,{...l,variables:w,locale:w.locale},s).then(({outputVariables:V,status:M})=>{if(M.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${v}, Section ${T.section_id}) failed with message: ${M.error}. `);d[v]={allowed:!1,error:M.error},u[v]={};}(T.consumers.length>0||[B.GENERATOR,B.SECTION_FLAG,B.RELATED].includes(T.type))&&M.allowed&&Object.keys(V).length>0?u[v]=V:u[v]={},i==="report"?(d[v]={allowed:M.allowed},[B.GENERATOR,B.SECTION_FLAG].includes(T.type)&&M.api&&(d[v].api=M.api)):d[v]=M;}),U=(new Date().getTime()-X.getTime())/1e3;return $e&&console.log(`%cBlock ${T.id} resolved in ${U.toFixed(3)}s`,U>500?"color:red":"color:green"),x});H.set(Number(v),_);}await Promise.all(Array.from(H.values()));}let F=new Date;await D(E,A);let W=(new Date().getTime()-F.getTime())/1e3;return $e&&console.log(`%cResolved Variables (${W.toFixed(2)}s): `,"color:green"),{variables:{...a.variables??{},...u},status:{...a.status??{},...d}}};function fl(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 yr=fl;function yl(){let{publicRuntimeConfig:e}=gl(),t=e.bespoke_report_env_vars||{};return {...Object.keys(t).reduce((r,o)=>(r[`ENV_${o}`]=t[o]||"N/A",r),{})}}var hr=yl;function hl(e,t){return +(e<t)-+(e>t)}function Rr(e,t,r="ordering"){return hl(t[r],e[r])}var va=(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:Ie,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(p=>isObject(p)?i(p):p):isObject(c[l])&&(c[l]=i(c[l]));return c}return i(e)};var{localeDefault:bl}=j();var $t=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});$t.define({consumers:[$t],inputs:[$t]});var ka=new schema.Entity("variant"),Pa=new schema.Entity("dimension",{variants:[ka]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),wa=new schema.Entity("section",{blocks:[$t]}),Sl=new schema.Entity("report",{dimensions:[Pa],sections:[wa]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(Rr):[]}}}),El=new schema.Entity("formatter"),Al={report:Sl,section:wa,block:$t,dimension:Pa,variant:ka,formatter:El};function br(e,t){let r=Al[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:mt(o,"report"),dimension:mt(o,"dimension"),section:mt(o,"section"),block:mt(o,"block"),variant:mt(o,"variant"),formatter:mt(o,"formatter")}}function mt(e,t){return e.hasOwnProperty(t)?e[t]:{}}var xa=(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}},oo=(e=[],t=bl)=>e.reduce((r,o)=>{let n=va({vars:["n"],logic:o.content.logic},{},t,{});return r[o.name]=n,r},{});var ue=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",Sr=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[ue];Sr.includes(ue)||Sr.push(ue);var vl={localeDefault:ue,locales:Sr,currentLocale:ue,preferredLocale:ue,showToolbar:!1,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:!0,settings:!1,reportEditor:!1},isCMS:!1},Er=createSlice({name:"status",initialState:vl,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]};}},extraReducers:{[HYDRATE]:(e,t)=>({...e,previews:t.payload.status.previews})}}),qe=Er.actions;var wl={attributes:{},variables:{},status:{}},Ar=createSlice({name:"variables",initialState:wl,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}})}}),Tr=Ar.actions;var Bl={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}}},_e=createSlice({name:"records",initialState:Bl,reducers:{set:(e,t)=>{let r=t.payload;return {entities:qt(e.entities,r.entities||{}),requests:qt(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=br(r.type,o),a=qt(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=_r(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=_r(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=br(r.type,r.data),n=qt(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=br(r.type,o),a,s,i;if(r.type==="block"&&!Array.isArray(r.data)){let l=e.entities.block[r.data.id].inputs,p=n.block[r.data.id].inputs;a=l.length!==p.length,a&&(i=l.length>p.length,s=i?l.filter(u=>!p.includes(u))[0]:p.filter(u=>!l.includes(u))[0]),Object.values(n.block).forEach(u=>{u.block_input&&delete n.block[u.id];});}let c=qt(e.entities,n);if(e.entities=c,r.type==="dimension"){let l=r.data;e.entities.report[l.report_id].dimensions=_r(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=_r(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(p=>p!==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`;Cl(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 qt(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],...t[r]}]))}function _r(e,t){return e.map(n=>t[n]).sort(Rr).map(n=>n.id)}function Cl(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=Vl[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 gt(e){return !!e&&!!e[se]}function Ke(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)===zl}(e)||Array.isArray(e)||!!e[Da]||!!(!((t=e.constructor)===null||t===void 0)&&t[Da])||fo(e)||go(e))}function Kt(e,t,r){r===void 0&&(r=!1),ht(e)===0?(r?Object.keys:So)(e).forEach(function(o){r&&typeof o=="symbol"||t(o,e[o],e);}):e.forEach(function(o,n){return t(n,o,e)});}function ht(e){var t=e[se];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:fo(e)?2:go(e)?3:0}function co(e,t){return ht(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Ml(e,t){return ht(e)===2?e.get(t):e[t]}function Ua(e,t,r){var o=ht(e);o===2?e.set(t,r):o===3?e.add(r):e[t]=r;}function Ol(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function fo(e){return Ul&&e instanceof Map}function go(e){return Fl&&e instanceof Set}function Ge(e){return e.o||e.t}function yo(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=$l(e);delete t[se];for(var r=So(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 ho(e,t){return t===void 0&&(t=!1),Ro(e)||gt(e)||!Ke(e)||(ht(e)>1&&(e.set=e.add=e.clear=e.delete=Ll),Object.freeze(e),t&&Kt(e,function(r,o){return ho(o,!0)},!0)),e}function Ll(){oe(2);}function Ro(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function ye(e){var t=ql[e];return t||oe(18,e),t}function Ia(){return process.env.NODE_ENV==="production"||yt||oe(0),yt}function no(e,t){t&&(ye("Patches"),e.u=[],e.s=[],e.v=t);}function vr(e){lo(e),e.p.forEach(Nl),e.p=null;}function lo(e){e===yt&&(yt=e.l);}function Ba(e){return yt={p:[],l:yt,h:e,m:!0,_:0}}function Nl(e){var t=e[se];t.i===0||t.i===1?t.j():t.g=!0;}function ao(e,t){t._=t.p.length;var r=t.p[0],o=e!==void 0&&e!==r;return t.h.O||ye("ES5").S(t,e,o),o?(r[se].P&&(vr(t),oe(4)),Ke(e)&&(e=kr(t,e),t.l||Pr(t,e)),t.u&&ye("Patches").M(r[se].t,e,t.u,t.s)):e=kr(t,r,[]),vr(t),t.u&&t.v(t.u,t.s),e!==Fa?e:void 0}function kr(e,t,r){if(Ro(t))return t;var o=t[se];if(!o)return Kt(t,function(i,c){return Ca(e,o,t,i,c,r)},!0),t;if(o.A!==e)return t;if(!o.P)return Pr(e,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var n=o.i===4||o.i===5?o.o=yo(o.k):o.o,a=n,s=!1;o.i===3&&(a=new Set(n),n.clear(),s=!0),Kt(a,function(i,c){return Ca(e,o,n,i,c,r,s)}),Pr(e,n,!1),r&&e.u&&ye("Patches").N(o,r,e.u,e.s);}return o.o}function Ca(e,t,r,o,n,a,s){if(process.env.NODE_ENV!=="production"&&n===r&&oe(5),gt(n)){var i=kr(e,n,a&&t&&t.i!==3&&!co(t.R,o)?a.concat(o):void 0);if(Ua(r,o,i),!gt(i))return;e.m=!1;}else s&&r.add(n);if(Ke(n)&&!Ro(n)){if(!e.h.D&&e._<1)return;kr(e,n),t&&t.A.l||Pr(e,n);}}function Pr(e,t,r){r===void 0&&(r=!1),!e.l&&e.h.D&&e.m&&ho(t,r);}function so(e,t){var r=e[se];return (r?Ge(r):e)[t]}function Ma(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 uo(e){e.P||(e.P=!0,e.l&&uo(e.l));}function io(e){e.o||(e.o=yo(e.t));}function po(e,t,r){var o=fo(t)?ye("MapSet").F(t,r):go(t)?ye("MapSet").T(t,r):e.O?function(n,a){var s=Array.isArray(n),i={i:s?1:0,A:a?a.A:Ia(),P:!1,I:!1,R:{},l:a,t:n,k:null,o:null,j:null,C:!1},c=i,l=mo;s&&(c=[i],l=Gt);var p=Proxy.revocable(c,l),u=p.revoke,d=p.proxy;return i.k=d,i.j=u,d}(t,r):ye("ES5").J(t,r);return (r?r.A:Ia()).p.push(o),o}function Dl(e){return gt(e)||oe(22,e),function t(r){if(!Ke(r))return r;var o,n=r[se],a=ht(r);if(n){if(!n.P&&(n.i<4||!ye("ES5").K(n)))return n.t;n.I=!0,o=Oa(r,a),n.I=!1;}else o=Oa(r,a);return Kt(o,function(s,i){n&&Ml(n.t,s)===i||Ua(o,s,t(i));}),a===3?new Set(o):o}(e)}function Oa(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return yo(e)}var La,yt,bo=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",Ul=typeof Map<"u",Fl=typeof Set<"u",Na=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",Fa=bo?Symbol.for("immer-nothing"):((La={})["immer-nothing"]=!0,La),Da=bo?Symbol.for("immer-draftable"):"__$immer_draftable",se=bo?Symbol.for("immer-state"):"__$immer_state";var Vl={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"},zl=""+Object.prototype.constructor,So=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,$l=Object.getOwnPropertyDescriptors||function(e){var t={};return So(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r);}),t},ql={},mo={get:function(e,t){if(t===se)return e;var r=Ge(e);if(!co(r,t))return function(n,a,s){var i,c=Ma(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||!Ke(o)?o:o===so(e.t,t)?(io(e),e.o[t]=po(e.A.h,o,e)):o},has:function(e,t){return t in Ge(e)},ownKeys:function(e){return Reflect.ownKeys(Ge(e))},set:function(e,t,r){var o=Ma(Ge(e),t);if(o?.set)return o.set.call(e.k,r),!0;if(!e.P){var n=so(Ge(e),t),a=n?.[se];if(a&&a.t===r)return e.o[t]=r,e.R[t]=!1,!0;if(Ol(r,n)&&(r!==void 0||co(e.t,t)))return !0;io(e),uo(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 so(e.t,t)!==void 0||t in e.t?(e.R[t]=!1,io(e),uo(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=Ge(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);}},Gt={};Kt(mo,function(e,t){Gt[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};}),Gt.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&oe(13),Gt.set.call(this,e,t,void 0)},Gt.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&oe(14),mo.set.call(this,e[0],t,r,e[0])};var Gl=function(){function e(r){var o=this;this.O=Na,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(h){var R=this;h===void 0&&(h=i);for(var A=arguments.length,P=Array(A>1?A-1:0),I=1;I<A;I++)P[I-1]=arguments[I];return c.produce(h,function(E){var b;return (b=a).call.apply(b,[R,E].concat(P))})}}var l;if(typeof a!="function"&&oe(6),s!==void 0&&typeof s!="function"&&oe(7),Ke(n)){var p=Ba(o),u=po(o,n,void 0),d=!0;try{l=a(u),d=!1;}finally{d?vr(p):lo(p);}return typeof Promise<"u"&&l instanceof Promise?l.then(function(h){return no(p,s),ao(h,p)},function(h){throw vr(p),h}):(no(p,s),ao(l,p))}if(!n||typeof n!="object"){if((l=a(n))===void 0&&(l=n),l===Fa&&(l=void 0),o.D&&ho(l,!0),s){var m=[],y=[];ye("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 p=arguments.length,u=Array(p>1?p-1:0),d=1;d<p;d++)u[d-1]=arguments[d];return o.produceWithPatches(l,function(m){return n.apply(void 0,[m].concat(u))})};var s,i,c=o.produce(n,a,function(l,p){s=l,i=p;});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){Ke(r)||oe(8),gt(r)&&(r=Dl(r));var o=Ba(this),n=po(this,r,void 0);return n[se].C=!0,lo(o),n},t.finishDraft=function(r,o){var n=r&&r[se];process.env.NODE_ENV!=="production"&&(n&&n.C||oe(9),n.I&&oe(10));var a=n.A;return no(a,o),ao(void 0,a)},t.setAutoFreeze=function(r){this.D=r;},t.setUseProxies=function(r){r&&!Na&&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=ye("Patches").$;return gt(r)?s(r,o):this.produce(r,function(i){return s(i,o)})},e}(),ie=new Gl,Kl=ie.produce;ie.produceWithPatches.bind(ie);ie.setAutoFreeze.bind(ie);ie.setUseProxies.bind(ie);ie.applyPatches.bind(ie);ie.createDraft.bind(ie);ie.finishDraft.bind(ie);var wr=Kl;var pe=_e.actions,qa=jt({block:je("block"),dimension:je("dimension"),formatter:je("formatter"),report:je("report"),section:je("section"),variant:je("variant")}),ne=jt({block:He("block"),dimension:He("dimension"),formatter:He("formatter"),report:He("report"),section:He("section"),variant:He("variant")}),Ga=jt({block:be("block"),dimension:be("dimension"),formatter:be("formatter"),report:be("report"),section:be("section"),variant:be("variant")}),Ka=jt({block:Rt("block"),dimension:Rt("dimension"),formatter:Rt("formatter"),report:Rt("report"),section:Rt("section"),variant:Rt("variant")}),ja=jt({block:za("block"),section:za("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 We(e,t){return (r,o)=>{let a=o().records.requests[e][t],s=!a||a.status==="UNINITIALIZED"?"LOADING":"FETCHING";r(pe.setRequest({key:t,type:e,status:s}));}}function bt(e,t,r,o){return n=>{typeof window=="object"&¬ifications.show({autoClose:3e3,color:"red",id:t,message:o,title:"Error"}),n(pe.setRequest({key:t,type:e,status:"FAILURE",error:{code:r,message:o}}));}}function je(e){return t=>{let r=Ao(e,t);return (o,n,a)=>(o(We(e,r)),ae(a,"create",e)(t).then(i=>(i.ok===!0?o(pe.setCreateRequest({key:r,operation:"create",status:"SUCCESS",type:e,data:i.data})):o(bt(e,r,i.status,i.error)),i)))}}function Wl(e){return t=>{let r=Ao(e,t[0]);return (o,n,a)=>(o(We(e,r)),ae(a,"createBulk",e)(t).then(i=>(i.ok===!0?o(pe.setCreateRequest({key:r,operation:"createBulk",status:"SUCCESS",type:e,data:i.data})):o(bt(e,r,i.status,i.error)),i)))}}function Va(e,t,r){return r.replace(new RegExp(e,"g"),t)}function Jl(e){return e.section_id!==void 0}function Yl(e){return e.report_id!==void 0}function za(e){return t=>{let{create:r}=t;return (o,n,a)=>je(e)(r)(o,n,a).then(async i=>{if(i.ok){let{data:c}=i,{id:l}=c,{update:p}=t,u=Ja(e,{id:l});if(o(We(e,`${u}`)),e==="block"&&Jl(r)){let d=wr(p,R=>{R.id=l;}),{contentByLocale:m}=d;m&&(d=wr(d,R=>{R.id=l,R.contentByLocale=Object.keys(m).reduce((A,P)=>{let I=m?m[P]:{};return A[P]={...I,id:l},A},{});}));let h=d.inputs?.map(R=>({type:R.type,id:R.id,inputAction:{operation:"create",input:{input_id:R.id,block_id:d.id}}}));return h&&h.length>0&&$a(e)([d,...h])(o,n,a).then(()=>He("section")({id:d.section_id,include:!0})(o,n,a).then(R=>(R.ok&&o(pe.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))),be(e)(d)(o,n,a).then(R=>(R.ok&&o(pe.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))}if(e==="section"&&Yl(r)){let{id:d}=c,m=wr(p,R=>{R.id=d;}),{blocks:y}=m,h=y?.map(R=>({type:R.type,blockcol:R.blockcol,blockrow:R.blockrow,section_id:d,locales:Object.keys(R.contentByLocale).map(A=>A)}));return h&&y&&await Wl("block")(h)(o,n,a).then(R=>{if(R.ok){let A=R.data,P=[],I=A.map((E,b)=>{let D={...E},F=D.id,Z=y[b];Z.contentByLocale&&(D.contentByLocale=Object.keys(Z.contentByLocale).reduce((_,w)=>{let $=Z.contentByLocale[w];return _[w]={...$,content:{...$.content},id:D.id},_},{}));let{settings:W}=Z,{contentByLocale:L,id:z}=D;D.settings=W;let H={id:z,contentByLocale:L,settings:W};return Z.inputs.map(_=>_.id).reduce((_,w)=>{let $=y.findIndex(X=>X.id===w);return [..._,$]},[]).map(_=>({...A[_],originalBlock:y[_]})).forEach(_=>{let{id:w,type:$,originalBlock:X}=_;if([B.SELECTOR,B.VIZ].includes($)){if(H.contentByLocale?.logic?.content?.api){let x=H.contentByLocale?.logic.content.api;H.contentByLocale.logic.content.api=Va(`(selector${X.id}id)`,`selector${w}id`,x);}if(H.contentByLocale?.logic?.content?.logic){let x=H.contentByLocale.logic.content.logic;H.contentByLocale.logic.content.logic=Va(`(selector${X.id}id)`,`selector${w}id`,x);}}P.push({id:w,inputAction:{operation:"create",input:{input_id:w,block_id:F}}});}),H});return $a("block")([...I,...P])(o,n,a)}}),be(e)(m)(o,n,a).then(R=>(R.ok&&o(pe.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))}return be(e)({...p,id:c.id})(o,n,a)}})}}function He(e){return t=>{let r=Ha(e,t);return (o,n,a)=>(o(We(e,r)),ae(a,"read",e)(t).then(i=>(i.ok===!0?o(pe.setReadRequest({key:r,operation:"read",status:"SUCCESS",type:e,data:i.data})):o(bt(e,r,i.status,i.error)),i)))}}function be(e){return t=>{let r=To(e,t);return (o,n,a)=>(o(We(e,r)),ae(a,"update",e)(t).then(i=>(i.ok===!0?o(pe.setUpdateRequest({key:r,operation:"update",status:"SUCCESS",type:e,data:i.data})):o(bt(e,r,i.status,i.error)),i)))}}function $a(e){return t=>{let r=To(e,t[0]);return (o,n,a)=>(o(We(e,r)),ae(a,"updateBulk",e)(t).then(i=>(i.ok===!0?o(pe.setUpdateRequest({key:r,operation:"updateBulk",status:"SUCCESS",type:e,data:i.data})):o(bt(e,r,i.status,i.error)),i)))}}function Rt(e){return t=>{let r=Wa(e,t);return (o,n,a)=>(o(We(e,r)),ae(a,"delete",e)(t).then(i=>{i.ok===!0?o(pe.setDeleteRequest({key:r,operation:"delete",status:"SUCCESS",type:e,data:i.data})):o(bt(e,r,i.status,i.error));}))}}function Ao(e,t){if(e==="variant"){let r=t;return `create(variant, [${r.dimension_id}, ${r.name}])`}return `create(${e}, [${Object.keys(t)}])`}function Ha(e,t={}){let r=t.id==null?null:`'${t.id}'`;return `read(${e}, ${r}, ${!!t.include})`}function To(e,t){let{id:r,...o}=t;return `update(${e}, ${r}, [${Object.keys(o)}])`}function Wa(e,t){return `delete(${e}, ${t})`}function Ja(e,t){let r=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${r})`}var{setStatus:Ya,setPreviews:Ql,setSectionState:Qa,resetSectionState:Za,setCurrentLocale:Zl,setPreferredLocale:Xl}=qe;function eu(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 tu(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 ru(){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 Ht(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 ou(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 Xa(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(Ya(i)),n.activeSection&&t(es(e,{query:s}));}function nu(e,t){return async(r,o)=>Xa(e,r,o,{query:{[t]:void 0}})}function au(e,t,r){return async(o,n)=>Xa(e,o,n,{query:{[t]:r}})}function es(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}=xa(n.status,t),{sid:p,bid:u,previews:d,query:m}=c;Object.keys(l).length&&r(qe.setStatus(l));let y={...yr(d),locale:a,...hr()},h={variables:y,query:m,locale:a},R=n.records.entities.section[p],A=async P=>r(Ht(P));try{let P=await gr(s,R&&[R],u,i,h,void 0,A),{variables:I,status:E}=P;r(Tr.setVariableChange({attributes:y,variables:I,status:E}));}catch(P){console.log("Error in runConsumers client side: recalculateVariables",P);}}}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 iu(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 cu(){return async(e,t,r)=>{let o=await r.searchRole("");if("error"in o)throw new Error(o.error);return o.data}}function lu(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 uu(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 pu({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 du(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 xr(e){let{removeBlocks:t}=_e.actions;return async r=>{await r(t(e));}}function _o(e){let{addBlocks:t}=_e.actions;return async r=>{await r(t(e));}}function mu(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 fu(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 gu(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 ts=e=>configureStore({reducer:{[_e.name]:_e.reducer,[Er.name]:Er.reducer,[Ar.name]:Ar.reducer},middleware(t){return t({thunk:{extraArgument:zt("/api/cms/")}})}}),Jt=createWrapper(ts);function Su(e){let t=process.cwd(),r=bu.resolve(t.endsWith("/example")?t.replace("/example",""):t,"package-lock.json"),o;try{let n=JSON.parse(nc.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 Eu(e){let t=()=>Promise.resolve({}),{pathSegmentsKey:r="bespoke",preResolve:o=t,postResolve:n=t,authOptions:a={providers:[]}}=e||{};return Jt.getServerSideProps(s=>{let{dispatch:i}=s;return async c=>{let l=await me(c.req,c.res,a);if(!l)return {redirect:{destination:"/api/auth/signin?callbackUrl=/cms",permanent:!1}};let p=new Set([G.ADMIN,G.EDITOR,G.WRITER]);if(!(l?.user?.bespoke_roles||[]).some(A=>p.has(A)))return {redirect:{destination:"/",permanent:!1}};let d=c.query[r],[m]=Array.isArray(d)?d:[d];await i(Ut);let y=await Su("@datawheel/bespoke"),h=await o(s,c);if("redirect"in h)return {props:h};m==="reports"&&(rs(c.query[r])?await Promise.all([i(ne("formatter",{})),i(ne("report",{id:rs(c.query[r]),include:!0})),qe.setStatus({isCMS:!0})]):await Promise.all([i(ne("report",{include:"dimensions"})),qe.setStatus({isCMS:!0})])),m==="metadata"&&await i(ne("report",{include:"dimensions"})),m==="formatters"&&await i(ne("formatter",{}));let R=await n(s,c);return {props:{...h,...R,bespokeVersion:y,session:l}}}})}function rs(e){if(e==null||e==="")return;let[,t]=Array.isArray(e)?e:[e];return Number.parseInt(t)||void 0}var {locales:Tu}=j(),_u={pathSegment:"path",formatterFunctions:Tu.reduce((e,t)=>({...e,[t]:{}}),{}),profilePrefix:"path",siteProps:{}};createContext(_u);j();var cs=e=>e.records.entities.block;function At(e){return t=>Object.values(t.records.entities[e])}var ls=At("section"),us=At("formatter");function Fu(e){let{fallback:t=!0,limit:r=50}=e||{};return async o=>{let{defaultLocale:n=ue,locales:a=[]}=o,s=[];if(r>0){let i=a.find(p=>p===n),{searchMember:c}=await Ne().then(ct),l=await c({query:"",limit:r,format:"plain",locale:i||ue,noImage:!1,visible:!0,report:[],dimension:[],variant:[],includes:!0});l.ok===!0&&(s=l.data.results.map(p=>({locale:a.find(u=>u===p.locale),params:{bespoke:[p.variant.slug,p.slug]}})));}return {fallback:t,paths:s}}}function Vu(e){let{pathSegmentsKey:t="bespoke"}=e||{};try{return Jt.getStaticProps(r=>{let{dispatch:o}=r;return async n=>{await o(Ut);let a=new Date().toISOString(),{locale:s=ue,params:i={}}=n,c=Array.from(zu(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(Ht({mode:"slugs",locale:s,slugs:c,output:"full"}));o(Wt.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 p=r.getState(),u=us(p),d=oo(u,s),m=ls(p),y=cs(p),h={...y},R={},A=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),[]);A=A.concat(Dt(A,Object.values(h)));let P=A.filter(b=>h[b].settings[Wo.FALLBACK]);A.forEach(b=>{P.includes(b)&&(R[b]={...h[b],type:B.FALLBACK}),delete h[b];}),await o(xr(A)),await o(_o(R));let I={...yr(l.results),locale:s,...hr()},E=async b=>await o(Ht(b));return await gr({...h,...R},m,void 0,d,{locale:s,query:i,variables:I},void 0,E,"report").then(async b=>{let O=Object.keys(h).reduce((D,F)=>(b.variables[F]&&b.status[F]||D.push(F),D),[]);await o(xr(O)),await o(Tr.setVariableChange({...b,attributes:I}));}),{props:{buildTime:a}}}})}catch(r){console.log("ERROR SSR",r);}}function zu(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}}}
|
|
64
64
|
|
|
65
65
|
export { Uc as BespokeEndpointNextJsHandlerFactory, me as BespokeGetSession, hs as BespokeHandleAuth, Eu as BespokeManagerServerSideProps, Fu as BespokeRendererStaticPaths, Vu as BespokeRendererStaticProps, ws as BespokeSearchUsersByMetadata, Es as BespokeUpdateCurrentUserAppMetadata, _s as BespokeUpdateCurrentUserMetadata, ks as BespokeWithApiRoleAuthRequired, Vc as ReportCrosswalkHandler, ct as dbApiFactory, Hr as endpointKey, Ne as getDB, Ut as useDatabaseApi };
|