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