@datawheel/bespoke 0.8.0-rc.2 → 0.8.0-rc.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/auth.js +2 -2
- package/dist/cms.js +104 -64
- package/dist/explore.js +5 -4
- package/dist/index.js +2 -2
- package/dist/redux-store.js +17 -16
- package/dist/report.js +41 -35
- package/dist/server.js +46 -36
- package/package.json +9 -8
package/dist/explore.js
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { Stack, Text, Badge, Group, Container, TextInput, Loader, ActionIcon, LoadingOverlay, Alert, Tooltip, Modal, Autocomplete, Button, useMantineTheme, ScrollArea, Grid, Pagination, Image, Card } from '@mantine/core';
|
|
1
|
+
import { Stack, Text, Badge, Group, Container, TextInput, Loader, ActionIcon, LoadingOverlay, Alert, Tooltip, Modal, Autocomplete, MediaQuery, Select, Button, useMantineTheme, ScrollArea, Grid, Pagination, Image, Card } from '@mantine/core';
|
|
2
2
|
import { createContext, forwardRef, useContext, useState, useCallback, useEffect, useMemo, useRef } from 'react';
|
|
3
3
|
import { IconSearch, IconTrash, IconX } from '@tabler/icons-react';
|
|
4
4
|
import { useDebouncedValue, useClickOutside } from '@mantine/hooks';
|
|
5
5
|
import { useRouter } from 'next/router';
|
|
6
|
-
import
|
|
6
|
+
import fe from 'axios';
|
|
7
7
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
8
|
+
import { format } from 'd3-format';
|
|
8
9
|
|
|
9
|
-
var ae={try_another:"Try another search or filter.",search:"Search",filters_all:"All",no_results:"No Results",load_more:"Load more",report:{},dimension:{},variant:{}},de=createContext({metadata:[],loadingItems:!1,setLoadingItems:()=>null,loadingMetadata:!1,setLoadingMetadata:()=>null,resultCount:{},totalCount:{},setResultCount:()=>null,activePage:1,setActivePage:()=>null,pageSize:10,results:[],filters:{},doQuery:()=>null,setFilters:()=>null,query:"",setQuery:()=>null,debouncedQuery:"",currentPageTotal:10,selectorStructure:[],translations:ae,setTranslations:()=>null,showSelectors:!0}),A=()=>useContext(de);function $e({children:o,pageSize:r=10}){let n={profile:void 0,variant:void 0},[l,u]=useState([]),[h,i]=useState(!1),[x,p]=useState(!1),[c,y]=useState({}),[e,b]=useState({}),[m,C]=useState(1),[f,L]=useState(n),[M,J]=useState(""),[N]=useDebouncedValue(M,500),[Q,Y]=useState([]),[W,V]=useState(ae),[B,k]=useState(!1),{locale:G}=useRouter(),X=async()=>{try{p(!0),ue.get("/api/cms/read/metadata").then(t=>{if(t&&t.data&&t.data.data&&t.data.data.data){let R=t.data.data.data.reduce((g,s)=>(s.dimensions&&s.dimensions.forEach(d=>{d.variants&&d.variants.forEach(a=>{g[a.id]=a.members_count||0;});}),g),{});u(t.data.data.data),y(R),b(R);}p(!1),k(!0);}).catch(t=>{console.error(t);});}catch(t){console.error("Error fetching metadata:",t),u([]),p(!1),y({}),b({});}},Z=t=>{y(t||e);},O=useCallback(async(t,R)=>{!B&&l.length===0&&await X(),L({profile:t,variant:R});},[]);useEffect(()=>{let t=!1;return B&&(i(!0),C(1),H(t,0)),()=>{t=!1;}},[N,f,B]),useEffect(()=>{if(B){i(!0);let t=(m-1)*r;H(!1,t);}},[m]);let H=async(t,R)=>{let g=f.profile&&!Number.isNaN(f.profile)?[f.profile]:[],s=f.variant&&!Number.isNaN(f.variant)?[f.variant]:[],d={query:N,format:"profiles",locale:G,limit:r,offset:R,visible:!0,includes:!0,noImage:!1,variant:s,dimension:[],report:g,all:!1};ue.get("/api/cms/search/reports",{params:d}).then(a=>{if(a&&a.data&&a.data.data&&a.data.data.results&&!t){let w=a.data.data.results;Y(w),y(M===""?!1:a.data.data.meta.variantCount);}i(!1);}).catch(a=>{console.error(a),i(!1);});},_=c||e,$={id:void 0,name:W.filters_all||"ALL"},ee=t=>{let R=t.reduce((s,d)=>s.reduce((a,w)=>a.concat(d.map(Be=>[].concat(w,Be))),[])).map(s=>{let d;return Array.isArray(s)?d={id:s.map(a=>a.id).join(","),name:s.map(a=>a.name).join(" / "),members_count:s.reduce((a,w)=>a*(_[w.id]||1),0)}:(s.members_count=_[s.id]||0,d={...s,members_count:_[s.id]||0}),d}),g=R.reduce((s,d)=>s+(d.members_count||0),0);return [{...$,members_count:g},...R]},te=l.length>1,F=useMemo(()=>{let t=[];if(!x&&l.length>0&&_){let R=l.filter(g=>g.dimensions.length>0).map(g=>{let s=!1,d=ee(g.dimensions.map(a=>a.variants));return d&&d.length>2&&(s=!0),{id:g.id,name:g.dimensions.map(a=>a.name).join(" / "),variants:d,members_count:d.filter(a=>a.id).reduce((a,w)=>a+(w.members_count||0),0),show:s}});t=[{...$,members_count:R.reduce((g,s)=>g+(s.members_count||0),0)},...R];}return t},[x,_,l,$]),oe=useMemo(()=>{let t;return F&&(f.profile?f.profile&&(t=F.find(R=>R.id===f.profile),t&&f.variant&&t.variants&&(t=t.variants.find(R=>R.id===f.variant))):t=F.find(R=>!R.id)),t?t.members_count:r},[f,F]),re={metadata:l,loadingMetadata:x,setLoadingMetadata:p,loadingItems:h,setLoadingItems:i,resultCount:c,totalCount:e,setResultCount:Z,activePage:m,setActivePage:C,pageSize:r,filters:f,setFilters:L,doQuery:H,query:M,setQuery:J,debouncedQuery:N,results:Q,currentPageTotal:oe,selectorStructure:F,translations:W,setTranslations:t=>V({...ae,...t}),showSelectors:te,initExplore:O};return jsx(de.Provider,{value:re,children:o})}function qe({translations:o}){let{loadingItems:r,setFilters:n,selectorStructure:l,filters:u,showSelectors:h}=A(),i=e=>{e!==u.profile&&n({profile:e,variant:void 0});},x=e=>{e!==u.variant&&n({...u,variant:e});},p=l.length===2?l[1].id:u.profile,c=p?l.find(e=>e.id===p):void 0,y=c&&c.variants&&u.variant?c.variants.find(e=>e.id===u.variant):void 0;return jsxs(Fragment,{children:[h&&jsx(Group,{position:"center",className:"bespoke-explore-reports-selector",mb:"md",children:l.map(e=>jsxs(Button,{"data-selected":e.id===c?.id?"true":"false","data-report-name":e.name,variant:e.id===c?.id?"outline":"subtle",onClick:()=>i(e.id),children:[o?.dimension[e.name]??e.name,!r&&jsx(Text,{span:!0,size:"xs",ml:"0.2rem",children:`(${e.members_count})`})]},`p-${e.id}`))}),c&&c.variants&&c.variants.length>2&&jsx(Group,{position:"center",style:{minHeight:"36px"},className:"bespoke-explore-variant-selector",mb:"md",children:c.variants.map(e=>jsxs(Button,{"data-selected":e.id===y?.id?"true":"false","data-variant-name":e.name,variant:e.id===y?.id?"outline":"subtle",onClick:()=>x(e.id),children:[o?.dimension[e.name]??e.name,!r&&jsx(Text,{span:!0,size:"xs",ml:"0.2rem",children:`(${e.members_count})`})]},`v-${e.id}`))})]})}var xe=qe;function U(){return useMantineTheme().other.bespokeStyles??{}}var q=()=>{let o=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",r=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[o];return r.includes(o)||r.push(o),{localeDefault:o,locales:r}};function Je({reportName:o,members:r,href:n,onClick:l}){let u=r.map(i=>jsx(Image,{src:i.image.src,height:160,imageProps:{loading:"lazy"},alt:i.name},i.id)),h=r.map(i=>jsxs(Stack,{children:[jsx(Text,{weight:500,children:i.name}),jsx(Badge,{color:"green",variant:"light",children:i.variant})]},i.id));return jsxs(Card,{shadow:"sm",p:"lg",radius:"md",withBorder:!0,children:[jsx(Card.Section,{children:jsx(Group,{grow:!0,spacing:0,children:u})}),jsx(Group,{position:"apart",mt:"md",mb:"xs",children:h}),jsx("a",{href:n,onClick:l,children:jsx(Button,{variant:"light",color:"blue",fullWidth:!0,mt:"md",radius:"md",children:`See ${o} Report`})})]})}var Ye=o=>{let{components:r}=U(),n=Je;return r?.ReportTile&&(n=r?.ReportTile),o&&(n=o),n};function Ze({profile:o,profilePrefix:r,onSelect:n,reportTile:l}){let u=useRouter(),h=u.locale,{localeDefault:i}=q(),p=`${h===i?"":`/${h}`}${r}${o.path}`,c=o.members.map(m=>({original_id:m.metadata.id,name:m.name,id:m.id,variant:m.metadata.variant.name,image:{src:`/api/cms/member/image?member=${m.id}&size=thumb`,alt:m.name}})),y=m=>{u.push(`${m}`),n&&n();},e=m=>{m.preventDefault(),y(p);},b=Ye(l);return jsx(Grid.Col,{xs:12,sm:6,md:4,lg:4,xl:3,children:jsx(b,{reportName:o.report.name,members:c,href:p,onClick:e})},o.id)}var Pe=Ze;function nt({profilePrefix:o,onSelect:r=()=>{},reportTile:n}){let[l,u]=useState(500),h=useRef(null),{results:i}=A(),x=h.current?.offsetTop||0,p=50;return useEffect(()=>{let{innerHeight:c}=window;u(c-x-p);},[x]),jsx(ScrollArea,{offsetScrollbars:!0,type:"always",h:l,ref:h,children:jsx(Grid,{align:"stretch",children:i.map(c=>jsx(Pe,{profile:c,profilePrefix:o,reportTile:n,onSelect:r},c.id))})})}var ve=nt;function lt(){let{activePage:o,setActivePage:r,pageSize:n,currentPageTotal:l}=A();return jsx(Group,{position:"center",children:jsx(Pagination,{value:o,onChange:h=>{r(h);},total:Math.ceil(l/n),size:"sm",py:"xs"})})}var Se=lt;function Rt({profilePrefix:o,initialReportId:r,initialVariantId:n,translations:l,onSelect:u,reportTile:h}){let i=useRef(),x=A(),{query:p,setQuery:c,results:y,loadingItems:e,loadingMetadata:b,translations:m,setTranslations:C,initExplore:f}=x;useEffect(()=>{f&&f(r,n);},[f]),useEffect(()=>{e||i.current?.focus();},[e]),useEffect(()=>{l&&C(l);},[l]);let L=()=>{c("");};return jsxs(Container,{fluid:!0,pt:"1em",children:[jsx(TextInput,{placeholder:m.search,mb:"md",size:"xl",onChange:M=>c(M.target.value),readOnly:b||e,icon:jsx(IconSearch,{size:24}),value:p,rightSectionWidth:100,rightSectionProps:{style:{justifyContent:"flex-end",padding:"0 15px 0 0"}},rightSection:jsxs(Group,{align:"center",children:[(b||e)&&jsx(Loader,{size:28}),p!==""&&jsx(ActionIcon,{onClick:L,children:jsx(IconTrash,{size:24})})]}),ref:i}),jsx(xe,{translations:m}),jsx(LoadingOverlay,{visible:b||e}),!e&&y.length===0&&jsx(Alert,{title:m.no_results,color:"blue",children:m.try_another}),jsx(ve,{profilePrefix:o,onSelect:u,reportTile:h}),jsx(Se,{})]})}var le=Rt;var{localeDefault:Et}=q();function It({exploreProps:o={profilePrefix:"/",locale:Et},icon:r=jsx(IconSearch,{size:20}),actionIconProps:n={},modalProps:l={},tooltipProps:u={},tooltipText:h="Click to Explore",showIcon:i=!0,showTooltip:x=!1,children:p}){let[c,y]=useState(!1),e={variant:"light",size:"md",radius:"md",...n},b={fullScreen:!0,opened:c,onClose:()=>y(!1)},m=jsx(ActionIcon,{...e,onClick:()=>y(!0),children:r}),C=i?jsxs(Group,{spacing:"sm",style:{cursor:"pointer"},children:[p,m]}):p;return x&&(C=jsx(Tooltip,{label:h,...u,children:C})),jsxs(Fragment,{children:[jsx(Modal,{...b,...l,children:c&&jsx(le,{...o,onSelect:()=>y(!1)})}),jsx("div",{onClick:()=>y(!0),children:p?C:jsx(Fragment,{children:m})})]})}var kt=It;var wt=forwardRef(({id:o,members:r,profilePrefix:n,reportName:l,reportPath:u,...h},i)=>{let x=r.map(p=>jsxs(Stack,{align:"center",children:[jsx(Text,{weight:500,children:p.name}),jsx(Badge,{color:"green",variant:"light",children:p.variant})]},p.id));return jsx("div",{ref:i,children:jsx(Group,{position:"apart",grow:!0,...h,children:x})},o)}),ke=wt;var Ht=o=>{let{components:r}=U(),n=ke;return r?.ReportItem&&(n=r?.ReportItem),o&&(n=o),n};function Ut({locale:o,profilePrefix:r="/report",autocompleteProps:n={},tooltipProps:l={},tooltipText:u="Click to search",searchReportParams:h={},callback:i,children:x}){let p=useRouter(),c=p.locale,{localeDefault:y}=q(),e=c===y?"":`/${c}`,b=Ht(n?n.itemComponent:null),[m,C]=useState(""),[f,L]=useDebouncedValue(m,500),[M,J]=useState([]),[N,Q]=useState(!1),[Y,W]=useState(!1),[V,B]=useState(!1),[k,G]=useState(!x),X=()=>{G(!1);},Z=()=>{G(!0),$();},O=useRef(),H=useClickOutside(X),_=n?.searchConfig?.searchLimit??10,$=()=>{Q(!0);let g={query:f,format:"profiles",locale:o,limit:_,visible:!0,includes:!0,noImage:!1,variant:[],dimension:[],report:[],all:!1,...h};ue.get("/api/cms/search/reports",{params:g}).then(s=>{s&&s.data&&s.data.data&&s.data.data.results&&J(s.data.data.results.map(d=>({id:d.id,reportName:d.report.name,href:`${e}${r}${d.path}`,reportPath:`${d.path}`,profilePrefix:r,value:`VALUE: ${d.id}`,members:d.members.map(a=>({original_id:a.metadata.id,name:a.name,id:a.id,variant:a.metadata.variant.name,image:{src:`/api/cms/member/image?member=${a.id}&size=thumb`,alt:a.name}}))}))),Q(!1),O.current?.focus();}).catch(s=>{console.error(s),Q(!1);});};useEffect(()=>{V&&f.length>=(n.searchConfig?.queryThreshold??0)&&$();},[V,f,n.searchConfig?.queryThreshold]),useEffect(()=>{L(),O.current&&k&&B(!0);},[]),useEffect(()=>{L(),O.current&&k&&B(!0);},[k]);let ee=g=>{G(!1),i?i(g):(p.push(g.href),W(!0));},te=g=>{g.includes("VALUE:")||C(g);},{searchConfig:F,...oe}=n,re={placeholder:"Search",size:"md",icon:jsx(IconSearch,{}),...oe,data:M},t=jsx(Autocomplete,{value:m,itemComponent:b,onItemSubmit:ee,onChange:te,filter:()=>!0,disabled:(N||Y)&&!V,limit:_,maxDropdownHeight:250,rightSection:jsx(Group,{spacing:0,position:"right",children:N?jsx(Loader,{size:20}):jsx(Fragment,{})}),rightSectionWidth:50,ref:O,...re});return x?jsx(Tooltip,{label:u,disabled:k,...l,children:jsxs(Group,{ref:H,spacing:"sm",align:"center",style:{cursor:"pointer"},children:[!k&&jsx("div",{onClick:()=>G(!0),children:x}),k&&jsx(Fragment,{children:t}),k?jsx(ActionIcon,{variant:"light",onClick:X,children:jsx(IconX,{size:20})}):jsx(ActionIcon,{variant:"light",onClick:Z,children:jsx(IconSearch,{size:20})})]})}):t}var Wt=Ut;
|
|
10
|
+
var ie={try_another:"Try another search or filter.",search:"Search",filters_all:"All",no_results:"No Results",load_more:"Load more",select_report:"Select Report",select_variant:"Select Variant",count_format:".2s",report:{},dimension:{},variant:{}},ge=createContext({metadata:[],loadingItems:!1,setLoadingItems:()=>null,loadingMetadata:!1,setLoadingMetadata:()=>null,resultCount:{},totalCount:{},setResultCount:()=>null,activePage:1,setActivePage:()=>null,pageSize:10,results:[],filters:{},doQuery:()=>null,setFilters:()=>null,query:"",setQuery:()=>null,debouncedQuery:"",currentPageTotal:10,selectorStructure:[],translations:ie,setTranslations:()=>null,showSelectors:!0}),L=()=>useContext(ge);function Ve({children:t,pageSize:i=10}){let a={profile:void 0,variant:void 0},[s,d]=useState([]),[g,b]=useState(!1),[m,h]=useState(!1),[x,o]=useState({}),[y,R]=useState({}),[p,e]=useState(1),[c,_]=useState(a),[B,$]=useState(""),[G]=useDebouncedValue(B,750),[H,ee]=useState([]),[Z,U]=useState(ie),[w,A]=useState(!1),{locale:O}=useRouter(),J=async()=>{try{h(!0),fe.get("/api/cms/read/metadata").then(r=>{if(r&&r.data&&r.data.data&&r.data.data.data){let v=r.data.data.data.reduce((u,l)=>(l.dimensions&&l.dimensions.forEach(f=>{f.variants&&f.variants.forEach(n=>{u[n.id]=n.members_count||0;});}),u),{});d(r.data.data.data),o(v),R(v);}h(!1),A(!0);}).catch(r=>{console.error(r);});}catch(r){console.error("Error fetching metadata:",r),d([]),h(!1),o({}),R({});}},te=r=>{o(r||y);},F=useCallback(async(r,v,u)=>{!w&&s.length===0&&await J(),_({profile:r,variant:v}),u!==""&&$(u);},[]);useEffect(()=>{let r=!1;return w&&(b(!0),e(1),X(r,0)),()=>{r=!1;}},[G,c,w]),useEffect(()=>{if(w){b(!0);let r=(p-1)*i;X(!1,r);}},[p]);let X=async(r,v)=>{let u=c.profile&&!Number.isNaN(c.profile)?[c.profile]:[],l=c.variant?typeof c.variant=="string"&&c.variant.includes(",")?c.variant.split(",").map(n=>parseInt(n,10)):[parseInt(c.variant,10)]:[],f={query:G,format:"profiles",locale:O,limit:i,offset:v,visible:!0,includes:!0,noImage:!1,variant:l,dimension:[],report:u,all:!1,origin:"typesense"};fe.get("/api/cms/search/reports",{params:f}).then(n=>{if(n&&n.data&&n.data.data&&n.data.data.results&&!r){let M=n.data.data.results;ee(M),o(!B||B===""?!1:n.data.data.meta.variantCount);}b(!1);}).catch(n=>{console.error(n),b(!1);});},N=x||y,D={id:void 0,name:Z.filters_all||"ALL"},re=r=>{let v=r.reduce((l,f)=>l.reduce((n,M)=>n.concat(f.map(Ge=>[].concat(M,Ge))),[])).map(l=>{let f;return Array.isArray(l)?f={id:l.map(n=>n.id).join(","),name:l.map(n=>n.name).join(" / "),members_count:l.reduce((n,M)=>n*(N[M.id]||1),1),ordering:l.reduce((n,M)=>n+M.ordering,0)}:(l.members_count=N[l.id]||0,f={...l,members_count:N[l.id]||0}),f}),u=v.reduce((l,f)=>l+(f.members_count||0),0);return [{...D,members_count:u},...v]},oe=s.length>1,Q=useMemo(()=>{let r=[];if(!m&&s.length>0&&N){let v=s.filter(u=>u.dimensions.length>0).map(u=>{let l=!1,f=re(u.dimensions.map(n=>n.variants));return f&&f.length>2&&(l=!0),{id:u.id,name:u.dimensions.map(n=>n.name).join(" / "),variants:f,members_count:f.filter(n=>n.id).reduce((n,M)=>n+(M.members_count||0),0),show:l}});r=[{...D,members_count:v.reduce((u,l)=>u+(l.members_count||0),0)},...v];}return r},[m,N,s,D]),ne=useMemo(()=>{let r;return Q&&(c.profile?c.profile&&(r=Q.find(v=>v.id===c.profile),r&&c.variant&&r.variants&&(r=r.variants.find(v=>v.id===c.variant))):r=Q.find(v=>!v.id)),r?r.members_count:i},[c,Q]),ae={metadata:s,loadingMetadata:m,setLoadingMetadata:h,loadingItems:g,setLoadingItems:b,resultCount:x,totalCount:y,setResultCount:te,activePage:p,setActivePage:e,pageSize:i,filters:c,setFilters:_,doQuery:X,query:B,setQuery:$,debouncedQuery:G,results:H,currentPageTotal:ne,selectorStructure:Q,translations:Z,setTranslations:r=>U({...ie,...r}),showSelectors:oe,initExplore:F};return jsx(ge.Provider,{value:ae,children:t})}function Xe({translations:t}){let{loadingItems:i,setFilters:a,selectorStructure:s,filters:d,showSelectors:g}=L(),b=e=>{let c=e===null||Number.isNaN(e)?void 0:parseInt(e,10);c!==d.profile?a({profile:c,variant:void 0}):c&&a({profile:void 0,variant:void 0});},m=e=>{let c=e===null?void 0:typeof e=="string"&&e.includes(",")?e:parseInt(e,10);c!==d.variant?a({...d,variant:c}):c&&a({...d,variant:void 0});},h=e=>e<1e3?e:format(t.count_format)(e).replace(/\.0+([a-zA-Z]*)$/,"$1"),x=s.length===2?s[1].id:d.profile,o=x?s.find(e=>e.id===x):void 0,y=o&&o.variants&&d.variant?o.variants.find(e=>e.id===d.variant):void 0,R=useMemo(()=>s.map(e=>({value:String(e.id||""),label:(t?.dimensionIcon?.[e.name]?`${t?.dimensionIcon?.[e.name]} `:"")+(t?.dimension[e.name]||e.name)+(!i&&(!o||e.id===o?.id)?` (${h(e.members_count)})`:"")})),[t,o,s]),p=useMemo(()=>o?.variants?.map(e=>({value:String(e.id||""),label:(t?.variantIcon?.[e.name]?`${t?.variantIcon?.[e.name]} `:"")+(t?.variant[e.name]||e.name)+(!i&&(!y||e.id===y?.id)?` (${h(e.members_count)})`:"")}))??[],[t,y,s]);return jsx(Fragment,{children:g&&jsxs(Fragment,{children:[jsx(MediaQuery,{largerThan:1e3,styles:{display:"none"},children:jsxs(Group,{className:"bespoke-explore-reports-select-container",position:"center",mb:"md",children:[jsx(Select,{className:"bespoke-explore-reports-select",data:R,value:String(o?.id||""),onChange:e=>b(e),label:t.select_report||"Select Report",placeholder:t.select_report||"Select Report",clearable:typeof o?.id<"u",style:{width:"450px"}}),o?.variants&&o.variants.length>2&&jsx(Select,{className:"bespoke-explore-variant-select",data:p,value:String(y?.id||""),onChange:e=>m(e),label:t.select_variant||"Select Variant",placeholder:t.select_variant||"Select Variant",clearable:typeof y?.id<"u",style:{width:"450px"}})]})}),jsx(MediaQuery,{smallerThan:1e3,styles:{display:"none"},children:jsxs("div",{children:[jsx(Group,{position:"center",className:"bespoke-explore-reports-selector",mb:"md",children:s.map(e=>jsxs(Button,{"data-selected":e.id===o?.id?"true":"false","data-report-name":e.name,variant:e.id===o?.id?"outline":"subtle",onClick:()=>b(e.id),rightIcon:e.id&&e.id===o?.id?jsx(IconX,{size:"1rem"}):void 0,leftIcon:t?.dimensionIcon?.[e.name]??void 0,children:[jsx(Text,{span:!0,className:"bespoke-explore-reports-name",dangerouslySetInnerHTML:{__html:t?.dimension[e.name]??e.name}}),!i&&(!o||e.id===o?.id)&&jsx(Text,{span:!0,size:"xs",ml:"0.2rem",className:"bespoke-explore-reports-count",children:`(${h(e.members_count)})`})]},`p-${e.id}`))}),o&&o.variants&&o.variants.length>2&&jsx(Group,{position:"center",style:{minHeight:"36px"},className:"bespoke-explore-variant-selector",mb:"md",children:o.variants.map(e=>jsxs(Button,{"data-selected":e.id===y?.id?"true":"false","data-variant-name":e.name,variant:e.id===y?.id?"outline":"subtle",onClick:()=>m(e.id),rightIcon:e.id&&e.id===y?.id?jsx(IconX,{size:"1rem"}):void 0,leftIcon:t?.variantIcon?.[e.name]?jsx(Text,{span:!0,dangerouslySetInnerHTML:{__html:t.variantIcon[e.name]}}):void 0,children:[jsx(Text,{span:!0,className:"bespoke-explore-variant-name",dangerouslySetInnerHTML:{__html:t?.variant[e.name]??e.name}}),!i&&(!y||e.id===y?.id)&&jsx(Text,{span:!0,size:"xs",ml:"0.2rem",className:"bespoke-explore-variant-count",children:`(${h(e.members_count)})`})]},`v-${e.id}`))})]})})]})})}var Se=Xe;function K(){return useMantineTheme().other.bespokeStyles??{}}var je=()=>{let t=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",i=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[t];return i.includes(t)||i.push(t),{localeDefault:t,locales:i}},q=je;function ot({reportId:t,reportName:i,members:a,href:s,onClick:d}){let g=a.map(m=>jsx(Image,{src:m.image.src,height:160,imageProps:{loading:"lazy"},alt:m.name},m.id)),b=a.map(m=>jsxs(Stack,{children:[jsx(Text,{weight:500,children:m.name}),jsx(Badge,{color:"green",variant:"light",w:"fit-content",children:m.variant})]},m.id));return jsxs(Card,{className:`report-${t}-tile`,shadow:"sm",p:"lg",radius:"md",withBorder:!0,children:[jsx(Card.Section,{children:jsx(Group,{grow:!0,spacing:0,children:g})}),jsx(Group,{position:"apart",mt:"md",mb:"xs",children:b}),jsx("a",{href:s,onClick:d,children:jsx(Button,{variant:"light",color:"blue",fullWidth:!0,mt:"md",radius:"md",children:`See ${i} Report`})})]})}var nt=t=>{let{components:i}=K(),a=ot;return i?.ReportTile&&(a=i?.ReportTile),t&&(a=t),a};function at({profile:t,profilePrefix:i,onSelect:a,reportTile:s}){let d=useRouter(),g=d.locale,{localeDefault:b}=q(),h=`${g===b?"":`/${g}`}${i}${t.path}`,x=t.members.map(p=>({original_id:p.metadata.id,name:p.name,id:p.id,dimension_id:p.metadata.dimension.id,dimension:p.metadata.dimension.name,variant_id:p.metadata.variant.id,variant:p.metadata.variant.name,image:{src:`/api/cms/member/image?member=${p.id}&size=thumb`,alt:p.name}})),o=p=>{d.push(`${p}`),a&&a();},y=p=>{p.preventDefault(),o(h);},R=nt(s);return jsx(Grid.Col,{xs:12,sm:6,md:4,lg:4,xl:3,children:jsx(R,{reportId:t.report.id,reportName:t.report.name,members:x,href:h,onClick:y})},t.id)}var Ie=at;function mt({profilePrefix:t,onSelect:i=()=>{},reportTile:a}){let[s,d]=useState(500),g=useRef(null),{results:b}=L(),m=g.current?.offsetTop||0,h=50;return useEffect(()=>{let{innerHeight:x}=window;d(x-m-h);},[m]),jsx(ScrollArea,{offsetScrollbars:!0,type:"always",h:s,ref:g,children:jsx(Grid,{align:"stretch",children:b.map(x=>jsx(Ie,{profile:x,profilePrefix:t,reportTile:a,onSelect:i},x.id))})})}var Ee=mt;function ft(){let{activePage:t,setActivePage:i,pageSize:a,currentPageTotal:s}=L();return jsx(Group,{position:"center",children:jsx(Pagination,{value:t,onChange:g=>{i(g);},total:Math.ceil(s/a),size:"sm",py:"xs"})})}var _e=ft;function Ct({profilePrefix:t,initialReportId:i,initialVariantId:a,translations:s,onSelect:d,reportTile:g,initialQuery:b}){let m=useRef(),h=L(),{query:x,setQuery:o,results:y,loadingItems:R,loadingMetadata:p,translations:e,setTranslations:c,initExplore:_}=h;useEffect(()=>{_&&_(i,a,b);},[_]),useEffect(()=>{R||m.current?.focus();},[R]),useEffect(()=>{s&&c(s);},[s]);let B=()=>{o("");};return jsxs(Container,{fluid:!0,pt:"1em",children:[jsx(TextInput,{placeholder:e.search,mb:"md",size:"xl",onChange:$=>o($.target.value),readOnly:p||R,icon:jsx(IconSearch,{size:24}),value:x,rightSectionWidth:100,rightSectionProps:{style:{justifyContent:"flex-end",padding:"0 15px 0 0"}},rightSection:jsxs(Group,{align:"center",children:[(p||R)&&jsx(Loader,{size:28}),x&&x!==""&&jsx(ActionIcon,{onClick:B,children:jsx(IconTrash,{size:24})})]}),ref:m}),jsx(Se,{translations:e}),jsx(LoadingOverlay,{visible:p||R}),!R&&y.length===0&&jsx(Alert,{title:e.no_results,color:"blue",children:e.try_another}),jsx(Ee,{profilePrefix:t,onSelect:d,reportTile:g}),jsx(_e,{})]})}var pe=Ct;var{localeDefault:Lt}=q();function Bt({exploreProps:t={profilePrefix:"/",locale:Lt},icon:i=jsx(IconSearch,{size:20}),actionIconProps:a={},modalProps:s={},tooltipProps:d={},tooltipText:g="Click to Explore",showIcon:b=!0,showTooltip:m=!1,children:h}){let[x,o]=useState(!1),y={variant:"light",size:"md",radius:"md",...a},R={fullScreen:!0,opened:x,onClose:()=>o(!1)},p=jsx(ActionIcon,{...y,onClick:()=>o(!0),children:i}),e=b?jsxs(Group,{spacing:"sm",style:{cursor:"pointer"},children:[h,p]}):h;return m&&(e=jsx(Tooltip,{label:g,...d,children:e})),jsxs(Fragment,{children:[jsx(Modal,{...R,...s,children:x&&jsx(pe,{...t,onSelect:()=>o(!1)})}),jsx("div",{onClick:()=>o(!0),children:h?e:jsx(Fragment,{children:p})})]})}var Nt=Bt;var Ft=forwardRef(({id:t,members:i,...a},s)=>{let d=i.map(g=>jsxs(Stack,{align:"center",children:[jsx(Text,{weight:500,children:g.name}),jsx(Badge,{color:"green",variant:"light",children:g.variant})]},g.id));return jsx("div",{ref:s,children:jsx(Group,{position:"apart",grow:!0,...a,children:d})},t)}),Be=Ft;var Zt=t=>{let{components:i}=K(),a=Be;return i?.ReportItem&&(a=i?.ReportItem),t&&(a=t),a};function Jt({locale:t,profilePrefix:i="/report",autocompleteProps:a={},tooltipProps:s={},tooltipText:d="Click to search",searchReportParams:g={},callback:b,children:m}){let h=useRouter(),x=h.locale,{localeDefault:o}=q(),y=x===o?"":`/${x}`,R=Zt(a?a.itemComponent:null),[p,e]=useState(""),[c,_]=useDebouncedValue(p,500),[B,$]=useState([]),[G,H]=useState(!1),[ee,Z]=useState(!1),[U,w]=useState(!1),[A,O]=useState(!m),J=()=>{O(!1);},te=()=>{O(!0),D();},F=useRef(),X=useClickOutside(J),N=a?.searchConfig?.searchLimit??10,D=()=>{H(!0);let u={query:c,format:"profiles",locale:t,limit:N,visible:!0,includes:!0,noImage:!1,variant:[],dimension:[],report:[],all:!1,...g};fe.get("/api/cms/search/reports",{params:u}).then(l=>{l&&l.data&&l.data.data&&l.data.data.results&&$(l.data.data.results.map(f=>({id:f.id,reportName:f.report.name,href:`${y}${i}${f.path}`,reportPath:`${f.path}`,profilePrefix:i,value:`VALUE: ${f.id}`,members:f.members.map(n=>({original_id:n.metadata.id,name:n.name,id:n.id,variant:n.metadata.variant.name,image:{src:`/api/cms/member/image?member=${n.id}&size=thumb`,alt:n.name}}))}))),H(!1),F.current?.focus();}).catch(l=>{console.error(l),H(!1);});};useEffect(()=>{U&&c.length>=(a.searchConfig?.queryThreshold??0)&&D();},[U,c,a.searchConfig?.queryThreshold]),useEffect(()=>{_(),F.current&&A&&w(!0);},[]),useEffect(()=>{_(),F.current&&A&&w(!0);},[A]);let re=u=>{O(!1),b?b(u):(h.push(u.href),Z(!0));},oe=u=>{u.includes("VALUE:")||e(u);},{searchConfig:Q,...ne}=a,ae={placeholder:"Search",size:"md",icon:jsx(IconSearch,{}),...ne,data:B},r=jsx(Autocomplete,{value:p,itemComponent:R,onItemSubmit:re,onChange:oe,filter:()=>!0,disabled:(G||ee)&&!U,limit:N,maxDropdownHeight:250,rightSection:jsx(Group,{spacing:0,position:"right",children:G?jsx(Loader,{size:20}):jsx(Fragment,{})}),rightSectionWidth:50,ref:F,...ae});return m?jsx(Tooltip,{label:d,disabled:A,...s,children:jsxs(Group,{ref:X,spacing:"sm",align:"center",style:{cursor:"pointer"},children:[!A&&jsx("div",{onClick:()=>O(!0),children:m}),A&&jsx(Fragment,{children:r}),A?jsx(ActionIcon,{variant:"light",onClick:J,children:jsx(IconX,{size:20})}):jsx(ActionIcon,{variant:"light",onClick:te,children:jsx(IconSearch,{size:20})})]})}):r}var Yt=Jt;
|
|
10
11
|
|
|
11
|
-
export {
|
|
12
|
+
export { pe as BespokeExplore, Nt as BespokeExploreModal, Ve as BespokeExploreProvider, Yt as BespokeSearch, L as useBespokeExplore };
|
package/dist/index.js
CHANGED
|
@@ -2,6 +2,6 @@ import { useMantineTheme, Modal, Group, Button } from '@mantine/core';
|
|
|
2
2
|
import p, { useState, useCallback, useContext } from 'react';
|
|
3
3
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
4
|
|
|
5
|
-
var C=p.createContext(void 0);function b(n){let[o,r]=useState(!1),[e,i]=useState(null),s=p.useMemo(()=>{function t(d,v){return v?{show:()=>t(d)}:new Promise((D,x)=>{i({request:d,onResolve:D,onReject:x}),r(!0);})}return {newConfirmation:t}},[]),u=()=>{r(!1),setTimeout(()=>i(null),200);},P=useCallback(t=>{!o||!e||(e.onResolve(t),u());},[o,e]),g=useCallback(t=>{!o||!e||(e.onReject(t),u());},[o,e]);return jsxs(C.Provider,{value:s,children:[e&&jsx(
|
|
5
|
+
var C=p.createContext(void 0);function b(n){let[o,r]=useState(!1),[e,i]=useState(null),s=p.useMemo(()=>{function t(d,v){return v?{show:()=>t(d)}:new Promise((D,x)=>{i({request:d,onResolve:D,onReject:x}),r(!0);})}return {newConfirmation:t}},[]),u=()=>{r(!1),setTimeout(()=>i(null),200);},P=useCallback(t=>{!o||!e||(e.onResolve(t),u());},[o,e]),g=useCallback(t=>{!o||!e||(e.onReject(t),u());},[o,e]);return jsxs(C.Provider,{value:s,children:[e&&jsx(k,{opened:o,request:e.request,onConfirm:P,onCancel:g}),n.children]})}function k(n){let{request:o,opened:r,onCancel:e,onConfirm:i}=n,s=useMantineTheme();return jsxs(Modal,{centered:!0,zIndex:1002,opened:r,title:o.title,onClose:e,children:[o.message,jsxs(Group,{position:"right",style:{marginTop:s.spacing.sm},children:[jsx(Button,{onClick:e,children:o.cancelText||"Cancel"}),jsx(Button,{color:"red",onClick:i,children:o.confirmText||"Confirm"})]})]})}function M(){let n=useContext(C);if(n===void 0)throw new Error("useConfirmationDialog must be used within ConfirmationDialogProvider.");return n}
|
|
6
6
|
|
|
7
|
-
export { b as DialogProvider,
|
|
7
|
+
export { b as DialogProvider, M as useDialog };
|
package/dist/redux-store.js
CHANGED
|
@@ -1,31 +1,32 @@
|
|
|
1
1
|
import { createSlice, configureStore } from '@reduxjs/toolkit';
|
|
2
2
|
import { HYDRATE, createWrapper } from 'next-redux-wrapper';
|
|
3
|
-
import
|
|
3
|
+
import tt from 'axios';
|
|
4
4
|
import { schema, normalize } from 'normalizr';
|
|
5
|
-
import { assign, closest, merge } from 'd3plus-common';
|
|
6
|
-
import * as
|
|
7
|
-
import * as
|
|
8
|
-
import * as
|
|
9
|
-
import * as
|
|
5
|
+
import { assign, closest, merge, isObject } from 'd3plus-common';
|
|
6
|
+
import * as po from 'd3-array';
|
|
7
|
+
import * as fo from 'd3-collection';
|
|
8
|
+
import * as mo from 'd3-format';
|
|
9
|
+
import * as yo from 'd3-time-format';
|
|
10
10
|
import { formatAbbreviate } from 'd3plus-format';
|
|
11
11
|
import { date } from 'd3plus-axis';
|
|
12
12
|
import { strip, titleCase } from 'd3plus-text';
|
|
13
|
-
import
|
|
14
|
-
import
|
|
13
|
+
import Ao from 'jsonwebtoken';
|
|
14
|
+
import mr from 'axios-retry';
|
|
15
|
+
import Wo from 'yn';
|
|
15
16
|
import { format } from 'pretty-format';
|
|
16
|
-
import
|
|
17
|
+
import dn from 'toposort';
|
|
17
18
|
import { csvParse } from 'd3-dsv';
|
|
18
|
-
import
|
|
19
|
+
import un from 'next/config';
|
|
19
20
|
import { notifications } from '@mantine/notifications';
|
|
20
21
|
import { createContext } from 'react';
|
|
21
22
|
import { useDispatch, useSelector } from 'react-redux';
|
|
22
23
|
import 'react/jsx-runtime';
|
|
23
24
|
import '@mantine/core';
|
|
24
25
|
|
|
25
|
-
var Nr=Object.defineProperty;var Dr=(e,t)=>{for(var r in t)Nr(e,r,{get:t[r],enumerable:!0});};function H(e,t){return e.request(t).then(r=>{let{status:o,data:n}=r;return "error"in n?{ok:!1,status:o,error:n.error}:{ok:!0,status:o,data:n.data}},r=>{if("isAxiosError"in r){let{status:o,data:n}=r.response||{status:500};return {ok:!1,status:o,error:n?.error??r.message}}return {ok:!1,status:500,error:r.message}})}function _(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>H(e,{...o,method:"GET",params:r?r(n):n})}function B(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>H(e,{...o,method:"POST",data:r?r(n):n})}function ee(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>H(e,{...o,method:"DELETE",params:r?r(n):n})}function pe(e,t){return r=>H(e,{method:"POST",url:`images/save/${t}`,params:{prompt:r.prompt,provider:t}})}function ve(e,t){return r=>H(e,{method:"GET",url:`images/search/${t}`,params:{prompt:r.prompt,page:r.page,provider:t}})}function It(e,t){return ()=>H(e,{method:"GET",url:`list/icons/${t}`,params:{provider:t}})}function _t(e,t){return r=>H(e,{method:"GET",url:`read/icons/${t}/icon.svg`,params:{name:r.name}})}var de=e=>({id:e}),Fr=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 xe(e){let t=je.create({baseURL:e});return {createBulkBlock:B(t,"create/bulk/block"),createBlock:B(t,"create/block"),createDimension:B(t,"create/dimension"),createFormatter:B(t,"create/formatter"),createReport:B(t,"create/report"),createSection:B(t,"create/section"),createVariant:B(t,"create/variant"),deleteBlock:ee(t,"delete/block",de),deleteDimension:ee(t,"delete/dimension",de),deleteFormatter:ee(t,"delete/formatter",de),deleteReport:ee(t,"delete/report",de),deleteSection:ee(t,"delete/section",de),deleteVariant:ee(t,"delete/variant",de),readBlock:_(t,"read/block"),readDimension:_(t,"read/dimension"),readFormatter:_(t,"read/formatter"),readReport:_(t,"read/report"),readSection:_(t,"read/section"),readVariant:_(t,"read/variant"),updateBulkBlock:B(t,"update/bulk/block"),updateBlock:B(t,"update/block"),updateDimension:B(t,"update/dimension"),updateFormatter:B(t,"update/formatter"),updateReport:B(t,"update/report"),updateSection:B(t,"update/section"),updateVariant:B(t,"update/variant"),searchReport:_(t,"search/reports"),validateVariantSlug:_(t,"validate/variant"),readMember:_(t,"read/members",Fr),readMemberImage:_(t,{url:"member/image",responseType:"blob"}),searchMember:_(t,"search/members"),updateMember:_(t,"update/members"),imageLocalSearch:ve(t,"local"),imageLocalSave:pe(t,"local"),imageFlickrSearch:ve(t,"flickr"),imageFlickrSave:pe(t,"flickr"),imageUnsplashSearch:ve(t,"unsplash"),imageUnsplashSave:pe(t,"unsplash"),imageUploadSave:pe(t,"upload"),imageAdobeSearch:ve(t,"adobe"),imageAdobeSave:pe(t,"adobe"),readMetadata:_(t,"read/metadata"),regenerateSearch:B(t,"search/regenerate"),urlProxy:_(t,"url/proxy"),searchRole:_(t,"auth/search/roles"),searchUser:_(t,"auth/search/users"),readUser:_(t,"auth/read/user"),updateUser:B(t,"auth/update/user"),updateMyData:B(t,"auth/update/me"),revalidateReport:_(t,"revalidate/report"),revalidateUrl:_(t,"revalidate/url"),readPrivateBlocks:B(t,"read/blocks/private"),listTablerIcons:It(t,"tabler"),readTablerIcon:_t(t,"tabler")}}function qr(e,t){return +(e<t)-+(e>t)}function we(e,t,r="ordering"){return qr(t[r],e[r])}function Je(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 Bt(e,t,r){let o=0,n=1,s=1,a=1,i=0,c=0,u;for(;Math.abs((s-c)/s)>1e-5;)c=s,u=-(t+i)*(t+r+i)*e/(t+2*i)/(t+2*i+1),o=s+u*o,n=a+u*n,i+=1,u=i*(r-i)*e/(t+2*i-1)/(t+2*i),s=o+u*s,a=n+u*a,o/=a,n/=a,s/=a,a=1;return s/t}function $r(e,t,r){let o,n;if(e<0)n=0;else if(e>=t)n=1;else {e=Math.floor(e);let s=r,a=e+1,i=t-e,c=a+i,u=Math.exp(Je(c)-Je(i)-Je(a)+a*Math.log(s)+i*Math.log(1-s));s<(a+1)/(c+2)?o=u*Bt(s,a,i):o=1-u*Bt(1-s,i,a),n=1-o;}return Math.round(n*1e5)/1e5}function Vr(e){return {.99999:15.137,.99:6.635,.95:3.841,.9:2.706}[e]}function ke(e,t,r,o){let n=t/(1-t),s=0,a=1,i=0,c=0;for(;s<=e;)c+=a,s>=r&s<=o&&(i+=a),c>1e30&&(i/=1e30,c/=1e30,a/=1e30),s+=1,a=a*n*(e+1-s)/s;return i/c}function zr(e,t,r){let o=e/t,s=(100-r*100)/2,a,i;if(e===0)a=0;else {let c=o/2,u=0,p=o,l=s/100;for(;p-u>1e-5;)ke(t,c,e,e)*.5+ke(t,c,e+1,t)>l?(p=c,c=(u+c)/2):(u=c,c=(p+c)/2);a=c;}if(e===t)i=0;else {let c=(1+o)/2,u=o,p=1,l=s/100;for(;p-u>1e-5;)ke(t,c,e,e)*.5+ke(t,c,0,e-1)<l?(p=c,c=(u+c)/2):(u=c,c=(p+c)/2);i=c;}return {lci:a,uci:i}}function jr(e,t){let r=e,o=t,n=r,s=o,a=95,i=.5,c=.5,p=(100-a)/2/100,l=n;for(;c>1e-5;)c/=2,Me((1+l)*i/(1-i),l+1,1e10)+.5*Me((1+l)*i/(1-i),l,l)>p?i-=c:i+=c;let f=(1+l)*i/(1-i)/s;for(i=.5,c=.5,p=(100-a)/2/100;c>1e-5;)c/=2,Me((1+l)*i/(1-i),0,l-1)+.5*Me((1+l)*i/(1-i),l,l)<p?i-=c:i+=c;let T=(1+l)*i/(1-i)/s;return {lci:f,uci:T}}function Me(e,t,r){let o=1,n=0,s=0,a=0;for(;a<e||o>n*1e-10;)n+=o,a>=t&a<=r&&(s+=o),n>1e30&&(s/=1e30,n/=1e30,o/=1e30),a+=1,o=o*e/a;return s/n}var wt={binomialCdf:$r,binP:ke,computeMidP:zr,criticalValue:Vr,smr:jr};var fe={d3:{...Hr,...Gr,...Kr,...Yr},d3plus:{assign:assign,closest:closest,date:date,formatAbbreviate:formatAbbreviate,merge:merge,strip:strip,titleCase:titleCase},stats:wt};var Y=()=>{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}};Y();var Ce=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});Ce.define({consumers:[Ce],inputs:[Ce]});var Mt=new schema.Entity("variant"),Nt=new schema.Entity("dimension",{variants:[Mt]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),Dt=new schema.Entity("section",{blocks:[Ce]}),oo=new schema.Entity("report",{dimensions:[Nt],sections:[Dt]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(we):[]}}}),no=new schema.Entity("formatter"),so={report:oo,section:Dt,block:Ce,dimension:Nt,variant:Mt,formatter:no};function Ne(e,t){let r=so[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:me(o,"report"),dimension:me(o,"dimension"),section:me(o,"section"),block:me(o,"block"),variant:me(o,"variant"),formatter:me(o,"formatter")}}function me(e,t){return e.hasOwnProperty(t)?e[t]:{}}var Ut=(e,t=void 0)=>{let{sid:r,bid:o,previews:n=[],query:s={}}=t||{},a,i,c={};return r?(a=r,c.activeSection=a):a=e.activeSection,n.length>0?(i=n,c.previews=i.filter(Boolean)):i=e.previews,{parsedParams:{sid:a,bid:o,previews:i,query:s},statusPayload:c}};var co={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}}},X=createSlice({name:"records",initialState:co,reducers:{set:(e,t)=>{let r=t.payload;return {entities:Pe(e.entities,r.entities||{}),requests:Pe(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=Ne(r.type,o),s=Pe(e.entities,n);if(e.entities=s,r.type==="report"){let a=r.data;e.reports?e.reports.indexOf(a.id)===-1&&(e.reports=[...e.reports,a.id]):e.reports=[a.id];}else if(r.type==="dimension"){let a=r.data;e.entities.report[a.report_id].dimensions.push(a.id),e.entities.report[a.report_id].dimensions=De(s.report[a.report_id].dimensions,s.dimension);}else if(r.type==="variant"){let a=r.data;e.entities.dimension[a.dimension_id].variants.push(a.id);}else if(r.type==="section"&&!Array.isArray(r.data)){let a=r.data;e.entities.report[a.report_id].sections.push(a.id),e.entities.report[a.report_id].sections=De(s.report[a.report_id].sections,s.section);}else if(r.type==="block")if(Array.isArray(r.data)){let a=r.data,i=a[0],c=a.map(u=>u.id);e.entities.section[i.section_id].blocks.concat(c);}else {let a=r.data;e.entities.section[a.section_id].blocks.push(a.id);}}},setReadRequest(e,t){let r=t.payload;if(r.type!=="report"&&(e.requests[r.type][r.key]=r),r.status==="SUCCESS"){let o=Ne(r.type,r.data),n=Pe(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=Ne(r.type,o),s,a,i;if(r.type==="block"&&!Array.isArray(r.data)){let u=e.entities.block[r.data.id].inputs,p=n.block[r.data.id].inputs;s=u.length!==p.length,s&&(i=u.length>p.length,a=i?u.filter(l=>!p.includes(l))[0]:p.filter(l=>!u.includes(l))[0]),Object.values(n.block).forEach(l=>{l.block_input&&delete n.block[l.id];});}let c=Pe(e.entities,n);if(e.entities=c,r.type==="dimension"){let u=r.data;e.entities.report[u.report_id].dimensions=De(c.report[u.report_id].dimensions,c.dimension);}else if(r.type==="section"&&!Array.isArray(r.data)){let u=r.data;e.entities.report[u.report_id].sections=De(c.report[u.report_id].sections,c.section);}else if(r.type==="block"&&!Array.isArray(r.data)){let u=r.data;s&&(i?e.entities.block[a].consumers=e.entities.block[a].consumers.filter(p=>p!==u.id):e.entities.block[a].consumers.push(u.id));}}},setDeleteRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let{id:o,parentId:n,parentType:s}=r.data;if(delete e.entities[r.type][o],s&&n!=null){let a=`${r.type}s`;uo(e.entities[s][n][a],o);}}},removeBlocks:(e,t)=>{let r=t.payload,o={...e.entities.block};return r.forEach(n=>{delete o[n];}),{...e,entities:{...e.entities,block:o}}},addBlocks:(e,t)=>{let r=t.payload;return {...e,entities:{...e.entities,block:{...e.entities.block,...r}}}}},extraReducers:{[HYDRATE]:(e,t)=>{let r=t.payload.records,o=r.entities;return {entities:o,reports:Object.values(o.report).map(n=>n.id),requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},tree:r.tree}}}});function Pe(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],...t[r]}]))}function De(e,t){return e.map(n=>t[n]).sort(we).map(n=>n.id)}function uo(e,t){let r=e.indexOf(t);r>-1&&e.splice(r,1);}var te=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",Ue=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[te];Ue.includes(te)||Ue.push(te);var fo={localeDefault:te,locales:Ue,currentLocale:te,preferredLocale:te,showToolbar:!1,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:!0,settings:!1,reportEditor:!1},isCMS:!1},Fe=createSlice({name:"status",initialState:fo,reducers:{setStatus:(e,t)=>{Object.assign(e,t.payload);},setPreviews(e,t){e.previews=t.payload;},setCurrentLocale(e,t){e.currentLocale=t.payload;},setPreferredLocale(e,t){e.preferredLocale=t.payload;},setSectionState(e,t){e.sectionState={...e.sectionState,...t.payload};},resetSectionState(e,t){e.sectionState={...e.sectionState,[t.payload]:{}};},setActiveEntity(e,t){e.activeEntity=t.payload;},openSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!0};},closeSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!1};},toggleSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!e.sidebarStatus[t.payload]};}},extraReducers:{[HYDRATE]:(e,t)=>({...e,previews:t.payload.status.previews})}}),qe=Fe.actions;var Ro={attributes:{},variables:{},status:{}},$e=createSlice({name:"variables",initialState:Ro,reducers:{setVariableChange:(e,t)=>{e.attributes={...e.attributes,...t.payload.attributes},e.variables={...e.variables,...t.payload.variables},e.status={...e.status,...t.payload.status};}},extraReducers:{[HYDRATE]:(e,t)=>({attributes:{...e.attributes,...t.payload.variables.attributes},status:{...e.status,...t.payload.variables.status},variables:{...e.variables,...t.payload.variables.variables}})}}),Ft=$e.actions;var qt=e=>configureStore({reducer:{[X.name]:X.reducer,[Fe.name]:Fe.reducer,[$e.name]:$e.reducer},middleware(t){return t({thunk:{extraArgument:xe("/api/cms/")}})}}),$t=createWrapper(qt);var We={};Dr(We,{addBlockToState:()=>wn,cloneEntity:()=>Sr,createEntity:()=>hr,deleteEntity:()=>Tr,deleteQueryParam:()=>vn,readEntity:()=>_e,readMember:()=>Pr,readMetadata:()=>kn,readPrivateBlocks:()=>Mn,readUser:()=>On,recalculateVariables:()=>Or,removeBlocksFromState:()=>Bn,reportSearch:()=>Sn,resetSectionState:()=>Cr,revalidateReport:()=>Dn,revalidateUrl:()=>Nn,searchMember:()=>An,searchRegenerate:()=>bn,searchRole:()=>Pn,searchUser:()=>Ln,setCurrentLocale:()=>hn,setPreferredLocale:()=>En,setPreviews:()=>gn,setQueryParam:()=>xn,setSectionState:()=>kr,setStatus:()=>xr,updateEntity:()=>Er,updateMyData:()=>_n,updateUser:()=>In,urlProxy:()=>Cn,variantValidateSlug:()=>Tn});var{localeDefault:So}=Y();function j(e){return {variables:e.variables||{},query:e.query||{},locale:e.locale||So}}var oe={SINGLE:"single",MULTI:"multi"};var vo={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"},et={GENERATOR:"generator",RELATED:"related",VIZ:"visualization"},tt="logic",v={...vo,...et};var Po=ko(process.env.REPORTS_LOGGING),ne=Lo;function Lo(e,t,r,o,n=void 0,s){let a={},i=[],{locale:c}=j(s);try{if(t){let u=new Proxy(console,{get(l,f){return Oo(f,"log","debug","info","warn","error")?(...E)=>{i.push(`${f} ${Date.now()} - ${E.map(T=>format(T)).join(" ")}`),Po&&l[f](...E);}:l[f]}}),p;return n?p=new Function(e,"console","libs","formatters","locale","variables",r)(t,u,fe,o,c,n):p=new Function(e,"console","libs","formatters","locale",r)(t,u,fe,o,c),typeof p=="object"&&Object.keys(p).length>0&&Object.assign(a,p),{vars:a,error:null,log:i,output:p}}return {vars:a,error:"Invalid API Link",log:i}}catch(u){return {vars:a,error:u.message,log:i}}}function Oo(e,...t){return t.includes(e)}function rt(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 Re=Io;function Io(e,t,r,o=!1){let{variables:n}=j(r);if(!e)return e;let s=/([A-z0-9]*)\{\{([^\}]+)\}\}/g;return e.replace(s,(i,c,u)=>{let p=f=>f;if(c){let f=c.replace(/^\w/g,E=>E.toLowerCase());f in t?p=t[f]:p=E=>`${c}${E}`;}let l=Array.isArray(n[u])?rt(n[u]):n[u];if(l===void 0)return o?i:"N/A";try{return p(l,fe,t)}catch(f){return console.error(`Error using formatter ${p.name}
|
|
26
|
-
`,`Error message: ${
|
|
27
|
-
Error fetching ${
|
|
28
|
-
Message: ${
|
|
29
|
-
`)}));}let L=await Promise.all(R).catch(S=>S.message);if(typeof L=="string"&&L)return {outputVariables:{},renderVariables:{},status:{error:L}};c=L.length===1?L[0].data:L.map(S=>S.data),l=L.reduce((S,C)=>S+JSON.stringify(C.data).length/1024,0),p=Math.max(...L.map(S=>S.requestDuration));}if(e.type===v.SELECTOR){let{config:h,log:R,error:L}=st(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:Gt(e.id,a,h),renderVariables:h,status:{log:R,error:L,allowed:i}}}if(e.type===v.MULTIHIERARCHY_SELECTOR){let{config:h,log:R,error:L}=it(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:Kt(e.id,a,h),renderVariables:h,status:{log:R,error:L,allowed:i}}}if(e.type===v.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:i}};if(e.type===v.RELATED){let h=e.contentByLocale?.logic?.content?.simple?.compare||"variant",R=e.contentByLocale?.logic?.content?.simple?.limit||4,L=Object.keys(s).filter(g=>g.startsWith("report_id")).map(g=>s[g]),S=Object.keys(s).filter(g=>g.startsWith("dimension_id")).map(g=>s[g]),C=Object.keys(s).filter(g=>g.startsWith("variant_id")).map(g=>s[g]),D=Object.keys(s).filter(g=>g.startsWith("id")).map(g=>s[g]);if(!D.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:!1}};let M=(await o({mode:"ids",locale:n,ids:D,output:"lite"}).then(g=>{let N=[];return ut(g)?g.ok&&(N=g.data.results):N=g.results,N&&Array.isArray(N)?N:[]}).catch(g=>(console.log("Error getting related members",g),[]))).map(g=>g.content_id),Q={mode:"related",locale:n,related:R??4,current_ids:M,output:"full"};h&&(h==="report"?Q.report_ids=L:h==="dimension"?Q.dimension_ids=S:Q.variant_ids=C);let F=await o(Q).then(g=>{let N=[];return ut(g)?g.ok&&(N=g.data.results):N=g.results,N&&Array.isArray(N)?N:[]}).catch(g=>(console.log("Error getting related members",g),[]));return {outputVariables:{related_reports:F},renderVariables:{},status:{log:[],allowed:F.length>0}}}let{logic:E}=Wt(e,n),T=Re(E,t,r),b=ne("resp",c||{},T,t,s,r),{vars:d,error:x,log:A}=b;if(typeof d!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:A,duration:p,responseSize:l,resp:c,api:f,allowed:i}};let P=Object.keys(d).reduce((h,R)=>({...h,[`${e.type}${e.id}${R}`]:d[R]}),{});return {renderVariables:d,outputVariables:e.type===v.GENERATOR?d:P,status:{log:A,error:x,duration:p,responseSize:l,resp:c,api:f,allowed:i}}}function Ko(e,t,r,o,n,s,a){return e.consumers.forEach(i=>{if(t[i]){let c=`${r}-${i}`;!o.includes(c)&&(t[i].section_id===t[r].section_id||!n)&&o.push(c),e.consumers.filter(u=>t[u].section_id===t[r].section_id||!n).forEach(u=>lt(u,t,o,!1,s,n,a));}})}var lt=(e,t,r=[],o=!0,n=!0,s=!0,a=[])=>{if(a.includes(e))return [];a.push(e);let i=t[e];return i.inputs.length&&o&&i.inputs.forEach(c=>{let u=`${c}-${e}`;r.includes(u)||r.push(u),i.inputs.forEach(p=>lt(p,t,r,o,!1,s,a));}),i.consumers.length&&n&&Ko(i,t,e,r,s,n,a),r},Yo=(e,t,r,o)=>{let n=!0;if(e&&"allowed"in e.settings&&e.settings.allowed!=="always")if(e.settings.allowed==="never")n=!1;else {let s=j(t),{error:a,output:i}=ne("variables",r,e.settings.allowedLogic||"return false;",o,void 0,s);a||(n=!!i);}return n},tr=async(e,t,r,o,n,s={},a,i="section")=>{if(!r&&!t)return {...s};let c={...s.variables??{}},u={...s.status??{}},p=j(n),l=p.variables,f=r?{[r]:e[r]}:(t??[]).reduce((S,{id:C})=>({...S,...Qt(C,e)}),{});Le&&console.log("%crunConsumers: running root blocks","color:purple",Object.keys(f));let E=i==="section",T=Object.keys(f).reduce((S,C)=>{let D=new Date,I=lt(Number(C),e,[],!r,!0,E).map(F=>F.split("-")),Q=(new Date().getTime()-D.getTime())/1e3;return Le&&console.log(`%cResolved dependencies for ${C} (${Q.toFixed(2)}s)`,"color:blue"),[...S,...I]},[]),b=new Date,d=Object.keys(f).reduce((S,C)=>S.includes(C)?[...S]:[C,...S],Uo(T)),A=(new Date().getTime()-b.getTime())/1e3;Le&&console.log(`%cResolved DAG (${A.toFixed(2)}s): `,"color:green",d);async function P(S,C){let D=new Map;for(let I of S){let M=C[I],F=Promise.all(M.inputs.filter(g=>S.includes(String(g))).map(g=>D.get(Number(g)))).then(async()=>{let g=M.inputs.reduce(($,U)=>({...$,...c[U]}),l),N=M.inputs.find($=>(M.settings?.ignoreCascade?M.settings?.ignoreCascade:[]).includes($)?!1:!u[$].allowed||u[$].hiddenByCascade);if(N){u[I]={allowed:!1,hiddenByCascade:u[N].hiddenByCascade||N},c[I]={};return}let Ot=new Date,q=await Go(M,o,{...p,variables:g,locale:g.locale},a).then(({outputVariables:$,status:U})=>{if(U.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${I}, Section ${M.section_id}) failed with message: ${U.error}. `);u[I]={allowed:!1,error:U.error},c[I]={};}(M.consumers.length>0||[v.GENERATOR,v.RELATED].includes(M.type))&&U.allowed&&Object.keys($).length>0?c[I]=$:c[I]={},i==="report"?(u[I]={allowed:U.allowed},M.type===v.GENERATOR&&U.api&&(u[I].api=U.api)):u[I]=U;}),Z=(new Date().getTime()-Ot.getTime())/1e3;return Le&&console.log(`%cBlock ${M.id} resolved in ${Z.toFixed(3)}s`,Z>500?"color:red":"color:green"),q});D.set(Number(I),F);}await Promise.all(Array.from(D.values()));}let h=new Date;await P(d,e);let L=(new Date().getTime()-h.getTime())/1e3;return Le&&console.log(`%cResolved Variables (${L.toFixed(2)}s): `,"color:green"),{variables:{...s.variables??{},...c},status:{...s.status??{},...u}}};function Wo(e=[]){return e.reduce((t,r,o)=>{if(r){let n=o+1;t[`id${n}`]=r.id,t[`name${n}`]=r.name,t[`slug${n}`]=r.slug,"attributes"in r&&Object.keys(r.attributes).forEach(s=>{t[`attr_${s}${n}`]=r.attributes[s];}),t[`variant_id${n}`]=r.variant_id,t[`variant_name${n}`]=r.variant_name,t[`variant_slug${n}`]=r.variant_slug,t[`dimension_id${n}`]=r.dimension_id,t[`dimension_name${n}`]=r.dimension_name,t.report_id=r.report_id,t.report_name=r.report_name;}return t},{})}var rr=Wo;function Zo(){let{publicRuntimeConfig:e}=Qo(),t=e.bespoke_report_env_vars||{};return {...Object.keys(t).reduce((r,o)=>(r[`ENV_${o}`]=t[o]||"N/A",r),{})}}var or=Zo;function se(e,t,r){if(t==="createBulk"||t==="updateBulk"){let n=`${t}${nr(r)}`;return e[n]}let o=`${t}${nr(r)}`;return e[o]}function nr(e){return e[0].toUpperCase()+e.slice(1)}function w(e){for(var t=arguments.length,r=Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];if(process.env.NODE_ENV!=="production"){var n=sn[e],s=n?typeof n=="function"?n.apply(null,r):n:"unknown error nr: "+e;throw Error("[Immer] "+s)}throw Error("[Immer] minified error nr: "+e+(r.length?" "+r.map(function(a){return "'"+a+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function ge(e){return !!e&&!!e[V]}function ie(e){var t;return !!e&&(function(r){if(!r||typeof r!="object")return !1;var o=Object.getPrototypeOf(r);if(o===null)return !0;var n=Object.hasOwnProperty.call(o,"constructor")&&o.constructor;return n===Object||typeof n=="function"&&Function.toString.call(n)===an}(e)||Array.isArray(e)||!!e[dr]||!!(!((t=e.constructor)===null||t===void 0)&&t[dr])||Tt(e)||St(e))}function Ie(e,t,r){r===void 0&&(r=!1),Ee(e)===0?(r?Object.keys:kt)(e).forEach(function(o){r&&typeof o=="symbol"||t(o,e[o],e);}):e.forEach(function(o,n){return t(n,o,e)});}function Ee(e){var t=e[V];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:Tt(e)?2:St(e)?3:0}function yt(e,t){return Ee(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Jo(e,t){return Ee(e)===2?e.get(t):e[t]}function fr(e,t,r){var o=Ee(e);o===2?e.set(t,r):o===3?e.add(r):e[t]=r;}function Xo(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function Tt(e){return on&&e instanceof Map}function St(e){return nn&&e instanceof Set}function ae(e){return e.o||e.t}function bt(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=cn(e);delete t[V];for(var r=kt(t),o=0;o<r.length;o++){var n=r[o],s=t[n];s.writable===!1&&(s.writable=!0,s.configurable=!0),(s.get||s.set)&&(t[n]={configurable:!0,writable:!0,enumerable:s.enumerable,value:e[n]});}return Object.create(Object.getPrototypeOf(e),t)}function At(e,t){return t===void 0&&(t=!1),vt(e)||ge(e)||!ie(e)||(Ee(e)>1&&(e.set=e.add=e.clear=e.delete=en),Object.freeze(e),t&&Ie(e,function(r,o){return At(o,!0)},!0)),e}function en(){w(2);}function vt(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function W(e){var t=un[e];return t||w(18,e),t}function sr(){return process.env.NODE_ENV==="production"||he||w(0),he}function pt(e,t){t&&(W("Patches"),e.u=[],e.s=[],e.v=t);}function He(e){Rt(e),e.p.forEach(tn),e.p=null;}function Rt(e){e===he&&(he=e.l);}function ar(e){return he={p:[],l:he,h:e,m:!0,_:0}}function tn(e){var t=e[V];t.i===0||t.i===1?t.j():t.g=!0;}function dt(e,t){t._=t.p.length;var r=t.p[0],o=e!==void 0&&e!==r;return t.h.O||W("ES5").S(t,e,o),o?(r[V].P&&(He(t),w(4)),ie(e)&&(e=Ge(t,e),t.l||Ke(t,e)),t.u&&W("Patches").M(r[V].t,e,t.u,t.s)):e=Ge(t,r,[]),He(t),t.u&&t.v(t.u,t.s),e!==mr?e:void 0}function Ge(e,t,r){if(vt(t))return t;var o=t[V];if(!o)return Ie(t,function(i,c){return ir(e,o,t,i,c,r)},!0),t;if(o.A!==e)return t;if(!o.P)return Ke(e,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var n=o.i===4||o.i===5?o.o=bt(o.k):o.o,s=n,a=!1;o.i===3&&(s=new Set(n),n.clear(),a=!0),Ie(s,function(i,c){return ir(e,o,n,i,c,r,a)}),Ke(e,n,!1),r&&e.u&&W("Patches").N(o,r,e.u,e.s);}return o.o}function ir(e,t,r,o,n,s,a){if(process.env.NODE_ENV!=="production"&&n===r&&w(5),ge(n)){var i=Ge(e,n,s&&t&&t.i!==3&&!yt(t.R,o)?s.concat(o):void 0);if(fr(r,o,i),!ge(i))return;e.m=!1;}else a&&r.add(n);if(ie(n)&&!vt(n)){if(!e.h.D&&e._<1)return;Ge(e,n),t&&t.A.l||Ke(e,n);}}function Ke(e,t,r){r===void 0&&(r=!1),!e.l&&e.h.D&&e.m&&At(t,r);}function ft(e,t){var r=e[V];return (r?ae(r):e)[t]}function cr(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var o=Object.getOwnPropertyDescriptor(r,t);if(o)return o;r=Object.getPrototypeOf(r);}}function gt(e){e.P||(e.P=!0,e.l&>(e.l));}function mt(e){e.o||(e.o=bt(e.t));}function ht(e,t,r){var o=Tt(t)?W("MapSet").F(t,r):St(t)?W("MapSet").T(t,r):e.O?function(n,s){var a=Array.isArray(n),i={i:a?1:0,A:s?s.A:sr(),P:!1,I:!1,R:{},l:s,t:n,k:null,o:null,j:null,C:!1},c=i,u=Et;a&&(c=[i],u=Oe);var p=Proxy.revocable(c,u),l=p.revoke,f=p.proxy;return i.k=f,i.j=l,f}(t,r):W("ES5").J(t,r);return (r?r.A:sr()).p.push(o),o}function rn(e){return ge(e)||w(22,e),function t(r){if(!ie(r))return r;var o,n=r[V],s=Ee(r);if(n){if(!n.P&&(n.i<4||!W("ES5").K(n)))return n.t;n.I=!0,o=ur(r,s),n.I=!1;}else o=ur(r,s);return Ie(o,function(a,i){n&&Jo(n.t,a)===i||fr(o,a,t(i));}),s===3?new Set(o):o}(e)}function ur(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return bt(e)}var lr,he,xt=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",on=typeof Map<"u",nn=typeof Set<"u",pr=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",mr=xt?Symbol.for("immer-nothing"):((lr={})["immer-nothing"]=!0,lr),dr=xt?Symbol.for("immer-draftable"):"__$immer_draftable",V=xt?Symbol.for("immer-state"):"__$immer_state";var sn={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(e){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(e){return "Cannot apply patch, path doesn't resolve: "+e},16:'Sets cannot have "replace" patches.',17:function(e){return "Unsupported patch operation: "+e},18:function(e){return "The plugin for '"+e+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+e+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(e){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+e+"'"},22:function(e){return "'current' expects a draft, got: "+e},23:function(e){return "'original' expects a draft, got: "+e},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},an=""+Object.prototype.constructor,kt=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,cn=Object.getOwnPropertyDescriptors||function(e){var t={};return kt(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r);}),t},un={},Et={get:function(e,t){if(t===V)return e;var r=ae(e);if(!yt(r,t))return function(n,s,a){var i,c=cr(s,a);return c?"value"in c?c.value:(i=c.get)===null||i===void 0?void 0:i.call(n.k):void 0}(e,r,t);var o=r[t];return e.I||!ie(o)?o:o===ft(e.t,t)?(mt(e),e.o[t]=ht(e.A.h,o,e)):o},has:function(e,t){return t in ae(e)},ownKeys:function(e){return Reflect.ownKeys(ae(e))},set:function(e,t,r){var o=cr(ae(e),t);if(o?.set)return o.set.call(e.k,r),!0;if(!e.P){var n=ft(ae(e),t),s=n?.[V];if(s&&s.t===r)return e.o[t]=r,e.R[t]=!1,!0;if(Xo(r,n)&&(r!==void 0||yt(e.t,t)))return !0;mt(e),gt(e);}return e.o[t]===r&&(r!==void 0||t in e.o)||Number.isNaN(r)&&Number.isNaN(e.o[t])||(e.o[t]=r,e.R[t]=!0),!0},deleteProperty:function(e,t){return ft(e.t,t)!==void 0||t in e.t?(e.R[t]=!1,mt(e),gt(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=ae(e),o=Reflect.getOwnPropertyDescriptor(r,t);return o&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:o.enumerable,value:r[t]}},defineProperty:function(){w(11);},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){w(12);}},Oe={};Ie(Et,function(e,t){Oe[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};}),Oe.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&w(13),Oe.set.call(this,e,t,void 0)},Oe.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&w(14),Et.set.call(this,e[0],t,r,e[0])};var ln=function(){function e(r){var o=this;this.O=pr,this.D=!0,this.produce=function(n,s,a){if(typeof n=="function"&&typeof s!="function"){var i=s;s=n;var c=o;return function(b){var d=this;b===void 0&&(b=i);for(var x=arguments.length,A=Array(x>1?x-1:0),P=1;P<x;P++)A[P-1]=arguments[P];return c.produce(b,function(h){var R;return (R=s).call.apply(R,[d,h].concat(A))})}}var u;if(typeof s!="function"&&w(6),a!==void 0&&typeof a!="function"&&w(7),ie(n)){var p=ar(o),l=ht(o,n,void 0),f=!0;try{u=s(l),f=!1;}finally{f?He(p):Rt(p);}return typeof Promise<"u"&&u instanceof Promise?u.then(function(b){return pt(p,a),dt(b,p)},function(b){throw He(p),b}):(pt(p,a),dt(u,p))}if(!n||typeof n!="object"){if((u=s(n))===void 0&&(u=n),u===mr&&(u=void 0),o.D&&At(u,!0),a){var E=[],T=[];W("Patches").M(n,u,E,T),a(E,T);}return u}w(21,n);},this.produceWithPatches=function(n,s){if(typeof n=="function")return function(u){for(var p=arguments.length,l=Array(p>1?p-1:0),f=1;f<p;f++)l[f-1]=arguments[f];return o.produceWithPatches(u,function(E){return n.apply(void 0,[E].concat(l))})};var a,i,c=o.produce(n,s,function(u,p){a=u,i=p;});return typeof Promise<"u"&&c instanceof Promise?c.then(function(u){return [u,a,i]}):[c,a,i]},typeof r?.useProxies=="boolean"&&this.setUseProxies(r.useProxies),typeof r?.autoFreeze=="boolean"&&this.setAutoFreeze(r.autoFreeze);}var t=e.prototype;return t.createDraft=function(r){ie(r)||w(8),ge(r)&&(r=rn(r));var o=ar(this),n=ht(this,r,void 0);return n[V].C=!0,Rt(o),n},t.finishDraft=function(r,o){var n=r&&r[V];process.env.NODE_ENV!=="production"&&(n&&n.C||w(9),n.I&&w(10));var s=n.A;return pt(s,o),dt(void 0,s)},t.setAutoFreeze=function(r){this.D=r;},t.setUseProxies=function(r){r&&!pr&&w(20),this.O=r;},t.applyPatches=function(r,o){var n;for(n=o.length-1;n>=0;n--){var s=o[n];if(s.path.length===0&&s.op==="replace"){r=s.value;break}}n>-1&&(o=o.slice(n+1));var a=W("Patches").$;return ge(r)?a(r,o):this.produce(r,function(i){return a(i,o)})},e}(),z=new ln,pn=z.produce;z.produceWithPatches.bind(z);z.setAutoFreeze.bind(z);z.setUseProxies.bind(z);z.applyPatches.bind(z);z.createDraft.bind(z);z.finishDraft.bind(z);var Ye=pn;var G=X.actions,hr=Be({block:ce("block"),dimension:ce("dimension"),formatter:ce("formatter"),report:ce("report"),section:ce("section"),variant:ce("variant")}),_e=Be({block:ue("block"),dimension:ue("dimension"),formatter:ue("formatter"),report:ue("report"),section:ue("section"),variant:ue("variant")}),Er=Be({block:J("block"),dimension:J("dimension"),formatter:J("formatter"),report:J("report"),section:J("section"),variant:J("variant")}),Tr=Be({block:Te("block"),dimension:Te("dimension"),formatter:Te("formatter"),report:Te("report"),section:Te("section"),variant:Te("variant")}),Sr=Be({block:Rr("block"),section:Rr("section")});function Be(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 le(e,t){return (r,o)=>{let s=o().records.requests[e][t],a=!s||s.status==="UNINITIALIZED"?"LOADING":"FETCHING";r(G.setRequest({key:t,type:e,status:a}));}}function Se(e,t,r,o){return n=>{typeof window=="object"&¬ifications.show({autoClose:3e3,color:"red",id:t,message:o,title:"Error"}),n(G.setRequest({key:t,type:e,status:"FAILURE",error:{code:r,message:o}}));}}function ce(e){return t=>{let r=Pt(e,t);return (o,n,s)=>(o(le(e,r)),se(s,"create",e)(t).then(i=>(i.ok===!0?o(G.setCreateRequest({key:r,operation:"create",status:"SUCCESS",type:e,data:i.data})):o(Se(e,r,i.status,i.error)),i)))}}function mn(e){return t=>{let r=Pt(e,t[0]);return (o,n,s)=>(o(le(e,r)),se(s,"createBulk",e)(t).then(i=>(i.ok===!0?o(G.setCreateRequest({key:r,operation:"createBulk",status:"SUCCESS",type:e,data:i.data})):o(Se(e,r,i.status,i.error)),i)))}}function yr(e,t,r){return r.replace(new RegExp(e,"g"),t)}function yn(e){return e.section_id!==void 0}function Rn(e){return e.report_id!==void 0}function Rr(e){return t=>{let{create:r}=t;return (o,n,s)=>ce(e)(r)(o,n,s).then(async i=>{if(i.ok){let{data:c}=i,{id:u}=c,{update:p}=t,l=vr(e,{id:u});if(o(le(e,`${l}`)),e==="block"&&yn(r)){let f=Ye(p,d=>{d.id=u;}),{contentByLocale:E}=f;E&&(f=Ye(f,d=>{d.id=u,d.contentByLocale=Object.keys(E).reduce((x,A)=>{let P=E?E[A]:{};return x[A]={...P,id:u},x},{});}));let b=f.inputs?.map(d=>({type:d.type,id:d.id,inputAction:{operation:"create",input:{input_id:d.id,block_id:f.id}}}));return b&&b.length>0&&gr(e)([f,...b])(o,n,s).then(()=>ue("section")({id:f.section_id,include:!0})(o,n,s).then(d=>(d.ok&&o(G.setRequest({key:l,type:e,status:"SUCCESS",data:d.data})),d))),J(e)(f)(o,n,s).then(d=>(d.ok&&o(G.setRequest({key:l,type:e,status:"SUCCESS",data:d.data})),d))}if(e==="section"&&Rn(r)){let{id:f}=c,E=Ye(p,d=>{d.id=f;}),{blocks:T}=E,b=T?.map(d=>({type:d.type,blockcol:d.blockcol,blockrow:d.blockrow,section_id:f,locales:Object.keys(d.contentByLocale).map(x=>x)}));return b&&T&&await mn("block")(b)(o,n,s).then(d=>{if(d.ok){let x=d.data,A=[],P=x.map((h,R)=>{let S={...h},C=S.id,D=T[R];D.contentByLocale&&(S.contentByLocale=Object.keys(D.contentByLocale).reduce((q,K)=>{let Z=D.contentByLocale[K];return q[K]={...Z,content:{...Z.content},id:S.id},q},{}));let{settings:I}=D,{contentByLocale:M,id:Q}=S;S.settings=I;let F={id:Q,contentByLocale:M,settings:I};return D.inputs.map(q=>q.id).reduce((q,K)=>{let Z=T.findIndex($=>$.id===K);return [...q,Z]},[]).map(q=>({...x[q],originalBlock:T[q]})).forEach(q=>{let{id:K,type:Z,originalBlock:$}=q;if(["selector","visualization"].includes(Z)){if(F.contentByLocale?.logic?.content?.api){let U=F.contentByLocale?.logic.content.api;F.contentByLocale.logic.content.api=yr(`(selector${$.id}id)`,`selector${K}id`,U);}if(F.contentByLocale?.logic?.content?.logic){let U=F.contentByLocale.logic.content.logic;F.contentByLocale.logic.content.logic=yr(`(selector${$.id}id)`,`selector${K}id`,U);}}A.push({id:K,inputAction:{operation:"create",input:{input_id:K,block_id:C}}});}),F});return gr("block")([...P,...A])(o,n,s)}}),J(e)(E)(o,n,s).then(d=>(d.ok&&o(G.setRequest({key:l,type:e,status:"SUCCESS",data:d.data})),d))}return J(e)({...p,id:c.id})(o,n,s)}})}}function ue(e){return t=>{let r=br(e,t);return (o,n,s)=>(o(le(e,r)),se(s,"read",e)(t).then(i=>(i.ok===!0?o(G.setReadRequest({key:r,operation:"read",status:"SUCCESS",type:e,data:i.data})):o(Se(e,r,i.status,i.error)),i)))}}function J(e){return t=>{let r=Lt(e,t);return (o,n,s)=>(o(le(e,r)),se(s,"update",e)(t).then(i=>(i.ok===!0?o(G.setUpdateRequest({key:r,operation:"update",status:"SUCCESS",type:e,data:i.data})):o(Se(e,r,i.status,i.error)),i)))}}function gr(e){return t=>{let r=Lt(e,t[0]);return (o,n,s)=>(o(le(e,r)),se(s,"updateBulk",e)(t).then(i=>(i.ok===!0?o(G.setUpdateRequest({key:r,operation:"updateBulk",status:"SUCCESS",type:e,data:i.data})):o(Se(e,r,i.status,i.error)),i)))}}function Te(e){return t=>{let r=Ar(e,t);return (o,n,s)=>(o(le(e,r)),se(s,"delete",e)(t).then(i=>{i.ok===!0?o(G.setDeleteRequest({key:r,operation:"delete",status:"SUCCESS",type:e,data:i.data})):o(Se(e,r,i.status,i.error));}))}}function Pt(e,t){if(e==="variant"){let r=t;return `create(variant, [${r.dimension_id}, ${r.name}])`}return `create(${e}, [${Object.keys(t)}])`}function br(e,t={}){let r=t.id==null?null:`'${t.id}'`;return `read(${e}, ${r}, ${!!t.include})`}function Lt(e,t){let{id:r,...o}=t;return `update(${e}, ${r}, [${Object.keys(o)}])`}function Ar(e,t){return `delete(${e}, ${t})`}function vr(e,t){let r=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${r})`}var{setStatus:xr,setPreviews:gn,setSectionState:kr,resetSectionState:Cr,setCurrentLocale:hn,setPreferredLocale:En}=qe;function Tn(e,t){return async(r,o,n)=>{let s=await n.validateVariantSlug({dimension:e,slug:t});if("error"in s)throw new Error(s.error);return s.data}}function Sn(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 bn(){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 An(e){return async(t,r,o)=>{let n=await o.searchMember(e);if(n.ok===!0)return n.data;throw new Error(n.error)}}async function Lr(e,t,r,o){let n=r().status,s={...n,...o},a={...n.query,...o.query};Object.keys(a).forEach(c=>a[c]===void 0&&delete a[c]);let i={...s,query:a};t(xr(i)),n.activeSection&&t(Or(e,{query:a}));}function vn(e,t){return async(r,o)=>Lr(e,r,o,{query:{[t]:void 0}})}function xn(e,t,r){return async(o,n)=>Lr(e,o,n,{query:{[t]:r}})}function Or(e,t){return async(r,o)=>{let n=o(),{currentLocale:s}=n.status,a=n.records.entities.block,i=e.formatterFunctions[s],{parsedParams:c,statusPayload:u}=Ut(n.status,t),{sid:p,bid:l,previews:f,query:E}=c;Object.keys(u).length&&r(qe.setStatus(u));let T={...rr(f),locale:s,...or()},b={variables:T,query:E,locale:s},d=n.records.entities.section[p],x=async A=>r(Pr(A));try{let A=await tr(a,d&&[d],l,i,b,void 0,x),{variables:P,status:h}=A;r(Ft.setVariableChange({attributes:T,variables:P,status:h}));}catch(A){console.log("Error in runConsumers client side: recalculateVariables",A);}}}function kn(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 Cn(e){return async(t,r,o)=>{let n=await o.urlProxy({url:e});if("error"in n)throw new Error(n.error);return n.data}}function Pn(){return async(e,t,r)=>{let o=await r.searchRole("");if("error"in o)throw new Error(o.error);return o.data}}function Ln(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 On(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 In({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 _n(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 Bn(e){let{removeBlocks:t}=X.actions;return async r=>{await r(t(e));}}function wn(e){let{addBlocks:t}=X.actions;return async r=>{await r(t(e));}}function Mn(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 Nn(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 Dn(e){return async(t,r,o)=>{let n=await o.revalidateReport({reportId:e.reportId,profilePrefix:e.profilePrefix});if("error"in n)throw new Error(n.error);return n.data}}var {locales:Fn}=Y(),qn={pathSegment:"path",formatterFunctions:Fn.reduce((e,t)=>({...e,[t]:{}}),{}),profilePrefix:"path",siteProps:{}};createContext(qn);Y();var Qe=useDispatch,Ze=useSelector;
|
|
26
|
+
var ro=Object.defineProperty;var oo=(e,t)=>{for(var r in t)ro(e,r,{get:t[r],enumerable:!0});};function Z(e,t){return e.request(t).then(r=>{let{status:o,data:n}=r;return "error"in n?{ok:!1,status:o,error:n.error}:{ok:!0,status:o,data:n.data}},r=>{if("isAxiosError"in r){let{status:o,data:n}=r.response||{status:500};return {ok:!1,status:o,error:n?.error??r.message}}return {ok:!1,status:500,error:r.message}})}function M(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>Z(e,{...o,method:"GET",params:r?r(n):n})}function U(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>Z(e,{...o,method:"POST",data:r?r(n):n})}function se(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>Z(e,{...o,method:"DELETE",params:r?r(n):n})}function Ce(e,t){return r=>Z(e,{method:"POST",url:`images/save/${t}`,params:{prompt:r.prompt,provider:t}})}function Ie(e,t){return r=>Z(e,{method:"GET",url:`images/search/${t}`,params:{prompt:r.prompt,page:r.page,provider:t}})}function qt(e,t){return ()=>Z(e,{method:"GET",url:`list/icons/${t}`,params:{provider:t}})}function $t(e,t){return r=>Z(e,{method:"GET",url:`read/icons/${t}/icon.svg`,params:{name:r.name}})}var ce=e=>({id:e}),so=e=>{if(e.mode==="slugs"){let t=e.slugs.map(r=>[r.variantSlug,r.memberSlug].join("/")).join(",");return {...e,slugs:t}}return ["related","whole"].includes(e.mode)?{...e}:{...e,[e.mode]:e[e.mode].join(",")}};function Be(e){let t=tt.create({baseURL:e});return {createBulkBlock:U(t,"create/bulk/block"),createBlock:U(t,"create/block"),createDimension:U(t,"create/dimension"),createFormatter:U(t,"create/formatter"),createReport:U(t,"create/report"),createSection:U(t,"create/section"),createVariant:U(t,"create/variant"),createDatasource:U(t,"create/datasource"),deleteBlock:se(t,"delete/block",ce),deleteDimension:se(t,"delete/dimension",ce),deleteFormatter:se(t,"delete/formatter",ce),deleteReport:se(t,"delete/report",ce),deleteSection:se(t,"delete/section",ce),deleteVariant:se(t,"delete/variant",ce),deleteDatasource:se(t,"delete/datasource",ce),readBlock:M(t,"read/block"),readDimension:M(t,"read/dimension"),readFormatter:M(t,"read/formatter"),readReport:M(t,"read/report"),readSection:M(t,"read/section"),readVariant:M(t,"read/variant"),readDatasource:M(t,"read/datasource"),updateBulkBlock:U(t,"update/bulk/block"),updateBlock:U(t,"update/block"),updateDimension:U(t,"update/dimension"),updateFormatter:U(t,"update/formatter"),updateReport:U(t,"update/report"),updateSection:U(t,"update/section"),updateVariant:U(t,"update/variant"),updateDatasource:U(t,"update/datasource"),searchReport:M(t,"search/reports"),validateVariantSlug:M(t,"validate/variant"),readMember:M(t,"read/members",so),readMemberImage:M(t,{url:"member/image",responseType:"blob"}),searchMember:M(t,"search/members"),updateMember:M(t,"update/members"),imageLocalSearch:Ie(t,"local"),imageLocalSave:Ce(t,"local"),imageFlickrSearch:Ie(t,"flickr"),imageFlickrSave:Ce(t,"flickr"),imageUnsplashSearch:Ie(t,"unsplash"),imageUnsplashSave:Ce(t,"unsplash"),imageUploadSave:Ce(t,"upload"),imageAdobeSearch:Ie(t,"adobe"),imageAdobeSave:Ce(t,"adobe"),readMetadata:M(t,"read/metadata"),regenerateSearch:U(t,"search/regenerate"),urlProxy:M(t,"url/proxy"),searchRole:M(t,"auth/search/roles"),searchUser:M(t,"auth/search/users"),readUser:M(t,"auth/read/user"),updateUser:U(t,"auth/update/user"),updateMyData:U(t,"auth/update/me"),revalidateReport:M(t,"revalidate/report"),revalidateUrl:M(t,"revalidate/url"),readPrivateBlocks:U(t,"read/blocks/private"),listTablerIcons:qt(t,"tabler"),readTablerIcon:$t(t,"tabler"),readEnvSecrets:M(t,"read/secrets")}}function ao(e,t){return +(e<t)-+(e>t)}function je(e,t,r="ordering"){return ao(t[r],e[r])}function lt(e){let t=1+76.18009173/e-86.50532033/(e+1)+24.01409822/(e+2)-1.231739516/(e+3)+.00120858003/(e+4)-536382e-11/(e+5);return (e-.5)*Math.log(e+4.5)-(e+4.5)+Math.log(t*2.50662827465)}function zt(e,t,r){let o=0,n=1,s=1,a=1,i=0,c=0,u;for(;Math.abs((s-c)/s)>1e-5;)c=s,u=-(t+i)*(t+r+i)*e/(t+2*i)/(t+2*i+1),o=s+u*o,n=a+u*n,i+=1,u=i*(r-i)*e/(t+2*i-1)/(t+2*i),s=o+u*s,a=n+u*a,o/=a,n/=a,s/=a,a=1;return s/t}function io(e,t,r){let o,n;if(e<0)n=0;else if(e>=t)n=1;else {e=Math.floor(e);let s=r,a=e+1,i=t-e,c=a+i,u=Math.exp(lt(c)-lt(i)-lt(a)+a*Math.log(s)+i*Math.log(1-s));s<(a+1)/(c+2)?o=u*zt(s,a,i):o=1-u*zt(1-s,i,a),n=1-o;}return Math.round(n*1e5)/1e5}function co(e){return {.99999:15.137,.99:6.635,.95:3.841,.9:2.706}[e]}function we(e,t,r,o){let n=t/(1-t),s=0,a=1,i=0,c=0;for(;s<=e;)c+=a,s>=r&s<=o&&(i+=a),c>1e30&&(i/=1e30,c/=1e30,a/=1e30),s+=1,a=a*n*(e+1-s)/s;return i/c}function uo(e,t,r){let o=e/t,s=(100-r*100)/2,a,i;if(e===0)a=0;else {let c=o/2,u=0,l=o,p=s/100;for(;l-u>1e-5;)we(t,c,e,e)*.5+we(t,c,e+1,t)>p?(l=c,c=(u+c)/2):(u=c,c=(l+c)/2);a=c;}if(e===t)i=0;else {let c=(1+o)/2,u=o,l=1,p=s/100;for(;l-u>1e-5;)we(t,c,e,e)*.5+we(t,c,0,e-1)<p?(l=c,c=(u+c)/2):(u=c,c=(l+c)/2);i=c;}return {lci:a,uci:i}}function lo(e,t){let r=e,o=t,n=r,s=o,a=95,i=.5,c=.5,l=(100-a)/2/100,p=n;for(;c>1e-5;)c/=2,Ge((1+p)*i/(1-i),p+1,1e10)+.5*Ge((1+p)*i/(1-i),p,p)>l?i-=c:i+=c;let d=(1+p)*i/(1-i)/s;for(i=.5,c=.5,l=(100-a)/2/100;c>1e-5;)c/=2,Ge((1+p)*i/(1-i),0,p-1)+.5*Ge((1+p)*i/(1-i),p,p)<l?i-=c:i+=c;let b=(1+p)*i/(1-i)/s;return {lci:d,uci:b}}function Ge(e,t,r){let o=1,n=0,s=0,a=0;for(;a<e||o>n*1e-10;)n+=o,a>=t&a<=r&&(s+=o),n>1e30&&(s/=1e30,n/=1e30,o/=1e30),a+=1,o=o*e/a;return s/n}var jt={binomialCdf:io,binP:we,computeMidP:uo,criticalValue:co,smr:lo};var ke={d3:{...po,...fo,...mo,...yo},d3plus:{assign:assign,closest:closest,date:date,formatAbbreviate:formatAbbreviate,merge:merge,strip:strip,titleCase:titleCase},stats:jt};var Gt={jwt:Ao};var Kt=(e,t={})=>{let r={libs:Gt,...t};function o(s){return Function("globals",...s.vars,`with (globals) { ${s.logic} }`).bind(r,r)}function n(s){if(s.vars&&s.logic)return o(s);for(let a in s)Array.isArray(s[a])?s[a]=s[a].map(i=>isObject(i)?n(i):i):isObject(s[a])&&(s[a]=n(s[a]));return s}return n(e)};var vo=()=>{let e=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",t=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[e];return t.includes(e)||t.push(e),{localeDefault:e,locales:t}},ee=vo;ee();var Ne=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});Ne.define({consumers:[Ne],inputs:[Ne]});var Yt=new schema.Entity("variant"),Wt=new schema.Entity("dimension",{variants:[Yt]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),Qt=new schema.Entity("section",{blocks:[Ne]}),Co=new schema.Entity("report",{dimensions:[Wt],sections:[Qt]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(je):[]}}}),ko=new schema.Entity("formatter"),Po=new schema.Entity("datasource"),Lo={report:Co,section:Qt,block:Ne,dimension:Wt,variant:Yt,formatter:ko,datasource:Po};function He(e,t){let r=Lo[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:ue(o,"report"),dimension:ue(o,"dimension"),section:ue(o,"section"),block:ue(o,"block"),variant:ue(o,"variant"),formatter:ue(o,"formatter"),datasource:ue(o,"datasource")}}function ue(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:{}}var Zt=(e,t=void 0)=>{let{sid:r,bid:o,previews:n=[],query:s={}}=t||{},a,i,c={};return r?(a=r,c.activeSection=a):a=e.activeSection,n.length>0?(i=n,c.previews=i.filter(Boolean)):i=e.previews,{parsedParams:{sid:a,bid:o,previews:i,query:s},statusPayload:c}};var Io={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{},datasource:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{},datasource:{}}},oe=createSlice({name:"records",initialState:Io,reducers:{set:(e,t)=>{let r=t.payload;return {entities:Me(e.entities,r.entities||{}),requests:Me(e.requests,r.requests||{}),reports:r.reports||e.reports,tree:r.tree||e.tree}},setRequest:(e,t)=>{let r=t.payload;e.requests[r.type][r.key]=r;},setCreateRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let o=Array.isArray(r.data)?r.data:[r.data],n=He(r.type,o),s=Me(e.entities,n);if(e.entities=s,r.type==="report"){let a=r.data;e.reports?e.reports.indexOf(a.id)===-1&&(e.reports=[...e.reports,a.id]):e.reports=[a.id];}else if(r.type==="dimension"){let a=r.data;e.entities.report[a.report_id].dimensions.push(a.id),e.entities.report[a.report_id].dimensions=Ke(s.report[a.report_id].dimensions,s.dimension);}else if(r.type==="variant"){let a=r.data;e.entities.dimension[a.dimension_id].variants.push(a.id);}else if(r.type==="section"&&!Array.isArray(r.data)){let a=r.data;e.entities.report[a.report_id].sections.push(a.id),e.entities.report[a.report_id].sections=Ke(s.report[a.report_id].sections,s.section);}else if(r.type==="block")if(Array.isArray(r.data)){let a=r.data,i=a[0],c=a.map(u=>u.id);e.entities.section[i.section_id].blocks.concat(c);}else {let a=r.data;e.entities.section[a.section_id].blocks.push(a.id);}}},setReadRequest(e,t){let r=t.payload;if(r.type!=="report"&&(e.requests[r.type][r.key]=r),r.status==="SUCCESS"){let o=He(r.type,r.data),n=Me(e.entities,o);e.entities=n;}},setUpdateRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let o=Array.isArray(r.data)?r.data:[r.data],n=He(r.type,o),s,a,i;if(r.type==="block"&&!Array.isArray(r.data)){let u=e.entities.block[r.data.id].inputs,l=n.block[r.data.id].inputs;s=u.length!==l.length,s&&(i=u.length>l.length,a=i?u.filter(p=>!l.includes(p))[0]:l.filter(p=>!u.includes(p))[0]),Object.values(n.block).forEach(p=>{p.block_input&&delete n.block[p.id];});}let c=Me(e.entities,n);if(e.entities=c,r.type==="dimension"){let u=r.data;e.entities.report[u.report_id].dimensions=Ke(c.report[u.report_id].dimensions,c.dimension);}else if(r.type==="section"&&!Array.isArray(r.data)){let u=r.data;e.entities.report[u.report_id].sections=Ke(c.report[u.report_id].sections,c.section);}else if(r.type==="block"&&!Array.isArray(r.data)){let u=r.data;s&&(i?e.entities.block[a].consumers=e.entities.block[a].consumers.filter(l=>l!==u.id):e.entities.block[a].consumers.push(u.id));}}},setDeleteRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let{id:o,parentId:n,parentType:s}=r.data;if(delete e.entities[r.type][o],s&&n!=null){let a=`${r.type}s`;Bo(e.entities[s][n][a],o);}}},removeBlocks:(e,t)=>{let r=t.payload,o={...e.entities.block};return r.forEach(n=>{delete o[n];}),{...e,entities:{...e.entities,block:o}}},addBlocks:(e,t)=>{let r=t.payload;return {...e,entities:{...e.entities,block:{...e.entities.block,...r}}}},removeDataSourceLogic:e=>{let t={...e.entities.datasource};Object.keys(t).forEach(r=>{e.entities.datasource[r].content.useProxy&&(delete e.entities.datasource[r].content.logic,delete e.entities.datasource[r].content.testUrl,delete e.entities.datasource[r].content.access);});}},extraReducers:{[HYDRATE]:(e,t)=>{let r=t.payload.records,o=r.entities;return {entities:o,reports:Object.values(o.report).map(n=>n.id),requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{},datasource:{}},tree:r.tree}}}});function Me(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],...t[r]}]))}function Ke(e,t){return e.map(n=>t[n]).sort(je).map(n=>n.id)}function Bo(e,t){let r=e.indexOf(t);r>-1&&e.splice(r,1);}var pe=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",Ye=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[pe];Ye.includes(pe)||Ye.push(pe);var Mo={localeDefault:pe,locales:Ye,currentLocale:pe,preferredLocale:pe,showToolbar:!1,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:!0,settings:!1,reportEditor:!1},isCMS:!1,isRunConsumersRunning:[]},We=createSlice({name:"status",initialState:Mo,reducers:{setStatus:(e,t)=>{Object.assign(e,t.payload);},setPreviews(e,t){e.previews=t.payload;},setCurrentLocale(e,t){e.currentLocale=t.payload;},setPreferredLocale(e,t){e.preferredLocale=t.payload;},setSectionState(e,t){e.sectionState={...e.sectionState,...t.payload};},resetSectionState(e,t){e.sectionState={...e.sectionState,[t.payload]:{}};},setActiveEntity(e,t){e.activeEntity=t.payload;},openSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!0};},closeSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!1};},toggleSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!e.sidebarStatus[t.payload]};},addRunConsumersRunning(e,t){e.isRunConsumersRunning=e.isRunConsumersRunning.concat(t.payload);},removeRunConsumersRunning(e,t){e.isRunConsumersRunning=e.isRunConsumersRunning.filter(r=>!t.payload.includes(r));}},extraReducers:{[HYDRATE]:(e,t)=>({...e,previews:t.payload.status.previews})}}),Pe=We.actions;var Fo={attributes:{},variables:{},status:{}},Qe=createSlice({name:"variables",initialState:Fo,reducers:{setVariableChange:(e,t)=>{e.attributes={...e.attributes,...t.payload.attributes},e.variables={...e.variables,...t.payload.variables},e.status={...e.status,...t.payload.status};}},extraReducers:{[HYDRATE]:(e,t)=>({attributes:{...e.attributes,...t.payload.variables.attributes},status:{...e.status,...t.payload.variables.status},variables:{...e.variables,...t.payload.variables.variables}})}}),Jt=Qe.actions;var Xt=()=>configureStore({reducer:{[oe.name]:oe.reducer,[We.name]:We.reducer,[Qe.name]:Qe.reducer},middleware(e){return e({thunk:{extraArgument:Be("/api/cms/")}})}}),er=createWrapper(Xt);var at={};oo(at,{addBlockToState:()=>ns,addRunConsumersRunning:()=>zr,cloneEntity:()=>Mr,createEntity:()=>Br,deleteEntity:()=>Nr,deleteQueryParam:()=>Yn,readEntity:()=>Ve,readEnvSecrets:()=>cs,readMember:()=>Gr,readMetadata:()=>Qn,readPrivateBlocks:()=>ss,readUser:()=>es,recalculateVariables:()=>Kr,removeBlocksFromState:()=>os,removeDataSourceLogic:()=>us,removeRunConsumersRunning:()=>jr,reportSearch:()=>Gn,resetSectionState:()=>$r,revalidateReport:()=>is,revalidateUrl:()=>as,searchMember:()=>Kn,searchRegenerate:()=>Hn,searchRole:()=>Jn,searchUser:()=>Xn,setCurrentLocale:()=>$n,setPreferredLocale:()=>zn,setPreviews:()=>qn,setQueryParam:()=>Wn,setSectionState:()=>qr,setStatus:()=>Vr,updateEntity:()=>wr,updateMyData:()=>rs,updateUser:()=>ts,urlProxy:()=>Zn,variantValidateSlug:()=>jn});var{localeDefault:jo}=ee();function Q(e){return {variables:e.variables||{},query:e.query||{},locale:e.locale||jo}}var fe={SINGLE:"single",MULTI:"multi"};var Ko={IMAGE:"image",PARAGRAPH:"paragraph",SELECTOR:"selector",STAT:"stat",SUBTITLE:"subtitle",TITLE:"title",NAV:"nav",RESET_BUTTON:"reset_button",COMPARISON_BUTTON:"comparison_button",TABLE:"table",BUTTON:"button",MULTIHIERARCHY_SELECTOR:"multihierarchy_selector",FALLBACK:"fallback"},dt={GENERATOR:"generator",RELATED:"related",VIZ:"visualization",SECTION_FLAG:"section_flag"},ft="logic",S={...Ko,...dt};var Zo=Wo(process.env.REPORTS_LOGGING),me=Jo;function Jo(e,t,r,o,n=void 0,s){let a={},i=[],{locale:c}=Q(s);try{if(t){let u=new Proxy(console,{get(p,d){return Xo(d,"log","debug","info","warn","error")?(...f)=>{i.push(`${d} ${Date.now()} - ${f.map(b=>format(b)).join(" ")}`),Zo&&p[d](...f);}:p[d]}}),l;return n?l=new Function(e,"console","libs","formatters","locale","variables",r)(t,u,ke,o,c,n):l=new Function(e,"console","libs","formatters","locale",r)(t,u,ke,o,c),typeof l=="object"&&Object.keys(l).length>0&&Object.assign(a,l),{vars:a,error:null,log:i,output:l}}return {vars:a,error:"Invalid API Link",log:i}}catch(u){return {vars:a,error:u.message,log:i}}}function Xo(e,...t){return t.includes(e)}function mt(e){return e.reduce((t,r,o)=>(o?o===e.length-1&&o===1?t+=` and ${r}`:o===e.length-1?t+=`, and ${r}`:t+=`, ${r}`:t+=r,t),"")}var ye=en;function en(e,t,r,o=!1){let{variables:n}=Q(r);if(!e)return e;let s=/([A-z0-9]*)\{\{([^\}]+)\}\}/g;return e.replace(s,(i,c,u)=>{let l=d=>d;if(c){let d=c.replace(/^\w/g,f=>f.toLowerCase());d in t?l=t[d]:l=f=>`${c}${f}`;}let p=Array.isArray(n[u])?mt(n[u]):n[u];if(p===void 0)return o?i:"N/A";try{return l(p,ke,t)}catch(d){return console.error(`Error using formatter ${l.name}
|
|
27
|
+
`,`Error message: ${d.message}`),"N/A"}})}var yt=(e,t,r)=>{let{variables:o}=r,n=a=>a.allowed==="never"?!1:!a.allowed||a.allowed==="always"||o[a.allowed],s={...e};return Object.keys(s).forEach(a=>{typeof s[a]=="string"?s[a]=ye(s[a],t,r):Array.isArray(s[a])?s[a]=s[a].filter(n).map(i=>typeof i=="object"?yt(i,t,r):typeof i=="string"?ye(i,t,r):i):typeof s[a]=="object"&&s[a]!==null&&!(s[a]instanceof Date)&&(s[a]=yt(s[a],t,r));}),s},Je=yt;var nr=e=>Array.isArray(e)?e.map(t=>typeof t=="string"?{allowed:"always",label:t,id:t}:{allowed:"always",label:t.id,...t}):[];var tn=(e,t,r)=>{if(!r)return !1;if(e===fe.SINGLE)return r.find(n=>n.id===t);let o=Array.isArray(t)?t:t.split(",");return Array.isArray(o)&&o.every(n=>r.map(s=>s.id).includes(n))},Rt=tn;function gt(e,t,r,o,n=!1){let{variables:s}=Q(o),a=Je({logic:t},r,o).logic,i=me("variables",s,a,r,void 0,o),{vars:c,log:u,error:l}=i,p=c.type||fe.SINGLE,d=c.component||"Selector",f=c.hideLabel||"false",b=c.resetSectionVars||"false",A=c.name||"Unlabeled Selector",m=nr(c.options||[]),P=I=>p===fe.MULTI&&!Array.isArray(I)?[I]:I,T=c.defaultValue,v;if(T&&(T=P(T),Rt(p,T,m)&&(v=T)),!v){let I=m&&m[0]&&m[0].id||m[0]||"";v=P(I);}if(n&&typeof window<"u"){let I=`selector${e}id`,H=new URLSearchParams(window.location.search),w=Object.fromEntries(H)[I];w&&!Rt(p,w,m)&&w!==void 0&&(H.delete(I),window.history.replaceState(null,null,`?${H.toString()}`));}return {config:{name:A,type:p,options:m,defaultValue:v,component:d,hideLabel:f,resetSectionVars:b},log:u,error:l}}function Et(e,t,r){if(!e)return !1;let o=Array.isArray(r)?r:r.split(",");return Array.isArray(o)&&o.every(n=>e.map(s=>`${s[`${t} ID`]}`).includes(n))}function ht(e,t,r,o,n=!1){let{variables:s}=Q(o),a=Je({logic:t},r,o).logic,i=me("variables",s,a,r,void 0,o),{vars:c,log:u,error:l}=i;if(n&&typeof window<"u"){let d=`multihierarchySelector${e}-value`,f=`multihierarchySelector${e}-type`,b=new URLSearchParams(window.location.search),A=Object.fromEntries(b),m=A[d],P=A[f];m&&m!==void 0&&P&&P!==void 0&&!Et(c.data,P,m)&&(b.delete(d),b.delete(f),window.history.replaceState(null,null,`?${b.toString()}`));}return {config:c,log:u,error:l}}var rn=(e,t,r)=>{let o=`selector${e}id`,n=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(o),s=new URLSearchParams(t).get(o),a=n||s;if(r.type===fe.MULTI){let u=a?a.split(","):r.defaultValue,l=r.options.filter(p=>u.includes(p.id));return {[`selector${e}id`]:u,[`selector${e}label`]:(l||[]).map(p=>p.label)}}let i=a&&r.options.find(u=>u.id===a)?a:r.defaultValue,c=r.options.find(u=>u.id===i);return {[`selector${e}id`]:i,[`selector${e}label`]:c&&c.label||void 0}},sr=rn;var on=(e,t,r)=>{let o=`multihierarchySelector${e}-value`,n=`multihierarchySelector${e}-type`,s=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(o),a=new URLSearchParams(typeof location<"u"&&location?.search?location.search:"").get(n),i=new URLSearchParams(t).get(o),c=new URLSearchParams(t).get(n),u=s||i,l=a||c,p=u?u.split(","):r.defaultValue||[],d=l||r.defaultValueType||"",f=r.data?.filter(b=>p.includes(`${b[`${d} ID`]}`))||[];return {[`multihierarchySelector${e}id`]:p,[`multihierarchySelector${e}label`]:[...new Set((f||[]).map(b=>b[d]))],[`multihierarchySelector${e}type`]:d}},ar=on;var{localeDefault:ir,locales:nn}=ee(),sn=Object.values(dt),an=(e,t=ir)=>e&&sn.includes(e.type)?{locale:ft,locales:[ft]}:{locale:t,locales:nn},cr=(e,t=ir)=>{if(!e)return {};let{locale:r}=an(e,t);return e.contentByLocale?.[r]?.content};function cn(e,t){let r=Object.values(t),o=r.filter(n=>n.shared&&n.section_id!==e).map(n=>n.id);return Object.fromEntries(r.filter(n=>n.section_id===e&&(n.inputs.length===0||n.inputs.some(s=>o.includes(s)))).map(n=>[n.id,n]))}var ur=cn;var lr=(e,t)=>t&&typeof t=="string"?t.split(".").reduce((r,o)=>r[o],e):e;var pr="|||";var dr="SECTION_ALLOWED";function St(e){return e.type===S.SECTION_FLAG&&e.inputs.length===0&&e.consumers.length===0}function ln(){let{publicRuntimeConfig:e}=un(),t=e.bespoke_report_env_vars||{};return {...Object.keys(t).reduce((r,o)=>(r[`ENV_${o}`]=t[o]||"N/A",r),{})}}var De=ln;function pn(){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 fr=pn;var Re=Wo(process.env.NEXT_PUBLIC_REPORTS_DEBUG),yn=process.env.REPORTS_ORIGIN||"";mr(tt,{retries:5,retryDelay:mr.exponentialDelay,onRetry:(e,t,r)=>{console.error("Generator request failed. Retrying... Count: ",e),console.error("URL: ",r.url),console.error(t.message);}});tt.interceptors.request.use(e=>({...e,requestStart:Date.now()}));tt.interceptors.response.use(e=>({...e,requestDuration:new Date().getTime()-e.config.requestStart}),e=>Promise.reject(e));var Rn=(e,t,r)=>{let o=ye(e,t,r);return o.startsWith("http")||(o=`${yn}${o.startsWith("/")?"":"/"}${o}`),o},{urlProxy:gn}=Be("/api/cms");function et(e){return e.ok!==void 0}function Xe(e){this.message=e,this.name="ApiFetchException";}var yr=process.env.NEXT_PUBLIC_REPORTS_API_FETCH_TIMEOUT||0;async function En(e,t,r="en",o,n){let s=Date.now(),a=e,i,c=De(),u=fr(),l={envs:{...c,...u}},d=new URL(e).searchParams;if(d.has("bespoke_slugs")){let T=new RegExp(`[?&]bespoke_slugs=${d.get("bespoke_slugs")}`,"g");a=a.replace(T,"");}let f={datasource:void 0};o.find(T=>{if(!T.content?.pattern)return !1;try{let v=new RegExp(T.content.pattern,"gm");return v.test(a)?(f.datasource=T,!0):v.test(a)}catch{return !1}});let b=n?n.settings:{},A=!!(b&&b.useProxy&&b.useProxy==="true"),m=f.datasource&&typeof f.datasource.content.useProxy=="boolean"?f.datasource.content.useProxy:!1,P=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/api/cms/url/proxy?url=${encodeURIComponent(a)}`;if(typeof window=="object"&&(A||m)){let T=await gn({url:a,timeout:yr});if(T.ok===!0)i=T.data;else throw new Xe(T?.error)}else try{let v={url:a,timeout:yr};if(f.datasource){let H=await Kt({vars:["url","libs"],logic:f.datasource.content.logic},l)(a);if(H.axiosConfig)v=H.axiosConfig;else throw new Xe(`AxiosConfig is missing in Data Source ${f.datasource.name} (ID: ${f.datasource.id}).`)}let q=await tt(v);if(q.status===200)q.headers["content-type"]==="text/csv"?i=csvParse(q.data):i=q.data;else throw new Xe("No response for: "+a)}catch(T){throw new Xe(T.message)}if(d.has("bespoke_slugs")){let T=d.get("bespoke_slugs");if(T){let v=T.split(",");if(v.length===3){let[q,I,H]=v,_=lr(i,H);if(_&&Array.isArray(_)){let w=Array.from(new Set(_.map(C=>`${C[I]}`).filter(C=>!["","undefined"].includes(C))));if(w.length>0){let C=w.join("").length>2e3,L=await t({mode:C?"whole":"ids",ids:C?void 0:w,all:!1,locale:r,variant:[parseInt(q,10)],output:"lite",limit:w.length+1}).then(N=>{let h=[];return et(N)?N.ok&&(h=N.data.results):h=N.results,h&&Array.isArray(h)?h:[]}).catch(N=>(console.error(`Error hydrating slugs for Variant: ${q}, Key: ${I}, Accessor: ${H}`),console.error(` Url ${e}`),n&&console.error(` From Section ${n.section_id} and Block ${n.id}`),console.error(N),[]));if(L){let N=Object.fromEntries(L.map(h=>[h.id,`/${h.variant_slug}/${h.slug}`]));_.map(h=>(h.bespoke_slug=N[h[I]]?N[h[I]]:null,h));}}}}}}return {data:i,requestDuration:Date.now()-s,finalUrl:m||A?P:a,apiDataSource:f.datasource?f.datasource:!1}}function hn(e){this.name="BlockException",this.message=e;}async function Rr(e,t,r,o,n){let{locale:s,variables:a,query:i}=Q(r),c=bn(e,r,a,t),u=null,l=e.contentByLocale?.logic?.content?.api,p=null,d=null,f=null,b=null,A=null;if(!c)return {outputVariables:{},renderVariables:{},status:{allowed:!1,hiddenByCascade:e.id}};if(e.type===S.FALLBACK)return {outputVariables:{},renderVariables:{},status:{allowed:c,hiddenByCascade:e.id}};if(l){f=Rn(l,t,r);let _=f.split(pr).filter(L=>L!==""),w=[];for(let L=0;L<_.length;L++){let N=_[L];new RegExp("^(?:[a-z+]+:)?//","i").test(f)||(N=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/${N}`.replace(/([^:]\/)\/+/g,"$1")),w.push(En(N,o,s,n,e).catch(k=>{throw new hn(` Excecution of ${e.type}-${e.id} in section ${e.section_id} in report ${a.report_name} (${a.report_id}) failed.
|
|
28
|
+
Error fetching ${N}.
|
|
29
|
+
Message: ${k.message}.
|
|
30
|
+
`)}));}let C=await Promise.all(w).catch(L=>L.message);if(typeof C=="string"&&C)return {outputVariables:{},renderVariables:{},status:{error:C}};u=C.length===1?C[0].data:C.map(L=>L.data),d=C.reduce((L,N)=>L+JSON.stringify(N.data).length/1024,0),p=Math.max(...C.map(L=>L.requestDuration)),b=C.map(L=>L.apiDataSource?`${L.apiDataSource.name} (${L.apiDataSource.id})`:!1),A=C.map(L=>L.finalUrl);}if(e.type===S.SELECTOR){let{config:_,log:w,error:C}=gt(e.id,e.contentByLocale[s].content.logic,t,r,!0);return {outputVariables:sr(e.id,i,_),renderVariables:_,status:{log:w,error:C,allowed:c}}}if(e.type===S.MULTIHIERARCHY_SELECTOR){let{config:_,log:w,error:C}=ht(e.id,e.contentByLocale[s].content.logic,t,r,!0);return {outputVariables:ar(e.id,i,_),renderVariables:_,status:{log:w,error:C,allowed:c}}}if(e.type===S.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:c}};if(e.type===S.RELATED){let _=e.contentByLocale?.logic?.content?.simple?.compare||"variant",w=e.contentByLocale?.logic?.content?.simple?.limit||4,C=Object.keys(a).filter(y=>y.startsWith("report_id")).map(y=>a[y]),L=Object.keys(a).filter(y=>y.startsWith("dimension_id")).map(y=>a[y]),N=Object.keys(a).filter(y=>y.startsWith("variant_id")).map(y=>a[y]),h=Object.keys(a).filter(y=>y.startsWith("id")).map(y=>a[y]);if(!h.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:!1}};let k=await Promise.all(h.map((y,O)=>o({mode:"ids",locale:s,ids:[y],output:"lite",variant:[N[O]]}))).then(y=>y.flatMap(O=>{let z=[];return et(O)?O.ok&&(z=O.data.results):z=O.results,z&&Array.isArray(z)?z:[]})).catch(y=>(console.error("Error getting related members",y),[]));if(L.length>1){let y=Object.keys(a).filter(x=>x.startsWith("variant_slug")).map(x=>a[x]),O=k.map((x,G)=>{let D={mode:"related",locale:s,related:w??4,current_ids:[x.content_id],output:"full",variant_ids:[x.variant_id]};return G===0&&(D.include_ids=[x.content_id]),D}),z=await Promise.all(O.map(x=>o(x))).then(x=>x.flatMap(G=>{let D=[];return et(G)?G.ok&&(D=G.data.results):D=G.results,D&&Array.isArray(D)?D:[]})).catch(x=>(console.error("Error getting related members",x),[])),ne=z.reduce((x,G)=>{let D=G.variant_slug;return x[D]||(x[D]=[]),x[D].push(G),x},{}),ze=[],ct=Object.keys(ne),xe=[{combination:[],index:0}];for(;xe.length>0;){let x=xe.pop();if(!x)continue;let{combination:G,index:D}=x;if(D===ct.length){ze.push(G);continue}let ut=ct[D],eo=ne[ut];for(let to of eo)xe.push({combination:[...G,to],index:D+1});}return {outputVariables:{related_reports:ze.map(x=>{let G=x.sort((D,ut)=>y.indexOf(D.variant_slug)-y.indexOf(ut.variant_slug));return {entities:G,link:"/"+G.map(D=>`${D.variant_slug}/${D.slug}`).join("/")}})},renderVariables:{},status:{log:[],allowed:z.length>0}}}let W=k.map(y=>y.content_id),R={mode:"related",locale:s,related:w??4,current_ids:W,output:"full"};_&&(_==="report"?R.report_ids=C:_==="dimension"?R.dimension_ids=L:R.variant_ids=N);let V=await o(R).then(y=>{let O=[];return et(y)?y.ok&&(O=y.data.results):O=y.results,O&&Array.isArray(O)?O:[]}).catch(y=>(console.error("Error getting related members",y),[]));return {outputVariables:{related_reports:V.map(y=>({entities:[y],link:`/${y.variant_slug}/${y.slug}`}))},renderVariables:{},status:{log:[],allowed:V.length>0}}}let{logic:m}=cr(e,s),P=ye(m,t,r),T=me("resp",u||{},P,t,a,r),{vars:v,error:q,log:I}=T;if(typeof v!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:I,duration:p,responseSize:d,resp:u,api:f,allowed:c,apiFinalUrls:A,apiDataSources:b}};let H=Object.keys(v).reduce((_,w)=>({..._,[`${e.type}${e.id}${w}`]:v[w]}),{});return {renderVariables:v,outputVariables:[S.GENERATOR,S.SECTION_FLAG].includes(e.type)?v:H,status:{log:I,error:q,duration:p,responseSize:d,resp:u,api:f,allowed:c,apiFinalUrls:A,apiDataSources:b}}}function Sn(e,t,r,o,n,s,a){return e.consumers.forEach(i=>{if(t[i]){let c=`${r}-${i}`;!o.includes(c)&&(t[i].section_id===t[r].section_id||!n)&&o.push(c),e.consumers.filter(u=>t[u]&&t[u].section_id===t[r].section_id||!n).forEach(u=>bt(u,t,o,!1,s,n,a));}})}var bt=(e,t,r=[],o=!0,n=!0,s=!0,a=[])=>{if(a.includes(e))return [];a.push(e);let i=t[e];return i&&i.inputs.length&&o&&i.inputs.forEach(c=>{let u=`${c}-${e}`;r.includes(u)||r.push(u),i.inputs.forEach(l=>bt(l,t,r,o,!1,s,a));}),i&&i.consumers.length&&n&&Sn(i,t,e,r,s,n,a),r},bn=(e,t,r,o)=>{let n=!0;if(e&&"allowed"in e.settings&&e.settings.allowed!=="always")if(e.settings.allowed==="never")n=!1;else {let s=Q(t),{error:a,output:i}=me("variables",r,e.settings.allowedLogic||"return false;",o,void 0,s);a||(n=!!i);}return n},gr=async(e,t,r,o,n,s={},a,i="section",c)=>{let u=i==="section",l=Q(n),p=l.variables,d={...s.variables??{}},f={...s.status??{}},b=new Set,A=[],m={};r?m={...m,[r]:e[r]}:t?m=(t??[]).reduce((h,{id:k})=>({...h,...ur(k,e)}),{}):m=Object.values(e).filter(h=>St(h)).reduce((h,k)=>({...h,[k.id]:k}),{});let P=Object.values(m).filter(h=>St(h));if(P.length>0){Re&&console.info("%crunConsumers: calculating section flags","color:purple",P.map(R=>R.id).join(", "));let h=Object.fromEntries(await Promise.all(P.map(async R=>[R.id,await Rr(R,o,{...l,variables:p,locale:p.locale},a,c).then(V=>{let{outputVariables:$,status:y}=V;if(y.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${R.id}, Section ${R.section_id}) failed with message: ${y.error}. `);f[R.id]={allowed:!1,error:y.error},d[R.id]={};}return (R.consumers.length>0||[S.GENERATOR,S.SECTION_FLAG,S.RELATED].includes(R.type))&&y.allowed&&Object.keys($).length>0?d[R.id]=$:d[R.id]={},i==="report"?(f[R.id]={allowed:y.allowed},[S.GENERATOR,S.SECTION_FLAG].includes(R.type)&&y.api&&(f[R.id].api=y.api)):f[R.id]=y,V})]))),W=Object.entries(h).filter(([,R])=>!R.outputVariables[dr]).map(([R])=>Number(R));b=new Set(W.map(R=>e[R].section_id)),Object.values(m).filter(R=>b.has(R.section_id)).forEach(R=>{A.push(R.id),delete m[R.id];}),Re&&console.info("%crunConsumers: removing sections","color:purple",b.keys());}let T=b.size>0?Object.fromEntries(Object.entries(e).filter(([,h])=>b?.has(h.section_id)?(A.includes(h.id)||A.push(h.id),!1):!0)):e;if(A.length>0&&(T=Object.fromEntries(Object.entries(T).map(([h,k])=>{let W={...k,inputs:k.inputs.filter(R=>!A.includes(R)),consumers:k.consumers.filter(R=>!A.includes(R))};return [h,W]}))),!r&&!t)return {variables:{...s.variables??{},...d},status:{...s.status??{},...f}};i==="report"&&A.length>0&&A.forEach(h=>{delete d[h],delete f[h],delete e[h];}),Re&&console.info("%crunConsumers: running root blocks","color:purple",Object.keys(m));let v=Object.keys(m).reduce((h,k)=>{let W=new Date,R=bt(Number(k),T,[],!r,!0,u).map(y=>y.split("-")),$=(new Date().getTime()-W.getTime())/1e3;return Re&&console.info(`%cResolved dependencies for ${k} (${$.toFixed(2)}s)`,"color:blue"),[...h,...R]},[]),q=new Date,I=Object.keys(m).reduce((h,k)=>h.includes(k)?[...h]:[k,...h],dn(v)),_=(new Date().getTime()-q.getTime())/1e3;Re&&console.info(`%cResolved DAG (${_.toFixed(2)}s): `,"color:green",I);async function w(h,k){let W=new Map;for(let R of h){let V=k[R],y=Promise.all(V.inputs.filter(O=>h.includes(String(O))).map(O=>W.get(Number(O)))).then(async()=>{let O=V.inputs.reduce((X,x)=>({...X,...d[x]}),p),z=V.inputs.find(X=>(V.settings?.ignoreCascade?V.settings?.ignoreCascade:[]).includes(X)||!f[X]?!1:!f[X].allowed||f[X].hiddenByCascade);if(z){f[R]={allowed:!1,hiddenByCascade:f[z].hiddenByCascade||z},d[R]={};return}let ne=new Date,ze=await Rr(V,o,{...l,variables:O,locale:O.locale},a,c).then(({outputVariables:X,status:x})=>{if(x.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${R}, Section ${V.section_id}) failed with message: ${x.error}. `);f[R]={allowed:!1,error:x.error},d[R]={};}(V.consumers.length>0||[S.GENERATOR,S.SECTION_FLAG,S.RELATED].includes(V.type))&&x.allowed&&Object.keys(X).length>0?d[R]=X:d[R]={},i==="report"?(f[R]={allowed:x.allowed},[S.GENERATOR,S.SECTION_FLAG].includes(V.type)&&x.api&&(f[R].api=x.api)):f[R]=x;}),xe=(new Date().getTime()-ne.getTime())/1e3;return Re&&console.info(`%cBlock ${V.id} resolved in ${xe.toFixed(3)}s`,xe>500?"color:red":"color:green"),ze});W.set(Number(R),y);}await Promise.all(Array.from(W.values()));}let C=new Date;await w(I,T);let N=(new Date().getTime()-C.getTime())/1e3;return Re&&console.info(`%cResolved Variables (${N.toFixed(2)}s): `,"color:green"),{variables:{...s.variables??{},...d},status:{...s.status??{},...f}}};function Tn(e=[]){return e.reduce((t,r,o)=>{if(r){let n=o+1;t[`id${n}`]=r.id,t[`name${n}`]=r.name,t[`slug${n}`]=r.slug,"attributes"in r&&Object.keys(r.attributes).forEach(s=>{t[`attr_${s}${n}`]=r.attributes[s];}),t[`variant_id${n}`]=r.variant_id,t[`variant_name${n}`]=r.variant_name,t[`variant_slug${n}`]=r.variant_slug,t[`dimension_id${n}`]=r.dimension_id,t[`dimension_name${n}`]=r.dimension_name,t.report_id=r.report_id,t.report_name=r.report_name;}return t},{})}var Er=Tn;function ge(e,t,r){if(t==="createBulk"||t==="updateBulk"){let n=`${t}${hr(r)}`;return e[n]}let o=`${t}${hr(r)}`;return e[o]}function hr(e){return e[0].toUpperCase()+e.slice(1)}function j(e){for(var t=arguments.length,r=Array(t>1?t-1:0),o=1;o<t;o++)r[o-1]=arguments[o];if(process.env.NODE_ENV!=="production"){var n=_n[e],s=n?typeof n=="function"?n.apply(null,r):n:"unknown error nr: "+e;throw Error("[Immer] "+s)}throw Error("[Immer] minified error nr: "+e+(r.length?" "+r.map(function(a){return "'"+a+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function Le(e){return !!e&&!!e[K]}function he(e){var t;return !!e&&(function(r){if(!r||typeof r!="object")return !1;var o=Object.getPrototypeOf(r);if(o===null)return !0;var n=Object.hasOwnProperty.call(o,"constructor")&&o.constructor;return n===Object||typeof n=="function"&&Function.toString.call(n)===On}(e)||Array.isArray(e)||!!e[kr]||!!(!((t=e.constructor)===null||t===void 0)&&t[kr])||Ot(e)||It(e))}function Fe(e,t,r){r===void 0&&(r=!1),Oe(e)===0?(r?Object.keys:Dt)(e).forEach(function(o){r&&typeof o=="symbol"||t(o,e[o],e);}):e.forEach(function(o,n){return t(n,o,e)});}function Oe(e){var t=e[K];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:Ot(e)?2:It(e)?3:0}function Ct(e,t){return Oe(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function An(e,t){return Oe(e)===2?e.get(t):e[t]}function Pr(e,t,r){var o=Oe(e);o===2?e.set(t,r):o===3?e.add(r):e[t]=r;}function vn(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function Ot(e){return Pn&&e instanceof Map}function It(e){return Ln&&e instanceof Set}function Ee(e){return e.o||e.t}function Bt(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=In(e);delete t[K];for(var r=Dt(t),o=0;o<r.length;o++){var n=r[o],s=t[n];s.writable===!1&&(s.writable=!0,s.configurable=!0),(s.get||s.set)&&(t[n]={configurable:!0,writable:!0,enumerable:s.enumerable,value:e[n]});}return Object.create(Object.getPrototypeOf(e),t)}function wt(e,t){return t===void 0&&(t=!1),Nt(e)||Le(e)||!he(e)||(Oe(e)>1&&(e.set=e.add=e.clear=e.delete=xn),Object.freeze(e),t&&Fe(e,function(r,o){return wt(o,!0)},!0)),e}function xn(){j(2);}function Nt(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function te(e){var t=Bn[e];return t||j(18,e),t}function Sr(){return process.env.NODE_ENV==="production"||_e||j(0),_e}function Tt(e,t){t&&(te("Patches"),e.u=[],e.s=[],e.v=t);}function rt(e){kt(e),e.p.forEach(Cn),e.p=null;}function kt(e){e===_e&&(_e=e.l);}function br(e){return _e={p:[],l:_e,h:e,m:!0,_:0}}function Cn(e){var t=e[K];t.i===0||t.i===1?t.j():t.g=!0;}function At(e,t){t._=t.p.length;var r=t.p[0],o=e!==void 0&&e!==r;return t.h.O||te("ES5").S(t,e,o),o?(r[K].P&&(rt(t),j(4)),he(e)&&(e=ot(t,e),t.l||nt(t,e)),t.u&&te("Patches").M(r[K].t,e,t.u,t.s)):e=ot(t,r,[]),rt(t),t.u&&t.v(t.u,t.s),e!==Lr?e:void 0}function ot(e,t,r){if(Nt(t))return t;var o=t[K];if(!o)return Fe(t,function(i,c){return Tr(e,o,t,i,c,r)},!0),t;if(o.A!==e)return t;if(!o.P)return nt(e,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var n=o.i===4||o.i===5?o.o=Bt(o.k):o.o,s=n,a=!1;o.i===3&&(s=new Set(n),n.clear(),a=!0),Fe(s,function(i,c){return Tr(e,o,n,i,c,r,a)}),nt(e,n,!1),r&&e.u&&te("Patches").N(o,r,e.u,e.s);}return o.o}function Tr(e,t,r,o,n,s,a){if(process.env.NODE_ENV!=="production"&&n===r&&j(5),Le(n)){var i=ot(e,n,s&&t&&t.i!==3&&!Ct(t.R,o)?s.concat(o):void 0);if(Pr(r,o,i),!Le(i))return;e.m=!1;}else a&&r.add(n);if(he(n)&&!Nt(n)){if(!e.h.D&&e._<1)return;ot(e,n),t&&t.A.l||nt(e,n);}}function nt(e,t,r){r===void 0&&(r=!1),!e.l&&e.h.D&&e.m&&wt(t,r);}function vt(e,t){var r=e[K];return (r?Ee(r):e)[t]}function Ar(e,t){if(t in e)for(var r=Object.getPrototypeOf(e);r;){var o=Object.getOwnPropertyDescriptor(r,t);if(o)return o;r=Object.getPrototypeOf(r);}}function Pt(e){e.P||(e.P=!0,e.l&&Pt(e.l));}function xt(e){e.o||(e.o=Bt(e.t));}function Lt(e,t,r){var o=Ot(t)?te("MapSet").F(t,r):It(t)?te("MapSet").T(t,r):e.O?function(n,s){var a=Array.isArray(n),i={i:a?1:0,A:s?s.A:Sr(),P:!1,I:!1,R:{},l:s,t:n,k:null,o:null,j:null,C:!1},c=i,u=_t;a&&(c=[i],u=Ue);var l=Proxy.revocable(c,u),p=l.revoke,d=l.proxy;return i.k=d,i.j=p,d}(t,r):te("ES5").J(t,r);return (r?r.A:Sr()).p.push(o),o}function kn(e){return Le(e)||j(22,e),function t(r){if(!he(r))return r;var o,n=r[K],s=Oe(r);if(n){if(!n.P&&(n.i<4||!te("ES5").K(n)))return n.t;n.I=!0,o=vr(r,s),n.I=!1;}else o=vr(r,s);return Fe(o,function(a,i){n&&An(n.t,a)===i||Pr(o,a,t(i));}),s===3?new Set(o):o}(e)}function vr(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return Bt(e)}var xr,_e,Mt=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",Pn=typeof Map<"u",Ln=typeof Set<"u",Cr=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",Lr=Mt?Symbol.for("immer-nothing"):((xr={})["immer-nothing"]=!0,xr),kr=Mt?Symbol.for("immer-draftable"):"__$immer_draftable",K=Mt?Symbol.for("immer-state"):"__$immer_state";var _n={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(e){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(e){return "Cannot apply patch, path doesn't resolve: "+e},16:'Sets cannot have "replace" patches.',17:function(e){return "Unsupported patch operation: "+e},18:function(e){return "The plugin for '"+e+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+e+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(e){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+e+"'"},22:function(e){return "'current' expects a draft, got: "+e},23:function(e){return "'original' expects a draft, got: "+e},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},On=""+Object.prototype.constructor,Dt=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,In=Object.getOwnPropertyDescriptors||function(e){var t={};return Dt(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r);}),t},Bn={},_t={get:function(e,t){if(t===K)return e;var r=Ee(e);if(!Ct(r,t))return function(n,s,a){var i,c=Ar(s,a);return c?"value"in c?c.value:(i=c.get)===null||i===void 0?void 0:i.call(n.k):void 0}(e,r,t);var o=r[t];return e.I||!he(o)?o:o===vt(e.t,t)?(xt(e),e.o[t]=Lt(e.A.h,o,e)):o},has:function(e,t){return t in Ee(e)},ownKeys:function(e){return Reflect.ownKeys(Ee(e))},set:function(e,t,r){var o=Ar(Ee(e),t);if(o?.set)return o.set.call(e.k,r),!0;if(!e.P){var n=vt(Ee(e),t),s=n?.[K];if(s&&s.t===r)return e.o[t]=r,e.R[t]=!1,!0;if(vn(r,n)&&(r!==void 0||Ct(e.t,t)))return !0;xt(e),Pt(e);}return e.o[t]===r&&(r!==void 0||t in e.o)||Number.isNaN(r)&&Number.isNaN(e.o[t])||(e.o[t]=r,e.R[t]=!0),!0},deleteProperty:function(e,t){return vt(e.t,t)!==void 0||t in e.t?(e.R[t]=!1,xt(e),Pt(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=Ee(e),o=Reflect.getOwnPropertyDescriptor(r,t);return o&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:o.enumerable,value:r[t]}},defineProperty:function(){j(11);},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){j(12);}},Ue={};Fe(_t,function(e,t){Ue[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};}),Ue.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&j(13),Ue.set.call(this,e,t,void 0)},Ue.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&j(14),_t.set.call(this,e[0],t,r,e[0])};var wn=function(){function e(r){var o=this;this.O=Cr,this.D=!0,this.produce=function(n,s,a){if(typeof n=="function"&&typeof s!="function"){var i=s;s=n;var c=o;return function(A){var m=this;A===void 0&&(A=i);for(var P=arguments.length,T=Array(P>1?P-1:0),v=1;v<P;v++)T[v-1]=arguments[v];return c.produce(A,function(q){var I;return (I=s).call.apply(I,[m,q].concat(T))})}}var u;if(typeof s!="function"&&j(6),a!==void 0&&typeof a!="function"&&j(7),he(n)){var l=br(o),p=Lt(o,n,void 0),d=!0;try{u=s(p),d=!1;}finally{d?rt(l):kt(l);}return typeof Promise<"u"&&u instanceof Promise?u.then(function(A){return Tt(l,a),At(A,l)},function(A){throw rt(l),A}):(Tt(l,a),At(u,l))}if(!n||typeof n!="object"){if((u=s(n))===void 0&&(u=n),u===Lr&&(u=void 0),o.D&&wt(u,!0),a){var f=[],b=[];te("Patches").M(n,u,f,b),a(f,b);}return u}j(21,n);},this.produceWithPatches=function(n,s){if(typeof n=="function")return function(u){for(var l=arguments.length,p=Array(l>1?l-1:0),d=1;d<l;d++)p[d-1]=arguments[d];return o.produceWithPatches(u,function(f){return n.apply(void 0,[f].concat(p))})};var a,i,c=o.produce(n,s,function(u,l){a=u,i=l;});return typeof Promise<"u"&&c instanceof Promise?c.then(function(u){return [u,a,i]}):[c,a,i]},typeof r?.useProxies=="boolean"&&this.setUseProxies(r.useProxies),typeof r?.autoFreeze=="boolean"&&this.setAutoFreeze(r.autoFreeze);}var t=e.prototype;return t.createDraft=function(r){he(r)||j(8),Le(r)&&(r=kn(r));var o=br(this),n=Lt(this,r,void 0);return n[K].C=!0,kt(o),n},t.finishDraft=function(r,o){var n=r&&r[K];process.env.NODE_ENV!=="production"&&(n&&n.C||j(9),n.I&&j(10));var s=n.A;return Tt(s,o),At(void 0,s)},t.setAutoFreeze=function(r){this.D=r;},t.setUseProxies=function(r){r&&!Cr&&j(20),this.O=r;},t.applyPatches=function(r,o){var n;for(n=o.length-1;n>=0;n--){var s=o[n];if(s.path.length===0&&s.op==="replace"){r=s.value;break}}n>-1&&(o=o.slice(n+1));var a=te("Patches").$;return Le(r)?a(r,o):this.produce(r,function(i){return a(i,o)})},e}(),Y=new wn,Nn=Y.produce;Y.produceWithPatches.bind(Y);Y.setAutoFreeze.bind(Y);Y.setUseProxies.bind(Y);Y.applyPatches.bind(Y);Y.createDraft.bind(Y);Y.finishDraft.bind(Y);var st=Nn;var J=oe.actions,Br=qe({block:ae("block"),dimension:ae("dimension"),formatter:ae("formatter"),report:ae("report"),section:ae("section"),variant:ae("variant"),datasource:ae("datasource")}),Ve=qe({block:ie("block"),dimension:ie("dimension"),formatter:ie("formatter"),report:ie("report"),section:ie("section"),variant:ie("variant"),datasource:ie("datasource")}),wr=qe({block:re("block"),dimension:re("dimension"),formatter:re("formatter"),report:re("report"),section:re("section"),variant:re("variant"),datasource:re("datasource")}),Nr=qe({block:Se("block"),dimension:Se("dimension"),formatter:Se("formatter"),report:Se("report"),section:Se("section"),variant:Se("variant"),datasource:Se("datasource")}),Mr=qe({block:Or("block"),section:Or("section")});function qe(e){return (t,r)=>{let o=e[t];if(!o)throw new Error(`Attempting to dispatch action for invalid entity type '${t}'`);return o(r)}}function Te(e,t){return (r,o)=>{let s=o().records.requests[e][t],a=!s||s.status==="UNINITIALIZED"?"LOADING":"FETCHING";r(J.setRequest({key:t,type:e,status:a}));}}function be(e,t,r,o){return n=>{typeof window=="object"&¬ifications.show({autoClose:3e3,color:"red",id:t,message:o,title:"Error"}),n(J.setRequest({key:t,type:e,status:"FAILURE",error:{code:r,message:o}}));}}function ae(e){return t=>{let r=Ft(e,t);return (o,n,s)=>(o(Te(e,r)),ge(s,"create",e)(t).then(i=>(i.ok===!0?o(J.setCreateRequest({key:r,operation:"create",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error)),i)))}}function Un(e){return t=>{let r=Ft(e,t[0]);return (o,n,s)=>(o(Te(e,r)),ge(s,"createBulk",e)(t).then(i=>(i.ok===!0?o(J.setCreateRequest({key:r,operation:"createBulk",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error)),i)))}}function _r(e,t,r){return r.replace(new RegExp(e,"g"),t)}function Fn(e){return e.section_id!==void 0}function Vn(e){return e.report_id!==void 0}function Or(e){return t=>{let{create:r}=t;return (o,n,s)=>ae(e)(r)(o,n,s).then(async i=>{if(i.ok){let{data:c}=i,{id:u}=c,{update:l}=t,p=Fr(e,{id:u});if(o(Te(e,`${p}`)),e==="block"&&Fn(r)){let d=st(l,m=>{m.id=u;}),{contentByLocale:f}=d;f&&(d=st(d,m=>{m.id=u,m.contentByLocale=Object.keys(f).reduce((P,T)=>{let v=f?f[T]:{};return P[T]={...v,id:u},P},{});}));let A=d.inputs?.map(m=>({type:m.type,id:m.id,inputAction:{operation:"create",input:{input_id:m.id,block_id:d.id}}}));return A&&A.length>0&&Ir(e)([d,...A])(o,n,s).then(()=>ie("section")({id:d.section_id,include:!0})(o,n,s).then(m=>(m.ok&&o(J.setRequest({key:p,type:e,status:"SUCCESS",data:m.data})),m))),re(e)(d)(o,n,s).then(m=>(m.ok&&o(J.setRequest({key:p,type:e,status:"SUCCESS",data:m.data})),m))}if(e==="section"&&Vn(r)){let{id:d}=c,f=st(l,m=>{m.id=d;}),{blocks:b}=f,A=b?.map(m=>({type:m.type,blockcol:m.blockcol,blockrow:m.blockrow,section_id:d,locales:Object.keys(m.contentByLocale).map(P=>P)}));return A&&b&&await Un("block")(A)(o,n,s).then(m=>{if(m.ok){let P=m.data,T=[],v=P.map((q,I)=>{let _={...q},w=_.id,C=b[I];C.contentByLocale&&(_.contentByLocale=Object.keys(C.contentByLocale).reduce(($,y)=>{let O=C.contentByLocale[y];return $[y]={...O,content:{...O.content},id:_.id},$},{}));let{settings:L}=C,{contentByLocale:N,id:h}=_;_.settings=L;let k={id:h,contentByLocale:N,settings:L};return C.inputs.map($=>$.id).reduce(($,y)=>{let O=b.findIndex(z=>z.id===y);return [...$,O]},[]).map($=>({...P[$],originalBlock:b[$]})).forEach($=>{let{id:y,type:O,originalBlock:z}=$;if([S.SELECTOR,S.VIZ].includes(O)){if(k.contentByLocale?.logic?.content?.api){let ne=k.contentByLocale?.logic.content.api;k.contentByLocale.logic.content.api=_r(`(selector${z.id}id)`,`selector${y}id`,ne);}if(k.contentByLocale?.logic?.content?.logic){let ne=k.contentByLocale.logic.content.logic;k.contentByLocale.logic.content.logic=_r(`(selector${z.id}id)`,`selector${y}id`,ne);}}T.push({id:y,inputAction:{operation:"create",input:{input_id:y,block_id:w}}});}),k});return Ir("block")([...v,...T])(o,n,s)}}),re(e)(f)(o,n,s).then(m=>(m.ok&&o(J.setRequest({key:p,type:e,status:"SUCCESS",data:m.data})),m))}return re(e)({...l,id:c.id})(o,n,s)}})}}function ie(e){return t=>{let r=Dr(e,t);return (o,n,s)=>{o(Te(e,r));let a=ge(s,"read",e);if(typeof a!="function"){let i=`Failed to get valid RPC method for entity "${e}"`;return o(be(e,r,500,i)),Promise.reject(new Error(i))}return a(t).then(i=>(i.ok===!0?o(J.setReadRequest({key:r,operation:"read",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error)),i))}}}function re(e){return t=>{let r=Vt(e,t);return (o,n,s)=>(o(Te(e,r)),ge(s,"update",e)(t).then(i=>(i.ok===!0?o(J.setUpdateRequest({key:r,operation:"update",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error)),i)))}}function Ir(e){return t=>{let r=Vt(e,t[0]);return (o,n,s)=>(o(Te(e,r)),ge(s,"updateBulk",e)(t).then(i=>(i.ok===!0?o(J.setUpdateRequest({key:r,operation:"updateBulk",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error)),i)))}}function Se(e){return t=>{let r=Ur(e,t);return (o,n,s)=>(o(Te(e,r)),ge(s,"delete",e)(t).then(i=>{i.ok===!0?o(J.setDeleteRequest({key:r,operation:"delete",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error));}))}}function Ft(e,t){if(e==="variant"){let r=t;return `create(variant, [${r.dimension_id}, ${r.name}])`}return `create(${e}, [${Object.keys(t)}])`}function Dr(e,t={}){let r=t.id==null?null:`'${t.id}'`;return `read(${e}, ${r}, ${!!t.include})`}function Vt(e,t){let{id:r,...o}=t;return `update(${e}, ${r}, [${Object.keys(o)}])`}function Ur(e,t){return `delete(${e}, ${t})`}function Fr(e,t){let r=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${r})`}var{setStatus:Vr,setPreviews:qn,setSectionState:qr,resetSectionState:$r,setCurrentLocale:$n,setPreferredLocale:zn,addRunConsumersRunning:zr,removeRunConsumersRunning:jr}=Pe;function jn(e,t){return async(r,o,n)=>{let s=await n.validateVariantSlug({dimension:e,slug:t});if("error"in s)throw new Error(s.error);return s.data}}function Gn(e){return async(t,r,o)=>{let n=await o.searchReport(e);if("error"in n)throw new Error(n.error);return n.data}}function Hn(){return async(e,t,r)=>{let o=await r.regenerateSearch(void 0);if("error"in o)throw new Error(o.error);return o.data}}function Gr(e){return async(t,r,o)=>{let n=await o.readMember(e);if("error"in n)throw new Error(n.error);return n.data}}function Kn(e){return async(t,r,o)=>{let n=await o.searchMember(e);if(n.ok===!0)return n.data;throw new Error(n.error)}}async function Hr(e,t,r,o){let n=r().status,s={...n,...o},a={...n.query,...o.query};Object.keys(a).forEach(c=>a[c]===void 0&&delete a[c]);let i={...s,query:a};t(Vr(i)),n.activeSection&&t(Kr(e,{query:a}));}function Yn(e,t){return async(r,o)=>Hr(e,r,o,{query:{[t]:void 0}})}function Wn(e,t,r){return async(o,n)=>Hr(e,o,n,{query:{[t]:r}})}function Kr(e,t){return async(r,o)=>{let n=o(),{currentLocale:s}=n.status,a=n.records.entities.block,i=e.formatterFunctions[s],c=e.datasourceFunctions,{parsedParams:u,statusPayload:l}=Zt(n.status,t),{sid:p,bid:d,previews:f,query:b}=u;Object.keys(l).length&&r(Pe.setStatus(l));let A={...Er(f),locale:s,...De()},m={variables:A,query:b,locale:s};r(Pe.addRunConsumersRunning([p]));let P=n.records.entities.section[p],T=async v=>r(Gr(v));try{let v=await gr(a,P&&[P],d,i,m,void 0,T,"section",c),{variables:q,status:I}=v;r(Jt.setVariableChange({attributes:A,variables:q,status:I})),r(Pe.removeRunConsumersRunning([p]));}catch(v){console.error("Error in runConsumers client side: recalculateVariables",v);}}}function Qn(e){return async(t,r,o)=>{let n=await o.readMetadata(e);if("error"in n)throw new Error(n.error);return n.data}}function Zn(e){return async(t,r,o)=>{let n=await o.urlProxy(e);if("error"in n)throw new Error(n.error);return n.data}}function Jn(){return async(e,t,r)=>{let o=await r.searchRole("");if("error"in o)throw new Error(o.error);return o.data}}function Xn(e){return async(t,r,o)=>{let n=await o.searchUser(e);if("error"in n)throw new Error(n.error);return n.data}}function es(e){return async(t,r,o)=>{let n=await o.readUser({user_id:e});if("error"in n)throw new Error(n.error);return n.data}}function ts({user:e}){return async(t,r,o)=>{let n=await o.updateUser(e);if("error"in n)throw new Error(n.error);return n.data}}function rs(e){return async(t,r,o)=>{let n=await o.updateMyData(e);if("error"in n)throw new Error(n.error);return n.data}}function os(e){let{removeBlocks:t}=oe.actions;return async r=>{await r(t(e));}}function ns(e){let{addBlocks:t}=oe.actions;return async r=>{await r(t(e));}}function ss(e){return async(t,r,o)=>{let n=await o.readPrivateBlocks({...e,roles:[]});if("error"in n)throw new Error(n.error);return n.data}}function as(e){return async(t,r,o)=>{let n=await o.revalidateUrl({target:e.target});if("error"in n)throw new Error(n.error);return n.data}}function is(e){return async(t,r,o)=>{let n=await o.revalidateReport({reportId:e.reportId,profilePrefix:e.profilePrefix});if("error"in n)throw new Error(n.error);return n.data}}function cs(){return async(e,t,r)=>{let o=await r.readEnvSecrets({});if("error"in o)throw new Error(o.error);return o.data}}function us(){let{removeDataSourceLogic:e}=oe.actions;return async t=>{await t(e());}}var {locales:ps}=ee(),ds={pathSegment:"path",formatterFunctions:ps.reduce((e,t)=>({...e,[t]:{}}),{}),datasourceFunctions:[],profilePrefix:"path",siteProps:{}};createContext(ds);ee();var it=useDispatch,$e=useSelector;
|
|
30
31
|
|
|
31
|
-
export {
|
|
32
|
+
export { at as actions, er as storeWrapper, it as useBespokeDispatch, $e as useBespokeSelector };
|