@datawheel/bespoke 0.7.0-rc.1 → 0.7.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/explore.js CHANGED
@@ -3,9 +3,9 @@ import { createContext, forwardRef, useContext, useState, useCallback, useEffect
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 me from 'axios';
6
+ import ue from 'axios';
7
7
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
8
8
 
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,m]=useState([]),[h,i]=useState(!1),[x,p]=useState(!1),[c,b]=useState({}),[e,R]=useState({}),[u,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),me.get("/api/cms/read/metadata").then(t=>{if(t&&t.data&&t.data.data&&t.data.data.data){let y=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),{});m(t.data.data.data),b(y),R(y);}p(!1),k(!0);}).catch(t=>{console.error(t);});}catch(t){console.error("Error fetching metadata:",t),m([]),p(!1),b({}),R({});}},Z=t=>{b(t||e);},O=useCallback(async(t,y)=>{!B&&l.length===0&&await X(),L({profile:t,variant:y});},[]);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=(u-1)*r;H(!1,t);}},[u]);let H=async(t,y)=>{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:y,visible:!0,includes:!0,noImage:!1,variant:s,dimension:[],report:g,all:!1};me.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),b(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 y=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=y.reduce((s,d)=>s+(d.members_count||0),0);return [{...$,members_count:g},...y]},te=l.length>1,F=useMemo(()=>{let t=[];if(!x&&l.length>0&&_){let y=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:y.reduce((g,s)=>g+(s.members_count||0),0)},...y];}return t},[x,_,l,$]),oe=useMemo(()=>{let t;return F&&(f.profile?f.profile&&(t=F.find(y=>y.id===f.profile),t&&f.variant&&t.variants&&(t=t.variants.find(y=>y.id===f.variant))):t=F.find(y=>!y.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:u,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:m,showSelectors:h}=A(),i=e=>{e!==m.profile&&n({profile:e,variant:void 0});},x=e=>{e!==m.variant&&n({...m,variant:e});},p=l.length===2?l[1].id:m.profile,c=p?l.find(e=>e.id===p):void 0,b=c&&c.variants&&m.variant?c.variants.find(e=>e.id===m.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===b?.id?"true":"false","data-variant-name":e.name,variant:e.id===b?.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 m=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:m})}),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 m=useRouter(),h=m.locale,{localeDefault:i}=q(),p=`${h===i?"":`/${h}`}${r}${o.path}`,c=o.members.map(u=>({original_id:u.metadata.id,name:u.name,id:u.id,variant:u.metadata.variant.name,image:{src:`/api/cms/member/image?member=${u.id}&size=thumb`,alt:u.name}})),b=u=>{m.push(`${u}`),n&&n();},e=u=>{u.preventDefault(),b(p);},R=Ye(l);return jsx(Grid.Col,{xs:12,sm:6,md:4,lg:4,xl:3,children:jsx(R,{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,m]=useState(500),h=useRef(null),{results:i}=A(),x=h.current?.offsetTop||0,p=50;return useEffect(()=>{let{innerHeight:c}=window;m(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 yt({profilePrefix:o,initialReportId:r,initialVariantId:n,translations:l,onSelect:m,reportTile:h}){let i=useRef(),x=A(),{query:p,setQuery:c,results:b,loadingItems:e,loadingMetadata:R,translations:u,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:u.search,mb:"md",size:"xl",onChange:M=>c(M.target.value),readOnly:R||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:[(R||e)&&jsx(Loader,{size:28}),p!==""&&jsx(ActionIcon,{onClick:L,children:jsx(IconTrash,{size:24})})]}),ref:i}),jsx(xe,{translations:u}),jsx(LoadingOverlay,{visible:R||e}),!e&&b.length===0&&jsx(Alert,{title:u.no_results,color:"blue",children:u.try_another}),jsx(ve,{profilePrefix:o,onSelect:m,reportTile:h}),jsx(Se,{})]})}var le=yt;var{localeDefault:Et}=q();function It({exploreProps:o={profilePrefix:"/",locale:Et},icon:r=jsx(IconSearch,{size:20}),actionIconProps:n={},modalProps:l={},tooltipProps:m={},tooltipText:h="Click to Explore",showIcon:i=!0,showTooltip:x=!1,children:p}){let[c,b]=useState(!1),e={variant:"light",size:"md",radius:"md",...n},R={fullScreen:!0,opened:c,onClose:()=>b(!1)},u=jsx(ActionIcon,{...e,onClick:()=>b(!0),children:r}),C=i?jsxs(Group,{spacing:"sm",style:{cursor:"pointer"},children:[p,u]}):p;return x&&(C=jsx(Tooltip,{label:h,...m,children:C})),jsxs(Fragment,{children:[jsx(Modal,{...R,...l,children:c&&jsx(le,{...o,onSelect:()=>b(!1)})}),jsx("div",{onClick:()=>b(!0),children:p?C:jsx(Fragment,{children:u})})]})}var kt=It;var wt=forwardRef(({id:o,members:r,profilePrefix:n,reportName:l,reportPath:m,...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:m="Click to search",searchReportParams:h={},callback:i,children:x}){let p=useRouter(),c=p.locale,{localeDefault:b}=q(),e=c===b?"":`/${c}`,R=Ht(n?n.itemComponent:null),[u,C]=useState(""),[f,L]=useDebouncedValue(u,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};me.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:u,itemComponent:R,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:m,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;
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
10
 
11
11
  export { le as BespokeExplore, kt as BespokeExploreModal, $e as BespokeExploreProvider, Wt as BespokeSearch, A as useBespokeExplore };
package/dist/index.js CHANGED
@@ -1,33 +1,7 @@
1
- import { useMantineTheme, Modal, Group, Button, Menu, Avatar, Text } from '@mantine/core';
2
- import Ut, { createContext, useState, useCallback, useContext, useMemo } from 'react';
3
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
4
- import { useUser } from '@auth0/nextjs-auth0/client';
5
- import { IconUserCircle, IconLogout, IconEdit } from '@tabler/icons-react';
6
- import ao from 'next/link';
7
- import qe from 'axios';
8
- import nr from 'axios-retry';
9
- import Mo from 'yn';
10
- import * as Ao from 'd3-array';
11
- import * as vo from 'd3-collection';
12
- import * as xo from 'd3-format';
13
- import * as ko from 'd3-time-format';
14
- import { formatAbbreviate } from 'd3plus-format';
15
- import { date } from 'd3plus-axis';
16
- import { assign, closest, merge } from 'd3plus-common';
17
- import { strip, titleCase } from 'd3plus-text';
18
- import jo from 'toposort';
19
- import { csvParse } from 'd3-dsv';
20
- import tn from 'next/config';
21
- import { schema, normalize } from 'normalizr';
22
- import { createSlice, configureStore } from '@reduxjs/toolkit';
23
- import { HYDRATE, createWrapper } from 'next-redux-wrapper';
24
- import { notifications } from '@mantine/notifications';
25
- import { useDispatch, useSelector } from 'react-redux';
1
+ import { useMantineTheme, Modal, Group, Button } from '@mantine/core';
2
+ import p, { useState, useCallback, useContext } from 'react';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
26
4
 
27
- var Hr=Object.defineProperty;var Wr=(e,t)=>{for(var r in t)Hr(e,r,{get:t[r],enumerable:!0});};var Ft=Ut.createContext(void 0);function Xr(e){let[t,r]=useState(!1),[o,n]=useState(null),s=Ut.useMemo(()=>{function u(l,p){return p?{show:()=>u(l)}:new Promise((d,h)=>{n({request:l,onResolve:d,onReject:h}),r(!0);})}return {newConfirmation:u}},[]),i=()=>{r(!1),setTimeout(()=>n(null),200);},a=useCallback(u=>{!t||!o||(o.onResolve(u),i());},[t,o]),c=useCallback(u=>{!t||!o||(o.onReject(u),i());},[t,o]);return jsxs(Ft.Provider,{value:s,children:[o&&jsx(eo,{opened:t,request:o.request,onConfirm:a,onCancel:c}),e.children]})}function eo(e){let{request:t,opened:r,onCancel:o,onConfirm:n}=e,s=useMantineTheme();return jsxs(Modal,{centered:!0,zIndex:1002,opened:r,title:t.title,onClose:o,children:[t.message,jsxs(Group,{position:"right",style:{marginTop:s.spacing.sm},children:[jsx(Button,{onClick:o,children:t.cancelText||"Cancel"}),jsx(Button,{color:"red",onClick:n,children:t.confirmText||"Confirm"})]})]})}function to(){let e=useContext(Ft);if(e===void 0)throw new Error("useConfirmationDialog must be used within ConfirmationDialogProvider.");return e}var xe={ADMIN:"Admin",EDITOR:"Editor",WRITER:"Writer"};function co({buttonProps:e={},editorMenuItemProps:t={},editorMenuItemRoute:r="/cms",logoutButtonProps:o={},menuProps:n={},options:s="",optionsPosition:i="bottom",translations:a={},withEditorMenuItem:c=!0,withSession:u=!0}){let{user:l,error:p,isLoading:d}=useUser(),h=useMemo(()=>l?.bespoke_roles||[],[l]),S=useMemo(()=>xe&&Object.keys(xe).length>0&&Object.keys(xe).some(f=>h.includes(xe[f])),[h]),T={leftIcon:jsx(IconUserCircle,{}),...e};if(l&&!p&&!d){let f={...t},v={color:"red",fullWidth:!0,leftIcon:jsx(IconLogout,{size:14}),size:"xs",variant:"subtle",...o},A={shadow:"md",width:"auto",position:"bottom",...n},b=jsx(ao,{href:r,passHref:!0,children:jsx(Menu.Item,{icon:jsx(IconEdit,{size:14}),...f,children:a["Go to editor"]||"Go to editor"})});return jsxs(Menu,{...A,children:[jsx(Menu.Target,{children:jsx(Button,{...T,children:`${a["Welcome message"]||`Hi, ${l.name||l.email}`}`})}),jsxs(Menu.Dropdown,{children:[i==="top"&&jsxs(Fragment,{children:[c&&S&&b,s,(s||c&&S)&&jsx(Menu.Divider,{})]}),u&&jsxs(Menu.Item,{component:"span",style:{pointerEvents:"none"},icon:jsx(Avatar,{src:l.picture,radius:"md"}),children:[jsx(Text,{size:"sm",weight:500,children:l.name}),jsx(Text,{color:"dimmed",size:"xs",children:l.email})]}),jsx(Button,{component:"a",href:"/api/auth/logout",...v,children:a.Disconnect||"Disconnect"}),i==="bottom"&&jsxs(Fragment,{children:[(s||c&&S)&&jsx(Menu.Divider,{}),c&&S&&b,s]})]})]})}return jsx(Button,{component:"a",href:"/api/auth/login",loading:d,...T,children:d?a["Signing in"]||"Signing in...":a["Sign in"]||"Sign in"})}var uo=co;var Je={};Wr(Je,{addBlockToState:()=>es,cloneEntity:()=>Ir,createEntity:()=>Cr,deleteEntity:()=>Br,deleteQueryParam:()=>jn,readEntity:()=>Ne,readMember:()=>Ur,readMetadata:()=>Kn,readPrivateBlocks:()=>ts,readUser:()=>Qn,recalculateVariables:()=>qr,removeBlocksFromState:()=>Xn,reportSearch:()=>$n,resetSectionState:()=>Dr,revalidateReport:()=>os,revalidateUrl:()=>rs,searchMember:()=>zn,searchRegenerate:()=>Vn,searchRole:()=>Wn,searchUser:()=>Yn,setCurrentLocale:()=>Un,setPreferredLocale:()=>Fn,setPreviews:()=>Dn,setQueryParam:()=>Gn,setSectionState:()=>Nr,setStatus:()=>wr,updateEntity:()=>Lr,updateMyData:()=>Jn,updateUser:()=>Zn,urlProxy:()=>Hn,variantValidateSlug:()=>qn});function G(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 L(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>G(e,{...o,method:"GET",params:r?r(n):n})}function I(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>G(e,{...o,method:"POST",data:r?r(n):n})}function re(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>G(e,{...o,method:"DELETE",params:r?r(n):n})}function de(e,t){return r=>G(e,{method:"POST",url:`images/save/${t}`,params:{prompt:r.prompt,provider:t}})}function Pe(e,t){return r=>G(e,{method:"GET",url:`images/search/${t}`,params:{prompt:r.prompt,page:r.page,provider:t}})}function zt(e,t){return ()=>G(e,{method:"GET",url:`list/icons/${t}`,params:{provider:t}})}function jt(e,t){return r=>G(e,{method:"GET",url:`read/icons/${t}/icon.svg`,params:{name:r.name}})}var fe=e=>({id:e}),po=e=>{if(e.mode==="slugs"){let t=e.slugs.map(r=>[r.variantSlug,r.memberSlug].join("/")).join(",");return {...e,slugs:t}}return e.mode==="related"?{...e}:{...e,[e.mode]:e[e.mode].join(",")}};function Ce(e){let t=qe.create({baseURL:e});return {createBulkBlock:I(t,"create/bulk/block"),createBlock:I(t,"create/block"),createDimension:I(t,"create/dimension"),createFormatter:I(t,"create/formatter"),createReport:I(t,"create/report"),createSection:I(t,"create/section"),createVariant:I(t,"create/variant"),deleteBlock:re(t,"delete/block",fe),deleteDimension:re(t,"delete/dimension",fe),deleteFormatter:re(t,"delete/formatter",fe),deleteReport:re(t,"delete/report",fe),deleteSection:re(t,"delete/section",fe),deleteVariant:re(t,"delete/variant",fe),readBlock:L(t,"read/block"),readDimension:L(t,"read/dimension"),readFormatter:L(t,"read/formatter"),readReport:L(t,"read/report"),readSection:L(t,"read/section"),readVariant:L(t,"read/variant"),updateBulkBlock:I(t,"update/bulk/block"),updateBlock:I(t,"update/block"),updateDimension:I(t,"update/dimension"),updateFormatter:I(t,"update/formatter"),updateReport:I(t,"update/report"),updateSection:I(t,"update/section"),updateVariant:I(t,"update/variant"),searchReport:L(t,"search/reports"),validateVariantSlug:L(t,"validate/variant"),readMember:L(t,"read/members",po),readMemberImage:L(t,{url:"member/image",responseType:"blob"}),searchMember:L(t,"search/members"),updateMember:L(t,"update/members"),imageLocalSearch:Pe(t,"local"),imageLocalSave:de(t,"local"),imageFlickrSearch:Pe(t,"flickr"),imageFlickrSave:de(t,"flickr"),imageUnsplashSearch:Pe(t,"unsplash"),imageUnsplashSave:de(t,"unsplash"),imageUploadSave:de(t,"upload"),imageAdobeSearch:Pe(t,"adobe"),imageAdobeSave:de(t,"adobe"),readMetadata:L(t,"read/metadata"),regenerateSearch:I(t,"search/regenerate"),urlProxy:L(t,"url/proxy"),searchRole:L(t,"auth/search/roles"),searchUser:L(t,"auth/search/users"),readUser:L(t,"auth/read/user"),updateUser:I(t,"auth/update/user"),updateMyData:I(t,"auth/update/me"),revalidateReport:L(t,"revalidate/report"),revalidateUrl:L(t,"revalidate/url"),readPrivateBlocks:I(t,"read/blocks/private"),listTablerIcons:zt(t,"tabler"),readTablerIcon:jt(t,"tabler")}}var W=()=>{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}};var{localeDefault:yo}=W();function Y(e){return {variables:e.variables||{},query:e.query||{},locale:e.locale||yo}}var ne={SINGLE:"single",MULTI:"multi"};var Ro={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"},st={GENERATOR:"generator",RELATED:"related",VIZ:"visualization"},it="logic",x={...Ro,...st};function at(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 Wt(e,t,r){let o=0,n=1,s=1,i=1,a=0,c=0,u;for(;Math.abs((s-c)/s)>1e-5;)c=s,u=-(t+a)*(t+r+a)*e/(t+2*a)/(t+2*a+1),o=s+u*o,n=i+u*n,a+=1,u=a*(r-a)*e/(t+2*a-1)/(t+2*a),s=o+u*s,i=n+u*i,o/=i,n/=i,s/=i,i=1;return s/t}function Eo(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,i=e+1,a=t-e,c=i+a,u=Math.exp(at(c)-at(a)-at(i)+i*Math.log(s)+a*Math.log(1-s));s<(i+1)/(c+2)?o=u*Wt(s,i,a):o=1-u*Wt(1-s,a,i),n=1-o;}return Math.round(n*1e5)/1e5}function To(e){return {.99999:15.137,.99:6.635,.95:3.841,.9:2.706}[e]}function Le(e,t,r,o){let n=t/(1-t),s=0,i=1,a=0,c=0;for(;s<=e;)c+=i,s>=r&s<=o&&(a+=i),c>1e30&&(a/=1e30,c/=1e30,i/=1e30),s+=1,i=i*n*(e+1-s)/s;return a/c}function bo(e,t,r){let o=e/t,s=(100-r*100)/2,i,a;if(e===0)i=0;else {let c=o/2,u=0,l=o,p=s/100;for(;l-u>1e-5;)Le(t,c,e,e)*.5+Le(t,c,e+1,t)>p?(l=c,c=(u+c)/2):(u=c,c=(l+c)/2);i=c;}if(e===t)a=0;else {let c=(1+o)/2,u=o,l=1,p=s/100;for(;l-u>1e-5;)Le(t,c,e,e)*.5+Le(t,c,0,e-1)<p?(l=c,c=(u+c)/2):(u=c,c=(l+c)/2);a=c;}return {lci:i,uci:a}}function So(e,t){let r=e,o=t,n=r,s=o,i=95,a=.5,c=.5,l=(100-i)/2/100,p=n;for(;c>1e-5;)c/=2,Fe((1+p)*a/(1-a),p+1,1e10)+.5*Fe((1+p)*a/(1-a),p,p)>l?a-=c:a+=c;let d=(1+p)*a/(1-a)/s;for(a=.5,c=.5,l=(100-i)/2/100;c>1e-5;)c/=2,Fe((1+p)*a/(1-a),0,p-1)+.5*Fe((1+p)*a/(1-a),p,p)<l?a-=c:a+=c;let S=(1+p)*a/(1-a)/s;return {lci:d,uci:S}}function Fe(e,t,r){let o=1,n=0,s=0,i=0;for(;i<e||o>n*1e-10;)n+=o,i>=t&i<=r&&(s+=o),n>1e30&&(s/=1e30,n/=1e30,o/=1e30),i+=1,o=o*e/i;return s/n}var Yt={binomialCdf:Eo,binP:Le,computeMidP:bo,criticalValue:To,smr:So};var me={d3:{...Ao,...vo,...xo,...ko},d3plus:{assign:assign,closest:closest,date:date,formatAbbreviate:formatAbbreviate,merge:merge,strip:strip,titleCase:titleCase},stats:Yt};var wo=Mo(process.env.REPORTS_LOGGING),Be=No;function No(e,t,r,o,n=void 0,s){let i={},a=[],{locale:c}=Y(s);try{if(t){let u=new Proxy(console,{get(p,d){return Do(d,"log","debug","info","warn","error")?(...h)=>{a.push(`${d} ${Date.now()} - ${h.join(" ")}`),wo&&p[d](...h);}:p[d]}}),l;return n?l=new Function(e,"console","libs","formatters","locale","variables",r)(t,u,me,o,c,n):l=new Function(e,"console","libs","formatters","locale",r)(t,u,me,o,c),typeof l=="object"&&Object.keys(l).length>0&&Object.assign(i,l),{vars:i,error:null,log:a,output:l}}return {vars:i,error:"Invalid API Link",log:a}}catch(u){return {vars:i,error:u.message,log:a}}}function Do(e,...t){return t.includes(e)}function ct(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=Uo;function Uo(e,t,r,o=!1){let{variables:n}=Y(r);if(!e)return e;let s=/([A-z0-9]*)\{\{([^\}]+)\}\}/g;return e.replace(s,(a,c,u)=>{let l=d=>d;if(c){let d=c.replace(/^\w/g,h=>h.toLowerCase());d in t?l=t[d]:l=h=>`${c}${h}`;}let p=Array.isArray(n[u])?ct(n[u]):n[u];if(p===void 0)return o?a:"N/A";try{return l(p,me,t)}catch(d){return console.error(`Error using formatter ${l.name}
28
- `,`Error message: ${d.message}`),"N/A"}})}var ut=(e,t,r)=>{let{variables:o}=r,n=i=>i.allowed==="never"?!1:!i.allowed||i.allowed==="always"||o[i.allowed],s={...e};return Object.keys(s).forEach(i=>{typeof s[i]=="string"?s[i]=ye(s[i],t,r):Array.isArray(s[i])?s[i]=s[i].filter(n).map(a=>typeof a=="object"?ut(a,t,r):typeof a=="string"?ye(a,t,r):a):typeof s[i]=="object"&&s[i]!==null&&!(s[i]instanceof Date)&&(s[i]=ut(s[i],t,r));}),s},Qt=ut;var Zt=e=>Array.isArray(e)?e.map(t=>typeof t=="string"?{allowed:"always",label:t,id:t}:{allowed:"always",label:t.id,...t}):[];var lt=(e,t,r)=>{if(!r)return !1;if(e===ne.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))};function pt(e,t,r,o,n=!1){let{variables:s}=Y(o),i=Qt({logic:t},r,o).logic,a=Be("variables",s,i,r,void 0,o),{vars:c,log:u,error:l}=a,p=c.type||ne.SINGLE,d=c.component||"Selector",h=c.hideLabel||"false",S=c.name||"Unlabeled Selector",T=Zt(c.options||[]),f=g=>p===ne.MULTI&&!Array.isArray(g)?[g]:g,v=c.defaultValue,A;if(v&&(v=f(v),lt(p,v,T)&&(A=v)),!A){let g=T&&T[0]&&T[0].id||T[0]||"";A=f(g);}if(n&&typeof window<"u"){let g=`selector${e}id`,B=new URLSearchParams(window.location.search),E=Object.fromEntries(B)[g];E&&!lt(p,E,T)&&E!==void 0&&(B.delete(g),window.history.replaceState(null,null,`?${B.toString()}`));}return {config:{name:S,type:p,options:T,defaultValue:A,component:d,hideLabel:h},log:u,error:l}}var Fo=(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),i=n||s;if(r.type===ne.MULTI){let u=i?i.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 a=i&&r.options.find(u=>u.id===i)?i:r.defaultValue,c=r.options.find(u=>u.id===a);return {[`selector${e}id`]:a,[`selector${e}label`]:c&&c.label||void 0}},Jt=Fo;var{localeDefault:Xt,locales:qo}=W(),$o=Object.values(st),Vo=(e,t=Xt)=>e&&$o.includes(e.type)?{locale:it,locales:[it]}:{locale:t,locales:qo},er=(e,t=Xt)=>{if(!e)return {};let{locale:r}=Vo(e,t);return e.contentByLocale?.[r]?.content};function zo(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 tr=zo;var rr=(e,t)=>t&&typeof t=="string"?t.split(".").reduce((r,o)=>r[o],e):e;var or="|||";var Ie=Mo(process.env.NEXT_PUBLIC_REPORTS_DEBUG),Ho=process.env.REPORTS_ORIGIN||"";nr(qe,{retries:3,retryDelay:nr.exponentialDelay,onRetry:(e,t,r)=>{console.log("Generator request failed. Retrying... Count: ",e),console.log("URL: ",r.url),console.log(t.message);}});qe.interceptors.request.use(e=>({...e,requestStart:Date.now()}));qe.interceptors.response.use(e=>({...e,requestDuration:new Date().getTime()-e.config.requestStart}),e=>Promise.reject(e));var Wo=(e,t,r)=>{let o=ye(e,t,r);return o.startsWith("http")||(o=`${Ho}${o.startsWith("/")?"":"/"}${o}`),o},{urlProxy:Yo}=Ce("/api/cms");function ft(e){return e.ok!==void 0}function dt(e){this.message=e,this.name="ApiFetchException";}var sr=process.env.NEXT_PUBLIC_REPORTS_API_FETCH_TIMEOUT||0;async function Qo(e,t,r="en",o){let n=Date.now(),s=e,i,c=new URL(e).searchParams;if(c.has("bespoke_slugs")){let p=new RegExp(`[?&]bespoke_slugs=${c.get("bespoke_slugs")}`,"g");s=s.replace(p,"");}let u=o?o.settings:{},l=!!(u&&u.useProxy&&u.useProxy==="true");if(typeof window=="object"&&l){let p=await Yo({url:s,timeout:sr});if(p.ok===!0)i=p.data;else throw new dt(p?.error)}else try{let p=await qe({url:s,timeout:sr});if(p.status===200)p.headers["content-type"]==="text/csv"?i=csvParse(p.data):i=p.data;else throw new dt("No response")}catch(p){throw new dt(p.message)}if(c.has("bespoke_slugs")){let p=c.get("bespoke_slugs");if(p){let d=p.split(",");if(d.length===3){let[h,S,T]=d,f=rr(i,T);if(f&&Array.isArray(f)){let v=Array.from(new Set(f.map(b=>`${b[S]}`).filter(b=>!["","undefined"].includes(b)))),A=await t({mode:"ids",ids:v,all:!1,locale:r,variant:[parseInt(h,10)],output:"lite"}).then(b=>{let g=[];return ft(b)?b.ok&&(g=b.data.results):g=b.results,g&&Array.isArray(g)?g:[]}).catch(b=>(console.error(`Error hydrating slugs for Variant: ${h}, Key: ${S}, Accessor: ${T}`),console.error(` Url ${e}`),o&&console.error(` From Section ${o.section_id} and Block ${o.id}`),console.error(b),[]));if(A){let b=Object.fromEntries(A.map(g=>[g.id,`/${g.variant_slug}/${g.slug}`]));f.map(g=>(g.bespoke_slug=b[g[S]]?b[g[S]]:null,g));}}}}}return {data:i,requestDuration:Date.now()-n}}function Zo(e){this.name="BlockException",this.message=e;}async function Jo(e,t,r,o){let{locale:n,variables:s,query:i}=Y(r),a=Xo(e,r,s,t),c=null,u=e.contentByLocale?.logic?.content?.api,l=null,p=null,d=null;if(!a)return {outputVariables:{},renderVariables:{},status:{allowed:!1,hiddenByCascade:e.id}};if(u){d=Wo(u,t,r);let g=d.split(or).filter(E=>E!==""),B=[];for(let E=0;E<g.length;E++){let P=g[E];new RegExp("^(?:[a-z+]+:)?//","i").test(d)||(P=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/${P}`.replace(/([^:]\/)\/+/g,"$1")),B.push(Qo(P,o,n,e).catch(C=>{throw new Zo(` Excecution of ${e.type}-${e.id} in section ${e.section_id} in report ${s.report_name} (${s.report_id}) failed.
29
- Error fetching ${P}.
30
- Message: ${C.message}.
31
- `)}));}let M=await Promise.all(B).catch(E=>E.message);if(typeof M=="string"&&M)return {outputVariables:{},renderVariables:{},status:{error:M}};c=M.length===1?M[0].data:M.map(E=>E.data),p=M.reduce((E,P)=>E+JSON.stringify(P.data).length/1024,0),l=Math.max(...M.map(E=>E.requestDuration));}if(e.type===x.SELECTOR){let{config:g,log:B,error:M}=pt(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:Jt(e.id,i,g),renderVariables:g,status:{log:B,error:M,allowed:a}}}if(e.type===x.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:a}};if(e.type===x.RELATED){let g=e.contentByLocale?.logic?.content?.simple?.compare||"variant",B=e.contentByLocale?.logic?.content?.simple?.limit||4,M=Object.keys(s).filter(R=>R.startsWith("report_id")).map(R=>s[R]),E=Object.keys(s).filter(R=>R.startsWith("dimension_id")).map(R=>s[R]),P=Object.keys(s).filter(R=>R.startsWith("variant_id")).map(R=>s[R]),D=Object.keys(s).filter(R=>R.startsWith("id")).map(R=>s[R]);if(!D.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:!1}};let w=(await o({mode:"ids",locale:n,ids:D,output:"lite"}).then(R=>{let N=[];return ft(R)?R.ok&&(N=R.data.results):N=R.results,N&&Array.isArray(N)?N:[]}).catch(R=>(console.log("Error getting related members",R),[]))).map(R=>R.content_id),Z={mode:"related",locale:n,related:B??4,current_ids:w,output:"full"};g&&(g==="report"?Z.report_ids=M:g==="dimension"?Z.dimension_ids=E:Z.variant_ids=P);let F=await o(Z).then(R=>{let N=[];return ft(R)?R.ok&&(N=R.data.results):N=R.results,N&&Array.isArray(N)?N:[]}).catch(R=>(console.log("Error getting related members",R),[]));return {outputVariables:{related_reports:F},renderVariables:{},status:{log:[],allowed:F.length>0}}}let{logic:h}=er(e,n),S=ye(h,t,r),T=Be("resp",c||{},S,t,s,r),{vars:f,error:v,log:A}=T;if(typeof f!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:A,duration:l,responseSize:p,resp:c,api:d,allowed:a}};let b=Object.keys(f).reduce((g,B)=>({...g,[`${e.type}${e.id}${B}`]:f[B]}),{});return {renderVariables:f,outputVariables:e.type===x.GENERATOR?f:b,status:{log:A,error:v,duration:l,responseSize:p,resp:c,api:d,allowed:a}}}var mt=(e,t,r=[],o=!0,n=!0,s=!0,i=[])=>{if(i.includes(e))return [];i.push(e);let a=t[e];return a.inputs.length&&o&&a.inputs.forEach(c=>{let u=`${c}-${e}`;r.includes(u)||r.push(u),a.inputs.forEach(l=>mt(l,t,r,o,!1,s,i));}),a.consumers.length&&n&&a.consumers.forEach(c=>{let u=`${e}-${c}`;!r.includes(u)&&(t[c].section_id===t[e].section_id||!s)&&r.push(u),a.consumers.filter(l=>t[l].section_id===t[e].section_id||!s).forEach(l=>mt(l,t,r,!1,n,s,i));}),r},Xo=(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=Y(t),{error:i,output:a}=Be("variables",r,e.settings.allowedLogic||"return false;",o,void 0,s);i||(n=!!a);}return n},ir=async(e,t,r,o,n,s={},i,a="section")=>{if(!r&&!t)return {...s};let c={...s.variables??{}},u={...s.status??{}},l=Y(n),p=l.variables,d=r?{[r]:e[r]}:(t??[]).reduce((E,{id:P})=>({...E,...tr(P,e)}),{});Ie&&console.log("%crunConsumers: running root blocks","color:purple",Object.keys(d));let h=a==="section",S=Object.keys(d).reduce((E,P)=>{let D=new Date,C=mt(Number(P),e,[],!r,!0,h).map(F=>F.split("-")),Z=(new Date().getTime()-D.getTime())/1e3;return Ie&&console.log(`%cResolved dependencies for ${P} (${Z.toFixed(2)}s)`,"color:blue"),[...E,...C]},[]),T=new Date,f=Object.keys(d).reduce((E,P)=>E.includes(P)?[...E]:[P,...E],jo(S)),A=(new Date().getTime()-T.getTime())/1e3;Ie&&console.log(`%cResolved DAG (${A.toFixed(2)}s): `,"color:green",f);async function b(E,P){let D=new Map;for(let C of E){let w=P[C],F=Promise.all(w.inputs.filter(R=>E.includes(String(R))).map(R=>D.get(Number(R)))).then(async()=>{let R=w.inputs.reduce((V,U)=>({...V,...c[U]}),p),N=w.inputs.find(V=>(w.settings?.ignoreCascade?w.settings?.ignoreCascade:[]).includes(V)?!1:!u[V].allowed||u[V].hiddenByCascade);if(N){u[C]={allowed:!1,hiddenByCascade:u[N].hiddenByCascade||N},c[C]={};return}let Mt=new Date,$=await Jo(w,o,{...l,variables:R,locale:R.locale},i).then(({outputVariables:V,status:U})=>{if(U.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${C}, Section ${w.section_id}) failed with message: ${U.error}. `);u[C]={allowed:!1,error:U.error},c[C]={};}(w.consumers.length>0||[x.GENERATOR,x.RELATED].includes(w.type))&&U.allowed&&Object.keys(V).length>0?c[C]=V:c[C]={},a==="report"?(u[C]={allowed:U.allowed},w.type===x.GENERATOR&&U.api&&(u[C].api=U.api)):u[C]=U;}),J=(new Date().getTime()-Mt.getTime())/1e3;return Ie&&console.log(`%cBlock ${w.id} resolved in ${J.toFixed(3)}s`,J>500?"color:red":"color:green"),$});D.set(Number(C),F);}await Promise.all(Array.from(D.values()));}let g=new Date;await b(f,e);let M=(new Date().getTime()-g.getTime())/1e3;return Ie&&console.log(`%cResolved Variables (${M.toFixed(2)}s): `,"color:green"),{variables:{...s.variables??{},...c},status:{...s.status??{},...u}}};function en(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 ar=en;function rn(){let{publicRuntimeConfig:e}=tn(),t=e.bespoke_report_env_vars||{};return {...Object.keys(t).reduce((r,o)=>(r[`ENV_${o}`]=t[o]||"N/A",r),{})}}var cr=rn;function on(e,t){return +(e<t)-+(e>t)}function $e(e,t,r="ordering"){return on(t[r],e[r])}W();var Oe=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});Oe.define({consumers:[Oe],inputs:[Oe]});var ur=new schema.Entity("variant"),lr=new schema.Entity("dimension",{variants:[ur]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),pr=new schema.Entity("section",{blocks:[Oe]}),sn=new schema.Entity("report",{dimensions:[lr],sections:[pr]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort($e):[]}}}),an=new schema.Entity("formatter"),cn={report:sn,section:pr,block:Oe,dimension:lr,variant:ur,formatter:an};function Ve(e,t){let r=cn[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:ge(o,"report"),dimension:ge(o,"dimension"),section:ge(o,"section"),block:ge(o,"block"),variant:ge(o,"variant"),formatter:ge(o,"formatter")}}function ge(e,t){return e.hasOwnProperty(t)?e[t]:{}}var dr=(e,t=void 0)=>{let{sid:r,bid:o,previews:n=[],query:s={}}=t||{},i,a,c={};return r?(i=r,c.activeSection=i):i=e.activeSection,n.length>0?(a=n,c.previews=a.filter(Boolean)):a=e.previews,{parsedParams:{sid:i,bid:o,previews:a,query:s},statusPayload:c}};var se=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",ze=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[se];ze.includes(se)||ze.push(se);var pn={localeDefault:se,locales:ze,currentLocale:se,preferredLocale:se,showToolbar:!1,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:!0,settings:!1,reportEditor:!1},isCMS:!1},je=createSlice({name:"status",initialState:pn,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})}}),Ge=je.actions;var mn={attributes:{},variables:{},status:{}},Ke=createSlice({name:"variables",initialState:mn,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}})}}),fr=Ke.actions;var Rn={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}}},ee=createSlice({name:"records",initialState:Rn,reducers:{set:(e,t)=>{let r=t.payload;return {entities:_e(e.entities,r.entities||{}),requests:_e(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=Ve(r.type,o),s=_e(e.entities,n);if(e.entities=s,r.type==="report"){let i=r.data;e.reports?e.reports.indexOf(i.id)===-1&&(e.reports=[...e.reports,i.id]):e.reports=[i.id];}else if(r.type==="dimension"){let i=r.data;e.entities.report[i.report_id].dimensions.push(i.id),e.entities.report[i.report_id].dimensions=He(s.report[i.report_id].dimensions,s.dimension);}else if(r.type==="variant"){let i=r.data;e.entities.dimension[i.dimension_id].variants.push(i.id);}else if(r.type==="section"&&!Array.isArray(r.data)){let i=r.data;e.entities.report[i.report_id].sections.push(i.id),e.entities.report[i.report_id].sections=He(s.report[i.report_id].sections,s.section);}else if(r.type==="block")if(Array.isArray(r.data)){let i=r.data,a=i[0],c=i.map(u=>u.id);e.entities.section[a.section_id].blocks.concat(c);}else {let i=r.data;e.entities.section[i.section_id].blocks.push(i.id);}}},setReadRequest(e,t){let r=t.payload;if(r.type!=="report"&&(e.requests[r.type][r.key]=r),r.status==="SUCCESS"){let o=Ve(r.type,r.data),n=_e(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=Ve(r.type,o),s,i,a;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&&(a=u.length>l.length,i=a?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=_e(e.entities,n);if(e.entities=c,r.type==="dimension"){let u=r.data;e.entities.report[u.report_id].dimensions=He(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=He(c.report[u.report_id].sections,c.section);}else if(r.type==="block"&&!Array.isArray(r.data)){let u=r.data;s&&(a?e.entities.block[i].consumers=e.entities.block[i].consumers.filter(l=>l!==u.id):e.entities.block[i].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 i=`${r.type}s`;hn(e.entities[s][n][i],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 _e(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],...t[r]}]))}function He(e,t){return e.map(n=>t[n]).sort($e).map(n=>n.id)}function hn(e,t){let r=e.indexOf(t);r>-1&&e.splice(r,1);}function ie(e,t,r){if(t==="createBulk"||t==="updateBulk"){let n=`${t}${mr(r)}`;return e[n]}let o=`${t}${mr(r)}`;return e[o]}function mr(e){return e[0].toUpperCase()+e.slice(1)}function _(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=kn[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(i){return "'"+i+"'"}).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function he(e){return !!e&&!!e[z]}function ce(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)===Pn}(e)||Array.isArray(e)||!!e[Sr]||!!(!((t=e.constructor)===null||t===void 0)&&t[Sr])||vt(e)||xt(e))}function we(e,t,r){r===void 0&&(r=!1),Te(e)===0?(r?Object.keys:Bt)(e).forEach(function(o){r&&typeof o=="symbol"||t(o,e[o],e);}):e.forEach(function(o,n){return t(n,o,e)});}function Te(e){var t=e[z];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:vt(e)?2:xt(e)?3:0}function Et(e,t){return Te(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function En(e,t){return Te(e)===2?e.get(t):e[t]}function Ar(e,t,r){var o=Te(e);o===2?e.set(t,r):o===3?e.add(r):e[t]=r;}function Tn(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function vt(e){return vn&&e instanceof Map}function xt(e){return xn&&e instanceof Set}function ae(e){return e.o||e.t}function kt(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=Cn(e);delete t[z];for(var r=Bt(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 Pt(e,t){return t===void 0&&(t=!1),Ct(e)||he(e)||!ce(e)||(Te(e)>1&&(e.set=e.add=e.clear=e.delete=bn),Object.freeze(e),t&&we(e,function(r,o){return Pt(o,!0)},!0)),e}function bn(){_(2);}function Ct(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Q(e){var t=Ln[e];return t||_(18,e),t}function yr(){return process.env.NODE_ENV==="production"||Ee||_(0),Ee}function yt(e,t){t&&(Q("Patches"),e.u=[],e.s=[],e.v=t);}function We(e){Tt(e),e.p.forEach(Sn),e.p=null;}function Tt(e){e===Ee&&(Ee=e.l);}function gr(e){return Ee={p:[],l:Ee,h:e,m:!0,_:0}}function Sn(e){var t=e[z];t.i===0||t.i===1?t.j():t.g=!0;}function gt(e,t){t._=t.p.length;var r=t.p[0],o=e!==void 0&&e!==r;return t.h.O||Q("ES5").S(t,e,o),o?(r[z].P&&(We(t),_(4)),ce(e)&&(e=Ye(t,e),t.l||Qe(t,e)),t.u&&Q("Patches").M(r[z].t,e,t.u,t.s)):e=Ye(t,r,[]),We(t),t.u&&t.v(t.u,t.s),e!==vr?e:void 0}function Ye(e,t,r){if(Ct(t))return t;var o=t[z];if(!o)return we(t,function(a,c){return Rr(e,o,t,a,c,r)},!0),t;if(o.A!==e)return t;if(!o.P)return Qe(e,o.t,!0),o.t;if(!o.I){o.I=!0,o.A._--;var n=o.i===4||o.i===5?o.o=kt(o.k):o.o,s=n,i=!1;o.i===3&&(s=new Set(n),n.clear(),i=!0),we(s,function(a,c){return Rr(e,o,n,a,c,r,i)}),Qe(e,n,!1),r&&e.u&&Q("Patches").N(o,r,e.u,e.s);}return o.o}function Rr(e,t,r,o,n,s,i){if(process.env.NODE_ENV!=="production"&&n===r&&_(5),he(n)){var a=Ye(e,n,s&&t&&t.i!==3&&!Et(t.R,o)?s.concat(o):void 0);if(Ar(r,o,a),!he(a))return;e.m=!1;}else i&&r.add(n);if(ce(n)&&!Ct(n)){if(!e.h.D&&e._<1)return;Ye(e,n),t&&t.A.l||Qe(e,n);}}function Qe(e,t,r){r===void 0&&(r=!1),!e.l&&e.h.D&&e.m&&Pt(t,r);}function Rt(e,t){var r=e[z];return (r?ae(r):e)[t]}function hr(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 bt(e){e.P||(e.P=!0,e.l&&bt(e.l));}function ht(e){e.o||(e.o=kt(e.t));}function St(e,t,r){var o=vt(t)?Q("MapSet").F(t,r):xt(t)?Q("MapSet").T(t,r):e.O?function(n,s){var i=Array.isArray(n),a={i:i?1:0,A:s?s.A:yr(),P:!1,I:!1,R:{},l:s,t:n,k:null,o:null,j:null,C:!1},c=a,u=At;i&&(c=[a],u=Me);var l=Proxy.revocable(c,u),p=l.revoke,d=l.proxy;return a.k=d,a.j=p,d}(t,r):Q("ES5").J(t,r);return (r?r.A:yr()).p.push(o),o}function An(e){return he(e)||_(22,e),function t(r){if(!ce(r))return r;var o,n=r[z],s=Te(r);if(n){if(!n.P&&(n.i<4||!Q("ES5").K(n)))return n.t;n.I=!0,o=Er(r,s),n.I=!1;}else o=Er(r,s);return we(o,function(i,a){n&&En(n.t,i)===a||Ar(o,i,t(a));}),s===3?new Set(o):o}(e)}function Er(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return kt(e)}var Tr,Ee,Lt=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",vn=typeof Map<"u",xn=typeof Set<"u",br=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",vr=Lt?Symbol.for("immer-nothing"):((Tr={})["immer-nothing"]=!0,Tr),Sr=Lt?Symbol.for("immer-draftable"):"__$immer_draftable",z=Lt?Symbol.for("immer-state"):"__$immer_state";var kn={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"},Pn=""+Object.prototype.constructor,Bt=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 Bt(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r);}),t},Ln={},At={get:function(e,t){if(t===z)return e;var r=ae(e);if(!Et(r,t))return function(n,s,i){var a,c=hr(s,i);return c?"value"in c?c.value:(a=c.get)===null||a===void 0?void 0:a.call(n.k):void 0}(e,r,t);var o=r[t];return e.I||!ce(o)?o:o===Rt(e.t,t)?(ht(e),e.o[t]=St(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=hr(ae(e),t);if(o?.set)return o.set.call(e.k,r),!0;if(!e.P){var n=Rt(ae(e),t),s=n?.[z];if(s&&s.t===r)return e.o[t]=r,e.R[t]=!1,!0;if(Tn(r,n)&&(r!==void 0||Et(e.t,t)))return !0;ht(e),bt(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 Rt(e.t,t)!==void 0||t in e.t?(e.R[t]=!1,ht(e),bt(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(){_(11);},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){_(12);}},Me={};we(At,function(e,t){Me[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};}),Me.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&_(13),Me.set.call(this,e,t,void 0)},Me.set=function(e,t,r){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&_(14),At.set.call(this,e[0],t,r,e[0])};var Bn=function(){function e(r){var o=this;this.O=br,this.D=!0,this.produce=function(n,s,i){if(typeof n=="function"&&typeof s!="function"){var a=s;s=n;var c=o;return function(T){var f=this;T===void 0&&(T=a);for(var v=arguments.length,A=Array(v>1?v-1:0),b=1;b<v;b++)A[b-1]=arguments[b];return c.produce(T,function(g){var B;return (B=s).call.apply(B,[f,g].concat(A))})}}var u;if(typeof s!="function"&&_(6),i!==void 0&&typeof i!="function"&&_(7),ce(n)){var l=gr(o),p=St(o,n,void 0),d=!0;try{u=s(p),d=!1;}finally{d?We(l):Tt(l);}return typeof Promise<"u"&&u instanceof Promise?u.then(function(T){return yt(l,i),gt(T,l)},function(T){throw We(l),T}):(yt(l,i),gt(u,l))}if(!n||typeof n!="object"){if((u=s(n))===void 0&&(u=n),u===vr&&(u=void 0),o.D&&Pt(u,!0),i){var h=[],S=[];Q("Patches").M(n,u,h,S),i(h,S);}return u}_(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(h){return n.apply(void 0,[h].concat(p))})};var i,a,c=o.produce(n,s,function(u,l){i=u,a=l;});return typeof Promise<"u"&&c instanceof Promise?c.then(function(u){return [u,i,a]}):[c,i,a]},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){ce(r)||_(8),he(r)&&(r=An(r));var o=gr(this),n=St(this,r,void 0);return n[z].C=!0,Tt(o),n},t.finishDraft=function(r,o){var n=r&&r[z];process.env.NODE_ENV!=="production"&&(n&&n.C||_(9),n.I&&_(10));var s=n.A;return yt(s,o),gt(void 0,s)},t.setAutoFreeze=function(r){this.D=r;},t.setUseProxies=function(r){r&&!br&&_(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 i=Q("Patches").$;return he(r)?i(r,o):this.produce(r,function(a){return i(a,o)})},e}(),j=new Bn,In=j.produce;j.produceWithPatches.bind(j);j.setAutoFreeze.bind(j);j.setUseProxies.bind(j);j.applyPatches.bind(j);j.createDraft.bind(j);j.finishDraft.bind(j);var Ze=In;var K=ee.actions,Cr=De({block:ue("block"),dimension:ue("dimension"),formatter:ue("formatter"),report:ue("report"),section:ue("section"),variant:ue("variant")}),Ne=De({block:le("block"),dimension:le("dimension"),formatter:le("formatter"),report:le("report"),section:le("section"),variant:le("variant")}),Lr=De({block:X("block"),dimension:X("dimension"),formatter:X("formatter"),report:X("report"),section:X("section"),variant:X("variant")}),Br=De({block:be("block"),dimension:be("dimension"),formatter:be("formatter"),report:be("report"),section:be("section"),variant:be("variant")}),Ir=De({block:kr("block"),section:kr("section")});function De(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 pe(e,t){return (r,o)=>{let s=o().records.requests[e][t],i=!s||s.status==="UNINITIALIZED"?"LOADING":"FETCHING";r(K.setRequest({key:t,type:e,status:i}));}}function Se(e,t,r,o){return n=>{typeof window=="object"&&notifications.show({autoClose:3e3,color:"red",id:t,message:o,title:"Error"}),n(K.setRequest({key:t,type:e,status:"FAILURE",error:{code:r,message:o}}));}}function ue(e){return t=>{let r=Ot(e,t);return (o,n,s)=>(o(pe(e,r)),ie(s,"create",e)(t).then(a=>(a.ok===!0?o(K.setCreateRequest({key:r,operation:"create",status:"SUCCESS",type:e,data:a.data})):o(Se(e,r,a.status,a.error)),a)))}}function Mn(e){return t=>{let r=Ot(e,t[0]);return (o,n,s)=>(o(pe(e,r)),ie(s,"createBulk",e)(t).then(a=>(a.ok===!0?o(K.setCreateRequest({key:r,operation:"createBulk",status:"SUCCESS",type:e,data:a.data})):o(Se(e,r,a.status,a.error)),a)))}}function xr(e,t,r){return r.replace(new RegExp(e,"g"),t)}function wn(e){return e.section_id!==void 0}function Nn(e){return e.report_id!==void 0}function kr(e){return t=>{let{create:r}=t;return (o,n,s)=>ue(e)(r)(o,n,s).then(async a=>{if(a.ok){let{data:c}=a,{id:u}=c,{update:l}=t,p=Mr(e,{id:u});if(o(pe(e,`${p}`)),e==="block"&&wn(r)){let d=Ze(l,f=>{f.id=u;}),{contentByLocale:h}=d;h&&(d=Ze(d,f=>{f.id=u,f.contentByLocale=Object.keys(h).reduce((v,A)=>{let b=h?h[A]:{};return v[A]={...b,id:u},v},{});}));let T=d.inputs?.map(f=>({type:f.type,id:f.id,inputAction:{operation:"create",input:{input_id:f.id,block_id:d.id}}}));return T&&T.length>0&&Pr(e)([d,...T])(o,n,s).then(()=>le("section")({id:d.section_id,include:!0})(o,n,s).then(f=>(f.ok&&o(K.setRequest({key:p,type:e,status:"SUCCESS",data:f.data})),f))),X(e)(d)(o,n,s).then(f=>(f.ok&&o(K.setRequest({key:p,type:e,status:"SUCCESS",data:f.data})),f))}if(e==="section"&&Nn(r)){let{id:d}=c,h=Ze(l,f=>{f.id=d;}),{blocks:S}=h,T=S?.map(f=>({type:f.type,blockcol:f.blockcol,blockrow:f.blockrow,section_id:d,locales:Object.keys(f.contentByLocale).map(v=>v)}));return T&&S&&await Mn("block")(T)(o,n,s).then(f=>{if(f.ok){let v=f.data,A=[],b=v.map((g,B)=>{let E={...g},P=E.id,D=S[B];D.contentByLocale&&(E.contentByLocale=Object.keys(D.contentByLocale).reduce(($,H)=>{let J=D.contentByLocale[H];return $[H]={...J,content:{...J.content},id:E.id},$},{}));let{settings:C}=D,{contentByLocale:w,id:Z}=E;E.settings=C;let F={id:Z,contentByLocale:w,settings:C};return D.inputs.map($=>$.id).reduce(($,H)=>{let J=S.findIndex(V=>V.id===H);return [...$,J]},[]).map($=>({...v[$],originalBlock:S[$]})).forEach($=>{let{id:H,type:J,originalBlock:V}=$;if(["selector","visualization"].includes(J)){if(F.contentByLocale?.logic?.content?.api){let U=F.contentByLocale?.logic.content.api;F.contentByLocale.logic.content.api=xr(`(selector${V.id}id)`,`selector${H}id`,U);}if(F.contentByLocale?.logic?.content?.logic){let U=F.contentByLocale.logic.content.logic;F.contentByLocale.logic.content.logic=xr(`(selector${V.id}id)`,`selector${H}id`,U);}}A.push({id:H,inputAction:{operation:"create",input:{input_id:H,block_id:P}}});}),F});return Pr("block")([...b,...A])(o,n,s)}}),X(e)(h)(o,n,s).then(f=>(f.ok&&o(K.setRequest({key:p,type:e,status:"SUCCESS",data:f.data})),f))}return X(e)({...l,id:c.id})(o,n,s)}})}}function le(e){return t=>{let r=Or(e,t);return (o,n,s)=>(o(pe(e,r)),ie(s,"read",e)(t).then(a=>(a.ok===!0?o(K.setReadRequest({key:r,operation:"read",status:"SUCCESS",type:e,data:a.data})):o(Se(e,r,a.status,a.error)),a)))}}function X(e){return t=>{let r=_t(e,t);return (o,n,s)=>(o(pe(e,r)),ie(s,"update",e)(t).then(a=>(a.ok===!0?o(K.setUpdateRequest({key:r,operation:"update",status:"SUCCESS",type:e,data:a.data})):o(Se(e,r,a.status,a.error)),a)))}}function Pr(e){return t=>{let r=_t(e,t[0]);return (o,n,s)=>(o(pe(e,r)),ie(s,"updateBulk",e)(t).then(a=>(a.ok===!0?o(K.setUpdateRequest({key:r,operation:"updateBulk",status:"SUCCESS",type:e,data:a.data})):o(Se(e,r,a.status,a.error)),a)))}}function be(e){return t=>{let r=_r(e,t);return (o,n,s)=>(o(pe(e,r)),ie(s,"delete",e)(t).then(a=>{a.ok===!0?o(K.setDeleteRequest({key:r,operation:"delete",status:"SUCCESS",type:e,data:a.data})):o(Se(e,r,a.status,a.error));}))}}function Ot(e,t){if(e==="variant"){let r=t;return `create(variant, [${r.dimension_id}, ${r.name}])`}return `create(${e}, [${Object.keys(t)}])`}function Or(e,t={}){let r=t.id==null?null:`'${t.id}'`;return `read(${e}, ${r}, ${!!t.include})`}function _t(e,t){let{id:r,...o}=t;return `update(${e}, ${r}, [${Object.keys(o)}])`}function _r(e,t){return `delete(${e}, ${t})`}function Mr(e,t){let r=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${r})`}var{setStatus:wr,setPreviews:Dn,setSectionState:Nr,resetSectionState:Dr,setCurrentLocale:Un,setPreferredLocale:Fn}=Ge;function qn(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 $n(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 Vn(){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 Ur(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 zn(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 Fr(e,t,r,o){let n=r().status,s={...n,...o},i={...n.query,...o.query};Object.keys(i).forEach(c=>i[c]===void 0&&delete i[c]);let a={...s,query:i};t(wr(a)),n.activeSection&&t(qr(e,{query:i}));}function jn(e,t){return async(r,o)=>Fr(e,r,o,{query:{[t]:void 0}})}function Gn(e,t,r){return async(o,n)=>Fr(e,o,n,{query:{[t]:r}})}function qr(e,t){return async(r,o)=>{let n=o(),{currentLocale:s}=n.status,i=n.records.entities.block,a=e.formatterFunctions[s],{parsedParams:c,statusPayload:u}=dr(n.status,t),{sid:l,bid:p,previews:d,query:h}=c;Object.keys(u).length&&r(Ge.setStatus(u));let S={...ar(d),locale:s,...cr()},T={variables:S,query:h,locale:s},f=n.records.entities.section[l],v=async A=>r(Ur(A));try{let A=await ir(i,f&&[f],p,a,T,void 0,v),{variables:b,status:g}=A;r(fr.setVariableChange({attributes:S,variables:b,status:g}));}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 Hn(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 Wn(){return async(e,t,r)=>{let o=await r.searchRole("");if("error"in o)throw new Error(o.error);return o.data}}function Yn(e){return async(t,r,o)=>{let n=await o.searchUser(e);if("error"in n)throw new Error(n.error);return n.data}}function Qn(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 Zn({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 Jn(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 Xn(e){let{removeBlocks:t}=ee.actions;return async r=>{await r(t(e));}}function es(e){let{addBlocks:t}=ee.actions;return async r=>{await r(t(e));}}function ts(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 rs(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 os(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:ss}=W(),is={pathSegment:"path",formatterFunctions:ss.reduce((e,t)=>({...e,[t]:{}}),{}),profilePrefix:"path",siteProps:{}};createContext(is);W();var Xe=useDispatch,et=useSelector;var Kr=e=>configureStore({reducer:{[ee.name]:ee.reducer,[je.name]:je.reducer,[Ke.name]:Ke.reducer},middleware(t){return t({thunk:{extraArgument:Ce("/api/cms/")}})}});createWrapper(Kr);
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(M,{opened:o,request:e.request,onConfirm:P,onCancel:g}),n.children]})}function M(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 k(){let n=useContext(C);if(n===void 0)throw new Error("useConfirmationDialog must be used within ConfirmationDialogProvider.");return n}
32
6
 
33
- export { uo as BespokeLoginBtn, Xr as DialogProvider, Je as actions, Xe as useBespokeDispatch, et as useBespokeSelector, to as useDialog };
7
+ export { b as DialogProvider, k as useDialog };
@@ -1,16 +1,30 @@
1
1
  import { createSlice, configureStore } from '@reduxjs/toolkit';
2
2
  import { HYDRATE, createWrapper } from 'next-redux-wrapper';
3
- import W from 'axios';
3
+ import ze from 'axios';
4
4
  import { schema, normalize } from 'normalizr';
5
- import 'd3plus-common';
6
- import 'd3-array';
7
- import 'd3-collection';
8
- import 'd3-format';
9
- import 'd3-time-format';
10
- import 'd3plus-format';
11
- import 'd3plus-axis';
12
- import 'd3plus-text';
5
+ import { assign, closest, merge } from 'd3plus-common';
6
+ import * as Vr from 'd3-array';
7
+ import * as zr from 'd3-collection';
8
+ import * as jr from 'd3-format';
9
+ import * as Gr from 'd3-time-format';
10
+ import { formatAbbreviate } from 'd3plus-format';
11
+ import { date } from 'd3plus-axis';
12
+ import { strip, titleCase } from 'd3plus-text';
13
+ import Qt from 'axios-retry';
14
+ import So from 'yn';
15
+ import Io from 'toposort';
16
+ import { csvParse } from 'd3-dsv';
17
+ import zo from 'next/config';
18
+ import { notifications } from '@mantine/notifications';
19
+ import { createContext } from 'react';
20
+ import { useDispatch, useSelector } from 'react-redux';
21
+ import 'react/jsx-runtime';
22
+ import '@mantine/core';
13
23
 
14
- function R(e,t){return e.request(t).then(r=>{let{status:n,data:i}=r;return "error"in i?{ok:!1,status:n,error:i.error}:{ok:!0,status:n,data:i.data}},r=>{if("isAxiosError"in r){let{status:n,data:i}=r.response||{status:500};return {ok:!1,status:n,error:i?.error??r.message}}return {ok:!1,status:500,error:r.message}})}function d(e,t,r){let n=typeof t=="string"?{url:t}:t;return i=>R(e,{...n,method:"GET",params:r?r(i):i})}function u(e,t,r){let n=typeof t=="string"?{url:t}:t;return i=>R(e,{...n,method:"POST",data:r?r(i):i})}function S(e,t,r){let n=typeof t=="string"?{url:t}:t;return i=>R(e,{...n,method:"DELETE",params:r?r(i):i})}function g(e,t){return r=>R(e,{method:"POST",url:`images/save/${t}`,params:{prompt:r.prompt,provider:t}})}function T(e,t){return r=>R(e,{method:"GET",url:`images/search/${t}`,params:{prompt:r.prompt,page:r.page,provider:t}})}function U(e,t){return ()=>R(e,{method:"GET",url:`list/icons/${t}`,params:{provider:t}})}function N(e,t){return r=>R(e,{method:"GET",url:`read/icons/${t}/icon.svg`,params:{name:r.name}})}var b=e=>({id:e}),Y=e=>{if(e.mode==="slugs"){let t=e.slugs.map(r=>[r.variantSlug,r.memberSlug].join("/")).join(",");return {...e,slugs:t}}return e.mode==="related"?{...e}:{...e,[e.mode]:e[e.mode].join(",")}};function P(e){let t=W.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"),deleteBlock:S(t,"delete/block",b),deleteDimension:S(t,"delete/dimension",b),deleteFormatter:S(t,"delete/formatter",b),deleteReport:S(t,"delete/report",b),deleteSection:S(t,"delete/section",b),deleteVariant:S(t,"delete/variant",b),readBlock:d(t,"read/block"),readDimension:d(t,"read/dimension"),readFormatter:d(t,"read/formatter"),readReport:d(t,"read/report"),readSection:d(t,"read/section"),readVariant:d(t,"read/variant"),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"),searchReport:d(t,"search/reports"),validateVariantSlug:d(t,"validate/variant"),readMember:d(t,"read/members",Y),readMemberImage:d(t,{url:"member/image",responseType:"blob"}),searchMember:d(t,"search/members"),updateMember:d(t,"update/members"),imageLocalSearch:T(t,"local"),imageLocalSave:g(t,"local"),imageFlickrSearch:T(t,"flickr"),imageFlickrSave:g(t,"flickr"),imageUnsplashSearch:T(t,"unsplash"),imageUnsplashSave:g(t,"unsplash"),imageUploadSave:g(t,"upload"),imageAdobeSearch:T(t,"adobe"),imageAdobeSave:g(t,"adobe"),readMetadata:d(t,"read/metadata"),regenerateSearch:u(t,"search/regenerate"),urlProxy:d(t,"url/proxy"),searchRole:d(t,"auth/search/roles"),searchUser:d(t,"auth/search/users"),readUser:d(t,"auth/read/user"),updateUser:u(t,"auth/update/user"),updateMyData:u(t,"auth/update/me"),revalidateReport:d(t,"revalidate/report"),revalidateUrl:d(t,"revalidate/url"),readPrivateBlocks:u(t,"read/blocks/private"),listTablerIcons:U(t,"tabler"),readTablerIcon:N(t,"tabler")}}function Q(e,t){return +(e<t)-+(e>t)}function v(e,t,r="ordering"){return Q(t[r],e[r])}var H=()=>{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}};H();var x=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});x.define({consumers:[x],inputs:[x]});var V=new schema.Entity("variant"),K=new schema.Entity("dimension",{variants:[V]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),G=new schema.Entity("section",{blocks:[x]}),me=new schema.Entity("report",{dimensions:[K],sections:[G]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(v):[]}}}),ye=new schema.Entity("formatter"),fe={report:me,section:G,block:x,dimension:K,variant:V,formatter:ye};function q(e,t){let r=fe[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:n}=normalize(t,[r]);return {report:A(n,"report"),dimension:A(n,"dimension"),section:A(n,"section"),block:A(n,"block"),variant:A(n,"variant"),formatter:A(n,"formatter")}}function A(e,t){return e.hasOwnProperty(t)?e[t]:{}}var Ee={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}}},L=createSlice({name:"records",initialState:Ee,reducers:{set:(e,t)=>{let r=t.payload;return {entities:k(e.entities,r.entities||{}),requests:k(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 n=Array.isArray(r.data)?r.data:[r.data],i=q(r.type,n),c=k(e.entities,i);if(e.entities=c,r.type==="report"){let o=r.data;e.reports?e.reports.indexOf(o.id)===-1&&(e.reports=[...e.reports,o.id]):e.reports=[o.id];}else if(r.type==="dimension"){let o=r.data;e.entities.report[o.report_id].dimensions.push(o.id),e.entities.report[o.report_id].dimensions=D(c.report[o.report_id].dimensions,c.dimension);}else if(r.type==="variant"){let o=r.data;e.entities.dimension[o.dimension_id].variants.push(o.id);}else if(r.type==="section"&&!Array.isArray(r.data)){let o=r.data;e.entities.report[o.report_id].sections.push(o.id),e.entities.report[o.report_id].sections=D(c.report[o.report_id].sections,c.section);}else if(r.type==="block")if(Array.isArray(r.data)){let o=r.data,a=o[0],s=o.map(p=>p.id);e.entities.section[a.section_id].blocks.concat(s);}else {let o=r.data;e.entities.section[o.section_id].blocks.push(o.id);}}},setReadRequest(e,t){let r=t.payload;if(r.type!=="report"&&(e.requests[r.type][r.key]=r),r.status==="SUCCESS"){let n=q(r.type,r.data),i=k(e.entities,n);e.entities=i;}},setUpdateRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let n=Array.isArray(r.data)?r.data:[r.data],i=q(r.type,n),c,o,a;if(r.type==="block"&&!Array.isArray(r.data)){let p=e.entities.block[r.data.id].inputs,m=i.block[r.data.id].inputs;c=p.length!==m.length,c&&(a=p.length>m.length,o=a?p.filter(l=>!m.includes(l))[0]:m.filter(l=>!p.includes(l))[0]),Object.values(i.block).forEach(l=>{l.block_input&&delete i.block[l.id];});}let s=k(e.entities,i);if(e.entities=s,r.type==="dimension"){let p=r.data;e.entities.report[p.report_id].dimensions=D(s.report[p.report_id].dimensions,s.dimension);}else if(r.type==="section"&&!Array.isArray(r.data)){let p=r.data;e.entities.report[p.report_id].sections=D(s.report[p.report_id].sections,s.section);}else if(r.type==="block"&&!Array.isArray(r.data)){let p=r.data;c&&(a?e.entities.block[o].consumers=e.entities.block[o].consumers.filter(m=>m!==p.id):e.entities.block[o].consumers.push(p.id));}}},setDeleteRequest(e,t){let r=t.payload;if(e.requests[r.type][r.key]=r,r.status==="SUCCESS"){let{id:n,parentId:i,parentType:c}=r.data;if(delete e.entities[r.type][n],c&&i!=null){let o=`${r.type}s`;ge(e.entities[c][i][o],n);}}},removeBlocks:(e,t)=>{let r=t.payload,n={...e.entities.block};return r.forEach(i=>{delete n[i];}),{...e,entities:{...e.entities,block:n}}},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,n=r.entities;return {entities:n,reports:Object.values(n.report).map(i=>i.id),requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},tree:r.tree}}}});function k(e,t){return Object.fromEntries(Object.keys(e).map(r=>[r,{...e[r],...t[r]}]))}function D(e,t){return e.map(i=>t[i]).sort(v).map(i=>i.id)}function ge(e,t){let r=e.indexOf(t);r>-1&&e.splice(r,1);}var E=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",M=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[E];M.includes(E)||M.push(E);var he={localeDefault:E,locales:M,currentLocale:E,preferredLocale:E,showToolbar:!1,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:!0,settings:!1,reportEditor:!1},isCMS:!1},_=createSlice({name:"status",initialState:he,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})}});_.actions;var xe={attributes:{},variables:{},status:{}},O=createSlice({name:"variables",initialState:xe,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}})}});O.actions;var Ie=e=>configureStore({reducer:{[L.name]:L.reducer,[_.name]:_.reducer,[O.name]:O.reducer},middleware(t){return t({thunk:{extraArgument:P("/api/cms/")}})}}),qe=createWrapper(Ie);
24
+ var Br=Object.defineProperty;var Nr=(e,t)=>{for(var r in t)Br(e,r,{get:t[r],enumerable:!0});};function j(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 L(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>j(e,{...o,method:"GET",params:r?r(n):n})}function _(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>j(e,{...o,method:"POST",data:r?r(n):n})}function ee(e,t,r){let o=typeof t=="string"?{url:t}:t;return n=>j(e,{...o,method:"DELETE",params:r?r(n):n})}function le(e,t){return r=>j(e,{method:"POST",url:`images/save/${t}`,params:{prompt:r.prompt,provider:t}})}function Ae(e,t){return r=>j(e,{method:"GET",url:`images/search/${t}`,params:{prompt:r.prompt,page:r.page,provider:t}})}function Ct(e,t){return ()=>j(e,{method:"GET",url:`list/icons/${t}`,params:{provider:t}})}function Lt(e,t){return r=>j(e,{method:"GET",url:`read/icons/${t}/icon.svg`,params:{name:r.name}})}var pe=e=>({id:e}),Mr=e=>{if(e.mode==="slugs"){let t=e.slugs.map(r=>[r.variantSlug,r.memberSlug].join("/")).join(",");return {...e,slugs:t}}return e.mode==="related"?{...e}:{...e,[e.mode]:e[e.mode].join(",")}};function ve(e){let t=ze.create({baseURL:e});return {createBulkBlock:_(t,"create/bulk/block"),createBlock:_(t,"create/block"),createDimension:_(t,"create/dimension"),createFormatter:_(t,"create/formatter"),createReport:_(t,"create/report"),createSection:_(t,"create/section"),createVariant:_(t,"create/variant"),deleteBlock:ee(t,"delete/block",pe),deleteDimension:ee(t,"delete/dimension",pe),deleteFormatter:ee(t,"delete/formatter",pe),deleteReport:ee(t,"delete/report",pe),deleteSection:ee(t,"delete/section",pe),deleteVariant:ee(t,"delete/variant",pe),readBlock:L(t,"read/block"),readDimension:L(t,"read/dimension"),readFormatter:L(t,"read/formatter"),readReport:L(t,"read/report"),readSection:L(t,"read/section"),readVariant:L(t,"read/variant"),updateBulkBlock:_(t,"update/bulk/block"),updateBlock:_(t,"update/block"),updateDimension:_(t,"update/dimension"),updateFormatter:_(t,"update/formatter"),updateReport:_(t,"update/report"),updateSection:_(t,"update/section"),updateVariant:_(t,"update/variant"),searchReport:L(t,"search/reports"),validateVariantSlug:L(t,"validate/variant"),readMember:L(t,"read/members",Mr),readMemberImage:L(t,{url:"member/image",responseType:"blob"}),searchMember:L(t,"search/members"),updateMember:L(t,"update/members"),imageLocalSearch:Ae(t,"local"),imageLocalSave:le(t,"local"),imageFlickrSearch:Ae(t,"flickr"),imageFlickrSave:le(t,"flickr"),imageUnsplashSearch:Ae(t,"unsplash"),imageUnsplashSave:le(t,"unsplash"),imageUploadSave:le(t,"upload"),imageAdobeSearch:Ae(t,"adobe"),imageAdobeSave:le(t,"adobe"),readMetadata:L(t,"read/metadata"),regenerateSearch:_(t,"search/regenerate"),urlProxy:L(t,"url/proxy"),searchRole:L(t,"auth/search/roles"),searchUser:L(t,"auth/search/users"),readUser:L(t,"auth/read/user"),updateUser:_(t,"auth/update/user"),updateMyData:_(t,"auth/update/me"),revalidateReport:L(t,"revalidate/report"),revalidateUrl:L(t,"revalidate/url"),readPrivateBlocks:_(t,"read/blocks/private"),listTablerIcons:Ct(t,"tabler"),readTablerIcon:Lt(t,"tabler")}}function Dr(e,t){return +(e<t)-+(e>t)}function Ne(e,t,r="ordering"){return Dr(t[r],e[r])}function Ze(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 Ot(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 Ur(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(Ze(c)-Ze(i)-Ze(a)+a*Math.log(s)+i*Math.log(1-s));s<(a+1)/(c+2)?o=u*Ot(s,a,i):o=1-u*Ot(1-s,i,a),n=1-o;}return Math.round(n*1e5)/1e5}function Fr(e){return {.99999:15.137,.99:6.635,.95:3.841,.9:2.706}[e]}function xe(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 qr(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;)xe(t,c,e,e)*.5+xe(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;)xe(t,c,e,e)*.5+xe(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 $r(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,we((1+l)*i/(1-i),l+1,1e10)+.5*we((1+l)*i/(1-i),l,l)>p?i-=c:i+=c;let d=(1+l)*i/(1-i)/s;for(i=.5,c=.5,p=(100-a)/2/100;c>1e-5;)c/=2,we((1+l)*i/(1-i),0,l-1)+.5*we((1+l)*i/(1-i),l,l)<p?i-=c:i+=c;let A=(1+l)*i/(1-i)/s;return {lci:d,uci:A}}function we(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 _t={binomialCdf:Ur,binP:xe,computeMidP:qr,criticalValue:Fr,smr:$r};var de={d3:{...Vr,...zr,...jr,...Gr},d3plus:{assign:assign,closest:closest,date:date,formatAbbreviate:formatAbbreviate,merge:merge,strip:strip,titleCase:titleCase},stats:_t};var H=()=>{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}};H();var ke=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});ke.define({consumers:[ke],inputs:[ke]});var It=new schema.Entity("variant"),Bt=new schema.Entity("dimension",{variants:[It]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),Nt=new schema.Entity("section",{blocks:[ke]}),eo=new schema.Entity("report",{dimensions:[Bt],sections:[Nt]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(Ne):[]}}}),to=new schema.Entity("formatter"),ro={report:eo,section:Nt,block:ke,dimension:Bt,variant:It,formatter:to};function Me(e,t){let r=ro[e];if(!r)throw new Error(`Invalid entity type: ${e}`);let{entities:o}=normalize(t,[r]);return {report:fe(o,"report"),dimension:fe(o,"dimension"),section:fe(o,"section"),block:fe(o,"block"),variant:fe(o,"variant"),formatter:fe(o,"formatter")}}function fe(e,t){return e.hasOwnProperty(t)?e[t]:{}}var wt=(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 so={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{}}},X=createSlice({name:"records",initialState:so,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=Me(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=Me(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=Me(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`;ao(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(Ne).map(n=>n.id)}function ao(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 uo={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:uo,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 fo={attributes:{},variables:{},status:{}},$e=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}})}}),Mt=$e.actions;var Dt=e=>configureStore({reducer:{[X.name]:X.reducer,[Fe.name]:Fe.reducer,[$e.name]:$e.reducer},middleware(t){return t({thunk:{extraArgument:ve("/api/cms/")}})}}),Ut=createWrapper(Dt);var We={};Nr(We,{addBlockToState:()=>Pn,cloneEntity:()=>hr,createEntity:()=>yr,deleteEntity:()=>gr,deleteQueryParam:()=>gn,readEntity:()=>Ie,readMember:()=>xr,readMetadata:()=>En,readPrivateBlocks:()=>Cn,readUser:()=>An,recalculateVariables:()=>Pr,removeBlocksFromState:()=>kn,reportSearch:()=>mn,resetSectionState:()=>vr,revalidateReport:()=>On,revalidateUrl:()=>Ln,searchMember:()=>Rn,searchRegenerate:()=>yn,searchRole:()=>Tn,searchUser:()=>Sn,setCurrentLocale:()=>pn,setPreferredLocale:()=>dn,setPreviews:()=>ln,setQueryParam:()=>hn,setSectionState:()=>Ar,setStatus:()=>Sr,updateEntity:()=>Rr,updateMyData:()=>xn,updateUser:()=>vn,urlProxy:()=>bn,variantValidateSlug:()=>fn});var{localeDefault:ho}=H();function W(e){return {variables:e.variables||{},query:e.query||{},locale:e.locale||ho}}var oe={SINGLE:"single",MULTI:"multi"};var bo={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"},Xe={GENERATOR:"generator",RELATED:"related",VIZ:"visualization"},et="logic",x={...bo,...Xe};var Ao=So(process.env.REPORTS_LOGGING),Ce=vo;function vo(e,t,r,o,n=void 0,s){let a={},i=[],{locale:c}=W(s);try{if(t){let u=new Proxy(console,{get(l,d){return xo(d,"log","debug","info","warn","error")?(...E)=>{i.push(`${d} ${Date.now()} - ${E.join(" ")}`),Ao&&l[d](...E);}:l[d]}}),p;return n?p=new Function(e,"console","libs","formatters","locale","variables",r)(t,u,de,o,c,n):p=new Function(e,"console","libs","formatters","locale",r)(t,u,de,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 xo(e,...t){return t.includes(e)}function tt(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=ko;function ko(e,t,r,o=!1){let{variables:n}=W(r);if(!e)return e;let s=/([A-z0-9]*)\{\{([^\}]+)\}\}/g;return e.replace(s,(i,c,u)=>{let p=d=>d;if(c){let d=c.replace(/^\w/g,E=>E.toLowerCase());d in t?p=t[d]:p=E=>`${c}${E}`;}let l=Array.isArray(n[u])?tt(n[u]):n[u];if(l===void 0)return o?i:"N/A";try{return p(l,de,t)}catch(d){return console.error(`Error using formatter ${p.name}
25
+ `,`Error message: ${d.message}`),"N/A"}})}var rt=(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"?rt(i,t,r):typeof i=="string"?ye(i,t,r):i):typeof s[a]=="object"&&s[a]!==null&&!(s[a]instanceof Date)&&(s[a]=rt(s[a],t,r));}),s},Vt=rt;var zt=e=>Array.isArray(e)?e.map(t=>typeof t=="string"?{allowed:"always",label:t,id:t}:{allowed:"always",label:t.id,...t}):[];var ot=(e,t,r)=>{if(!r)return !1;if(e===oe.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))};function nt(e,t,r,o,n=!1){let{variables:s}=W(o),a=Vt({logic:t},r,o).logic,i=Ce("variables",s,a,r,void 0,o),{vars:c,log:u,error:p}=i,l=c.type||oe.SINGLE,d=c.component||"Selector",E=c.hideLabel||"false",A=c.name||"Unlabeled Selector",b=zt(c.options||[]),f=R=>l===oe.MULTI&&!Array.isArray(R)?[R]:R,v=c.defaultValue,S;if(v&&(v=f(v),ot(l,v,b)&&(S=v)),!S){let R=b&&b[0]&&b[0].id||b[0]||"";S=f(R);}if(n&&typeof window<"u"){let R=`selector${e}id`,O=new URLSearchParams(window.location.search),h=Object.fromEntries(O)[R];h&&!ot(l,h,b)&&h!==void 0&&(O.delete(R),window.history.replaceState(null,null,`?${O.toString()}`));}return {config:{name:A,type:l,options:b,defaultValue:S,component:d,hideLabel:E},log:u,error:p}}var Po=(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===oe.MULTI){let u=a?a.split(","):r.defaultValue,p=r.options.filter(l=>u.includes(l.id));return {[`selector${e}id`]:u,[`selector${e}label`]:(p||[]).map(l=>l.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}},jt=Po;var{localeDefault:Gt,locales:Co}=H(),Lo=Object.values(Xe),Oo=(e,t=Gt)=>e&&Lo.includes(e.type)?{locale:et,locales:[et]}:{locale:t,locales:Co},Kt=(e,t=Gt)=>{if(!e)return {};let{locale:r}=Oo(e,t);return e.contentByLocale?.[r]?.content};function _o(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 Ht=_o;var Wt=(e,t)=>t&&typeof t=="string"?t.split(".").reduce((r,o)=>r[o],e):e;var Yt="|||";var Le=So(process.env.NEXT_PUBLIC_REPORTS_DEBUG),wo=process.env.REPORTS_ORIGIN||"";Qt(ze,{retries:3,retryDelay:Qt.exponentialDelay,onRetry:(e,t,r)=>{console.log("Generator request failed. Retrying... Count: ",e),console.log("URL: ",r.url),console.log(t.message);}});ze.interceptors.request.use(e=>({...e,requestStart:Date.now()}));ze.interceptors.response.use(e=>({...e,requestDuration:new Date().getTime()-e.config.requestStart}),e=>Promise.reject(e));var Mo=(e,t,r)=>{let o=ye(e,t,r);return o.startsWith("http")||(o=`${wo}${o.startsWith("/")?"":"/"}${o}`),o},{urlProxy:Do}=ve("/api/cms");function at(e){return e.ok!==void 0}function st(e){this.message=e,this.name="ApiFetchException";}var Zt=process.env.NEXT_PUBLIC_REPORTS_API_FETCH_TIMEOUT||0;async function Uo(e,t,r="en",o){let n=Date.now(),s=e,a,c=new URL(e).searchParams;if(c.has("bespoke_slugs")){let l=new RegExp(`[?&]bespoke_slugs=${c.get("bespoke_slugs")}`,"g");s=s.replace(l,"");}let u=o?o.settings:{},p=!!(u&&u.useProxy&&u.useProxy==="true");if(typeof window=="object"&&p){let l=await Do({url:s,timeout:Zt});if(l.ok===!0)a=l.data;else throw new st(l?.error)}else try{let l=await ze({url:s,timeout:Zt});if(l.status===200)l.headers["content-type"]==="text/csv"?a=csvParse(l.data):a=l.data;else throw new st("No response")}catch(l){throw new st(l.message)}if(c.has("bespoke_slugs")){let l=c.get("bespoke_slugs");if(l){let d=l.split(",");if(d.length===3){let[E,A,b]=d,f=Wt(a,b);if(f&&Array.isArray(f)){let v=Array.from(new Set(f.map(T=>`${T[A]}`).filter(T=>!["","undefined"].includes(T)))),S=await t({mode:"ids",ids:v,all:!1,locale:r,variant:[parseInt(E,10)],output:"lite"}).then(T=>{let R=[];return at(T)?T.ok&&(R=T.data.results):R=T.results,R&&Array.isArray(R)?R:[]}).catch(T=>(console.error(`Error hydrating slugs for Variant: ${E}, Key: ${A}, Accessor: ${b}`),console.error(` Url ${e}`),o&&console.error(` From Section ${o.section_id} and Block ${o.id}`),console.error(T),[]));if(S){let T=Object.fromEntries(S.map(R=>[R.id,`/${R.variant_slug}/${R.slug}`]));f.map(R=>(R.bespoke_slug=T[R[A]]?T[R[A]]:null,R));}}}}}return {data:a,requestDuration:Date.now()-n}}function Fo(e){this.name="BlockException",this.message=e;}async function qo(e,t,r,o){let{locale:n,variables:s,query:a}=W(r),i=$o(e,r,s,t),c=null,u=e.contentByLocale?.logic?.content?.api,p=null,l=null,d=null;if(!i)return {outputVariables:{},renderVariables:{},status:{allowed:!1,hiddenByCascade:e.id}};if(u){d=Mo(u,t,r);let R=d.split(Yt).filter(h=>h!==""),O=[];for(let h=0;h<R.length;h++){let P=R[h];new RegExp("^(?:[a-z+]+:)?//","i").test(d)||(P=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/${P}`.replace(/([^:]\/)\/+/g,"$1")),O.push(Uo(P,o,n,e).catch(C=>{throw new Fo(` Excecution of ${e.type}-${e.id} in section ${e.section_id} in report ${s.report_name} (${s.report_id}) failed.
26
+ Error fetching ${P}.
27
+ Message: ${C.message}.
28
+ `)}));}let N=await Promise.all(O).catch(h=>h.message);if(typeof N=="string"&&N)return {outputVariables:{},renderVariables:{},status:{error:N}};c=N.length===1?N[0].data:N.map(h=>h.data),l=N.reduce((h,P)=>h+JSON.stringify(P.data).length/1024,0),p=Math.max(...N.map(h=>h.requestDuration));}if(e.type===x.SELECTOR){let{config:R,log:O,error:N}=nt(e.id,e.contentByLocale[n].content.logic,t,r,!0);return {outputVariables:jt(e.id,a,R),renderVariables:R,status:{log:O,error:N,allowed:i}}}if(e.type===x.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:i}};if(e.type===x.RELATED){let R=e.contentByLocale?.logic?.content?.simple?.compare||"variant",O=e.contentByLocale?.logic?.content?.simple?.limit||4,N=Object.keys(s).filter(g=>g.startsWith("report_id")).map(g=>s[g]),h=Object.keys(s).filter(g=>g.startsWith("dimension_id")).map(g=>s[g]),P=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 w=(await o({mode:"ids",locale:n,ids:D,output:"lite"}).then(g=>{let M=[];return at(g)?g.ok&&(M=g.data.results):M=g.results,M&&Array.isArray(M)?M:[]}).catch(g=>(console.log("Error getting related members",g),[]))).map(g=>g.content_id),Q={mode:"related",locale:n,related:O??4,current_ids:w,output:"full"};R&&(R==="report"?Q.report_ids=N:R==="dimension"?Q.dimension_ids=h:Q.variant_ids=P);let F=await o(Q).then(g=>{let M=[];return at(g)?g.ok&&(M=g.data.results):M=g.results,M&&Array.isArray(M)?M:[]}).catch(g=>(console.log("Error getting related members",g),[]));return {outputVariables:{related_reports:F},renderVariables:{},status:{log:[],allowed:F.length>0}}}let{logic:E}=Kt(e,n),A=ye(E,t,r),b=Ce("resp",c||{},A,t,s,r),{vars:f,error:v,log:S}=b;if(typeof f!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:S,duration:p,responseSize:l,resp:c,api:d,allowed:i}};let T=Object.keys(f).reduce((R,O)=>({...R,[`${e.type}${e.id}${O}`]:f[O]}),{});return {renderVariables:f,outputVariables:e.type===x.GENERATOR?f:T,status:{log:S,error:v,duration:p,responseSize:l,resp:c,api:d,allowed:i}}}var it=(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=>it(p,t,r,o,!1,s,a));}),i.consumers.length&&n&&i.consumers.forEach(c=>{let u=`${e}-${c}`;!r.includes(u)&&(t[c].section_id===t[e].section_id||!s)&&r.push(u),i.consumers.filter(p=>t[p].section_id===t[e].section_id||!s).forEach(p=>it(p,t,r,!1,n,s,a));}),r},$o=(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=W(t),{error:a,output:i}=Ce("variables",r,e.settings.allowedLogic||"return false;",o,void 0,s);a||(n=!!i);}return n},Jt=async(e,t,r,o,n,s={},a,i="section")=>{if(!r&&!t)return {...s};let c={...s.variables??{}},u={...s.status??{}},p=W(n),l=p.variables,d=r?{[r]:e[r]}:(t??[]).reduce((h,{id:P})=>({...h,...Ht(P,e)}),{});Le&&console.log("%crunConsumers: running root blocks","color:purple",Object.keys(d));let E=i==="section",A=Object.keys(d).reduce((h,P)=>{let D=new Date,C=it(Number(P),e,[],!r,!0,E).map(F=>F.split("-")),Q=(new Date().getTime()-D.getTime())/1e3;return Le&&console.log(`%cResolved dependencies for ${P} (${Q.toFixed(2)}s)`,"color:blue"),[...h,...C]},[]),b=new Date,f=Object.keys(d).reduce((h,P)=>h.includes(P)?[...h]:[P,...h],Io(A)),S=(new Date().getTime()-b.getTime())/1e3;Le&&console.log(`%cResolved DAG (${S.toFixed(2)}s): `,"color:green",f);async function T(h,P){let D=new Map;for(let C of h){let w=P[C],F=Promise.all(w.inputs.filter(g=>h.includes(String(g))).map(g=>D.get(Number(g)))).then(async()=>{let g=w.inputs.reduce(($,U)=>({...$,...c[U]}),l),M=w.inputs.find($=>(w.settings?.ignoreCascade?w.settings?.ignoreCascade:[]).includes($)?!1:!u[$].allowed||u[$].hiddenByCascade);if(M){u[C]={allowed:!1,hiddenByCascade:u[M].hiddenByCascade||M},c[C]={};return}let Pt=new Date,q=await qo(w,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: ${C}, Section ${w.section_id}) failed with message: ${U.error}. `);u[C]={allowed:!1,error:U.error},c[C]={};}(w.consumers.length>0||[x.GENERATOR,x.RELATED].includes(w.type))&&U.allowed&&Object.keys($).length>0?c[C]=$:c[C]={},i==="report"?(u[C]={allowed:U.allowed},w.type===x.GENERATOR&&U.api&&(u[C].api=U.api)):u[C]=U;}),Z=(new Date().getTime()-Pt.getTime())/1e3;return Le&&console.log(`%cBlock ${w.id} resolved in ${Z.toFixed(3)}s`,Z>500?"color:red":"color:green"),q});D.set(Number(C),F);}await Promise.all(Array.from(D.values()));}let R=new Date;await T(f,e);let N=(new Date().getTime()-R.getTime())/1e3;return Le&&console.log(`%cResolved Variables (${N.toFixed(2)}s): `,"color:green"),{variables:{...s.variables??{},...c},status:{...s.status??{},...u}}};function Vo(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 Xt=Vo;function jo(){let{publicRuntimeConfig:e}=zo(),t=e.bespoke_report_env_vars||{};return {...Object.keys(t).reduce((r,o)=>(r[`ENV_${o}`]=t[o]||"N/A",r),{})}}var er=jo;function ne(e,t,r){if(t==="createBulk"||t==="updateBulk"){let n=`${t}${tr(r)}`;return e[n]}let o=`${t}${tr(r)}`;return e[o]}function tr(e){return e[0].toUpperCase()+e.slice(1)}function B(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=Jo[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 Re(e){return !!e&&!!e[V]}function ae(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)===Xo}(e)||Array.isArray(e)||!!e[ur]||!!(!((t=e.constructor)===null||t===void 0)&&t[ur])||gt(e)||ht(e))}function _e(e,t,r){r===void 0&&(r=!1),he(e)===0?(r?Object.keys:At)(e).forEach(function(o){r&&typeof o=="symbol"||t(o,e[o],e);}):e.forEach(function(o,n){return t(n,o,e)});}function he(e){var t=e[V];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:gt(e)?2:ht(e)?3:0}function dt(e,t){return he(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function Go(e,t){return he(e)===2?e.get(t):e[t]}function lr(e,t,r){var o=he(e);o===2?e.set(t,r):o===3?e.add(r):e[t]=r;}function Ko(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function gt(e){return Qo&&e instanceof Map}function ht(e){return Zo&&e instanceof Set}function se(e){return e.o||e.t}function Et(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=en(e);delete t[V];for(var r=At(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 bt(e,t){return t===void 0&&(t=!1),Tt(e)||Re(e)||!ae(e)||(he(e)>1&&(e.set=e.add=e.clear=e.delete=Ho),Object.freeze(e),t&&_e(e,function(r,o){return bt(o,!0)},!0)),e}function Ho(){B(2);}function Tt(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function Y(e){var t=tn[e];return t||B(18,e),t}function rr(){return process.env.NODE_ENV==="production"||ge||B(0),ge}function ct(e,t){t&&(Y("Patches"),e.u=[],e.s=[],e.v=t);}function je(e){ft(e),e.p.forEach(Wo),e.p=null;}function ft(e){e===ge&&(ge=e.l);}function or(e){return ge={p:[],l:ge,h:e,m:!0,_:0}}function Wo(e){var t=e[V];t.i===0||t.i===1?t.j():t.g=!0;}function ut(e,t){t._=t.p.length;var r=t.p[0],o=e!==void 0&&e!==r;return t.h.O||Y("ES5").S(t,e,o),o?(r[V].P&&(je(t),B(4)),ae(e)&&(e=Ge(t,e),t.l||Ke(t,e)),t.u&&Y("Patches").M(r[V].t,e,t.u,t.s)):e=Ge(t,r,[]),je(t),t.u&&t.v(t.u,t.s),e!==pr?e:void 0}function Ge(e,t,r){if(Tt(t))return t;var o=t[V];if(!o)return _e(t,function(i,c){return nr(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=Et(o.k):o.o,s=n,a=!1;o.i===3&&(s=new Set(n),n.clear(),a=!0),_e(s,function(i,c){return nr(e,o,n,i,c,r,a)}),Ke(e,n,!1),r&&e.u&&Y("Patches").N(o,r,e.u,e.s);}return o.o}function nr(e,t,r,o,n,s,a){if(process.env.NODE_ENV!=="production"&&n===r&&B(5),Re(n)){var i=Ge(e,n,s&&t&&t.i!==3&&!dt(t.R,o)?s.concat(o):void 0);if(lr(r,o,i),!Re(i))return;e.m=!1;}else a&&r.add(n);if(ae(n)&&!Tt(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&&bt(t,r);}function lt(e,t){var r=e[V];return (r?se(r):e)[t]}function sr(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 mt(e){e.P||(e.P=!0,e.l&&mt(e.l));}function pt(e){e.o||(e.o=Et(e.t));}function yt(e,t,r){var o=gt(t)?Y("MapSet").F(t,r):ht(t)?Y("MapSet").T(t,r):e.O?function(n,s){var a=Array.isArray(n),i={i:a?1:0,A:s?s.A:rr(),P:!1,I:!1,R:{},l:s,t:n,k:null,o:null,j:null,C:!1},c=i,u=Rt;a&&(c=[i],u=Oe);var p=Proxy.revocable(c,u),l=p.revoke,d=p.proxy;return i.k=d,i.j=l,d}(t,r):Y("ES5").J(t,r);return (r?r.A:rr()).p.push(o),o}function Yo(e){return Re(e)||B(22,e),function t(r){if(!ae(r))return r;var o,n=r[V],s=he(r);if(n){if(!n.P&&(n.i<4||!Y("ES5").K(n)))return n.t;n.I=!0,o=ar(r,s),n.I=!1;}else o=ar(r,s);return _e(o,function(a,i){n&&Go(n.t,a)===i||lr(o,a,t(i));}),s===3?new Set(o):o}(e)}function ar(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return Et(e)}var ir,ge,St=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",Qo=typeof Map<"u",Zo=typeof Set<"u",cr=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",pr=St?Symbol.for("immer-nothing"):((ir={})["immer-nothing"]=!0,ir),ur=St?Symbol.for("immer-draftable"):"__$immer_draftable",V=St?Symbol.for("immer-state"):"__$immer_state";var Jo={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"},Xo=""+Object.prototype.constructor,At=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,en=Object.getOwnPropertyDescriptors||function(e){var t={};return At(e).forEach(function(r){t[r]=Object.getOwnPropertyDescriptor(e,r);}),t},tn={},Rt={get:function(e,t){if(t===V)return e;var r=se(e);if(!dt(r,t))return function(n,s,a){var i,c=sr(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||!ae(o)?o:o===lt(e.t,t)?(pt(e),e.o[t]=yt(e.A.h,o,e)):o},has:function(e,t){return t in se(e)},ownKeys:function(e){return Reflect.ownKeys(se(e))},set:function(e,t,r){var o=sr(se(e),t);if(o?.set)return o.set.call(e.k,r),!0;if(!e.P){var n=lt(se(e),t),s=n?.[V];if(s&&s.t===r)return e.o[t]=r,e.R[t]=!1,!0;if(Ko(r,n)&&(r!==void 0||dt(e.t,t)))return !0;pt(e),mt(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 lt(e.t,t)!==void 0||t in e.t?(e.R[t]=!1,pt(e),mt(e)):delete e.R[t],e.o&&delete e.o[t],!0},getOwnPropertyDescriptor:function(e,t){var r=se(e),o=Reflect.getOwnPropertyDescriptor(r,t);return o&&{writable:!0,configurable:e.i!==1||t!=="length",enumerable:o.enumerable,value:r[t]}},defineProperty:function(){B(11);},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){B(12);}},Oe={};_e(Rt,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))&&B(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))&&B(14),Rt.set.call(this,e[0],t,r,e[0])};var rn=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(b){var f=this;b===void 0&&(b=i);for(var v=arguments.length,S=Array(v>1?v-1:0),T=1;T<v;T++)S[T-1]=arguments[T];return c.produce(b,function(R){var O;return (O=s).call.apply(O,[f,R].concat(S))})}}var u;if(typeof s!="function"&&B(6),a!==void 0&&typeof a!="function"&&B(7),ae(n)){var p=or(o),l=yt(o,n,void 0),d=!0;try{u=s(l),d=!1;}finally{d?je(p):ft(p);}return typeof Promise<"u"&&u instanceof Promise?u.then(function(b){return ct(p,a),ut(b,p)},function(b){throw je(p),b}):(ct(p,a),ut(u,p))}if(!n||typeof n!="object"){if((u=s(n))===void 0&&(u=n),u===pr&&(u=void 0),o.D&&bt(u,!0),a){var E=[],A=[];Y("Patches").M(n,u,E,A),a(E,A);}return u}B(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),d=1;d<p;d++)l[d-1]=arguments[d];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){ae(r)||B(8),Re(r)&&(r=Yo(r));var o=or(this),n=yt(this,r,void 0);return n[V].C=!0,ft(o),n},t.finishDraft=function(r,o){var n=r&&r[V];process.env.NODE_ENV!=="production"&&(n&&n.C||B(9),n.I&&B(10));var s=n.A;return ct(s,o),ut(void 0,s)},t.setAutoFreeze=function(r){this.D=r;},t.setUseProxies=function(r){r&&!cr&&B(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=Y("Patches").$;return Re(r)?a(r,o):this.produce(r,function(i){return a(i,o)})},e}(),z=new rn,on=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 He=on;var G=X.actions,yr=Be({block:ie("block"),dimension:ie("dimension"),formatter:ie("formatter"),report:ie("report"),section:ie("section"),variant:ie("variant")}),Ie=Be({block:ce("block"),dimension:ce("dimension"),formatter:ce("formatter"),report:ce("report"),section:ce("section"),variant:ce("variant")}),Rr=Be({block:J("block"),dimension:J("dimension"),formatter:J("formatter"),report:J("report"),section:J("section"),variant:J("variant")}),gr=Be({block:Ee("block"),dimension:Ee("dimension"),formatter:Ee("formatter"),report:Ee("report"),section:Ee("section"),variant:Ee("variant")}),hr=Be({block:fr("block"),section:fr("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 ue(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 be(e,t,r,o){return n=>{typeof window=="object"&&notifications.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 ie(e){return t=>{let r=xt(e,t);return (o,n,s)=>(o(ue(e,r)),ne(s,"create",e)(t).then(i=>(i.ok===!0?o(G.setCreateRequest({key:r,operation:"create",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error)),i)))}}function an(e){return t=>{let r=xt(e,t[0]);return (o,n,s)=>(o(ue(e,r)),ne(s,"createBulk",e)(t).then(i=>(i.ok===!0?o(G.setCreateRequest({key:r,operation:"createBulk",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error)),i)))}}function dr(e,t,r){return r.replace(new RegExp(e,"g"),t)}function cn(e){return e.section_id!==void 0}function un(e){return e.report_id!==void 0}function fr(e){return t=>{let{create:r}=t;return (o,n,s)=>ie(e)(r)(o,n,s).then(async i=>{if(i.ok){let{data:c}=i,{id:u}=c,{update:p}=t,l=Tr(e,{id:u});if(o(ue(e,`${l}`)),e==="block"&&cn(r)){let d=He(p,f=>{f.id=u;}),{contentByLocale:E}=d;E&&(d=He(d,f=>{f.id=u,f.contentByLocale=Object.keys(E).reduce((v,S)=>{let T=E?E[S]:{};return v[S]={...T,id:u},v},{});}));let b=d.inputs?.map(f=>({type:f.type,id:f.id,inputAction:{operation:"create",input:{input_id:f.id,block_id:d.id}}}));return b&&b.length>0&&mr(e)([d,...b])(o,n,s).then(()=>ce("section")({id:d.section_id,include:!0})(o,n,s).then(f=>(f.ok&&o(G.setRequest({key:l,type:e,status:"SUCCESS",data:f.data})),f))),J(e)(d)(o,n,s).then(f=>(f.ok&&o(G.setRequest({key:l,type:e,status:"SUCCESS",data:f.data})),f))}if(e==="section"&&un(r)){let{id:d}=c,E=He(p,f=>{f.id=d;}),{blocks:A}=E,b=A?.map(f=>({type:f.type,blockcol:f.blockcol,blockrow:f.blockrow,section_id:d,locales:Object.keys(f.contentByLocale).map(v=>v)}));return b&&A&&await an("block")(b)(o,n,s).then(f=>{if(f.ok){let v=f.data,S=[],T=v.map((R,O)=>{let h={...R},P=h.id,D=A[O];D.contentByLocale&&(h.contentByLocale=Object.keys(D.contentByLocale).reduce((q,K)=>{let Z=D.contentByLocale[K];return q[K]={...Z,content:{...Z.content},id:h.id},q},{}));let{settings:C}=D,{contentByLocale:w,id:Q}=h;h.settings=C;let F={id:Q,contentByLocale:w,settings:C};return D.inputs.map(q=>q.id).reduce((q,K)=>{let Z=A.findIndex($=>$.id===K);return [...q,Z]},[]).map(q=>({...v[q],originalBlock:A[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=dr(`(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=dr(`(selector${$.id}id)`,`selector${K}id`,U);}}S.push({id:K,inputAction:{operation:"create",input:{input_id:K,block_id:P}}});}),F});return mr("block")([...T,...S])(o,n,s)}}),J(e)(E)(o,n,s).then(f=>(f.ok&&o(G.setRequest({key:l,type:e,status:"SUCCESS",data:f.data})),f))}return J(e)({...p,id:c.id})(o,n,s)}})}}function ce(e){return t=>{let r=Er(e,t);return (o,n,s)=>(o(ue(e,r)),ne(s,"read",e)(t).then(i=>(i.ok===!0?o(G.setReadRequest({key:r,operation:"read",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error)),i)))}}function J(e){return t=>{let r=kt(e,t);return (o,n,s)=>(o(ue(e,r)),ne(s,"update",e)(t).then(i=>(i.ok===!0?o(G.setUpdateRequest({key:r,operation:"update",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error)),i)))}}function mr(e){return t=>{let r=kt(e,t[0]);return (o,n,s)=>(o(ue(e,r)),ne(s,"updateBulk",e)(t).then(i=>(i.ok===!0?o(G.setUpdateRequest({key:r,operation:"updateBulk",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error)),i)))}}function Ee(e){return t=>{let r=br(e,t);return (o,n,s)=>(o(ue(e,r)),ne(s,"delete",e)(t).then(i=>{i.ok===!0?o(G.setDeleteRequest({key:r,operation:"delete",status:"SUCCESS",type:e,data:i.data})):o(be(e,r,i.status,i.error));}))}}function xt(e,t){if(e==="variant"){let r=t;return `create(variant, [${r.dimension_id}, ${r.name}])`}return `create(${e}, [${Object.keys(t)}])`}function Er(e,t={}){let r=t.id==null?null:`'${t.id}'`;return `read(${e}, ${r}, ${!!t.include})`}function kt(e,t){let{id:r,...o}=t;return `update(${e}, ${r}, [${Object.keys(o)}])`}function br(e,t){return `delete(${e}, ${t})`}function Tr(e,t){let r=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${r})`}var{setStatus:Sr,setPreviews:ln,setSectionState:Ar,resetSectionState:vr,setCurrentLocale:pn,setPreferredLocale:dn}=qe;function fn(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 mn(e){return async(t,r,o)=>{let n=await o.searchReport(e);if("error"in n)throw new Error(n.error);return n.data}}function yn(){return async(e,t,r)=>{let o=await r.regenerateSearch(void 0);if("error"in o)throw new Error(o.error);return o.data}}function xr(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 Rn(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 kr(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(Sr(i)),n.activeSection&&t(Pr(e,{query:a}));}function gn(e,t){return async(r,o)=>kr(e,r,o,{query:{[t]:void 0}})}function hn(e,t,r){return async(o,n)=>kr(e,o,n,{query:{[t]:r}})}function Pr(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}=wt(n.status,t),{sid:p,bid:l,previews:d,query:E}=c;Object.keys(u).length&&r(qe.setStatus(u));let A={...Xt(d),locale:s,...er()},b={variables:A,query:E,locale:s},f=n.records.entities.section[p],v=async S=>r(xr(S));try{let S=await Jt(a,f&&[f],l,i,b,void 0,v),{variables:T,status:R}=S;r(Mt.setVariableChange({attributes:A,variables:T,status:R}));}catch(S){console.log("Error in runConsumers client side: recalculateVariables",S);}}}function En(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 bn(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 Tn(){return async(e,t,r)=>{let o=await r.searchRole("");if("error"in o)throw new Error(o.error);return o.data}}function Sn(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 An(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 vn({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 xn(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 kn(e){let{removeBlocks:t}=X.actions;return async r=>{await r(t(e));}}function Pn(e){let{addBlocks:t}=X.actions;return async r=>{await r(t(e));}}function Cn(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 Ln(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 On(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:In}=H(),Bn={pathSegment:"path",formatterFunctions:In.reduce((e,t)=>({...e,[t]:{}}),{}),profilePrefix:"path",siteProps:{}};createContext(Bn);H();var Ye=useDispatch,Qe=useSelector;
15
29
 
16
- export { qe as storeWrapper };
30
+ export { We as actions, Ut as storeWrapper, Ye as useBespokeDispatch, Qe as useBespokeSelector };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@datawheel/bespoke",
3
- "version": "0.7.0-rc.1",
3
+ "version": "0.7.0-rc.3",
4
4
  "description": "Content management system for creating automated data reports",
5
5
  "exports": {
6
6
  ".": {