@datawheel/bespoke 1.0.0-beta.1 → 1.0.0-beta.2

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.
@@ -1,5 +1,5 @@
1
- import {createSlice,configureStore}from'@reduxjs/toolkit';import {HYDRATE,createWrapper}from'next-redux-wrapper';import We from'axios';import {schema,normalize}from'normalizr';import {merge,date,closest,assign,isObject}from'@d3plus/dom';import*as Ur from'd3-array';import*as Dr from'd3-collection';import*as Fr from'd3-format';import {formatLocale}from'd3-format';import*as qr from'd3-time-format';import {titleCase,strip}from'@d3plus/text';import jr from'jsonwebtoken';import zt from'axios-retry';import bo from'yn';import {format}from'pretty-format';import Do from'toposort';import {csvParse}from'd3-dsv';import Mo from'next/config';import {getSession}from'next-auth/react';import {notifications}from'@mantine/notifications';import {produce}from'immer';import {createContext}from'react';import {useDispatch,useSelector,Provider}from'react-redux';import {jsx}from'react/jsx-runtime';import'@mantine/core';var hr=Object.defineProperty;var xr=(e,t)=>{for(var r in t)hr(e,r,{get:t[r],enumerable:true});};function Z(e,t){return e.request(t).then(r=>{let{status:o,data:n}=r;return "error"in n?{ok:false,status:o,error:n.error}:{ok:true,status:o,wrapper:n.wrapper,data:n.data}},r=>{if("isAxiosError"in r){let{status:o,data:n}=r.response||{status:500};return {ok:false,status:o,error:n?.error??r.message}}return {ok:false,status:500,error:r.message}})}function F(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>Z(e,{...o,method:"GET",params:r?r(n):n})}function $(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>Z(e,{...o,method:"POST",data:n})}function oe(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>Z(e,{...o,method:"DELETE",params:r?r(n):n})}function le(e,t){return r=>Z(e,{method:"POST",url:`images/save/${t}`,params:{prompt:r.prompt,provider:t}})}function xe(e,t){return r=>Z(e,{method:"GET",url:`images/search/${t}`,params:{prompt:r.prompt,page:r.page,provider:t}})}function gt(e,t){return ()=>Z(e,{method:"GET",url:`list/icons/${t}`,params:{provider:t}})}function Et(e,t){return r=>Z(e,{method:"GET",url:`read/icons/${t}/icon.svg`,params:{name:r.name}})}var ue=e=>({id:e}),kr=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 Le(e){let t=We.create({baseURL:e});return {createBulkBlock:$(t,"create/bulk/block"),createBlock:$(t,"create/block"),createDimension:$(t,"create/dimension"),createFormatter:$(t,"create/formatter"),createReport:$(t,"create/report"),createSection:$(t,"create/section"),createVariant:$(t,"create/variant"),createDatasource:$(t,"create/datasource"),deleteBlock:oe(t,"delete/block",ue),deleteDimension:oe(t,"delete/dimension",ue),deleteFormatter:oe(t,"delete/formatter",ue),deleteReport:oe(t,"delete/report",ue),deleteSection:oe(t,"delete/section",ue),deleteVariant:oe(t,"delete/variant",ue),deleteDatasource:oe(t,"delete/datasource",ue),readBlock:F(t,"read/block"),readDimension:F(t,"read/dimension"),readFormatter:F(t,"read/formatter"),readReport:F(t,"read/report"),readSection:F(t,"read/section"),readVariant:F(t,"read/variant"),readDatasource:F(t,"read/datasource"),updateBulkBlock:$(t,"update/bulk/block"),updateBlock:$(t,"update/block"),updateDimension:$(t,"update/dimension"),updateFormatter:$(t,"update/formatter"),updateReport:$(t,"update/report"),updateSection:$(t,"update/section"),updateVariant:$(t,"update/variant"),updateDatasource:$(t,"update/datasource"),searchReport:F(t,"search/reports"),validateVariantSlug:F(t,"validate/variant"),readMember:F(t,"read/members",kr),readMemberImage:F(t,{url:"member/image",responseType:"blob"}),searchMember:F(t,"search/members"),updateMember:F(t,"update/members"),imageLocalSearch:xe(t,"local"),imageLocalSave:le(t,"local"),imageFlickrSearch:xe(t,"flickr"),imageFlickrSave:le(t,"flickr"),imageUnsplashSearch:xe(t,"unsplash"),imageUnsplashSave:le(t,"unsplash"),imageUploadSave:le(t,"upload"),imageAdobeSearch:xe(t,"adobe"),imageAdobeSave:le(t,"adobe"),imagePixabaySearch:xe(t,"pixabay"),imagePixabaySave:le(t,"pixabay"),readMetadata:F(t,"read/metadata"),regenerateSearch:$(t,"search/regenerate"),urlProxy:F(t,"url/proxy"),searchRole:F(t,"auth/search/roles"),searchUser:F(t,"auth/search/users"),readUser:F(t,"auth/read/user"),updateUser:$(t,"auth/update/user"),updateMyData:$(t,"auth/update/me"),revalidateReport:F(t,"revalidate/report"),revalidateUrl:F(t,"revalidate/url"),readPrivateBlocks:$(t,"read/blocks/private"),listTablerIcons:gt(t,"tabler"),readTablerIcon:Et(t,"tabler"),readEnvSecrets:F(t,"read/secrets")}}function Lr(e,t){return +(e<t)-+(e>t)}function we(e,t,r="ordering"){return Lr(t[r],e[r])}var Ue={"ar-SA":{separator:"",suffixes:["y","z","a","f","p","n","\xB5","m",""," \u0623\u0644\u0641"," \u0645\u0644\u064A\u0648\u0646"," \u0628\u0644\u064A\u0648\u0646"," \u062A\u0631\u064A\u0644\u064A\u0648\u0646"," \u0643\u0648\u0627\u062F\u0631\u064A\u0644\u064A\u0648\u0646"," \u0643\u0648\u064A\u0646\u062A\u064A\u0644\u064A\u0648\u0646"," \u0633\u0643\u0633\u062A\u0644\u064A\u0648\u0646","\u0633\u0628\u062A\u064A\u0644\u064A\u0648\u0646"],grouping:[3],delimiters:{thousands:",",decimal:"."},currency:["SAR ",""]},"en-GB":{separator:"",suffixes:["y","z","a","f","p","n","\xB5","m","","k","M","B","T","q","Q","Z","Y"],grouping:[3],delimiters:{thousands:",",decimal:"."},currency:["\xA3",""]},"en-US":{separator:"",suffixes:["y","z","a","f","p","n","\xB5","m","","k","M","B","T","q","Q","Z","Y"],grouping:[3],delimiters:{thousands:",",decimal:"."},currency:["$",""]},"en-SA":{separator:"",suffixes:["y","z","a","f","p","n","\xB5","m",""," thousand"," million"," billion"," trillion"," quadrillion"," quintillion"," sextillion","septillion"],grouping:[3],delimiters:{thousands:",",decimal:"."},currency:["$",""]},"es-CL":{separator:"",suffixes:["y","z","a","f","p","n","\xB5","m","","k","M","MM","B","T","Q","Z","Y"],grouping:[3],delimiters:{thousands:".",decimal:","},currency:["$",""]},"es-MX":{separator:"",suffixes:["y","z","a","f","p","n","\xB5","m","","k","M","MM","B","T","Q","Z","Y"],grouping:[3],delimiters:{thousands:",",decimal:"."},currency:["$",""]},"es-ES":{separator:"",suffixes:["y","z","a","f","p","n","\xB5","m","","k","mm","b","t","q","Q","Z","Y"],grouping:[3],delimiters:{thousands:".",decimal:","},currency:["\u20AC",""]},"et-EE":{separator:" ",suffixes:["y","z","a","f","p","n","\xB5","m","","tuhat","miljonit","miljardit","triljonit","q","Q","Z","Y"],grouping:[3],delimiters:{thousands:" ",decimal:","},currency:["","eurot"]},"fr-FR":{suffixes:["y","z","a","f","p","n","\xB5","m","","k","m","b","t","q","Q","Z","Y"],grouping:[3],delimiters:{thousands:" ",decimal:","},currency:["\u20AC",""]},"zh-CN":{separator:"",suffixes:["\u5E7A","\u4EC4","\u963F","\u98DE","\u76AE","\u7EB3","\u5FAE","\u6BEB","","\u5343","\u5146","\u5409","\u592A","\u62CD","\u827E","\u6CFD","\u5C27"],grouping:[3],delimiters:{thousands:",",decimal:"."},currency:["\xA5",""]}};function _r(e){"@swc/helpers - typeof";return e&&typeof Symbol<"u"&&e.constructor===Symbol?"symbol":typeof e}var Br=function(e,t){return parseFloat(Math.round(e*Math.pow(10,t))/Math.pow(10,t)).toFixed(t)};function Ir(e,t,r){var o=0,n=parseFloat(e.replace("\u2212","-"),10);n&&(n<0&&(n*=-1),o=1+Math.floor(1e-12+Math.log(n)/Math.LN10),o=Math.max(-24,Math.min(24,Math.floor((o-1)/3)*3)));var a=r[8+o/3];return {number:Br(a.scale(n),t),symbol:a.symbol}}function vr(e,t){var r=Math.pow(10,Math.abs(8-t)*3);return {scale:t>8?function(o){return o/r}:function(o){return o*r},symbol:e}}function Je(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"en-US",r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0;if(isFinite(e))e*=1;else return "N/A";var o=e<0,n=e.toString().split(".")[0].replace("-","").length,a=(typeof t>"u"?"undefined":_r(t))==="object"?t:Ue[t]||Ue["en-US"],s=a.suffixes.map(vr),i=a.delimiters.decimal||".",c=a.separator||"",l=a.delimiters.thousands||",",p=formatLocale({currency:a.currency||["$",""],decimal:i,grouping:a.grouping||[3],thousands:l}),u;if(r)u=p.format(r)(e);else if(e===0)u="0";else if(n>=3){var m=Ir(p.format(".3r")(e),2,s),d=parseFloat(m.number).toString().replace(".",i),b=m.symbol;u="".concat(d).concat(c).concat(b);}else n===3?u=p.format(",f")(e):e<1&&e>-1?u=p.format(".2g")(e):u=p.format(".3g")(e);return "".concat(o&&u.charAt(0)!=="\u2212"?"\u2212":"").concat(u).replace(/−/g,"-").replace(/(\.[0]*[1-9]*)[0]*$/g,"$1").replace(/\.[0]*$/g,"")}function et(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 St(e,t,r){let o=0,n=1,a=1,s=1,i=0,c=0,l;for(;Math.abs((a-c)/a)>1e-5;)c=a,l=-(t+i)*(t+r+i)*e/(t+2*i)/(t+2*i+1),o=a+l*o,n=s+l*n,i+=1,l=i*(r-i)*e/(t+2*i-1)/(t+2*i),a=o+l*a,s=n+l*s,o/=s,n/=s,a/=s,s=1;return a/t}function Or(e,t,r){let o,n;if(e<0)n=0;else if(e>=t)n=1;else {e=Math.floor(e);let a=r,s=e+1,i=t-e,c=s+i,l=Math.exp(et(c)-et(i)-et(s)+s*Math.log(a)+i*Math.log(1-a));a<(s+1)/(c+2)?o=l*St(a,s,i):o=1-l*St(1-a,i,s),n=1-o;}return Math.round(n*1e5)/1e5}function Mr(e){return {.99999:15.137,.99:6.635,.95:3.841,.9:2.706}[e]}function _e(e,t,r,o){let n=t/(1-t),a=0,s=1,i=0,c=0;for(;a<=e;)c+=s,a>=r&a<=o&&(i+=s),c>1e30&&(i/=1e30,c/=1e30,s/=1e30),a+=1,s=s*n*(e+1-a)/a;return i/c}function Nr(e,t,r){let o=e/t,a=(100-r*100)/2,s,i;if(e===0)s=0;else {let c=o/2,l=0,p=o,u=a/100;for(;p-l>1e-5;)_e(t,c,e,e)*.5+_e(t,c,e+1,t)>u?(p=c,c=(l+c)/2):(l=c,c=(p+c)/2);s=c;}if(e===t)i=0;else {let c=(1+o)/2,l=o,p=1,u=a/100;for(;p-l>1e-5;)_e(t,c,e,e)*.5+_e(t,c,0,e-1)<u?(p=c,c=(l+c)/2):(l=c,c=(p+c)/2);i=c;}return {lci:s,uci:i}}function wr(e,t){let r=e,o=t,n=r,a=o,s=95,i=.5,c=.5,p=(100-s)/2/100,u=n;for(;c>1e-5;)c/=2,De((1+u)*i/(1-i),u+1,1e10)+.5*De((1+u)*i/(1-i),u,u)>p?i-=c:i+=c;let m=(1+u)*i/(1-i)/a;for(i=.5,c=.5,p=(100-s)/2/100;c>1e-5;)c/=2,De((1+u)*i/(1-i),0,u-1)+.5*De((1+u)*i/(1-i),u,u)<p?i-=c:i+=c;let b=(1+u)*i/(1-i)/a;return {lci:m,uci:b}}function De(e,t,r){let o=1,n=0,a=0,s=0;for(;s<e||o>n*1e-10;)n+=o,s>=t&s<=r&&(a+=o),n>1e30&&(a/=1e30,n/=1e30,o/=1e30),s+=1,o=o*e/s;return a/n}var Tt={binomialCdf:Or,binP:_e,computeMidP:Nr,criticalValue:Mr,smr:wr};var Ce={d3:{...Ur,...Dr,...Fr,...qr},d3plus:{assign:assign,closest:closest,date:date,formatAbbreviate:Je,merge:merge,strip:strip,titleCase:titleCase},stats:Tt};var bt={jwt:jr};var ht=(e,t={})=>{let r={libs:bt,...t};function o(a){return Function("globals",...a.vars,`with (globals) { ${a.logic} }`).bind(r,r)}function n(a){if(a.vars&&a.logic)return o(a);for(let s in a)Array.isArray(a[s])?a[s]=a[s].map(i=>isObject(i)?n(i):i):isObject(a[s])&&(a[s]=n(a[s]));return a}return n(e)};var Yr=()=>{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}},J=Yr;J();var Pe=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});Pe.define({consumers:[Pe],inputs:[Pe]});var xt=new schema.Entity("variant"),Ct=new schema.Entity("dimension",{variants:[xt]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),kt=new schema.Entity("section",{blocks:[Pe]}),Qr=new schema.Entity("report",{dimensions:[Ct],sections:[kt]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(we):[]}}}),Zr=new schema.Entity("formatter"),Xr=new schema.Entity("datasource"),Jr={report:Qr,section:kt,block:Pe,dimension:Ct,variant:xt,formatter:Zr,datasource:Xr};function Fe(e,t){let r=Jr[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:pe(o,"report"),dimension:pe(o,"dimension"),section:pe(o,"section"),block:pe(o,"block"),variant:pe(o,"variant"),formatter:pe(o,"formatter"),datasource:pe(o,"datasource")}}function pe(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:{}}var Lt=(e,t=void 0)=>{let{sid:r,bid:o,previews:n=[],query:a={}}=t||{},s,i,c={};return r?(s=r,c.activeSection=s):s=e.activeSection,n.length>0?(i=n,c.previews=i.filter(Boolean)):i=e.previews,{parsedParams:{sid:s,bid:o,previews:i,query:a},statusPayload:c}};var ro={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{},datasource:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{},datasource:{}}},re=createSlice({name:"records",initialState:ro,reducers:{set:(e,t)=>{let r=t.payload;return {entities:Be(e.entities,r.entities||{}),requests:Be(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=Fe(r.type,o),a=Be(e.entities,n);if(e.entities=a,r.type==="report"){let s=r.data;e.reports?e.reports.indexOf(s.id)===-1&&(e.reports=[...e.reports,s.id]):e.reports=[s.id];}else if(r.type==="dimension"){let s=r.data;e.entities.report[s.report_id].dimensions.push(s.id),e.entities.report[s.report_id].dimensions=qe(a.report[s.report_id].dimensions,a.dimension);}else if(r.type==="variant"){let s=r.data;e.entities.dimension[s.dimension_id].variants.push(s.id);}else if(r.type==="section"&&!Array.isArray(r.data)){let s=r.data;e.entities.report[s.report_id].sections.push(s.id),e.entities.report[s.report_id].sections=qe(a.report[s.report_id].sections,a.section);}else if(r.type==="block")if(Array.isArray(r.data)){let s=r.data,i=s[0],c=s.map(l=>l.id);e.entities.section[i.section_id].blocks.concat(c);}else {let s=r.data;e.entities.section[s.section_id].blocks.push(s.id);}}},setReadRequest(e,t){let r=t.payload;if(r.type!=="report"&&(e.requests[r.type][r.key]=r),r.status==="SUCCESS"){let o=Fe(r.type,r.data),n=Be(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=Fe(r.type,o),a,s,i;if(r.type==="block"&&!Array.isArray(r.data)){let l=e.entities.block[r.data.id].inputs,p=n.block[r.data.id].inputs;a=l.length!==p.length,a&&(i=l.length>p.length,s=i?l.filter(u=>!p.includes(u))[0]:p.filter(u=>!l.includes(u))[0]),Object.values(n.block).forEach(u=>{u.block_input&&delete n.block[u.id];});}let c=Be(e.entities,n);if(e.entities=c,r.type==="dimension"){let l=r.data;e.entities.report[l.report_id].dimensions=qe(c.report[l.report_id].dimensions,c.dimension);}else if(r.type==="section"&&!Array.isArray(r.data)){let l=r.data;e.entities.report[l.report_id].sections=qe(c.report[l.report_id].sections,c.section);}else if(r.type==="block"&&!Array.isArray(r.data)){let l=r.data;a&&(i?e.entities.block[s].consumers=e.entities.block[s].consumers.filter(p=>p!==l.id):e.entities.block[s].consumers.push(l.id));}}},setDeleteRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let{id:o,parentId:n,parentType:a}=r.data;if(delete e.entities[r.type][o],a&&n!=null){let s=`${r.type}s`;oo(e.entities[a][n][s],o);}}},removeBlocks:(e,t)=>{let r=t.payload,o={...e.entities.block};return r.forEach(n=>{delete o[n];}),{...e,entities:{...e.entities,block:o}}},addBlocks:(e,t)=>{let r=t.payload;return {...e,entities:{...e.entities,block:{...e.entities.block,...r}}}},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:e=>{e.addCase(HYDRATE,(t,r)=>{let o=r.payload.records,n=o.entities;t.entities=n,t.reports=Object.values(n.report).map(a=>a.id),t.requests={block:{},dimension:{},report:{},section:{},variant:{},formatter:{},datasource:{}},t.tree=o.tree;});}});function Be(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],...t[r]}]))}function qe(e,t){return e.map(n=>t[n]).sort((n,a)=>typeof n.ordering=="string"&&typeof a.ordering=="string"?we(n,a):typeof n.ordering=="number"&&typeof a.ordering=="number"?n.ordering-a.ordering:String(n.ordering).localeCompare(String(a.ordering))).map(n=>n.id)}function oo(e,t){let r=e.indexOf(t);r>-1&&e.splice(r,1);}var me=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",$e=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[me];$e.includes(me)||$e.push(me);var ao={localeDefault:me,locales:$e,currentLocale:me,preferredLocale:me,showToolbar:false,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:true,settings:false,reportEditor:false},isCMS:false,isRunConsumersRunning:[]},Ve=createSlice({name:"status",initialState:ao,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]:true};},closeSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:false};},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:e=>{e.addCase(HYDRATE,(t,r)=>{t.previews=r.payload.status.previews;});}}),ke=Ve.actions;var lo={attributes:{},variables:{},status:{}},ze=createSlice({name:"variables",initialState:lo,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:e=>{e.addCase(HYDRATE,(t,r)=>{let o=r.payload.variables;t.attributes={...t.attributes,...o.attributes},t.status={...t.status,...o.status},t.variables={...t.variables,...o.variables};});}}),_t=ze.actions;var Pt=()=>configureStore({reducer:{[re.name]:re.reducer,[Ve.name]:Ve.reducer,[ze.name]:ze.reducer},middleware(e){return e({thunk:{extraArgument:Le("/api/cms/")}})}}),Ge=createWrapper(Pt);var Qe={};xr(Qe,{addBlockToState:()=>Tn,addRunConsumersRunning:()=>lr,cloneEntity:()=>rr,createEntity:()=>Jt,deleteEntity:()=>tr,deleteQueryParam:()=>un,readEntity:()=>ve,readEnvSecrets:()=>xn,readMember:()=>pr,readMetadata:()=>dn,readPrivateBlocks:()=>bn,readUser:()=>Rn,recalculateVariables:()=>mr,removeBlocksFromState:()=>Sn,removeDataSourceLogic:()=>Cn,removeRunConsumersRunning:()=>ur,reportSearch:()=>an,resetSectionState:()=>cr,revalidateReport:()=>hn,revalidateUrl:()=>An,searchMember:()=>ln,searchRegenerate:()=>cn,searchRole:()=>fn,searchUser:()=>yn,setCurrentLocale:()=>on,setPreferredLocale:()=>nn,setPreviews:()=>rn,setQueryParam:()=>pn,setSectionState:()=>ir,setStatus:()=>ar,updateEntity:()=>er,updateMyData:()=>En,updateUser:()=>gn,urlProxy:()=>mn,variantValidateSlug:()=>sn});var{localeDefault:yo}=J();function W(e){return {variables:e.variables||{},query:e.query||{},locale:e.locale||yo}}var ye={SINGLE:"single",MULTI:"multi"};var tt={ALLOWED:"allowed",ALLOWED_LOGIC:"allowedLogic",IGNORE_CASCADE:"ignoreCascade"},Ro={ACCESS:"access",ACCESS_LOGIC:"accessLogic"},go={DISABLED:"disabled"},Eo={FALLBACK:"fallback"};var So={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"},rt={GENERATOR:"generator",RELATED:"related",VIZ:"visualization",SECTION_FLAG:"section_flag"},ot="logic",T={...So,...rt},Ot={...tt,...Ro,...Eo,...go};var ho=bo(process.env.REPORTS_LOGGING),Re=xo;function xo(e,t,r,o,n=void 0,a){let s={},i=[],{locale:c}=W(a);try{if(t){let l=new Proxy(console,{get(u,m){return Co(m,"log","debug","info","warn","error")?(...d)=>{i.push(`${m} ${Date.now()} - ${d.map(b=>format(b)).join(" ")}`),ho&&u[m](...d);}:u[m]}}),p;return n?p=new Function(e,"console","libs","formatters","locale","variables",r)(t,l,Ce,o,c,n):p=new Function(e,"console","libs","formatters","locale",r)(t,l,Ce,o,c),typeof p=="object"&&Object.keys(p).length>0&&Object.assign(s,p),{vars:s,error:null,log:i,output:p}}return {vars:s,error:"Invalid API Link",log:i}}catch(l){return {vars:s,error:l.message,log:i}}}function Co(e,...t){return t.includes(e)}function nt(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 ge=ko;function ko(e,t,r,o=false){let{variables:n}=W(r);if(!e)return e;let a=/([A-z0-9]*)\{\{([^\}]+)\}\}/g;return e.replace(a,(i,c,l)=>{let p=m=>m;if(c){let m=c.replace(/^\w/g,d=>d.toLowerCase());m in t?p=t[m]:p=d=>`${c}${d}`;}let u=Array.isArray(n[l])?nt(n[l]):n[l];if(u===void 0)return o?i:"N/A";try{return p(u,Ce,t)}catch(m){return console.error(`Error using formatter ${p.name}
2
- `,`Error message: ${m.message}`),"N/A"}})}var st=(e,t,r)=>{let{variables:o}=r,n=s=>s.allowed==="never"?false:!s.allowed||s.allowed==="always"||o[s.allowed],a={...e};return Object.keys(a).forEach(s=>{typeof a[s]=="string"?a[s]=ge(a[s],t,r):Array.isArray(a[s])?a[s]=a[s].filter(n).map(i=>typeof i=="object"?st(i,t,r):typeof i=="string"?ge(i,t,r):i):typeof a[s]=="object"&&a[s]!==null&&!(a[s]instanceof Date)&&(a[s]=st(a[s],t,r));}),a},Ke=st;var Mt=e=>Array.isArray(e)?e.map(t=>typeof t=="string"?{allowed:"always",label:t,id:t}:{allowed:"always",label:t.id,...t}):[];var Lo=(e,t,r)=>{if(!r)return false;if(e===ye.SINGLE)return r.find(n=>n.id===t);let o=Array.isArray(t)?t:t.split(",");return Array.isArray(o)&&o.every(n=>r.map(a=>a.id).includes(n))},at=Lo;function it(e,t,r,o,n=false){let{variables:a}=W(o),s=Ke({logic:t},r,o).logic,i=Re("variables",a,s,r,void 0,o),{vars:c,log:l,error:p}=i,u=c.type||ye.SINGLE,m=c.component||"Selector",d=c.hideLabel||"false",b=c.resetSectionVars||"false",P=c.name||"Unlabeled Selector",f=Mt(c.options||[]),M=v=>u===ye.MULTI&&!Array.isArray(v)?[v]:v,h=c.defaultValue,C;if(h&&(h=M(h),at(u,h,f)&&(C=h)),!C){let v=f&&f[0]&&f[0].id||f[0]||"";C=M(v);}if(n&&typeof window<"u"){let v=`selector${e}id`,Q=new URLSearchParams(window.location.search),L=Object.fromEntries(Q)[v];L&&!at(u,L,f)&&L!==void 0&&(Q.delete(v),window.history.replaceState(null,null,`?${Q.toString()}`));}return {config:{name:P,type:u,options:f,defaultValue:C,component:m,hideLabel:d,resetSectionVars:b},log:l,error:p}}function ct(e,t,r){if(!e)return false;let o=Array.isArray(r)?r:r.split(",");return Array.isArray(o)&&o.every(n=>e.map(a=>`${a[`${t} ID`]}`).includes(n))}function lt(e,t,r,o,n=false){let{variables:a}=W(o),s=Ke({logic:t},r,o).logic,i=Re("variables",a,s,r,void 0,o),{vars:c,log:l,error:p}=i;if(n&&typeof window<"u"){let m=`multihierarchySelector${e}-value`,d=`multihierarchySelector${e}-type`,b=new URLSearchParams(window.location.search),P=Object.fromEntries(b),f=P[m],M=P[d];f&&f!==void 0&&M&&M!==void 0&&!ct(c.data,M,f)&&(b.delete(m),b.delete(d),window.history.replaceState(null,null,`?${b.toString()}`));}return {config:c,log:l,error:p}}var _o=(e,t,r)=>{let o=`selector${e}id`,n=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(o),a=new URLSearchParams(t).get(o),s=n||a;if(r.type===ye.MULTI){let l=s?s.split(","):r.defaultValue,p=r.options.filter(u=>l.includes(u.id));return {[`selector${e}id`]:l,[`selector${e}label`]:(p||[]).map(u=>u.label)}}let i=s&&r.options.find(l=>l.id===s)?s:r.defaultValue,c=r.options.find(l=>l.id===i);return {[`selector${e}id`]:i,[`selector${e}label`]:c&&c.label||void 0}},Nt=_o;var Po=(e,t,r)=>{let o=`multihierarchySelector${e}-value`,n=`multihierarchySelector${e}-type`,a=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(o),s=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(n),i=new URLSearchParams(t).get(o),c=new URLSearchParams(t).get(n),l=a||i,p=s||c,u=l?l.split(","):r.defaultValue||[],m=p||r.defaultValueType||"",d=r.data?.filter(b=>u.includes(`${b[`${m} ID`]}`))||[];return {[`multihierarchySelector${e}id`]:u,[`multihierarchySelector${e}label`]:[...new Set((d||[]).map(b=>b[m]))],[`multihierarchySelector${e}type`]:m}},wt=Po;var{localeDefault:Ut,locales:Bo}=J(),Io=Object.values(rt),vo=(e,t=Ut)=>e&&Io.includes(e.type)?{locale:ot,locales:[ot]}:{locale:t,locales:Bo},Dt=(e,t=Ut)=>{if(!e)return {};let{locale:r}=vo(e,t);return e.contentByLocale?.[r]?.content};function Oo(e,t){let r=Object.values(t),o=r.filter(n=>n.shared&&n.section_id!==e).map(n=>n.id);return Object.fromEntries(r.filter(n=>n.section_id===e&&(n.inputs.length===0||n.inputs.some(a=>o.includes(a)))).map(n=>[n.id,n]))}var Ft=Oo;var qt=(e,t)=>t&&typeof t=="string"?t.split(".").reduce((r,o)=>r[o],e):e;var $t="SECTION_ALLOWED";function ut(e){return e.type===T.SECTION_FLAG&&e.inputs.length===0&&e.consumers.length===0}function No(){let{publicRuntimeConfig:e}=Mo(),t=e.bespoke_report_env_vars||{};return {...Object.keys(t).reduce((r,o)=>(r[`ENV_${o}`]=t[o]||"N/A",r),{})}}var Ie=No;function wo(){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 Vt=wo;var ne=bo(process.env.NEXT_PUBLIC_REPORTS_DEBUG),Vo=process.env.REPORTS_ORIGIN||"",zo=process.env.NEXT_PUBLIC_REPORTS_AXIOS_RETRIES,Kt=5;try{Kt=parseInt(`${zo||5}`,10);}catch(e){console.error("Error setting axios retries NEXT_PUBLIC_REPORTS_AXIOS_RETRIES defaults to 5",e);}zt(We,{retries:Kt,retryDelay:zt.exponentialDelay,onRetry:(e,t,r)=>{console.error("Generator request failed. Retrying... Count: ",e),console.error("URL: ",r.url),console.error(t.message);}});We.interceptors.request.use(e=>({...e,requestStart:Date.now()}));We.interceptors.response.use(e=>({...e,requestDuration:new Date().getTime()-e.config.requestStart}),e=>Promise.reject(e));var Go=(e,t,r)=>{let o=ge(e,t,r);return o.startsWith("http")||(o=`${Vo}${o.startsWith("/")?"":"/"}${o}`),o},{urlProxy:Ho}=Le("/api/cms");function Ye(e){return e.ok!==void 0}function je(e){this.message=e,this.name="ApiFetchException";}var Gt=process.env.NEXT_PUBLIC_REPORTS_API_FETCH_TIMEOUT||0;async function Ko(e,t,r="en",o,n){let a=Date.now(),s=e,i,c=Ie(),l=Vt(),p={envs:{...c,...l}},u=new URL(e),m=new URLSearchParams(u.searchParams.toString());m.has("bespoke_slugs")&&(u.searchParams.delete("bespoke_slugs"),s=u.toString());let d={datasource:void 0};o.find(h=>{if(!h.content?.pattern)return false;try{let C=new RegExp(h.content.pattern,"gm");return C.test(s)?(d.datasource=h,!0):C.test(s)}catch{return false}});let b=n?n.settings:{},P=!!(b&&b.useProxy&&b.useProxy==="true"),f=d.datasource&&typeof d.datasource.content.useProxy=="boolean"?d.datasource.content.useProxy:false,M=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/api/cms/url/proxy?url=${encodeURIComponent(s)}`;if(typeof window=="object"&&(P||f)){let h=await Ho({url:s,timeout:Gt});if(h.ok===true)i=h.data;else throw new je(h?.error)}else try{let C={url:s,timeout:Gt};if(d.datasource){let v=p;if(typeof window<"u")try{let L=await getSession();if(L){let x={user:L.user,status:"authenticated",isLoading:!1,update:async()=>L};v={...p,session:x};}}catch(L){console.warn("Could not retrieve user session:",L);}let k=await ht({vars:["url","libs","session"],logic:d.datasource.content.logic},v)(s);if(k.axiosConfig)C=k.axiosConfig;else throw new je(`AxiosConfig is missing in Data Source ${d.datasource.name} (ID: ${d.datasource.id}).`)}let z=await We(C);if(z.status===200)z.headers["content-type"]==="text/csv"?i=csvParse(z.data):i=z.data;else throw new je("No response for: "+s)}catch(h){throw new je(h.message)}if(m.has("bespoke_slugs")){let h=m.get("bespoke_slugs");if(h){let C=h.split(",");if(C.length===3){let[z,v,Q]=C,k=qt(i,Q);if(k&&Array.isArray(k)){let L=Array.from(new Set(k.map(x=>`${x[v]}`).filter(x=>!["","undefined"].includes(x))));if(L.length>0){let x=L.join("").length>2e3,B=await t({mode:x?"whole":"ids",ids:x?void 0:L,all:false,locale:r,variant:[parseInt(z,10)],output:"lite",limit:L.length+1,allowNulls:true}).then(N=>{let q=[];return Ye(N)?N.ok&&(q=N.data.results):q=N.results,q&&Array.isArray(q)?q:[]}).catch(N=>(console.error(`Error hydrating slugs for Variant: ${z}, Key: ${v}, Accessor: ${Q}`),console.error(` Url ${e}`),n&&console.error(` From Section ${n.section_id} and Block ${n.id}`),console.error(N),[]));if(B){let N=Object.fromEntries(B.map(q=>[q.id,`/${q.variant_slug}/${q.slug}`]));k.map(q=>(q.bespoke_slug=N[q[v]]?N[q[v]]:null,q));}}}}}}return {data:i,requestDuration:Date.now()-a,finalUrl:f||P?M:s,apiDataSource:d.datasource?d.datasource:false}}function jo(e){this.name="BlockException",this.message=e;}async function Ht(e,t,r,o,n){let{locale:a,variables:s,query:i}=W(r),c=Wo(e,r,s,t),l=null,p=e.contentByLocale?.logic?.content?.api,u=null,m=null,d=null,b=null,P=null;if(!c)return {outputVariables:{},renderVariables:{},status:{allowed:false,hiddenByCascade:e.id}};if(e.type===T.FALLBACK)return {outputVariables:{},renderVariables:{},status:{allowed:c,hiddenByCascade:e.id}};if(p){d=Go(p,t,r);let k=d.split("|||").filter(B=>B!==""),L=[];for(let B=0;B<k.length;B++){let N=k[B];new RegExp("^(?:[a-z+]+:)?//","i").test(d)||(N=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/${N}`.replace(/([^:]\/)\/+/g,"$1")),L.push(Ko(N,o,a,n,e).catch(H=>{throw new jo(` Excecution of ${e.type}-${e.id} in section ${e.section_id} in report ${s.report_name} (${s.report_id}) failed.
1
+ import {createSlice,configureStore}from'@reduxjs/toolkit';import {HYDRATE,createWrapper}from'next-redux-wrapper';import We from'axios';import {schema,normalize}from'normalizr';import {date,assign,isObject}from'@d3plus/dom';import*as Dr from'd3-array';import*as Ur from'd3-collection';import*as Fr from'd3-format';import {formatLocale}from'd3-format';import*as qr from'd3-time-format';import {closest}from'@d3plus/math';import {merge}from'@d3plus/data';import {titleCase,strip}from'@d3plus/text';import jr from'jsonwebtoken';import zt from'axios-retry';import bo from'yn';import {format}from'pretty-format';import Uo from'toposort';import {csvParse}from'd3-dsv';import Mo from'next/config';import {getSession}from'next-auth/react';import {notifications}from'@mantine/notifications';import {produce}from'immer';import {createContext}from'react';import {useDispatch,useSelector,Provider}from'react-redux';import {jsx}from'react/jsx-runtime';import'@mantine/core';var hr=Object.defineProperty;var xr=(e,t)=>{for(var r in t)hr(e,r,{get:t[r],enumerable:true});};function Z(e,t){return e.request(t).then(r=>{let{status:o,data:n}=r;return "error"in n?{ok:false,status:o,error:n.error}:{ok:true,status:o,wrapper:n.wrapper,data:n.data}},r=>{if("isAxiosError"in r){let{status:o,data:n}=r.response||{status:500};return {ok:false,status:o,error:n?.error??r.message}}return {ok:false,status:500,error:r.message}})}function F(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>Z(e,{...o,method:"GET",params:r?r(n):n})}function $(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>Z(e,{...o,method:"POST",data:n})}function oe(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>Z(e,{...o,method:"DELETE",params:r?r(n):n})}function le(e,t){return r=>Z(e,{method:"POST",url:`images/save/${t}`,params:{prompt:r.prompt,provider:t}})}function xe(e,t){return r=>Z(e,{method:"GET",url:`images/search/${t}`,params:{prompt:r.prompt,page:r.page,provider:t}})}function gt(e,t){return ()=>Z(e,{method:"GET",url:`list/icons/${t}`,params:{provider:t}})}function Et(e,t){return r=>Z(e,{method:"GET",url:`read/icons/${t}/icon.svg`,params:{name:r.name}})}var ue=e=>({id:e}),kr=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 Le(e){let t=We.create({baseURL:e});return {createBulkBlock:$(t,"create/bulk/block"),createBlock:$(t,"create/block"),createDimension:$(t,"create/dimension"),createFormatter:$(t,"create/formatter"),createReport:$(t,"create/report"),createSection:$(t,"create/section"),createVariant:$(t,"create/variant"),createDatasource:$(t,"create/datasource"),deleteBlock:oe(t,"delete/block",ue),deleteDimension:oe(t,"delete/dimension",ue),deleteFormatter:oe(t,"delete/formatter",ue),deleteReport:oe(t,"delete/report",ue),deleteSection:oe(t,"delete/section",ue),deleteVariant:oe(t,"delete/variant",ue),deleteDatasource:oe(t,"delete/datasource",ue),readBlock:F(t,"read/block"),readDimension:F(t,"read/dimension"),readFormatter:F(t,"read/formatter"),readReport:F(t,"read/report"),readSection:F(t,"read/section"),readVariant:F(t,"read/variant"),readDatasource:F(t,"read/datasource"),updateBulkBlock:$(t,"update/bulk/block"),updateBlock:$(t,"update/block"),updateDimension:$(t,"update/dimension"),updateFormatter:$(t,"update/formatter"),updateReport:$(t,"update/report"),updateSection:$(t,"update/section"),updateVariant:$(t,"update/variant"),updateDatasource:$(t,"update/datasource"),searchReport:F(t,"search/reports"),validateVariantSlug:F(t,"validate/variant"),readMember:F(t,"read/members",kr),readMemberImage:F(t,{url:"member/image",responseType:"blob"}),searchMember:F(t,"search/members"),updateMember:F(t,"update/members"),imageLocalSearch:xe(t,"local"),imageLocalSave:le(t,"local"),imageFlickrSearch:xe(t,"flickr"),imageFlickrSave:le(t,"flickr"),imageUnsplashSearch:xe(t,"unsplash"),imageUnsplashSave:le(t,"unsplash"),imageUploadSave:le(t,"upload"),imageAdobeSearch:xe(t,"adobe"),imageAdobeSave:le(t,"adobe"),imagePixabaySearch:xe(t,"pixabay"),imagePixabaySave:le(t,"pixabay"),readMetadata:F(t,"read/metadata"),regenerateSearch:$(t,"search/regenerate"),urlProxy:F(t,"url/proxy"),searchRole:F(t,"auth/search/roles"),searchUser:F(t,"auth/search/users"),readUser:F(t,"auth/read/user"),updateUser:$(t,"auth/update/user"),updateMyData:$(t,"auth/update/me"),revalidateReport:F(t,"revalidate/report"),revalidateUrl:F(t,"revalidate/url"),readPrivateBlocks:$(t,"read/blocks/private"),listTablerIcons:gt(t,"tabler"),readTablerIcon:Et(t,"tabler"),readEnvSecrets:F(t,"read/secrets")}}function Lr(e,t){return +(e<t)-+(e>t)}function we(e,t,r="ordering"){return Lr(t[r],e[r])}var De={"ar-SA":{separator:"",suffixes:["y","z","a","f","p","n","\xB5","m",""," \u0623\u0644\u0641"," \u0645\u0644\u064A\u0648\u0646"," \u0628\u0644\u064A\u0648\u0646"," \u062A\u0631\u064A\u0644\u064A\u0648\u0646"," \u0643\u0648\u0627\u062F\u0631\u064A\u0644\u064A\u0648\u0646"," \u0643\u0648\u064A\u0646\u062A\u064A\u0644\u064A\u0648\u0646"," \u0633\u0643\u0633\u062A\u0644\u064A\u0648\u0646","\u0633\u0628\u062A\u064A\u0644\u064A\u0648\u0646"],grouping:[3],delimiters:{thousands:",",decimal:"."},currency:["SAR ",""]},"en-GB":{separator:"",suffixes:["y","z","a","f","p","n","\xB5","m","","k","M","B","T","q","Q","Z","Y"],grouping:[3],delimiters:{thousands:",",decimal:"."},currency:["\xA3",""]},"en-US":{separator:"",suffixes:["y","z","a","f","p","n","\xB5","m","","k","M","B","T","q","Q","Z","Y"],grouping:[3],delimiters:{thousands:",",decimal:"."},currency:["$",""]},"en-SA":{separator:"",suffixes:["y","z","a","f","p","n","\xB5","m",""," thousand"," million"," billion"," trillion"," quadrillion"," quintillion"," sextillion","septillion"],grouping:[3],delimiters:{thousands:",",decimal:"."},currency:["$",""]},"es-CL":{separator:"",suffixes:["y","z","a","f","p","n","\xB5","m","","k","M","MM","B","T","Q","Z","Y"],grouping:[3],delimiters:{thousands:".",decimal:","},currency:["$",""]},"es-MX":{separator:"",suffixes:["y","z","a","f","p","n","\xB5","m","","k","M","MM","B","T","Q","Z","Y"],grouping:[3],delimiters:{thousands:",",decimal:"."},currency:["$",""]},"es-ES":{separator:"",suffixes:["y","z","a","f","p","n","\xB5","m","","k","mm","b","t","q","Q","Z","Y"],grouping:[3],delimiters:{thousands:".",decimal:","},currency:["\u20AC",""]},"et-EE":{separator:" ",suffixes:["y","z","a","f","p","n","\xB5","m","","tuhat","miljonit","miljardit","triljonit","q","Q","Z","Y"],grouping:[3],delimiters:{thousands:" ",decimal:","},currency:["","eurot"]},"fr-FR":{suffixes:["y","z","a","f","p","n","\xB5","m","","k","m","b","t","q","Q","Z","Y"],grouping:[3],delimiters:{thousands:" ",decimal:","},currency:["\u20AC",""]},"zh-CN":{separator:"",suffixes:["\u5E7A","\u4EC4","\u963F","\u98DE","\u76AE","\u7EB3","\u5FAE","\u6BEB","","\u5343","\u5146","\u5409","\u592A","\u62CD","\u827E","\u6CFD","\u5C27"],grouping:[3],delimiters:{thousands:",",decimal:"."},currency:["\xA5",""]}};function Pr(e){"@swc/helpers - typeof";return e&&typeof Symbol<"u"&&e.constructor===Symbol?"symbol":typeof e}var Br=function(e,t){return parseFloat(Math.round(e*Math.pow(10,t))/Math.pow(10,t)).toFixed(t)};function vr(e,t,r){var o=0,n=parseFloat(e.replace("\u2212","-"),10);n&&(n<0&&(n*=-1),o=1+Math.floor(1e-12+Math.log(n)/Math.LN10),o=Math.max(-24,Math.min(24,Math.floor((o-1)/3)*3)));var a=r[8+o/3];return {number:Br(a.scale(n),t),symbol:a.symbol}}function Ir(e,t){var r=Math.pow(10,Math.abs(8-t)*3);return {scale:t>8?function(o){return o/r}:function(o){return o*r},symbol:e}}function Je(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"en-US",r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:void 0;if(isFinite(e))e*=1;else return "N/A";var o=e<0,n=e.toString().split(".")[0].replace("-","").length,a=(typeof t>"u"?"undefined":Pr(t))==="object"?t:De[t]||De["en-US"],s=a.suffixes.map(Ir),i=a.delimiters.decimal||".",c=a.separator||"",l=a.delimiters.thousands||",",p=formatLocale({currency:a.currency||["$",""],decimal:i,grouping:a.grouping||[3],thousands:l}),u;if(r)u=p.format(r)(e);else if(e===0)u="0";else if(n>=3){var m=vr(p.format(".3r")(e),2,s),d=parseFloat(m.number).toString().replace(".",i),b=m.symbol;u="".concat(d).concat(c).concat(b);}else n===3?u=p.format(",f")(e):e<1&&e>-1?u=p.format(".2g")(e):u=p.format(".3g")(e);return "".concat(o&&u.charAt(0)!=="\u2212"?"\u2212":"").concat(u).replace(/−/g,"-").replace(/(\.[0]*[1-9]*)[0]*$/g,"$1").replace(/\.[0]*$/g,"")}function et(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 St(e,t,r){let o=0,n=1,a=1,s=1,i=0,c=0,l;for(;Math.abs((a-c)/a)>1e-5;)c=a,l=-(t+i)*(t+r+i)*e/(t+2*i)/(t+2*i+1),o=a+l*o,n=s+l*n,i+=1,l=i*(r-i)*e/(t+2*i-1)/(t+2*i),a=o+l*a,s=n+l*s,o/=s,n/=s,a/=s,s=1;return a/t}function Or(e,t,r){let o,n;if(e<0)n=0;else if(e>=t)n=1;else {e=Math.floor(e);let a=r,s=e+1,i=t-e,c=s+i,l=Math.exp(et(c)-et(i)-et(s)+s*Math.log(a)+i*Math.log(1-a));a<(s+1)/(c+2)?o=l*St(a,s,i):o=1-l*St(1-a,i,s),n=1-o;}return Math.round(n*1e5)/1e5}function Mr(e){return {.99999:15.137,.99:6.635,.95:3.841,.9:2.706}[e]}function Pe(e,t,r,o){let n=t/(1-t),a=0,s=1,i=0,c=0;for(;a<=e;)c+=s,a>=r&a<=o&&(i+=s),c>1e30&&(i/=1e30,c/=1e30,s/=1e30),a+=1,s=s*n*(e+1-a)/a;return i/c}function Nr(e,t,r){let o=e/t,a=(100-r*100)/2,s,i;if(e===0)s=0;else {let c=o/2,l=0,p=o,u=a/100;for(;p-l>1e-5;)Pe(t,c,e,e)*.5+Pe(t,c,e+1,t)>u?(p=c,c=(l+c)/2):(l=c,c=(p+c)/2);s=c;}if(e===t)i=0;else {let c=(1+o)/2,l=o,p=1,u=a/100;for(;p-l>1e-5;)Pe(t,c,e,e)*.5+Pe(t,c,0,e-1)<u?(p=c,c=(l+c)/2):(l=c,c=(p+c)/2);i=c;}return {lci:s,uci:i}}function wr(e,t){let r=e,o=t,n=r,a=o,s=95,i=.5,c=.5,p=(100-s)/2/100,u=n;for(;c>1e-5;)c/=2,Ue((1+u)*i/(1-i),u+1,1e10)+.5*Ue((1+u)*i/(1-i),u,u)>p?i-=c:i+=c;let m=(1+u)*i/(1-i)/a;for(i=.5,c=.5,p=(100-s)/2/100;c>1e-5;)c/=2,Ue((1+u)*i/(1-i),0,u-1)+.5*Ue((1+u)*i/(1-i),u,u)<p?i-=c:i+=c;let b=(1+u)*i/(1-i)/a;return {lci:m,uci:b}}function Ue(e,t,r){let o=1,n=0,a=0,s=0;for(;s<e||o>n*1e-10;)n+=o,s>=t&s<=r&&(a+=o),n>1e30&&(a/=1e30,n/=1e30,o/=1e30),s+=1,o=o*e/s;return a/n}var Tt={binomialCdf:Or,binP:Pe,computeMidP:Nr,criticalValue:Mr,smr:wr};var Ce={d3:{...Dr,...Ur,...Fr,...qr},d3plus:{assign:assign,closest:closest,date:date,formatAbbreviate:Je,merge:merge,strip:strip,titleCase:titleCase},stats:Tt};var bt={jwt:jr};var ht=(e,t={})=>{let r={libs:bt,...t};function o(a){return Function("globals",...a.vars,`with (globals) { ${a.logic} }`).bind(r,r)}function n(a){if(a.vars&&a.logic)return o(a);for(let s in a)Array.isArray(a[s])?a[s]=a[s].map(i=>isObject(i)?n(i):i):isObject(a[s])&&(a[s]=n(a[s]));return a}return n(e)};var Yr=()=>{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}},J=Yr;J();var _e=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});_e.define({consumers:[_e],inputs:[_e]});var xt=new schema.Entity("variant"),Ct=new schema.Entity("dimension",{variants:[xt]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),kt=new schema.Entity("section",{blocks:[_e]}),Qr=new schema.Entity("report",{dimensions:[Ct],sections:[kt]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(we):[]}}}),Zr=new schema.Entity("formatter"),Xr=new schema.Entity("datasource"),Jr={report:Qr,section:kt,block:_e,dimension:Ct,variant:xt,formatter:Zr,datasource:Xr};function Fe(e,t){let r=Jr[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:pe(o,"report"),dimension:pe(o,"dimension"),section:pe(o,"section"),block:pe(o,"block"),variant:pe(o,"variant"),formatter:pe(o,"formatter"),datasource:pe(o,"datasource")}}function pe(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:{}}var Lt=(e,t=void 0)=>{let{sid:r,bid:o,previews:n=[],query:a={}}=t||{},s,i,c={};return r?(s=r,c.activeSection=s):s=e.activeSection,n.length>0?(i=n,c.previews=i.filter(Boolean)):i=e.previews,{parsedParams:{sid:s,bid:o,previews:i,query:a},statusPayload:c}};var ro={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{},datasource:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{},datasource:{}}},re=createSlice({name:"records",initialState:ro,reducers:{set:(e,t)=>{let r=t.payload;return {entities:Be(e.entities,r.entities||{}),requests:Be(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=Fe(r.type,o),a=Be(e.entities,n);if(e.entities=a,r.type==="report"){let s=r.data;e.reports?e.reports.indexOf(s.id)===-1&&(e.reports=[...e.reports,s.id]):e.reports=[s.id];}else if(r.type==="dimension"){let s=r.data;e.entities.report[s.report_id].dimensions.push(s.id),e.entities.report[s.report_id].dimensions=qe(a.report[s.report_id].dimensions,a.dimension);}else if(r.type==="variant"){let s=r.data;e.entities.dimension[s.dimension_id].variants.push(s.id);}else if(r.type==="section"&&!Array.isArray(r.data)){let s=r.data;e.entities.report[s.report_id].sections.push(s.id),e.entities.report[s.report_id].sections=qe(a.report[s.report_id].sections,a.section);}else if(r.type==="block")if(Array.isArray(r.data)){let s=r.data,i=s[0],c=s.map(l=>l.id);e.entities.section[i.section_id].blocks.concat(c);}else {let s=r.data;e.entities.section[s.section_id].blocks.push(s.id);}}},setReadRequest(e,t){let r=t.payload;if(r.type!=="report"&&(e.requests[r.type][r.key]=r),r.status==="SUCCESS"){let o=Fe(r.type,r.data),n=Be(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=Fe(r.type,o),a,s,i;if(r.type==="block"&&!Array.isArray(r.data)){let l=e.entities.block[r.data.id].inputs,p=n.block[r.data.id].inputs;a=l.length!==p.length,a&&(i=l.length>p.length,s=i?l.filter(u=>!p.includes(u))[0]:p.filter(u=>!l.includes(u))[0]),Object.values(n.block).forEach(u=>{u.block_input&&delete n.block[u.id];});}let c=Be(e.entities,n);if(e.entities=c,r.type==="dimension"){let l=r.data;e.entities.report[l.report_id].dimensions=qe(c.report[l.report_id].dimensions,c.dimension);}else if(r.type==="section"&&!Array.isArray(r.data)){let l=r.data;e.entities.report[l.report_id].sections=qe(c.report[l.report_id].sections,c.section);}else if(r.type==="block"&&!Array.isArray(r.data)){let l=r.data;a&&(i?e.entities.block[s].consumers=e.entities.block[s].consumers.filter(p=>p!==l.id):e.entities.block[s].consumers.push(l.id));}}},setDeleteRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let{id:o,parentId:n,parentType:a}=r.data;if(delete e.entities[r.type][o],a&&n!=null){let s=`${r.type}s`;oo(e.entities[a][n][s],o);}}},removeBlocks:(e,t)=>{let r=t.payload,o={...e.entities.block};return r.forEach(n=>{delete o[n];}),{...e,entities:{...e.entities,block:o}}},addBlocks:(e,t)=>{let r=t.payload;return {...e,entities:{...e.entities,block:{...e.entities.block,...r}}}},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:e=>{e.addCase(HYDRATE,(t,r)=>{let o=r.payload.records,n=o.entities;t.entities=n,t.reports=Object.values(n.report).map(a=>a.id),t.requests={block:{},dimension:{},report:{},section:{},variant:{},formatter:{},datasource:{}},t.tree=o.tree;});}});function Be(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],...t[r]}]))}function qe(e,t){return e.map(n=>t[n]).sort((n,a)=>typeof n.ordering=="string"&&typeof a.ordering=="string"?we(n,a):typeof n.ordering=="number"&&typeof a.ordering=="number"?n.ordering-a.ordering:String(n.ordering).localeCompare(String(a.ordering))).map(n=>n.id)}function oo(e,t){let r=e.indexOf(t);r>-1&&e.splice(r,1);}var me=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",$e=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[me];$e.includes(me)||$e.push(me);var ao={localeDefault:me,locales:$e,currentLocale:me,preferredLocale:me,showToolbar:false,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:true,settings:false,reportEditor:false},isCMS:false,isRunConsumersRunning:[]},Ve=createSlice({name:"status",initialState:ao,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]:true};},closeSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:false};},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:e=>{e.addCase(HYDRATE,(t,r)=>{t.previews=r.payload.status.previews;});}}),ke=Ve.actions;var lo={attributes:{},variables:{},status:{}},ze=createSlice({name:"variables",initialState:lo,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:e=>{e.addCase(HYDRATE,(t,r)=>{let o=r.payload.variables;t.attributes={...t.attributes,...o.attributes},t.status={...t.status,...o.status},t.variables={...t.variables,...o.variables};});}}),Pt=ze.actions;var _t=()=>configureStore({reducer:{[re.name]:re.reducer,[Ve.name]:Ve.reducer,[ze.name]:ze.reducer},middleware(e){return e({thunk:{extraArgument:Le("/api/cms/")}})}}),Ge=createWrapper(_t);var Qe={};xr(Qe,{addBlockToState:()=>Tn,addRunConsumersRunning:()=>lr,cloneEntity:()=>rr,createEntity:()=>Jt,deleteEntity:()=>tr,deleteQueryParam:()=>un,readEntity:()=>Ie,readEnvSecrets:()=>xn,readMember:()=>pr,readMetadata:()=>dn,readPrivateBlocks:()=>bn,readUser:()=>Rn,recalculateVariables:()=>mr,removeBlocksFromState:()=>Sn,removeDataSourceLogic:()=>Cn,removeRunConsumersRunning:()=>ur,reportSearch:()=>an,resetSectionState:()=>cr,revalidateReport:()=>hn,revalidateUrl:()=>An,searchMember:()=>ln,searchRegenerate:()=>cn,searchRole:()=>fn,searchUser:()=>yn,setCurrentLocale:()=>on,setPreferredLocale:()=>nn,setPreviews:()=>rn,setQueryParam:()=>pn,setSectionState:()=>ir,setStatus:()=>ar,updateEntity:()=>er,updateMyData:()=>En,updateUser:()=>gn,urlProxy:()=>mn,variantValidateSlug:()=>sn});var{localeDefault:yo}=J();function W(e){return {variables:e.variables||{},query:e.query||{},locale:e.locale||yo}}var ye={SINGLE:"single",MULTI:"multi"};var tt={ALLOWED:"allowed",ALLOWED_LOGIC:"allowedLogic",IGNORE_CASCADE:"ignoreCascade"},Ro={ACCESS:"access",ACCESS_LOGIC:"accessLogic"},go={DISABLED:"disabled"},Eo={FALLBACK:"fallback"};var So={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"},rt={GENERATOR:"generator",RELATED:"related",VIZ:"visualization",SECTION_FLAG:"section_flag"},ot="logic",T={...So,...rt},Ot={...tt,...Ro,...Eo,...go};var ho=bo(process.env.REPORTS_LOGGING),Re=xo;function xo(e,t,r,o,n=void 0,a){let s={},i=[],{locale:c}=W(a);try{if(t){let l=new Proxy(console,{get(u,m){return Co(m,"log","debug","info","warn","error")?(...d)=>{i.push(`${m} ${Date.now()} - ${d.map(b=>format(b)).join(" ")}`),ho&&u[m](...d);}:u[m]}}),p;return n?p=new Function(e,"console","libs","formatters","locale","variables",r)(t,l,Ce,o,c,n):p=new Function(e,"console","libs","formatters","locale",r)(t,l,Ce,o,c),typeof p=="object"&&Object.keys(p).length>0&&Object.assign(s,p),{vars:s,error:null,log:i,output:p}}return {vars:s,error:"Invalid API Link",log:i}}catch(l){return {vars:s,error:l.message,log:i}}}function Co(e,...t){return t.includes(e)}function nt(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 ge=ko;function ko(e,t,r,o=false){let{variables:n}=W(r);if(!e)return e;let a=/([A-z0-9]*)\{\{([^\}]+)\}\}/g;return e.replace(a,(i,c,l)=>{let p=m=>m;if(c){let m=c.replace(/^\w/g,d=>d.toLowerCase());m in t?p=t[m]:p=d=>`${c}${d}`;}let u=Array.isArray(n[l])?nt(n[l]):n[l];if(u===void 0)return o?i:"N/A";try{return p(u,Ce,t)}catch(m){return console.error(`Error using formatter ${p.name}
2
+ `,`Error message: ${m.message}`),"N/A"}})}var st=(e,t,r)=>{let{variables:o}=r,n=s=>s.allowed==="never"?false:!s.allowed||s.allowed==="always"||o[s.allowed],a={...e};return Object.keys(a).forEach(s=>{typeof a[s]=="string"?a[s]=ge(a[s],t,r):Array.isArray(a[s])?a[s]=a[s].filter(n).map(i=>typeof i=="object"?st(i,t,r):typeof i=="string"?ge(i,t,r):i):typeof a[s]=="object"&&a[s]!==null&&!(a[s]instanceof Date)&&(a[s]=st(a[s],t,r));}),a},Ke=st;var Mt=e=>Array.isArray(e)?e.map(t=>typeof t=="string"?{allowed:"always",label:t,id:t}:{allowed:"always",label:t.id,...t}):[];var Lo=(e,t,r)=>{if(!r)return false;if(e===ye.SINGLE)return r.find(n=>n.id===t);let o=Array.isArray(t)?t:t.split(",");return Array.isArray(o)&&o.every(n=>r.map(a=>a.id).includes(n))},at=Lo;function it(e,t,r,o,n=false){let{variables:a}=W(o),s=Ke({logic:t},r,o).logic,i=Re("variables",a,s,r,void 0,o),{vars:c,log:l,error:p}=i,u=c.type||ye.SINGLE,m=c.component||"Selector",d=c.hideLabel||"false",b=c.resetSectionVars||"false",_=c.name||"Unlabeled Selector",f=Mt(c.options||[]),M=I=>u===ye.MULTI&&!Array.isArray(I)?[I]:I,h=c.defaultValue,C;if(h&&(h=M(h),at(u,h,f)&&(C=h)),!C){let I=f&&f[0]&&f[0].id||f[0]||"";C=M(I);}if(n&&typeof window<"u"){let I=`selector${e}id`,Q=new URLSearchParams(window.location.search),L=Object.fromEntries(Q)[I];L&&!at(u,L,f)&&L!==void 0&&(Q.delete(I),window.history.replaceState(null,null,`?${Q.toString()}`));}return {config:{name:_,type:u,options:f,defaultValue:C,component:m,hideLabel:d,resetSectionVars:b},log:l,error:p}}function ct(e,t,r){if(!e)return false;let o=Array.isArray(r)?r:r.split(",");return Array.isArray(o)&&o.every(n=>e.map(a=>`${a[`${t} ID`]}`).includes(n))}function lt(e,t,r,o,n=false){let{variables:a}=W(o),s=Ke({logic:t},r,o).logic,i=Re("variables",a,s,r,void 0,o),{vars:c,log:l,error:p}=i;if(n&&typeof window<"u"){let m=`multihierarchySelector${e}-value`,d=`multihierarchySelector${e}-type`,b=new URLSearchParams(window.location.search),_=Object.fromEntries(b),f=_[m],M=_[d];f&&f!==void 0&&M&&M!==void 0&&!ct(c.data,M,f)&&(b.delete(m),b.delete(d),window.history.replaceState(null,null,`?${b.toString()}`));}return {config:c,log:l,error:p}}var Po=(e,t,r)=>{let o=`selector${e}id`,n=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(o),a=new URLSearchParams(t).get(o),s=n||a;if(r.type===ye.MULTI){let l=s?s.split(","):r.defaultValue,p=r.options.filter(u=>l.includes(u.id));return {[`selector${e}id`]:l,[`selector${e}label`]:(p||[]).map(u=>u.label)}}let i=s&&r.options.find(l=>l.id===s)?s:r.defaultValue,c=r.options.find(l=>l.id===i);return {[`selector${e}id`]:i,[`selector${e}label`]:c&&c.label||void 0}},Nt=Po;var _o=(e,t,r)=>{let o=`multihierarchySelector${e}-value`,n=`multihierarchySelector${e}-type`,a=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(o),s=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(n),i=new URLSearchParams(t).get(o),c=new URLSearchParams(t).get(n),l=a||i,p=s||c,u=l?l.split(","):r.defaultValue||[],m=p||r.defaultValueType||"",d=r.data?.filter(b=>u.includes(`${b[`${m} ID`]}`))||[];return {[`multihierarchySelector${e}id`]:u,[`multihierarchySelector${e}label`]:[...new Set((d||[]).map(b=>b[m]))],[`multihierarchySelector${e}type`]:m}},wt=_o;var{localeDefault:Dt,locales:Bo}=J(),vo=Object.values(rt),Io=(e,t=Dt)=>e&&vo.includes(e.type)?{locale:ot,locales:[ot]}:{locale:t,locales:Bo},Ut=(e,t=Dt)=>{if(!e)return {};let{locale:r}=Io(e,t);return e.contentByLocale?.[r]?.content};function Oo(e,t){let r=Object.values(t),o=r.filter(n=>n.shared&&n.section_id!==e).map(n=>n.id);return Object.fromEntries(r.filter(n=>n.section_id===e&&(n.inputs.length===0||n.inputs.some(a=>o.includes(a)))).map(n=>[n.id,n]))}var Ft=Oo;var qt=(e,t)=>t&&typeof t=="string"?t.split(".").reduce((r,o)=>r[o],e):e;var $t="SECTION_ALLOWED";function ut(e){return e.type===T.SECTION_FLAG&&e.inputs.length===0&&e.consumers.length===0}function No(){let{publicRuntimeConfig:e}=Mo(),t=e.bespoke_report_env_vars||{};return {...Object.keys(t).reduce((r,o)=>(r[`ENV_${o}`]=t[o]||"N/A",r),{})}}var ve=No;function wo(){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 Vt=wo;var ne=bo(process.env.NEXT_PUBLIC_REPORTS_DEBUG),Vo=process.env.REPORTS_ORIGIN||"",zo=process.env.NEXT_PUBLIC_REPORTS_AXIOS_RETRIES,Kt=5;try{Kt=parseInt(`${zo||5}`,10);}catch(e){console.error("Error setting axios retries NEXT_PUBLIC_REPORTS_AXIOS_RETRIES defaults to 5",e);}zt(We,{retries:Kt,retryDelay:zt.exponentialDelay,onRetry:(e,t,r)=>{console.error("Generator request failed. Retrying... Count: ",e),console.error("URL: ",r.url),console.error(t.message);}});We.interceptors.request.use(e=>({...e,requestStart:Date.now()}));We.interceptors.response.use(e=>({...e,requestDuration:new Date().getTime()-e.config.requestStart}),e=>Promise.reject(e));var Go=(e,t,r)=>{let o=ge(e,t,r);return o.startsWith("http")||(o=`${Vo}${o.startsWith("/")?"":"/"}${o}`),o},{urlProxy:Ho}=Le("/api/cms");function Ye(e){return e.ok!==void 0}function je(e){this.message=e,this.name="ApiFetchException";}var Gt=process.env.NEXT_PUBLIC_REPORTS_API_FETCH_TIMEOUT||0;async function Ko(e,t,r="en",o,n){let a=Date.now(),s=e,i,c=ve(),l=Vt(),p={envs:{...c,...l}},u=new URL(e),m=new URLSearchParams(u.searchParams.toString());m.has("bespoke_slugs")&&(u.searchParams.delete("bespoke_slugs"),s=u.toString());let d={datasource:void 0};o.find(h=>{if(!h.content?.pattern)return false;try{let C=new RegExp(h.content.pattern,"gm");return C.test(s)?(d.datasource=h,!0):C.test(s)}catch{return false}});let b=n?n.settings:{},_=!!(b&&b.useProxy&&b.useProxy==="true"),f=d.datasource&&typeof d.datasource.content.useProxy=="boolean"?d.datasource.content.useProxy:false,M=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/api/cms/url/proxy?url=${encodeURIComponent(s)}`;if(typeof window=="object"&&(_||f)){let h=await Ho({url:s,timeout:Gt});if(h.ok===true)i=h.data;else throw new je(h?.error)}else try{let C={url:s,timeout:Gt};if(d.datasource){let I=p;if(typeof window<"u")try{let L=await getSession();if(L){let x={user:L.user,status:"authenticated",isLoading:!1,update:async()=>L};I={...p,session:x};}}catch(L){console.warn("Could not retrieve user session:",L);}let k=await ht({vars:["url","libs","session"],logic:d.datasource.content.logic},I)(s);if(k.axiosConfig)C=k.axiosConfig;else throw new je(`AxiosConfig is missing in Data Source ${d.datasource.name} (ID: ${d.datasource.id}).`)}let z=await We(C);if(z.status===200)z.headers["content-type"]==="text/csv"?i=csvParse(z.data):i=z.data;else throw new je("No response for: "+s)}catch(h){throw new je(h.message)}if(m.has("bespoke_slugs")){let h=m.get("bespoke_slugs");if(h){let C=h.split(",");if(C.length===3){let[z,I,Q]=C,k=qt(i,Q);if(k&&Array.isArray(k)){let L=Array.from(new Set(k.map(x=>`${x[I]}`).filter(x=>!["","undefined"].includes(x))));if(L.length>0){let x=L.join("").length>2e3,B=await t({mode:x?"whole":"ids",ids:x?void 0:L,all:false,locale:r,variant:[parseInt(z,10)],output:"lite",limit:L.length+1,allowNulls:true}).then(N=>{let q=[];return Ye(N)?N.ok&&(q=N.data.results):q=N.results,q&&Array.isArray(q)?q:[]}).catch(N=>(console.error(`Error hydrating slugs for Variant: ${z}, Key: ${I}, Accessor: ${Q}`),console.error(` Url ${e}`),n&&console.error(` From Section ${n.section_id} and Block ${n.id}`),console.error(N),[]));if(B){let N=Object.fromEntries(B.map(q=>[q.id,`/${q.variant_slug}/${q.slug}`]));k.map(q=>(q.bespoke_slug=N[q[I]]?N[q[I]]:null,q));}}}}}}return {data:i,requestDuration:Date.now()-a,finalUrl:f||_?M:s,apiDataSource:d.datasource?d.datasource:false}}function jo(e){this.name="BlockException",this.message=e;}async function Ht(e,t,r,o,n){let{locale:a,variables:s,query:i}=W(r),c=Wo(e,r,s,t),l=null,p=e.contentByLocale?.logic?.content?.api,u=null,m=null,d=null,b=null,_=null;if(!c)return {outputVariables:{},renderVariables:{},status:{allowed:false,hiddenByCascade:e.id}};if(e.type===T.FALLBACK)return {outputVariables:{},renderVariables:{},status:{allowed:c,hiddenByCascade:e.id}};if(p){d=Go(p,t,r);let k=d.split("|||").filter(B=>B!==""),L=[];for(let B=0;B<k.length;B++){let N=k[B];new RegExp("^(?:[a-z+]+:)?//","i").test(d)||(N=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/${N}`.replace(/([^:]\/)\/+/g,"$1")),L.push(Ko(N,o,a,n,e).catch(H=>{throw new jo(` Excecution of ${e.type}-${e.id} in section ${e.section_id} in report ${s.report_name} (${s.report_id}) failed.
3
3
  Error fetching ${N}.
4
4
  Message: ${H.message}.
5
- `)}));}let x=await Promise.all(L).catch(B=>B.message);if(typeof x=="string"&&x)return {outputVariables:{},renderVariables:{},status:{error:x}};l=x.length===1?x[0].data:x.map(B=>B.data),m=x.reduce((B,N)=>B+JSON.stringify(N.data).length/1024,0),u=Math.max(...x.map(B=>B.requestDuration)),b=x.map(B=>B.apiDataSource?`${B.apiDataSource.name} (${B.apiDataSource.id})`:null),P=x.map(B=>B.finalUrl);}if(e.type===T.SELECTOR){let{config:k,log:L,error:x}=it(e.id,e.contentByLocale[a].content.logic,t,r,true);return {outputVariables:Nt(e.id,i,k),renderVariables:k,status:{log:L,error:x,allowed:c}}}if(e.type===T.MULTIHIERARCHY_SELECTOR){let{config:k,log:L,error:x}=lt(e.id,e.contentByLocale[a].content.logic,t,r,true);return {outputVariables:wt(e.id,i,k),renderVariables:k,status:{log:L,error:x,allowed:c}}}if(e.type===T.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:c}};if(e.type===T.RELATED){let k=e.contentByLocale?.logic?.content?.simple?.compare||"variant",L=e.contentByLocale?.logic?.content?.simple?.limit||4,x=Object.keys(s).filter(E=>E.startsWith("report_id")).map(E=>s[E]),B=Object.keys(s).filter(E=>E.startsWith("dimension_id")).map(E=>s[E]),N=Object.keys(s).filter(E=>E.startsWith("variant_id")).map(E=>s[E]),q=Object.keys(s).filter(E=>E.startsWith("id")).map(E=>s[E]);if(!q.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:false}};let H=await Promise.all(q.map((E,S)=>o({mode:"ids",locale:a,ids:[E],output:"lite",variant:[N[S]]}))).then(E=>E.flatMap(S=>{let A=[];return Ye(S)?S.ok&&(A=S.data.results):A=S.results,A&&Array.isArray(A)?A:[]})).catch(E=>(console.error("Error getting related members",E),[]));if(B.length>1){let E=Object.keys(s).filter(O=>O.startsWith("variant_slug")).map(O=>s[O]),S=H.map((O,V)=>{let D={mode:"related",locale:a,related:L??4,current_ids:[O.content_id],output:"full",variant_ids:[O.variant_id]};return V===0&&(D.include_ids=[O.content_id]),D}),A=await Promise.all(S.map(O=>o(O))).then(O=>O.flatMap(V=>{let D=[];return Ye(V)?V.ok&&(D=V.data.results):D=V.results,D&&Array.isArray(D)?D:[]})).catch(O=>(console.error("Error getting related members",O),[])),ie=A.reduce((O,V)=>{let D=V.variant_slug;return O[D]||(O[D]=[]),O[D].push(V),O},{}),Ne=[],G=Object.keys(ie),te=[{combination:[],index:0}];for(;te.length>0;){let O=te.pop();if(!O)continue;let{combination:V,index:D}=O;if(D===G.length){Ne.push(V);continue}let ce=G[D],j=ie[ce];for(let Y of j)te.push({combination:[...V,Y],index:D+1});}return {outputVariables:{related_reports:Ne.map(O=>{let V=O.sort((D,ce)=>E.indexOf(D.variant_slug)-E.indexOf(ce.variant_slug));return {entities:V,link:"/"+V.map(D=>`${D.variant_slug}/${D.slug}`).join("/")}})},renderVariables:{},status:{log:[],allowed:A.length>0}}}let _=H.map(E=>E.content_id),w={mode:"related",locale:a,related:L??4,current_ids:_,output:"full"};k&&(k==="report"?w.report_ids=x:k==="dimension"?w.dimension_ids=B:w.variant_ids=N);let K=await o(w).then(E=>{let S=[];return Ye(E)?E.ok&&(S=E.data.results):S=E.results,S&&Array.isArray(S)?S:[]}).catch(E=>(console.error("Error getting related members",E),[]));return {outputVariables:{related_reports:K.map(E=>({entities:[E],link:`/${E.variant_slug}/${E.slug}`}))},renderVariables:{},status:{log:[],allowed:K.length>0}}}let{logic:f}=Dt(e,a),M=ge(f,t,r),h=Re("resp",l||{},M,t,s,r),{vars:C,error:z,log:v}=h;if(typeof C!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:v,duration:u,responseSize:m,resp:l,api:d,allowed:c,apiFinalUrls:P,apiDataSources:b}};let Q=Object.keys(C).reduce((k,L)=>({...k,[`${e.type}${e.id}${L}`]:C[L]}),{});return {renderVariables:C,outputVariables:[T.GENERATOR,T.SECTION_FLAG].includes(e.type)?C:Q,status:{log:v,error:z,duration:u,responseSize:m,resp:l,api:d,allowed:c,apiFinalUrls:P,apiDataSources:b}}}function Yo(e,t,r,o,n,a,s){return e.consumers.forEach(i=>{if(t[i]){let c=`${r}-${i}`;!o.includes(c)&&(t[i].section_id===t[r].section_id||!n)&&o.push(c),e.consumers.filter(l=>t[l]&&t[l].section_id===t[r].section_id||!n).forEach(l=>pt(l,t,o,false,a,n,s));}})}var pt=(e,t,r=[],o=true,n=true,a=true,s=[])=>{if(s.includes(e))return [];s.push(e);let i=t[e];return i&&i.inputs.length&&o&&i.inputs.forEach(c=>{let l=`${c}-${e}`;r.includes(l)||r.push(l),i.inputs.forEach(p=>pt(p,t,r,o,false,a,s));}),i&&i.consumers.length&&n&&Yo(i,t,e,r,a,n,s),r},Wo=(e,t,r,o)=>{let n=true;if(e&&"allowed"in e.settings&&e.settings.allowed!=="always")if(e.settings.allowed==="never")n=false;else {let a=W(t),{error:s,output:i}=Re("variables",r,e.settings.allowedLogic||"return false;",o,void 0,a);s||(n=!!i);}return n},jt=async(e,t,r,o,n,a={},s,i="section",c)=>{let l=i==="section",p=W(n),u=p.variables,m={...a.variables??{}},d={...a.status??{}},b=new Set,P=[],f={};r?f={...f,[r]:e[r]}:t?f=(t??[]).reduce((_,{id:w})=>({..._,...Ft(w,e)}),{}):f=Object.values(e).filter(_=>ut(_)).reduce((_,w)=>({..._,[w.id]:w}),{});let M=Object.values(f).filter(_=>ut(_));if(M.length>0){ne&&console.info("%crunConsumers: calculating section flags","color:purple",M.map(y=>y.id).join(", "));let _=Object.fromEntries(await Promise.all(M.map(async y=>[y.id,await Ht(y,o,{...p,variables:u,locale:u.locale},s,c).then(E=>{let{outputVariables:S,status:A}=E;if(A.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${y.id}, Section ${y.section_id}) failed with message: ${A.error}. `);d[y.id]={allowed:false,error:A.error},m[y.id]={};}return (y.consumers.length>0||[T.GENERATOR,T.SECTION_FLAG,T.RELATED].includes(y.type))&&A.allowed&&Object.keys(S).length>0?m[y.id]=S:m[y.id]={},i==="report"?(d[y.id]={allowed:A.allowed},[T.GENERATOR,T.SECTION_FLAG].includes(y.type)&&A.api&&(d[y.id].api=A.api)):d[y.id]=A,E})]))),K=Object.entries(_).filter(([,y])=>!y.outputVariables[$t]).map(([y])=>Number(y));b=new Set(K.map(y=>e[y].section_id)),Object.values(f).filter(y=>b.has(y.section_id)).forEach(y=>{P.push(y.id),delete f[y.id];}),ne&&console.info("%crunConsumers: removing sections","color:purple",b.keys());}let h=b.size>0?Object.fromEntries(Object.entries(e).filter(([,_])=>b?.has(_.section_id)?(P.includes(_.id)||P.push(_.id),false):true)):e;if(P.length>0&&(h=Object.fromEntries(Object.entries(h).map(([_,w])=>{let K={...w,inputs:w.inputs.filter(y=>!P.includes(y)),consumers:w.consumers.filter(y=>!P.includes(y))};return [_,K]}))),!r&&!t)return {variables:{...a.variables??{},...m},status:{...a.status??{},...d}};i==="report"&&P.length>0&&P.forEach(_=>{delete m[_],delete d[_],delete e[_];}),ne&&console.info("%crunConsumers: running root blocks","color:purple",Object.keys(f));let C=Object.keys(f).reduce((_,w)=>{let K=new Date,y=pt(Number(w),h,[],!r,true,l).map(A=>A.split("-")),S=(new Date().getTime()-K.getTime())/1e3;return ne&&console.info(`%cResolved dependencies for ${w} (${S.toFixed(2)}s)`,"color:blue"),[..._,...y]},[]),z=new Date,v=Object.keys(f).reduce((_,w)=>_.includes(w)?[..._]:[w,..._],Do(C)),k=(new Date().getTime()-z.getTime())/1e3;ne&&console.info(`%cResolved DAG (${k.toFixed(2)}s): `,"color:green",v);let L=process.env.NEXT_PUBLIC_REPORTS_MAX_CONCURRENT_QUERIES_PER_REPORT,x=parseInt(`${L||0}`,10);async function B(_,w){let K=new Map,y=[],E=async()=>y.length;for(let S of _){if(x!==0){let G=await E();for(;G>=x;)ne&&console.info("Too many pending promises, waiting...",G,y),await new Promise(te=>setTimeout(te,500)),G=await E();}let A=w[S],Ne=Promise.all(A.inputs.filter(G=>_.includes(String(G))).map(G=>K.get(Number(G)))).then(async()=>{let G=A.inputs.reduce((j,Y)=>({...j,...m[Y]}),u),te=A.inputs.find(j=>(A.settings?.ignoreCascade?A.settings?.ignoreCascade:[]).includes(j)||!d[j]?false:!d[j].allowed||d[j].hiddenByCascade);if(te){d[S]={allowed:false,hiddenByCascade:d[te].hiddenByCascade||te},m[S]={},y.splice(y.indexOf(Number(S)),1);return}let Rt=new Date,O;typeof window<"u"&&[T.SELECTOR,T.MULTIHIERARCHY_SELECTOR].includes(A.type)&&A.settings[Ot.DISABLED]?O=new Promise(j=>{j({outputVariables:m[S],status:d[S]});}):O=Ht(A,o,{...p,variables:G,locale:G.locale},s,c);let V=await O.then(({outputVariables:j,status:Y})=>{if(Y.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${S}, Section ${A.section_id}) failed with message: ${Y.error}.`);d[S]={allowed:false,error:Y.error},m[S]={};}(A.consumers.length>0||[T.GENERATOR,T.SECTION_FLAG,T.RELATED].includes(A.type))&&Y.allowed&&Object.keys(j).length>0?m[S]=j:m[S]={},i==="report"?(d[S]={allowed:Y.allowed},[T.GENERATOR,T.SECTION_FLAG].includes(A.type)&&Y.api&&(d[S].api=Y.api)):d[S]=Y;}),ce=(new Date().getTime()-Rt.getTime())/1e3;return ne&&console.info(`%cBlock ${A.id} resolved in ${ce.toFixed(3)}s`,ce>500?"color:red":"color:green"),d[S].duration=d[S].duration?d[S].duration:ce,y.splice(y.indexOf(Number(S)),1),V}).catch(G=>{throw y.splice(y.indexOf(Number(S)),1),G});y.push(Number(S)),K.set(Number(S),Ne);}await Promise.all(Array.from(K.values()));}let N=new Date;await B(v,h);let H=(new Date().getTime()-N.getTime())/1e3;return ne&&console.info(`%cResolved Variables (${H.toFixed(2)}s), ${v.length} blocks`,"color:green"),{variables:{...a.variables??{},...m},status:{...a.status??{},...d}}};function Qo(e=[]){return e.reduce((t,r,o)=>{if(r){let n=o+1;t[`id${n}`]=r.id,t[`name${n}`]=r.name,t[`slug${n}`]=r.slug,"attributes"in r&&Object.keys(r.attributes).forEach(a=>{t[`attr_${a}${n}`]=r.attributes[a];}),t[`variant_id${n}`]=r.variant_id,t[`variant_name${n}`]=r.variant_name,t[`variant_slug${n}`]=r.variant_slug,t[`dimension_id${n}`]=r.dimension_id,t[`dimension_name${n}`]=r.dimension_name,t.report_id=r.report_id,t.report_name=r.report_name;}return t},{})}var Yt=Qo;function Ee(e,t,r){if(t==="createBulk"||t==="updateBulk"){let n=`${t}${Wt(r)}`;return e[n]}let o=`${t}${Wt(r)}`;return e[o]}function Wt(e){return e[0].toUpperCase()+e.slice(1)}var X=re.actions,Jt=Oe({block:se("block"),dimension:se("dimension"),formatter:se("formatter"),report:se("report"),section:se("section"),variant:se("variant"),datasource:se("datasource")}),ve=Oe({block:ae("block"),dimension:ae("dimension"),formatter:ae("formatter"),report:ae("report"),section:ae("section"),variant:ae("variant"),datasource:ae("datasource")}),er=Oe({block:ee("block"),dimension:ee("dimension"),formatter:ee("formatter"),report:ee("report"),section:ee("section"),variant:ee("variant"),datasource:ee("datasource")}),tr=Oe({block:Se("block"),dimension:Se("dimension"),formatter:Se("formatter"),report:Se("report"),section:Se("section"),variant:Se("variant"),datasource:Se("datasource")}),rr=Oe({block:Zt("block"),section:Zt("section")});function Oe(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 be(e,t){return (r,o)=>{let a=o().records.requests[e][t],s=!a||a.status==="UNINITIALIZED"?"LOADING":"FETCHING";r(X.setRequest({key:t,type:e,status:s}));}}function Te(e,t,r,o){return n=>{typeof window=="object"&&notifications.show({autoClose:3e3,color:"red",id:t,message:o,title:"Error"}),n(X.setRequest({key:t,type:e,status:"FAILURE",error:{code:r,message:o}}));}}function se(e){return t=>{let r=ft(e,t);return (o,n,a)=>(o(be(e,r)),Ee(a,"create",e)(t).then(i=>(i.ok===true?o(X.setCreateRequest({key:r,operation:"create",status:"SUCCESS",type:e,data:i.data})):o(Te(e,r,i.status,i.error)),i)))}}function Jo(e){return t=>{let r=ft(e,t[0]);return (o,n,a)=>(o(be(e,r)),Ee(a,"createBulk",e)(t).then(i=>(i.ok===true?o(X.setCreateRequest({key:r,operation:"createBulk",status:"SUCCESS",type:e,data:i.data})):o(Te(e,r,i.status,i.error)),i)))}}function Qt(e,t,r){return r.replace(new RegExp(e,"g"),t)}function en(e){return e.section_id!==void 0}function tn(e){return e.report_id!==void 0}function Zt(e){return t=>{let{create:r}=t;return (o,n,a)=>se(e)(r)(o,n,a).then(async i=>{if(i.ok){let{data:c}=i,{id:l}=c,{update:p}=t,u=sr(e,{id:l});if(o(be(e,`${u}`)),e==="block"&&en(r)){let m=produce(p,f=>{f.id=l;}),{contentByLocale:d}=m;d&&(m=produce(m,f=>{f.id=l,f.contentByLocale=Object.keys(d).reduce((M,h)=>{let C=d?d[h]:{};return M[h]={...C,id:l},M},{});}));let P=m.inputs?.map(f=>({type:f.type,id:f.id,inputAction:{operation:"create",input:{input_id:f.id,block_id:m.id}}}));return P&&P.length>0&&Xt(e)([m,...P])(o,n,a).then(()=>ae("section")({id:m.section_id,include:true})(o,n,a).then(f=>(f.ok&&o(X.setRequest({key:u,type:e,status:"SUCCESS",data:f.data})),f))),ee(e)(m)(o,n,a).then(f=>(f.ok&&o(X.setRequest({key:u,type:e,status:"SUCCESS",data:f.data})),f))}if(e==="section"&&tn(r)){let{id:m}=c,d=produce(p,f=>{f.id=m;}),{blocks:b}=d,P=b?.map(f=>({type:f.type,blockcol:f.blockcol,blockrow:f.blockrow,section_id:m,locales:Object.keys(f.contentByLocale).map(M=>M)}));return P&&b&&await Jo("block")(P)(o,n,a).then(f=>{if(f.ok){let M=f.data,h=[],C=M.map((z,v)=>{let k={...z},L=k.id,x=b[v];x.contentByLocale&&(k.contentByLocale=Object.keys(x.contentByLocale).reduce((y,E)=>{let S=x.contentByLocale[E];return y[E]={...S,content:{...S.content},id:k.id},y},{}));let{settings:B}=x,{contentByLocale:N,id:q}=k;k.settings=B;let H={id:q,contentByLocale:N,settings:B};return x.inputs.map(y=>y.id).reduce((y,E)=>{let S=b.findIndex(A=>A.id===E);return [...y,S]},[]).map(y=>({...M[y],originalBlock:b[y]})).forEach(y=>{let{id:E,type:S,originalBlock:A}=y;if([T.SELECTOR,T.VIZ].includes(S)){if(H.contentByLocale?.logic?.content?.api){let ie=H.contentByLocale?.logic.content.api;H.contentByLocale.logic.content.api=Qt(`(selector${A.id}id)`,`selector${E}id`,ie);}if(H.contentByLocale?.logic?.content?.logic){let ie=H.contentByLocale.logic.content.logic;H.contentByLocale.logic.content.logic=Qt(`(selector${A.id}id)`,`selector${E}id`,ie);}}h.push({id:E,inputAction:{operation:"create",input:{input_id:E,block_id:L}}});}),H});return Xt("block")([...C,...h])(o,n,a)}}),ee(e)(d)(o,n,a).then(f=>(f.ok&&o(X.setRequest({key:u,type:e,status:"SUCCESS",data:f.data})),f))}return ee(e)({...p,id:c.id})(o,n,a)}})}}function ae(e){return t=>{let r=or(e,t);return (o,n,a)=>{o(be(e,r));let s=Ee(a,"read",e);if(typeof s!="function"){let i=`Failed to get valid RPC method for entity "${e}"`;return o(Te(e,r,500,i)),Promise.reject(new Error(i))}return s(t).then(i=>(i.ok===true?o(X.setReadRequest({key:r,operation:"read",status:"SUCCESS",type:e,data:i.data})):o(Te(e,r,i.status,i.error)),i))}}}function ee(e){return t=>{let r=yt(e,t);return (o,n,a)=>(o(be(e,r)),Ee(a,"update",e)(t).then(i=>(i.ok===true?o(X.setUpdateRequest({key:r,operation:"update",status:"SUCCESS",type:e,data:i.data})):o(Te(e,r,i.status,i.error)),i)))}}function Xt(e){return t=>{let r=yt(e,t[0]);return (o,n,a)=>(o(be(e,r)),Ee(a,"updateBulk",e)(t).then(i=>(i.ok===true?o(X.setUpdateRequest({key:r,operation:"updateBulk",status:"SUCCESS",type:e,data:i.data})):o(Te(e,r,i.status,i.error)),i)))}}function Se(e){return t=>{let r=nr(e,t);return (o,n,a)=>(o(be(e,r)),Ee(a,"delete",e)(t).then(i=>{i.ok===true?o(X.setDeleteRequest({key:r,operation:"delete",status:"SUCCESS",type:e,data:i.data})):o(Te(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 or(e,t={}){let r=t.id==null?null:`'${t.id}'`;return `read(${e}, ${r}, ${!!t.include})`}function yt(e,t){let{id:r,...o}=t;return `update(${e}, ${r}, [${Object.keys(o)}])`}function nr(e,t){return `delete(${e}, ${t})`}function sr(e,t){let r=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${r})`}var{setStatus:ar,setPreviews:rn,setSectionState:ir,resetSectionState:cr,setCurrentLocale:on,setPreferredLocale:nn,addRunConsumersRunning:lr,removeRunConsumersRunning:ur}=ke;function sn(e,t){return async(r,o,n)=>{let a=await n.validateVariantSlug({dimension:e,slug:t});if("error"in a)throw new Error(a.error);return a.data}}function an(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 cn(){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 pr(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 ln(e){return async(t,r,o)=>{let n=await o.searchMember(e);if(n.ok===true)return n.data;throw new Error(n.error)}}async function dr(e,t,r,o){let n=r().status,a={...n,...o},s={...n.query,...o.query};Object.keys(s).forEach(c=>s[c]===void 0&&delete s[c]);let i={...a,query:s};t(ar(i)),n.activeSection&&t(mr(e,{query:s}));}function un(e,t){return async(r,o)=>dr(e,r,o,{query:{[t]:void 0}})}function pn(e,t,r){return async(o,n)=>dr(e,o,n,{query:{[t]:r}})}function mr(e,t){return async(r,o)=>{let n=o(),{currentLocale:a}=n.status,s=n.records.entities.block,i=e.formatterFunctions[a],c=e.datasourceFunctions,{parsedParams:l,statusPayload:p}=Lt(n.status,t),{sid:u,bid:m,previews:d,query:b}=l;Object.keys(p).length&&r(ke.setStatus(p));let P={...Yt(d),locale:a,...Ie()},f={variables:P,query:b,locale:a};r(ke.addRunConsumersRunning([u]));let M=n.records.entities.section[u],h=async C=>r(pr(C));try{let C=await jt(s,M&&[M],m,i,f,void 0,h,"section",c),{variables:z,status:v}=C;r(_t.setVariableChange({attributes:P,variables:z,status:v})),r(ke.removeRunConsumersRunning([u]));}catch(C){console.error("Error in runConsumers client side: recalculateVariables",C);}}}function dn(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 mn(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 fn(){return async(e,t,r)=>{let o=await r.searchRole("");if("error"in o)throw new Error(o.error);return o.data}}function yn(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 Rn(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 gn({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 En(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 Sn(e){let{removeBlocks:t}=re.actions;return async r=>{await r(t(e));}}function Tn(e){let{addBlocks:t}=re.actions;return async r=>{await r(t(e));}}function bn(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 An(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 hn(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 xn(){return async(e,t,r)=>{let o=await r.readEnvSecrets({});if("error"in o)throw new Error(o.error);return o.data}}function Cn(){let{removeDataSourceLogic:e}=re.actions;return async t=>{await t(e());}}var {locales:Ln}=J(),_n={pathSegment:"path",formatterFunctions:Ln.reduce((e,t)=>({...e,[t]:{}}),{}),datasourceFunctions:[],profilePrefix:"path",previewPrefix:null,siteProps:{}};createContext(_n);J();var Xe=useDispatch,Me=useSelector;var Ar=e=>r=>{let{store:o,props:n}=Ge.useWrappedStore(r);return jsx(Provider,{store:o,children:jsx(e,{...n})})};export{Qe as actions,Ge as storeWrapper,Xe as useBespokeDispatch,Me as useBespokeSelector,Ar as withBespokeStore};
5
+ `)}));}let x=await Promise.all(L).catch(B=>B.message);if(typeof x=="string"&&x)return {outputVariables:{},renderVariables:{},status:{error:x}};l=x.length===1?x[0].data:x.map(B=>B.data),m=x.reduce((B,N)=>B+JSON.stringify(N.data).length/1024,0),u=Math.max(...x.map(B=>B.requestDuration)),b=x.map(B=>B.apiDataSource?`${B.apiDataSource.name} (${B.apiDataSource.id})`:null),_=x.map(B=>B.finalUrl);}if(e.type===T.SELECTOR){let{config:k,log:L,error:x}=it(e.id,e.contentByLocale[a].content.logic,t,r,true);return {outputVariables:Nt(e.id,i,k),renderVariables:k,status:{log:L,error:x,allowed:c}}}if(e.type===T.MULTIHIERARCHY_SELECTOR){let{config:k,log:L,error:x}=lt(e.id,e.contentByLocale[a].content.logic,t,r,true);return {outputVariables:wt(e.id,i,k),renderVariables:k,status:{log:L,error:x,allowed:c}}}if(e.type===T.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:c}};if(e.type===T.RELATED){let k=e.contentByLocale?.logic?.content?.simple?.compare||"variant",L=e.contentByLocale?.logic?.content?.simple?.limit||4,x=Object.keys(s).filter(E=>E.startsWith("report_id")).map(E=>s[E]),B=Object.keys(s).filter(E=>E.startsWith("dimension_id")).map(E=>s[E]),N=Object.keys(s).filter(E=>E.startsWith("variant_id")).map(E=>s[E]),q=Object.keys(s).filter(E=>E.startsWith("id")).map(E=>s[E]);if(!q.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:false}};let H=await Promise.all(q.map((E,S)=>o({mode:"ids",locale:a,ids:[E],output:"lite",variant:[N[S]]}))).then(E=>E.flatMap(S=>{let A=[];return Ye(S)?S.ok&&(A=S.data.results):A=S.results,A&&Array.isArray(A)?A:[]})).catch(E=>(console.error("Error getting related members",E),[]));if(B.length>1){let E=Object.keys(s).filter(O=>O.startsWith("variant_slug")).map(O=>s[O]),S=H.map((O,V)=>{let U={mode:"related",locale:a,related:L??4,current_ids:[O.content_id],output:"full",variant_ids:[O.variant_id]};return V===0&&(U.include_ids=[O.content_id]),U}),A=await Promise.all(S.map(O=>o(O))).then(O=>O.flatMap(V=>{let U=[];return Ye(V)?V.ok&&(U=V.data.results):U=V.results,U&&Array.isArray(U)?U:[]})).catch(O=>(console.error("Error getting related members",O),[])),ie=A.reduce((O,V)=>{let U=V.variant_slug;return O[U]||(O[U]=[]),O[U].push(V),O},{}),Ne=[],G=Object.keys(ie),te=[{combination:[],index:0}];for(;te.length>0;){let O=te.pop();if(!O)continue;let{combination:V,index:U}=O;if(U===G.length){Ne.push(V);continue}let ce=G[U],j=ie[ce];for(let Y of j)te.push({combination:[...V,Y],index:U+1});}return {outputVariables:{related_reports:Ne.map(O=>{let V=O.sort((U,ce)=>E.indexOf(U.variant_slug)-E.indexOf(ce.variant_slug));return {entities:V,link:"/"+V.map(U=>`${U.variant_slug}/${U.slug}`).join("/")}})},renderVariables:{},status:{log:[],allowed:A.length>0}}}let P=H.map(E=>E.content_id),w={mode:"related",locale:a,related:L??4,current_ids:P,output:"full"};k&&(k==="report"?w.report_ids=x:k==="dimension"?w.dimension_ids=B:w.variant_ids=N);let K=await o(w).then(E=>{let S=[];return Ye(E)?E.ok&&(S=E.data.results):S=E.results,S&&Array.isArray(S)?S:[]}).catch(E=>(console.error("Error getting related members",E),[]));return {outputVariables:{related_reports:K.map(E=>({entities:[E],link:`/${E.variant_slug}/${E.slug}`}))},renderVariables:{},status:{log:[],allowed:K.length>0}}}let{logic:f}=Ut(e,a),M=ge(f,t,r),h=Re("resp",l||{},M,t,s,r),{vars:C,error:z,log:I}=h;if(typeof C!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:I,duration:u,responseSize:m,resp:l,api:d,allowed:c,apiFinalUrls:_,apiDataSources:b}};let Q=Object.keys(C).reduce((k,L)=>({...k,[`${e.type}${e.id}${L}`]:C[L]}),{});return {renderVariables:C,outputVariables:[T.GENERATOR,T.SECTION_FLAG].includes(e.type)?C:Q,status:{log:I,error:z,duration:u,responseSize:m,resp:l,api:d,allowed:c,apiFinalUrls:_,apiDataSources:b}}}function Yo(e,t,r,o,n,a,s){return e.consumers.forEach(i=>{if(t[i]){let c=`${r}-${i}`;!o.includes(c)&&(t[i].section_id===t[r].section_id||!n)&&o.push(c),e.consumers.filter(l=>t[l]&&t[l].section_id===t[r].section_id||!n).forEach(l=>pt(l,t,o,false,a,n,s));}})}var pt=(e,t,r=[],o=true,n=true,a=true,s=[])=>{if(s.includes(e))return [];s.push(e);let i=t[e];return i&&i.inputs.length&&o&&i.inputs.forEach(c=>{let l=`${c}-${e}`;r.includes(l)||r.push(l),i.inputs.forEach(p=>pt(p,t,r,o,false,a,s));}),i&&i.consumers.length&&n&&Yo(i,t,e,r,a,n,s),r},Wo=(e,t,r,o)=>{let n=true;if(e&&"allowed"in e.settings&&e.settings.allowed!=="always")if(e.settings.allowed==="never")n=false;else {let a=W(t),{error:s,output:i}=Re("variables",r,e.settings.allowedLogic||"return false;",o,void 0,a);s||(n=!!i);}return n},jt=async(e,t,r,o,n,a={},s,i="section",c)=>{let l=i==="section",p=W(n),u=p.variables,m={...a.variables??{}},d={...a.status??{}},b=new Set,_=[],f={};r?f={...f,[r]:e[r]}:t?f=(t??[]).reduce((P,{id:w})=>({...P,...Ft(w,e)}),{}):f=Object.values(e).filter(P=>ut(P)).reduce((P,w)=>({...P,[w.id]:w}),{});let M=Object.values(f).filter(P=>ut(P));if(M.length>0){ne&&console.info("%crunConsumers: calculating section flags","color:purple",M.map(y=>y.id).join(", "));let P=Object.fromEntries(await Promise.all(M.map(async y=>[y.id,await Ht(y,o,{...p,variables:u,locale:u.locale},s,c).then(E=>{let{outputVariables:S,status:A}=E;if(A.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${y.id}, Section ${y.section_id}) failed with message: ${A.error}. `);d[y.id]={allowed:false,error:A.error},m[y.id]={};}return (y.consumers.length>0||[T.GENERATOR,T.SECTION_FLAG,T.RELATED].includes(y.type))&&A.allowed&&Object.keys(S).length>0?m[y.id]=S:m[y.id]={},i==="report"?(d[y.id]={allowed:A.allowed},[T.GENERATOR,T.SECTION_FLAG].includes(y.type)&&A.api&&(d[y.id].api=A.api)):d[y.id]=A,E})]))),K=Object.entries(P).filter(([,y])=>!y.outputVariables[$t]).map(([y])=>Number(y));b=new Set(K.map(y=>e[y].section_id)),Object.values(f).filter(y=>b.has(y.section_id)).forEach(y=>{_.push(y.id),delete f[y.id];}),ne&&console.info("%crunConsumers: removing sections","color:purple",b.keys());}let h=b.size>0?Object.fromEntries(Object.entries(e).filter(([,P])=>b?.has(P.section_id)?(_.includes(P.id)||_.push(P.id),false):true)):e;if(_.length>0&&(h=Object.fromEntries(Object.entries(h).map(([P,w])=>{let K={...w,inputs:w.inputs.filter(y=>!_.includes(y)),consumers:w.consumers.filter(y=>!_.includes(y))};return [P,K]}))),!r&&!t)return {variables:{...a.variables??{},...m},status:{...a.status??{},...d}};i==="report"&&_.length>0&&_.forEach(P=>{delete m[P],delete d[P],delete e[P];}),ne&&console.info("%crunConsumers: running root blocks","color:purple",Object.keys(f));let C=Object.keys(f).reduce((P,w)=>{let K=new Date,y=pt(Number(w),h,[],!r,true,l).map(A=>A.split("-")),S=(new Date().getTime()-K.getTime())/1e3;return ne&&console.info(`%cResolved dependencies for ${w} (${S.toFixed(2)}s)`,"color:blue"),[...P,...y]},[]),z=new Date,I=Object.keys(f).reduce((P,w)=>P.includes(w)?[...P]:[w,...P],Uo(C)),k=(new Date().getTime()-z.getTime())/1e3;ne&&console.info(`%cResolved DAG (${k.toFixed(2)}s): `,"color:green",I);let L=process.env.NEXT_PUBLIC_REPORTS_MAX_CONCURRENT_QUERIES_PER_REPORT,x=parseInt(`${L||0}`,10);async function B(P,w){let K=new Map,y=[],E=async()=>y.length;for(let S of P){if(x!==0){let G=await E();for(;G>=x;)ne&&console.info("Too many pending promises, waiting...",G,y),await new Promise(te=>setTimeout(te,500)),G=await E();}let A=w[S],Ne=Promise.all(A.inputs.filter(G=>P.includes(String(G))).map(G=>K.get(Number(G)))).then(async()=>{let G=A.inputs.reduce((j,Y)=>({...j,...m[Y]}),u),te=A.inputs.find(j=>(A.settings?.ignoreCascade?A.settings?.ignoreCascade:[]).includes(j)||!d[j]?false:!d[j].allowed||d[j].hiddenByCascade);if(te){d[S]={allowed:false,hiddenByCascade:d[te].hiddenByCascade||te},m[S]={},y.splice(y.indexOf(Number(S)),1);return}let Rt=new Date,O;typeof window<"u"&&[T.SELECTOR,T.MULTIHIERARCHY_SELECTOR].includes(A.type)&&A.settings[Ot.DISABLED]?O=new Promise(j=>{j({outputVariables:m[S],status:d[S]});}):O=Ht(A,o,{...p,variables:G,locale:G.locale},s,c);let V=await O.then(({outputVariables:j,status:Y})=>{if(Y.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${S}, Section ${A.section_id}) failed with message: ${Y.error}.`);d[S]={allowed:false,error:Y.error},m[S]={};}(A.consumers.length>0||[T.GENERATOR,T.SECTION_FLAG,T.RELATED].includes(A.type))&&Y.allowed&&Object.keys(j).length>0?m[S]=j:m[S]={},i==="report"?(d[S]={allowed:Y.allowed},[T.GENERATOR,T.SECTION_FLAG].includes(A.type)&&Y.api&&(d[S].api=Y.api)):d[S]=Y;}),ce=(new Date().getTime()-Rt.getTime())/1e3;return ne&&console.info(`%cBlock ${A.id} resolved in ${ce.toFixed(3)}s`,ce>500?"color:red":"color:green"),d[S].duration=d[S].duration?d[S].duration:ce,y.splice(y.indexOf(Number(S)),1),V}).catch(G=>{throw y.splice(y.indexOf(Number(S)),1),G});y.push(Number(S)),K.set(Number(S),Ne);}await Promise.all(Array.from(K.values()));}let N=new Date;await B(I,h);let H=(new Date().getTime()-N.getTime())/1e3;return ne&&console.info(`%cResolved Variables (${H.toFixed(2)}s), ${I.length} blocks`,"color:green"),{variables:{...a.variables??{},...m},status:{...a.status??{},...d}}};function Qo(e=[]){return e.reduce((t,r,o)=>{if(r){let n=o+1;t[`id${n}`]=r.id,t[`name${n}`]=r.name,t[`slug${n}`]=r.slug,"attributes"in r&&Object.keys(r.attributes).forEach(a=>{t[`attr_${a}${n}`]=r.attributes[a];}),t[`variant_id${n}`]=r.variant_id,t[`variant_name${n}`]=r.variant_name,t[`variant_slug${n}`]=r.variant_slug,t[`dimension_id${n}`]=r.dimension_id,t[`dimension_name${n}`]=r.dimension_name,t.report_id=r.report_id,t.report_name=r.report_name;}return t},{})}var Yt=Qo;function Ee(e,t,r){if(t==="createBulk"||t==="updateBulk"){let n=`${t}${Wt(r)}`;return e[n]}let o=`${t}${Wt(r)}`;return e[o]}function Wt(e){return e[0].toUpperCase()+e.slice(1)}var X=re.actions,Jt=Oe({block:se("block"),dimension:se("dimension"),formatter:se("formatter"),report:se("report"),section:se("section"),variant:se("variant"),datasource:se("datasource")}),Ie=Oe({block:ae("block"),dimension:ae("dimension"),formatter:ae("formatter"),report:ae("report"),section:ae("section"),variant:ae("variant"),datasource:ae("datasource")}),er=Oe({block:ee("block"),dimension:ee("dimension"),formatter:ee("formatter"),report:ee("report"),section:ee("section"),variant:ee("variant"),datasource:ee("datasource")}),tr=Oe({block:Se("block"),dimension:Se("dimension"),formatter:Se("formatter"),report:Se("report"),section:Se("section"),variant:Se("variant"),datasource:Se("datasource")}),rr=Oe({block:Zt("block"),section:Zt("section")});function Oe(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 be(e,t){return (r,o)=>{let a=o().records.requests[e][t],s=!a||a.status==="UNINITIALIZED"?"LOADING":"FETCHING";r(X.setRequest({key:t,type:e,status:s}));}}function Te(e,t,r,o){return n=>{typeof window=="object"&&notifications.show({autoClose:3e3,color:"red",id:t,message:o,title:"Error"}),n(X.setRequest({key:t,type:e,status:"FAILURE",error:{code:r,message:o}}));}}function se(e){return t=>{let r=ft(e,t);return (o,n,a)=>(o(be(e,r)),Ee(a,"create",e)(t).then(i=>(i.ok===true?o(X.setCreateRequest({key:r,operation:"create",status:"SUCCESS",type:e,data:i.data})):o(Te(e,r,i.status,i.error)),i)))}}function Jo(e){return t=>{let r=ft(e,t[0]);return (o,n,a)=>(o(be(e,r)),Ee(a,"createBulk",e)(t).then(i=>(i.ok===true?o(X.setCreateRequest({key:r,operation:"createBulk",status:"SUCCESS",type:e,data:i.data})):o(Te(e,r,i.status,i.error)),i)))}}function Qt(e,t,r){return r.replace(new RegExp(e,"g"),t)}function en(e){return e.section_id!==void 0}function tn(e){return e.report_id!==void 0}function Zt(e){return t=>{let{create:r}=t;return (o,n,a)=>se(e)(r)(o,n,a).then(async i=>{if(i.ok){let{data:c}=i,{id:l}=c,{update:p}=t,u=sr(e,{id:l});if(o(be(e,`${u}`)),e==="block"&&en(r)){let m=produce(p,f=>{f.id=l;}),{contentByLocale:d}=m;d&&(m=produce(m,f=>{f.id=l,f.contentByLocale=Object.keys(d).reduce((M,h)=>{let C=d?d[h]:{};return M[h]={...C,id:l},M},{});}));let _=m.inputs?.map(f=>({type:f.type,id:f.id,inputAction:{operation:"create",input:{input_id:f.id,block_id:m.id}}}));return _&&_.length>0&&Xt(e)([m,..._])(o,n,a).then(()=>ae("section")({id:m.section_id,include:true})(o,n,a).then(f=>(f.ok&&o(X.setRequest({key:u,type:e,status:"SUCCESS",data:f.data})),f))),ee(e)(m)(o,n,a).then(f=>(f.ok&&o(X.setRequest({key:u,type:e,status:"SUCCESS",data:f.data})),f))}if(e==="section"&&tn(r)){let{id:m}=c,d=produce(p,f=>{f.id=m;}),{blocks:b}=d,_=b?.map(f=>({type:f.type,blockcol:f.blockcol,blockrow:f.blockrow,section_id:m,locales:Object.keys(f.contentByLocale).map(M=>M)}));return _&&b&&await Jo("block")(_)(o,n,a).then(f=>{if(f.ok){let M=f.data,h=[],C=M.map((z,I)=>{let k={...z},L=k.id,x=b[I];x.contentByLocale&&(k.contentByLocale=Object.keys(x.contentByLocale).reduce((y,E)=>{let S=x.contentByLocale[E];return y[E]={...S,content:{...S.content},id:k.id},y},{}));let{settings:B}=x,{contentByLocale:N,id:q}=k;k.settings=B;let H={id:q,contentByLocale:N,settings:B};return x.inputs.map(y=>y.id).reduce((y,E)=>{let S=b.findIndex(A=>A.id===E);return [...y,S]},[]).map(y=>({...M[y],originalBlock:b[y]})).forEach(y=>{let{id:E,type:S,originalBlock:A}=y;if([T.SELECTOR,T.VIZ].includes(S)){if(H.contentByLocale?.logic?.content?.api){let ie=H.contentByLocale?.logic.content.api;H.contentByLocale.logic.content.api=Qt(`(selector${A.id}id)`,`selector${E}id`,ie);}if(H.contentByLocale?.logic?.content?.logic){let ie=H.contentByLocale.logic.content.logic;H.contentByLocale.logic.content.logic=Qt(`(selector${A.id}id)`,`selector${E}id`,ie);}}h.push({id:E,inputAction:{operation:"create",input:{input_id:E,block_id:L}}});}),H});return Xt("block")([...C,...h])(o,n,a)}}),ee(e)(d)(o,n,a).then(f=>(f.ok&&o(X.setRequest({key:u,type:e,status:"SUCCESS",data:f.data})),f))}return ee(e)({...p,id:c.id})(o,n,a)}})}}function ae(e){return t=>{let r=or(e,t);return (o,n,a)=>{o(be(e,r));let s=Ee(a,"read",e);if(typeof s!="function"){let i=`Failed to get valid RPC method for entity "${e}"`;return o(Te(e,r,500,i)),Promise.reject(new Error(i))}return s(t).then(i=>(i.ok===true?o(X.setReadRequest({key:r,operation:"read",status:"SUCCESS",type:e,data:i.data})):o(Te(e,r,i.status,i.error)),i))}}}function ee(e){return t=>{let r=yt(e,t);return (o,n,a)=>(o(be(e,r)),Ee(a,"update",e)(t).then(i=>(i.ok===true?o(X.setUpdateRequest({key:r,operation:"update",status:"SUCCESS",type:e,data:i.data})):o(Te(e,r,i.status,i.error)),i)))}}function Xt(e){return t=>{let r=yt(e,t[0]);return (o,n,a)=>(o(be(e,r)),Ee(a,"updateBulk",e)(t).then(i=>(i.ok===true?o(X.setUpdateRequest({key:r,operation:"updateBulk",status:"SUCCESS",type:e,data:i.data})):o(Te(e,r,i.status,i.error)),i)))}}function Se(e){return t=>{let r=nr(e,t);return (o,n,a)=>(o(be(e,r)),Ee(a,"delete",e)(t).then(i=>{i.ok===true?o(X.setDeleteRequest({key:r,operation:"delete",status:"SUCCESS",type:e,data:i.data})):o(Te(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 or(e,t={}){let r=t.id==null?null:`'${t.id}'`;return `read(${e}, ${r}, ${!!t.include})`}function yt(e,t){let{id:r,...o}=t;return `update(${e}, ${r}, [${Object.keys(o)}])`}function nr(e,t){return `delete(${e}, ${t})`}function sr(e,t){let r=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${r})`}var{setStatus:ar,setPreviews:rn,setSectionState:ir,resetSectionState:cr,setCurrentLocale:on,setPreferredLocale:nn,addRunConsumersRunning:lr,removeRunConsumersRunning:ur}=ke;function sn(e,t){return async(r,o,n)=>{let a=await n.validateVariantSlug({dimension:e,slug:t});if("error"in a)throw new Error(a.error);return a.data}}function an(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 cn(){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 pr(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 ln(e){return async(t,r,o)=>{let n=await o.searchMember(e);if(n.ok===true)return n.data;throw new Error(n.error)}}async function dr(e,t,r,o){let n=r().status,a={...n,...o},s={...n.query,...o.query};Object.keys(s).forEach(c=>s[c]===void 0&&delete s[c]);let i={...a,query:s};t(ar(i)),n.activeSection&&t(mr(e,{query:s}));}function un(e,t){return async(r,o)=>dr(e,r,o,{query:{[t]:void 0}})}function pn(e,t,r){return async(o,n)=>dr(e,o,n,{query:{[t]:r}})}function mr(e,t){return async(r,o)=>{let n=o(),{currentLocale:a}=n.status,s=n.records.entities.block,i=e.formatterFunctions[a],c=e.datasourceFunctions,{parsedParams:l,statusPayload:p}=Lt(n.status,t),{sid:u,bid:m,previews:d,query:b}=l;Object.keys(p).length&&r(ke.setStatus(p));let _={...Yt(d),locale:a,...ve()},f={variables:_,query:b,locale:a};r(ke.addRunConsumersRunning([u]));let M=n.records.entities.section[u],h=async C=>r(pr(C));try{let C=await jt(s,M&&[M],m,i,f,void 0,h,"section",c),{variables:z,status:I}=C;r(Pt.setVariableChange({attributes:_,variables:z,status:I})),r(ke.removeRunConsumersRunning([u]));}catch(C){console.error("Error in runConsumers client side: recalculateVariables",C);}}}function dn(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 mn(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 fn(){return async(e,t,r)=>{let o=await r.searchRole("");if("error"in o)throw new Error(o.error);return o.data}}function yn(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 Rn(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 gn({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 En(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 Sn(e){let{removeBlocks:t}=re.actions;return async r=>{await r(t(e));}}function Tn(e){let{addBlocks:t}=re.actions;return async r=>{await r(t(e));}}function bn(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 An(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 hn(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 xn(){return async(e,t,r)=>{let o=await r.readEnvSecrets({});if("error"in o)throw new Error(o.error);return o.data}}function Cn(){let{removeDataSourceLogic:e}=re.actions;return async t=>{await t(e());}}var {locales:Ln}=J(),Pn={pathSegment:"path",formatterFunctions:Ln.reduce((e,t)=>({...e,[t]:{}}),{}),datasourceFunctions:[],profilePrefix:"path",previewPrefix:null,siteProps:{}};createContext(Pn);J();var Xe=useDispatch,Me=useSelector;var Ar=e=>r=>{let{store:o,props:n}=Ge.useWrappedStore(r);return jsx(Provider,{store:o,children:jsx(e,{...n})})};export{Qe as actions,Ge as storeWrapper,Xe as useBespokeDispatch,Me as useBespokeSelector,Ar as withBespokeStore};
package/dist/report.d.mts CHANGED
@@ -1,10 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { E as ExploreTranslations, a as ReportItemProps, R as ReportTileProps } from './Search-CpmCBiYZ.mjs';
3
- import './auth-D3PWImeZ.mjs';
2
+ import { E as ExploreTranslations, a as ReportItemProps, R as ReportTileProps } from './Search-BWmRyIa9.mjs';
3
+ import './auth-BwgF4GT9.mjs';
4
4
  import { MRT_Localization } from 'mantine-react-table';
5
5
  import { ReactNode } from 'react';
6
6
  import { ModalProps, AutocompleteProps } from '@mantine/core';
7
- export { u as SearchReportItem } from './types-WI9fSG9b.mjs';
7
+ export { u as SearchReportItem } from './types-BcIo0oyw.mjs';
8
8
  import 'next-auth';
9
9
  import 'next-auth/react';
10
10
  import 'sequelize';