@datawheel/bespoke 0.8.0-rc.22 → 0.8.0-rc.24
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/README.md +5 -1
- package/dist/cms.js +55 -55
- package/dist/redux-store.js +16 -16
- package/dist/report.js +28 -28
- package/dist/server.js +34 -34
- package/package.json +1 -1
package/dist/redux-store.js
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import { createSlice, configureStore } from '@reduxjs/toolkit';
|
|
2
2
|
import { HYDRATE, createWrapper } from 'next-redux-wrapper';
|
|
3
|
-
import
|
|
3
|
+
import ot from 'axios';
|
|
4
4
|
import { schema, normalize } from 'normalizr';
|
|
5
5
|
import { assign, closest, merge, isObject } from 'd3plus-common';
|
|
6
|
-
import * as
|
|
7
|
-
import * as
|
|
8
|
-
import * as
|
|
9
|
-
import * as
|
|
6
|
+
import * as fo from 'd3-array';
|
|
7
|
+
import * as mo from 'd3-collection';
|
|
8
|
+
import * as yo from 'd3-format';
|
|
9
|
+
import * as Ro from 'd3-time-format';
|
|
10
10
|
import { formatAbbreviate } from 'd3plus-format';
|
|
11
11
|
import { date } from 'd3plus-axis';
|
|
12
12
|
import { strip, titleCase } from 'd3plus-text';
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
13
|
+
import vo from 'jsonwebtoken';
|
|
14
|
+
import yr from 'axios-retry';
|
|
15
|
+
import Qo from 'yn';
|
|
16
16
|
import { format } from 'pretty-format';
|
|
17
|
-
import
|
|
17
|
+
import fn from 'toposort';
|
|
18
18
|
import { csvParse } from 'd3-dsv';
|
|
19
|
-
import
|
|
19
|
+
import ln from 'next/config';
|
|
20
20
|
import { notifications } from '@mantine/notifications';
|
|
21
21
|
import { createContext } from 'react';
|
|
22
22
|
import { useDispatch, useSelector } from 'react-redux';
|
|
23
23
|
import 'react/jsx-runtime';
|
|
24
24
|
import '@mantine/core';
|
|
25
25
|
|
|
26
|
-
var ro=Object.defineProperty;var oo=(e,t)=>{for(var r in t)ro(e,r,{get:t[r],enumerable:!0});};function Z(e,t){return e.request(t).then(r=>{let{status:o,data:n}=r;return "error"in n?{ok:!1,status:o,error:n.error}:{ok:!0,status:o,wrapper:n.wrapper,data:n.data}},r=>{if("isAxiosError"in r){let{status:o,data:n}=r.response||{status:500};return {ok:!1,status:o,error:n?.error??r.message}}return {ok:!1,status:500,error:r.message}})}function M(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>Z(e,{...o,method:"GET",params:r?r(n):n})}function U(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>Z(e,{...o,method:"POST",data:r?r(n):n})}function se(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>Z(e,{...o,method:"DELETE",params:r?r(n):n})}function Ce(e,t){return r=>Z(e,{method:"POST",url:`images/save/${t}`,params:{prompt:r.prompt,provider:t}})}function Ie(e,t){return r=>Z(e,{method:"GET",url:`images/search/${t}`,params:{prompt:r.prompt,page:r.page,provider:t}})}function qt(e,t){return ()=>Z(e,{method:"GET",url:`list/icons/${t}`,params:{provider:t}})}function $t(e,t){return r=>Z(e,{method:"GET",url:`read/icons/${t}/icon.svg`,params:{name:r.name}})}var ce=e=>({id:e}),so=e=>{if(e.mode==="slugs"){let t=e.slugs.map(r=>[r.variantSlug,r.memberSlug].join("/")).join(",");return {...e,slugs:t}}return ["related","whole"].includes(e.mode)?{...e}:{...e,[e.mode]:e[e.mode].join(",")}};function Be(e){let t=tt.create({baseURL:e});return {createBulkBlock:U(t,"create/bulk/block"),createBlock:U(t,"create/block"),createDimension:U(t,"create/dimension"),createFormatter:U(t,"create/formatter"),createReport:U(t,"create/report"),createSection:U(t,"create/section"),createVariant:U(t,"create/variant"),createDatasource:U(t,"create/datasource"),deleteBlock:se(t,"delete/block",ce),deleteDimension:se(t,"delete/dimension",ce),deleteFormatter:se(t,"delete/formatter",ce),deleteReport:se(t,"delete/report",ce),deleteSection:se(t,"delete/section",ce),deleteVariant:se(t,"delete/variant",ce),deleteDatasource:se(t,"delete/datasource",ce),readBlock:M(t,"read/block"),readDimension:M(t,"read/dimension"),readFormatter:M(t,"read/formatter"),readReport:M(t,"read/report"),readSection:M(t,"read/section"),readVariant:M(t,"read/variant"),readDatasource:M(t,"read/datasource"),updateBulkBlock:U(t,"update/bulk/block"),updateBlock:U(t,"update/block"),updateDimension:U(t,"update/dimension"),updateFormatter:U(t,"update/formatter"),updateReport:U(t,"update/report"),updateSection:U(t,"update/section"),updateVariant:U(t,"update/variant"),updateDatasource:U(t,"update/datasource"),searchReport:M(t,"search/reports"),validateVariantSlug:M(t,"validate/variant"),readMember:M(t,"read/members",so),readMemberImage:M(t,{url:"member/image",responseType:"blob"}),searchMember:M(t,"search/members"),updateMember:M(t,"update/members"),imageLocalSearch:Ie(t,"local"),imageLocalSave:Ce(t,"local"),imageFlickrSearch:Ie(t,"flickr"),imageFlickrSave:Ce(t,"flickr"),imageUnsplashSearch:Ie(t,"unsplash"),imageUnsplashSave:Ce(t,"unsplash"),imageUploadSave:Ce(t,"upload"),imageAdobeSearch:Ie(t,"adobe"),imageAdobeSave:Ce(t,"adobe"),readMetadata:M(t,"read/metadata"),regenerateSearch:U(t,"search/regenerate"),urlProxy:M(t,"url/proxy"),searchRole:M(t,"auth/search/roles"),searchUser:M(t,"auth/search/users"),readUser:M(t,"auth/read/user"),updateUser:U(t,"auth/update/user"),updateMyData:U(t,"auth/update/me"),revalidateReport:M(t,"revalidate/report"),revalidateUrl:M(t,"revalidate/url"),readPrivateBlocks:U(t,"read/blocks/private"),listTablerIcons:qt(t,"tabler"),readTablerIcon:$t(t,"tabler"),readEnvSecrets:M(t,"read/secrets")}}function ao(e,t){return +(e<t)-+(e>t)}function je(e,t,r="ordering"){return ao(t[r],e[r])}function lt(e){let t=1+76.18009173/e-86.50532033/(e+1)+24.01409822/(e+2)-1.231739516/(e+3)+.00120858003/(e+4)-536382e-11/(e+5);return (e-.5)*Math.log(e+4.5)-(e+4.5)+Math.log(t*2.50662827465)}function zt(e,t,r){let o=0,n=1,s=1,a=1,i=0,c=0,u;for(;Math.abs((s-c)/s)>1e-5;)c=s,u=-(t+i)*(t+r+i)*e/(t+2*i)/(t+2*i+1),o=s+u*o,n=a+u*n,i+=1,u=i*(r-i)*e/(t+2*i-1)/(t+2*i),s=o+u*s,a=n+u*a,o/=a,n/=a,s/=a,a=1;return s/t}function io(e,t,r){let o,n;if(e<0)n=0;else if(e>=t)n=1;else {e=Math.floor(e);let s=r,a=e+1,i=t-e,c=a+i,u=Math.exp(lt(c)-lt(i)-lt(a)+a*Math.log(s)+i*Math.log(1-s));s<(a+1)/(c+2)?o=u*zt(s,a,i):o=1-u*zt(1-s,i,a),n=1-o;}return Math.round(n*1e5)/1e5}function co(e){return {.99999:15.137,.99:6.635,.95:3.841,.9:2.706}[e]}function we(e,t,r,o){let n=t/(1-t),s=0,a=1,i=0,c=0;for(;s<=e;)c+=a,s>=r&s<=o&&(i+=a),c>1e30&&(i/=1e30,c/=1e30,a/=1e30),s+=1,a=a*n*(e+1-s)/s;return i/c}function uo(e,t,r){let o=e/t,s=(100-r*100)/2,a,i;if(e===0)a=0;else {let c=o/2,u=0,l=o,p=s/100;for(;l-u>1e-5;)we(t,c,e,e)*.5+we(t,c,e+1,t)>p?(l=c,c=(u+c)/2):(u=c,c=(l+c)/2);a=c;}if(e===t)i=0;else {let c=(1+o)/2,u=o,l=1,p=s/100;for(;l-u>1e-5;)we(t,c,e,e)*.5+we(t,c,0,e-1)<p?(l=c,c=(u+c)/2):(u=c,c=(l+c)/2);i=c;}return {lci:a,uci:i}}function lo(e,t){let r=e,o=t,n=r,s=o,a=95,i=.5,c=.5,l=(100-a)/2/100,p=n;for(;c>1e-5;)c/=2,Ge((1+p)*i/(1-i),p+1,1e10)+.5*Ge((1+p)*i/(1-i),p,p)>l?i-=c:i+=c;let d=(1+p)*i/(1-i)/s;for(i=.5,c=.5,l=(100-a)/2/100;c>1e-5;)c/=2,Ge((1+p)*i/(1-i),0,p-1)+.5*Ge((1+p)*i/(1-i),p,p)<l?i-=c:i+=c;let b=(1+p)*i/(1-i)/s;return {lci:d,uci:b}}function Ge(e,t,r){let o=1,n=0,s=0,a=0;for(;a<e||o>n*1e-10;)n+=o,a>=t&a<=r&&(s+=o),n>1e30&&(s/=1e30,n/=1e30,o/=1e30),a+=1,o=o*e/a;return s/n}var jt={binomialCdf:io,binP:we,computeMidP:uo,criticalValue:co,smr:lo};var ke={d3:{...po,...fo,...mo,...yo},d3plus:{assign:assign,closest:closest,date:date,formatAbbreviate:formatAbbreviate,merge:merge,strip:strip,titleCase:titleCase},stats:jt};var Gt={jwt:Ao};var Kt=(e,t={})=>{let r={libs:Gt,...t};function o(s){return Function("globals",...s.vars,`with (globals) { ${s.logic} }`).bind(r,r)}function n(s){if(s.vars&&s.logic)return o(s);for(let a in s)Array.isArray(s[a])?s[a]=s[a].map(i=>isObject(i)?n(i):i):isObject(s[a])&&(s[a]=n(s[a]));return s}return n(e)};var vo=()=>{let e=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",t=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[e];return t.includes(e)||t.push(e),{localeDefault:e,locales:t}},ee=vo;ee();var Ne=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});Ne.define({consumers:[Ne],inputs:[Ne]});var Yt=new schema.Entity("variant"),Wt=new schema.Entity("dimension",{variants:[Yt]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),Qt=new schema.Entity("section",{blocks:[Ne]}),Co=new schema.Entity("report",{dimensions:[Wt],sections:[Qt]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(je):[]}}}),ko=new schema.Entity("formatter"),Po=new schema.Entity("datasource"),Lo={report:Co,section:Qt,block:Ne,dimension:Wt,variant:Yt,formatter:ko,datasource:Po};function He(e,t){let r=Lo[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:ue(o,"report"),dimension:ue(o,"dimension"),section:ue(o,"section"),block:ue(o,"block"),variant:ue(o,"variant"),formatter:ue(o,"formatter"),datasource:ue(o,"datasource")}}function ue(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:{}}var Zt=(e,t=void 0)=>{let{sid:r,bid:o,previews:n=[],query:s={}}=t||{},a,i,c={};return r?(a=r,c.activeSection=a):a=e.activeSection,n.length>0?(i=n,c.previews=i.filter(Boolean)):i=e.previews,{parsedParams:{sid:a,bid:o,previews:i,query:s},statusPayload:c}};var Io={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{},datasource:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{},datasource:{}}},oe=createSlice({name:"records",initialState:Io,reducers:{set:(e,t)=>{let r=t.payload;return {entities:Me(e.entities,r.entities||{}),requests:Me(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=He(r.type,o),s=Me(e.entities,n);if(e.entities=s,r.type==="report"){let a=r.data;e.reports?e.reports.indexOf(a.id)===-1&&(e.reports=[...e.reports,a.id]):e.reports=[a.id];}else if(r.type==="dimension"){let a=r.data;e.entities.report[a.report_id].dimensions.push(a.id),e.entities.report[a.report_id].dimensions=Ke(s.report[a.report_id].dimensions,s.dimension);}else if(r.type==="variant"){let a=r.data;e.entities.dimension[a.dimension_id].variants.push(a.id);}else if(r.type==="section"&&!Array.isArray(r.data)){let a=r.data;e.entities.report[a.report_id].sections.push(a.id),e.entities.report[a.report_id].sections=Ke(s.report[a.report_id].sections,s.section);}else if(r.type==="block")if(Array.isArray(r.data)){let a=r.data,i=a[0],c=a.map(u=>u.id);e.entities.section[i.section_id].blocks.concat(c);}else {let a=r.data;e.entities.section[a.section_id].blocks.push(a.id);}}},setReadRequest(e,t){let r=t.payload;if(r.type!=="report"&&(e.requests[r.type][r.key]=r),r.status==="SUCCESS"){let o=He(r.type,r.data),n=Me(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=He(r.type,o),s,a,i;if(r.type==="block"&&!Array.isArray(r.data)){let u=e.entities.block[r.data.id].inputs,l=n.block[r.data.id].inputs;s=u.length!==l.length,s&&(i=u.length>l.length,a=i?u.filter(p=>!l.includes(p))[0]:l.filter(p=>!u.includes(p))[0]),Object.values(n.block).forEach(p=>{p.block_input&&delete n.block[p.id];});}let c=Me(e.entities,n);if(e.entities=c,r.type==="dimension"){let u=r.data;e.entities.report[u.report_id].dimensions=Ke(c.report[u.report_id].dimensions,c.dimension);}else if(r.type==="section"&&!Array.isArray(r.data)){let u=r.data;e.entities.report[u.report_id].sections=Ke(c.report[u.report_id].sections,c.section);}else if(r.type==="block"&&!Array.isArray(r.data)){let u=r.data;s&&(i?e.entities.block[a].consumers=e.entities.block[a].consumers.filter(l=>l!==u.id):e.entities.block[a].consumers.push(u.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:s}=r.data;if(delete e.entities[r.type][o],s&&n!=null){let a=`${r.type}s`;Bo(e.entities[s][n][a],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}}}},removeDataSourceLogic:e=>{let t={...e.entities.datasource};Object.keys(t).forEach(r=>{e.entities.datasource[r].content.useProxy&&(delete e.entities.datasource[r].content.logic,delete e.entities.datasource[r].content.testUrl,delete e.entities.datasource[r].content.access);});}},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:{},datasource:{}},tree:r.tree}}}});function Me(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],...t[r]}]))}function Ke(e,t){return e.map(n=>t[n]).sort(je).map(n=>n.id)}function Bo(e,t){let r=e.indexOf(t);r>-1&&e.splice(r,1);}var pe=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",Ye=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[pe];Ye.includes(pe)||Ye.push(pe);var Mo={localeDefault:pe,locales:Ye,currentLocale:pe,preferredLocale:pe,showToolbar:!1,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:!0,settings:!1,reportEditor:!1},isCMS:!1,isRunConsumersRunning:[]},We=createSlice({name:"status",initialState:Mo,reducers:{setStatus:(e,t)=>{Object.assign(e,t.payload);},setPreviews(e,t){e.previews=t.payload;},setCurrentLocale(e,t){e.currentLocale=t.payload;},setPreferredLocale(e,t){e.preferredLocale=t.payload;},setSectionState(e,t){e.sectionState={...e.sectionState,...t.payload};},resetSectionState(e,t){e.sectionState={...e.sectionState,[t.payload]:{}};},setActiveEntity(e,t){e.activeEntity=t.payload;},openSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!0};},closeSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!1};},toggleSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!e.sidebarStatus[t.payload]};},addRunConsumersRunning(e,t){e.isRunConsumersRunning=e.isRunConsumersRunning.concat(t.payload);},removeRunConsumersRunning(e,t){e.isRunConsumersRunning=e.isRunConsumersRunning.filter(r=>!t.payload.includes(r));}},extraReducers:{[HYDRATE]:(e,t)=>({...e,previews:t.payload.status.previews})}}),Pe=We.actions;var Fo={attributes:{},variables:{},status:{}},Qe=createSlice({name:"variables",initialState:Fo,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}})}}),Jt=Qe.actions;var Xt=()=>configureStore({reducer:{[oe.name]:oe.reducer,[We.name]:We.reducer,[Qe.name]:Qe.reducer},middleware(e){return e({thunk:{extraArgument:Be("/api/cms/")}})}}),er=createWrapper(Xt);var at={};oo(at,{addBlockToState:()=>ns,addRunConsumersRunning:()=>zr,cloneEntity:()=>Mr,createEntity:()=>Br,deleteEntity:()=>Nr,deleteQueryParam:()=>Yn,readEntity:()=>Ve,readEnvSecrets:()=>cs,readMember:()=>Gr,readMetadata:()=>Qn,readPrivateBlocks:()=>ss,readUser:()=>es,recalculateVariables:()=>Kr,removeBlocksFromState:()=>os,removeDataSourceLogic:()=>us,removeRunConsumersRunning:()=>jr,reportSearch:()=>Gn,resetSectionState:()=>$r,revalidateReport:()=>is,revalidateUrl:()=>as,searchMember:()=>Kn,searchRegenerate:()=>Hn,searchRole:()=>Jn,searchUser:()=>Xn,setCurrentLocale:()=>$n,setPreferredLocale:()=>zn,setPreviews:()=>qn,setQueryParam:()=>Wn,setSectionState:()=>qr,setStatus:()=>Vr,updateEntity:()=>wr,updateMyData:()=>rs,updateUser:()=>ts,urlProxy:()=>Zn,variantValidateSlug:()=>jn});var{localeDefault:jo}=ee();function Q(e){return {variables:e.variables||{},query:e.query||{},locale:e.locale||jo}}var fe={SINGLE:"single",MULTI:"multi"};var Ko={IMAGE:"image",PARAGRAPH:"paragraph",SELECTOR:"selector",STAT:"stat",SUBTITLE:"subtitle",TITLE:"title",NAV:"nav",RESET_BUTTON:"reset_button",COMPARISON_BUTTON:"comparison_button",TABLE:"table",BUTTON:"button",MULTIHIERARCHY_SELECTOR:"multihierarchy_selector",FALLBACK:"fallback"},dt={GENERATOR:"generator",RELATED:"related",VIZ:"visualization",SECTION_FLAG:"section_flag"},ft="logic",S={...Ko,...dt};var Zo=Wo(process.env.REPORTS_LOGGING),me=Jo;function Jo(e,t,r,o,n=void 0,s){let a={},i=[],{locale:c}=Q(s);try{if(t){let u=new Proxy(console,{get(p,d){return Xo(d,"log","debug","info","warn","error")?(...f)=>{i.push(`${d} ${Date.now()} - ${f.map(b=>format(b)).join(" ")}`),Zo&&p[d](...f);}:p[d]}}),l;return n?l=new Function(e,"console","libs","formatters","locale","variables",r)(t,u,ke,o,c,n):l=new Function(e,"console","libs","formatters","locale",r)(t,u,ke,o,c),typeof l=="object"&&Object.keys(l).length>0&&Object.assign(a,l),{vars:a,error:null,log:i,output:l}}return {vars:a,error:"Invalid API Link",log:i}}catch(u){return {vars:a,error:u.message,log:i}}}function Xo(e,...t){return t.includes(e)}function mt(e){return e.reduce((t,r,o)=>(o?o===e.length-1&&o===1?t+=` and ${r}`:o===e.length-1?t+=`, and ${r}`:t+=`, ${r}`:t+=r,t),"")}var ye=en;function en(e,t,r,o=!1){let{variables:n}=Q(r);if(!e)return e;let s=/([A-z0-9]*)\{\{([^\}]+)\}\}/g;return e.replace(s,(i,c,u)=>{let l=d=>d;if(c){let d=c.replace(/^\w/g,f=>f.toLowerCase());d in t?l=t[d]:l=f=>`${c}${f}`;}let p=Array.isArray(n[u])?mt(n[u]):n[u];if(p===void 0)return o?i:"N/A";try{return l(p,ke,t)}catch(d){return console.error(`Error using formatter ${l.name}
|
|
27
|
-
`,`Error message: ${d.message}`),"N/A"}})}var yt=(e,t,r)=>{let{variables:o}=r,n=a=>a.allowed==="never"?!1:!a.allowed||a.allowed==="always"||o[a.allowed],s={...e};return Object.keys(s).forEach(a=>{typeof s[a]=="string"?s[a]=
|
|
28
|
-
Error fetching ${
|
|
29
|
-
Message: ${
|
|
30
|
-
`)}));}let C=await Promise.all(w).catch(L=>L.message);if(typeof C=="string"&&C)return {outputVariables:{},renderVariables:{},status:{error:C}};u=C.length===1?C[0].data:C.map(L=>L.data),d=C.reduce((L,N)=>L+JSON.stringify(N.data).length/1024,0),p=Math.max(...C.map(L=>L.requestDuration)),b=C.map(L=>L.apiDataSource?`${L.apiDataSource.name} (${L.apiDataSource.id})`:!1),A=C.map(L=>L.finalUrl);}if(e.type===S.SELECTOR){let{config:_,log:w,error:C}=gt(e.id,e.contentByLocale[s].content.logic,t,r,!0);return {outputVariables:sr(e.id,i,_),renderVariables:_,status:{log:w,error:C,allowed:c}}}if(e.type===S.MULTIHIERARCHY_SELECTOR){let{config:_,log:w,error:C}=ht(e.id,e.contentByLocale[s].content.logic,t,r,!0);return {outputVariables:ar(e.id,i,_),renderVariables:_,status:{log:w,error:C,allowed:c}}}if(e.type===S.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:c}};if(e.type===S.RELATED){let _=e.contentByLocale?.logic?.content?.simple?.compare||"variant",w=e.contentByLocale?.logic?.content?.simple?.limit||4,C=Object.keys(a).filter(y=>y.startsWith("report_id")).map(y=>a[y]),L=Object.keys(a).filter(y=>y.startsWith("dimension_id")).map(y=>a[y]),N=Object.keys(a).filter(y=>y.startsWith("variant_id")).map(y=>a[y]),h=Object.keys(a).filter(y=>y.startsWith("id")).map(y=>a[y]);if(!h.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:!1}};let k=await Promise.all(h.map((y,O)=>o({mode:"ids",locale:s,ids:[y],output:"lite",variant:[N[O]]}))).then(y=>y.flatMap(O=>{let z=[];return et(O)?O.ok&&(z=O.data.results):z=O.results,z&&Array.isArray(z)?z:[]})).catch(y=>(console.error("Error getting related members",y),[]));if(L.length>1){let y=Object.keys(a).filter(x=>x.startsWith("variant_slug")).map(x=>a[x]),O=k.map((x,G)=>{let D={mode:"related",locale:s,related:w??4,current_ids:[x.content_id],output:"full",variant_ids:[x.variant_id]};return G===0&&(D.include_ids=[x.content_id]),D}),z=await Promise.all(O.map(x=>o(x))).then(x=>x.flatMap(G=>{let D=[];return et(G)?G.ok&&(D=G.data.results):D=G.results,D&&Array.isArray(D)?D:[]})).catch(x=>(console.error("Error getting related members",x),[])),ne=z.reduce((x,G)=>{let D=G.variant_slug;return x[D]||(x[D]=[]),x[D].push(G),x},{}),ze=[],ct=Object.keys(ne),xe=[{combination:[],index:0}];for(;xe.length>0;){let x=xe.pop();if(!x)continue;let{combination:G,index:D}=x;if(D===ct.length){ze.push(G);continue}let ut=ct[D],eo=ne[ut];for(let to of eo)xe.push({combination:[...G,to],index:D+1});}return {outputVariables:{related_reports:ze.map(x=>{let G=x.sort((D,ut)=>y.indexOf(D.variant_slug)-y.indexOf(ut.variant_slug));return {entities:G,link:"/"+G.map(D=>`${D.variant_slug}/${D.slug}`).join("/")}})},renderVariables:{},status:{log:[],allowed:z.length>0}}}let W=k.map(y=>y.content_id),R={mode:"related",locale:s,related:w??4,current_ids:W,output:"full"};_&&(_==="report"?R.report_ids=C:_==="dimension"?R.dimension_ids=L:R.variant_ids=N);let V=await o(R).then(y=>{let O=[];return et(y)?y.ok&&(O=y.data.results):O=y.results,O&&Array.isArray(O)?O:[]}).catch(y=>(console.error("Error getting related members",y),[]));return {outputVariables:{related_reports:V.map(y=>({entities:[y],link:`/${y.variant_slug}/${y.slug}`}))},renderVariables:{},status:{log:[],allowed:V.length>0}}}let{logic:m}=cr(e,s),P=ye(m,t,r),T=me("resp",u||{},P,t,a,r),{vars:v,error:q,log:I}=T;if(typeof v!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:I,duration:p,responseSize:d,resp:u,api:f,allowed:c,apiFinalUrls:A,apiDataSources:b}};let H=Object.keys(v).reduce((_,w)=>({..._,[`${e.type}${e.id}${w}`]:v[w]}),{});return {renderVariables:v,outputVariables:[S.GENERATOR,S.SECTION_FLAG].includes(e.type)?v:H,status:{log:I,error:q,duration:p,responseSize:d,resp:u,api:f,allowed:c,apiFinalUrls:A,apiDataSources:b}}}function Sn(e,t,r,o,n,s,a){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(u=>t[u]&&t[u].section_id===t[r].section_id||!n).forEach(u=>bt(u,t,o,!1,s,n,a));}})}var bt=(e,t,r=[],o=!0,n=!0,s=!0,a=[])=>{if(a.includes(e))return [];a.push(e);let i=t[e];return i&&i.inputs.length&&o&&i.inputs.forEach(c=>{let u=`${c}-${e}`;r.includes(u)||r.push(u),i.inputs.forEach(l=>bt(l,t,r,o,!1,s,a));}),i&&i.consumers.length&&n&&Sn(i,t,e,r,s,n,a),r},bn=(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 s=Q(t),{error:a,output:i}=me("variables",r,e.settings.allowedLogic||"return false;",o,void 0,s);a||(n=!!i);}return n},gr=async(e,t,r,o,n,s={},a,i="section",c)=>{let u=i==="section",l=Q(n),p=l.variables,d={...s.variables??{}},f={...s.status??{}},b=new Set,A=[],m={};r?m={...m,[r]:e[r]}:t?m=(t??[]).reduce((h,{id:k})=>({...h,...ur(k,e)}),{}):m=Object.values(e).filter(h=>St(h)).reduce((h,k)=>({...h,[k.id]:k}),{});let P=Object.values(m).filter(h=>St(h));if(P.length>0){Re&&console.info("%crunConsumers: calculating section flags","color:purple",P.map(R=>R.id).join(", "));let h=Object.fromEntries(await Promise.all(P.map(async R=>[R.id,await Rr(R,o,{...l,variables:p,locale:p.locale},a,c).then(V=>{let{outputVariables:$,status:y}=V;if(y.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${R.id}, Section ${R.section_id}) failed with message: ${y.error}. `);f[R.id]={allowed:!1,error:y.error},d[R.id]={};}return (R.consumers.length>0||[S.GENERATOR,S.SECTION_FLAG,S.RELATED].includes(R.type))&&y.allowed&&Object.keys($).length>0?d[R.id]=$:d[R.id]={},i==="report"?(f[R.id]={allowed:y.allowed},[S.GENERATOR,S.SECTION_FLAG].includes(R.type)&&y.api&&(f[R.id].api=y.api)):f[R.id]=y,V})]))),W=Object.entries(h).filter(([,R])=>!R.outputVariables[dr]).map(([R])=>Number(R));b=new Set(W.map(R=>e[R].section_id)),Object.values(m).filter(R=>b.has(R.section_id)).forEach(R=>{A.push(R.id),delete m[R.id];}),Re&&console.info("%crunConsumers: removing sections","color:purple",b.keys());}let T=b.size>0?Object.fromEntries(Object.entries(e).filter(([,h])=>b?.has(h.section_id)?(A.includes(h.id)||A.push(h.id),!1):!0)):e;if(A.length>0&&(T=Object.fromEntries(Object.entries(T).map(([h,k])=>{let W={...k,inputs:k.inputs.filter(R=>!A.includes(R)),consumers:k.consumers.filter(R=>!A.includes(R))};return [h,W]}))),!r&&!t)return {variables:{...s.variables??{},...d},status:{...s.status??{},...f}};i==="report"&&A.length>0&&A.forEach(h=>{delete d[h],delete f[h],delete e[h];}),Re&&console.info("%crunConsumers: running root blocks","color:purple",Object.keys(m));let v=Object.keys(m).reduce((h,k)=>{let W=new Date,R=bt(Number(k),T,[],!r,!0,u).map(y=>y.split("-")),$=(new Date().getTime()-W.getTime())/1e3;return Re&&console.info(`%cResolved dependencies for ${k} (${$.toFixed(2)}s)`,"color:blue"),[...h,...R]},[]),q=new Date,I=Object.keys(m).reduce((h,k)=>h.includes(k)?[...h]:[k,...h],dn(v)),_=(new Date().getTime()-q.getTime())/1e3;Re&&console.info(`%cResolved DAG (${_.toFixed(2)}s): `,"color:green",I);async function w(h,k){let W=new Map;for(let R of h){let V=k[R],y=Promise.all(V.inputs.filter(O=>h.includes(String(O))).map(O=>W.get(Number(O)))).then(async()=>{let O=V.inputs.reduce((X,x)=>({...X,...d[x]}),p),z=V.inputs.find(X=>(V.settings?.ignoreCascade?V.settings?.ignoreCascade:[]).includes(X)||!f[X]?!1:!f[X].allowed||f[X].hiddenByCascade);if(z){f[R]={allowed:!1,hiddenByCascade:f[z].hiddenByCascade||z},d[R]={};return}let ne=new Date,ze=await Rr(V,o,{...l,variables:O,locale:O.locale},a,c).then(({outputVariables:X,status:x})=>{if(x.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${R}, Section ${V.section_id}) failed with message: ${x.error}. `);f[R]={allowed:!1,error:x.error},d[R]={};}(V.consumers.length>0||[S.GENERATOR,S.SECTION_FLAG,S.RELATED].includes(V.type))&&x.allowed&&Object.keys(X).length>0?d[R]=X:d[R]={},i==="report"?(f[R]={allowed:x.allowed},[S.GENERATOR,S.SECTION_FLAG].includes(V.type)&&x.api&&(f[R].api=x.api)):f[R]=x;}),xe=(new Date().getTime()-ne.getTime())/1e3;return Re&&console.info(`%cBlock ${V.id} resolved in ${xe.toFixed(3)}s`,xe>500?"color:red":"color:green"),ze});W.set(Number(R),y);}await Promise.all(Array.from(W.values()));}let C=new Date;await w(I,T);let N=(new Date().getTime()-C.getTime())/1e3;return Re&&console.info(`%cResolved Variables (${N.toFixed(2)}s): `,"color:green"),{variables:{...s.variables??{},...d},status:{...s.status??{},...f}}};function Tn(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(s=>{t[`attr_${s}${n}`]=r.attributes[s];}),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 Er=Tn;function ge(e,t,r){if(t==="createBulk"||t==="updateBulk"){let n=`${t}${hr(r)}`;return e[n]}let o=`${t}${hr(r)}`;return e[o]}function hr(e){return e[0].toUpperCase()+e.slice(1)}function j(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=_n[e],s=n?typeof n=="function"?n.apply(null,r):n:"unknown error nr: "+e;throw Error("[Immer] "+s)}throw Error("[Immer] minified error nr: "+e+(r.length?" "+r.map(function(a){return "'"+a+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function Le(e){return !!e&&!!e[K]}function he(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)===On}(e)||Array.isArray(e)||!!e[kr]||!!(!((t=e.constructor)===null||t===void 0)&&t[kr])||Ot(e)||It(e))}function Fe(e,t,r){r===void 0&&(r=!1),Oe(e)===0?(r?Object.keys:Dt)(e).forEach(function(o){r&&typeof o=="symbol"||t(o,e[o],e);}):e.forEach(function(o,n){return t(n,o,e)});}function Oe(e){var t=e[K];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:Ot(e)?2:It(e)?3:0}function Ct(e,t){return Oe(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function An(e,t){return Oe(e)===2?e.get(t):e[t]}function Pr(e,t,r){var o=Oe(e);o===2?e.set(t,r):o===3?e.add(r):e[t]=r;}function vn(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function Ot(e){return Pn&&e instanceof Map}function It(e){return Ln&&e instanceof Set}function Ee(e){return e.o||e.t}function Bt(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=In(e);delete t[K];for(var r=Dt(t),o=0;o<r.length;o++){var n=r[o],s=t[n];s.writable===!1&&(s.writable=!0,s.configurable=!0),(s.get||s.set)&&(t[n]={configurable:!0,writable:!0,enumerable:s.enumerable,value:e[n]});}return Object.create(Object.getPrototypeOf(e),t)}function wt(e,t){return t===void 0&&(t=!1),Nt(e)||Le(e)||!he(e)||(Oe(e)>1&&(e.set=e.add=e.clear=e.delete=xn),Object.freeze(e),t&&Fe(e,function(r,o){return wt(o,!0)},!0)),e}function xn(){j(2);}function Nt(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function te(e){var t=Bn[e];return t||j(18,e),t}function Sr(){return process.env.NODE_ENV==="production"||_e||j(0),_e}function Tt(e,t){t&&(te("Patches"),e.u=[],e.s=[],e.v=t);}function rt(e){kt(e),e.p.forEach(Cn),e.p=null;}function kt(e){e===_e&&(_e=e.l);}function br(e){return _e={p:[],l:_e,h:e,m:!0,_:0}}function Cn(e){var t=e[K];t.i===0||t.i===1?t.j():t.g=!0;}function At(e,t){t._=t.p.length;var r=t.p[0],o=e!==void 0&&e!==r;return t.h.O||te("ES5").S(t,e,o),o?(r[K].P&&(rt(t),j(4)),he(e)&&(e=ot(t,e),t.l||nt(t,e)),t.u&&te("Patches").M(r[K].t,e,t.u,t.s)):e=ot(t,r,[]),rt(t),t.u&&t.v(t.u,t.s),e!==Lr?e:void 0}function ot(e,t,r){if(Nt(t))return t;var o=t[K];if(!o)return Fe(t,function(i,c){return Tr(e,o,t,i,c,r)},!0),t;if(o.A!==e)return t;if(!o.P)return nt(e,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var n=o.i===4||o.i===5?o.o=Bt(o.k):o.o,s=n,a=!1;o.i===3&&(s=new Set(n),n.clear(),a=!0),Fe(s,function(i,c){return Tr(e,o,n,i,c,r,a)}),nt(e,n,!1),r&&e.u&&te("Patches").N(o,r,e.u,e.s);}return o.o}function Tr(e,t,r,o,n,s,a){if(process.env.NODE_ENV!=="production"&&n===r&&j(5),Le(n)){var i=ot(e,n,s&&t&&t.i!==3&&!Ct(t.R,o)?s.concat(o):void 0);if(Pr(r,o,i),!Le(i))return;e.m=!1;}else a&&r.add(n);if(he(n)&&!Nt(n)){if(!e.h.D&&e._<1)return;ot(e,n),t&&t.A.l||nt(e,n);}}function nt(e,t,r){r===void 0&&(r=!1),!e.l&&e.h.D&&e.m&&wt(t,r);}function vt(e,t){var r=e[K];return (r?Ee(r):e)[t]}function Ar(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 Pt(e){e.P||(e.P=!0,e.l&&Pt(e.l));}function xt(e){e.o||(e.o=Bt(e.t));}function Lt(e,t,r){var o=Ot(t)?te("MapSet").F(t,r):It(t)?te("MapSet").T(t,r):e.O?function(n,s){var a=Array.isArray(n),i={i:a?1:0,A:s?s.A:Sr(),P:!1,I:!1,R:{},l:s,t:n,k:null,o:null,j:null,C:!1},c=i,u=_t;a&&(c=[i],u=Ue);var l=Proxy.revocable(c,u),p=l.revoke,d=l.proxy;return i.k=d,i.j=p,d}(t,r):te("ES5").J(t,r);return (r?r.A:Sr()).p.push(o),o}function kn(e){return Le(e)||j(22,e),function t(r){if(!he(r))return r;var o,n=r[K],s=Oe(r);if(n){if(!n.P&&(n.i<4||!te("ES5").K(n)))return n.t;n.I=!0,o=vr(r,s),n.I=!1;}else o=vr(r,s);return Fe(o,function(a,i){n&&An(n.t,a)===i||Pr(o,a,t(i));}),s===3?new Set(o):o}(e)}function vr(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return Bt(e)}var xr,_e,Mt=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",Pn=typeof Map<"u",Ln=typeof Set<"u",Cr=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",Lr=Mt?Symbol.for("immer-nothing"):((xr={})["immer-nothing"]=!0,xr),kr=Mt?Symbol.for("immer-draftable"):"__$immer_draftable",K=Mt?Symbol.for("immer-state"):"__$immer_state";var _n={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"},On=""+Object.prototype.constructor,Dt=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,In=Object.getOwnPropertyDescriptors||function(e){var t={};return Dt(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r);}),t},Bn={},_t={get:function(e,t){if(t===K)return e;var r=Ee(e);if(!Ct(r,t))return function(n,s,a){var i,c=Ar(s,a);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||!he(o)?o:o===vt(e.t,t)?(xt(e),e.o[t]=Lt(e.A.h,o,e)):o},has:function(e,t){return t in Ee(e)},ownKeys:function(e){return Reflect.ownKeys(Ee(e))},set:function(e,t,r){var o=Ar(Ee(e),t);if(o?.set)return o.set.call(e.k,r),!0;if(!e.P){var n=vt(Ee(e),t),s=n?.[K];if(s&&s.t===r)return e.o[t]=r,e.R[t]=!1,!0;if(vn(r,n)&&(r!==void 0||Ct(e.t,t)))return !0;xt(e),Pt(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 vt(e.t,t)!==void 0||t in e.t?(e.R[t]=!1,xt(e),Pt(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=Ee(e),o=Reflect.getOwnPropertyDescriptor(r,t);return o&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:o.enumerable,value:r[t]}},defineProperty:function(){j(11);},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){j(12);}},Ue={};Fe(_t,function(e,t){Ue[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};}),Ue.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&j(13),Ue.set.call(this,e,t,void 0)},Ue.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&j(14),_t.set.call(this,e[0],t,r,e[0])};var wn=function(){function e(r){var o=this;this.O=Cr,this.D=!0,this.produce=function(n,s,a){if(typeof n=="function"&&typeof s!="function"){var i=s;s=n;var c=o;return function(A){var m=this;A===void 0&&(A=i);for(var P=arguments.length,T=Array(P>1?P-1:0),v=1;v<P;v++)T[v-1]=arguments[v];return c.produce(A,function(q){var I;return (I=s).call.apply(I,[m,q].concat(T))})}}var u;if(typeof s!="function"&&j(6),a!==void 0&&typeof a!="function"&&j(7),he(n)){var l=br(o),p=Lt(o,n,void 0),d=!0;try{u=s(p),d=!1;}finally{d?rt(l):kt(l);}return typeof Promise<"u"&&u instanceof Promise?u.then(function(A){return Tt(l,a),At(A,l)},function(A){throw rt(l),A}):(Tt(l,a),At(u,l))}if(!n||typeof n!="object"){if((u=s(n))===void 0&&(u=n),u===Lr&&(u=void 0),o.D&&wt(u,!0),a){var f=[],b=[];te("Patches").M(n,u,f,b),a(f,b);}return u}j(21,n);},this.produceWithPatches=function(n,s){if(typeof n=="function")return function(u){for(var l=arguments.length,p=Array(l>1?l-1:0),d=1;d<l;d++)p[d-1]=arguments[d];return o.produceWithPatches(u,function(f){return n.apply(void 0,[f].concat(p))})};var a,i,c=o.produce(n,s,function(u,l){a=u,i=l;});return typeof Promise<"u"&&c instanceof Promise?c.then(function(u){return [u,a,i]}):[c,a,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){he(r)||j(8),Le(r)&&(r=kn(r));var o=br(this),n=Lt(this,r,void 0);return n[K].C=!0,kt(o),n},t.finishDraft=function(r,o){var n=r&&r[K];process.env.NODE_ENV!=="production"&&(n&&n.C||j(9),n.I&&j(10));var s=n.A;return Tt(s,o),At(void 0,s)},t.setAutoFreeze=function(r){this.D=r;},t.setUseProxies=function(r){r&&!Cr&&j(20),this.O=r;},t.applyPatches=function(r,o){var n;for(n=o.length-1;n>=0;n--){var s=o[n];if(s.path.length===0&&s.op==="replace"){r=s.value;break}}n>-1&&(o=o.slice(n+1));var a=te("Patches").$;return Le(r)?a(r,o):this.produce(r,function(i){return a(i,o)})},e}(),Y=new wn,Nn=Y.produce;Y.produceWithPatches.bind(Y);Y.setAutoFreeze.bind(Y);Y.setUseProxies.bind(Y);Y.applyPatches.bind(Y);Y.createDraft.bind(Y);Y.finishDraft.bind(Y);var st=Nn;var J=oe.actions,Br=qe({block:ae("block"),dimension:ae("dimension"),formatter:ae("formatter"),report:ae("report"),section:ae("section"),variant:ae("variant"),datasource:ae("datasource")}),Ve=qe({block:ie("block"),dimension:ie("dimension"),formatter:ie("formatter"),report:ie("report"),section:ie("section"),variant:ie("variant"),datasource:ie("datasource")}),wr=qe({block:re("block"),dimension:re("dimension"),formatter:re("formatter"),report:re("report"),section:re("section"),variant:re("variant"),datasource:re("datasource")}),Nr=qe({block:Se("block"),dimension:Se("dimension"),formatter:Se("formatter"),report:Se("report"),section:Se("section"),variant:Se("variant"),datasource:Se("datasource")}),Mr=qe({block:Or("block"),section:Or("section")});function qe(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 Te(e,t){return (r,o)=>{let s=o().records.requests[e][t],a=!s||s.status==="UNINITIALIZED"?"LOADING":"FETCHING";r(J.setRequest({key:t,type:e,status:a}));}}function be(e,t,r,o){return n=>{typeof window=="object"&¬ifications.show({autoClose:3e3,color:"red",id:t,message:o,title:"Error"}),n(J.setRequest({key:t,type:e,status:"FAILURE",error:{code:r,message:o}}));}}function ae(e){return t=>{let r=Ft(e,t);return (o,n,s)=>(o(Te(e,r)),ge(s,"create",e)(t).then(i=>(i.ok===!0?o(J.setCreateRequest({key:r,operation:"create",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error)),i)))}}function Un(e){return t=>{let r=Ft(e,t[0]);return (o,n,s)=>(o(Te(e,r)),ge(s,"createBulk",e)(t).then(i=>(i.ok===!0?o(J.setCreateRequest({key:r,operation:"createBulk",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error)),i)))}}function _r(e,t,r){return r.replace(new RegExp(e,"g"),t)}function Fn(e){return e.section_id!==void 0}function Vn(e){return e.report_id!==void 0}function Or(e){return t=>{let{create:r}=t;return (o,n,s)=>ae(e)(r)(o,n,s).then(async i=>{if(i.ok){let{data:c}=i,{id:u}=c,{update:l}=t,p=Fr(e,{id:u});if(o(Te(e,`${p}`)),e==="block"&&Fn(r)){let d=st(l,m=>{m.id=u;}),{contentByLocale:f}=d;f&&(d=st(d,m=>{m.id=u,m.contentByLocale=Object.keys(f).reduce((P,T)=>{let v=f?f[T]:{};return P[T]={...v,id:u},P},{});}));let A=d.inputs?.map(m=>({type:m.type,id:m.id,inputAction:{operation:"create",input:{input_id:m.id,block_id:d.id}}}));return A&&A.length>0&&Ir(e)([d,...A])(o,n,s).then(()=>ie("section")({id:d.section_id,include:!0})(o,n,s).then(m=>(m.ok&&o(J.setRequest({key:p,type:e,status:"SUCCESS",data:m.data})),m))),re(e)(d)(o,n,s).then(m=>(m.ok&&o(J.setRequest({key:p,type:e,status:"SUCCESS",data:m.data})),m))}if(e==="section"&&Vn(r)){let{id:d}=c,f=st(l,m=>{m.id=d;}),{blocks:b}=f,A=b?.map(m=>({type:m.type,blockcol:m.blockcol,blockrow:m.blockrow,section_id:d,locales:Object.keys(m.contentByLocale).map(P=>P)}));return A&&b&&await Un("block")(A)(o,n,s).then(m=>{if(m.ok){let P=m.data,T=[],v=P.map((q,I)=>{let _={...q},w=_.id,C=b[I];C.contentByLocale&&(_.contentByLocale=Object.keys(C.contentByLocale).reduce(($,y)=>{let O=C.contentByLocale[y];return $[y]={...O,content:{...O.content},id:_.id},$},{}));let{settings:L}=C,{contentByLocale:N,id:h}=_;_.settings=L;let k={id:h,contentByLocale:N,settings:L};return C.inputs.map($=>$.id).reduce(($,y)=>{let O=b.findIndex(z=>z.id===y);return [...$,O]},[]).map($=>({...P[$],originalBlock:b[$]})).forEach($=>{let{id:y,type:O,originalBlock:z}=$;if([S.SELECTOR,S.VIZ].includes(O)){if(k.contentByLocale?.logic?.content?.api){let ne=k.contentByLocale?.logic.content.api;k.contentByLocale.logic.content.api=_r(`(selector${z.id}id)`,`selector${y}id`,ne);}if(k.contentByLocale?.logic?.content?.logic){let ne=k.contentByLocale.logic.content.logic;k.contentByLocale.logic.content.logic=_r(`(selector${z.id}id)`,`selector${y}id`,ne);}}T.push({id:y,inputAction:{operation:"create",input:{input_id:y,block_id:w}}});}),k});return Ir("block")([...v,...T])(o,n,s)}}),re(e)(f)(o,n,s).then(m=>(m.ok&&o(J.setRequest({key:p,type:e,status:"SUCCESS",data:m.data})),m))}return re(e)({...l,id:c.id})(o,n,s)}})}}function ie(e){return t=>{let r=Dr(e,t);return (o,n,s)=>{o(Te(e,r));let a=ge(s,"read",e);if(typeof a!="function"){let i=`Failed to get valid RPC method for entity "${e}"`;return o(be(e,r,500,i)),Promise.reject(new Error(i))}return a(t).then(i=>(i.ok===!0?o(J.setReadRequest({key:r,operation:"read",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error)),i))}}}function re(e){return t=>{let r=Vt(e,t);return (o,n,s)=>(o(Te(e,r)),ge(s,"update",e)(t).then(i=>(i.ok===!0?o(J.setUpdateRequest({key:r,operation:"update",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error)),i)))}}function Ir(e){return t=>{let r=Vt(e,t[0]);return (o,n,s)=>(o(Te(e,r)),ge(s,"updateBulk",e)(t).then(i=>(i.ok===!0?o(J.setUpdateRequest({key:r,operation:"updateBulk",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error)),i)))}}function Se(e){return t=>{let r=Ur(e,t);return (o,n,s)=>(o(Te(e,r)),ge(s,"delete",e)(t).then(i=>{i.ok===!0?o(J.setDeleteRequest({key:r,operation:"delete",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error));}))}}function Ft(e,t){if(e==="variant"){let r=t;return `create(variant, [${r.dimension_id}, ${r.name}])`}return `create(${e}, [${Object.keys(t)}])`}function Dr(e,t={}){let r=t.id==null?null:`'${t.id}'`;return `read(${e}, ${r}, ${!!t.include})`}function Vt(e,t){let{id:r,...o}=t;return `update(${e}, ${r}, [${Object.keys(o)}])`}function Ur(e,t){return `delete(${e}, ${t})`}function Fr(e,t){let r=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${r})`}var{setStatus:Vr,setPreviews:qn,setSectionState:qr,resetSectionState:$r,setCurrentLocale:$n,setPreferredLocale:zn,addRunConsumersRunning:zr,removeRunConsumersRunning:jr}=Pe;function jn(e,t){return async(r,o,n)=>{let s=await n.validateVariantSlug({dimension:e,slug:t});if("error"in s)throw new Error(s.error);return s.data}}function Gn(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 Hn(){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 Gr(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 Kn(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 Hr(e,t,r,o){let n=r().status,s={...n,...o},a={...n.query,...o.query};Object.keys(a).forEach(c=>a[c]===void 0&&delete a[c]);let i={...s,query:a};t(Vr(i)),n.activeSection&&t(Kr(e,{query:a}));}function Yn(e,t){return async(r,o)=>Hr(e,r,o,{query:{[t]:void 0}})}function Wn(e,t,r){return async(o,n)=>Hr(e,o,n,{query:{[t]:r}})}function Kr(e,t){return async(r,o)=>{let n=o(),{currentLocale:s}=n.status,a=n.records.entities.block,i=e.formatterFunctions[s],c=e.datasourceFunctions,{parsedParams:u,statusPayload:l}=Zt(n.status,t),{sid:p,bid:d,previews:f,query:b}=u;Object.keys(l).length&&r(Pe.setStatus(l));let A={...Er(f),locale:s,...De()},m={variables:A,query:b,locale:s};r(Pe.addRunConsumersRunning([p]));let P=n.records.entities.section[p],T=async v=>r(Gr(v));try{let v=await gr(a,P&&[P],d,i,m,void 0,T,"section",c),{variables:q,status:I}=v;r(Jt.setVariableChange({attributes:A,variables:q,status:I})),r(Pe.removeRunConsumersRunning([p]));}catch(v){console.error("Error in runConsumers client side: recalculateVariables",v);}}}function Qn(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 Zn(e){return async(t,r,o)=>{let n=await o.urlProxy(e);if("error"in n)throw new Error(n.error);return n.data}}function Jn(){return async(e,t,r)=>{let o=await r.searchRole("");if("error"in o)throw new Error(o.error);return o.data}}function Xn(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 es(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 ts({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 rs(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 os(e){let{removeBlocks:t}=oe.actions;return async r=>{await r(t(e));}}function ns(e){let{addBlocks:t}=oe.actions;return async r=>{await r(t(e));}}function ss(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 as(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 is(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}}function cs(){return async(e,t,r)=>{let o=await r.readEnvSecrets({});if("error"in o)throw new Error(o.error);return o.data}}function us(){let{removeDataSourceLogic:e}=oe.actions;return async t=>{await t(e());}}var {locales:ps}=ee(),ds={pathSegment:"path",formatterFunctions:ps.reduce((e,t)=>({...e,[t]:{}}),{}),datasourceFunctions:[],profilePrefix:"path",siteProps:{}};createContext(ds);ee();var it=useDispatch,$e=useSelector;
|
|
26
|
+
var oo=Object.defineProperty;var no=(e,t)=>{for(var r in t)oo(e,r,{get:t[r],enumerable:!0});};function ee(e,t){return e.request(t).then(r=>{let{status:o,data:n}=r;return "error"in n?{ok:!1,status:o,error:n.error}:{ok:!0,status:o,wrapper:n.wrapper,data:n.data}},r=>{if("isAxiosError"in r){let{status:o,data:n}=r.response||{status:500};return {ok:!1,status:o,error:n?.error??r.message}}return {ok:!1,status:500,error:r.message}})}function U(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>ee(e,{...o,method:"GET",params:r?r(n):n})}function V(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>ee(e,{...o,method:"POST",data:r?r(n):n})}function ie(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>ee(e,{...o,method:"DELETE",params:r?r(n):n})}function Pe(e,t){return r=>ee(e,{method:"POST",url:`images/save/${t}`,params:{prompt:r.prompt,provider:t}})}function we(e,t){return r=>ee(e,{method:"GET",url:`images/search/${t}`,params:{prompt:r.prompt,page:r.page,provider:t}})}function $t(e,t){return ()=>ee(e,{method:"GET",url:`list/icons/${t}`,params:{provider:t}})}function zt(e,t){return r=>ee(e,{method:"GET",url:`read/icons/${t}/icon.svg`,params:{name:r.name}})}var de=e=>({id:e}),ao=e=>{if(e.mode==="slugs"){let t=e.slugs.map(r=>[r.variantSlug,r.memberSlug].join("/")).join(",");return {...e,slugs:t}}return ["related","whole"].includes(e.mode)?{...e}:{...e,[e.mode]:e[e.mode].join(",")}};function Ne(e){let t=ot.create({baseURL:e});return {createBulkBlock:V(t,"create/bulk/block"),createBlock:V(t,"create/block"),createDimension:V(t,"create/dimension"),createFormatter:V(t,"create/formatter"),createReport:V(t,"create/report"),createSection:V(t,"create/section"),createVariant:V(t,"create/variant"),createDatasource:V(t,"create/datasource"),deleteBlock:ie(t,"delete/block",de),deleteDimension:ie(t,"delete/dimension",de),deleteFormatter:ie(t,"delete/formatter",de),deleteReport:ie(t,"delete/report",de),deleteSection:ie(t,"delete/section",de),deleteVariant:ie(t,"delete/variant",de),deleteDatasource:ie(t,"delete/datasource",de),readBlock:U(t,"read/block"),readDimension:U(t,"read/dimension"),readFormatter:U(t,"read/formatter"),readReport:U(t,"read/report"),readSection:U(t,"read/section"),readVariant:U(t,"read/variant"),readDatasource:U(t,"read/datasource"),updateBulkBlock:V(t,"update/bulk/block"),updateBlock:V(t,"update/block"),updateDimension:V(t,"update/dimension"),updateFormatter:V(t,"update/formatter"),updateReport:V(t,"update/report"),updateSection:V(t,"update/section"),updateVariant:V(t,"update/variant"),updateDatasource:V(t,"update/datasource"),searchReport:U(t,"search/reports"),validateVariantSlug:U(t,"validate/variant"),readMember:U(t,"read/members",ao),readMemberImage:U(t,{url:"member/image",responseType:"blob"}),searchMember:U(t,"search/members"),updateMember:U(t,"update/members"),imageLocalSearch:we(t,"local"),imageLocalSave:Pe(t,"local"),imageFlickrSearch:we(t,"flickr"),imageFlickrSave:Pe(t,"flickr"),imageUnsplashSearch:we(t,"unsplash"),imageUnsplashSave:Pe(t,"unsplash"),imageUploadSave:Pe(t,"upload"),imageAdobeSearch:we(t,"adobe"),imageAdobeSave:Pe(t,"adobe"),readMetadata:U(t,"read/metadata"),regenerateSearch:V(t,"search/regenerate"),urlProxy:U(t,"url/proxy"),searchRole:U(t,"auth/search/roles"),searchUser:U(t,"auth/search/users"),readUser:U(t,"auth/read/user"),updateUser:V(t,"auth/update/user"),updateMyData:V(t,"auth/update/me"),revalidateReport:U(t,"revalidate/report"),revalidateUrl:U(t,"revalidate/url"),readPrivateBlocks:V(t,"read/blocks/private"),listTablerIcons:$t(t,"tabler"),readTablerIcon:zt(t,"tabler"),readEnvSecrets:U(t,"read/secrets")}}function io(e,t){return +(e<t)-+(e>t)}function He(e,t,r="ordering"){return io(t[r],e[r])}function lt(e){let t=1+76.18009173/e-86.50532033/(e+1)+24.01409822/(e+2)-1.231739516/(e+3)+.00120858003/(e+4)-536382e-11/(e+5);return (e-.5)*Math.log(e+4.5)-(e+4.5)+Math.log(t*2.50662827465)}function jt(e,t,r){let o=0,n=1,s=1,a=1,i=0,c=0,u;for(;Math.abs((s-c)/s)>1e-5;)c=s,u=-(t+i)*(t+r+i)*e/(t+2*i)/(t+2*i+1),o=s+u*o,n=a+u*n,i+=1,u=i*(r-i)*e/(t+2*i-1)/(t+2*i),s=o+u*s,a=n+u*a,o/=a,n/=a,s/=a,a=1;return s/t}function co(e,t,r){let o,n;if(e<0)n=0;else if(e>=t)n=1;else {e=Math.floor(e);let s=r,a=e+1,i=t-e,c=a+i,u=Math.exp(lt(c)-lt(i)-lt(a)+a*Math.log(s)+i*Math.log(1-s));s<(a+1)/(c+2)?o=u*jt(s,a,i):o=1-u*jt(1-s,i,a),n=1-o;}return Math.round(n*1e5)/1e5}function uo(e){return {.99999:15.137,.99:6.635,.95:3.841,.9:2.706}[e]}function Me(e,t,r,o){let n=t/(1-t),s=0,a=1,i=0,c=0;for(;s<=e;)c+=a,s>=r&s<=o&&(i+=a),c>1e30&&(i/=1e30,c/=1e30,a/=1e30),s+=1,a=a*n*(e+1-s)/s;return i/c}function lo(e,t,r){let o=e/t,s=(100-r*100)/2,a,i;if(e===0)a=0;else {let c=o/2,u=0,l=o,p=s/100;for(;l-u>1e-5;)Me(t,c,e,e)*.5+Me(t,c,e+1,t)>p?(l=c,c=(u+c)/2):(u=c,c=(l+c)/2);a=c;}if(e===t)i=0;else {let c=(1+o)/2,u=o,l=1,p=s/100;for(;l-u>1e-5;)Me(t,c,e,e)*.5+Me(t,c,0,e-1)<p?(l=c,c=(u+c)/2):(u=c,c=(l+c)/2);i=c;}return {lci:a,uci:i}}function po(e,t){let r=e,o=t,n=r,s=o,a=95,i=.5,c=.5,l=(100-a)/2/100,p=n;for(;c>1e-5;)c/=2,Ke((1+p)*i/(1-i),p+1,1e10)+.5*Ke((1+p)*i/(1-i),p,p)>l?i-=c:i+=c;let d=(1+p)*i/(1-i)/s;for(i=.5,c=.5,l=(100-a)/2/100;c>1e-5;)c/=2,Ke((1+p)*i/(1-i),0,p-1)+.5*Ke((1+p)*i/(1-i),p,p)<l?i-=c:i+=c;let b=(1+p)*i/(1-i)/s;return {lci:d,uci:b}}function Ke(e,t,r){let o=1,n=0,s=0,a=0;for(;a<e||o>n*1e-10;)n+=o,a>=t&a<=r&&(s+=o),n>1e30&&(s/=1e30,n/=1e30,o/=1e30),a+=1,o=o*e/a;return s/n}var Gt={binomialCdf:co,binP:Me,computeMidP:lo,criticalValue:uo,smr:po};var Le={d3:{...fo,...mo,...yo,...Ro},d3plus:{assign:assign,closest:closest,date:date,formatAbbreviate:formatAbbreviate,merge:merge,strip:strip,titleCase:titleCase},stats:Gt};var Ht={jwt:vo};var Yt=(e,t={})=>{let r={libs:Ht,...t};function o(s){return Function("globals",...s.vars,`with (globals) { ${s.logic} }`).bind(r,r)}function n(s){if(s.vars&&s.logic)return o(s);for(let a in s)Array.isArray(s[a])?s[a]=s[a].map(i=>isObject(i)?n(i):i):isObject(s[a])&&(s[a]=n(s[a]));return s}return n(e)};var xo=()=>{let e=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",t=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[e];return t.includes(e)||t.push(e),{localeDefault:e,locales:t}},re=xo;re();var De=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});De.define({consumers:[De],inputs:[De]});var Wt=new schema.Entity("variant"),Qt=new schema.Entity("dimension",{variants:[Wt]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),Xt=new schema.Entity("section",{blocks:[De]}),ko=new schema.Entity("report",{dimensions:[Qt],sections:[Xt]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(He):[]}}}),Po=new schema.Entity("formatter"),Lo=new schema.Entity("datasource"),_o={report:ko,section:Xt,block:De,dimension:Qt,variant:Wt,formatter:Po,datasource:Lo};function Ye(e,t){let r=_o[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:fe(o,"report"),dimension:fe(o,"dimension"),section:fe(o,"section"),block:fe(o,"block"),variant:fe(o,"variant"),formatter:fe(o,"formatter"),datasource:fe(o,"datasource")}}function fe(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:{}}var Zt=(e,t=void 0)=>{let{sid:r,bid:o,previews:n=[],query:s={}}=t||{},a,i,c={};return r?(a=r,c.activeSection=a):a=e.activeSection,n.length>0?(i=n,c.previews=i.filter(Boolean)):i=e.previews,{parsedParams:{sid:a,bid:o,previews:i,query:s},statusPayload:c}};var Bo={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{},datasource:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{},datasource:{}}},ae=createSlice({name:"records",initialState:Bo,reducers:{set:(e,t)=>{let r=t.payload;return {entities:Ue(e.entities,r.entities||{}),requests:Ue(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=Ye(r.type,o),s=Ue(e.entities,n);if(e.entities=s,r.type==="report"){let a=r.data;e.reports?e.reports.indexOf(a.id)===-1&&(e.reports=[...e.reports,a.id]):e.reports=[a.id];}else if(r.type==="dimension"){let a=r.data;e.entities.report[a.report_id].dimensions.push(a.id),e.entities.report[a.report_id].dimensions=We(s.report[a.report_id].dimensions,s.dimension);}else if(r.type==="variant"){let a=r.data;e.entities.dimension[a.dimension_id].variants.push(a.id);}else if(r.type==="section"&&!Array.isArray(r.data)){let a=r.data;e.entities.report[a.report_id].sections.push(a.id),e.entities.report[a.report_id].sections=We(s.report[a.report_id].sections,s.section);}else if(r.type==="block")if(Array.isArray(r.data)){let a=r.data,i=a[0],c=a.map(u=>u.id);e.entities.section[i.section_id].blocks.concat(c);}else {let a=r.data;e.entities.section[a.section_id].blocks.push(a.id);}}},setReadRequest(e,t){let r=t.payload;if(r.type!=="report"&&(e.requests[r.type][r.key]=r),r.status==="SUCCESS"){let o=Ye(r.type,r.data),n=Ue(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=Ye(r.type,o),s,a,i;if(r.type==="block"&&!Array.isArray(r.data)){let u=e.entities.block[r.data.id].inputs,l=n.block[r.data.id].inputs;s=u.length!==l.length,s&&(i=u.length>l.length,a=i?u.filter(p=>!l.includes(p))[0]:l.filter(p=>!u.includes(p))[0]),Object.values(n.block).forEach(p=>{p.block_input&&delete n.block[p.id];});}let c=Ue(e.entities,n);if(e.entities=c,r.type==="dimension"){let u=r.data;e.entities.report[u.report_id].dimensions=We(c.report[u.report_id].dimensions,c.dimension);}else if(r.type==="section"&&!Array.isArray(r.data)){let u=r.data;e.entities.report[u.report_id].sections=We(c.report[u.report_id].sections,c.section);}else if(r.type==="block"&&!Array.isArray(r.data)){let u=r.data;s&&(i?e.entities.block[a].consumers=e.entities.block[a].consumers.filter(l=>l!==u.id):e.entities.block[a].consumers.push(u.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:s}=r.data;if(delete e.entities[r.type][o],s&&n!=null){let a=`${r.type}s`;wo(e.entities[s][n][a],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}}}},removeDataSourceLogic:e=>{let t={...e.entities.datasource};Object.keys(t).forEach(r=>{e.entities.datasource[r].content.useProxy&&(delete e.entities.datasource[r].content.logic,delete e.entities.datasource[r].content.testUrl,delete e.entities.datasource[r].content.access);});}},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:{},datasource:{}},tree:r.tree}}}});function Ue(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],...t[r]}]))}function We(e,t){return e.map(n=>t[n]).sort(He).map(n=>n.id)}function wo(e,t){let r=e.indexOf(t);r>-1&&e.splice(r,1);}var ye=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",Qe=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[ye];Qe.includes(ye)||Qe.push(ye);var Do={localeDefault:ye,locales:Qe,currentLocale:ye,preferredLocale:ye,showToolbar:!1,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:!0,settings:!1,reportEditor:!1},isCMS:!1,isRunConsumersRunning:[]},Xe=createSlice({name:"status",initialState:Do,reducers:{setStatus:(e,t)=>{Object.assign(e,t.payload);},setPreviews(e,t){e.previews=t.payload;},setCurrentLocale(e,t){e.currentLocale=t.payload;},setPreferredLocale(e,t){e.preferredLocale=t.payload;},setSectionState(e,t){e.sectionState={...e.sectionState,...t.payload};},resetSectionState(e,t){e.sectionState={...e.sectionState,[t.payload]:{}};},setActiveEntity(e,t){e.activeEntity=t.payload;},openSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!0};},closeSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!1};},toggleSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!e.sidebarStatus[t.payload]};},addRunConsumersRunning(e,t){e.isRunConsumersRunning=e.isRunConsumersRunning.concat(t.payload);},removeRunConsumersRunning(e,t){e.isRunConsumersRunning=e.isRunConsumersRunning.filter(r=>!t.payload.includes(r));}},extraReducers:{[HYDRATE]:(e,t)=>({...e,previews:t.payload.status.previews})}}),_e=Xe.actions;var Vo={attributes:{},variables:{},status:{}},Ze=createSlice({name:"variables",initialState:Vo,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}})}}),Jt=Ze.actions;var er=()=>configureStore({reducer:{[ae.name]:ae.reducer,[Xe.name]:Xe.reducer,[Ze.name]:Ze.reducer},middleware(e){return e({thunk:{extraArgument:Ne("/api/cms/")}})}}),tr=createWrapper(er);var ct={};no(ct,{addBlockToState:()=>as,addRunConsumersRunning:()=>Gr,cloneEntity:()=>Ur,createEntity:()=>Nr,deleteEntity:()=>Dr,deleteQueryParam:()=>Qn,readEntity:()=>$e,readEnvSecrets:()=>ls,readMember:()=>Kr,readMetadata:()=>Zn,readPrivateBlocks:()=>is,readUser:()=>rs,recalculateVariables:()=>Wr,removeBlocksFromState:()=>ss,removeDataSourceLogic:()=>ps,removeRunConsumersRunning:()=>Hr,reportSearch:()=>Kn,resetSectionState:()=>jr,revalidateReport:()=>us,revalidateUrl:()=>cs,searchMember:()=>Wn,searchRegenerate:()=>Yn,searchRole:()=>es,searchUser:()=>ts,setCurrentLocale:()=>jn,setPreferredLocale:()=>Gn,setPreviews:()=>zn,setQueryParam:()=>Xn,setSectionState:()=>zr,setStatus:()=>$r,updateEntity:()=>Mr,updateMyData:()=>ns,updateUser:()=>os,urlProxy:()=>Jn,variantValidateSlug:()=>Hn});var{localeDefault:Go}=re();function J(e){return {variables:e.variables||{},query:e.query||{},locale:e.locale||Go}}var ge={SINGLE:"single",MULTI:"multi"};var Yo={IMAGE:"image",PARAGRAPH:"paragraph",SELECTOR:"selector",STAT:"stat",SUBTITLE:"subtitle",TITLE:"title",NAV:"nav",RESET_BUTTON:"reset_button",COMPARISON_BUTTON:"comparison_button",TABLE:"table",BUTTON:"button",MULTIHIERARCHY_SELECTOR:"multihierarchy_selector",FALLBACK:"fallback"},dt={GENERATOR:"generator",RELATED:"related",VIZ:"visualization",SECTION_FLAG:"section_flag"},ft="logic",h={...Yo,...dt};var Zo=Qo(process.env.REPORTS_LOGGING),Ee=Jo;function Jo(e,t,r,o,n=void 0,s){let a={},i=[],{locale:c}=J(s);try{if(t){let u=new Proxy(console,{get(p,d){return en(d,"log","debug","info","warn","error")?(...f)=>{i.push(`${d} ${Date.now()} - ${f.map(b=>format(b)).join(" ")}`),Zo&&p[d](...f);}:p[d]}}),l;return n?l=new Function(e,"console","libs","formatters","locale","variables",r)(t,u,Le,o,c,n):l=new Function(e,"console","libs","formatters","locale",r)(t,u,Le,o,c),typeof l=="object"&&Object.keys(l).length>0&&Object.assign(a,l),{vars:a,error:null,log:i,output:l}}return {vars:a,error:"Invalid API Link",log:i}}catch(u){return {vars:a,error:u.message,log:i}}}function en(e,...t){return t.includes(e)}function mt(e){return e.reduce((t,r,o)=>(o?o===e.length-1&&o===1?t+=` and ${r}`:o===e.length-1?t+=`, and ${r}`:t+=`, ${r}`:t+=r,t),"")}var he=tn;function tn(e,t,r,o=!1){let{variables:n}=J(r);if(!e)return e;let s=/([A-z0-9]*)\{\{([^\}]+)\}\}/g;return e.replace(s,(i,c,u)=>{let l=d=>d;if(c){let d=c.replace(/^\w/g,f=>f.toLowerCase());d in t?l=t[d]:l=f=>`${c}${f}`;}let p=Array.isArray(n[u])?mt(n[u]):n[u];if(p===void 0)return o?i:"N/A";try{return l(p,Le,t)}catch(d){return console.error(`Error using formatter ${l.name}
|
|
27
|
+
`,`Error message: ${d.message}`),"N/A"}})}var yt=(e,t,r)=>{let{variables:o}=r,n=a=>a.allowed==="never"?!1:!a.allowed||a.allowed==="always"||o[a.allowed],s={...e};return Object.keys(s).forEach(a=>{typeof s[a]=="string"?s[a]=he(s[a],t,r):Array.isArray(s[a])?s[a]=s[a].filter(n).map(i=>typeof i=="object"?yt(i,t,r):typeof i=="string"?he(i,t,r):i):typeof s[a]=="object"&&s[a]!==null&&!(s[a]instanceof Date)&&(s[a]=yt(s[a],t,r));}),s},et=yt;var sr=e=>Array.isArray(e)?e.map(t=>typeof t=="string"?{allowed:"always",label:t,id:t}:{allowed:"always",label:t.id,...t}):[];var rn=(e,t,r)=>{if(!r)return !1;if(e===ge.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(s=>s.id).includes(n))},Rt=rn;function gt(e,t,r,o,n=!1){let{variables:s}=J(o),a=et({logic:t},r,o).logic,i=Ee("variables",s,a,r,void 0,o),{vars:c,log:u,error:l}=i,p=c.type||ge.SINGLE,d=c.component||"Selector",f=c.hideLabel||"false",b=c.resetSectionVars||"false",A=c.name||"Unlabeled Selector",m=sr(c.options||[]),L=_=>p===ge.MULTI&&!Array.isArray(_)?[_]:_,T=c.defaultValue,v;if(T&&(T=L(T),Rt(p,T,m)&&(v=T)),!v){let _=m&&m[0]&&m[0].id||m[0]||"";v=L(_);}if(n&&typeof window<"u"){let _=`selector${e}id`,H=new URLSearchParams(window.location.search),B=Object.fromEntries(H)[_];B&&!Rt(p,B,m)&&B!==void 0&&(H.delete(_),window.history.replaceState(null,null,`?${H.toString()}`));}return {config:{name:A,type:p,options:m,defaultValue:v,component:d,hideLabel:f,resetSectionVars:b},log:u,error:l}}function Et(e,t,r){if(!e)return !1;let o=Array.isArray(r)?r:r.split(",");return Array.isArray(o)&&o.every(n=>e.map(s=>`${s[`${t} ID`]}`).includes(n))}function ht(e,t,r,o,n=!1){let{variables:s}=J(o),a=et({logic:t},r,o).logic,i=Ee("variables",s,a,r,void 0,o),{vars:c,log:u,error:l}=i;if(n&&typeof window<"u"){let d=`multihierarchySelector${e}-value`,f=`multihierarchySelector${e}-type`,b=new URLSearchParams(window.location.search),A=Object.fromEntries(b),m=A[d],L=A[f];m&&m!==void 0&&L&&L!==void 0&&!Et(c.data,L,m)&&(b.delete(d),b.delete(f),window.history.replaceState(null,null,`?${b.toString()}`));}return {config:c,log:u,error:l}}var on=(e,t,r)=>{let o=`selector${e}id`,n=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(o),s=new URLSearchParams(t).get(o),a=n||s;if(r.type===ge.MULTI){let u=a?a.split(","):r.defaultValue,l=r.options.filter(p=>u.includes(p.id));return {[`selector${e}id`]:u,[`selector${e}label`]:(l||[]).map(p=>p.label)}}let i=a&&r.options.find(u=>u.id===a)?a:r.defaultValue,c=r.options.find(u=>u.id===i);return {[`selector${e}id`]:i,[`selector${e}label`]:c&&c.label||void 0}},ar=on;var nn=(e,t,r)=>{let o=`multihierarchySelector${e}-value`,n=`multihierarchySelector${e}-type`,s=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(o),a=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(n),i=new URLSearchParams(t).get(o),c=new URLSearchParams(t).get(n),u=s||i,l=a||c,p=u?u.split(","):r.defaultValue||[],d=l||r.defaultValueType||"",f=r.data?.filter(b=>p.includes(`${b[`${d} ID`]}`))||[];return {[`multihierarchySelector${e}id`]:p,[`multihierarchySelector${e}label`]:[...new Set((f||[]).map(b=>b[d]))],[`multihierarchySelector${e}type`]:d}},ir=nn;var{localeDefault:cr,locales:sn}=re(),an=Object.values(dt),cn=(e,t=cr)=>e&&an.includes(e.type)?{locale:ft,locales:[ft]}:{locale:t,locales:sn},ur=(e,t=cr)=>{if(!e)return {};let{locale:r}=cn(e,t);return e.contentByLocale?.[r]?.content};function un(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(s=>o.includes(s)))).map(n=>[n.id,n]))}var lr=un;var pr=(e,t)=>t&&typeof t=="string"?t.split(".").reduce((r,o)=>r[o],e):e;var dr="|||";var fr="SECTION_ALLOWED";function St(e){return e.type===h.SECTION_FLAG&&e.inputs.length===0&&e.consumers.length===0}function pn(){let{publicRuntimeConfig:e}=ln(),t=e.bespoke_report_env_vars||{};return {...Object.keys(t).reduce((r,o)=>(r[`ENV_${o}`]=t[o]||"N/A",r),{})}}var Fe=pn;function dn(){return typeof process>"u"?{}:Object.entries(process.env).filter(([e])=>e.startsWith("BESPOKE_SECRET_")).reduce((e,[t,r])=>({...e,[t.replace("BESPOKE_SECRET_","ENV_SECRET_")]:r}),{})}var mr=dn;var ce=Qo(process.env.NEXT_PUBLIC_REPORTS_DEBUG),Rn=process.env.REPORTS_ORIGIN||"",gn=process.env.NEXT_PUBLIC_REPORTS_AXIOS_RETRIES,Er=5;try{Er=parseInt(`${gn||5}`,10);}catch(e){console.error("Error setting axios retries NEXT_PUBLIC_REPORTS_AXIOS_RETRIES defaults to 5",e);}yr(ot,{retries:Er,retryDelay:yr.exponentialDelay,onRetry:(e,t,r)=>{console.error("Generator request failed. Retrying... Count: ",e),console.error("URL: ",r.url),console.error(t.message);}});ot.interceptors.request.use(e=>({...e,requestStart:Date.now()}));ot.interceptors.response.use(e=>({...e,requestDuration:new Date().getTime()-e.config.requestStart}),e=>Promise.reject(e));var En=(e,t,r)=>{let o=he(e,t,r);return o.startsWith("http")||(o=`${Rn}${o.startsWith("/")?"":"/"}${o}`),o},{urlProxy:hn}=Ne("/api/cms");function rt(e){return e.ok!==void 0}function tt(e){this.message=e,this.name="ApiFetchException";}var Rr=process.env.NEXT_PUBLIC_REPORTS_API_FETCH_TIMEOUT||0;async function Sn(e,t,r="en",o,n){let s=Date.now(),a=e,i,c=Fe(),u=mr(),l={envs:{...c,...u}},d=new URL(e).searchParams;if(d.has("bespoke_slugs")){let T=new RegExp(`[?&]bespoke_slugs=${d.get("bespoke_slugs")}`,"g");a=a.replace(T,"");}let f={datasource:void 0};o.find(T=>{if(!T.content?.pattern)return !1;try{let v=new RegExp(T.content.pattern,"gm");return v.test(a)?(f.datasource=T,!0):v.test(a)}catch{return !1}});let b=n?n.settings:{},A=!!(b&&b.useProxy&&b.useProxy==="true"),m=f.datasource&&typeof f.datasource.content.useProxy=="boolean"?f.datasource.content.useProxy:!1,L=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/api/cms/url/proxy?url=${encodeURIComponent(a)}`;if(typeof window=="object"&&(A||m)){let T=await hn({url:a,timeout:Rr});if(T.ok===!0)i=T.data;else throw new tt(T?.error)}else try{let v={url:a,timeout:Rr};if(f.datasource){let H=await Yt({vars:["url","libs"],logic:f.datasource.content.logic},l)(a);if(H.axiosConfig)v=H.axiosConfig;else throw new tt(`AxiosConfig is missing in Data Source ${f.datasource.name} (ID: ${f.datasource.id}).`)}let $=await ot(v);if($.status===200)$.headers["content-type"]==="text/csv"?i=csvParse($.data):i=$.data;else throw new tt("No response for: "+a)}catch(T){throw new tt(T.message)}if(d.has("bespoke_slugs")){let T=d.get("bespoke_slugs");if(T){let v=T.split(",");if(v.length===3){let[$,_,H]=v,O=pr(i,H);if(O&&Array.isArray(O)){let B=Array.from(new Set(O.map(C=>`${C[_]}`).filter(C=>!["","undefined"].includes(C))));if(B.length>0){let C=B.join("").length>2e3,P=await t({mode:C?"whole":"ids",ids:C?void 0:B,all:!1,locale:r,variant:[parseInt($,10)],output:"lite",limit:B.length+1}).then(M=>{let F=[];return rt(M)?M.ok&&(F=M.data.results):F=M.results,F&&Array.isArray(F)?F:[]}).catch(M=>(console.error(`Error hydrating slugs for Variant: ${$}, Key: ${_}, Accessor: ${H}`),console.error(` Url ${e}`),n&&console.error(` From Section ${n.section_id} and Block ${n.id}`),console.error(M),[]));if(P){let M=Object.fromEntries(P.map(F=>[F.id,`/${F.variant_slug}/${F.slug}`]));O.map(F=>(F.bespoke_slug=M[F[_]]?M[F[_]]:null,F));}}}}}}return {data:i,requestDuration:Date.now()-s,finalUrl:m||A?L:a,apiDataSource:f.datasource?f.datasource:!1}}function bn(e){this.name="BlockException",this.message=e;}async function gr(e,t,r,o,n){let{locale:s,variables:a,query:i}=J(r),c=An(e,r,a,t),u=null,l=e.contentByLocale?.logic?.content?.api,p=null,d=null,f=null,b=null,A=null;if(!c)return {outputVariables:{},renderVariables:{},status:{allowed:!1,hiddenByCascade:e.id}};if(e.type===h.FALLBACK)return {outputVariables:{},renderVariables:{},status:{allowed:c,hiddenByCascade:e.id}};if(l){f=En(l,t,r);let O=f.split(dr).filter(P=>P!==""),B=[];for(let P=0;P<O.length;P++){let M=O[P];new RegExp("^(?:[a-z+]+:)?//","i").test(f)||(M=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/${M}`.replace(/([^:]\/)\/+/g,"$1")),B.push(Sn(M,o,s,n,e).catch(G=>{throw new bn(` Excecution of ${e.type}-${e.id} in section ${e.section_id} in report ${a.report_name} (${a.report_id}) failed.
|
|
28
|
+
Error fetching ${M}.
|
|
29
|
+
Message: ${G.message}.
|
|
30
|
+
`)}));}let C=await Promise.all(B).catch(P=>P.message);if(typeof C=="string"&&C)return {outputVariables:{},renderVariables:{},status:{error:C}};u=C.length===1?C[0].data:C.map(P=>P.data),d=C.reduce((P,M)=>P+JSON.stringify(M.data).length/1024,0),p=Math.max(...C.map(P=>P.requestDuration)),b=C.map(P=>P.apiDataSource?`${P.apiDataSource.name} (${P.apiDataSource.id})`:!1),A=C.map(P=>P.finalUrl);}if(e.type===h.SELECTOR){let{config:O,log:B,error:C}=gt(e.id,e.contentByLocale[s].content.logic,t,r,!0);return {outputVariables:ar(e.id,i,O),renderVariables:O,status:{log:B,error:C,allowed:c}}}if(e.type===h.MULTIHIERARCHY_SELECTOR){let{config:O,log:B,error:C}=ht(e.id,e.contentByLocale[s].content.logic,t,r,!0);return {outputVariables:ir(e.id,i,O),renderVariables:O,status:{log:B,error:C,allowed:c}}}if(e.type===h.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:c}};if(e.type===h.RELATED){let O=e.contentByLocale?.logic?.content?.simple?.compare||"variant",B=e.contentByLocale?.logic?.content?.simple?.limit||4,C=Object.keys(a).filter(y=>y.startsWith("report_id")).map(y=>a[y]),P=Object.keys(a).filter(y=>y.startsWith("dimension_id")).map(y=>a[y]),M=Object.keys(a).filter(y=>y.startsWith("variant_id")).map(y=>a[y]),F=Object.keys(a).filter(y=>y.startsWith("id")).map(y=>a[y]);if(!F.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:!1}};let G=await Promise.all(F.map((y,S)=>o({mode:"ids",locale:s,ids:[y],output:"lite",variant:[M[S]]}))).then(y=>y.flatMap(S=>{let x=[];return rt(S)?S.ok&&(x=S.data.results):x=S.results,x&&Array.isArray(x)?x:[]})).catch(y=>(console.error("Error getting related members",y),[]));if(P.length>1){let y=Object.keys(a).filter(w=>w.startsWith("variant_slug")).map(w=>a[w]),S=G.map((w,j)=>{let N={mode:"related",locale:s,related:B??4,current_ids:[w.content_id],output:"full",variant_ids:[w.variant_id]};return j===0&&(N.include_ids=[w.content_id]),N}),x=await Promise.all(S.map(w=>o(w))).then(w=>w.flatMap(j=>{let N=[];return rt(j)?j.ok&&(N=j.data.results):N=j.results,N&&Array.isArray(N)?N:[]})).catch(w=>(console.error("Error getting related members",w),[])),pe=x.reduce((w,j)=>{let N=j.variant_slug;return w[N]||(w[N]=[]),w[N].push(j),w},{}),Ge=[],Y=Object.keys(pe),se=[{combination:[],index:0}];for(;se.length>0;){let w=se.pop();if(!w)continue;let{combination:j,index:N}=w;if(N===Y.length){Ge.push(j);continue}let W=Y[N],Q=pe[W];for(let ro of Q)se.push({combination:[...j,ro],index:N+1});}return {outputVariables:{related_reports:Ge.map(w=>{let j=w.sort((N,W)=>y.indexOf(N.variant_slug)-y.indexOf(W.variant_slug));return {entities:j,link:"/"+j.map(N=>`${N.variant_slug}/${N.slug}`).join("/")}})},renderVariables:{},status:{log:[],allowed:x.length>0}}}let k=G.map(y=>y.content_id),D={mode:"related",locale:s,related:B??4,current_ids:k,output:"full"};O&&(O==="report"?D.report_ids=C:O==="dimension"?D.dimension_ids=P:D.variant_ids=M);let K=await o(D).then(y=>{let S=[];return rt(y)?y.ok&&(S=y.data.results):S=y.results,S&&Array.isArray(S)?S:[]}).catch(y=>(console.error("Error getting related members",y),[]));return {outputVariables:{related_reports:K.map(y=>({entities:[y],link:`/${y.variant_slug}/${y.slug}`}))},renderVariables:{},status:{log:[],allowed:K.length>0}}}let{logic:m}=ur(e,s),L=he(m,t,r),T=Ee("resp",u||{},L,t,a,r),{vars:v,error:$,log:_}=T;if(typeof v!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:_,duration:p,responseSize:d,resp:u,api:f,allowed:c,apiFinalUrls:A,apiDataSources:b}};let H=Object.keys(v).reduce((O,B)=>({...O,[`${e.type}${e.id}${B}`]:v[B]}),{});return {renderVariables:v,outputVariables:[h.GENERATOR,h.SECTION_FLAG].includes(e.type)?v:H,status:{log:_,error:$,duration:p,responseSize:d,resp:u,api:f,allowed:c,apiFinalUrls:A,apiDataSources:b}}}function Tn(e,t,r,o,n,s,a){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(u=>t[u]&&t[u].section_id===t[r].section_id||!n).forEach(u=>bt(u,t,o,!1,s,n,a));}})}var bt=(e,t,r=[],o=!0,n=!0,s=!0,a=[])=>{if(a.includes(e))return [];a.push(e);let i=t[e];return i&&i.inputs.length&&o&&i.inputs.forEach(c=>{let u=`${c}-${e}`;r.includes(u)||r.push(u),i.inputs.forEach(l=>bt(l,t,r,o,!1,s,a));}),i&&i.consumers.length&&n&&Tn(i,t,e,r,s,n,a),r},An=(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 s=J(t),{error:a,output:i}=Ee("variables",r,e.settings.allowedLogic||"return false;",o,void 0,s);a||(n=!!i);}return n},hr=async(e,t,r,o,n,s={},a,i="section",c)=>{let u=i==="section",l=J(n),p=l.variables,d={...s.variables??{}},f={...s.status??{}},b=new Set,A=[],m={};r?m={...m,[r]:e[r]}:t?m=(t??[]).reduce((k,{id:D})=>({...k,...lr(D,e)}),{}):m=Object.values(e).filter(k=>St(k)).reduce((k,D)=>({...k,[D.id]:D}),{});let L=Object.values(m).filter(k=>St(k));if(L.length>0){ce&&console.info("%crunConsumers: calculating section flags","color:purple",L.map(R=>R.id).join(", "));let k=Object.fromEntries(await Promise.all(L.map(async R=>[R.id,await gr(R,o,{...l,variables:p,locale:p.locale},a,c).then(y=>{let{outputVariables:S,status:x}=y;if(x.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${R.id}, Section ${R.section_id}) failed with message: ${x.error}. `);f[R.id]={allowed:!1,error:x.error},d[R.id]={};}return (R.consumers.length>0||[h.GENERATOR,h.SECTION_FLAG,h.RELATED].includes(R.type))&&x.allowed&&Object.keys(S).length>0?d[R.id]=S:d[R.id]={},i==="report"?(f[R.id]={allowed:x.allowed},[h.GENERATOR,h.SECTION_FLAG].includes(R.type)&&x.api&&(f[R.id].api=x.api)):f[R.id]=x,y})]))),K=Object.entries(k).filter(([,R])=>!R.outputVariables[fr]).map(([R])=>Number(R));b=new Set(K.map(R=>e[R].section_id)),Object.values(m).filter(R=>b.has(R.section_id)).forEach(R=>{A.push(R.id),delete m[R.id];}),ce&&console.info("%crunConsumers: removing sections","color:purple",b.keys());}let T=b.size>0?Object.fromEntries(Object.entries(e).filter(([,k])=>b?.has(k.section_id)?(A.includes(k.id)||A.push(k.id),!1):!0)):e;if(A.length>0&&(T=Object.fromEntries(Object.entries(T).map(([k,D])=>{let K={...D,inputs:D.inputs.filter(R=>!A.includes(R)),consumers:D.consumers.filter(R=>!A.includes(R))};return [k,K]}))),!r&&!t)return {variables:{...s.variables??{},...d},status:{...s.status??{},...f}};i==="report"&&A.length>0&&A.forEach(k=>{delete d[k],delete f[k],delete e[k];}),ce&&console.info("%crunConsumers: running root blocks","color:purple",Object.keys(m));let v=Object.keys(m).reduce((k,D)=>{let K=new Date,R=bt(Number(D),T,[],!r,!0,u).map(x=>x.split("-")),S=(new Date().getTime()-K.getTime())/1e3;return ce&&console.info(`%cResolved dependencies for ${D} (${S.toFixed(2)}s)`,"color:blue"),[...k,...R]},[]),$=new Date,_=Object.keys(m).reduce((k,D)=>k.includes(D)?[...k]:[D,...k],fn(v)),O=(new Date().getTime()-$.getTime())/1e3;ce&&console.info(`%cResolved DAG (${O.toFixed(2)}s): `,"color:green",_);let B=process.env.NEXT_PUBLIC_REPORTS_MAX_CONCURRENT_QUERIES_PER_REPORT,C=parseInt(`${B||0}`,10);async function P(k,D){let K=new Map,R=[],y=async()=>R.length;for(let S of k){if(C!==0){let Y=await y();for(;Y>=C;)ce&&console.info("Too many pending promises, waiting...",Y),await new Promise(se=>setTimeout(se,500)),Y=await y();}let x=D[S],Ge=Promise.all(x.inputs.filter(Y=>k.includes(String(Y))).map(Y=>K.get(Number(Y)))).then(async()=>{let Y=x.inputs.reduce((W,Q)=>({...W,...d[Q]}),p),se=x.inputs.find(W=>(x.settings?.ignoreCascade?x.settings?.ignoreCascade:[]).includes(W)||!f[W]?!1:!f[W].allowed||f[W].hiddenByCascade);if(se){f[S]={allowed:!1,hiddenByCascade:f[se].hiddenByCascade||se},d[S]={};return}let qt=new Date,w=await gr(x,o,{...l,variables:Y,locale:Y.locale},a,c).then(({outputVariables:W,status:Q})=>{if(Q.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${S}, Section ${x.section_id}) failed with message: ${Q.error}.`);f[S]={allowed:!1,error:Q.error},d[S]={};}(x.consumers.length>0||[h.GENERATOR,h.SECTION_FLAG,h.RELATED].includes(x.type))&&Q.allowed&&Object.keys(W).length>0?d[S]=W:d[S]={},i==="report"?(f[S]={allowed:Q.allowed},[h.GENERATOR,h.SECTION_FLAG].includes(x.type)&&Q.api&&(f[S].api=Q.api)):f[S]=Q;}),N=(new Date().getTime()-qt.getTime())/1e3;return ce&&console.info(`%cBlock ${x.id} resolved in ${N.toFixed(3)}s`,N>500?"color:red":"color:green"),R.splice(R.indexOf(Number(S)),1),w});R.push(Number(S)),K.set(Number(S),Ge);}await Promise.all(Array.from(K.values()));}let M=new Date;await P(_,T);let G=(new Date().getTime()-M.getTime())/1e3;return ce&&console.info(`%cResolved Variables (${G.toFixed(2)}s), ${_.length} blocks`,"color:green"),{variables:{...s.variables??{},...d},status:{...s.status??{},...f}}};function vn(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(s=>{t[`attr_${s}${n}`]=r.attributes[s];}),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 Sr=vn;function Se(e,t,r){if(t==="createBulk"||t==="updateBulk"){let n=`${t}${br(r)}`;return e[n]}let o=`${t}${br(r)}`;return e[o]}function br(e){return e[0].toUpperCase()+e.slice(1)}function z(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=In[e],s=n?typeof n=="function"?n.apply(null,r):n:"unknown error nr: "+e;throw Error("[Immer] "+s)}throw Error("[Immer] minified error nr: "+e+(r.length?" "+r.map(function(a){return "'"+a+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function Oe(e){return !!e&&!!e[X]}function Te(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)===Bn}(e)||Array.isArray(e)||!!e[Lr]||!!(!((t=e.constructor)===null||t===void 0)&&t[Lr])||Ot(e)||It(e))}function qe(e,t,r){r===void 0&&(r=!1),Be(e)===0?(r?Object.keys:Dt)(e).forEach(function(o){r&&typeof o=="symbol"||t(o,e[o],e);}):e.forEach(function(o,n){return t(n,o,e)});}function Be(e){var t=e[X];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:Ot(e)?2:It(e)?3:0}function Ct(e,t){return Be(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function xn(e,t){return Be(e)===2?e.get(t):e[t]}function _r(e,t,r){var o=Be(e);o===2?e.set(t,r):o===3?e.add(r):e[t]=r;}function Cn(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function Ot(e){return _n&&e instanceof Map}function It(e){return On&&e instanceof Set}function be(e){return e.o||e.t}function Bt(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=wn(e);delete t[X];for(var r=Dt(t),o=0;o<r.length;o++){var n=r[o],s=t[n];s.writable===!1&&(s.writable=!0,s.configurable=!0),(s.get||s.set)&&(t[n]={configurable:!0,writable:!0,enumerable:s.enumerable,value:e[n]});}return Object.create(Object.getPrototypeOf(e),t)}function wt(e,t){return t===void 0&&(t=!1),Nt(e)||Oe(e)||!Te(e)||(Be(e)>1&&(e.set=e.add=e.clear=e.delete=kn),Object.freeze(e),t&&qe(e,function(r,o){return wt(o,!0)},!0)),e}function kn(){z(2);}function Nt(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function oe(e){var t=Nn[e];return t||z(18,e),t}function Tr(){return process.env.NODE_ENV==="production"||Ie||z(0),Ie}function Tt(e,t){t&&(oe("Patches"),e.u=[],e.s=[],e.v=t);}function nt(e){kt(e),e.p.forEach(Pn),e.p=null;}function kt(e){e===Ie&&(Ie=e.l);}function Ar(e){return Ie={p:[],l:Ie,h:e,m:!0,_:0}}function Pn(e){var t=e[X];t.i===0||t.i===1?t.j():t.g=!0;}function At(e,t){t._=t.p.length;var r=t.p[0],o=e!==void 0&&e!==r;return t.h.O||oe("ES5").S(t,e,o),o?(r[X].P&&(nt(t),z(4)),Te(e)&&(e=st(t,e),t.l||at(t,e)),t.u&&oe("Patches").M(r[X].t,e,t.u,t.s)):e=st(t,r,[]),nt(t),t.u&&t.v(t.u,t.s),e!==Or?e:void 0}function st(e,t,r){if(Nt(t))return t;var o=t[X];if(!o)return qe(t,function(i,c){return vr(e,o,t,i,c,r)},!0),t;if(o.A!==e)return t;if(!o.P)return at(e,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var n=o.i===4||o.i===5?o.o=Bt(o.k):o.o,s=n,a=!1;o.i===3&&(s=new Set(n),n.clear(),a=!0),qe(s,function(i,c){return vr(e,o,n,i,c,r,a)}),at(e,n,!1),r&&e.u&&oe("Patches").N(o,r,e.u,e.s);}return o.o}function vr(e,t,r,o,n,s,a){if(process.env.NODE_ENV!=="production"&&n===r&&z(5),Oe(n)){var i=st(e,n,s&&t&&t.i!==3&&!Ct(t.R,o)?s.concat(o):void 0);if(_r(r,o,i),!Oe(i))return;e.m=!1;}else a&&r.add(n);if(Te(n)&&!Nt(n)){if(!e.h.D&&e._<1)return;st(e,n),t&&t.A.l||at(e,n);}}function at(e,t,r){r===void 0&&(r=!1),!e.l&&e.h.D&&e.m&&wt(t,r);}function vt(e,t){var r=e[X];return (r?be(r):e)[t]}function xr(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 Pt(e){e.P||(e.P=!0,e.l&&Pt(e.l));}function xt(e){e.o||(e.o=Bt(e.t));}function Lt(e,t,r){var o=Ot(t)?oe("MapSet").F(t,r):It(t)?oe("MapSet").T(t,r):e.O?function(n,s){var a=Array.isArray(n),i={i:a?1:0,A:s?s.A:Tr(),P:!1,I:!1,R:{},l:s,t:n,k:null,o:null,j:null,C:!1},c=i,u=_t;a&&(c=[i],u=Ve);var l=Proxy.revocable(c,u),p=l.revoke,d=l.proxy;return i.k=d,i.j=p,d}(t,r):oe("ES5").J(t,r);return (r?r.A:Tr()).p.push(o),o}function Ln(e){return Oe(e)||z(22,e),function t(r){if(!Te(r))return r;var o,n=r[X],s=Be(r);if(n){if(!n.P&&(n.i<4||!oe("ES5").K(n)))return n.t;n.I=!0,o=Cr(r,s),n.I=!1;}else o=Cr(r,s);return qe(o,function(a,i){n&&xn(n.t,a)===i||_r(o,a,t(i));}),s===3?new Set(o):o}(e)}function Cr(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return Bt(e)}var kr,Ie,Mt=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",_n=typeof Map<"u",On=typeof Set<"u",Pr=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",Or=Mt?Symbol.for("immer-nothing"):((kr={})["immer-nothing"]=!0,kr),Lr=Mt?Symbol.for("immer-draftable"):"__$immer_draftable",X=Mt?Symbol.for("immer-state"):"__$immer_state";var In={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"},Bn=""+Object.prototype.constructor,Dt=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,wn=Object.getOwnPropertyDescriptors||function(e){var t={};return Dt(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r);}),t},Nn={},_t={get:function(e,t){if(t===X)return e;var r=be(e);if(!Ct(r,t))return function(n,s,a){var i,c=xr(s,a);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||!Te(o)?o:o===vt(e.t,t)?(xt(e),e.o[t]=Lt(e.A.h,o,e)):o},has:function(e,t){return t in be(e)},ownKeys:function(e){return Reflect.ownKeys(be(e))},set:function(e,t,r){var o=xr(be(e),t);if(o?.set)return o.set.call(e.k,r),!0;if(!e.P){var n=vt(be(e),t),s=n?.[X];if(s&&s.t===r)return e.o[t]=r,e.R[t]=!1,!0;if(Cn(r,n)&&(r!==void 0||Ct(e.t,t)))return !0;xt(e),Pt(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 vt(e.t,t)!==void 0||t in e.t?(e.R[t]=!1,xt(e),Pt(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=be(e),o=Reflect.getOwnPropertyDescriptor(r,t);return o&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:o.enumerable,value:r[t]}},defineProperty:function(){z(11);},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){z(12);}},Ve={};qe(_t,function(e,t){Ve[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};}),Ve.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&z(13),Ve.set.call(this,e,t,void 0)},Ve.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&z(14),_t.set.call(this,e[0],t,r,e[0])};var Mn=function(){function e(r){var o=this;this.O=Pr,this.D=!0,this.produce=function(n,s,a){if(typeof n=="function"&&typeof s!="function"){var i=s;s=n;var c=o;return function(A){var m=this;A===void 0&&(A=i);for(var L=arguments.length,T=Array(L>1?L-1:0),v=1;v<L;v++)T[v-1]=arguments[v];return c.produce(A,function($){var _;return (_=s).call.apply(_,[m,$].concat(T))})}}var u;if(typeof s!="function"&&z(6),a!==void 0&&typeof a!="function"&&z(7),Te(n)){var l=Ar(o),p=Lt(o,n,void 0),d=!0;try{u=s(p),d=!1;}finally{d?nt(l):kt(l);}return typeof Promise<"u"&&u instanceof Promise?u.then(function(A){return Tt(l,a),At(A,l)},function(A){throw nt(l),A}):(Tt(l,a),At(u,l))}if(!n||typeof n!="object"){if((u=s(n))===void 0&&(u=n),u===Or&&(u=void 0),o.D&&wt(u,!0),a){var f=[],b=[];oe("Patches").M(n,u,f,b),a(f,b);}return u}z(21,n);},this.produceWithPatches=function(n,s){if(typeof n=="function")return function(u){for(var l=arguments.length,p=Array(l>1?l-1:0),d=1;d<l;d++)p[d-1]=arguments[d];return o.produceWithPatches(u,function(f){return n.apply(void 0,[f].concat(p))})};var a,i,c=o.produce(n,s,function(u,l){a=u,i=l;});return typeof Promise<"u"&&c instanceof Promise?c.then(function(u){return [u,a,i]}):[c,a,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){Te(r)||z(8),Oe(r)&&(r=Ln(r));var o=Ar(this),n=Lt(this,r,void 0);return n[X].C=!0,kt(o),n},t.finishDraft=function(r,o){var n=r&&r[X];process.env.NODE_ENV!=="production"&&(n&&n.C||z(9),n.I&&z(10));var s=n.A;return Tt(s,o),At(void 0,s)},t.setAutoFreeze=function(r){this.D=r;},t.setUseProxies=function(r){r&&!Pr&&z(20),this.O=r;},t.applyPatches=function(r,o){var n;for(n=o.length-1;n>=0;n--){var s=o[n];if(s.path.length===0&&s.op==="replace"){r=s.value;break}}n>-1&&(o=o.slice(n+1));var a=oe("Patches").$;return Oe(r)?a(r,o):this.produce(r,function(i){return a(i,o)})},e}(),Z=new Mn,Dn=Z.produce;Z.produceWithPatches.bind(Z);Z.setAutoFreeze.bind(Z);Z.setUseProxies.bind(Z);Z.applyPatches.bind(Z);Z.createDraft.bind(Z);Z.finishDraft.bind(Z);var it=Dn;var te=ae.actions,Nr=ze({block:ue("block"),dimension:ue("dimension"),formatter:ue("formatter"),report:ue("report"),section:ue("section"),variant:ue("variant"),datasource:ue("datasource")}),$e=ze({block:le("block"),dimension:le("dimension"),formatter:le("formatter"),report:le("report"),section:le("section"),variant:le("variant"),datasource:le("datasource")}),Mr=ze({block:ne("block"),dimension:ne("dimension"),formatter:ne("formatter"),report:ne("report"),section:ne("section"),variant:ne("variant"),datasource:ne("datasource")}),Dr=ze({block:Ae("block"),dimension:Ae("dimension"),formatter:Ae("formatter"),report:Ae("report"),section:Ae("section"),variant:Ae("variant"),datasource:Ae("datasource")}),Ur=ze({block:Br("block"),section:Br("section")});function ze(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 xe(e,t){return (r,o)=>{let s=o().records.requests[e][t],a=!s||s.status==="UNINITIALIZED"?"LOADING":"FETCHING";r(te.setRequest({key:t,type:e,status:a}));}}function ve(e,t,r,o){return n=>{typeof window=="object"&¬ifications.show({autoClose:3e3,color:"red",id:t,message:o,title:"Error"}),n(te.setRequest({key:t,type:e,status:"FAILURE",error:{code:r,message:o}}));}}function ue(e){return t=>{let r=Ft(e,t);return (o,n,s)=>(o(xe(e,r)),Se(s,"create",e)(t).then(i=>(i.ok===!0?o(te.setCreateRequest({key:r,operation:"create",status:"SUCCESS",type:e,data:i.data})):o(ve(e,r,i.status,i.error)),i)))}}function Vn(e){return t=>{let r=Ft(e,t[0]);return (o,n,s)=>(o(xe(e,r)),Se(s,"createBulk",e)(t).then(i=>(i.ok===!0?o(te.setCreateRequest({key:r,operation:"createBulk",status:"SUCCESS",type:e,data:i.data})):o(ve(e,r,i.status,i.error)),i)))}}function Ir(e,t,r){return r.replace(new RegExp(e,"g"),t)}function qn(e){return e.section_id!==void 0}function $n(e){return e.report_id!==void 0}function Br(e){return t=>{let{create:r}=t;return (o,n,s)=>ue(e)(r)(o,n,s).then(async i=>{if(i.ok){let{data:c}=i,{id:u}=c,{update:l}=t,p=qr(e,{id:u});if(o(xe(e,`${p}`)),e==="block"&&qn(r)){let d=it(l,m=>{m.id=u;}),{contentByLocale:f}=d;f&&(d=it(d,m=>{m.id=u,m.contentByLocale=Object.keys(f).reduce((L,T)=>{let v=f?f[T]:{};return L[T]={...v,id:u},L},{});}));let A=d.inputs?.map(m=>({type:m.type,id:m.id,inputAction:{operation:"create",input:{input_id:m.id,block_id:d.id}}}));return A&&A.length>0&&wr(e)([d,...A])(o,n,s).then(()=>le("section")({id:d.section_id,include:!0})(o,n,s).then(m=>(m.ok&&o(te.setRequest({key:p,type:e,status:"SUCCESS",data:m.data})),m))),ne(e)(d)(o,n,s).then(m=>(m.ok&&o(te.setRequest({key:p,type:e,status:"SUCCESS",data:m.data})),m))}if(e==="section"&&$n(r)){let{id:d}=c,f=it(l,m=>{m.id=d;}),{blocks:b}=f,A=b?.map(m=>({type:m.type,blockcol:m.blockcol,blockrow:m.blockrow,section_id:d,locales:Object.keys(m.contentByLocale).map(L=>L)}));return A&&b&&await Vn("block")(A)(o,n,s).then(m=>{if(m.ok){let L=m.data,T=[],v=L.map(($,_)=>{let O={...$},B=O.id,C=b[_];C.contentByLocale&&(O.contentByLocale=Object.keys(C.contentByLocale).reduce((R,y)=>{let S=C.contentByLocale[y];return R[y]={...S,content:{...S.content},id:O.id},R},{}));let{settings:P}=C,{contentByLocale:M,id:F}=O;O.settings=P;let G={id:F,contentByLocale:M,settings:P};return C.inputs.map(R=>R.id).reduce((R,y)=>{let S=b.findIndex(x=>x.id===y);return [...R,S]},[]).map(R=>({...L[R],originalBlock:b[R]})).forEach(R=>{let{id:y,type:S,originalBlock:x}=R;if([h.SELECTOR,h.VIZ].includes(S)){if(G.contentByLocale?.logic?.content?.api){let pe=G.contentByLocale?.logic.content.api;G.contentByLocale.logic.content.api=Ir(`(selector${x.id}id)`,`selector${y}id`,pe);}if(G.contentByLocale?.logic?.content?.logic){let pe=G.contentByLocale.logic.content.logic;G.contentByLocale.logic.content.logic=Ir(`(selector${x.id}id)`,`selector${y}id`,pe);}}T.push({id:y,inputAction:{operation:"create",input:{input_id:y,block_id:B}}});}),G});return wr("block")([...v,...T])(o,n,s)}}),ne(e)(f)(o,n,s).then(m=>(m.ok&&o(te.setRequest({key:p,type:e,status:"SUCCESS",data:m.data})),m))}return ne(e)({...l,id:c.id})(o,n,s)}})}}function le(e){return t=>{let r=Fr(e,t);return (o,n,s)=>{o(xe(e,r));let a=Se(s,"read",e);if(typeof a!="function"){let i=`Failed to get valid RPC method for entity "${e}"`;return o(ve(e,r,500,i)),Promise.reject(new Error(i))}return a(t).then(i=>(i.ok===!0?o(te.setReadRequest({key:r,operation:"read",status:"SUCCESS",type:e,data:i.data})):o(ve(e,r,i.status,i.error)),i))}}}function ne(e){return t=>{let r=Vt(e,t);return (o,n,s)=>(o(xe(e,r)),Se(s,"update",e)(t).then(i=>(i.ok===!0?o(te.setUpdateRequest({key:r,operation:"update",status:"SUCCESS",type:e,data:i.data})):o(ve(e,r,i.status,i.error)),i)))}}function wr(e){return t=>{let r=Vt(e,t[0]);return (o,n,s)=>(o(xe(e,r)),Se(s,"updateBulk",e)(t).then(i=>(i.ok===!0?o(te.setUpdateRequest({key:r,operation:"updateBulk",status:"SUCCESS",type:e,data:i.data})):o(ve(e,r,i.status,i.error)),i)))}}function Ae(e){return t=>{let r=Vr(e,t);return (o,n,s)=>(o(xe(e,r)),Se(s,"delete",e)(t).then(i=>{i.ok===!0?o(te.setDeleteRequest({key:r,operation:"delete",status:"SUCCESS",type:e,data:i.data})):o(ve(e,r,i.status,i.error));}))}}function Ft(e,t){if(e==="variant"){let r=t;return `create(variant, [${r.dimension_id}, ${r.name}])`}return `create(${e}, [${Object.keys(t)}])`}function Fr(e,t={}){let r=t.id==null?null:`'${t.id}'`;return `read(${e}, ${r}, ${!!t.include})`}function Vt(e,t){let{id:r,...o}=t;return `update(${e}, ${r}, [${Object.keys(o)}])`}function Vr(e,t){return `delete(${e}, ${t})`}function qr(e,t){let r=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${r})`}var{setStatus:$r,setPreviews:zn,setSectionState:zr,resetSectionState:jr,setCurrentLocale:jn,setPreferredLocale:Gn,addRunConsumersRunning:Gr,removeRunConsumersRunning:Hr}=_e;function Hn(e,t){return async(r,o,n)=>{let s=await n.validateVariantSlug({dimension:e,slug:t});if("error"in s)throw new Error(s.error);return s.data}}function Kn(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 Yn(){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 Kr(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 Wn(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 Yr(e,t,r,o){let n=r().status,s={...n,...o},a={...n.query,...o.query};Object.keys(a).forEach(c=>a[c]===void 0&&delete a[c]);let i={...s,query:a};t($r(i)),n.activeSection&&t(Wr(e,{query:a}));}function Qn(e,t){return async(r,o)=>Yr(e,r,o,{query:{[t]:void 0}})}function Xn(e,t,r){return async(o,n)=>Yr(e,o,n,{query:{[t]:r}})}function Wr(e,t){return async(r,o)=>{let n=o(),{currentLocale:s}=n.status,a=n.records.entities.block,i=e.formatterFunctions[s],c=e.datasourceFunctions,{parsedParams:u,statusPayload:l}=Zt(n.status,t),{sid:p,bid:d,previews:f,query:b}=u;Object.keys(l).length&&r(_e.setStatus(l));let A={...Sr(f),locale:s,...Fe()},m={variables:A,query:b,locale:s};r(_e.addRunConsumersRunning([p]));let L=n.records.entities.section[p],T=async v=>r(Kr(v));try{let v=await hr(a,L&&[L],d,i,m,void 0,T,"section",c),{variables:$,status:_}=v;r(Jt.setVariableChange({attributes:A,variables:$,status:_})),r(_e.removeRunConsumersRunning([p]));}catch(v){console.error("Error in runConsumers client side: recalculateVariables",v);}}}function Zn(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 Jn(e){return async(t,r,o)=>{let n=await o.urlProxy(e);if("error"in n)throw new Error(n.error);return n.data}}function es(){return async(e,t,r)=>{let o=await r.searchRole("");if("error"in o)throw new Error(o.error);return o.data}}function ts(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 rs(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 os({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 ns(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 ss(e){let{removeBlocks:t}=ae.actions;return async r=>{await r(t(e));}}function as(e){let{addBlocks:t}=ae.actions;return async r=>{await r(t(e));}}function is(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 cs(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 us(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}}function ls(){return async(e,t,r)=>{let o=await r.readEnvSecrets({});if("error"in o)throw new Error(o.error);return o.data}}function ps(){let{removeDataSourceLogic:e}=ae.actions;return async t=>{await t(e());}}var {locales:fs}=re(),ms={pathSegment:"path",formatterFunctions:fs.reduce((e,t)=>({...e,[t]:{}}),{}),datasourceFunctions:[],profilePrefix:"path",siteProps:{}};createContext(ms);re();var ut=useDispatch,je=useSelector;
|
|
31
31
|
|
|
32
|
-
export {
|
|
32
|
+
export { ct as actions, tr as storeWrapper, ut as useBespokeDispatch, je as useBespokeSelector };
|