@datawheel/bespoke 0.8.0-rc.7 → 0.8.0-rc.8

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.
Files changed (2) hide show
  1. package/dist/server.js +1 -1
  2. 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]=pt(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"?pt(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 Hr=(e,t,r)=>{if(!r)return !1;if(e===Be.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 Wr(e,t,r,o,n=!1){let{variables:a}=ce(o),s=dr({logic:t},r,o).logic,i=Ve("variables",a,s,r,void 0,o),{vars:c,log:l,error:p}=i,u=c.type||Be.SINGLE,d=c.component||"Selector",m=c.hideLabel||"false",y=c.resetSectionVars||"false",h=c.name||"Unlabeled Selector",R=ga(c.options||[]),T=A=>u===Be.MULTI&&!Array.isArray(A)?[A]:A,k=c.defaultValue,w;if(k&&(k=T(k),Hr(u,k,R)&&(w=k)),!w){let A=R&&R[0]&&R[0].id||R[0]||"";w=T(A);}if(n&&typeof window<"u"){let A=`selector${e}id`,C=new URLSearchParams(window.location.search),F=Object.fromEntries(C)[A];F&&!Hr(u,F,R)&&F!==void 0&&(C.delete(A),window.history.replaceState(null,null,`?${C.toString()}`));}return {config:{name:h,type:u,options:R,defaultValue:w,component:d,hideLabel:m,resetSectionVars:y},log:l,error:p}}function Jr(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 Yr(e,t,r,o,n=!1){let{variables:a}=ce(o),s=dr({logic:t},r,o).logic,i=Ve("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],T=h[m];R&&R!==void 0&&T&&T!==void 0&&!Jr(c.data,T,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===Be.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}=z(),tl=Object.values(Mr),rl=(e,t=Ra)=>e&&tl.includes(e.type)?{locale:Nr,locales:[Nr]}:{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 Qr(e){return e.type===x.SECTION_FLAG&&e.inputs.length===0&&e.consumers.length===0?!!e.contentByLocale?.logic?.content?.logic?.includes(cr):!1}var ze=lr(process.env.NEXT_PUBLIC_REPORTS_DEBUG),il=process.env.REPORTS_ORIGIN||"";Ea(mr,{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);}});mr.interceptors.request.use(e=>({...e,requestStart:Date.now()}));mr.interceptors.response.use(e=>({...e,requestDuration:new Date().getTime()-e.config.requestStart}),e=>Promise.reject(e));var cl=(e,t,r)=>{let o=pt(e,t,r);return o.startsWith("http")||(o=`${il}${o.startsWith("/")?"":"/"}${o}`),o},{urlProxy:ll}=Vt("/api/cms");function Xr(e){return e.ok!==void 0}function Zr(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 Zr(u?.error)}else try{let u=await mr({url:a,timeout:Aa});if(u.status===200)u.headers["content-type"]==="text/csv"?s=csvParse(u.data):s=u.data;else throw new Zr("No response")}catch(u){throw new Zr(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=At(s,h);if(R&&Array.isArray(R)){let T=Array.from(new Set(R.map(E=>`${E[y]}`).filter(E=>!["","undefined"].includes(E)))),k=T.join("").length>2e3,w=await t({mode:k?"whole":"ids",ids:k?void 0:T,all:!1,locale:r,variant:[parseInt(m,10)],output:"lite",limit:T.length+1}).then(E=>{let A=[];return Xr(E)?E.ok&&(A=E.data.results):A=E.results,A&&Array.isArray(A)?A:[]}).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(w){let E=Object.fromEntries(w.map(A=>[A.id,`/${A.variant_slug}/${A.slug}`]));R.map(A=>(A.bespoke_slug=E[A[y]]?E[A[y]]:null,A));}}}}}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===x.FALLBACK)return {outputVariables:{},renderVariables:{},status:{allowed:i,hiddenByCascade:e.id}};if(l){d=cl(l,t,r);let E=d.split(Pn).filter(M=>M!==""),A=[];for(let M=0;M<E.length;M++){let F=E[M];new RegExp("^(?:[a-z+]+:)?//","i").test(d)||(F=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/${F}`.replace(/([^:]\/)\/+/g,"$1")),A.push(ul(F,o,n,e).catch(j=>{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: ${j.message}.
63
- `)}));}let C=await Promise.all(A).catch(M=>M.message);if(typeof C=="string"&&C)return {outputVariables:{},renderVariables:{},status:{error:C}};c=C.length===1?C[0].data:C.map(M=>M.data),u=C.reduce((M,F)=>M+JSON.stringify(F.data).length/1024,0),p=Math.max(...C.map(M=>M.requestDuration));}if(e.type===x.SELECTOR){let{config:E,log:A,error:C}=Wr(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:ya(e.id,s,E),renderVariables:E,status:{log:A,error:C,allowed:i}}}if(e.type===x.MULTIHIERARCHY_SELECTOR){let{config:E,log:A,error:C}=Yr(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:ha(e.id,s,E),renderVariables:E,status:{log:A,error:C,allowed:i}}}if(e.type===x.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:i}};if(e.type===x.RELATED){let E=e.contentByLocale?.logic?.content?.simple?.compare||"variant",A=e.contentByLocale?.logic?.content?.simple?.limit||4,C=Object.keys(a).filter(b=>b.startsWith("report_id")).map(b=>a[b]),M=Object.keys(a).filter(b=>b.startsWith("dimension_id")).map(b=>a[b]),F=Object.keys(a).filter(b=>b.startsWith("variant_id")).map(b=>a[b]),W=Object.keys(a).filter(b=>b.startsWith("id")).map(b=>a[b]);if(!W.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:!1}};let O=(await o({mode:"ids",locale:n,ids:W,output:"lite"}).then(b=>{let L=[];return Xr(b)?b.ok&&(L=b.data.results):L=b.results,L&&Array.isArray(L)?L:[]}).catch(b=>(console.log("Error getting related members",b),[]))).map(b=>b.content_id),N={mode:"related",locale:n,related:A??4,current_ids:O,output:"full"};E&&(E==="report"?N.report_ids=C:E==="dimension"?N.dimension_ids=M:N.variant_ids=F);let q=await o(N).then(b=>{let L=[];return Xr(b)?b.ok&&(L=b.data.results):L=b.results,L&&Array.isArray(L)?L:[]}).catch(b=>(console.log("Error getting related members",b),[]));return {outputVariables:{related_reports:q},renderVariables:{},status:{log:[],allowed:q.length>0}}}let{logic:m}=ba(e,n),y=pt(m,t,r),h=Ve("resp",c||{},y,t,a,r),{vars:R,error:T,log:k}=h;if(typeof R!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:k,duration:p,responseSize:u,resp:c,api:d,allowed:i}};let w=Object.keys(R).reduce((E,A)=>({...E,[`${e.type}${e.id}${A}`]:R[A]}),{});return {renderVariables:R,outputVariables:[x.GENERATOR,x.SECTION_FLAG].includes(e.type)?R:w,status:{log:k,error:T,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=>eo(l,t,o,!1,a,n,s));}})}var eo=(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=>eo(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}=Ve("variables",r,e.settings.allowedLogic||"return false;",o,void 0,a);s||(n=!!i);}return n},fr=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((O,{id:N})=>({...O,...Sa(N,e)}),{}):h=Object.values(e).filter(O=>Qr(O)).reduce((O,N)=>({...O,[N.id]:N}),{});let R=Object.values(h).filter(O=>Qr(O));if(R.length>0){ze&&console.log("%crunConsumers: calculating section flags","color:purple",R.map(b=>b.id).join(", "));let O=Object.fromEntries(await Promise.all(R.map(async b=>[b.id,await Ta(b,o,{...l,variables:p,locale:p.locale},s).then(L=>{let{outputVariables:G,status:v}=L;if(v.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${b.id}, Section ${b.section_id}) failed with message: ${v.error}. `);d[b.id]={allowed:!1,error:v.error},u[b.id]={};}return (b.consumers.length>0||[x.GENERATOR,x.SECTION_FLAG,x.RELATED].includes(b.type))&&v.allowed&&Object.keys(G).length>0?u[b.id]=G:u[b.id]={},i==="report"?(d[b.id]={allowed:v.allowed},[x.GENERATOR,x.SECTION_FLAG].includes(b.type)&&v.api&&(d[b.id].api=v.api)):d[b.id]=v,L})]))),q=Object.entries(O).filter(([b,L])=>!L.outputVariables[cr]).map(([b])=>Number(b));m=new Set(q.map(b=>e[b].section_id)),Object.values(h).filter(b=>m.has(b.section_id)).forEach(b=>{y.push(b.id),delete h[b.id];}),ze&&console.log("%crunConsumers: removing sections","color:purple",m.keys());}let T=m.size>0?Object.fromEntries(Object.entries(e).filter(([O,N])=>m?.has(N.section_id)?(y.push(N.id),!1):!0)):e;if(y.length>0&&(T=Object.fromEntries(Object.entries(T).map(([O,N])=>{let q={...N,inputs:N.inputs.filter(b=>!y.includes(b)),consumers:N.consumers.filter(b=>!y.includes(b))};return [O,q]}))),!r&&!t)return {variables:{...a.variables??{},...u},status:{...a.status??{},...d}};ze&&console.log("%crunConsumers: running root blocks","color:purple",Object.keys(h));let k=Object.keys(h).reduce((O,N)=>{let q=new Date,b=eo(Number(N),T,[],!r,!0,c).map(v=>v.split("-")),G=(new Date().getTime()-q.getTime())/1e3;return ze&&console.log(`%cResolved dependencies for ${N} (${G.toFixed(2)}s)`,"color:blue"),[...O,...b]},[]),w=new Date,E=Object.keys(h).reduce((O,N)=>O.includes(N)?[...O]:[N,...O],nl(k)),C=(new Date().getTime()-w.getTime())/1e3;ze&&console.log(`%cResolved DAG (${C.toFixed(2)}s): `,"color:green",E);async function M(O,N){let q=new Map;for(let b of O){let L=N[b],v=Promise.all(L.inputs.filter(P=>O.includes(String(P))).map(P=>q.get(Number(P)))).then(async()=>{let P=L.inputs.reduce((J,Y)=>({...J,...u[Y]}),p),U=L.inputs.find(J=>(L.settings?.ignoreCascade?L.settings?.ignoreCascade:[]).includes(J)?!1:!d[J].allowed||d[J].hiddenByCascade);if(U){d[b]={allowed:!1,hiddenByCascade:d[U].hiddenByCascade||U},u[b]={};return}let ee=new Date,B=await Ta(L,o,{...l,variables:P,locale:P.locale},s).then(({outputVariables:J,status:Y})=>{if(Y.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${b}, Section ${L.section_id}) failed with message: ${Y.error}. `);d[b]={allowed:!1,error:Y.error},u[b]={};}(L.consumers.length>0||[x.GENERATOR,x.SECTION_FLAG,x.RELATED].includes(L.type))&&Y.allowed&&Object.keys(J).length>0?u[b]=J:u[b]={},i==="report"?(d[b]={allowed:Y.allowed},[x.GENERATOR,x.SECTION_FLAG].includes(L.type)&&Y.api&&(d[b].api=Y.api)):d[b]=Y;}),oe=(new Date().getTime()-ee.getTime())/1e3;return ze&&console.log(`%cBlock ${L.id} resolved in ${oe.toFixed(3)}s`,oe>500?"color:red":"color:green"),B});q.set(Number(b),v);}await Promise.all(Array.from(q.values()));}let F=new Date;await M(E,T);let j=(new Date().getTime()-F.getTime())/1e3;return ze&&console.log(`%cResolved Variables (${j.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 gr=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 yr=yl;function hl(e,t){return +(e<t)-+(e>t)}function hr(e,t,r="ordering"){return hl(t[r],e[r])}var _a=(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:xe,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}=z();var zt=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});zt.define({consumers:[zt],inputs:[zt]});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:[zt]}),Sl=new schema.Entity("report",{dimensions:[Pa],sections:[wa]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(hr):[]}}}),El=new schema.Entity("formatter"),Al={report:Sl,section:wa,block:zt,dimension:Pa,variant:ka,formatter:El};function Rr(e,t){let r=Al[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:dt(o,"report"),dimension:dt(o,"dimension"),section:dt(o,"section"),block:dt(o,"block"),variant:dt(o,"variant"),formatter:dt(o,"formatter")}}function dt(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}},to=(e=[],t=bl)=>e.reduce((r,o)=>{let n=_a({vars:["n"],logic:o.content.logic},{},t,{});return r[o.name]=n,r},{});var ue=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",br=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[ue];br.includes(ue)||br.push(ue);var _l={localeDefault:ue,locales:br,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},Sr=createSlice({name:"status",initialState:_l,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=Sr.actions;var wl={attributes:{},variables:{},status:{}},Er=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}})}}),Ar=Er.actions;var Bl={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}}},Te=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=Rr(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=Tr(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=Tr(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=Rr(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=Rr(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=Tr(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=Tr(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 Tr(e,t){return e.map(n=>t[n]).sort(hr).map(n=>n.id)}function Cl(e,t){let r=e.indexOf(t);r>-1&&e.splice(r,1);}function re(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 ft(e){return !!e&&!!e[se]}function Ge(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])||po(e)||mo(e))}function Gt(e,t,r){r===void 0&&(r=!1),yt(e)===0?(r?Object.keys:Ro)(e).forEach(function(o){r&&typeof o=="symbol"||t(o,e[o],e);}):e.forEach(function(o,n){return t(n,o,e)});}function yt(e){var t=e[se];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:po(e)?2:mo(e)?3:0}function so(e,t){return yt(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Ll(e,t){return yt(e)===2?e.get(t):e[t]}function Ua(e,t,r){var o=yt(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 po(e){return Ul&&e instanceof Map}function mo(e){return Fl&&e instanceof Set}function $e(e){return e.o||e.t}function fo(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=ql(e);delete t[se];for(var r=Ro(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 go(e,t){return t===void 0&&(t=!1),yo(e)||ft(e)||!Ge(e)||(yt(e)>1&&(e.set=e.add=e.clear=e.delete=Ml),Object.freeze(e),t&&Gt(e,function(r,o){return go(o,!0)},!0)),e}function Ml(){re(2);}function yo(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function ge(e){var t=$l[e];return t||re(18,e),t}function Ia(){return process.env.NODE_ENV==="production"||gt||re(0),gt}function ro(e,t){t&&(ge("Patches"),e.u=[],e.s=[],e.v=t);}function vr(e){io(e),e.p.forEach(Nl),e.p=null;}function io(e){e===gt&&(gt=e.l);}function Ba(e){return gt={p:[],l:gt,h:e,m:!0,_:0}}function Nl(e){var t=e[se];t.i===0||t.i===1?t.j():t.g=!0;}function oo(e,t){t._=t.p.length;var r=t.p[0],o=e!==void 0&&e!==r;return t.h.O||ge("ES5").S(t,e,o),o?(r[se].P&&(vr(t),re(4)),Ge(e)&&(e=_r(t,e),t.l||kr(t,e)),t.u&&ge("Patches").M(r[se].t,e,t.u,t.s)):e=_r(t,r,[]),vr(t),t.u&&t.v(t.u,t.s),e!==Fa?e:void 0}function _r(e,t,r){if(yo(t))return t;var o=t[se];if(!o)return Gt(t,function(i,c){return Ca(e,o,t,i,c,r)},!0),t;if(o.A!==e)return t;if(!o.P)return kr(e,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var n=o.i===4||o.i===5?o.o=fo(o.k):o.o,a=n,s=!1;o.i===3&&(a=new Set(n),n.clear(),s=!0),Gt(a,function(i,c){return Ca(e,o,n,i,c,r,s)}),kr(e,n,!1),r&&e.u&&ge("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&&re(5),ft(n)){var i=_r(e,n,a&&t&&t.i!==3&&!so(t.R,o)?a.concat(o):void 0);if(Ua(r,o,i),!ft(i))return;e.m=!1;}else s&&r.add(n);if(Ge(n)&&!yo(n)){if(!e.h.D&&e._<1)return;_r(e,n),t&&t.A.l||kr(e,n);}}function kr(e,t,r){r===void 0&&(r=!1),!e.l&&e.h.D&&e.m&&go(t,r);}function no(e,t){var r=e[se];return (r?$e(r):e)[t]}function La(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 co(e){e.P||(e.P=!0,e.l&&co(e.l));}function ao(e){e.o||(e.o=fo(e.t));}function lo(e,t,r){var o=po(t)?ge("MapSet").F(t,r):mo(t)?ge("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=uo;s&&(c=[i],l=$t);var p=Proxy.revocable(c,l),u=p.revoke,d=p.proxy;return i.k=d,i.j=u,d}(t,r):ge("ES5").J(t,r);return (r?r.A:Ia()).p.push(o),o}function Dl(e){return ft(e)||re(22,e),function t(r){if(!Ge(r))return r;var o,n=r[se],a=yt(r);if(n){if(!n.P&&(n.i<4||!ge("ES5").K(n)))return n.t;n.I=!0,o=Oa(r,a),n.I=!1;}else o=Oa(r,a);return Gt(o,function(s,i){n&&Ll(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 fo(e)}var Ma,gt,ho=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=ho?Symbol.for("immer-nothing"):((Ma={})["immer-nothing"]=!0,Ma),Da=ho?Symbol.for("immer-draftable"):"__$immer_draftable",se=ho?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,Ro=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,ql=Object.getOwnPropertyDescriptors||function(e){var t={};return Ro(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r);}),t},$l={},uo={get:function(e,t){if(t===se)return e;var r=$e(e);if(!so(r,t))return function(n,a,s){var i,c=La(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||!Ge(o)?o:o===no(e.t,t)?(ao(e),e.o[t]=lo(e.A.h,o,e)):o},has:function(e,t){return t in $e(e)},ownKeys:function(e){return Reflect.ownKeys($e(e))},set:function(e,t,r){var o=La($e(e),t);if(o?.set)return o.set.call(e.k,r),!0;if(!e.P){var n=no($e(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||so(e.t,t)))return !0;ao(e),co(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 no(e.t,t)!==void 0||t in e.t?(e.R[t]=!1,ao(e),co(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=$e(e),o=Reflect.getOwnPropertyDescriptor(r,t);return o&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:o.enumerable,value:r[t]}},defineProperty:function(){re(11);},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){re(12);}},$t={};Gt(uo,function(e,t){$t[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};}),$t.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&re(13),$t.set.call(this,e,t,void 0)},$t.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&re(14),uo.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 T=arguments.length,k=Array(T>1?T-1:0),w=1;w<T;w++)k[w-1]=arguments[w];return c.produce(h,function(E){var A;return (A=a).call.apply(A,[R,E].concat(k))})}}var l;if(typeof a!="function"&&re(6),s!==void 0&&typeof s!="function"&&re(7),Ge(n)){var p=Ba(o),u=lo(o,n,void 0),d=!0;try{l=a(u),d=!1;}finally{d?vr(p):io(p);}return typeof Promise<"u"&&l instanceof Promise?l.then(function(h){return ro(p,s),oo(h,p)},function(h){throw vr(p),h}):(ro(p,s),oo(l,p))}if(!n||typeof n!="object"){if((l=a(n))===void 0&&(l=n),l===Fa&&(l=void 0),o.D&&go(l,!0),s){var m=[],y=[];ge("Patches").M(n,l,m,y),s(m,y);}return l}re(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){Ge(r)||re(8),ft(r)&&(r=Dl(r));var o=Ba(this),n=lo(this,r,void 0);return n[se].C=!0,io(o),n},t.finishDraft=function(r,o){var n=r&&r[se];process.env.NODE_ENV!=="production"&&(n&&n.C||re(9),n.I&&re(10));var a=n.A;return ro(a,o),oo(void 0,a)},t.setAutoFreeze=function(r){this.D=r;},t.setUseProxies=function(r){r&&!Na&&re(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=ge("Patches").$;return ft(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 Pr=Kl;var pe=Te.actions,$a=Kt({block:Ke("block"),dimension:Ke("dimension"),formatter:Ke("formatter"),report:Ke("report"),section:Ke("section"),variant:Ke("variant")}),ne=Kt({block:je("block"),dimension:je("dimension"),formatter:je("formatter"),report:je("report"),section:je("section"),variant:je("variant")}),Ga=Kt({block:Re("block"),dimension:Re("dimension"),formatter:Re("formatter"),report:Re("report"),section:Re("section"),variant:Re("variant")}),Ka=Kt({block:ht("block"),dimension:ht("dimension"),formatter:ht("formatter"),report:ht("report"),section:ht("section"),variant:ht("variant")}),ja=Kt({block:za("block"),section:za("section")});function Kt(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 He(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 Rt(e,t,r,o){return n=>{typeof window=="object"&&notifications.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 Ke(e){return t=>{let r=So(e,t);return (o,n,a)=>(o(He(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(Rt(e,r,i.status,i.error)),i)))}}function Wl(e){return t=>{let r=So(e,t[0]);return (o,n,a)=>(o(He(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(Rt(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)=>Ke(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(He(e,`${u}`)),e==="block"&&Jl(r)){let d=Pr(p,R=>{R.id=l;}),{contentByLocale:m}=d;m&&(d=Pr(d,R=>{R.id=l,R.contentByLocale=Object.keys(m).reduce((T,k)=>{let w=m?m[k]:{};return T[k]={...w,id:l},T},{});}));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&&qa(e)([d,...h])(o,n,a).then(()=>je("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))),Re(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=Pr(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(T=>T)}));return h&&y&&await Wl("block")(h)(o,n,a).then(R=>{if(R.ok){let T=R.data,k=[],w=T.map((E,A)=>{let M={...E},F=M.id,W=y[A];W.contentByLocale&&(M.contentByLocale=Object.keys(W.contentByLocale).reduce((v,P)=>{let U=W.contentByLocale[P];return v[P]={...U,content:{...U.content},id:M.id},v},{}));let{settings:j}=W,{contentByLocale:O,id:N}=M;M.settings=j;let q={id:N,contentByLocale:O,settings:j};return W.inputs.map(v=>v.id).reduce((v,P)=>{let U=y.findIndex(ee=>ee.id===P);return [...v,U]},[]).map(v=>({...T[v],originalBlock:y[v]})).forEach(v=>{let{id:P,type:U,originalBlock:ee}=v;if([x.SELECTOR,x.VIZ].includes(U)){if(q.contentByLocale?.logic?.content?.api){let B=q.contentByLocale?.logic.content.api;q.contentByLocale.logic.content.api=Va(`(selector${ee.id}id)`,`selector${P}id`,B);}if(q.contentByLocale?.logic?.content?.logic){let B=q.contentByLocale.logic.content.logic;q.contentByLocale.logic.content.logic=Va(`(selector${ee.id}id)`,`selector${P}id`,B);}}k.push({id:P,inputAction:{operation:"create",input:{input_id:P,block_id:F}}});}),q});return qa("block")([...w,...k])(o,n,a)}}),Re(e)(m)(o,n,a).then(R=>(R.ok&&o(pe.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))}return Re(e)({...p,id:c.id})(o,n,a)}})}}function je(e){return t=>{let r=Ha(e,t);return (o,n,a)=>(o(He(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(Rt(e,r,i.status,i.error)),i)))}}function Re(e){return t=>{let r=Eo(e,t);return (o,n,a)=>(o(He(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(Rt(e,r,i.status,i.error)),i)))}}function qa(e){return t=>{let r=Eo(e,t[0]);return (o,n,a)=>(o(He(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(Rt(e,r,i.status,i.error)),i)))}}function ht(e){return t=>{let r=Wa(e,t);return (o,n,a)=>(o(He(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(Rt(e,r,i.status,i.error));}))}}function So(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 Eo(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 jt(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={...gr(d),locale:a,...yr()},h={variables:y,query:m,locale:a},R=n.records.entities.section[p],T=async k=>r(jt(k));try{let k=await fr(s,R&&[R],u,i,h,void 0,T),{variables:w,status:E}=k;r(Ar.setVariableChange({attributes:y,variables:w,status:E}));}catch(k){console.log("Error in runConsumers client side: recalculateVariables",k);}}}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 Ao(e){let{removeBlocks:t}=Te.actions;return async r=>{await r(t(e));}}function To(e){let{addBlocks:t}=Te.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:{[Te.name]:Te.reducer,[Sr.name]:Sr.reducer,[Er.name]:Er.reducer},middleware(t){return t({thunk:{extraArgument:Vt("/api/cms/")}})}}),Wt=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 Wt.getServerSideProps(s=>{let{dispatch:i}=s;return async c=>{if(!await de(c.req,c.res,a))return {redirect:{destination:"/api/auth/signin?callbackUrl=/cms",permanent:!1}};let p=c.query[r],[u]=Array.isArray(p)?p:[p];await i(Dt);let d=await Su("@datawheel/bespoke"),m=await o(s,c);if("redirect"in m)return {props:m};u==="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})])),u==="metadata"&&await i(ne("report",{include:"dimensions"})),u==="formatters"&&await i(ne("formatter",{}));let y=await n(s,c);return {props:{...m,...y,bespokeVersion:d}}}})}function rs(e){if(e==null||e==="")return;let[,t]=Array.isArray(e)?e:[e];return Number.parseInt(t)||void 0}var {locales:Tu}=z(),vu={pathSegment:"path",formatterFunctions:Tu.reduce((e,t)=>({...e,[t]:{}}),{}),profilePrefix:"path",siteProps:{}};createContext(vu);z();var cs=e=>e.records.entities.block;function Et(e){return t=>Object.values(t.records.entities[e])}var ls=Et("section"),us=Et("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 Me().then(it),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 Wt.getStaticProps(r=>{let{dispatch:o}=r;return async n=>{await o(Dt);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(jt({mode:"slugs",locale:s,slugs:c,output:"full"}));o(Ht.setPreviews(l.results)),await Promise.all([o(ne("formatter",{})),o(ne("report",{id:l.results.map(A=>A.report_id),include:!0,locales:[s]}))]);let p=r.getState(),u=us(p),d=to(u,s),m=ls(p),y=cs(p),h={...y},R={},T=Object.values(y).reduce((A,C)=>("access"in C.settings&&!["public","guest"].some(M=>!C.settings.access||C.settings.access.includes(M))&&A.push(C.id),A),[]);T=T.concat(Nt(T,Object.values(h)));let k=T.filter(A=>h[A].settings[Wo.FALLBACK]);T.forEach(A=>{k.includes(A)&&(R[A]={...h[A],type:x.FALLBACK}),delete h[A];}),await o(Ao(T)),await o(To(R));let w={...gr(l.results),locale:s,...yr()},E=async A=>await o(jt(A));return await fr({...h,...R},m,void 0,d,{locale:s,query:i,variables:w},void 0,E,"report").then(A=>{o(Ar.setVariableChange({...A,attributes:w}));}),{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 C=await Promise.all(A).catch(M=>M.message);if(typeof C=="string"&&C)return {outputVariables:{},renderVariables:{},status:{error:C}};c=C.length===1?C[0].data:C.map(M=>M.data),u=C.reduce((M,F)=>M+JSON.stringify(F.data).length/1024,0),p=Math.max(...C.map(M=>M.requestDuration));}if(e.type===x.SELECTOR){let{config:E,log:A,error:C}=Wr(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:ya(e.id,s,E),renderVariables:E,status:{log:A,error:C,allowed:i}}}if(e.type===x.MULTIHIERARCHY_SELECTOR){let{config:E,log:A,error:C}=Yr(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:ha(e.id,s,E),renderVariables:E,status:{log:A,error:C,allowed:i}}}if(e.type===x.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:i}};if(e.type===x.RELATED){let E=e.contentByLocale?.logic?.content?.simple?.compare||"variant",A=e.contentByLocale?.logic?.content?.simple?.limit||4,C=Object.keys(a).filter(b=>b.startsWith("report_id")).map(b=>a[b]),M=Object.keys(a).filter(b=>b.startsWith("dimension_id")).map(b=>a[b]),F=Object.keys(a).filter(b=>b.startsWith("variant_id")).map(b=>a[b]),W=Object.keys(a).filter(b=>b.startsWith("id")).map(b=>a[b]);if(!W.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:!1}};let O=(await o({mode:"ids",locale:n,ids:W,output:"lite"}).then(b=>{let L=[];return Xr(b)?b.ok&&(L=b.data.results):L=b.results,L&&Array.isArray(L)?L:[]}).catch(b=>(console.log("Error getting related members",b),[]))).map(b=>b.content_id),N={mode:"related",locale:n,related:A??4,current_ids:O,output:"full"};E&&(E==="report"?N.report_ids=C:E==="dimension"?N.dimension_ids=M:N.variant_ids=F);let q=await o(N).then(b=>{let L=[];return Xr(b)?b.ok&&(L=b.data.results):L=b.results,L&&Array.isArray(L)?L:[]}).catch(b=>(console.log("Error getting related members",b),[]));return {outputVariables:{related_reports:q},renderVariables:{},status:{log:[],allowed:q.length>0}}}let{logic:m}=ba(e,n),y=pt(m,t,r),h=Ve("resp",c||{},y,t,a,r),{vars:R,error:T,log:k}=h;if(typeof R!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:k,duration:p,responseSize:u,resp:c,api:d,allowed:i}};let w=Object.keys(R).reduce((E,A)=>({...E,[`${e.type}${e.id}${A}`]:R[A]}),{});return {renderVariables:R,outputVariables:[x.GENERATOR,x.SECTION_FLAG].includes(e.type)?R:w,status:{log:k,error:T,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=>eo(l,t,o,!1,a,n,s));}})}var eo=(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=>eo(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}=Ve("variables",r,e.settings.allowedLogic||"return false;",o,void 0,a);s||(n=!!i);}return n},fr=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((O,{id:N})=>({...O,...Sa(N,e)}),{}):h=Object.values(e).filter(O=>Qr(O)).reduce((O,N)=>({...O,[N.id]:N}),{});let R=Object.values(h).filter(O=>Qr(O));if(R.length>0){ze&&console.log("%crunConsumers: calculating section flags","color:purple",R.map(b=>b.id).join(", "));let O=Object.fromEntries(await Promise.all(R.map(async b=>[b.id,await Ta(b,o,{...l,variables:p,locale:p.locale},s).then(L=>{let{outputVariables:G,status:v}=L;if(v.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${b.id}, Section ${b.section_id}) failed with message: ${v.error}. `);d[b.id]={allowed:!1,error:v.error},u[b.id]={};}return (b.consumers.length>0||[x.GENERATOR,x.SECTION_FLAG,x.RELATED].includes(b.type))&&v.allowed&&Object.keys(G).length>0?u[b.id]=G:u[b.id]={},i==="report"?(d[b.id]={allowed:v.allowed},[x.GENERATOR,x.SECTION_FLAG].includes(b.type)&&v.api&&(d[b.id].api=v.api)):d[b.id]=v,L})]))),q=Object.entries(O).filter(([b,L])=>!L.outputVariables[cr]).map(([b])=>Number(b));m=new Set(q.map(b=>e[b].section_id)),Object.values(h).filter(b=>m.has(b.section_id)).forEach(b=>{y.push(b.id),delete h[b.id];}),ze&&console.log("%crunConsumers: removing sections","color:purple",m.keys());}let T=m.size>0?Object.fromEntries(Object.entries(e).filter(([O,N])=>m?.has(N.section_id)?(y.push(N.id),!1):!0)):e;if(y.length>0&&(T=Object.fromEntries(Object.entries(T).map(([O,N])=>{let q={...N,inputs:N.inputs.filter(b=>!y.includes(b)),consumers:N.consumers.filter(b=>!y.includes(b))};return [O,q]}))),!r&&!t)return {variables:{...a.variables??{},...u},status:{...a.status??{},...d}};ze&&console.log("%crunConsumers: running root blocks","color:purple",Object.keys(h));let k=Object.keys(h).reduce((O,N)=>{let q=new Date,b=eo(Number(N),T,[],!r,!0,c).map(v=>v.split("-")),G=(new Date().getTime()-q.getTime())/1e3;return ze&&console.log(`%cResolved dependencies for ${N} (${G.toFixed(2)}s)`,"color:blue"),[...O,...b]},[]),w=new Date,E=Object.keys(h).reduce((O,N)=>O.includes(N)?[...O]:[N,...O],nl(k)),C=(new Date().getTime()-w.getTime())/1e3;ze&&console.log(`%cResolved DAG (${C.toFixed(2)}s): `,"color:green",E);async function M(O,N){let q=new Map;for(let b of O){let L=N[b],v=Promise.all(L.inputs.filter(P=>O.includes(String(P))).map(P=>q.get(Number(P)))).then(async()=>{let P=L.inputs.reduce((J,Y)=>({...J,...u[Y]}),p),U=L.inputs.find(J=>(L.settings?.ignoreCascade?L.settings?.ignoreCascade:[]).includes(J)?!1:!d[J].allowed||d[J].hiddenByCascade);if(U){d[b]={allowed:!1,hiddenByCascade:d[U].hiddenByCascade||U},u[b]={};return}let ee=new Date,B=await Ta(L,o,{...l,variables:P,locale:P.locale},s).then(({outputVariables:J,status:Y})=>{if(Y.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${b}, Section ${L.section_id}) failed with message: ${Y.error}. `);d[b]={allowed:!1,error:Y.error},u[b]={};}(L.consumers.length>0||[x.GENERATOR,x.SECTION_FLAG,x.RELATED].includes(L.type))&&Y.allowed&&Object.keys(J).length>0?u[b]=J:u[b]={},i==="report"?(d[b]={allowed:Y.allowed},[x.GENERATOR,x.SECTION_FLAG].includes(L.type)&&Y.api&&(d[b].api=Y.api)):d[b]=Y;}),oe=(new Date().getTime()-ee.getTime())/1e3;return ze&&console.log(`%cBlock ${L.id} resolved in ${oe.toFixed(3)}s`,oe>500?"color:red":"color:green"),B});q.set(Number(b),v);}await Promise.all(Array.from(q.values()));}let F=new Date;await M(E,T);let j=(new Date().getTime()-F.getTime())/1e3;return ze&&console.log(`%cResolved Variables (${j.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 gr=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 yr=yl;function hl(e,t){return +(e<t)-+(e>t)}function hr(e,t,r="ordering"){return hl(t[r],e[r])}var _a=(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:xe,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}=z();var zt=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});zt.define({consumers:[zt],inputs:[zt]});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:[zt]}),Sl=new schema.Entity("report",{dimensions:[Pa],sections:[wa]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(hr):[]}}}),El=new schema.Entity("formatter"),Al={report:Sl,section:wa,block:zt,dimension:Pa,variant:ka,formatter:El};function Rr(e,t){let r=Al[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:dt(o,"report"),dimension:dt(o,"dimension"),section:dt(o,"section"),block:dt(o,"block"),variant:dt(o,"variant"),formatter:dt(o,"formatter")}}function dt(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}},to=(e=[],t=bl)=>e.reduce((r,o)=>{let n=_a({vars:["n"],logic:o.content.logic},{},t,{});return r[o.name]=n,r},{});var ue=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",br=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[ue];br.includes(ue)||br.push(ue);var _l={localeDefault:ue,locales:br,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},Sr=createSlice({name:"status",initialState:_l,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=Sr.actions;var wl={attributes:{},variables:{},status:{}},Er=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}})}}),Ar=Er.actions;var Bl={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}}},Te=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=Rr(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=Tr(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=Tr(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=Rr(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=Rr(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=Tr(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=Tr(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 Tr(e,t){return e.map(n=>t[n]).sort(hr).map(n=>n.id)}function Cl(e,t){let r=e.indexOf(t);r>-1&&e.splice(r,1);}function re(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 ft(e){return !!e&&!!e[se]}function Ge(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])||po(e)||mo(e))}function Gt(e,t,r){r===void 0&&(r=!1),yt(e)===0?(r?Object.keys:Ro)(e).forEach(function(o){r&&typeof o=="symbol"||t(o,e[o],e);}):e.forEach(function(o,n){return t(n,o,e)});}function yt(e){var t=e[se];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:po(e)?2:mo(e)?3:0}function so(e,t){return yt(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Ll(e,t){return yt(e)===2?e.get(t):e[t]}function Ua(e,t,r){var o=yt(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 po(e){return Ul&&e instanceof Map}function mo(e){return Fl&&e instanceof Set}function $e(e){return e.o||e.t}function fo(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=ql(e);delete t[se];for(var r=Ro(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 go(e,t){return t===void 0&&(t=!1),yo(e)||ft(e)||!Ge(e)||(yt(e)>1&&(e.set=e.add=e.clear=e.delete=Ml),Object.freeze(e),t&&Gt(e,function(r,o){return go(o,!0)},!0)),e}function Ml(){re(2);}function yo(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function ge(e){var t=$l[e];return t||re(18,e),t}function Ia(){return process.env.NODE_ENV==="production"||gt||re(0),gt}function ro(e,t){t&&(ge("Patches"),e.u=[],e.s=[],e.v=t);}function vr(e){io(e),e.p.forEach(Nl),e.p=null;}function io(e){e===gt&&(gt=e.l);}function Ba(e){return gt={p:[],l:gt,h:e,m:!0,_:0}}function Nl(e){var t=e[se];t.i===0||t.i===1?t.j():t.g=!0;}function oo(e,t){t._=t.p.length;var r=t.p[0],o=e!==void 0&&e!==r;return t.h.O||ge("ES5").S(t,e,o),o?(r[se].P&&(vr(t),re(4)),Ge(e)&&(e=_r(t,e),t.l||kr(t,e)),t.u&&ge("Patches").M(r[se].t,e,t.u,t.s)):e=_r(t,r,[]),vr(t),t.u&&t.v(t.u,t.s),e!==Fa?e:void 0}function _r(e,t,r){if(yo(t))return t;var o=t[se];if(!o)return Gt(t,function(i,c){return Ca(e,o,t,i,c,r)},!0),t;if(o.A!==e)return t;if(!o.P)return kr(e,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var n=o.i===4||o.i===5?o.o=fo(o.k):o.o,a=n,s=!1;o.i===3&&(a=new Set(n),n.clear(),s=!0),Gt(a,function(i,c){return Ca(e,o,n,i,c,r,s)}),kr(e,n,!1),r&&e.u&&ge("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&&re(5),ft(n)){var i=_r(e,n,a&&t&&t.i!==3&&!so(t.R,o)?a.concat(o):void 0);if(Ua(r,o,i),!ft(i))return;e.m=!1;}else s&&r.add(n);if(Ge(n)&&!yo(n)){if(!e.h.D&&e._<1)return;_r(e,n),t&&t.A.l||kr(e,n);}}function kr(e,t,r){r===void 0&&(r=!1),!e.l&&e.h.D&&e.m&&go(t,r);}function no(e,t){var r=e[se];return (r?$e(r):e)[t]}function La(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 co(e){e.P||(e.P=!0,e.l&&co(e.l));}function ao(e){e.o||(e.o=fo(e.t));}function lo(e,t,r){var o=po(t)?ge("MapSet").F(t,r):mo(t)?ge("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=uo;s&&(c=[i],l=$t);var p=Proxy.revocable(c,l),u=p.revoke,d=p.proxy;return i.k=d,i.j=u,d}(t,r):ge("ES5").J(t,r);return (r?r.A:Ia()).p.push(o),o}function Dl(e){return ft(e)||re(22,e),function t(r){if(!Ge(r))return r;var o,n=r[se],a=yt(r);if(n){if(!n.P&&(n.i<4||!ge("ES5").K(n)))return n.t;n.I=!0,o=Oa(r,a),n.I=!1;}else o=Oa(r,a);return Gt(o,function(s,i){n&&Ll(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 fo(e)}var Ma,gt,ho=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=ho?Symbol.for("immer-nothing"):((Ma={})["immer-nothing"]=!0,Ma),Da=ho?Symbol.for("immer-draftable"):"__$immer_draftable",se=ho?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,Ro=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,ql=Object.getOwnPropertyDescriptors||function(e){var t={};return Ro(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r);}),t},$l={},uo={get:function(e,t){if(t===se)return e;var r=$e(e);if(!so(r,t))return function(n,a,s){var i,c=La(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||!Ge(o)?o:o===no(e.t,t)?(ao(e),e.o[t]=lo(e.A.h,o,e)):o},has:function(e,t){return t in $e(e)},ownKeys:function(e){return Reflect.ownKeys($e(e))},set:function(e,t,r){var o=La($e(e),t);if(o?.set)return o.set.call(e.k,r),!0;if(!e.P){var n=no($e(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||so(e.t,t)))return !0;ao(e),co(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 no(e.t,t)!==void 0||t in e.t?(e.R[t]=!1,ao(e),co(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=$e(e),o=Reflect.getOwnPropertyDescriptor(r,t);return o&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:o.enumerable,value:r[t]}},defineProperty:function(){re(11);},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){re(12);}},$t={};Gt(uo,function(e,t){$t[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};}),$t.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&re(13),$t.set.call(this,e,t,void 0)},$t.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&re(14),uo.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 T=arguments.length,k=Array(T>1?T-1:0),w=1;w<T;w++)k[w-1]=arguments[w];return c.produce(h,function(E){var A;return (A=a).call.apply(A,[R,E].concat(k))})}}var l;if(typeof a!="function"&&re(6),s!==void 0&&typeof s!="function"&&re(7),Ge(n)){var p=Ba(o),u=lo(o,n,void 0),d=!0;try{l=a(u),d=!1;}finally{d?vr(p):io(p);}return typeof Promise<"u"&&l instanceof Promise?l.then(function(h){return ro(p,s),oo(h,p)},function(h){throw vr(p),h}):(ro(p,s),oo(l,p))}if(!n||typeof n!="object"){if((l=a(n))===void 0&&(l=n),l===Fa&&(l=void 0),o.D&&go(l,!0),s){var m=[],y=[];ge("Patches").M(n,l,m,y),s(m,y);}return l}re(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){Ge(r)||re(8),ft(r)&&(r=Dl(r));var o=Ba(this),n=lo(this,r,void 0);return n[se].C=!0,io(o),n},t.finishDraft=function(r,o){var n=r&&r[se];process.env.NODE_ENV!=="production"&&(n&&n.C||re(9),n.I&&re(10));var a=n.A;return ro(a,o),oo(void 0,a)},t.setAutoFreeze=function(r){this.D=r;},t.setUseProxies=function(r){r&&!Na&&re(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=ge("Patches").$;return ft(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 Pr=Kl;var pe=Te.actions,$a=Kt({block:Ke("block"),dimension:Ke("dimension"),formatter:Ke("formatter"),report:Ke("report"),section:Ke("section"),variant:Ke("variant")}),ne=Kt({block:je("block"),dimension:je("dimension"),formatter:je("formatter"),report:je("report"),section:je("section"),variant:je("variant")}),Ga=Kt({block:Re("block"),dimension:Re("dimension"),formatter:Re("formatter"),report:Re("report"),section:Re("section"),variant:Re("variant")}),Ka=Kt({block:ht("block"),dimension:ht("dimension"),formatter:ht("formatter"),report:ht("report"),section:ht("section"),variant:ht("variant")}),ja=Kt({block:za("block"),section:za("section")});function Kt(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 He(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 Rt(e,t,r,o){return n=>{typeof window=="object"&&notifications.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 Ke(e){return t=>{let r=So(e,t);return (o,n,a)=>(o(He(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(Rt(e,r,i.status,i.error)),i)))}}function Wl(e){return t=>{let r=So(e,t[0]);return (o,n,a)=>(o(He(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(Rt(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)=>Ke(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(He(e,`${u}`)),e==="block"&&Jl(r)){let d=Pr(p,R=>{R.id=l;}),{contentByLocale:m}=d;m&&(d=Pr(d,R=>{R.id=l,R.contentByLocale=Object.keys(m).reduce((T,k)=>{let w=m?m[k]:{};return T[k]={...w,id:l},T},{});}));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&&qa(e)([d,...h])(o,n,a).then(()=>je("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))),Re(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=Pr(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(T=>T)}));return h&&y&&await Wl("block")(h)(o,n,a).then(R=>{if(R.ok){let T=R.data,k=[],w=T.map((E,A)=>{let M={...E},F=M.id,W=y[A];W.contentByLocale&&(M.contentByLocale=Object.keys(W.contentByLocale).reduce((v,P)=>{let U=W.contentByLocale[P];return v[P]={...U,content:{...U.content},id:M.id},v},{}));let{settings:j}=W,{contentByLocale:O,id:N}=M;M.settings=j;let q={id:N,contentByLocale:O,settings:j};return W.inputs.map(v=>v.id).reduce((v,P)=>{let U=y.findIndex(ee=>ee.id===P);return [...v,U]},[]).map(v=>({...T[v],originalBlock:y[v]})).forEach(v=>{let{id:P,type:U,originalBlock:ee}=v;if([x.SELECTOR,x.VIZ].includes(U)){if(q.contentByLocale?.logic?.content?.api){let B=q.contentByLocale?.logic.content.api;q.contentByLocale.logic.content.api=Va(`(selector${ee.id}id)`,`selector${P}id`,B);}if(q.contentByLocale?.logic?.content?.logic){let B=q.contentByLocale.logic.content.logic;q.contentByLocale.logic.content.logic=Va(`(selector${ee.id}id)`,`selector${P}id`,B);}}k.push({id:P,inputAction:{operation:"create",input:{input_id:P,block_id:F}}});}),q});return qa("block")([...w,...k])(o,n,a)}}),Re(e)(m)(o,n,a).then(R=>(R.ok&&o(pe.setRequest({key:u,type:e,status:"SUCCESS",data:R.data})),R))}return Re(e)({...p,id:c.id})(o,n,a)}})}}function je(e){return t=>{let r=Ha(e,t);return (o,n,a)=>(o(He(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(Rt(e,r,i.status,i.error)),i)))}}function Re(e){return t=>{let r=Eo(e,t);return (o,n,a)=>(o(He(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(Rt(e,r,i.status,i.error)),i)))}}function qa(e){return t=>{let r=Eo(e,t[0]);return (o,n,a)=>(o(He(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(Rt(e,r,i.status,i.error)),i)))}}function ht(e){return t=>{let r=Wa(e,t);return (o,n,a)=>(o(He(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(Rt(e,r,i.status,i.error));}))}}function So(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 Eo(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 jt(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={...gr(d),locale:a,...yr()},h={variables:y,query:m,locale:a},R=n.records.entities.section[p],T=async k=>r(jt(k));try{let k=await fr(s,R&&[R],u,i,h,void 0,T),{variables:w,status:E}=k;r(Ar.setVariableChange({attributes:y,variables:w,status:E}));}catch(k){console.log("Error in runConsumers client side: recalculateVariables",k);}}}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 Ao(e){let{removeBlocks:t}=Te.actions;return async r=>{await r(t(e));}}function To(e){let{addBlocks:t}=Te.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:{[Te.name]:Te.reducer,[Sr.name]:Sr.reducer,[Er.name]:Er.reducer},middleware(t){return t({thunk:{extraArgument:Vt("/api/cms/")}})}}),Wt=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 Wt.getServerSideProps(s=>{let{dispatch:i}=s;return async c=>{let l=await de(c.req,c.res,a);if(!l)return {redirect:{destination:"/api/auth/signin?callbackUrl=/cms",permanent:!1}};let p=c.query[r],[u]=Array.isArray(p)?p:[p];await i(Dt);let d=await Su("@datawheel/bespoke"),m=await o(s,c);if("redirect"in m)return {props:m};u==="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})])),u==="metadata"&&await i(ne("report",{include:"dimensions"})),u==="formatters"&&await i(ne("formatter",{}));let y=await n(s,c);return {props:{...m,...y,bespokeVersion:d,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}=z(),vu={pathSegment:"path",formatterFunctions:Tu.reduce((e,t)=>({...e,[t]:{}}),{}),profilePrefix:"path",siteProps:{}};createContext(vu);z();var cs=e=>e.records.entities.block;function Et(e){return t=>Object.values(t.records.entities[e])}var ls=Et("section"),us=Et("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 Me().then(it),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 Wt.getStaticProps(r=>{let{dispatch:o}=r;return async n=>{await o(Dt);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(jt({mode:"slugs",locale:s,slugs:c,output:"full"}));o(Ht.setPreviews(l.results)),await Promise.all([o(ne("formatter",{})),o(ne("report",{id:l.results.map(A=>A.report_id),include:!0,locales:[s]}))]);let p=r.getState(),u=us(p),d=to(u,s),m=ls(p),y=cs(p),h={...y},R={},T=Object.values(y).reduce((A,C)=>("access"in C.settings&&!["public","guest"].some(M=>!C.settings.access||C.settings.access.includes(M))&&A.push(C.id),A),[]);T=T.concat(Nt(T,Object.values(h)));let k=T.filter(A=>h[A].settings[Wo.FALLBACK]);T.forEach(A=>{k.includes(A)&&(R[A]={...h[A],type:x.FALLBACK}),delete h[A];}),await o(Ao(T)),await o(To(R));let w={...gr(l.results),locale:s,...yr()},E=async A=>await o(jt(A));return await fr({...h,...R},m,void 0,d,{locale:s,query:i,variables:w},void 0,E,"report").then(A=>{o(Ar.setVariableChange({...A,attributes:w}));}),{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, de as BespokeGetSession, hs as BespokeHandleAuth, Eu as BespokeManagerServerSideProps, Fu as BespokeRendererStaticPaths, Vu as BespokeRendererStaticProps, ws as BespokeSearchUsersByMetadata, Es as BespokeUpdateCurrentUserAppMetadata, vs as BespokeUpdateCurrentUserMetadata, ks as BespokeWithApiRoleAuthRequired, Vc as ReportCrosswalkHandler, it as dbApiFactory, Gr as endpointKey, Me as getDB, Dt as useDatabaseApi };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datawheel/bespoke",
3
- "version": "0.8.0-rc.7",
3
+ "version": "0.8.0-rc.8",
4
4
  "description": "Content management system for creating automated data reports",
5
5
  "exports": {
6
6
  ".": {