@datawheel/bespoke 0.9.9 → 0.9.12-rc.1

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.
@@ -0,0 +1 @@
1
+ import {a as a$1}from'./chunk-7K6SKRXP.js';import {K}from'./chunk-4LFB3666.js';import {b as b$1,d as d$1,c}from'./chunk-4XIZPGIL.js';import'./chunk-KUPNLLLT.js';import {O,Oa,Va,Pa,J as J$1}from'./chunk-AA4WMKFB.js';import {a}from'./chunk-P6ORTCRN.js';import {b}from'./chunk-QZ5NBDGE.js';import*as J from'd3plus-react';import {useMemo}from'react';import {useRouter}from'next/router';import {jsx}from'react/jsx-runtime';var d={...J,[c]:d$1},Z=(c,n)=>{let o={...c};return n&&(o.detectResize=false,o.detectResizeDelay=0,o.detectVisible=false,o.detectVisibleInterval=0,o.duration=0,o.shapeConfig={...o.shapeConfig,duration:0}),o};function $(c$1){let{print:n}=K(),{block:o,active:h,locale:l,variables:s,configOverride:x={}}=c$1,m=O(o),u=Oa(l),L={variables:s},N=useRouter(),{sectionVariables:g,setSectionVariables:O$1,resetSectionVariables:H}=Va(o.section_id),M=Pa(),v=a(),y=b(),b$2=JSON.stringify(g),e=useMemo(()=>{if(!m?.logic)return {error:"Add a Configuration"};let a=J$1({logic:m.logic},u,L).logic,t={router:N,section:{variables:g,setVariables:O$1,resetVariables:H},events:{fire:(p,w={})=>y("viz_interaction",{name:p,...w},{component:"Viz",blockId:o.id,sectionId:o.section_id})}};return b$1(a,u,s,l,o.id,{},t,M,v)},[o,h,s,b$2,v.status,y]),{type:r}=e.config||{},A=r&&d[r]?r:"Treemap";d[r]||(e.config={error:`"${r}" is not a valid Visualization Type`});let D=d[A],j=useMemo(()=>{let{_data:a,...t}=e.config;return Z(t,n)},[e,n]),V={locale:l,variables:s,...j,...x};return jsx("div",{className:"bespoke-Viz","data-ignore-print":V._printIgnore?"true":void 0,children:jsx("div",{style:{display:"flex",flex:"1 1 100%",minHeight:r===c?void 0:400},children:jsx(a$1,{fallback:jsx("p",{children:"Error in d3plus viz config."}),children:jsx(D,{style:{flex:1},dataFormat:a=>{let t;try{t=e.dataFormat(a);}catch(p){console.error("Error in dataFormat: ",p),t=[];}return t},linksFormat:e.linksFormat,nodesFormat:e.nodesFormat,topojsonFormat:e.topojsonFormat,config:{...V,sectionVariables:b$2}},"viz-key")})})})}export{$ as default};
@@ -0,0 +1 @@
1
+ .mantine-Prism-root.cr-variable{font-size:11px;padding:0}.mantine-Prism-root.cr-variable .mantine-Prism-code{background-color:transparent!important;padding:0}.cr-variable-accordion .mantine-Accordion-item{border-bottom:0}.cr-variable-accordion .mantine-Accordion-control{padding:2px}.cr-variable-accordion .mantine-Accordion-contentInner{padding:0}.cr-variable-accordion .mantine-Accordion-icon{margin-right:4px}
@@ -0,0 +1 @@
1
+ import {a as a$1}from'./chunk-7K6SKRXP.js';import {b as b$1,d,c}from'./chunk-4XIZPGIL.js';import {O,Oa,Pa,Va,J}from'./chunk-AA4WMKFB.js';import {a}from'./chunk-P6ORTCRN.js';import {b}from'./chunk-QZ5NBDGE.js';import {memo,useMemo}from'react';import {Center,Badge}from'@mantine/core';import*as Z from'd3plus-react';import {useRouter}from'next/router';import {jsx}from'react/jsx-runtime';var q=()=>({}),G={},m={[c]:d,...Z,...G};function K({block:o,active:e,locale:a$2,variables:s,configOverride:L={}}){let N=q(),c=O(o),u=Oa(a$2),I={variables:s},A=Pa(),g=a(),J$1=useRouter(),{sectionVariables:d,setSectionVariables:M,resetSectionVariables:R}=Va(o.section_id),p=b(),t=useMemo(()=>{if(!e)return {error:"Activate to View"};if(!c?.logic)return {error:"Add a Configuration"};let f=J({logic:c.logic},u,I).logic,n={router:J$1,section:{variables:d,setVariables:M,resetVariables:R},events:{fire:(l,x={})=>p("viz_interaction",{name:l,...x},{component:"Viz",blockId:o.id,sectionId:o.section_id})}};return b$1(f,u,s,a$2,o.id,{},n,A,g)},[c?.logic,e,s,d,g.status,p]),{type:i}=t.config||{},_=i&&m[i]?i:"Treemap";i||(t.config={error:'Visualization missing "type"'}),m[i]||(t.config={error:`"${i}" is not a valid Visualization Type`});let h=m[_],y=t.error||t.config?.error||false;if(y)return jsx(Center,{style:{height:"100%"},children:jsx(Badge,{color:"gray",variant:"outline",children:y},"type")});let{_data:Q,...w}=t.config,V={locale:a$2,variables:s,...w,...L};return N.print&&(V.detectVisible=false),jsx("div",{style:{display:"flex",flex:"1 1 100%"},children:jsx(a$1,{fallback:jsx("p",{children:"Error in d3plus viz config."}),children:jsx(h,{style:{flex:1},dataFormat:f=>{let n;try{n=t.dataFormat(f);}catch(l){console.error("Error in dataFormat: ",l),n=[];}return n},linksFormat:t.linksFormat,nodesFormat:t.nodesFormat,topojsonFormat:t.topojsonFormat,config:{...V}},"viz-key")})})}var mo=memo(K,(o,e)=>o.block.contentByLocale.logic.content===e.block.contentByLocale.logic.content&&o.active===e.active&&o.locale===e.locale&&JSON.stringify(o.variables)===JSON.stringify(e.variables)&&JSON.stringify(o.configOverride)===JSON.stringify(e.configOverride));export{mo as default};
package/dist/auth.js CHANGED
@@ -1 +1 @@
1
- import {useRouter}from'next/router';import {useEffect,useMemo}from'react';import {SessionProvider,useSession,signIn,signOut}from'next-auth/react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {Menu,Button,Text,Avatar}from'@mantine/core';import {IconUserCircle,IconLogout,IconEdit}from'@tabler/icons-react';import $ from'next/link';function T(o={required:false}){let{update:i,data:s,status:a}=useSession(o);return {update:i,user:s?.user,status:a,isLoading:a==="loading"}}var g=T;function w(o){let{SuccessComponent:i,FailureComponent:s}=o,a=new Set(o.allowedRoles);return function(n){let{user:m,status:r}=g(),l=useRouter();if(useEffect(()=>{r==="unauthenticated"&&signIn();},[r,l]),r==="loading")return jsx("div",{children:"Loading..."});if(!m)return jsx(s,{...n});let y=m.bespoke_roles||[];return a.size===0||y.some(t=>a.has(t))?jsx(i,{user:m,...n}):jsx(s,{...n})}}var N=SessionProvider;var p={ADMIN:"Admin",EDITOR:"Editor",WRITER:"Writer"},h={APP:"App",USER:"User"},z=o=>{let i=Object.values(p);return o?o.map(s=>({...s,type:i.includes(s.name)?h.APP:h.USER})):[]};function J({buttonProps:o={},editorMenuItemProps:i={},editorMenuItemRoute:s="/cms",logoutButtonProps:a={},menuProps:U={},options:n="",optionsPosition:m="bottom",translations:r={},withEditorMenuItem:l=true,withSession:y=true}){let{user:t,isLoading:P}=g(),b=useMemo(()=>t?.bespoke_roles||[],[t]),k=useMemo(()=>p&&Object.keys(p).length>0&&Object.keys(p).some(R=>b.includes(p[R])),[b]),x={leftIcon:jsx(IconUserCircle,{}),...o};if(t&&!P){let R={...i},M={color:"red",fullWidth:true,leftIcon:jsx(IconLogout,{size:14}),size:"xs",variant:"subtle",...a},v={shadow:"md",width:"auto",position:"bottom",...U},I=jsx($,{href:s,passHref:true,children:jsx(Menu.Item,{icon:jsx(IconEdit,{size:14}),...R,children:r["Go to editor"]||"Go to editor"})});return jsxs(Menu,{...v,children:[jsx(Menu.Target,{children:jsx(Button,{...x,children:`${r["Welcome message"]||`Hi, ${t.name||t.email}`}`})}),jsxs(Menu.Dropdown,{children:[m==="top"&&jsxs(Fragment,{children:[l&&k&&I,n,(n||l&&k)&&jsx(Menu.Divider,{})]}),y&&jsxs(Menu.Item,{component:"span",style:{pointerEvents:"none"},icon:jsx(Avatar,{src:t.picture,radius:"md"}),children:[jsx(Text,{size:"sm",weight:500,children:t.name}),jsx(Text,{color:"dimmed",size:"xs",children:t.email})]}),jsx(Button,{onClick:()=>signOut({callbackUrl:process.env.NEXT_PUBLIC_REPORTS_BASE_URL||"/"}),...M,children:r.Disconnect||"Disconnect"}),m==="bottom"&&jsxs(Fragment,{children:[(n||l&&k)&&jsx(Menu.Divider,{}),l&&k&&I,n]})]})]})}return jsx(Button,{onClick:()=>signIn(),loading:P,...x,children:P?r["Signing in"]||"Signing in...":r["Sign in"]||"Sign in"})}var X=J;export{X as BespokeLoginBtn,N as BespokeUserProvider,w as BespokeWithPageRoleAuthRequired,p as CMS_ROLES,z as addRoleTypes,g as useBespokeUser};
1
+ import {a as a$1}from'./chunk-5NVVEPZQ.js';export{a as CMS_ROLES,b as addRoleTypes}from'./chunk-5NVVEPZQ.js';import {a}from'./chunk-P6ORTCRN.js';export{a as useBespokeUser}from'./chunk-P6ORTCRN.js';import {b}from'./chunk-QZ5NBDGE.js';import {useRouter}from'next/router';import {useEffect,useMemo}from'react';import {SessionProvider,signIn,signOut}from'next-auth/react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {Menu,Button,Text,Avatar}from'@mantine/core';import {IconUserCircle,IconLogout,IconEdit}from'@tabler/icons-react';import V from'next/link';function D(c){let{SuccessComponent:d,FailureComponent:u}=c,l=new Set(c.allowedRoles);return function(n){let{user:r,status:t}=a(),i=useRouter();if(useEffect(()=>{t==="unauthenticated"&&signIn();},[t,i]),t==="loading")return jsx("div",{children:"Loading..."});if(!r)return jsx(u,{...n});let B=r.bespoke_roles||[];return l.size===0||B.some(o=>l.has(o))?jsx(d,{user:r,...n}):jsx(u,{...n})}}var G=SessionProvider;function X({buttonProps:c={},editorMenuItemProps:d={},editorMenuItemRoute:u="/cms",logoutButtonProps:l={},menuProps:h={},options:n="",optionsPosition:r="bottom",translations:t={},withEditorMenuItem:i=true,withSession:B=true}){let{user:o,isLoading:k}=a(),P=b(),L=useMemo(()=>o?.bespoke_roles||[],[o]),g=useMemo(()=>a$1&&Object.keys(a$1).length>0&&Object.keys(a$1).some(R=>L.includes(a$1[R])),[L]),C={leftIcon:jsx(IconUserCircle,{}),...c};if(o&&!k){let R={...d},v={color:"red",fullWidth:true,leftIcon:jsx(IconLogout,{size:14}),size:"xs",variant:"subtle",...l},E={shadow:"md",width:"auto",position:"bottom",...h},M=jsx(V,{href:u,passHref:true,children:jsx(Menu.Item,{icon:jsx(IconEdit,{size:14}),onClick:()=>P("navigate_editor",{route:u},{component:"LoginButton"}),...R,children:t["Go to editor"]||"Go to editor"})});return jsxs(Menu,{...E,children:[jsx(Menu.Target,{children:jsx(Button,{...C,children:`${t["Welcome message"]||`Hi, ${o.name||o.email}`}`})}),jsxs(Menu.Dropdown,{children:[r==="top"&&jsxs(Fragment,{children:[i&&g&&M,n,(n||i&&g)&&jsx(Menu.Divider,{})]}),B&&jsxs(Menu.Item,{component:"span",style:{pointerEvents:"none"},icon:jsx(Avatar,{src:o.picture,radius:"md"}),children:[jsx(Text,{size:"sm",weight:500,children:o.name}),jsx(Text,{color:"dimmed",size:"xs",children:o.email})]}),jsx(Button,{onClick:()=>{P("user_logout",{userId:o.id,email:o.email},{component:"LoginButton"}),signOut({callbackUrl:process.env.NEXT_PUBLIC_REPORTS_BASE_URL||"/"});},...v,children:t.Disconnect||"Disconnect"}),r==="bottom"&&jsxs(Fragment,{children:[(n||i&&g)&&jsx(Menu.Divider,{}),i&&g&&M,n]})]})]})}return jsx(Button,{onClick:()=>{P("user_login",{},{component:"LoginButton"}),signIn();},loading:k,...C,children:k?t["Signing in"]||"Signing in...":t["Sign in"]||"Sign in"})}var j=X;export{j as BespokeLoginBtn,G as BespokeUserProvider,D as BespokeWithPageRoleAuthRequired};
@@ -0,0 +1,42 @@
1
+ import {a as a$2,b as b$2,c as c$1}from'./chunk-4XIZPGIL.js';import {i,g,b as b$1,e,f,d,c as c$2,j}from'./chunk-KUPNLLLT.js';import {h,z,a,C,va as va$1,Fa,Va,Qa,x,y,db as db$1,oa,_a,K,na as na$1,Ea,k,La,Xa as Xa$1,aa as aa$1,ga as ga$1,za,c,ua,ta,Oa,Pa,O,J,Z,fb,wa,$,ea as ea$1,Da,Za,xa,ya as ya$1,Wa,b as b$3,L,M,I,H}from'./chunk-AA4WMKFB.js';import {a as a$1}from'./chunk-P6ORTCRN.js';import {b}from'./chunk-QZ5NBDGE.js';import*as Ot from'react';import Ot__default,{createContext,forwardRef,useMemo,useContext,useState,useRef,useEffect,useCallback,createElement,Fragment as Fragment$1}from'react';import {getHotkeyHandler,useMediaQuery,useDisclosure,useDebouncedValue,useClickOutside,useSetState}from'@mantine/hooks';import vc,{useRouter}from'next/router';import Tr from'axios';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {Group,Box,Text,Flex,packSx,Paper,Anchor,Stack,Badge,useMantineTheme,MediaQuery,Input,Popover,rem,CloseButton,Button,Divider,ActionIcon,ScrollArea,Grid,Center,MultiSelect,SegmentedControl,Select,Tooltip,List,Menu,Loader,Switch,Container,Image,Card,ThemeIcon,Collapse,Notification,Tabs,Skeleton,Title,Modal,Autocomplete,UnstyledButton,Accordion,HoverCard,LoadingOverlay,Alert,CopyButton,SimpleGrid,Checkbox,clsx,TextInput,Pagination,NumberInput,Affix}from'@mantine/core';import {IconListTree,IconTable,IconPhoto,IconSelector,IconAlignLeft,IconChartBar,IconPercentage,IconFlag,IconApi,IconHeading,IconChevronLeft,IconChevronRight,IconX,IconPlus,IconRefresh,IconSearch,IconCamera,IconShare,IconChevronUp,IconChevronDown,IconInfoCircle,IconCircleKey,IconCodePlus,IconDatabase,IconAlertCircle,IconLink,IconSparkles,IconClipboardCheck,IconClipboardCopy,IconExternalLink,IconFileTypeXls,IconFileTypeJs,IconFileTypeCsv,IconTemplate,IconPolaroid,IconCode,IconDownload,IconTrash,IconArrowLeft,IconArrowRight,IconDice,IconPalette,IconAlignCenter,IconAlignRight,IconAlignJustified,IconFileTypePdf}from'@tabler/icons-react';import {format}from'd3-format';import {saveAs}from'file-saver';import {useDispatch}from'react-redux';import {dataLoad}from'd3plus-viz';import ku from'jszip';import {csvFormat}from'd3-dsv';import {MantineReactTable}from'mantine-react-table';import Gu from'yn';import Lm from'next/dynamic';import ea,{Element,domToReact,Text as Text$1}from'html-react-parser';import {nest}from'd3-collection';import {Prism}from'@mantine/prism';import {select}from'd3-selection';import {saveElement}from'd3plus-export';import {FacebookShareButton,FacebookIcon,TwitterShareButton,TwitterIcon,TelegramShareButton,TelegramIcon,WhatsappShareButton,WhatsappIcon,LinkedinShareButton,LinkedinIcon,RedditShareButton,RedditIcon,EmailShareButton,EmailIcon}from'react-share';import*as Ao from'xlsx';var yr={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:{}},Kc=()=>{},Ai=createContext({metadata:[],loadingItems:false,setLoadingItems:()=>null,loadingMetadata:false,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:yr,setTranslations:()=>null,showSelectors:true,fireExploreEvent:Kc}),yt=()=>useContext(Ai);function nS({children:e,pageSize:o=10,sort:t=void 0}){let n={profile:void 0,variant:void 0},[s,i]=useState([]),[r,a]=useState(false),[l,c]=useState(false),[p,m]=useState({}),[f,g]=useState({}),[u,d]=useState(1),[y,w]=useState(n),[S,h]=useState(""),[v]=useDebouncedValue(S,750),[P,H]=useState([]),[O,F]=useState(yr),[I,D]=useState(false),{locale:M}=useRouter(),x=b(),A=async()=>{try{c(!0),Tr.get("/api/cms/read/metadata").then(q=>{if(q&&q.data&&q.data.data&&q.data.data.data){let Z=q.data.data.data.reduce((J,W)=>(W.dimensions&&W.dimensions.forEach(_=>{_.variants&&_.variants.forEach(C=>{J[C.id]=C.members_count||0;});}),J),{});i(q.data.data.data),m(Z),g(Z);}c(!1),D(!0);}).catch(q=>{console.error(q);});}catch(q){console.error("Error fetching metadata:",q),i([]),c(false),m({}),g({});}},E=q=>{m(q||f);},V=useCallback(async(q,Z,J)=>{!I&&s.length===0&&await A(),w({profile:q,variant:Z}),J!==""&&h(J);},[]);useEffect(()=>{I&&x("explore_search",{query:v},{component:"BespokeExplore"});},[v]),useEffect(()=>{let q=false;return I&&(a(true),d(1),B(q,0)),()=>{q=false;}},[v,y,I]),useEffect(()=>{if(I){a(true);let q=(u-1)*o;B(false,q);}},[u]);let B=async(q,Z)=>{let J=y.profile&&!Number.isNaN(y.profile)?[y.profile]:[],W=y.variant?typeof y.variant=="string"&&y.variant.includes(",")?y.variant.split(",").map(C=>parseInt(C,10)):[parseInt(y.variant,10)]:[],_={query:v,format:"profiles",locale:M,limit:o,offset:Z,visible:true,includes:true,noImage:false,variant:W,dimension:[],report:J,all:false,origin:"typesense"};t&&(_.sort=t),Tr.get("/api/cms/search/reports",{params:_}).then(C=>{if(C&&C.data&&C.data.data&&C.data.data.results&&!q){let N=C.data.data.results;H(N),m(!S||S===""?false:C.data.data.meta.variantCount);}a(false);}).catch(C=>{console.error(C),a(false);});},L=p||f,G={id:void 0,name:O.filters_all||"ALL"},j=q=>{let Z=q.reduce((W,_)=>W.reduce((C,N)=>C.concat(_.map(X=>[].concat(N,X))),[])).map(W=>{let _;return Array.isArray(W)?_={id:W.map(C=>C.id).join(","),name:W.map(C=>C.name).join(" / "),members_count:W.reduce((C,N)=>C*(L[N.id]||1),1),ordering:W.reduce((C,N)=>C+N.ordering,0)}:(W.members_count=L[W.id]||0,_={...W,members_count:L[W.id]||0}),_}),J=Z.reduce((W,_)=>W+(_.members_count||0),0);return [{...G,members_count:J},...Z]},ee=s.length>1,re=useMemo(()=>{let q=[];if(!l&&s.length>0&&L){let Z=s.filter(J=>J.dimensions.length>0).map(J=>{let W=false,_=j(J.dimensions.map(C=>C.variants));return _&&_.length>2&&(W=true),{id:J.id,name:J.dimensions.map(C=>C.name).join(" / "),variants:_,members_count:_.filter(C=>C.id).reduce((C,N)=>C+(N.members_count||0),0),show:W}});q=[{...G,members_count:Z.reduce((J,W)=>J+(W.members_count||0),0)},...Z];}return q},[l,L,s,G]),se=useMemo(()=>{let q;return re&&(y.profile?y.profile&&(q=re.find(Z=>Z.id===y.profile),q&&y.variant&&q.variants&&(q=q.variants.find(Z=>Z.id===y.variant))):q=re.find(Z=>!Z.id)),q?q.members_count:o},[y,re]),Q={metadata:s,loadingMetadata:l,setLoadingMetadata:c,loadingItems:r,setLoadingItems:a,resultCount:p,totalCount:f,setResultCount:E,activePage:u,setActivePage:d,pageSize:o,filters:y,setFilters:w,doQuery:B,query:S,setQuery:h,debouncedQuery:v,results:P,currentPageTotal:se,selectorStructure:re,translations:O,setTranslations:q=>F({...yr,...q}),showSelectors:ee,initExplore:V,fireExploreEvent:x};return jsx(Ai.Provider,{value:Q,children:e})}function Yc({translations:e}){let{loadingItems:o,setFilters:t,selectorStructure:n,filters:s,showSelectors:i,fireExploreEvent:r}=yt(),a=d=>{let y=d===null||Number.isNaN(d)?void 0:parseInt(d,10),S=n.find(h=>h.id===y)?.name;y!==s.profile?(r("explore_filter_profile",{profileId:y,profileName:S},{component:"ExploreFilters"}),t({profile:y,variant:void 0})):y&&(r("explore_filter_profile",{profileId:void 0,profileName:void 0},{component:"ExploreFilters"}),t({profile:void 0,variant:void 0}));},l=d=>{let y=d===null?void 0:typeof d=="string"&&d.includes(",")?d:parseInt(d,10),h=n.find(v=>v.id===s.profile)?.variants?.find(v=>v.id===y)?.name;y!==s.variant?(r("explore_filter_variant",{variantId:y,variantName:h},{component:"ExploreFilters"}),t({...s,variant:y})):y&&(r("explore_filter_variant",{variantId:void 0,variantName:void 0},{component:"ExploreFilters"}),t({...s,variant:void 0}));},c=d=>d<1e3?d:format(e.count_format)(d).replace(/\.0+([a-zA-Z]*)$/,"$1"),p=n.length===2?n[1].id:s.profile,m=p?n.find(d=>d.id===p):void 0,f=m&&m.variants&&s.variant?m.variants.find(d=>d.id===s.variant):void 0,g=useMemo(()=>n.map(d=>({value:String(d.id||""),label:(e?.dimensionIcon?.[d.name]?`${e?.dimensionIcon?.[d.name]} `:"")+(e?.dimension[d.name]||d.name)+(!o&&(!m||d.id===m?.id)?` (${c(d.members_count)})`:"")})),[e,m,n]),u=useMemo(()=>m?.variants?.map(d=>({value:String(d.id||""),label:(e?.variantIcon?.[d.name]?`${e?.variantIcon?.[d.name]} `:"")+(e?.variant[d.name]||d.name)+(!o&&(!f||d.id===f?.id)?` (${c(d.members_count)})`:"")}))??[],[e,f,n]);return jsx(Fragment,{children:i&&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:g,value:String(m?.id||""),onChange:d=>a(d),label:e.select_report||"Select Report",placeholder:e.select_report||"Select Report",clearable:typeof m?.id<"u",style:{width:"450px"}}),m?.variants&&m.variants.length>2&&jsx(Select,{className:"bespoke-explore-variant-select",data:u,value:String(f?.id||""),onChange:d=>l(d),label:e.select_variant||"Select Variant",placeholder:e.select_variant||"Select Variant",clearable:typeof f?.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:n.map(d=>jsxs(Button,{"data-selected":d.id===m?.id?"true":"false","data-report-name":d.name,variant:d.id===m?.id?"outline":"subtle",onClick:()=>a(d.id),rightIcon:d.id&&d.id===m?.id?jsx(IconX,{size:"1rem"}):void 0,leftIcon:e?.dimensionIcon?.[d.name]??void 0,children:[jsx(Text,{span:true,className:"bespoke-explore-reports-name",dangerouslySetInnerHTML:{__html:e?.dimension[d.name]??d.name}}),!o&&(!m||d.id===m?.id)&&jsx(Text,{span:true,size:"xs",ml:"0.2rem",className:"bespoke-explore-reports-count",children:`(${c(d.members_count)})`})]},`p-${d.id}`))}),m&&m.variants&&m.variants.length>2&&jsx(Group,{position:"center",style:{minHeight:"36px"},className:"bespoke-explore-variant-selector",mb:"md",children:m.variants.map(d=>jsxs(Button,{"data-selected":d.id===f?.id?"true":"false","data-variant-name":d.name,variant:d.id===f?.id?"outline":"subtle",onClick:()=>l(d.id),rightIcon:d.id&&d.id===f?.id?jsx(IconX,{size:"1rem"}):void 0,leftIcon:e?.variantIcon?.[d.name]?jsx(Text,{span:true,dangerouslySetInnerHTML:{__html:e.variantIcon[d.name]}}):void 0,children:[jsx(Text,{span:true,className:"bespoke-explore-variant-name",dangerouslySetInnerHTML:{__html:e?.variant[d.name]??d.name}}),!o&&(!f||d.id===f?.id)&&jsx(Text,{span:true,size:"xs",ml:"0.2rem",className:"bespoke-explore-variant-count",children:`(${c(d.members_count)})`})]},`v-${d.id}`))})]})})]})})}var Di=Yc;function No(){let{pathSegment:e}=fb(),o=useRouter();return useMemo(()=>{let t=o.pathname.split("/");Object.keys(o.query).length>0&&t.pop();let n=t.join("/"),[s,...i]=[].concat(o.query[e]||[]),r=(...a)=>[n,...a].join("/");return {router:o,page:s,params:i,query:o.query,basePath:n,href:r,setSearchParam(a,l){let c={...o.query};l==null||l===""?delete c[a]:c[a]=[].concat(l).join("!"),o.push({pathname:o.pathname,query:c},void 0,{shallow:true});},matches(...a){return o.asPath===r(...a)},push(a,l,c){let p=r(a);o.push(p,l,c);},replace(a,l,c){let p=r(a);o.replace(p,l,c);}}},[o.asPath])}function ep(){let e=ua(),{router:o}=No(),{asPath:t}=o,[,n]=t.split("?"),s=n?JSON.parse('{"'+decodeURI(n).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"')+'"}'):{},{currentLocale:i,locales:r}=va$1(l=>l.status),a=s.locale||"";return useEffect(()=>{a&&a!==""&&r.includes(a)&&a!==i&&e(ta.setCurrentLocale(a));},[]),i}var tp=(e,o)=>({iconType:e[`title${o}_iconType`],icon:e[`title${o}_icon`],iconSize:e[`title${o}_iconSize`],iconVariant:e[`title${o}_iconVariant`],iconRadius:e[`title${o}_iconRadius`]});function op(e,o){let t=[],n={},s=new Set,i=1/0;for(let r of e){let a=parseInt(r.settings.order,10);a<i&&(i=a);}for(let r of e){let{id:a,settings:l}=r,c=parseInt(l.order,10),p=o[a]?o[a]:false,m=tp(p,a),f=r.section_id&&!s.has(r.section_id);r.section_id&&s.add(r.section_id);let g={id:a,order:c,label:o[a]?o[a][`title${a}title`]:`Title ${a}`,iconProps:m,properties:{sectionId:r.section_id,...r.section_id&&{titleType:f?"primary":"secondary"}},children:[]};if(n[a]=g,c===i)t.push(g);else {let u=c-1,d;for(let y=e.indexOf(r)-1;y>=0;y--){let w=e[y],S=parseInt(w.settings.order,10);if(S===u){d=n[w.id];break}else if(S<u){d=n[w.id];break}}d?d.children.push(g):t.push(g);}}return t}function Ft(e=1,o=6,t=[]){let n=va$1(f=>f),s=va$1(f=>f.variables.variables),i=va$1(f=>f.variables.status),r=za(),a=d(n).filter(f=>f.type===z.TITLE&&t.includes(f.id)),l=Object.fromEntries(a.map(f=>[f.id,f])),c$1=Object.fromEntries(a.map(f=>[f.id,s[f.id]])),p=Object.fromEntries(a.map(f=>[f.id,i[f.id]])),m=useMemo(()=>{if(r.isSuccess&&l){let f=[];return r.data.sort(c).forEach(g=>{let u=g.blocks.reduce((d,y)=>l[y]&&l[y].type===z.TITLE?d.concat([l[y]]):d,[]);f=f.concat(u.sort((d,y)=>c(d,y,"blockrow")));}),Object.keys(i).length?f.filter(g=>{let u=parseInt(g.settings.order||"1",10);return u>=e&&u<=o&&p[g.id]?.allowed&&!p[g.id]?.hiddenByCascade}):[]}},[t,r,l,p]);return useMemo(()=>m&&m?.length>0?op(m,c$1):[],[m,c$1])}function Qe(){let e=ua();return useMemo(()=>async o=>await e(ta.readMember(o)),[e])}function sp(){let{user:e,update:o,status:t}=a$1(),n=t==="loading",{localeDefault:s}=a(),i=ua();return useEffect(function(){!n&&e&&e.bespoke_user_metadata&&typeof e.bespoke_user_metadata.preferredLocale=="string"&&i(ta.setPreferredLocale(e.bespoke_user_metadata.preferredLocale||s));},[n,e]),{user:e,isLoading:n,update:o,status:t}}var xr=sp;var ip=e=>e.status.locales.map(o=>({value:o,label:o.toUpperCase()}));function ap(){return va$1(ip)}var kr=(e,o,t,n=null)=>{let[s,i]=useState(false),[r,a]=useState(null);return {print:c=>{i(true),a(null);let p=process.env.NEXT_PUBLIC_REPORTS_BASE_URL,m=new URLSearchParams(window.location.search),f=c?"&transparent=true":"",g=n?`/embeds/${o}/${t}?section=${e}&block=${n}${m.toString()?"&"+m.toString():""}`:`/embeds/${o}/${t}?section=${e}${m.toString()?"&"+m.toString():""}`,u=`${p}${g}&print=true`;Tr.get(`${process.env.NEXT_PUBLIC_PDF_API_URL}/screenshot?url=${encodeURIComponent(u)}${f}`,{responseType:"blob"}).then(d=>{let y=n?`section${e}_block${n}.png`:`section${e}.png`;saveAs(d.data,y);}).catch(d=>{a(d.response?.data?.message||"Failed to download image. Please try again.");}).finally(()=>{i(false);});},downloadLoading:s,error:r}},wr=()=>{let{asPath:e}=useRouter(),o=Vt(),[t,n]=useState(false),[s,i]=useState(null),{user:r}=a$1();return {printReport:async(l=[])=>{let c=null;if(n(true),i(null),o){if(r)try{c=(await Tr.post("/api/cms/users/generate-token")).data.token;}catch(y){i("Failed to generate user token. Generating PDF without user information."),console.error("Error generating user token:",y);}let p=process.env.NEXT_PUBLIC_REPORTS_BASE_URL,m=e.replace(/[&?]printBtn=[^&]+/,""),f=m.includes("?")?"&":"?",g=new URLSearchParams;g.set("print","true"),c&&g.set("user_token",c);let u=g.toString();l.length>0&&(u+=`&sections=${l.join(",")}`);let d=`${p}${m}${f}${u}`;return Tr.get(`${process.env.NEXT_PUBLIC_PDF_API_URL}/pdf?url=${encodeURIComponent(d)}`,{responseType:"blob"}).then(y=>{let S=y.headers["content-disposition"]?.match(/filename[^;=\n]*=(['"]?)(.*?)\1/),h=S&&S[2]?S[2]:"report.pdf";saveAs(y.data,h);}).catch(y=>{i(y.response?.data?.message||"Failed to generate PDF. Please try again.");}).finally(()=>{n(false);})}else i("Failed calling pdf service. URL is not set."),n(false);},error:s,setError:i,downloadLoading:t}},Vt=()=>!!process.env.NEXT_PUBLIC_PDF_API_URL;function Gi(e$1){let{asPath:o,locale:t,defaultLocale:n}=useRouter(),[s,i]=useState(true),r=a$1(),{user:a,isLoading:l}=r,[c,p]=useState({resolved:false,blocks:[]}),m=ua(),[,f$1]=o.split("?"),g=f$1?Object.fromEntries(new URLSearchParams(`?${f$1}`)):{},u=va$1(E=>E),d=wa().data,y=d&&d[0].id,w=va$1(E=>E.variables.attributes),S=b$1(u),h=c$2(u),v=e(u),P=f(u),H=k(v,t),O=va$1(E=>E.variables.variables),F=va$1(E=>E.variables.status),I=Qe(),{addRunConsumersRunning:D,removeRunConsumersRunning:M}=Xa$1(),x=g.user_token||null,A=useMemo(()=>Object.keys(w).filter(E=>E.startsWith("id")).map(E=>w[E]).join("-"),[w]);return useEffect(()=>{if(c.blocks.length>0&&m(ta.removeBlocksFromState(c.blocks)).then(()=>{p({resolved:false,blocks:[]});}),c.blocks.length>0&&p({resolved:false,blocks:[]}),!l&&(a||x)&&y){let E=h.filter(B=>B.settings[C.CLIENT_SIDE]).map(B=>B.id),V=Object.keys(Object.values(S).reduce((B,L)=>(!E.includes(L.section_id)&&(L.type!=="fallback"||!L.settings[C.DISABLED])&&(B[L.section_id]=true),B),{})).map(B=>parseInt(B,10));m(ta.readPrivateBlocks({report_id:y,locale:t||n||"en",section_id:V,userToken:x})).then(B=>{if(B.data&&B.data.length){let L=B.data.reduce((G,j)=>({...G,[j.id]:j}),[]);m(ta.addBlockToState(L)).then(()=>{p({resolved:true,blocks:B.data.map(G=>G.id)});});}p({resolved:true,blocks:[]}),i(false);}).catch(()=>{p({resolved:true,blocks:[]}),i(false);});}!l&&!a&&!x&&(p({resolved:true,blocks:[]}),i(false));},[A,a,l,y,t,x]),useEffect(()=>{if((Object.keys(g).some(V=>V!==e$1)||c.blocks.length>0)&&c.resolved){let V=Object.keys(g).map(Q=>Number(Q.match(/\d+/))).filter(Q=>S[Q]),B=Array.from(new Set(V.filter(Q=>Q!==0&&!S[Q]?.settings[C.DISABLED]).concat(c.blocks))),L={...u.variables},G=[],j=[];B.forEach(Q=>{let q=S[Q];$(q,S,Q,G,true,true,j);});let ee={},re=B.filter(Q=>(ee[S[Q].section_id]=true,!j.includes(Q))),se=Object.keys(ee).map(Q=>parseInt(Q,10));D(se),Promise.all(re.map(Q=>{let Z=S[Q].consumers.reduce((W,_)=>({...W,...O[_]}),{}),J={locale:ea$1,query:g,variables:{...Z,...w}};return aa$1(S,void 0,Q,H,J,{variables:O,status:F},I,"report",P,r)})).then(Q=>(Q.forEach((q,Z)=>{let J=re[Z],W=S[J],_=[],C=[];$(W,S,J,_,true,true,C);let N={},X={};C.forEach(z=>{N[z]=q.status[z],X[z]=q.variables[z];}),L.status={...L.status,...N,[J]:{...q.status[J]}},L.variables={...L.variables,...X,[J]:{...q.variables[J]}};}),L)).then(Q=>{m(ga$1.setVariableChange({...Q,attributes:w})),M(se);});}},[c.resolved]),s||!c.resolved}var Wi=createContext({active:false,variables:null,status:null,setComparisonVariables:null,comparisonLoaded:false,loading:false,error:false});function Ue(){return useContext(Wi)}function mp({children:e}){let o=Sn();return jsx(Wi.Provider,{value:o,children:e})}var vp=/\w*Compare\b/,yp=/selector\d+id/;function xn(e$1,o,t,n=false,s=false){let i=useRouter(),{query:r,locale:a}=i,l=va$1(A=>A),c=useDispatch(),p=Ue(),m=va$1(A=>n&&p.variables?p?.variables?.attributes:A.variables.attributes),f$1=b$1(l),g=e(l),u=f(l),d=k(g,a),y=La(e$1,n&&p.active?p?.variables.variables:void 0,n&&p.active?p?.variables.attributes:void 0),w=va$1(A=>n?p.variables.variables:A.variables.variables),S=va$1(A=>n?p.variables.status:A.variables.status),h=Qe(),{sectionVariables:v,resetSectionVariables:P}=Va(o),{addRunConsumersRunning:H,removeRunConsumersRunning:O}=Xa$1(),F=a$1(),I=b(),D=n&&p.active?`${t}Compare`:t,M=n&&p.active?Object.fromEntries(Object.entries(r).filter(([A])=>A.match(vp)).map(([A,E])=>[A.replace("Compare",""),E])):Object.fromEntries(Object.entries(r).filter(([A])=>A.match(yp)).map(([A,E])=>[A.replace("Compare",""),E]));return useCallback(A=>{let E={locale:a,query:{...M,[t]:A},variables:y},V=new URLSearchParams(window.location.search);V.set(D,A),window.history.replaceState(null,null,`?${V.toString()}`),I("selector_change",{blockId:e$1,sectionId:o,selectorIdentifier:t,value:A,asComparison:n},{component:"Selector"}),H([o]),aa$1(f$1,void 0,e$1,d,E,{variables:w,status:S},h,"report",u,F).then(B=>{p.active&&n?p.setComparisonVariables({attributes:m,variables:B.variables,status:B.status}):c(ga$1.setVariableChange({attributes:m,variables:B.variables,status:B.status})),s&&v&&P(),O([o]);});},[e$1,o,t,D,r,f$1,c,d,i,y.attributes,n,s,S,w])}function Tn(){let e=useRouter(),o=useRef(false),t=500;useEffect(()=>{let n=()=>{let{asPath:i}=e;if(!o.current&&i.includes("#")){let r=i.split("#")[1],a=document.getElementById(r);a&&(o.current=true,setTimeout(()=>{a.scrollIntoView({behavior:"smooth"}),o.current=false;},t));}};n();let s=()=>{n();};return e.events.on("hashChangeComplete",s),()=>{e.events.off("hashChangeComplete",s);}},[e]);}h({name:"abbreviate",description:"Abbreviates a number into a smaller more human-readable number.",logicFactory(e){return o=>e.d3plus.formatAbbreviate(o)},inputType:"number",testValue:"123456",type:"formatter"});h({name:"abs",description:"Simple Absolute Value.",logicFactory(){return e=>Math.abs(e)},inputType:"number",testValue:"-123",type:"formatter"});var Cp=()=>function(o){let n=new RegExp(/([\$0-9\,]+)[A-z\-\s\&]*([\$0-9\,]*)/g).exec(o);return n?(n=n.slice(1).filter(s=>s.length).map(s=>(s.includes(",")&&(s.indexOf(",")===s.length-4?s=s.replace(/,000$/g,"k").replace(/([0-9]+)(,999$)/g,i=>`${parseInt(i)+1}k`):s.indexOf(",")===s.length-8&&(s=s.replace(/,000,000$/g,"M").replace(/([0-9]+)(,999,999$)/g,i=>`${parseInt(i)+1}M`))),s)),n.length===2?n.join(" - "):o.toLowerCase().match(/under|less|</g)?`< ${n[0]}`:o.toLowerCase().match(/over|more|\+|>/g)?`${n[0]}+`:`${n[0]}`):"None"};h({name:"bucket",description:"Sanitizes bucket strings to '< n', 'n1 - n2', and 'n+'",logicFactory:Cp,inputType:"number",testValue:"1234",type:"formatter"});h({name:"commas",description:"* Rounds to nearest whole number and adds commas.",logicFactory(e){return o=>e.d3.format(",")(Math.round(o))},inputType:"number",testValue:"1234.6",type:"formatter"});h({name:"date",description:"Formats a date into '%B %d, %Y' format.",logicFactory(e){return o=>(typeof o=="string"&&(o=e.d3plus.date(o)),e.d3.timeFormat("%B %d, %Y")(o))},inputType:"date",testValue:"2022-01-01",type:"formatter"});h({name:"dollar",description:"Adds a US dollar sign to the beginning of a String or Number.",logicFactory(e){return o=>(typeof o=="number"&&(o=e.d3plus.formatAbbreviate(o)),o.charAt(0)==="-"?o.replace("-","-$"):`$${o}`)},inputType:"number",testValue:"123",type:"formatter"});h({name:"formatFieldName",description:"Based on field name returns a string",logicFactory(){return e=>{if(e.contentType.toLowerCase()==="stat"){if(e.field==="title")return "Stat label";if(e.field==="value")return "Stat value";if(e.field==="subtitle")return "Stat subtitle";if(e.field==="tooltip")return "Tooltip text"}return e.contentType.toLowerCase()==="section"&&e.field==="short"?"Short title":e.contentType.toLowerCase()==="description"&&e.field==="description"?"Paragraph":e.field}},inputType:"object",testValue:'{"field":"title","contentType":"stat"}',type:"formatter"});h({name:"grewTo",description:"Returns the text with grow direction: 'declined from', 'grew to' o 'stayed at'",logicFactory(){return e=>e<0?"declined from":e>0?"grew to":"stayed at"},inputType:"number",testValue:"-1234",type:"formatter"});h({name:"grewWord",description:"Returns either 'grew', 'declined', or 'stayed' depending on the provided number's sign.",logicFactory(){return e=>e<0?"declined":e>0?"grew":"stayed"},inputType:"number",testValue:"-1234",type:"formatter"});h({name:"growing",description:"Returns either 'declining', 'growing' depending on the provided number's sign.",logicFactory(){return e=>e<0?"declining":"growing"},inputType:"number",testValue:"-1234",type:"formatter"});var _p=()=>function(o){let{curr:t,currMoe:n=0,prev:s,prevMoe:i=0}=o,r;if(n||i){let a=(-s/t**2)**2*n**2,l=(1/t)**2*i**2;r=Math.sqrt(a+l);}else r=(t-s)/s;return r*100};h({name:"growth",description:"Calculates the growth percentage between two numbers provided the following object format: {curr, prev}. Also supports calculating the growth between two margin of errors using this format: {curr, currMoe, prev, prevMoe}",logicFactory:_p,inputType:"object",testValue:'{"curr":10,"currMoe":0,"prev":13,"prevMoe":0}',type:"formatter"});h({name:"growthPct",description:"Abbreviates a growth value, turns it absolute, and adds a percent sign.",logicFactory(e){return o=>`${e.d3plus.formatAbbreviate(Math.abs(o))}%`},inputType:"number",testValue:"12345",type:"formatter"});h({name:"growthWord",description:"Returns either 'growth' or 'decline' depending on the provided number's sign.",logicFactory(){return e=>e<0?"decline":"growth"},inputType:"number",testValue:"-1234",type:"formatter"});h({name:"highWord",description:"Returns either 'higher than', 'lower than', or 'approximately the same as' depending on the provided number's sign.",logicFactory(){return e=>e<0?"lower than":e>0?"higher than":"approximately the same as"},inputType:"number",testValue:"0",type:"formatter"});h({name:"increaseWord",description:"Returns either 'increase', 'decrease', or 'change' depending on the provided number's sign.",logicFactory(){return e=>e<0?"decrease":e>0?"increase":"change"},inputType:"number",testValue:"1234",type:"formatter"});h({name:"increasedWord",description:"Returns either 'increased', 'decreased', or 'remained the same' depending on the provided number's sign.",logicFactory(){return e=>e<0?"decreased":e>0?"increased":"remained the same"},inputType:"number",testValue:"0",type:"formatter"});h({name:"increasing",description:"Returns either 'decreasing', 'increasing' or 'maintaining' depending on the provided number's sign.",logicFactory(){return e=>e<0?"decreasing":e>0?"increasing":"maintaining"},inputType:"number",testValue:"-1234",type:"formatter"});h({name:"largerThan",description:"Returns either 'higher than', 'lower than', or 'approximately the same as' depending on the provided number's sign",logicFactory(){return e=>e<0?"smaller than":e>0?"larger than":"the same as"},inputType:"number",testValue:"-1234",type:"formatter"});h({name:"list",description:"Joins an array of strings together, adding commas and 'and' when necessary.",logicFactory(){return e=>e.reduce((o,t,n)=>(n?n===e.length-1&&n===1?o+=` and ${t}`:n===e.length-1?o+=`, and ${t}`:o+=`, ${t}`:o+=t,o),"")},inputType:"object",testValue:'["foo","bar","bee"]',type:"formatter"});h({name:"longWord",description:"",logicFactory(){return e=>e<0?"shorter":e>0?"longer":"similar"},inputType:"number",testValue:"5",type:"formatter"});h({name:"lowerCaseFirst",description:"Converts the first letter of a string to lowercase",logicFactory(){return e=>typeof e=="string"?e.charAt(0).toLowerCase()+e.slice(1):e},inputType:"string",testValue:"foo",type:"formatter"});h({name:"moreFewerWord",description:"",logicFactory(){return e=>e<0?"fewer":"more"},inputType:"number",testValue:"-5",type:"formatter"});h({name:"moreLess",description:"Returns either 'more' or 'less' depending on the provided number's sign.",logicFactory(){return e=>e<0?"less":"more"},inputType:"number",testValue:"-5",type:"formatter"});h({name:"moreLess",description:"Returns either 'more than', 'less than', or 'approximately the same' depending on the provided number's sign.",logicFactory(){return e=>e<0?"less than":e>0?"more than":"approximately the same"},inputType:"number",testValue:"-5",type:"formatter"});h({name:"olderWord",description:"",logicFactory(){return e=>e<0?"getting younger":e>0?"getting older":"staying the same age"},inputType:"number",testValue:"-5",type:"formatter"});h({name:"olderYounger",description:"",logicFactory(){return e=>e<0?"younger than":e>0?"older than":"the same age as"},inputType:"number",testValue:"-5",type:"formatter"});h({name:"plural",description:"Pluralizes a word.",logicFactory(){return e=>e.replace(/\w$/g,o=>o==="y"?"ies":`${o}s`)},inputType:"string",testValue:"Foo",type:"formatter"});h({name:"pxToInt",description:"Takes a pixel value and converts it to an integer",logicFactory(){return e=>parseInt(e.replace(/\D+/g,""),10)},inputType:"string",testValue:"12px",type:"formatter"});h({name:"salary",description:"Displays salary values with proper precision (ie. '$74,200' instead of '$74.2k')",logicFactory(e){return o=>{let t;return o<1e6?t=e.d3.format(",")(o.toFixed(0)):t=e.d3plus.formatAbbreviate(o),`$${t}`}},inputType:"number",testValue:"1000000",type:"formatter"});h({name:"stripEntities",description:"Removes non breaking spaces & other html entities from a string",logicFactory(){return e=>typeof e=="string"?String(e).replace(/&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-f]{1,6});/ig," "):e},inputType:"string",testValue:"<b>MyText</b>",type:"formatter"});var Cr=h({name:"stripHTML",description:"Converts html tags to spaces, then removes redundant spaces",logicFactory(){return e=>{let o={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#x27;":"'","&#x60;":"`","&nbsp;":""},t=`(?:${Object.keys(o).join("|")})`,n=RegExp(t),s=RegExp(t,"g"),i=String(e).replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim();return n.test(i)?i.replace(s,r=>o[r]):i}},inputType:"string",testValue:"<b>My text</b>",type:"formatter"});h({name:"stripOL",description:"Removes ordered list wrapper tags from a string.",logicFactory(){return e=>e.replace(/<ol>/g,"").replace(/<\/ol>/g,"")},inputType:"string",testValue:"<ol><li>My list</li></ol>",type:"formatter"});h({name:"stripP",description:"Removes all paragraph tags from a string.",logicFactory(){return e=>e.replace(/<p>/g,"").replace(/<\/p>/g,"")},inputType:"string",testValue:"<p>My p</p>",type:"formatter"});h({name:"stripUL",description:"Removes unordered list wrapper tags from a string.",logicFactory(){return e=>e.replace(/<ul>/g,"").replace(/<\/ul>/g,"")},inputType:"string",testValue:"<ul><li>My list</li></ul>",type:"formatter"});h({name:"toKebabCase",description:"Takes a camelCase or PascalCase string and converts it to kebab-case.",logicFactory(){return e=>typeof e=="string"?(e=e.charAt(0).toLowerCase()+e.substring(1),e.replace(/([A-Z])/g,"-$1").toLowerCase()):"invalid string passed to toKebabCase()"},inputType:"string",testValue:"camelCaseText",type:"formatter"});h({name:"toSpacedCase",description:"Takes a camelCase or PascalCase string and adds spaces (I know Spaced Case isn't a thing, deal with it).",logicFactory(){return e=>typeof e=="string"?e.replace(/([A-Z])/g," $1").toLowerCase().trim():"invalid string passed to toSpacedCase()"},inputType:"string",testValue:"camelCaseText",type:"formatter"});h({name:"upperCaseFirst",description:"Converts the first letter of a string to uppercase",logicFactory(){return e=>e.charAt(0).toUpperCase()+e.slice(1)},inputType:"string",testValue:"my name",type:"formatter"});var Hi=createContext({});function Ee(e){let o=useContext(Hi);return e?o[e]??o:o}function cu({translations:e,children:o}){return jsx(Hi.Provider,{value:e||{},children:o})}function Ui({direction:e,onClick:o,visible:t}){return t?jsx(ActionIcon,{className:`bespoke-sortable-table-arrow bespoke-sortable-table-arrow-${e}`,variant:"filled",size:"md",sx:{position:"absolute",top:"50%",[e==="left"?"left":"right"]:"16px",zIndex:10,opacity:.55,"&:hover":{opacity:1}},onClick:o,children:e==="left"?jsx(IconArrowLeft,{size:16}):jsx(IconArrowRight,{size:16})}):null}function ji({data:e}){let o=useRef(null),[t,n]=useState(false),[s,i]=useState(false),[r,a]=useState(false),l=useMemo(()=>(e&&Array.isArray(e)&&e[0]?Object.keys(e[0]):[]).filter(m=>!m.startsWith("_")).map(m=>({accessorKey:m,header:m,enableSorting:true})),[e]);return useEffect(()=>{let c=()=>{if(o.current){let{scrollWidth:p,clientWidth:m,scrollLeft:f}=o.current;n(p>m),i(f>0),a(f+m<p-1);}};return c(),window.addEventListener("resize",c),o.current?.addEventListener("scroll",c),()=>{window.removeEventListener("resize",c),o.current?.removeEventListener("scroll",c);}},[e]),jsxs("div",{className:"bespoke-sortable-table",style:{position:"relative"},children:[jsx(MantineReactTable,{columns:l,data:e,enableBottomToolbar:false,enableColumnActions:false,enablePagination:false,enableSorting:true,enableTopToolbar:false,layoutMode:"grid",enableStickyHeader:true,initialState:{density:"xs"},mantineTableProps:{sx:{tableLayout:"fixed"}},mantineTableContainerProps:{ref:o,sx:{minHeight:100,maxHeight:350,overflowX:"auto"}},mantineTableBodyCellProps:{p:"5px !important",sx:{textWrap:"wrap"}},defaultColumn:{minSize:50,maxSize:150}}),jsx(Ui,{direction:"left",visible:t&&s,onClick:()=>{o.current&&o.current.scrollBy({left:-150,behavior:"smooth"});}}),jsx(Ui,{direction:"right",visible:t&&r,onClick:()=>{o.current&&o.current.scrollBy({left:150,behavior:"smooth"});}})]})}var kn={csv:{extension:"CSV",icon:IconFileTypeCsv},json:{extension:"JSON",icon:IconFileTypeJs},xlsx:{extension:"XLSX",icon:IconFileTypeXls}},Or={data_source:"Data Source",no_data_src:"No data sources defined",viz_source:"Visualization Source",error_generating:"Error generating file.",choose_data_src:"Choose data source",original_src:"Original {src}",loading:"Loading...",error_preview:`Sorry. We could not generate the data preview as a table.
2
+ Try to open the source and check the data directly.`,open_in_window:"Open {src} response in a new window",formatted_src:"Formatted {src}",formatted_group:"Formatted Data",raw_group:"Raw Data",rows_preview:"(First {nrows} rows as preview)",choose_format:"Choose format",processing_file:"Processing file...",download:"Download data as",preview:"Preview",copy:"Click to copy",copied:"Copied!"},Du=e=>{let o=[];return e&&e.data&&(e.data&&Array.isArray(e.data)?o=e.data:e.data&&e.data.data&&Array.isArray(e.data.data)?o=e.data.data:e.data&&e.data.data&&e.data.data.results&&Array.isArray(e.data.data.results)?o=e.data.data.results:e.data&&e.data.results&&Array.isArray(e.data.results)&&(o=e.data.results)),o};function Br(e){let{section:o}=e,t=Qe(),n=b(),s=useRouter(),i$1=va$1(C=>C.status.isCMS),r=va$1(C=>C.status.currentLocale),a=s.locale,l=i$1?r:a,c=50,p=Oa(l),m=Pa(),f=a$1(),g$1=Ee("options"),u={...Or,...g$1.data_tab},[d,y]=useState([]),[w,S]=useState([]),[h,v]=useState(),[P,H]=useState(),[O$1,F]=useState(false),[I,D]=useState({}),[M,x]=useState(true),[A,E]=useState(true),{sectionVariables:V,setSectionVariables:B,resetSectionVariables:L}=Va(o.id),G=o.blocks||[],j=va$1(C=>C),ee=useMemo(()=>G.reduce((C,N)=>{let X=j.records.entities.block[N],z$1=j.variables.variables[N],pe=j.variables.status[N];return X&&(z.GENERATOR===X.type&&z$1._downloadEnabled===true&&pe.allowed||z.VIZ===X.type&&pe.allowed)&&(C[N]={entity:X,variables:j.variables.variables[N],status:j.variables.status[N],inputVariablesFlat:X.inputs.reduce((ie,Se)=>({...ie,...j.variables.variables[Se]}),j.variables.attributes)}),C},{}),[G]),re=C=>{S(N=>N.includes(C)?N:[...N,C]);},se=C=>{y(N=>(N.find(z=>z.ix===C.ix)?N:[...N,C]).sort((z,pe)=>z.ix>pe.ix?1:-1));};function Q(C){!h&&C[0]&&q(C[0]);}function q(C){v(C),H("0");}useEffect(()=>{let C=async(N,X,z)=>{let pe=dataLoad.bind({});return new Promise((ie,Se)=>{pe(X,null,null,(he,Ae)=>{if(he)Se(he);else {let ae=z instanceof Function?z(Ae):Ae;N.data.unshift(ae),se(N),ie(Ae);}});})};if(d.length===0&&w.length===0){let N=0;for(let X of Object.values(ee)){let z$1=X.entity;if([z.GENERATOR,z.SECTION_FLAG].includes(z$1.type)){let pe=X.variables._downloadData||X.variables._downloadUrl||X.status.api;if(pe){let ie=[];typeof pe=="string"?ie=pe.split("|||"):ie=[pe],ie=a$2(ie,m,f);let Se=X.variables._downloadTitle||`${u.data_source} ${N+1}`,he=X.variables._downloadFileName||Se;se({ix:N,id:z$1.id,title:g(Se),fileName:he,data:Array.isArray(ie)?ie:[ie],loading:false,type:z.GENERATOR}),re(N),N++;}}else if(z$1.type===z.VIZ){let pe=O(z$1),ie=X.inputVariablesFlat,Se={variables:ie},he=J({logic:pe.logic},p,Se).logic,Ae={router:s,section:{variables:V,setVariables:B,resetVariables:L}},ae=b$2(he,p,ie,l,z$1.id,{},Ae,m,f),Xe=ae.config._downloadTitle||ae.config.title||`${u.viz_source} ${N+1}`,_t=ae.config._downloadFileName||Xe;if(ae.config._downloadEnabled!==false&&ae.config.type!==c$1)try{let Fe=ae.config._downloadUrl||ae.config.data,Jt=typeof Fe=="string"?[Fe]:Fe,eo=ae.dataFormat instanceof Function?ae.dataFormat:!1,Oo=ae.config._downloadDataFormat instanceof Function?ae.config._downloadDataFormat:!1;C({ix:N,id:z$1.id,title:g(Xe),fileName:_t,data:Jt,loading:!1,type:z.VIZ},Fe,Oo||eo),re(N),N++;}catch(Fe){console.error("DataLoad catch",Fe);}}}E(false);}},[ee]),useEffect(()=>{d.length===w.length&&Q(d);},[d]),useEffect(()=>{if(h&&P){let C=parseInt(P,10);if(h.data[C]&&(!I[h.ix]||!I[h.ix][P])){x(true);let N=h.data[P];typeof N=="string"?Z(N,t,l,[],void 0).then(X=>{let z=Du(X);D({...I,[h.ix]:{...I[h.ix],[C]:z}});}).catch(X=>{console.error(X);}).finally(()=>{x(false);}):(D({...I,[h.ix]:{...I[h.ix],[C]:N}}),x(false));}}},[P,h]);let Z$1=(C,N)=>{let X=C===N?"":`-${C}`.toLowerCase();if(h){let z=h.data.length>1&&P?`-${parseInt(P,10)+1}`:"";return `${i(h.fileName)}${X}${z}.${N.toLowerCase()}`}return `${X}.${N}`},J$1=async C=>{if(h){n("section_data_download",{sectionId:o.id,dataSourceTitle:h.title,format:C},{component:"DataTab"}),F(true);let N=new ku,X=Z$1(C,C);try{switch(C){case kn.json.extension:N.file(X,JSON.stringify(W));break;case kn.csv.extension:N.file(X,csvFormat(W));break;case kn.xlsx.extension:{let{utils:z,write:pe}=await import('xlsx'),ie=z.book_new();z.book_append_sheet(ie,z.json_to_sheet(W),X.substring(0,30));let Se=pe(ie,{bookType:"xlsx",bookSST:!0,type:"binary"});N.file(X,Se,{binary:!0});break}default:break}N.generateAsync({type:"blob",compression:"DEFLATE",compressionOptions:{level:9}}).then(z=>{F(!1),saveAs(z,Z$1(C,"zip"));});}catch(z){console.error(u.error_generating,z),F(false);}}},W=useMemo(()=>h&&I[h.ix]&&I[h.ix][P]?I[h.ix][P]:[],[I,h,P]),_=useMemo(()=>{if(d&&d.length>0&&d.length===w.length){let C=d.map(N=>({value:`${N.ix}`,label:N.title}));return jsx(Select,{disabled:!h,style:{flex:"1"},value:`${h?.ix}`,onChange:N=>{let X=d.find(z=>`${z.ix}`===N);q(X);},data:C,icon:jsx(IconDatabase,{size:16})})}else return ""},[d,h,w]);return jsxs(Stack,{className:"cms-section-options-data",spacing:"xs",children:[jsx(LoadingOverlay,{visible:A,overlayBlur:2}),d.length===0&&!A&&jsx(Alert,{icon:jsx(IconAlertCircle,{size:"1rem"}),title:"Oops!",children:u.no_data_src}),d.length>1&&d.length===w.length&&!A&&jsx(Input.Wrapper,{label:`${u.choose_data_src}:`,children:jsx(Group,{spacing:"xs",children:_})}),h&&P&&jsx(Stack,{spacing:"xs",children:jsx(Input.Wrapper,{label:`${u.preview}
3
+ ${W.length>c?u.rows_preview.replace("{nrows}",c):""}:`,children:jsxs(Group,{spacing:"xs",children:[jsx(Select,{disabled:!(h.data.length>1),style:{flex:"1"},value:P,onChange:C=>H(C),data:h.data.map((C,N)=>({value:`${N}`,group:typeof C=="string"?u.raw_group:u.formatted_group,label:typeof C=="string"?C:u.formatted_src.replace("{src}",h.title)})),icon:typeof h.data[P]=="string"?jsx(IconLink,{}):jsx(IconSparkles,{})}),jsx(CopyButton,{value:typeof h.data[P]=="string"?h.data[P]:"",timeout:2e3,children:({copied:C,copy:N})=>jsx(Tooltip,{label:C?u.copied:u.copy,withArrow:true,position:"top",children:jsx(ActionIcon,{variant:C?"filled":"subtle",onClick:N,disabled:typeof h.data[P]!="string",children:C?jsx(IconClipboardCheck,{size:16}):jsx(IconClipboardCopy,{size:16})})})})]})})}),h&&!M&&W.length===0&&jsx(Alert,{icon:jsx(IconAlertCircle,{size:"1rem"}),title:"Oops!",children:u.error_preview}),h&&P&&!M&&W.length===0&&jsx("a",{href:h.data[P],target:"_blank",rel:"noreferrer",children:jsx(Button,{leftIcon:jsx(IconExternalLink,{size:16}),fullWidth:true,children:u.open_in_window.replace("{src}",h.title)})}),jsxs(Stack,{pos:"relative",mih:"400px",spacing:"xs",children:[jsx(LoadingOverlay,{visible:M&&d.length>0,overlayBlur:2}),h&&!M&&W.length>0&&jsxs(Fragment,{children:[jsx(ji,{data:W.slice(0,c)}),jsx(Input.Wrapper,{label:`${u.download}:`,children:jsx(Button.Group,{children:Object.values(kn).map(C=>jsx(Button,{leftIcon:jsx(C.icon,{size:24}),onClick:()=>J$1(C.extension),loading:O$1,fullWidth:true,children:C.extension},`format-${C.extension}`))})})]})]})]})}var Wu={active:false,pdfParam:false,position:"DEFAULT",XlsxVizActive:false,pdfVariants:[],xlsxVariants:[],currentVariantPdfEnabled:false,currentVariantXlsxEnabled:false,isLoading:false,pdfAccessAllowed:false,xlsxAccessAllowed:false,sectionSelection:false,navBlockId:void 0},Zi=createContext(Wu);function to(){let e=useContext(Zi);if(e===void 0)throw new Error("usePdf must be used within a PdfProvider");return e}function Hu({children:e}){let{query:o}=useRouter(),t=va$1(h=>Object.values(h.records.entities.report)[0]),n=va$1(h=>h.status.previews),s=va$1(h=>h.status.isRunConsumersRunning.length>0),i=t.settings,r=Gu(o.print)??false,{user:a,isLoading:l}=a$1(),c=Vt(),p=useMemo(()=>h=>{if(!h||h.length===0||h.includes("public")||h.includes("guest")&&!a||h.includes("private")&&a)return true;if(a&&a.bespoke_roles){let v=a.bespoke_roles;if(h.some(H=>{if(H.startsWith("role.")){let O=H.substring(5);return v.includes(O)}return false}))return true}return false},[a]),m=useMemo(()=>!n||n.length===0?[]:n.map(h=>h.variant_id.toString()),[n]),f=useMemo(()=>(h,v=[])=>{if(!h||!v.length)return false;if(m.length===1)return v.includes(m[0]);if(m.length>1){let P=m.join(",");return v.includes(P)}return false},[m]),g=f(i?.pdf?.enabled||false,i?.pdf?.variants),u=f(i?.xlsx?.enabled||false,i?.xlsx?.variants),d=useMemo(()=>{let h=i?.pdf;return p(h?.privacy)},[p,i?.pdf]),y=useMemo(()=>{let h=i?.xlsx;return p(h?.privacy)},[p,i?.xlsx]),w=c&&g&&d,S=u&&y;return jsx(Zi.Provider,{value:{active:w,pdfParam:r,position:i.position||"DEFAULT",XlsxVizActive:S,pdfVariants:i?.pdf?.variants||[],xlsxVariants:i?.xlsx?.variants||[],currentVariantPdfEnabled:g,currentVariantXlsxEnabled:u,isLoading:l||s,pdfAccessAllowed:d,xlsxAccessAllowed:y,sectionSelection:i?.pdf?.sectionSelection||false,navBlockId:i?.pdf?.navBlockId},children:e})}var ju=e=>typeof e=="string"?e.replace(/&nbsp;<\/p>/g,"</p>"):e,Ku=e=>typeof e=="string"&&e==="<p><br></p>"?"":e,qu=e=>typeof e=="string"?e.replace(/^<p>(.*)<\/p>$/,"$1"):e,Xu=e=>e&&qu(Ku(ju(e))),ke=Xu;var Zu=(e="<></>")=>{let o=null,t={replace:n=>(n instanceof Element&&!o&&(o=n.attribs,o.align=n.attribs.style?n.attribs.style.replace("text-align: ",""):"",delete o.children),n)};return e?(ea(e,t),o):{}},Ju=(e="",o=false)=>{let t={replace:n=>{let{type:s}=n;if(n instanceof Element&&s==="tag"){let{name:i,attribs:r,children:a,parent:l}=n;if(i==="p"&&!l)return jsx(Fragment,{children:domToReact(a,t)});if(i==="a"){let{href:c,target:p}=r,m=c.indexOf("http")===0,f=!!(p&&p==="_blank"),g=jsx(Anchor,{...r,href:r.href,target:"_blank",children:domToReact(a,t)});return m||f||o?g:jsx(Anchor,{...r,href:r.href,children:domToReact(a,t)})}else {if(i==="strong")return jsx(Text,{component:"strong",children:domToReact(a,t)});if(i==="em")return jsx(Text,{component:"em",fs:"italic",children:domToReact(a,t)});if(i==="u")return jsx(Text,{component:"u",td:"underline",children:domToReact(a,t)});if(i==="sup")return jsx(Text,{component:"sup",style:{verticalAlign:"super",fontSize:"0.75em"},children:domToReact(a,t)});if(i==="sub")return jsx(Text,{component:"sub",style:{verticalAlign:"sub",fontSize:"0.75em"},children:domToReact(a,t)});if(i==="span")return jsx(Text,{component:"span",children:domToReact(a,t)});if(i==="br")return jsx("br",{})}return jsx(Fragment,{children:domToReact(a,t)})}else if(n instanceof Text$1&&n.type==="text")return jsx(Fragment,{children:n.data})}};return ea(e,t)};function ne({id:e="",component:o="p",order:t=1,size:n="md",html:s,style:i={},append:r=jsx(Fragment,{}),isPreview:a=false,lineClamp:l="none"}){let c=Zu(s),p=Ju(s,a),m=i&&i.align?String(i.align):"left",f=Text,g={};return o==="h"?(f=Title,g={id:e,order:t}):g={component:o,size:n,lineClamp:l},jsxs(f,{align:m||c.align||"left",...g,children:[p,r]})}function Le(e){let{content:o,style:t={}}=e,{print:n}=Je(),s=jsx(ne,{component:"span",html:o,isPreview:true}),i=useMemo(()=>n?jsx("div",{className:"bespoke-inner-tooltip-notification",children:jsx(Notification,{icon:jsx(IconInfoCircle,{size:"1.1rem"}),withCloseButton:false,withBorder:true,styles:{root:{boxShadow:"none"}},children:s})},"tooltip-notification"):jsx("div",{className:"bespoke-inner-tooltip",style:t,children:jsx(Tooltip,{label:s,withArrow:true,withinPortal:true,multiline:true,maw:220,children:jsx(ActionIcon,{size:"1.5rem",children:jsx(IconInfoCircle,{})})})},"tooltip"),[n,o,t]);return jsx(Fragment,{children:i})}function Nr({paragraph:e,tooltip:o,settings:t}){let n=ke(o);return jsx(ne,{component:"p",html:e,style:t,append:o?jsx(Le,{content:n,style:{display:"inline-block",verticalAlign:"bottom"}}):jsx(Fragment,{})})}function ye({iconType:e="none",iconVariant:o="transparent",icon:t="",iconRadius:n="md",iconSize:s="md",iconPadding:i="1",blockType:r}){let[a,l]=useState(void 0),c=e==="custom"?t:`/api/cms/read/icons/${e}/icon.svg?name=${t}`,p=/^.*\.svg*$/.test(c)||e==="tabler";return useEffect(()=>{p&&Tr.get(c,{responseType:"text"}).then(f=>f.data).then(l).catch(()=>{});},[e,p,c]),jsx(Fragment,{children:e!=="none"&&t&&t!==""&&!!(a||!p)&&jsx(ThemeIcon,{className:`bespoke-${r}-icon-wrapper`,variant:o,radius:n,size:s,p:parseInt(i),dangerouslySetInnerHTML:a&&p?{__html:a}:void 0,children:p?null:jsx(Image,{src:c,alt:"Title Icon"})})})}var Lt={display:{label:"Size",defaultValue:"block",options:[{label:"Full Width",value:"block"},{label:"Inline",value:"inline"}]}},na={useProxy:{label:"Use proxy (avoid CORS)",defaultValue:"false",options:[{label:"No",value:"false"},{label:"Yes",value:"true"}]}},ra={[z.IMAGE]:{...Lt},[z.PARAGRAPH]:{...Lt},[z.SUBTITLE]:{...Lt},[z.SELECTOR]:{...Lt},[z.STAT]:{...Lt},[z.VIZ]:{...Lt},[z.TITLE]:{order:{label:"Importance",defaultValue:"1",options:[{label:"1",value:"1"},{label:"2",value:"2"},{label:"3",value:"3"},{label:"4",value:"4"},{label:"5",value:"5"},{label:"6",value:"6"}]},search:{label:"Search on Click",defaultValue:"off",options:[{label:"Off",value:"off"},{label:"Inline",value:"inline"},{label:"Modal",value:"modal"}]},addComparisonName:{label:"Show member name on comparison mode",defaultValue:"no",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]},...Lt},[z.GENERATOR]:{...na},[z.SECTION_FLAG]:{...na},[z.NAV]:{variant:{label:"Nav variant",defaultValue:"inline",options:[{label:"Inline",value:"inline"},{label:"Fixed",value:"fixed"},{label:"Jump",value:"jump"}]},min:{label:"Min Title level",defaultValue:"1",options:[{label:"1",value:"1"},{label:"2",value:"2"},{label:"3",value:"3"},{label:"4",value:"4"},{label:"5",value:"5"},{label:"6",value:"6"}]},max:{label:"Max Title level",defaultValue:"6",options:[{label:"1",value:"1"},{label:"2",value:"2"},{label:"3",value:"3"},{label:"4",value:"4"},{label:"5",value:"5"},{label:"6",value:"6"}]},icons:{label:"Show icons",defaultValue:"yes",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]},titlePosition:{label:"Title position",defaultValue:"left",options:[{label:"Left",value:"left"},{label:"Top",value:"top"},{label:"Right",value:"right"},{label:"Bottom",value:"bottom"}]}},[z.MULTIHIERARCHY_SELECTOR]:{...Lt}},la=e=>e&&ra[e]?ra[e]:Lt,sa={left:"flex-start",right:"flex-end",justify:"stretch"},ia={justify:"apart"};var aa={justify:"space-between"},je=e=>sa[e]?sa[e]:e,Me=e=>ia[e]?ia[e]:e;var bo=e=>aa[e]?aa[e]:e;function Dr({subtitle:e,title:o,value:t,tooltip:n,settings:s,_iconType:i,_iconVariant:r,_icon:a,_iconRadius:l,_iconSize:c,_iconPadding:p}){if(!o&&!t&&!e)return null;let m=s&&s.align?s.align:"left";return jsxs(Group,{spacing:"md",position:Me(m),children:[jsx(ye,{blockType:"stat",iconType:i,iconVariant:r,iconRadius:l,iconSize:c,icon:a,iconPadding:p}),jsxs(Stack,{spacing:0,children:[o&&jsx(ne,{component:"div",size:"md",html:o,style:s}),t&&jsx(ne,{component:"div",size:"xl",html:t,style:s}),e&&jsx(ne,{component:"div",size:"sm",html:e,style:s})]},"stat"),n&&jsx(Le,{content:n})]})}function zr({subtitle:e,tooltip:o,settings:t}){let n=e||"<span class='cr-block-placeholder'>Small subtitle.</span>",s=t&&t.align?t.align:"left";return jsxs(Group,{spacing:"sm",position:Me(s),children:[jsx(ne,{size:"sm",html:n}),o&&jsx(Le,{content:o,style:{display:"inline-flex"}})]})}function Vr({title:e,tooltip:o,slug:t,_iconType:n,_iconVariant:s,_icon:i,settings:r,_iconRadius:a,_iconSize:l,_iconPadding:c,asComparison:p=false}){let{print:m}=Je(),f=ke(e)||"<span class='cr-block-placeholder'>Title</span>",g=r&&r.order?parseInt(r.order,10):1,u=g<=6?g:1,d=r&&r.search?r.search:"off",y=r&&r.align?r.align:"left",w=Ue(),S=va$1(F=>F.status.previews),v=(p?w.status.previews:S).map(F=>F.name).join(" | "),P=jsxs(Group,{children:[jsx(ye,{blockType:"title",iconType:n,iconVariant:s,iconRadius:a,iconSize:l,icon:i,iconPadding:c}),jsx(ne,{id:t||void 0,component:"h",order:u,style:r,html:f})]}),H=vo(P,d),O=r&&r.addComparisonName==="yes"&&w.active;return jsxs(Group,{spacing:"sm",position:Me(y),children:[jsxs("div",{children:[m?P:H,O&&jsx(Text,{className:"bespoke-comparison-title",children:v})]}),o&&jsx(Le,{content:o})]})}var Id=e=>`selector${e}id`,ma=(e,o)=>e&&typeof e=="string"?e.split(","):o,Pd=forwardRef(function({imageUrl:o,label:t,...n},s){return jsx("div",{ref:s,...n,children:jsxs(Group,{noWrap:true,children:[o&&!["","undefined"].includes(o)&&jsx(Box,{component:"img",w:25,h:25,src:o}),jsx("div",{children:jsx(Text,{size:"sm",children:t})})]})})});function Hr(e){let{name:o,settings:t,options:n,id:s,defaultValue:i,section:r,component:a,asComparison:l,hideLabel:c,resetSectionVars:p}=e,{print:m}=Je(),f=Id(s),g=xn(s,r,f,l,p==="true"),u=l?`${f}Compare`:f,[d,y$1]=useState(i),[w,S]=useState(ma(i,[])),h=JSON.stringify(n),v=t[C.DISABLED]||false,P=useMemo(()=>n?.map(M=>({value:M.id,label:M.label,imageUrl:M.imageUrl})),[h]),H=m?n.filter(M=>w.includes(M.id)).map(M=>M.label).join(", "):"",O=m&&d&&n.find(M=>M.id===d)?.label||"",F=e.hideLabel==="true"?jsx(Fragment,{}):jsx(ne,{component:"div",html:o,size:"sm",style:t});if(useEffect(()=>{if(!v){let x$1=new URLSearchParams(window.location.search).get(u)||i;x$1&&(e.type===x.SINGLE?y$1(x$1):S(ma(x$1,i)));}},[window.location.search,i]),P.length<=1)return jsx(Fragment,{});let I=M=>{S(M),g(M.join(","));},D=M=>{y$1(M),g(M);};return jsx(Fragment,{children:m?jsxs(Box,{style:{display:"flex",alignItems:"center"},children:[F,jsx(Button,{ml:"sm",radius:"xl",variant:"outline",children:e.type===x.SINGLE?O:H})]}):jsx(Box,{children:{[x.SINGLE]:a===y.SEGMENTED_CONTROL?jsxs("div",{children:[jsx(Text,{size:"sm",fw:500,display:c==="true"?"none":"block",children:F}),jsx(SegmentedControl,{data:P,disabled:v,value:P.map(M=>M.value).includes(d)?d:"",onChange:D,fullWidth:true})]}):jsx(Select,{label:F,data:P,disabled:v,value:d,itemComponent:Pd,onChange:D,styles:{label:{display:c==="true"?"none":"block"}}}),[x.MULTI]:jsx(MultiSelect,{label:F,data:P,value:w,onChange:I,disabled:v,styles:{label:{display:c==="true"?"none":"block"}}})}[e.type]})})}function Pn(){return jsx("div",{children:"Generator"})}function Ur(e){let{alt:o,src:t,desc:n,title:s,settings:i,...r}=e,a=ke(o),l=ke(t),c=ke(n),p=jsx("img",{src:l,alt:a,style:r}),m=i&&i.align?String(i.align):"left";return (c&&c.length||s&&s.length)&&(p=jsxs(Stack,{className:"bespoke-Image-wrapper",align:je(m),spacing:"sm",children:[s&&jsx(ne,{component:"p",html:s,style:i}),p,n&&jsx(ne,{component:"p",size:"sm",html:n,style:i})]})),l&&a?p:jsx(Center,{mih:100,bg:"white",children:jsx(Badge,{color:"gray",variant:"outline",children:"IMAGE"},"type")})}function Fo(){return Fo=Object.assign?Object.assign.bind():function(e){for(var o=1;o<arguments.length;o++){var t=arguments[o];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);}return e},Fo.apply(this,arguments)}function Vo(){return Vo=Object.assign?Object.assign.bind():function(e){for(var o=1;o<arguments.length;o++){var t=arguments[o];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);}return e},Vo.apply(this,arguments)}function no(e,o,t){var n,s=(n=t.initialDeps)!=null?n:[],i;return function(){var r;t.key&&t.debug!=null&&t.debug()&&(r=Date.now());var a=e(),l=a.length!==s.length||a.some(function(u,d){return s[d]!==u});if(!l)return i;s=a;var c;if(t.key&&t.debug!=null&&t.debug()&&(c=Date.now()),i=o.apply(void 0,a),t.key&&t.debug!=null&&t.debug()){var p=Math.round((Date.now()-r)*100)/100,m=Math.round((Date.now()-c)*100)/100,f=m/16,g=function(d,y){for(d=String(d);d.length<y;)d=" "+d;return d};console.info("%c\u23F1 "+g(m,5)+" /"+g(p,5)+" ms",`
4
+ font-size: .6rem;
5
+ font-weight: bold;
6
+ color: hsl(`+Math.max(0,Math.min(120-120*f,120))+"deg 100% 31%);",t?.key);}return t==null||t.onChange==null||t.onChange(i),i}}function En(e,o){if(e===void 0)throw new Error("Unexpected undefined"+(""));return e}var ga=function(o,t){return Math.abs(o-t)<1};var Bd=function(o){return o},$o=function(o){for(var t=Math.max(o.startIndex-o.overscan,0),n=Math.min(o.endIndex+o.overscan,o.count-1),s=[],i=t;i<=n;i++)s.push(i);return s},ha=function(o,t){var n=o.scrollElement;if(n){var s=function(a){var l=a.width,c=a.height;t({width:Math.round(l),height:Math.round(c)});};s(n.getBoundingClientRect());var i=new ResizeObserver(function(r){var a=r[0];if(a!=null&&a.borderBoxSize){var l=a.borderBoxSize[0];if(l){s({width:l.inlineSize,height:l.blockSize});return}}s(n.getBoundingClientRect());});return i.observe(n,{box:"border-box"}),function(){i.unobserve(n);}}};var ba=function(o,t){var n=o.scrollElement;if(n){var s=function(){t(n[o.options.horizontal?"scrollLeft":"scrollTop"]);};return s(),n.addEventListener("scroll",s,{passive:true}),function(){n.removeEventListener("scroll",s);}}};var _d=function(o,t,n){if(t!=null&&t.borderBoxSize){var s=t.borderBoxSize[0];if(s){var i=Math.round(s[n.options.horizontal?"inlineSize":"blockSize"]);return i}}return Math.round(o.getBoundingClientRect()[n.options.horizontal?"width":"height"])};var va=function(o,t,n){var s,i,r=t.adjustments,a=r===void 0?0:r,l=t.behavior,c=o+a;(s=n.scrollElement)==null||s.scrollTo==null||s.scrollTo((i={},i[n.options.horizontal?"left":"top"]=c,i.behavior=l,i));},ya=function(o){var t=this;this.unsubs=[],this.scrollElement=null,this.isScrolling=false,this.isScrollingTimeoutId=null,this.scrollToIndexTimeoutId=null,this.measurementsCache=[],this.itemSizeCache=new Map,this.pendingMeasuredCacheIndexes=[],this.scrollDirection=null,this.scrollAdjustments=0,this.measureElementCache=new Map,this.observer=(function(){var n=null,s=function(){return n||(typeof ResizeObserver<"u"?n=new ResizeObserver(function(r){r.forEach(function(a){t._measureElement(a.target,a);});}):null)};return {disconnect:function(){var r;return (r=s())==null?void 0:r.disconnect()},observe:function(r){var a;return (a=s())==null?void 0:a.observe(r,{box:"border-box"})},unobserve:function(r){var a;return (a=s())==null?void 0:a.unobserve(r)}}})(),this.range={startIndex:0,endIndex:0},this.setOptions=function(n){Object.entries(n).forEach(function(s){var i=s[0],r=s[1];typeof r>"u"&&delete n[i];}),t.options=Vo({debug:false,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:false,getItemKey:Bd,rangeExtractor:$o,onChange:function(){},measureElement:_d,initialRect:{width:0,height:0},scrollMargin:0,scrollingDelay:150,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1},n);},this.notify=function(){t.options.onChange==null||t.options.onChange(t);},this.cleanup=function(){t.unsubs.filter(Boolean).forEach(function(n){return n()}),t.unsubs=[],t.scrollElement=null;},this._didMount=function(){return t.measureElementCache.forEach(t.observer.observe),function(){t.observer.disconnect(),t.cleanup();}},this._willUpdate=function(){var n=t.options.getScrollElement();t.scrollElement!==n&&(t.cleanup(),t.scrollElement=n,t._scrollToOffset(t.scrollOffset,{adjustments:void 0,behavior:void 0}),t.unsubs.push(t.options.observeElementRect(t,function(s){var i=t.scrollRect;t.scrollRect=s,(t.options.horizontal?s.width!==i.width:s.height!==i.height)&&t.maybeNotify();})),t.unsubs.push(t.options.observeElementOffset(t,function(s){t.scrollAdjustments=0,t.scrollOffset!==s&&(t.isScrollingTimeoutId!==null&&(clearTimeout(t.isScrollingTimeoutId),t.isScrollingTimeoutId=null),t.isScrolling=true,t.scrollDirection=t.scrollOffset<s?"forward":"backward",t.scrollOffset=s,t.maybeNotify(),t.isScrollingTimeoutId=setTimeout(function(){t.isScrollingTimeoutId=null,t.isScrolling=false,t.scrollDirection=null,t.maybeNotify();},t.options.scrollingDelay));})));},this.getSize=function(){return t.scrollRect[t.options.horizontal?"width":"height"]},this.memoOptions=no(function(){return [t.options.count,t.options.paddingStart,t.options.scrollMargin,t.options.getItemKey]},function(n,s,i,r){return t.pendingMeasuredCacheIndexes=[],{count:n,paddingStart:s,scrollMargin:i,getItemKey:r}},{key:false}),this.getFurthestMeasurement=function(n,s){for(var i=new Map,r=new Map,a=s-1;a>=0;a--){var l=n[a];if(!i.has(l.lane)){var c=r.get(l.lane);if(c==null||l.end>c.end?r.set(l.lane,l):l.end<c.end&&i.set(l.lane,true),i.size===t.options.lanes)break}}return r.size===t.options.lanes?Array.from(r.values()).sort(function(p,m){return p.end-m.end})[0]:void 0},this.getMeasurements=no(function(){return [t.memoOptions(),t.itemSizeCache]},function(n,s){var i=n.count,r=n.paddingStart,a=n.scrollMargin,l=n.getItemKey,c=t.pendingMeasuredCacheIndexes.length>0?Math.min.apply(Math,t.pendingMeasuredCacheIndexes):0;t.pendingMeasuredCacheIndexes=[];for(var p=t.measurementsCache.slice(0,c),m=c;m<i;m++){var f=l(m),g=t.options.lanes===1?p[m-1]:t.getFurthestMeasurement(p,m),u=g?g.end:r+a,d=s.get(f),y=typeof d=="number"?d:t.options.estimateSize(m),w=u+y,S=g?g.lane:m%t.options.lanes;p[m]={index:m,start:u,size:y,end:w,key:f,lane:S};}return t.measurementsCache=p,p},{key:process.env.NODE_ENV!=="production"&&"getMeasurements",debug:function(){return t.options.debug}}),this.calculateRange=no(function(){return [t.getMeasurements(),t.getSize(),t.scrollOffset]},function(n,s,i){return t.range=Nd({measurements:n,outerSize:s,scrollOffset:i})},{key:process.env.NODE_ENV!=="production"&&"calculateRange",debug:function(){return t.options.debug}}),this.maybeNotify=no(function(){var n=t.calculateRange();return [n.startIndex,n.endIndex,t.isScrolling]},function(){t.notify();},{key:process.env.NODE_ENV!=="production"&&"maybeNotify",debug:function(){return t.options.debug},initialDeps:[this.range.startIndex,this.range.endIndex,this.isScrolling]}),this.getIndexes=no(function(){return [t.options.rangeExtractor,t.calculateRange(),t.options.overscan,t.options.count,t.getSize()]},function(n,s,i,r,a){return a===0?[]:n(Vo({},s,{overscan:i,count:r}))},{key:process.env.NODE_ENV!=="production"&&"getIndexes",debug:function(){return t.options.debug}}),this.indexFromElement=function(n){var s=t.options.indexAttribute,i=n.getAttribute(s);return i?parseInt(i,10):(console.warn("Missing attribute name '"+s+"={index}' on measured element."),-1)},this._measureElement=function(n,s){var i=t.measurementsCache[t.indexFromElement(n)];if(!i||!n.isConnected){t.measureElementCache.forEach(function(l,c){l===n&&(t.observer.unobserve(n),t.measureElementCache.delete(c));});return}var r=t.measureElementCache.get(i.key);r!==n&&(r&&t.observer.unobserve(r),t.observer.observe(n),t.measureElementCache.set(i.key,n));var a=t.options.measureElement(n,s,t);t.resizeItem(i,a);},this.resizeItem=function(n,s){var i,r=(i=t.itemSizeCache.get(n.key))!=null?i:n.size,a=s-r;a!==0&&(n.start<t.scrollOffset&&(process.env.NODE_ENV!=="production"&&t.options.debug&&console.info("correction",a),t._scrollToOffset(t.scrollOffset,{adjustments:t.scrollAdjustments+=a,behavior:void 0})),t.pendingMeasuredCacheIndexes.push(n.index),t.itemSizeCache=new Map(t.itemSizeCache.set(n.key,s)),t.notify());},this.measureElement=function(n){n&&t._measureElement(n,void 0);},this.getVirtualItems=no(function(){return [t.getIndexes(),t.getMeasurements()]},function(n,s){for(var i=[],r=0,a=n.length;r<a;r++){var l=n[r],c=s[l];i.push(c);}return i},{key:process.env.NODE_ENV!=="production"&&"getIndexes",debug:function(){return t.options.debug}}),this.getVirtualItemForOffset=function(n){var s=t.getMeasurements();return En(s[Sa(0,s.length-1,function(i){return En(s[i]).start},n)])},this.getOffsetForAlignment=function(n,s){var i=t.getSize();s==="auto"&&(n<=t.scrollOffset?s="start":n>=t.scrollOffset+i?s="end":s="start"),s==="start"?n=n:s==="end"?n=n-i:s==="center"&&(n=n-i/2);var r=t.options.horizontal?"scrollWidth":"scrollHeight",a=t.scrollElement?"document"in t.scrollElement?t.scrollElement.document.documentElement[r]:t.scrollElement[r]:0,l=a-t.getSize();return Math.max(Math.min(l,n),0)},this.getOffsetForIndex=function(n,s){s===void 0&&(s="auto"),n=Math.max(0,Math.min(n,t.options.count-1));var i=En(t.getMeasurements()[n]);if(s==="auto")if(i.end>=t.scrollOffset+t.getSize()-t.options.scrollPaddingEnd)s="end";else if(i.start<=t.scrollOffset+t.options.scrollPaddingStart)s="start";else return [t.scrollOffset,s];var r=s==="end"?i.end+t.options.scrollPaddingEnd:i.start-t.options.scrollPaddingStart;return [t.getOffsetForAlignment(r,s),s]},this.isDynamicMode=function(){return t.measureElementCache.size>0},this.cancelScrollToIndex=function(){t.scrollToIndexTimeoutId!==null&&(clearTimeout(t.scrollToIndexTimeoutId),t.scrollToIndexTimeoutId=null);},this.scrollToOffset=function(n,s){var i=s===void 0?{}:s,r=i.align,a=r===void 0?"start":r,l=i.behavior;t.cancelScrollToIndex(),l==="smooth"&&t.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),t._scrollToOffset(t.getOffsetForAlignment(n,a),{adjustments:void 0,behavior:l});},this.scrollToIndex=function(n,s){var i=s===void 0?{}:s,r=i.align,a=r===void 0?"auto":r,l=i.behavior;n=Math.max(0,Math.min(n,t.options.count-1)),t.cancelScrollToIndex(),l==="smooth"&&t.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size.");var c=t.getOffsetForIndex(n,a),p=c[0],m=c[1];t._scrollToOffset(p,{adjustments:void 0,behavior:l}),l!=="smooth"&&t.isDynamicMode()&&(t.scrollToIndexTimeoutId=setTimeout(function(){t.scrollToIndexTimeoutId=null;var f=t.measureElementCache.has(t.options.getItemKey(n));if(f){var g=t.getOffsetForIndex(n,m),u=g[0];ga(u,t.scrollOffset)||t.scrollToIndex(n,{align:m,behavior:l});}else t.scrollToIndex(n,{align:m,behavior:l});}));},this.scrollBy=function(n,s){var i=s===void 0?{}:s,r=i.behavior;t.cancelScrollToIndex(),r==="smooth"&&t.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),t._scrollToOffset(t.scrollOffset+n,{adjustments:void 0,behavior:r});},this.getTotalSize=function(){var n;return (((n=t.getMeasurements()[t.options.count-1])==null?void 0:n.end)||t.options.paddingStart)-t.options.scrollMargin+t.options.paddingEnd},this._scrollToOffset=function(n,s){var i=s.adjustments,r=s.behavior;t.options.scrollToFn(n,{behavior:r,adjustments:i},t);},this.measure=function(){t.itemSizeCache=new Map,t.notify();},this.setOptions(o),this.scrollRect=this.options.initialRect,this.scrollOffset=this.options.initialOffset,this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(function(n){t.itemSizeCache.set(n.key,n.size);}),this.maybeNotify();},Sa=function(o,t,n,s){for(;o<=t;){var i=(o+t)/2|0,r=n(i);if(r<s)o=i+1;else if(r>s)t=i-1;else return i}return o>0?o-1:0};function Nd(e){for(var o=e.measurements,t=e.outerSize,n=e.scrollOffset,s=o.length-1,i=function(c){return o[c].start},r=Sa(0,s,i,n),a=r;a<s&&o[a].end<n+t;)a++;return {startIndex:r,endIndex:a}}var Md=typeof document<"u"?Ot.useLayoutEffect:Ot.useEffect;function Dd(e){var o=Ot.useReducer(function(){return {}},{})[1],t=Fo({},e,{onChange:function(r){o(),e.onChange==null||e.onChange(r);}}),n=Ot.useState(function(){return new ya(t)}),s=n[0];return s.setOptions(t),Ot.useEffect(function(){return s._didMount()},[]),Md(function(){return s._willUpdate()}),s}function Rn(e){return Dd(Fo({observeElementRect:ha,observeElementOffset:ba,scrollToFn:va},e))}var qd=(e=[],o=[],t="",n="",s="",i="|")=>{let r=o.map(d=>d.value).slice(),a=`${r.pop()}`,l=d=>d[t],c=d=>d[n],p=d=>{if(d[s])return typeof d[s]=="string"?d[s].split(i):d[s]},m=new Set,f=[],g=[],u=nest().rollup(d=>{let y=d[0],w=I=>I&&I.value&&!m.has(I.value),S=r.map(I=>y[`${I} ID`]),h=r.map(I=>y[I]),v=r.map((I,D)=>{if(g[D]!==h[D]){g[D]=h[D];let M=l[D]||l[l.length-1]||l,x=c[D]||c[c.length-1]||c,A=p[D]||p[p.length-1]||p;return {color:M(y,I)||void 0,icon:x(y,I)||void 0,value:`${S[D]}`,label:h[D],name:h[D],type:I,searchindex:h.slice(0,D+1).concat(A(y,I)).join("|")}}return {}}).filter(w);v.forEach(I=>m.add(I.value));let P=l[l.length-1]||l,H=c[c.length-1]||c,O=p[p.length-1]||p,F=d.map(I=>({color:P(I,a)||void 0,icon:H(I,a)||void 0,value:`${I[`${a} ID`]}`,label:I[a],name:I[a],type:a,searchindex:h.concat(I[a]).concat(O(I,a)).join("|")}));f.push(...v.concat(F));});return r.forEach(d=>{u.key(y=>`${y[`${d} ID`]}|${y[d]}`);}),u.entries(e),f},Xd=e=>{if(!e)return /./i;let o=e.normalize("NFD").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g,"[^|]+");return RegExp(o,"i")},Yd=(e,o)=>{let t=e.length,n,s=a=>n&&n.searchindex.includes(a.searchindex),r={next:()=>{for(let a=t-1;a>-1;a--){let l=e[a];if(o.test(`${l.value} ${l.label} ${l.searchindex}`)||s(l))return n=l,t=a,{done:false,value:l}}return {done:true,value:void 0}},[Symbol.iterator]:()=>r};return r},Qd=e=>`multihierarchySelector${e}`,Zd=(e,o)=>e&&typeof e=="string"?e.split(","):o;function qr(e){let{allLabel:o,asComparison:t,colorKey:n,data:s,defaultValue:i,defaultValueType:r,hideLabel:a,resetSectionVars:l,iconKey:c,id:p,levels:m,limit:f,placeholder:g,searchIndexKey:u,searchIndexSeparator:d,section:y,settings:w}=e,{print:S}=Je(),h=Qd(p),v=_n(p,y,h,t,l==="true"),P=t?`${h}-valueCompare`:`${h}-value`,H=t?`${h}-typeCompare`:`${h}-type`,O=useMantineTheme(),[F,I]=useState(false),[D,M]=useState(true),[x,A]=useState(""),[E,V]=useState(false),[B,L]=useState([""].slice(1)),[G,j]=useState([]),[ee,re]=useState(""),se=w[C.DISABLED]||false,Q=useMemo(()=>S?Array.from(new Set(s.filter(oe=>G.includes(oe[`${ee} ID`])))).map(oe=>oe?.[ee]).join(", "):"",[S]),q=a==="true"||!e.label?jsx(Fragment,{}):jsx(ne,{component:"div",html:e.label,size:"sm",style:w}),Z=useRef(null),J=useRef(false),W=useRef(!!f&&f<G.length),_=B.length,C$1=m[_],N=B.filter(Boolean);B.length>0&&N.length===0&&N.push(`${o} ${C$1?.label}`),useEffect(()=>{if(!se){let R=new URLSearchParams(window.location.search),oe=R.get(P)||i,te=R.get(H)||r;oe&&te?(j(Zd(oe,i)),re(te)):(j([]),re(""));}},[window.location.search,i,r,se]),useEffect(()=>{let R=()=>{M(true);};return window.addEventListener("touchmove",R),()=>{window.removeEventListener("touchmove",R);}},[]);let X=useMemo(()=>qd(s,m,n,c,u,d),[n,s,c,m,u,d]),z=useMemo(()=>{let R=Xd(x),oe=Array.from(Yd(X,R)).reverse();return E?oe:B.reduce((te,Ge)=>te.filter(be=>!Ge||be.searchindex.indexOf(Ge)>-1),oe.filter(te=>te.type===C$1?.value))},[C$1,X,x,E,B]),pe=useRef(null),ie=Rn({count:F?z.length:0,estimateSize:()=>30,getScrollElement:useCallback(()=>pe.current,[]),overscan:10,rangeExtractor:useCallback(R=>$o(R),[])}),[Se,he]=useState(-1),Ae=Math.min(Se,z.length-1),ae=useCallback(R=>{let oe=B.concat(R);E&&V(false),L(oe);},[E,B]),Xe=useCallback(()=>{let R=B.slice(0,_-1);E&&V(false),L(R);},[E,B,_]),_t=useCallback(R=>{A(R.currentTarget.value),!W.current&&s.length>0&&I(true);},[s,A,W,I]),Fe=useCallback(()=>{A(""),v([],""),Z.current?.focus(),f&&(W.current=false);},[A,v,Z,f,W]),Jt=useCallback(R=>{let oe=G.filter(te=>te!==R);oe.length>0?v(oe,ee):v([],""),f&&oe.length<f&&(W.current=false);},[G,ee,v,f,W]),eo=useCallback(R=>{ee!==R.type?v([R.value],R.type):G.includes(R.value)?Jt(R.value):f?(G.length<f&&v([...G,R.value],ee),G.length===f&&v([...G.slice(1),R.value],ee)):v([...G,R.value],ee),A("");},[v,ee,G,Jt,f]),Oo=useCallback(()=>{G.length>0&&x.length===0&&(v(G.slice(0,-1),ee),I(true),f&&(W.current=false)),x.length>0&&A(x.slice(0,-1));},[v,G,ee,x,A,I,f,W]),sr=useCallback(()=>{M(R=>R&&(J.current=R,!R)),he(R=>R+1>=z.length?R:R+1);},[he,z]),ir=useCallback(()=>{let R=z[Ae];R&&eo(R);},[z,Ae,eo]),ar=useCallback(()=>{I(false);},[I]),lr=useCallback(()=>{Xe(),he(0);},[he,Xe]),cr=useCallback(()=>{let R=z[Ae];!E&&R&&R.type!==m[m.length-1]?.value&&(ae(R.name),he(0));},[z,Ae,E,m,he,ae]),pr=useCallback(()=>{M(R=>R&&(J.current=R,!R)),he(R=>R-1<0?0:R-1);},[he]),ur=({label:R,onRemove:oe,...te})=>jsxs("div",{style:{alignItems:"center",backgroundColor:O.colorScheme==="dark"?O.colors.dark[7]:O.colors.gray[1],borderRadius:O.radius.sm,cursor:"default",color:O.colorScheme==="dark"?O.colors.dark[0]:O.colors.gray[7],display:"flex",fontSize:rem(12),fontWeight:500,height:rem(22),margin:`calc(${O.spacing.xs} / 2 - ${rem(2)}) calc(${O.spacing.xs} / 2)`,maxWidth:`calc(100% - ${rem(10)})`,paddingLeft:`calc(${O.spacing.sm} / 1.5)`,paddingRight:0,userSelect:"none"},...te,children:[jsx("span",{style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:R}),jsx(CloseButton,{"aria-hidden":true,iconSize:"70%",onMouseDown:oe,radius:2,size:"sm",sx:{color:O.colorScheme==="dark"?O.colors.dark[0]:O.colors.gray[7],marginLeft:`calc(${O.spacing.sm} / 6)`},tabIndex:-1})]}),$=useMemo(()=>G.map(R=>X.find(oe=>oe.value===R)).filter(R=>!!R).map((R,oe)=>createElement(ur,{...R,index:oe,label:R.label,key:R.value,onRemove:te=>{te.preventDefault(),te.stopPropagation(),Jt(R.value);}})),[G]),de=forwardRef(function({color:oe,icon:te,label:Ge,value:be,...dr},$c){return jsx("div",{ref:$c,style:{cursor:"pointer",width:"100%"},...dr,children:jsxs(Group,{align:"center",noWrap:true,spacing:"xs",w:"100%",children:[te&&jsx(Box,{bg:oe??"transparent",component:"img",w:20,h:20,src:te}),jsx(Text,{lineClamp:1,size:"sm",children:Ge||be})]})})});return jsxs(Fragment,{children:[jsx(MediaQuery,{query:"print",styles:{display:"none"},children:jsx(Input.Wrapper,{label:q,children:jsxs(Popover,{closeOnClickOutside:true,disabled:se,keepMounted:true,opened:F,onChange:I,onClose:()=>{he(0),A("");},onOpen:()=>{z.length>0&&ie.scrollToIndex(0);},shadow:"sm",width:"target",withinPortal:true,children:[jsx(Popover.Target,{children:jsxs(Box,{"aria-haspopup":"listbox",component:"div",onMouseLeave:()=>he(0),sx:{position:"relative","& .defaultValue":{backgroundColor:O.colorScheme==="dark"?O.colors.dark[5]:O.colors.gray[3],color:O.colorScheme==="dark"?O.colors.dark[1]:O.colors.gray[7]}},tabIndex:-1,children:[jsx("input",{type:"hidden",value:G.join(",")}),jsx(Input,{component:"div",disabled:se,multiline:true,onMouseDown:R=>{R.preventDefault(),!W.current&&s.length>0&&I(!F),Z.current?.focus();},rightSection:G.length>0?jsx(CloseButton,{disabled:se,onClick:Fe,onMouseDown:R=>R.preventDefault(),variant:"transparent"}):jsx(IconSelector,{color:O.colors.gray[6],size:18,stroke:1.5}),style:{overflow:"hidden"},w:"100%",children:jsxs(Box,{component:"div","data-clearable":true,sx:{alignItems:"center",boxSizing:"border-box",display:"flex",flexWrap:"wrap",marginLeft:`calc(-${O.spacing.xs} / 2)`,minHeight:`calc(${rem(36)} - ${rem(2)})`,"&[data-clearable]":{marginRight:rem(36)},"&::placeholder":{color:O.colorScheme==="dark"?O.colors.dark[3]:O.colors.gray[5],opacity:1}},children:[$,jsx("input",{autoComplete:"off","data-mantine-stop-propagation":F,onChange:_t,onKeyDown:getHotkeyHandler([["ArrowDown",sr],["ArrowLeft",lr],["ArrowRight",cr],["ArrowUp",pr],["Backspace",Oo],["Enter",ir],["Escape",ar]]),placeholder:G.length===0&&g||"",ref:Z,readOnly:W.current,style:{appearance:"none",backgroundColor:"transparent",border:0,color:"inherit",flex:1,fontSize:O.fontSizes.sm,marginLeft:`calc(${O.spacing.xs} / 2)`,maxHeight:rem(22),minWidth:rem(60),outline:0,padding:0},type:"search",value:x})]})})]})}),jsx(Popover.Dropdown,{onMouseDown:R=>R.preventDefault(),p:0,children:jsx("div",{style:{display:"flex",maxHeight:rem(300)},children:jsx(Box,{component:"div","data-combobox-popover":true,onMouseDown:R=>R.preventDefault(),role:"listbox",sx:{width:"100%"},tabIndex:-1,children:jsxs(Stack,{h:"100%",py:"xs",spacing:"xs",w:"100%",children:[m.length>1&&jsxs(Stack,{spacing:"xs",children:[jsxs(Group,{onClick:R=>{R.stopPropagation();},px:"xs",position:"center",spacing:"xs",children:[jsx(Button,{onClick:()=>{he(0),V(true),L([]),z.length>0&&ie.scrollToIndex(0);},size:"xs",variant:E?"filled":"outline",children:o}),m.map((R,oe)=>jsx(Button,{onClick:()=>{E&&V(false);let te=[""].slice(1),Ge=oe;for(;Ge--;)te[Ge]=B[Ge]||"";he(0),L(te),z.length>0&&ie.scrollToIndex(0);},size:"xs",variant:!E&&B.length===m.findIndex(te=>te.value===R?.value)?"filled":"outline",children:R?.label},R?.value))]}),jsx(Divider,{})]}),_>0&&jsxs(Group,{align:"center",noWrap:true,px:"xs",children:[jsx(ActionIcon,{onClick:Xe,size:"sm",children:jsx(IconChevronLeft,{})}),jsx("div",{children:N.map(R=>jsx(Text,{lineClamp:1,size:"xs",children:R},`${R}`))})]}),jsx(ScrollArea,{mah:250,onWheel:()=>M(true),px:"xs",style:{overflow:"auto",width:"100%"},viewportRef:pe,viewportProps:{tabIndex:-1},w:"100%",children:jsx("div",{style:{height:`${ie.getTotalSize()}px`,position:"relative",width:"100%"},children:ie.getVirtualItems().map(R=>{let oe=z[R.index],te=Ae===R.index,Ge=G.includes(oe.value);return z.length>0&&te&&!D&&ie.scrollToIndex(Ae),jsxs(Group,{"aria-selected":te,align:"center","data-hovered":te||void 0,"data-index":R.index,"data-selected":Ge,id:oe.vale,noWrap:true,onMouseEnter:be=>{be.preventDefault(),be.stopPropagation(),D&&(he(R.index),M(false));},onMouseMove:be=>{be.preventDefault(),be.stopPropagation(),M(true);},onMouseDown:be=>{be.preventDefault(),eo(oe);},position:"apart",ref:ie.measureElement,role:"option",spacing:"xs",sx:be=>({borderRadius:be.radius.xs,padding:"15px 5px 15px",paddingLeft:E&&10*m.findIndex(dr=>dr?.value===oe.type)||5,position:"absolute",top:0,left:0,height:`${R.size}px`,transform:`translateY(${R.start}px)`,width:"100%","&[data-hovered]":{backgroundColor:be.colorScheme==="dark"?be.colors.dark[4]:be.colors.gray[1]},"&:hover":{backgroundColor:be.colorScheme==="dark"?be.colors.dark[4]:be.colors.gray[1]}}),tabIndex:-1,children:[jsx(de,{index:R.index,...oe}),!E&&oe.type!==m[m.length-1]?.value&&jsx(ActionIcon,{onMouseDown:be=>{be.preventDefault(),be.stopPropagation(),ae(oe.name);},size:"sm",tabIndex:-1,children:jsx(IconChevronRight,{})})]},oe.value)})})})]})})})})]})})}),S&&jsxs(Text,{children:[q,": ",Q]})]})}var Ra=e=>o=>({display:"flex",gap:o.spacing.md,justifyContent:e,listStyleType:"none"}),rm=({contentOutline:e,showIcons:o,align:t})=>{let[n,s]=useState(null),i=b(),r=useCallback(l=>{i("nav_anchor_click",{anchorId:String(l.id),label:g(l.label)},{component:"Nav"});},[i]);useEffect(()=>{let l=()=>{let c=document.querySelector(".bespoke-nav");if(!c)return;let p=c.getBoundingClientRect(),m=false;e.forEach(f=>{let g=document.getElementById(`bespoke-title-${f.id}`);g&&g.getBoundingClientRect().top<=p.bottom&&(s(f.id),m=true);}),m||s(null);};return window.addEventListener("scroll",l),()=>{window.removeEventListener("scroll",l);}},[e]);let a=l=>!l||!l?.length?null:jsx(Fragment,{children:l.map(c=>jsxs(Fragment$1,{children:[jsx(Menu.Item,{children:jsx(Anchor,{href:`#bespoke-title-${c.id}`,children:jsxs(Group,{spacing:"sm",noWrap:true,children:[o&&jsx(ye,{...c.iconProps,iconSize:"sm"}),jsx(Text,{dangerouslySetInnerHTML:{__html:c.label}})]})})}),jsx(Box,{pl:"xs",children:a(c.children)})]},c.id))});return jsx(Fragment,{children:jsx(Box,{component:"nav",className:"bespoke-nav",children:jsx(List,{sx:l=>({display:"flex",gap:l.spacing.md,justifyContent:t,listStyleType:"none"}),children:e?.map(l=>jsx(List.Item,{children:jsxs(Menu,{trigger:"hover",openDelay:100,closeDelay:200,children:[jsx(Menu.Target,{children:jsx(Anchor,{href:`#bespoke-title-${l.id}`,"data-active":l.id===n,onClick:()=>r(l),children:jsxs(Group,{spacing:"sm",noWrap:true,children:[o&&jsx(ye,{...l.iconProps,iconSize:"sm"}),jsx(Text,{dangerouslySetInnerHTML:{__html:l.label}})]})})}),l?.children?.length?jsx(Menu.Dropdown,{children:a(l.children)}):null]})},l.id))})})})},Ma=({contentOutline:e,closeNav:o,showIcons:t,onNavClick:n})=>{let[s,i]=useState(null);return jsx(Stack,{children:e.map(r=>r.children.length?jsxs(Fragment,{children:[jsxs(Group,{spacing:0,noWrap:true,children:[jsx(UnstyledButton,{w:"100%",component:"a",onClick:()=>{n(r),o();},href:`#bespoke-title-${r.id}`,children:jsxs(Group,{spacing:"sm",noWrap:true,children:[t&&jsx(ye,{...r.iconProps,iconSize:"sm",iconPadding:"2"}),jsx(Text,{dangerouslySetInnerHTML:{__html:r.label}})]})},r.id),jsx(ActionIcon,{component:"a",size:"lg",onClick:()=>i(a=>a===r.id?null:r.id),children:jsx(IconChevronDown,{style:{transition:"transform 0.2s",transform:s===r.id?"rotate(-180deg)":"none"},stroke:1})})]},r.id),jsx(Collapse,{in:s===r.id,pl:"sm",transitionTimingFunction:"linear",transitionDuration:200,children:jsx(Ma,{contentOutline:r.children,closeNav:o,showIcons:t,onNavClick:n})})]}):jsx(Group,{noWrap:true,children:jsx(UnstyledButton,{display:"flex",w:"100%",component:"a",href:`#bespoke-title-${r.id}`,onClick:()=>n(r),children:jsxs(Group,{spacing:"sm",noWrap:true,children:[t&&jsx(ye,{...r.iconProps,iconSize:"sm"}),jsx(Text,{dangerouslySetInnerHTML:{__html:r.label}})]})},r.id)},r.id))})},sm=({contentOutline:e,showIcons:o,titleElement:t,wrapper:n,onNavClick:s})=>{let[i,{toggle:r}]=useDisclosure(false),a=i?"Close content outline":"Open content outline";return jsxs(Box,{className:"bespoke-mobile-nav",component:"nav",children:[jsxs(n.element,{className:"bespoke-mobile-nav-header",...n.props,onClick:r,children:[t&&t,jsx(ActionIcon,{className:"bespoke-mobile-nav-toggle","aria-label":a,size:"lg",variant:"subtle",children:i?jsx(IconChevronUp,{size:"xl",stroke:1.5}):jsx(IconChevronDown,{size:"xl",stroke:1.5})})]}),jsx(Collapse,{in:i,mt:"md",className:"bespoke-mobile-nav-body",children:jsx(Ma,{contentOutline:e,closeNav:r,showIcons:o,onNavClick:s})})]})},im=({contentOutline:e,showIcons:o,align:t})=>{let[n,s]=useState(null),[i,r]=useState(null),a=b(),l=useCallback(p=>{a("nav_anchor_click",{anchorId:String(p.id),label:g(p.label)},{component:"Nav"});},[a]);useEffect(()=>{let p=()=>{let m=document.querySelector(".bespoke-nav");if(!m)return;let f=m.getBoundingClientRect(),g=false;e.forEach(u=>{let d=document.getElementById(`bespoke-title-${u.id}`);d&&(d.getBoundingClientRect().top<=f.bottom&&(s(u.id),r(null),g=true),u.children.forEach(w=>{let S=document.getElementById(`bespoke-title-${w.id}`);S&&S.getBoundingClientRect().top<=f.bottom&&(r(w.id),s(u.id),g=true);}));}),g||(s(null),r(null));};return window.addEventListener("scroll",p),()=>{window.removeEventListener("scroll",p);}},[e]);let c=p=>!p||!p?.length?null:jsx(Fragment,{children:p.map(m=>jsxs(Fragment$1,{children:[jsx(Menu.Item,{children:jsx(Anchor,{href:`#bespoke-title-${m.id}`,onClick:()=>l(m),children:jsxs(Group,{spacing:"sm",noWrap:true,children:[o&&jsx(ye,{...m.iconProps,iconSize:"sm"}),jsx(Text,{dangerouslySetInnerHTML:{__html:m.label}})]})})}),jsx(Box,{pl:"xs",children:c(m.children)})]},m.id))});return jsxs(Box,{component:"nav",className:"bespoke-nav",children:[jsx(List,{className:"bespoke-nav-level1",sx:Ra(t),children:e?.map(p=>jsx(List.Item,{children:jsx(Anchor,{href:`#bespoke-title-${p.id}`,"data-active":n===p.id,onClick:()=>{l(p),s(p.id);},children:jsxs(Group,{spacing:"sm",noWrap:true,children:[o&&jsx(ye,{...p.iconProps,iconSize:"sm"}),jsx(Text,{dangerouslySetInnerHTML:{__html:p.label}})]})})},p.id))}),n&&e.find(p=>p.id===n)?.children.length>0&&jsx(List,{className:"bespoke-nav-level2",sx:Ra(t),children:e.find(p=>p.id===n)?.children.map(p=>jsx(List.Item,{children:jsxs(Menu,{trigger:"hover",openDelay:100,closeDelay:200,children:[jsx(Menu.Target,{children:jsx(Anchor,{href:`#bespoke-title-${p.id}`,"data-active":p.id===i,onClick:()=>l(p),children:jsxs(Group,{spacing:"sm",noWrap:true,children:[o&&jsx(ye,{...p.iconProps,iconSize:"sm"}),jsx(Text,{dangerouslySetInnerHTML:{__html:p.label}})]})})}),p?.children?.length?jsx(Menu.Dropdown,{children:c(p.children)}):null]})},p.id))})]})};function Yr({headings:e,settings:o,type:t,title:n,shortTitle:s,_iconType:i,_iconVariant:r,_icon:a,_iconRadius:l,_iconSize:c,_iconPadding:p}){let{min:m="1",max:f="6",icons:g$1="yes"}=o||{},u=Ft(parseInt(m,10),parseInt(f,10),e),d=b(),y=useCallback(j=>{d("nav_anchor_click",{anchorId:String(j.id),label:g(j.label)},{component:"Nav"});},[d]),w=g$1==="yes",S=ke(n)||"",h=ke(s||n)||"",v=S&&S.length>0,P=i&&i!=="none",O=`(max-width: ${useMantineTheme().breakpoints.md})`,F=useMediaQuery(O),I=F?h:S,D=o&&o.align?String(o.align):"left",M=bo(D),x=Me(D),A=je(D),E=o&&o.titlePosition?String(o.titlePosition):"left",V=useMemo(()=>{let j={right:"left",left:"right"},ee=v&&["left","right"].includes(E),re={};if(ee){let se=E==="right";re={spacing:"xs",position:se&&j[x]?j[x]:x,style:{flexDirection:se?"row-reverse":"row"},noWrap:true};}else re={spacing:"xs",align:A,justify:"center",style:{flexDirection:E==="bottom"?"column-reverse":"column"}};return {element:ee?Group:Stack,props:re}},[v,x,A,E]),B=useMemo(()=>v?jsxs(Group,{spacing:"xs",position:x,noWrap:true,children:[P&&jsx(ye,{blockType:"title",iconType:i,iconVariant:r,iconRadius:l,iconSize:c,icon:a,iconPadding:p}),jsx(ne,{style:{...o},html:I,lineClamp:1})]}):null,[v,P,x,I]),L=useMemo(()=>F?jsx(sm,{contentOutline:u,showIcons:w,titleElement:B,wrapper:V,onNavClick:y}):null,[F,B,V,y]),G=useMemo(()=>F?null:t==="multilevel"?jsx(im,{contentOutline:u,showIcons:w,align:M}):jsx(rm,{contentOutline:u,showIcons:w,align:M}),[u,w,M,F]);return jsxs(Fragment,{children:[F&&L,!F&&jsxs(V.element,{pos:"relative",...V.props,children:[v&&B,G]})]})}function Jr(e){let{related_reports:o,settings:t}=e,n=va$1(g=>g.status.currentLocale),s=va$1(g=>g.status.localeDefault),i=Qa(),r=useRouter(),{components:a}=we(),l=b();if(!o?.length)return;let c=n===s?"":`/${n}`,p=g=>{r.push(`${g}`);},m=a?.ReportTile?a.ReportTile:Zr,f=je(t&&t.align?String(t.align):"center");return jsx(Grid,{justify:f,children:o.map(g=>{let u=`${c}${i}${g.link}`,d=g.entities.map(v=>({original_id:v.id,name:v.name,id:v.content_id,variant:v.variant_name,variant_id:v.variant_id,dimension:v.dimension_name,dimension_id:v.dimension_id,image:{src:`/api/cms/member/image?member=${v.content_id}&size=thumb`,alt:v.name}})),y=g.entities.map(v=>v.id).join("-"),w=g.entities.map(v=>v.name).join(" & "),S=g.entities[0]?g.entities[0].report_id:null,h=v=>{v.preventDefault(),l("related_report_clicked",{url:u,reportId:S,reportName:w,members:d.map(P=>({id:P.original_id,name:P.name,variantId:P.variant_id,variantName:P.variant,dimensionId:P.dimension_id,dimensionName:P.dimension}))},{component:"Related"}),p(u);};return jsx(Grid.Col,{xs:12,sm:6,md:4,lg:4,xl:3,children:jsx(m,{reportId:S,reportName:w,members:d,href:u,onClick:h})},y)})})}function es({id:e,label:o,settings:t,showIcon:n,fullWidth:s,showWhenDisabled:i}){let r=Fa(e).data,{sectionVariables:a,resetSectionVariables:l}=Va(r?.section_id),c=b(),p=!!Object.keys(a).length,m=je(t&&t.align?t.align:"left"),f=()=>{c("section_reset",{sectionId:r?.section_id},{component:"ResetButton"}),l();};return !p&&!i?null:jsx(Button,{onClick:f,disabled:!p,fullWidth:s,sx:{justifySelf:m},children:jsxs(Group,{align:"center",children:[o,n&&jsx(IconRefresh,{})]})})}function ts({settings:e,label:o,removeLabel:t,showIcon:n,position:s="center",asComparison:i=false}){let r=va$1(v=>v.records.entities.report),a=va$1(v=>v.variables.attributes),l=e&&e.search?e.search:"inline",c=Object.values(r)[0].settings,p=useRouter(),m=b(),{comparisonLoaded:f,loading:g}=Ue(),u=Object.keys(p.query).includes("compare"),y=f&&u?jsx(Button,{onClick:()=>{let v=p.query.compare;m("comparison_remove",{previousPath:v},{component:"ComparisonButton"});let P={...p.query};delete P.compare,p.push({pathname:p.pathname,query:P},void 0,{shallow:true});},rightIcon:jsx(IconX,{}),children:t||"Remove Comparison"}):jsx(Button,{loading:g,children:jsxs(Group,{align:"center",children:[o||"Add Comparison",n&&jsx(IconPlus,{})]})}),w={searchReportParams:{report:[Number(Object.keys(r)[0])],variant:c.compareLevels?[]:[a.variant_id1]}},h=vo(y,l,v=>{m("comparison_add",{reportPath:v.reportPath,memberName:v.value},{component:"ComparisonButton"}),p.push({pathname:p.pathname,query:{...p.query,compare:v.reportPath}});},w);return i?null:jsx(Group,{position:s,children:u?y:h})}function ns({columns:e=[],data:o=[],tableProps:t={},sectionId:n=null}){let[s,i]=useState(false),[r,a]=useState({}),l=useMemo(()=>e.map(f=>f.accessorKey),[e]),c=useMemo(()=>o.filter(f=>typeof f=="object"&&f!==null&&!Array.isArray(f)&&Object.keys(f).some(g=>l.includes(g))),[l,o]),p=useMemo(()=>e.map(f=>({...f,Cell:({renderedCellValue:g})=>jsx(ne,{html:`${g}`}),filterFn:"contains"})),[e]),{locale:m}=useRouter();return useEffect(()=>{(async()=>{try{let g=m||"en",u=`${g.toUpperCase()}`,d=await import(`mantine-react-table/locales/${g}.js`);a(d[`MRT_Localization_${u}`]);}catch(g){console.error("Error loading translations:",g);}})();},[m]),jsx(MantineReactTable,{...t,autoResetPageIndex:false,columns:p,data:c,enableColumnFilterModes:true,enableFilterMatchHighlighting:false,globalFilterFn:"contains",layoutMode:"grid",localization:r,onIsFullScreenChange:f=>{let g=document.getElementById(`section-${n}`);g&&(f?g.style.zIndex="10":g.style.zIndex="1"),i(f);},state:{...t.state,isFullScreen:s}})}function rs({label:e,url:o,settings:t}){let{align:n}=t;return e?jsx(Group,{position:n,grow:n==="justify",children:jsx(Button,{component:"a",target:"_blank",href:o||"",children:e||"Button"})}):null}function Cm({block:e}){let{id:o}=e;return jsxs(Stack,{align:"center",spacing:"sm",children:[jsx(ThemeIcon,{radius:"md",size:100,children:jsx(IconCircleKey,{size:100})}),jsxs(Title,{order:5,children:["Private content (Block ",o,")"]}),jsx(Text,{children:"Sorry, you do not have sufficient permissions to view this block."}),jsx(Text,{children:"Contact your account manager to check your access role."})]})}var Im=()=>{let{components:e}=we(),o=Cm;return e?.CustomFallback&&(o=e.CustomFallback),o};function ss(e){let o=Im();return jsx(o,{block:e})}function we(){return useMantineTheme().other.bespokeStyles??{}}function Rm({block:e}){let{id:o}=e;return jsxs(Grid,{className:"bespoke-client-side-section-skeleton","data-section-skeleton-id":o,children:[jsx(Grid.Col,{md:3,lg:4,children:jsxs(Stack,{children:[jsx(Skeleton,{height:20}),jsx(Skeleton,{height:10}),jsx(Skeleton,{height:10}),jsx(Skeleton,{height:10})]})}),jsx(Grid.Col,{md:9,lg:8,children:jsx(Skeleton,{height:"100%"})})]})}var Am=()=>{let{components:e}=we(),o=Rm;return e?.CustomSkeleton&&(o=e.CustomSkeleton),o};function as(e){let o=Am();return jsx(o,{block:e})}var Om=Lm(()=>import('./Viz-NHK4OHO2.js'),{ssr:false}),Bm={[z.PARAGRAPH]:Nr,[z.STAT]:Dr,[z.SUBTITLE]:zr,[z.TITLE]:Vr,[z.SELECTOR]:Hr,[z.VIZ]:Om,[z.GENERATOR]:Pn,[z.SECTION_FLAG]:Pn,[z.IMAGE]:Ur,[z.NAV]:Yr,[z.RELATED]:Jr,[z.RESET_BUTTON]:es,[z.COMPARISON_BUTTON]:ts,[z.TABLE]:ns,[z.BUTTON]:rs,[z.MULTIHIERARCHY_SELECTOR]:qr,[z.FALLBACK]:ss,[z.SKELETON]:as},Ka=Bm;var _m=(e,o)=>{let t=e.allLabel||"All",n=e.colorKey||"",s=e.data||[],i=e.hideLabel||"false",r=e.resetSectionVars||"false",a=e.iconKey||"",l=e.label||"Unlabeled Multihierarchy Selector",c=e.levels||[],p=e.limit||void 0,m=e.placeholder||"",f=e.searchIndexKey||"",g=e.searchIndexSeparator||"",u,d;return e.defaultValue&&e.defaultValueType&&(u=e.defaultValue,d=e.defaultValueType),(!u||!d)&&(u=[],d=""),{allLabel:t,colorKey:n,data:s,defaultValue:u,defaultValueType:d,hideLabel:i,resetSectionVars:r,iconKey:a,id:o,label:l,levels:c,limit:p,placeholder:m,searchIndexKey:f,searchIndexSeparator:g}},qa=_m;var Nm=e=>Array.isArray(e)?e.map(o=>typeof o=="string"?{id:o,label:o}:o):[],Xa=(e,o)=>o===x.MULTI&&!Array.isArray(e)?[e]:e,Mm=(e,o)=>{let t=e.type||x.SINGLE,n=e.component||"Selector",s=e.hideLabel||"false",i=e.resetSectionVars||"false",r=e.name||"Unlabeled Selector",a=Nm(e.options||[]),l;if(e.defaultValue){let c=Xa(e.defaultValue,t);K(t,c,a)&&(l=c);}if(!l){let c=a&&a[0]&&a[0].id||a[0]||"";l=Xa(c,t);}return {id:o,name:r,type:t,options:a,component:n,defaultValue:l,hideLabel:s,resetSectionVars:i}},Ya=Mm;var Dm={[z.SELECTOR]:Ya,[z.MULTIHIERARCHY_SELECTOR]:qa},qo=Dm;function cs({paragraph:e,tooltip:o,settings:t}){return jsx(ne,{component:"p",html:e||`Lorem ipsum dolor sit amet,
7
+ consectetur adipiscing elit. Etiam justo purus, placerat ac turpis at,
8
+ dignissim interdum eros. Curabitur non tincidunt libero.
9
+ Suspendisse quis nibh in massa tincidunt feugiat sit amet vitae nisl.
10
+ In pulvinar sapien ut tincidunt volutpat. Donec auctor tellus eu augue feugiat,
11
+ a viverra sapien pulvinar.`,style:t,append:o?jsx(Le,{content:o,style:{display:"inline-block",verticalAlign:"bottom"}}):jsx(Fragment,{}),isPreview:true})}function ps({subtitle:e,title:o,value:t,tooltip:n,settings:s,_iconType:i,_iconVariant:r,_icon:a,_iconRadius:l,_iconSize:c,_iconPadding:p}){let m=o||"<span class='cr-block-placeholder'>Title</span>",f=t||"<span class='cr-block-placeholder'>Big Stat</span>",g=e||"<span class='cr-block-placeholder'>Subtitle</span>",u=s&&s.align||"left";return jsx("div",{className:"bespoke-Stat-root",children:jsxs(Group,{className:"bespoke-StatGroup-wrapper",position:Me(u),children:[i!=="none"&&i&&jsx(ye,{blockType:"stat",iconType:i,iconVariant:r,iconRadius:l,iconSize:c,icon:a,iconPadding:p}),jsxs("div",{className:"bespoke-Stat-wrapper",children:[jsx(ne,{component:"div",size:"md",html:m,style:s,isPreview:true}),jsx(ne,{component:"div",size:"xl",html:f,style:s,isPreview:true}),jsx(ne,{component:"div",size:"sm",html:g,style:s,isPreview:true})]},"stat"),n&&jsx(Le,{content:n})]})})}function us({subtitle:e,tooltip:o,settings:t}){let n=ke(e)||"<span class='cr-block-placeholder'>Small subtitle.</span>",s=t&&t.align?t.align:"left";return jsxs(Group,{spacing:"sm",position:Me(s),children:[jsx(ne,{size:"sm",html:n,isPreview:true}),o&&jsx(Le,{content:o,style:{display:"inline-flex"}})]})}function ds({title:e,tooltip:o,_iconType:t,_iconVariant:n,_icon:s,settings:i,_iconRadius:r,_iconSize:a,_iconPadding:l}){let c=ke(e)||"Title",p=i&&i.order?parseInt(i.order,10):1,m=p<=6?p:1,f=!!(i&&i.search&&i.search!=="off"),g=i&&i.search?i.search:"",u=i&&i.align?i.align:"left";return jsxs(Group,{spacing:"sm",position:Me(u),children:[t!=="none"&&t&&jsx(ye,{blockType:"title",iconType:t,iconVariant:n,iconRadius:r,iconSize:a,icon:s,iconPadding:l}),jsx(ne,{component:"h",order:m,style:i,html:c,isPreview:true}),f&&jsx(Tooltip,{label:`Click will open '${g}' report search`,children:jsx(ActionIcon,{variant:"light",children:jsx(IconSearch,{size:20})})}),o&&jsx(Le,{content:o})]})}var of=e=>`selector${e}id`,nf=(e,o)=>e&&typeof e=="string"?e.split(","):o,rf=forwardRef(function({imageUrl:o,label:t,...n},s){return jsx("div",{ref:s,...n,children:jsxs(Group,{noWrap:true,children:[o&&jsx(Box,{component:"img",w:25,h:25,src:o}),jsx("div",{children:jsx(Text,{size:"sm",children:t})})]})})});function gs(e){let{id:o,type:t,defaultValue:n,options:s,name:i,settings:r,hideLabel:a,component:l,resetSectionVars:c,section:p}=e,m=useDispatch(),f=useContext(db$1),g=a$1(),u=va$1(x=>x.status.query),{sectionVariables:d,resetSectionVariables:y$1}=Va(p),w=of(o),S=useMemo(()=>u[w]||n,[u[w],t,n]),h=useMemo(()=>nf(u[w],n),[u[w],t,n]),[v,P]=useState(s?.map(x=>({value:x.id,label:x.label,imageUrl:x.imageUrl}))||[]),[H,O]=useState((s||[]).map(x=>x.id).join("-"));useEffect(()=>{let x$1=s.map(V=>`${V.label}|${V.id}`).join("-");if(H===x$1)return;O(x$1);let A=s.map(V=>({value:V.id,label:V.label}));P(A);let E=t===x.SINGLE?S:h;K(t,E,s)||m(na$1(f,w,g));},[JSON.stringify(s),o]);let F=()=>{c==="true"&&d&&y$1();},I=x=>{m(oa(f,w,x,g)),F();},D=x=>{m(oa(f,w,x.join(),g)),F();},M=a==="true"?jsx(Fragment,{}):jsx(ne,{component:"div",html:i,size:"sm",style:r,isPreview:true});return v.length===0?jsx(Text,{c:"dimmed",size:"xs",children:"No options defined yet. Selector hidden in report."}):v.length===1?jsxs(Text,{c:"dimmed",size:"xs",children:["Only one option defined. Selector hidden in report. ",JSON.stringify(v)]}):{[x.SINGLE]:l===y.SEGMENTED_CONTROL?jsxs("div",{children:[M,jsx(SegmentedControl,{data:v,value:v.map(x=>x.value).includes(S)?S:"",onChange:I,fullWidth:true})]}):jsx(Select,{label:M,data:v,value:S,onChange:I,itemComponent:rf,styles:{label:{display:a==="true"?"none":"block"}}}),[x.MULTI]:jsx(MultiSelect,{label:M,data:v,value:h,onChange:D,styles:{label:{display:a==="true"?"none":"block"}}})}[t]}var bs=e=>{let o=typeof e;if(o==="object"){if(e===null)return "undefined";Array.isArray(e)?o="array":["Error","EvalError","ReferenceError","SyntaxError"].includes(e.constructor.name)&&(o="error");}return o},tl=["object","array","string","number"],vs=5;function ys({dimmed:e=false,label:o,root:t=true,value:n,parentIsArray:s=false,level:i=0}){let r=useMantineTheme();if(i===vs)return null;let a=jsx(Text,{lineClamp:1,size:"xs",variant:"dimmed",p:5,children:"[Max depth hitted for preview]"}),l=bs(n),c=n,p=JSON.stringify(c),m=100,f=1e3,g=!!(p&&p.length>m),u=10,d={control:{padding:"5px 0px 5px 5px"},label:{padding:"5px 0px"},content:{paddingTop:0,paddingBottom:0,paddingRight:0}};if(l==="object")return jsx(Accordion,{className:"cr-variable-accordion",variant:"contained",styles:d,children:jsxs(Accordion.Item,{value:"label",children:[jsx(Accordion.Control,{children:jsx(Text,{lineClamp:1,size:"xs",weight:700,color:e?"dimmed":r.primaryColor,children:t?`{{${o}}}`:s?`[${o}]`:o})}),jsx(Accordion.Panel,{children:i+1<vs?Object.keys(n).sort((y,w)=>{let S=bs(n[y]),h=bs(n[w]);return S!==h?tl.indexOf(S)-tl.indexOf(h):y.localeCompare(w)}).map(y=>jsx(ys,{root:false,label:y,value:n[y],level:i+1},y)):a})]})});if(l==="array"){let y=n.length>u,w=y?n.slice(0,u):n,S=y?n.length-u:0;return jsx(Accordion,{className:"cr-variable-accordion",variant:"contained",styles:d,children:jsxs(Accordion.Item,{value:"label",children:[jsx(Accordion.Control,{children:jsx(Text,{lineClamp:1,size:"xs",weight:700,p:0,color:e?"dimmed":r.primaryColor,children:t?`{{${o}}}`:s?`[${o}]`:o})}),jsxs(Accordion.Panel,{children:[i+1<vs?w.map((h,v)=>jsx(ys,{root:false,label:v,value:h,level:i+1,parentIsArray:true},v)):a,y&&jsxs(Text,{lineClamp:1,size:"xs",variant:"dimmed",p:5,children:["[+ ",S," other elements]"]})]})]})})}return l==="string"?c=g?`"${c.substring(0,m)} ... "`:`"${c}"`:l==="error"?c=`Error: ${c.message}`:l==="undefined"?c=l:c.toString&&(c=c.toString()),jsxs(Group,{noWrap:true,spacing:0,children:[jsx(Text,{color:e?"dimmed":r.primaryColor,lineClamp:1,size:"xs",pl:5,style:{overflow:"visible",wordBreak:"keep-all",whiteSpace:"nowrap"},weight:700,children:t?`{{${o}}}`:s?`[${o}]`:o}),jsx(Prism,{className:"cr-variable",language:"jsx",noCopy:true,scrollAreaComponent:"div",styles:{root:{flex:"1 1 100%",textAlign:"right",overflow:"hidden"},code:{padding:"5px 0 5px 5px"},scrollArea:{marginLeft:"5px"},line:{paddingRight:"5px"}},children:c}),g&&jsxs(HoverCard,{width:500,shadow:"md",withinPortal:true,children:[jsx(HoverCard.Target,{children:jsx(ActionIcon,{children:jsx(IconCodePlus,{})})}),jsx(HoverCard.Dropdown,{w:500,children:jsx(Text,{size:"sm",maw:"100%",style:{wordBreak:"break-all",whiteSpace:"pre-wrap",overflowWrap:"break-word"},children:p.substring(0,f)})})]})]})}var ol=ys;var nl=e=>o=>o.replace(new RegExp(`^${e}`),"").startsWith("_");function ff({reserved:e=[],id:o,variables:t={},showInternal:n=false}){let i=Fa(o==="attributes"?null:o).data,r=i?i.type:"block",a=i?.type&&i?.id?`${i.type}${i.id}`:"",l=Object.keys(t).filter(n?()=>true:c=>!nl(a)(c));return jsx(Stack,{spacing:0,children:l.length?l.map(c=>jsx(ol,{dimmed:e.includes(c),label:c,value:t[c]},c)):jsx(Text,{color:"dimmed",size:"xs",children:jsx("i",{children:`empty ${r}`})})})}var rl=ff;function kf({outputVariables:e,status:o,hasAPI:t=false,debug:n,type:s}){let[i,r]=useState(false),a=t&&!Object.keys(e).length&&!o.error,l=Object.keys(e).some(p=>p.startsWith("_"));return n?a?jsxs(Stack,{align:"center",children:[jsx(Loader,{}),jsxs(Text,{size:"sm",children:["Loading ",s]})]}):jsxs(Fragment,{children:[jsx(Divider,{label:"Output Variables",labelPosition:"center"}),l&&jsx(Switch,{label:"Show internal variables",mb:"xs",size:"xs",checked:i,onChange:p=>r(p.currentTarget.checked)}),jsx(rl,{variables:e,showInternal:i})]}):jsx(Center,{children:jsx(Badge,{color:"gray",variant:"outline",children:s.toUpperCase()},"type")})}var xs=kf;function Ts(e){let{alt:o,src:t,desc:n,title:s,settings:i,...r}=e,a=ke(o),l=ke(t),c=ke(n),p=jsx("img",{src:l,alt:a,style:r}),m=i&&i.align?String(i.align):"left";return (c&&c.length||s&&s.length)&&(p=jsxs(Stack,{className:"bespoke-Image-wrapper",align:je(m),spacing:"sm",children:[s&&jsx(ne,{component:"p",html:s,style:i,isPreview:true}),p,n&&jsx(ne,{component:"p",size:"sm",html:n,style:i,isPreview:true})]})),l&&a?p:jsx(Center,{mih:100,bg:"white",children:jsx(Badge,{color:"gray",variant:"outline",children:"IMAGE"},"type")})}function Cs({headings:e,settings:o,title:t,shortTitle:n,_iconType:s,_iconVariant:i,_icon:r,_iconRadius:a,_iconSize:l,_iconPadding:c}){let{min:p="1",max:m="6",icons:f="yes"}=o||{},g=ke(t)||"",u=ke(n||t)||"",d=g&&g.length>0,y=s&&s!=="none",w=u===g?`${g}`:`${g} (${u})`,S=Ft(parseInt(p,10),parseInt(m,10),e),h=f==="yes",v=o&&o.align?String(o.align):"left",P=bo(v),H=Me(v),O=je(v),F=o&&o.titlePosition?String(o.titlePosition):"left",I=useMemo(()=>{let M={right:"left",left:"right"},x=d&&["left","right"].includes(F),A={};if(x){let E=F==="right";A={spacing:"xs",position:E&&M[H]?M[H]:H,style:{flexDirection:E?"row-reverse":"row"},noWrap:true};}else A={spacing:"xs",align:O,justify:"center",style:{flexDirection:F==="bottom"?"column-reverse":"column"}};return {element:x?Group:Stack,props:A}},[d,H,O,F]),D=M=>!M||!M?.length?null:jsx(Fragment,{children:M.map(x=>jsxs(Fragment$1,{children:[jsx(Menu.Item,{children:jsx(Anchor,{href:`#bespoke-title-${x.id}`,children:jsxs(Group,{spacing:"sm",children:[h&&jsx(ye,{...x.iconProps,iconSize:"sm"}),jsx(Text,{dangerouslySetInnerHTML:{__html:x.label}})]})})},x.id),jsx(Box,{pl:"xs",children:D(x.children)})]},x.id))});return jsxs(I.element,{pos:"relative",...I.props,children:[d&&jsxs(Group,{spacing:"xs",position:H,noWrap:true,children:[y&&jsx(ye,{blockType:"title",iconType:s,iconVariant:i,iconRadius:a,iconSize:l,icon:r,iconPadding:c}),jsx(ne,{style:o,html:w,isPreview:true,lineClamp:1})]}),jsxs(List,{sx:M=>({display:"flex",gap:M.spacing.md,justifyContent:P,alignItems:"center",listStyleType:"none"}),children:[S?.map(M=>jsx(List.Item,{children:jsxs(Menu,{trigger:"hover",openDelay:100,closeDelay:400,children:[jsx(Menu.Target,{children:jsx(Anchor,{href:`#bespoke-title-${M.id}`,children:jsxs(Group,{spacing:"sm",noWrap:true,children:[h&&jsx(ye,{blockType:"nav",...M.iconProps,iconSize:"sm",iconPadding:"2"}),jsx(Text,{dangerouslySetInnerHTML:{__html:M.label}})]})})}),M?.children?.length?jsx(Menu.Dropdown,{children:D(M.children)}):null]})},M.id)),!S||S.length===0&&jsx(List.Item,{children:jsx(Text,{color:"dimmed",children:"- Include some titles as inputs to see the Nav component -"})})]})]})}function Ps(e){let{related_reports:o,settings:t}=e;if(!o?.length)return jsx(Text,{children:"There are no available members related to your current selection and report."});let n=bo(t&&t.align?String(t.align):"left");return jsx(List,{sx:()=>({display:"flex",justifyContent:n,"& li":{marginRight:"1rem"}}),children:o.map(s=>jsx(List.Item,{children:s.entities.map(i=>i.name).join(" & ")},s.link))})}function Rs({id:e,label:o,settings:t,showIcon:n,fullWidth:s,showWhenDisabled:i}){let r=Fa(e).data,{sectionVariables:a,resetSectionVariables:l}=Va(r?.section_id),c=!!Object.keys(a).length,p=je(t&&t.align?t.align:"left");return jsxs(Stack,{align:p,children:[!c&&!i&&jsx(Text,{size:"xs",ta:t?.align||"left",children:"Reset button will not be shown on its disabled state"}),jsx(Button,{onClick:()=>l(),disabled:!c,fullWidth:s,children:jsxs(Group,{align:"center",children:[o,n&&jsx(IconRefresh,{})]})})]})}function As({settings:e,label:o,showIcon:t,position:n="center"}){let s=e&&e.search?e.search:"";return jsxs(Group,{position:n,children:[jsx(Tooltip,{label:`Click will open '${s}' report search`,children:jsx(Button,{children:jsxs(Group,{align:"center",children:[o||"Comparison Button",t&&jsx(IconPlus,{})]})})}),jsx(ActionIcon,{variant:"light",children:jsx(IconSearch,{size:20})})]})}function Os({columns:e=[],id:o,data:t=[],tableProps:n={}}){let[s,i]=useState({}),{initialState:r}=n,a=r?.pagination?.pageIndex,l=r?.pagination?.pageSize,c=`table-${[o,a,l].filter(u=>u).join("-")}`,p=useMemo(()=>e.map(u=>u.accessorKey),[e]),m=useMemo(()=>t.filter(u=>typeof u=="object"&&u!==null&&!Array.isArray(u)&&Object.keys(u).some(d=>p.includes(d))),[p,t]),f=useMemo(()=>e.map(u=>({...u,Cell:({renderedCellValue:d})=>jsx(ne,{html:`${d}`,isPreview:true}),filterFn:"contains"})),[e]),g=_a();return useEffect(()=>{(async()=>{try{let d=g||"en",y=`${d.toUpperCase()}`,w=await import(`mantine-react-table/locales/${d}.js`);i(w[`MRT_Localization_${y}`]);}catch(d){console.error("Error loading translations:",d);}})();},[g]),createElement(MantineReactTable,{...n,autoResetPageIndex:false,columns:f,data:m,enableColumnFilterModes:true,enableFilterMatchHighlighting:false,globalFilterFn:"contains",key:c,layoutMode:"grid",localization:s,state:{...n.state,isFullScreen:false}})}function Bs({label:e,url:o,settings:t}){let{align:n}=t;return jsx(Group,{position:n,grow:n==="justify",children:jsx(Button,{component:"a",target:"_blank",href:o||"",children:e||"Button"})})}var pg=(e=[],o=[],t="",n="",s="",i="|")=>{let r=o.map(d=>d.value).slice(),a=`${r.pop()}`,l=d=>d[t],c=d=>d[n],p=d=>{if(d[s])return typeof d[s]=="string"?d[s].split(i):d[s]},m=new Set,f=[],g=[],u=nest().rollup(d=>{let y=d[0],w=I=>I&&I.value&&!m.has(I.value),S=r.map(I=>y[`${I} ID`]),h=r.map(I=>y[I]),v=r.map((I,D)=>{if(g[D]!==h[D]){g[D]=h[D];let M=l[D]||l[l.length-1]||l,x=c[D]||c[c.length-1]||c,A=p[D]||p[p.length-1]||p;return {color:M(y,I)||void 0,icon:x(y,I)||void 0,value:`${S[D]}`,label:h[D],name:h[D],type:I,searchindex:h.slice(0,D+1).concat(A(y,I)).join("|")}}return {}}).filter(w);v.forEach(I=>m.add(I.value));let P=l[l.length-1]||l,H=c[c.length-1]||c,O=p[p.length-1]||p,F=d.map(I=>({color:P(I,a)||void 0,icon:H(I,a)||void 0,value:`${I[`${a} ID`]}`,label:I[a],name:I[a],type:a,searchindex:h.concat(I[a]).concat(O(I,a)).join("|")}));f.push(...v.concat(F));});return r.forEach(d=>{u.key(y=>`${y[`${d} ID`]}|${y[d]}`);}),u.entries(e),f},ug=e=>{if(!e)return /./i;let o=e.normalize("NFD").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g,"[^|]+");return RegExp(o,"i")},dg=(e,o)=>{let t=e.length,n,s=a=>n&&n.searchindex.includes(a.searchindex),r={next:()=>{for(let a=t-1;a>-1;a--){let l=e[a];if(o.test(`${l.value} ${l.label} ${l.searchindex}`)||s(l))return n=l,t=a,{done:false,value:l}}return {done:true,value:void 0}},[Symbol.iterator]:()=>r};return r},mg=e=>`multihierarchySelector${e}`,fg=(e,o)=>e&&typeof e=="string"?e.split(","):o;function Ns(e){let o=useDispatch(),t=useContext(db$1),n=a$1(),s=va$1($=>$.status.query),i=mg(e.id),r=useMantineTheme(),{allLabel:a,colorKey:l,data:c,defaultValue:p,defaultValueType:m,iconKey:f,levels:g,limit:u,placeholder:d,searchIndexKey:y,searchIndexSeparator:w,resetSectionVars:S,section:h}=e,[v,P]=useState(false),[H,O]=useState(true),[F,I]=useState(""),[D,M]=useState(false),[x,A]=useState([""].slice(1)),{sectionVariables:E,resetSectionVariables:V}=Va(h),B=useMemo(()=>fg(s[`${i}-value`],p),[s,p,i]),L=useMemo(()=>s[`${i}-type`]||m,[s,m,i]),G=useCallback(()=>{S==="true"&&E&&V();},[S,E,V]),j=useCallback($=>{G(),o(oa(t,`${i}-value`,$.join(),n));},[o,t,i,G,n.status]),ee=useCallback($=>{G(),o(oa(t,`${i}-type`,$,n));},[o,t,i,G,n.status]),re=useRef(null),se=useRef(false),Q=useRef(!!u&&u<B.length),q=x.length,Z=g[q],J=x.filter(Boolean);x.length>0&&J.length===0&&J.push(`${a} ${Z?.label}`),useEffect(()=>{let $=()=>{O(true);};return window.addEventListener("touchmove",$),()=>{window.removeEventListener("touchmove",$);}},[]);let W=useMemo(()=>pg(c,g,l,f,y,w),[l,c,f,g,y,w]),_=useMemo(()=>{let $=ug(F),de=Array.from(dg(W,$)).reverse();return D?de:x.reduce((R,oe)=>R.filter(te=>!oe||te.searchindex.indexOf(oe)>-1),de.filter(R=>R.type===Z?.value))},[Z,W,F,D,x]),C=useRef(null),N=Rn({count:v?_.length:0,estimateSize:()=>30,getScrollElement:useCallback(()=>C.current,[]),overscan:10,rangeExtractor:useCallback($=>$o($),[])}),[X,z]=useState(-1),pe=Math.min(X,_.length-1),ie=useCallback($=>{let de=x.concat($);D&&M(false),A(de);},[D,x]),Se=useCallback(()=>{let $=x.slice(0,q-1);D&&M(false),A($);},[D,x,q]),he=useCallback($=>{I($.currentTarget.value),!Q.current&&c.length>0&&P(true);},[c,I,Q,P]),Ae=useCallback(()=>{I(""),j([]),re.current?.focus(),u&&(Q.current=false);},[I,j,re,u,Q]),ae=useCallback($=>{let de=B.filter(R=>R!==$);j(de),u&&de.length<u&&(Q.current=false);},[B,j,u,Q]),Xe=useCallback($=>{L||ee($.type),L!==$.type?(ee($.type),j([$.value])):B.includes($.value)?ae($.value):u?(B.length<u&&j([...B,$.value]),B.length===u&&j([...B.slice(1),$.value])):j([...B,$.value]),I("");},[L,ee,j,B,ae,u]),_t=useCallback(()=>{B.length>0&&F.length===0&&(j(B.slice(0,-1)),P(true),u&&(Q.current=false)),F.length>0&&I(F.slice(0,-1));},[B,F,j,I,P,u,Q]),Fe=useCallback(()=>{O($=>$&&(se.current=$,!$)),z($=>$+1>=_.length?$:$+1);},[z,_]),Jt=useCallback(()=>{let $=_[pe];$&&Xe($);},[_,pe,Xe]),eo=useCallback(()=>{P(false);},[P]),Oo=useCallback(()=>{Se(),z(0);},[z,Se]),sr=useCallback(()=>{let $=_[pe];!D&&$&&$.type!==g[g.length-1]?.value&&(ie($.name),z(0));},[_,pe,D,g,z,ie]),ir=useCallback(()=>{O($=>$&&(se.current=$,!$)),z($=>$-1<0?0:$-1);},[z]),ar=({label:$,onRemove:de,...R})=>jsxs("div",{style:{alignItems:"center",backgroundColor:r.colorScheme==="dark"?r.colors.dark[7]:r.colors.gray[1],borderRadius:r.radius.sm,cursor:"default",color:r.colorScheme==="dark"?r.colors.dark[0]:r.colors.gray[7],display:"flex",fontSize:rem(12),fontWeight:500,height:rem(22),margin:`calc(${r.spacing.xs} / 2 - ${rem(2)}) calc(${r.spacing.xs} / 2)`,maxWidth:`calc(100% - ${rem(10)})`,paddingLeft:`calc(${r.spacing.sm} / 1.5)`,paddingRight:0,userSelect:"none"},...R,children:[jsx("span",{style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:$}),jsx(CloseButton,{"aria-hidden":true,iconSize:"70%",onMouseDown:de,radius:2,size:"sm",sx:{color:r.colorScheme==="dark"?r.colors.dark[0]:r.colors.gray[7],marginLeft:`calc(${r.spacing.sm} / 6)`},tabIndex:-1})]}),lr=useMemo(()=>B.map($=>W.find(de=>de.value===$)).filter($=>!!$).map(($,de)=>createElement(ar,{...$,index:de,key:$.value,onRemove:R=>{R.preventDefault(),R.stopPropagation(),ae($.value);}})),[B]),cr=forwardRef(function({color:de,icon:R,label:oe,value:te,...Ge},be){return jsx("div",{ref:be,style:{cursor:"pointer",width:"100%"},...Ge,children:jsxs(Group,{align:"center",noWrap:true,spacing:"xs",w:"100%",children:[R&&jsx(Box,{bg:de??"transparent",component:"img",w:20,h:20,src:R}),jsx(Text,{lineClamp:1,size:"sm",children:oe||te})]})})}),{settings:pr}=e,ur=e.hideLabel==="true"||!e.label?jsx(Fragment,{}):jsx(ne,{component:"div",html:e.label,size:"sm",style:pr,isPreview:true});return jsx(Input.Wrapper,{label:ur,children:jsxs(Popover,{closeOnClickOutside:true,keepMounted:true,opened:v,onChange:P,onClose:()=>{z(0),I("");},onOpen:()=>{N.scrollToIndex(0);},shadow:"sm",width:"target",withinPortal:true,children:[jsx(Popover.Target,{children:jsxs(Box,{"aria-haspopup":"listbox",component:"div",onMouseLeave:()=>z(0),sx:{position:"relative","& .defaultValue":{backgroundColor:r.colorScheme==="dark"?r.colors.dark[5]:r.colors.gray[3],color:r.colorScheme==="dark"?r.colors.dark[1]:r.colors.gray[7]}},tabIndex:-1,children:[jsx("input",{type:"hidden",value:B.join(",")}),jsx(Input,{component:"div",multiline:true,onMouseDown:$=>{$.preventDefault(),!Q.current&&c.length>0&&P(!v),re.current?.focus();},rightSection:B.length>0?jsx(CloseButton,{onClick:Ae,onMouseDown:$=>$.preventDefault(),variant:"transparent"}):jsx(IconSelector,{color:r.colors.gray[6],size:18,stroke:1.5}),style:{overflow:"hidden"},w:"100%",children:jsxs(Box,{component:"div","data-clearable":true,sx:{alignItems:"center",boxSizing:"border-box",display:"flex",flexWrap:"wrap",marginLeft:`calc(-${r.spacing.xs} / 2)`,minHeight:`calc(${rem(36)} - ${rem(2)})`,"&[data-clearable]":{marginRight:rem(36)},"&::placeholder":{color:r.colorScheme==="dark"?r.colors.dark[3]:r.colors.gray[5],opacity:1}},children:[lr,jsx("input",{autoComplete:"off","data-mantine-stop-propagation":v,onChange:he,onKeyDown:getHotkeyHandler([["ArrowDown",Fe],["ArrowLeft",Oo],["ArrowRight",sr],["ArrowUp",ir],["Backspace",_t],["Enter",Jt],["Escape",eo]]),placeholder:B.length===0?d:void 0,ref:re,readOnly:Q.current,style:{appearance:"none",backgroundColor:"transparent",border:0,color:"inherit",flex:1,fontSize:r.fontSizes.sm,marginLeft:`calc(${r.spacing.xs} / 2)`,maxHeight:rem(22),minWidth:rem(60),outline:0,padding:0},type:"search",value:F})]})})]})}),jsx(Popover.Dropdown,{onMouseDown:$=>$.preventDefault(),p:0,children:jsx("div",{style:{display:"flex",maxHeight:rem(300)},children:jsx(Box,{component:"div","data-combobox-popover":true,onMouseDown:$=>$.preventDefault(),role:"listbox",sx:{width:"100%"},tabIndex:-1,children:jsxs(Stack,{h:"100%",py:"xs",spacing:"xs",w:"100%",children:[g.length>1&&jsxs(Stack,{spacing:"xs",children:[jsxs(Group,{onClick:$=>{$.stopPropagation();},px:"xs",position:"center",spacing:"xs",children:[jsx(Button,{onClick:()=>{z(0),M(true),A([]),_.length>0&&N.scrollToIndex(0);},size:"xs",variant:D?"filled":"outline",children:a}),g.map(($,de)=>jsx(Button,{onClick:()=>{D&&M(false);let R=[""].slice(1),oe=de;for(;oe--;)R[oe]=x[oe]||"";z(0),A(R),_.length>0&&N.scrollToIndex(0);},size:"xs",variant:!D&&x.length===g.findIndex(R=>R.value===$?.value)?"filled":"outline",children:$?.label},$?.value))]}),jsx(Divider,{})]}),q>0&&jsxs(Group,{align:"center",noWrap:true,px:"xs",children:[jsx(ActionIcon,{onClick:Se,size:"sm",children:jsx(IconChevronLeft,{})}),jsx("div",{children:J.map($=>jsx(Text,{lineClamp:1,size:"xs",children:$},`${$}`))})]}),jsx(ScrollArea,{mah:250,onWheel:()=>O(true),px:"xs",style:{overflow:"auto",width:"100%"},viewportRef:C,viewportProps:{tabIndex:-1},w:"100%",children:jsx("div",{style:{height:`${N.getTotalSize()}px`,position:"relative",width:"100%"},children:N.getVirtualItems().map($=>{let de=_[$.index],R=pe===$.index,oe=B.includes(de.value);return _.length>0&&R&&!H&&N.scrollToIndex(pe),jsxs(Group,{"aria-selected":R,align:"center","data-hovered":R||void 0,"data-index":$.index,"data-selected":oe,id:de.vale,noWrap:true,onMouseEnter:te=>{te.preventDefault(),te.stopPropagation(),H&&(z($.index),O(false));},onMouseMove:te=>{te.preventDefault(),te.stopPropagation(),O(true);},onMouseDown:te=>{te.preventDefault(),Xe(de);},position:"apart",ref:N.measureElement,role:"option",spacing:"xs",sx:te=>({borderRadius:te.radius.xs,padding:"15px 5px 15px",paddingLeft:D&&10*g.findIndex(Ge=>Ge?.value===de.type)||5,position:"absolute",top:0,left:0,height:`${$.size}px`,transform:`translateY(${$.start}px)`,width:"100%","&[data-hovered]":{backgroundColor:te.colorScheme==="dark"?te.colors.dark[4]:te.colors.gray[1]},"&:hover":{backgroundColor:te.colorScheme==="dark"?te.colors.dark[4]:te.colors.gray[1]}}),tabIndex:-1,children:[jsx(cr,{index:$.index,...de}),!D&&de.type!==g[g.length-1]?.value&&jsx(ActionIcon,{onMouseDown:te=>{te.preventDefault(),te.stopPropagation(),ie(de.name);},size:"sm",tabIndex:-1,children:jsx(IconChevronRight,{})})]},de.value)})})})]})})})})]})})}var vg=Lm(()=>import('./Viz-V6EJ5M4B.js'),{ssr:false}),Be={[z.PARAGRAPH]:cs,[z.STAT]:ps,[z.SUBTITLE]:us,[z.TITLE]:ds,[z.SELECTOR]:gs,[z.VIZ]:vg,[z.GENERATOR]:xs,[z.SECTION_FLAG]:xs,[z.IMAGE]:Ts,[z.NAV]:Cs,[z.RELATED]:Ps,[z.RESET_BUTTON]:Rs,[z.COMPARISON_BUTTON]:As,[z.TABLE]:Os,[z.BUTTON]:Bs,[z.MULTIHIERARCHY_SELECTOR]:Ns};var Ag={[z.TITLE]:IconHeading,[z.GENERATOR]:IconApi,[z.SECTION_FLAG]:IconFlag,[z.STAT]:IconPercentage,[z.VIZ]:IconChartBar,[z.PARAGRAPH]:IconAlignLeft,[z.SELECTOR]:IconSelector,[z.IMAGE]:IconPhoto,[z.TABLE]:IconTable,[z.MULTIHIERARCHY_SELECTOR]:IconListTree};function Lg(e){return Ag[e]||IconDice}var Og={[z.TITLE]:"Title",[z.GENERATOR]:"Data",[z.STAT]:"Stat",[z.VIZ]:"Visualization",[z.PARAGRAPH]:"Paragraph",[z.SELECTOR]:"Selector",[z.SUBTITLE]:"Subtitle",[z.RESET_BUTTON]:"Reset Button",[z.COMPARISON_BUTTON]:"Comparison Button",[z.RELATED]:"Related Reports",[z.NAV]:"Navigation",[z.IMAGE]:"Image",[z.TABLE]:"Table",[z.BUTTON]:"Button",[z.FALLBACK]:"Fallback",[z.SECTION_FLAG]:"Section Flag",[z.MULTIHIERARCHY_SELECTOR]:"Multihierarchy Selector"};function Bg(e){return Og[e]}var _g={[z.GENERATOR]:{type:z.GENERATOR,renderer:Be[z.GENERATOR],renderPreviewOnEdit:false},[z.SECTION_FLAG]:{type:z.SECTION_FLAG,renderer:Be[z.SECTION_FLAG],renderPreviewOnEdit:false},[z.IMAGE]:{type:z.IMAGE,renderer:Be[z.IMAGE],renderPreviewOnEdit:false},[z.PARAGRAPH]:{type:z.PARAGRAPH,renderer:Be[z.PARAGRAPH],renderPreviewOnEdit:true,evalWhenNonActive:true},[z.RELATED]:{type:z.RELATED,renderer:Be[z.RELATED],renderPreviewOnEdit:false,evalWhenNonActive:false},[z.SELECTOR]:{type:z.SELECTOR,renderer:Be[z.SELECTOR],adapter:qo[z.SELECTOR],nonActiveAdapter:()=>qo[z.SELECTOR]({name:"Selector Preview"}),renderPreviewOnEdit:false},[z.STAT]:{type:z.STAT,renderer:Be[z.STAT],renderPreviewOnEdit:true,evalWhenNonActive:true},[z.SUBTITLE]:{type:z.SUBTITLE,renderer:Be[z.SUBTITLE],renderPreviewOnEdit:true,evalWhenNonActive:true},[z.TITLE]:{type:z.TITLE,renderer:Be[z.TITLE],renderPreviewOnEdit:true,evalWhenNonActive:true},[z.VIZ]:{type:z.VIZ,renderer:Be[z.VIZ],renderPreviewOnEdit:false},[z.NAV]:{type:z.NAV,renderer:Be[z.NAV],renderPreviewOnEdit:true,evalWhenNonActive:true},[z.RESET_BUTTON]:{type:z.RESET_BUTTON,renderer:Be[z.RESET_BUTTON],renderPreviewOnEdit:true,evalWhenNonActive:true},[z.COMPARISON_BUTTON]:{type:z.COMPARISON_BUTTON,renderer:Be[z.COMPARISON_BUTTON],renderPreviewOnEdit:true,evalWhenNonActive:true},[z.TABLE]:{type:z.TABLE,renderer:Be[z.TABLE],renderPreviewOnEdit:false,evalWhenNonActive:false},[z.BUTTON]:{type:z.BUTTON,renderer:Be[z.BUTTON],renderPreviewOnEdit:true,evalWhenNonActive:true},[z.MULTIHIERARCHY_SELECTOR]:{type:z.MULTIHIERARCHY_SELECTOR,renderer:Be[z.MULTIHIERARCHY_SELECTOR],adapter:qo[z.MULTIHIERARCHY_SELECTOR],nonActiveAdapter:()=>qo[z.MULTIHIERARCHY_SELECTOR]({label:"Multihierarchy Selector Preview"}),renderPreviewOnEdit:false}},Ms=_g;function Wn({blockId:e,active:o=true,asComparison:t=false}){let{query:n,locale:s=ea$1}=useRouter(),i=Ue(),r=Fa(e).data,a=La(e,t&&i.active?i?.variables.variables:void 0,t&&i.active?i?.variables.attributes:void 0),l=O(r,s),c=Oa(s),p={variables:a,query:n,locale:s},m=va$1(w=>w.variables.variables[r.id]||{}),f=va$1(w=>w.variables.status[r.id]||{}),[g,u]=useState(()=>{if(![z.GENERATOR,z.VIZ,z.NAV].includes(r.type)){if(r?.type===z.SELECTOR){let h=O(r,s),{config:v}=L(r.id,h?.logic,c,p);return {...v,id:r.id,section:r.section_id}}if(r?.type===z.MULTIHIERARCHY_SELECTOR){let h=O(r,s),{config:v}=M(r.id,h.logic,c,p);return {...v,id:r.id,section:r.section_id}}if(r?.type===z.RESET_BUTTON)return {...l.simple,id:r.id,section:r.section_id};if(r?.type===z.COMPARISON_BUTTON)return {...l.simple,id:r.id,section:r.section_id};let w=I(l?.logic,c,p),{vars:S}=H("variables",a,w,c,void 0,p);return S}return null});useEffect(()=>{(async()=>{if(!r||r.type===z.GENERATOR)return;if(r.type===z.VIZ){u({block:r,locale:s,variables:a,active:o});return}if(!o&&!Ms[r.type].evalWhenNonActive){let{nonActiveAdapter:v}=Ms[r.type],P=v&&typeof v=="function"?v():{};u(P);return}if(r.type===z.GENERATOR){u({outputVariables:m});return}if(z.SELECTOR===r.type){let v=O(r,s),{config:P}=L(r.id,v.logic,c,p);u({...P,id:r.id,section:r.section_id});return}if(z.MULTIHIERARCHY_SELECTOR===r.type){let v=O(r,s),{config:P}=M(r.id,v.logic,c,p);u({...P,id:r.id,section:r.section_id});return}if(r.type===z.RELATED){let{related_reports:v}=m;u({related_reports:v});return}if(r.type===z.RESET_BUTTON){u({id:r.id,...l.simple});return}if(r.type===z.COMPARISON_BUTTON){u({id:r.id,...l.simple});return}if(r.type===z.FALLBACK){u({id:r.id,type:r.original_type,roles:r.settings.access});return}if(r.type===z.SKELETON){u({id:r.id,type:r.original_type});return}let S=I(l?.logic,c,p),{vars:h}=H("variables",a,S,c,void 0,p);if(r.type===z.TABLE){u({sectionId:r.section_id,...h});return}if(r.type===z.NAV){u({id:r.id,headings:r.inputs,section:r.section_id,settings:r.settings,...h});return}u(h);})();},[l,a]);let d=f.allowed||r?.type===z.NAV;if(!r||!g||!d)return null;let y=Ka[r.type];return jsx("div",{id:`bespoke-${r.type}-${r.id}`,className:`cms-block-wrapper bespoke-block-area cms-block-${e}`,children:jsx(y,{...g,settings:r.settings,asComparison:t})})}var vl={margin:{label:"Content Margin",defaultValue:"md",options:[{label:"None",value:"0px"},{label:"Small",value:"sm"},{label:"Medium",value:"md"},{label:"Large",value:"lg"}]},columnGutter:{label:"Column Gutter",defaultValue:"md",options:[{label:"None",value:"0px"},{label:"Small",value:"sm"},{label:"Medium",value:"md"},{label:"Large",value:"lg"}]},width:{label:"Width",defaultValue:"full",options:[{label:"Full Width",value:"full"},{label:"Center",value:"center"}]},position:{label:"Position",defaultValue:"normal",options:[{label:"Normal",value:"normal"},{label:"Sticky",value:"sticky"}]},style:{label:"Style",defaultValue:"none",options:[{label:"None",value:"none"},{label:"Card",value:"card"}]}},zg=Object.keys(vl).reduce((e,o)=>(e[o]=vl[o].defaultValue,e),{}),yl={memberImageBg:false,optionsMenu:false,optionData:true,optionImage:true,optionShare:true,showAnchor:false,clientSideSection:false,...zg},Hn=e=>({data:typeof e.optionData=="boolean"?e.optionData:true,image:typeof e.optionImage=="boolean"?e.optionImage:true,share:typeof e.optionShare=="boolean"?e.optionShare:true});function Sl({previews:e}){let o=e.map((t,n)=>({key:t?`bg-${t.content_id}`:`bg-${n}`,src:t?`/api/cms/member/image?member=${t.content_id}&size=splash`:""}));return jsxs(Fragment,{children:[jsx(Group,{className:"cms-section-bg",grow:true,spacing:0,style:{position:"absolute",width:"100%",height:"100%"},children:o.map(t=>jsx("div",{className:"cms-section-member-bg",style:{backgroundImage:`url(${t.src})`,backgroundSize:"cover",backgroundPosition:"center center",height:"100%",width:"100%"}},t.key))}),jsx("div",{className:"cms-section-gradient-bg",style:{background:"white",position:"absolute",width:"100%",height:"100%",opacity:.33}})]})}var pt={viz:"viz",section:"section"},ut={png:"PNG",svg:"SVG"},rh=()=>{let e=document.getElementsByClassName("bespoke-share-source");Array.from(e).forEach(o=>o.remove());},sh={wrong_node:"Wrong node in export",choose_area:"Choose image area",choose_viz:"Choose visualization",choose_format:"Choose format",transparent_bg:"Transparent background",processing:"Processing image...",download:"Download {imageFormat}",entire_section:"Entire section",viz_only:"Visualization only",source:"Source: {src}"},ih=()=>document.createElement("div");function Fs(e){let{section:o}=e,t=b(),n=o.blocks||[],s=va$1(_=>n.map(C=>({..._.records.entities.block[C],status:_.variables.status[C]})).filter(C=>C.type===z.VIZ&&C.status.allowed)),{variant_slug1:i$1,slug1:r}=va$1(_=>_.variables.attributes),a=Vt(),[l,c]=useState(pt.section),[p,m]=useState(ut.png),[f,g]=useState(false),[u,d]=useState(false),[y,w]=useState([]),[S,h]=useState(s.length>0?s[0].id:null),v=l!==pt.section,{print:P,downloadLoading:H}=kr(o.id,i$1,r,v?S:null),[O,F]=useState(true),[I,D]=useState(false),M=Ee("options"),x={...sh,...M.image_tab},{siteProps:A}=fb(),E=A?.logoSrc&&typeof A.logoSrc=="string",V=useMemo(()=>o?.settings?.name?i(o?.settings?.name):`section-${o.id}`,[o.id,o?.settings?.name]),B=`#${V}`,L=useMantineTheme(),G=()=>{let _=re(S);return select(_).select("svg").size()===1},j=()=>`${i(V)}`,ee=()=>{let _=document.getElementById(V);return select(_).select(".bespoke-section-content").node()},re=_=>{let C=ee();return select(C).select(`#bespoke-visualization-${_}.bespoke-block-area`).node()},se=()=>new Promise(_=>{let C;l===pt.section?C=ee():l===pt.viz&&(C=re(S));let N=document.createElement("div");N.style.display="flex",N.style.justifyContent="space-between",N.classList.add("bespoke-share-source"),N.style.padding=L.spacing.xs,N.style.width="100%";let X=document.createElement("div");if(X.innerText=x.source.replace("{src}",`${window.location}${B}`),X.style.fontSize=L.fontSizes.xs,N.appendChild(X),E){let z=document.createElement("img");z.src=A.logoSrc,z.style.height="30px",z.onload=()=>_(C),z.onerror=()=>{z.remove(),_(C);},N.appendChild(z),C.appendChild(N);}else C.appendChild(N),_(C);}),Q=_=>{if(O)return "transparent";let C=select(_).style("background-color");return C!=="rgba(0, 0, 0, 0)"&&C!=="transparent"?C:_===document.body?"white":Q(_.parentNode)},q=async(_,C)=>{let{toPng:N}=await import('html-to-image');N(_,{backgroundColor:C.background,cacheBust:true,filter:X=>X&&X.classList?!C.exclusionClasses.some(z=>X.classList.contains(z)):true}).then(X=>{let z=document.createElement("a");z.download=`${C.filename}.png`,z.href=X,z.click();}).catch(X=>{console.error("Error generating image",X);}).finally(()=>{rh(),g(false);});},Z=(_,C)=>{saveElement(_,{filename:C.filename,type:"svg",callback:()=>g(false)},{background:C.background});},J=async()=>{t("section_image_download",{sectionId:o.id,imageContext:l,format:p,transparentBackground:O},{component:"ImageTab"}),g(true);let _=await se(),C={background:Q(_),exclusionClasses:["export-hidden"],filename:j()},N=p===ut.png?q:Z;try{if(_)N(_,C);else throw new Error(x.wrong_node)}catch{g(false);}},W=async()=>{let{toCanvas:_}=await import('html-to-image');Promise.all(s.map(C=>{let N=re(C.id),X=N.querySelector("g.d3plus-geomap-tileGroup");X&&(X.style.display="none");let z=select(N).select("svg").select("g").size()>0,pe=select(N).select("div.bespoke-html").size()>0,ie=z||pe?N:ih();return _(ie).then(Se=>(X&&(X.style.display="block"),Se))})).then(C=>{w(C.map(N=>N.toDataURL())),D(false);});};return useEffect(()=>{l===pt.viz&&s.length>0?(h(s[0].id),D(true),W()):l===pt.section&&w([]);},[l]),useEffect(()=>{S&&(G()?d(true):(d(false),m(ut.png)));},[S]),jsxs(Stack,{className:"cms-section-options-image",children:[s.length>0?jsx(Input.Wrapper,{label:`${x.choose_area}:`,children:jsx(SegmentedControl,{fullWidth:true,value:l,data:[{value:pt.section,label:jsxs(Center,{children:[jsx(IconTemplate,{size:"1rem"}),jsx(Box,{ml:10,children:x.entire_section})]})},{value:pt.viz,label:jsxs(Center,{children:[jsx(IconChartBar,{size:"1rem"}),jsx(Box,{ml:10,children:x.viz_only})]})}],onChange:_=>{c(_),_===pt.section&&m(ut.png);}})}):jsx(Text,{fw:"700",color:"gray.7",children:`${x.entire_section}:`}),l===pt.viz&&s.length>0&&jsxs(Input.Wrapper,{label:`${x.choose_viz}:`,style:{minHeight:"161px",position:"relative"},children:[!I&&y.length>0&&jsx(ScrollArea,{style:{height:250},children:jsx(SimpleGrid,{cols:3,children:s.map((_,C)=>jsx(Image,{alt:`Viz ${_.id}`,onClick:()=>{h(_.id);},style:{cursor:"pointer",border:S===_.id?"4px solid #228be6":"4px solid #eee"},radius:0,src:y[C],withPlaceholder:true,styles:()=>({figure:{height:"100%"},imageWrapper:{height:"100%"}})},`viz-option-${_.id}`))})}),jsx(LoadingOverlay,{visible:I})]}),u&&l!==pt.section&&jsx(Input.Wrapper,{label:`${x.choose_format}:`,children:jsxs(Button.Group,{children:[jsx(Button,{leftIcon:jsx(IconPolaroid,{size:16}),onClick:()=>m(ut.png),variant:p===ut.png?"filled":"default",fullWidth:true,children:ut.png}),jsx(Button,{leftIcon:jsx(IconCode,{size:16}),onClick:()=>m(ut.svg),variant:p===ut.svg?"filled":"default",fullWidth:true,children:ut.svg})]})}),jsx(Checkbox,{checked:O,label:`${x.transparent_bg}`,onChange:()=>F(!O),radius:"xl"}),jsx(Button,{leftIcon:jsx(IconDownload,{size:16}),loading:f||H,onClick:a&&p!==ut.svg?()=>{t("section_image_download",{sectionId:o.id,imageContext:l,format:p,transparentBackground:O},{component:"ImageTab"}),P(O);}:J,fullWidth:true,children:jsx("span",{children:f||H?x.processing:x.download.replace("{imageFormat}",p)})})]})}function Cl(e){let{title:o,url:t,disabled:n=false,onCopy:s}=e,i=n?IconCode:IconLink;return jsx(Input.Wrapper,{label:o,children:jsx(Input,{icon:jsx(i,{}),value:t,disabled:n,readOnly:true,rightSection:jsx(CopyButton,{value:t,timeout:2e3,children:({copied:r,copy:a})=>jsx(Tooltip,{label:r?"Copied":"Copy",withArrow:true,position:"right",children:jsx(ActionIcon,{variant:r?"filled":"subtle",onClick:()=>{a(),s?.();},disabled:n,children:r?jsx(IconClipboardCheck,{size:16}):jsx(IconClipboardCopy,{size:16})})})})})})}var Oh={title:"Title",include_section:"Include Section"};function $s(e){let{section:o}=e,[t,n]=useState(""),[s,i$1]=useState(""),[r,a]=useState(true),l=b(),c=Ee("options"),p={...Oh,...c.share_tab};useEffect(()=>{i$1(document.title);let{origin:f,pathname:g}=window.location,u=`${f}${g}`,d=r?o.settings?.name?.length?`#${i(o.settings.name)}`:`#section-${o.id}`:"";n(`${u}${d}`);},[r]);let m=f=>{l("section_share",{sectionId:o.id,platform:f,url:t,includeSection:r},{component:"ShareTab"});};return jsxs(Stack,{className:"cms-section-options-share",children:[jsx(Cl,{title:`${p.title}: ${s}`,url:t,onCopy:()=>m("copy")}),jsx(Checkbox,{checked:r,label:p.include_section,onChange:()=>a(!r),radius:"xl"}),jsxs(Group,{position:"center",children:[jsx(FacebookShareButton,{url:t,onShareWindowClose:()=>m("facebook"),children:jsx(FacebookIcon,{size:32,round:true})}),jsx(TwitterShareButton,{url:t,title:s,onShareWindowClose:()=>m("twitter"),children:jsx(TwitterIcon,{size:32,round:true})}),jsx(TelegramShareButton,{url:t,title:s,onShareWindowClose:()=>m("telegram"),children:jsx(TelegramIcon,{size:32,round:true})}),jsx(WhatsappShareButton,{url:t,title:s,separator:":: ",onShareWindowClose:()=>m("whatsapp"),children:jsx(WhatsappIcon,{size:32,round:true})}),jsx(LinkedinShareButton,{url:t,onShareWindowClose:()=>m("linkedin"),children:jsx(LinkedinIcon,{size:32,round:true})}),jsx(RedditShareButton,{url:t,title:s,windowWidth:660,windowHeight:460,onShareWindowClose:()=>m("reddit"),children:jsx(RedditIcon,{size:32,round:true})}),jsx(EmailShareButton,{url:t,subject:s,onShareWindowClose:()=>m("email"),children:jsx(EmailIcon,{size:32,round:true})})]})]})}var zh={overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none",WebkitOverflowScrolling:"touch",flexWrap:"nowrap"},El={height:"100%",zIndex:1,top:0,width:50,position:"absolute",backgroundSize:"cover",display:"flex",alignItems:"center","&[data-direction='left']":{background:"linear-gradient(to right, rgba(255, 255, 255, 1) 15px, rgba(255, 255, 255, 0))",left:0,justifyContent:"flex-start"},"&[data-direction='right']":{background:"linear-gradient(to left, rgba(255, 255, 255, 1) 15px, rgba(255, 255, 255, 0))",right:0,justifyContent:"flex-end"}};function Fh({panels:e,value:o,onTabChange:t}){let n=useRef(null),[s,i]=useState(false),[r,a]=useState(false),l=Object.keys(e),c=()=>{let m=n.current;if(!m)return;let{scrollLeft:f,scrollWidth:g,clientWidth:u}=m;i(f>0),a(f<g-u);};useEffect(()=>{let m=n.current;if(m)return c(),m.addEventListener("scroll",c),()=>{m.removeEventListener("scroll",c);}},[]);let p=m=>{let f=n.current;if(!f)return;let g=m==="left"?-150:150;f.scrollBy({left:g,behavior:"smooth"});};return jsxs(Box,{className:"bespoke-report-modal-tabs-container",pos:"relative",sx:{flexGrow:1,maxWidth:"calc(100% - 38px)"},children:[jsx(Box,{"data-direction":"left",display:s?"flex":"none",sx:El,children:jsx(ActionIcon,{onClick:()=>p("left"),children:jsx(IconChevronLeft,{size:20})})}),jsx(Tabs,{ref:n,value:o,onTabChange:t,sx:zh,children:jsx(Tabs.List,{className:"bespoke-report-modal-tabs",sx:{flexWrap:"nowrap",width:"fit-content"},children:l.map(m=>jsx(Tabs.Tab,{className:"bespoke-report-modal-tab",value:m,children:e[m].label},m))})}),jsx(Box,{display:r?"flex":"none","data-direction":"right",sx:El,children:jsx(ActionIcon,{onClick:()=>p("right"),children:jsx(IconChevronRight,{size:20})})})]})}function Vh({className:e,opened:o,onClose:t,panels:n,initialTab:s,onPanelChange:i}){let r=Object.keys(n)[0],[a,l]=useState(s&&n[s]?s:r);return useEffect(()=>{if(!o)return;let c=s&&n[s]?s:r;l(c);},[o,s,n,r]),jsxs(Modal.Root,{className:clsx("bespoke-report-modal",e),opened:o,onClose:t,size:"xl",centered:true,children:[jsx(Modal.Overlay,{className:"bespoke-report-modal-overlay"}),jsxs(Modal.Content,{children:[jsx(Modal.Header,{className:"bespoke-report-modal-header",children:jsxs(Group,{w:"100%",position:"apart",spacing:"md",noWrap:true,children:[jsx(Fh,{panels:n,value:a,onTabChange:c=>{c&&(l(c),i?.(c));}}),jsx(Modal.CloseButton,{className:"bespoke-report-modal-close-btn",ml:0})]})}),jsx(Modal.Body,{className:"bespoke-report-modal-body",children:n[a].component})]})]})}var Kn=Vh;var Us={download_title:"Download Data",image_title:"Save Image",share_title:"Share Link"},Wh=["data","image","share"];function Ol(e){let{section:o,initialMode:t,onEnds:n,open:s,onModeChange:i,title:r}=e,a=Hn(o.settings),l=useMemo(()=>Wh.filter(u=>a[u]),[a]),[c,p]=useState(t||l[0]||"data"),m=Ee("options");useEffect(()=>{t!==c&&p(t);},[t]);let f={...Us,...m};useMemo(()=>jsxs(Fragment,{children:[jsxs(Tabs.List,{children:[a.data&&jsx(Tabs.Tab,{value:"data",children:f.download_title}),a.image&&jsx(Tabs.Tab,{value:"image",children:f.image_title}),a.share&&jsx(Tabs.Tab,{value:"share",children:f.share_title})]}),a.data&&jsx(Tabs.Panel,{value:"data",children:jsx(Br,{section:o})}),a.image&&jsx(Tabs.Panel,{value:"image",children:jsx(Fs,{section:o})}),a.share&&jsx(Tabs.Panel,{value:"share",children:jsx($s,{section:o})})]}),[a,o,f]);return jsx(Kn,{className:"cms-section-options-modal",opened:s,onClose:()=>n(),initialTab:t,onPanelChange:i,panels:{data:{label:f.download_title,component:jsx(Br,{section:o})},image:{label:f.image_title,component:jsx(Fs,{section:o})},share:{label:f.share_title,component:jsx($s,{section:o})}}})}function Nl(e){let{sectionId:o,disabled:t=false}=e,[n,s]=useState(false),[i,r]=useState("data"),a=Ea(o),l=Ee("options"),c={...Us,...l},p=b(),m=Hn(a.isSuccess?a.data.settings:{}),f=d=>{p("section_options_open",{sectionId:o,mode:d},{component:"SectionOptions"}),r(d),s(true);},g=d=>{!n||!d||d===i||(r(d),p("section_options_open",{sectionId:o,mode:d},{component:"SectionOptions"}));},u=()=>{p("section_options_close",{sectionId:o,mode:i},{component:"SectionOptions"}),s(false);};return jsxs("div",{className:"cms-section-options",children:[jsxs(Button.Group,{children:[m.data&&jsx(Button,{variant:"default",size:"xs",compact:true,onClick:()=>f("data"),"aria-label":c.download_title,disabled:t,children:jsx(IconTable,{size:16})}),m.image&&jsx(Button,{variant:"default",size:"xs",compact:true,onClick:()=>f("image"),"aria-label":c.image_title,disabled:t,children:jsx(IconCamera,{size:16})}),m.share&&jsx(Button,{variant:"default",size:"xs",compact:true,onClick:()=>f("share"),"aria-label":c.share_title,disabled:t,children:jsx(IconShare,{size:16})})]}),a.isSuccess&&jsx(Ol,{section:a.data,initialMode:i,open:n,onModeChange:g,onEnds:u})]})}function Ml(e){let{user:o}=xr();return useMemo(()=>{if(o&&o.bespoke_app_metadata&&o.bespoke_app_metadata.reports&&Array.isArray(o.bespoke_app_metadata.reports)){let n=o.bespoke_app_metadata.reports.find(s=>s.reportId===e);if(n&&n.favorites)return n.favorites}},[o,e])}function js(e,o){let t=va$1(l=>o?l.records.entities[e][o]:null),n=t?.settings,[s,i]=useSetState(t?.settings||{}),r=ua(),a=useCallback((l,c)=>{t&&(i(p=>({...p,[l]:c})),r(ta.updateEntity(e,{id:t.id,settings:{...t.settings,[l]:c}})));},[r,t]);return useEffect(()=>{n&&i(n);},[n,i]),{settings:s,updateSettings:a}}var Ks=e=>js("section",e),qs=e=>js("report",e);function nb({children:e,containerProps:o},t){return jsx(Flex,{ref:t,className:"bespoke-section-content",pos:"relative",align:"stretch",p:0,direction:{base:"column",md:"row"},wrap:"wrap",...o,children:e})}var Xn=Ot__default.forwardRef(function({children:o,column:t,basis:n,columnSettings:s={},sx:i={},...r},a){let l=Object.values(t).some(f=>f.settings?.display==="inline"),c=s?.width?`${s.width}px`:n,p=s?.width?`${s?.width}px`:"100%",m=s?.full?"100%":p;return jsx(Flex,{ref:a,className:"bespoke-section-col",align:"flex-start",direction:l?"row":"column",wrap:l?"wrap":"nowrap",maw:{base:"100%",md:m},miw:{base:"none",md:300},p:0,pos:"relative",sx:[{flexGrow:1,flexShrink:s?.full?0:1,flexBasis:s?.full?"100%":c},...packSx(i)],...r,children:o})}),jB=({sectionId:e,columnIndex:o})=>{let t=ua(),n=Ea(e).data,{settings:s,updateSettings:i}=Ks(e);if(!n)return null;let{columnSettings:r={}}=s,{width:a=void 0}=r[o]?r[o]:{},l=m=>{n&&i("columnSettings",{...r,[o]:{width:parseInt(m.target.value,10)}});},c=()=>{n&&t(ta.updateEntity("section",{id:e,settings:{...n.settings,columnSettings:{...r,[o]:{width:void 0}}}}));};return jsxs(Group,{className:"bespoke-resize-col",pos:"absolute",top:-12,left:"50%",sx:{borderRadius:"4px",transform:"translate(-50%, 0%)",zIndex:20},py:0,px:"xs",maw:180,bg:"white",noWrap:true,children:[jsx(Checkbox,{label:"100%",size:"xs",onChange:m=>{i("columnSettings",{...r,[o]:{...r[o]||{},full:m.currentTarget.checked}});},checked:r[o]?.full}),jsx(Input,{placeholder:"auto",w:"fit-content",miw:"none",variant:"filled",type:"number",value:a||"auto",maw:110,onChange:l,size:"xs",p:0,rightSection:jsx(IconX,{onClick:c,size:8})})]})},Fl=Ot__default.forwardRef(nb);var db=({value:e,handleChange:o,position:t="right"})=>jsxs(Group,{position:t,children:[jsx(Text,{size:"xs",children:"Aligment"}),jsx(SegmentedControl,{size:"xs",defaultValue:e,onChange:n=>o("align",n),data:[{label:jsx(IconAlignLeft,{size:"0.7rem"}),value:"left"},{label:jsx(IconAlignCenter,{size:"0.7rem"}),value:"center"},{label:jsx(IconAlignRight,{size:"0.7rem"}),value:"right"},{label:jsx(IconAlignJustified,{size:"0.7rem"}),value:"justify"}]})]}),Vl=db;var kb=["px","%"],tn={px:e=>Number.isNaN(parseFloat(e))?"px":`${e}px`.replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,"),"%":e=>Number.isNaN(parseFloat(e))?"%":`${e}%`.replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1,")},$l={px:{defaultValue:400,min:25,step:5,formatter:tn.px},"%":{defaultValue:50,min:20,max:100,step:5,formatter:tn["%"]}},Gl={stretch:false,unit:"px",value:"400"},wb=({currUnit:e,changeUnit:o})=>jsxs(Group,{position:"apart",children:[jsx(Text,{size:"xs",fw:"bold",children:"Unit"}),jsx(Group,{spacing:3,children:kb.map(t=>jsx(Anchor,{component:"button",size:"xs",td:e===t?"underline":"none",onClick:()=>o(t),children:t},t))})]}),Cb=e=>{let o=e?.settings?.width||{};return o&&["stretch","value","unit"].every(t=>Object.prototype.hasOwnProperty.call(o,t))?o:Gl};function Ib({id:e,display:o="button",handleChange:t}){let n=ua(),s=Fa(e).data,[i,r]=useState(false),a=Cb(s),l=u=>{typeof u=="boolean"?c("width",{...a,...u?{stretch:true}:Gl}):c("width",{...a,value:u});},c=(u,d)=>{s&&(t?t(u,d):n(ta.updateEntity("block",{id:e,settings:{...s.settings,[u]:d}})));};if(!s)return null;let p=la(s.type),m=$l[a.unit],f=u=>{let{defaultValue:d}=$l[u];c("width",{...a,value:d,unit:u});},g=jsxs(Stack,{spacing:"xs",children:[jsx(Vl,{value:s.settings.align||"left",handleChange:c,position:"apart"}),Object.entries(p).map(([u,{label:d,defaultValue:y,options:w}])=>jsxs(Group,{spacing:"xs",position:"apart",noWrap:true,style:{width:"100%"},children:[d&&jsx(Text,{size:"xs",children:d}),jsx(SegmentedControl,{defaultValue:String(s.settings[u]||y),onChange:S=>c(u,S),data:w,size:"xs"})]},u)),![z.GENERATOR,z.SECTION_FLAG].includes(s.type)&&jsxs(Group,{spacing:"xs",children:[jsx(Text,{size:"xs",children:"Width"}),jsxs(Group,{spacing:"xs",children:[!a.stretch&&jsxs("div",{children:[jsx(wb,{currUnit:a.unit,changeUnit:f}),jsx(NumberInput,{defaultValue:parseInt(m.defaultValue,10),disabled:a.stretch,onChange:u=>l(u),size:"xs",value:Number.isNaN(a.value)?void 0:parseInt(a.value,10),...m})]}),jsx(Checkbox,{size:"xs",label:"Stretch",checked:a.stretch,onChange:u=>l(u.currentTarget.checked)})]})]},"width")]});return o==="button"?jsxs(Popover,{opened:i,onClose:()=>r(false),position:"bottom-end",withinPortal:true,children:[jsx(Popover.Target,{children:jsx(ActionIcon,{onClick:()=>r(u=>!u),children:jsx(IconPalette,{size:20})})}),jsx(Popover.Dropdown,{children:g})]}):jsx(Paper,{p:"md",children:g})}var l_=Ib;var Qs={backgroundColor:"#fafafa",block:{padding:10},column:{padding:12},section:{backgroundColor:"white",borderRadius:10,boxShadow:"0px 6px 10px rgba(12, 32, 50, 0.14), 0px 1px 15px rgba(12, 32, 50, 0.12), 0px 3px 5px rgba(12, 32, 50, 0.15)",margin:8,padding:32}};function Js({previews:e,translations:o}){let{print:t}=Je(),n=useMemo(()=>e.map(({image:s,name:i},r)=>(s?.author||s?.url)&&jsxs(Stack,{spacing:0,children:[s.author&&jsxs(Text,{size:"xs",children:[i," ",o.image_by," ",jsx("strong",{children:s.author})]}),s.url&&jsxs(Text,{size:"xs",children:["URL: "," ",jsx(Anchor,{href:s.url,target:"_blank",children:s.url})]}),r+1<e.length&&jsx(Divider,{})]},s.id)),[e]);return jsx(Fragment,{children:t?jsx(Fragment,{children:n}):jsxs(Popover,{position:"right",children:[jsx(Popover.Target,{children:jsx(ActionIcon,{variant:"light",radius:"xl",children:jsx(IconPhoto,{size:20})})}),jsx(Popover.Dropdown,{children:n})]})})}function ei(e$1){let{locale:o,defaultLocale:t}=useRouter(),[n,s]=useState(false),[i,r]=useState(null),[a,l]=useState(false),[c,p]=useState(false),m=useRef(null),f$1=ua(),g=va$1(V=>V),u=va$1(V=>Object.values(V.records.entities.report)),d=u&&u[0]?.id,y=va$1(V=>V.variables.attributes),w=b$1(g),S=e(g),h=f(g),v=k(S,o),P=va$1(V=>V.variables.variables),H=va$1(V=>V.variables.status),O=va$1(V=>(V.status.previews||[]).map(B=>B.id).join("-")),F=Qe(),{addRunConsumersRunning:I,removeRunConsumersRunning:D}=Xa$1(),M=a$1(),{user:x,isLoading:A}=M;useEffect(()=>{p(false),s(false),r(null),l(false);},[O,e$1,d]);async function E(){if(!(!e$1||!d||c||n)){s(true),r(null),I([e$1]);try{let V=await f$1(ta.readClientSideBlocks({report_id:d,locale:o||t||ea$1,section_id:e$1}));if(V.data&&V.data.length){let B=V.data.reduce((W,_)=>({...W,[_.id]:_}),{}),L=Object.values(B).reduce((W,_)=>("access"in _.settings&&!["public","guest"].some(C=>!_.settings.access||_.settings.access.includes(C))&&W.push(_.id),W),[]),G={},j$1={...B};if(!A&&x)try{let W=await f$1(ta.readPrivateBlocks({report_id:d,locale:o||t||ea$1,section_id:[e$1]}));if(W.data&&W.data.length){let _=W.data.reduce((C,N)=>({...C,[N.id]:N}),{});j$1={...j$1,..._},L=L.filter(C=>!_[C]);}}catch(W){console.warn("Error loading private blocks for client-side section:",W);}if(L.length>0){let W=L.filter(z=>j$1[z]?.settings[C.FALLBACK]),_=Array.from(new Set([...W,...j(W,Object.values(j$1))])),C$1=L.filter(z$1=>[z.SELECTOR,z.MULTIHIERARCHY_SELECTOR].includes(j$1[z$1]?.type)),N=Array.from(new Set([...C$1,...j(C$1,Object.values(j$1))]));Array.from(new Set([...L,..._,...N,...j(L,Object.values(j$1))])).forEach(z$1=>{W.includes(z$1)?(G[z$1]={...j$1[z$1],type:z.FALLBACK,original_type:j$1[z$1].type},delete j$1[z$1]):C$1.includes(z$1)?(G[z$1]={...j$1[z$1],settings:{...j$1[z$1].settings,[C.DISABLED]:!0}},delete j$1[z$1]):N.includes(z$1)||delete j$1[z$1];});}let ee={...j$1,...G};await f$1(ta.addBlockToState(ee));let re={locale:o||t||ea$1,query:{},variables:{...y}},se=g.records.entities.section[e$1],Q=await aa$1({...w,...ee},se?[se]:void 0,void 0,v,re,{variables:P,status:H},F,"section",h,M),q=new Set(Object.keys(ee)),Z=Object.fromEntries(Object.entries(Q.status).filter(([W])=>q.has(W))),J=Object.fromEntries(Object.entries(Q.variables).filter(([W])=>q.has(W)));await f$1(ga$1.setVariableChange({attributes:y,status:Z,variables:J})),p(!0);}}catch(V){console.error("Error loading client-side section blocks:",V),r(V?.message||"Error loading section");}finally{D([e$1]),s(false);}}}return useEffect(()=>{if(!e$1||typeof window>"u"||!m.current||c)return;let V=new IntersectionObserver(B=>{B.forEach(L=>{L.isIntersecting&&(l(true),E(),V.disconnect());});},{rootMargin:"200px",threshold:.1});return V.observe(m.current),()=>{V.disconnect();}},[e$1,c]),{loading:n,error:i,inView:a,blocksLoaded:c,elementRef:m}}function Mb({section:e}){let{id:o}=e;return jsxs(Stack,{id:o,spacing:"md",p:"md",children:[jsx(Skeleton,{height:50,maw:200}),jsx(Skeleton,{height:400})]})}var Db=()=>{let{components:e}=we(),o=Mb;return e?.CustomClientSideSkeleton&&(o=e.CustomClientSideSkeleton),o};function oi(e){let o=Db();return jsx(o,{section:e})}var Gb={image_by:"image by"},ri=(e,o)=>t=>e?e(t,o):{},Zl=forwardRef(({settings:e,styles:o,print:t,children:n,...s},i)=>{let{position:r,shouldBreak:a}=e,l={normal:{position:"relative",backgroundColor:t?"transparent":"initial",borderRadius:0},sticky:{position:"sticky",zIndex:2,top:0,borderRadius:0,borderTop:t?"none":"initial",borderLeft:t?"none":"initial",borderRight:t?"none":"initial"}},c={normal:{radius:0},sticky:{radius:0,withBorder:true}},p=[l[r],ri(o,e),a?{pageBreakBefore:"always"}:{}];return jsx(Paper,{ref:i,component:"section",sx:p,...c[r],...s,children:n})});Zl.displayName="PositionWrapper";var Wb=({settings:e,styles:o,children:t,...n})=>{let{width:s}=e,i={center:{zIndex:1},full:{zIndex:1}},r={center:{size:"lg",p:"sm",fluid:false},full:{fluid:true,p:"md"}},a=[i[s],ri(o,e)];return jsx(Container,{sx:a,...r[s],...n,children:t})},Hb=({settings:e,styles:o,print:t,children:n,...s})=>{let{style:i}=e,r={none:{},card:{boxShadow:t?"none":"initial"}},a={none:{bg:"transparent"},card:{shadow:t?"none":"lg",p:"md",radius:"md"}},l=[r[i],ri(o,e)];return jsx(Paper,{sx:l,...a[i],...s,"data-screenshot-target":"true",children:n})},Jn=forwardRef(({name:e,children:o,clientSideError:t,clientSideLoading:n=false,id:s,isClientSide:i$1=false,sectionSettings:r,sectionStyles:a,previews:l,translations:c},p)=>{let{print:m}=Je(),f=r.memberImageBg&&l.some(({image:d})=>d&&(d.url||d.author)),g=useMemo(()=>r.showAnchor&&r.optionsMenu?"apart":!r.showAnchor&&r.optionsMenu?"right":r.showAnchor&&!r.optionsMenu?"left":"right",[r.showAnchor,r.optionsMenu]),u=e?.length?i(e):`section-${s}`;return jsxs(Zl,{ref:p,className:`bespoke-Section-${s} bespoke-Section-root `,settings:r,styles:a?.root||void 0,print:m,"data-section-id":u,"data-section-tags":Array.isArray(r.tags)?r.tags.join(" "):r.tags,children:[r.memberImageBg&&jsx(Sl,{previews:l}),jsxs(Wb,{className:`bespoke-Section-${s} bespoke-Section-container `,settings:r,styles:a?.container,id:e?.length?i(e):`section-${s}`,pos:"relative",children:[!m&&jsxs(Group,{position:g,mb:"xs",children:[r.showAnchor&&jsxs(Anchor,{className:"cms-section-anchor",href:`#${r.name?i(r.name):"section-"+s}`,sx:{"&:hover .cms-section-name":{visibility:"visible",opacity:1}},children:[jsx(Text,{span:true,size:"small",children:"#"}),jsx(Text,{span:true,size:"small",className:"cms-section-name",sx:{visibility:"hidden",opacity:0,transition:"visibility 0s, opacity 0.2s ease-in-out"},children:r.name||"section-"+s})]}),r.optionsMenu&&(!i$1||i$1&&!n&&!t)&&jsx(Nl,{sectionId:s,disabled:false})]}),jsxs(Hb,{print:m,className:`bespoke-Section-${s} bespoke-Section-container`,settings:r,styles:a?.content,children:[o,f&&jsx(Js,{previews:l,translations:c})]})]})]})});Jn.displayName="SectionWrapper";var Ub=()=>{let e=useRouter(),{query:o,locale:t}=e,{siteProps:n={logoSrc:""},profilePrefix:s,pathSegment:i}=fb(),r=o[i],a=Array.isArray(r)?r.join("/"):[],c=ni()?`/${t}`:"";c+=`${s}/${a}/`;let p=new URL(c,window.location.href).href;return jsxs(Group,{position:"apart",noWrap:true,sx:{flexGrow:1},children:[jsx(Anchor,{href:p,target:"_blank",children:p}),jsx("img",{src:n.logoSrc,height:40,width:"auto",alt:"Site Logo"})]})};function jb({section:e,sectionLoader:o,print:t}){let{isEmbed:n}=Je(),{id:s,settings:i}=e,r={...yl,...i,position:i.position==="sticky"?"sticky":"normal"},a=i?.[C.CLIENT_SIDE]||false,{loading:l,error:c$1,blocksLoaded:p,elementRef:m}=ei(a?s:null),f=Ue(),g=va$1(A=>A),u=va$1(A=>A.variables.status),{previews:d,isRunConsumersRunning:y}=va$1(A=>A.status),w=f.active&&f.status?d.concat(f.status?.previews||[]):d,S=we().Section,h=b$1(g),v=Object.values(h||{}).filter(A=>A.section_id===s),P=Ee("sections"),H={...Gb,...P},O=v.some(A=>{try{return u[A.id].allowed&&![z.GENERATOR,z.SECTION_FLAG].includes(A.type)||A.type===z.NAV}catch{return A.settings.allowed==="always"}}),F=v.filter(A=>![z.GENERATOR,z.SECTION_FLAG].includes(A.type)).reduce((A,E)=>(A[E.blockcol]?A[E.blockcol][E.blockrow]=E:A[E.blockcol]={[E.blockrow]:E},A),{}),I=Object.keys(v).length>0&&!i.hidden&&O;t&&(I=I&&i.showInPdf!=="never");let D=Object.keys(F).length;if(!I||f.active&&i.comparisonHide)return null;if(a&&!p&&l)return jsx(Jn,{id:s,name:e?.settings?.name,isClientSide:a,clientSideLoading:l,clientSideError:c$1||void 0,previews:w,sectionSettings:r,sectionStyles:S,translations:H,children:jsx(Box,{ref:m,children:jsx(oi,{section:e})})});if(a&&c$1&&!l)return typeof window<"u"&&window.location.hostname==="localhost"?jsx(Jn,{id:s,name:e?.settings?.name,isClientSide:a,clientSideLoading:l,clientSideError:c$1||void 0,previews:w,sectionSettings:r,sectionStyles:S,translations:H,children:jsxs(Box,{p:"md",style:{color:"red"},children:["Error loading section: ",c$1]})}):null;let M=(A,E=false)=>{let V=Array.from(new Set(A.map(L=>L.blockcol))).map(L=>({blockcol:L})).sort((L,G)=>c(L,G,"blockcol")),B=[];return V.forEach(({blockcol:L})=>{let G=A.filter(j=>j.blockcol===L).sort((j,ee)=>c(j,ee,"blockrow")).map(j=>{if(!j.id||!u[j.id]?.allowed&&j.type!==z.NAV)return null;let{settings:ee,type:re}=h[j.id],se=ee.width&&!ee.width.stretch&&ee.width.unit?tn[ee.width.unit](ee.width.value):ee.display==="inline"?"auto":"100%",Q={alignSelf:re===z.VIZ?"stretch":"flex-start",flexGrow:0,margin:"0",width:se,minWidth:300};return jsx(Box,{className:"bespoke-Block-wrapper",id:`bespoke-Block-${j.id}`,sx:Q,py:Qs.block.padding,children:jsx(Wn,{blockId:j.id,asComparison:E},j.id)},j.id)});B.push(G);}),B.flat()},x=[];if(f.active&&!i.comparisonMerge){let A=v.filter(E=>![z.GENERATOR,z.SECTION_FLAG].includes(E.type)).reduce((E,V)=>({...E,[V.id]:V}),{});x=[jsx(Xn,{column:A,basis:"50%",children:M(Object.values(v.filter(E=>![z.GENERATOR,z.SECTION_FLAG].includes(E.type))))},"original"),jsx(Xn,{column:A,basis:"50%",children:M(Object.values(v.filter(E=>![z.GENERATOR,z.SECTION_FLAG].includes(E.type))),true)},"comparison")];}else x=Object.keys(F).sort((A,E)=>-b$3(A,E)).map(A=>{let E=F[A],V=i.columnSettings?i.columnSettings[A]:{},B=Object.values(E).sort((L,G)=>c(L,G,"blockrow"));return B.some(L=>!u[L.id]||u[L.id].allowed||L.type===z.NAV)?jsx(Xn,{column:E,columnSettings:V,basis:`calc(${100/D}% - (10px * ${D}))`,children:B.map(L=>{if(!L.id||!u[L.id]?.allowed&&L.type!==z.NAV)return null;let{settings:G,type:j}=h[L.id],ee=G.width&&!G.width.stretch&&G.width.unit?tn[G.width.unit](G.width.value):G.display==="inline"?"auto":"100%",re={alignSelf:j===z.VIZ?"stretch":"flex-start",flexGrow:0,margin:"0",width:ee,minWidth:300};return jsx(Box,{className:`bespoke-Block-wrapper bespoke-${L.type}-wrapper`,id:`bespoke-Block-${L.id}`,sx:re,py:Qs.block.padding,children:jsx(Wn,{blockId:L.id},L.id)},L.id)})},A):null});return jsxs(Jn,{ref:a?m:null,id:s,name:e?.settings?.name,isClientSide:a,clientSideLoading:l,clientSideError:c$1||void 0,previews:w,sectionSettings:r,sectionStyles:S,translations:H,children:[y.includes(s)&&o,jsx(Fl,{containerProps:{gap:r.columnGutter||"md",wrap:f.active?"nowrap":"wrap",sx:{zIndex:20}},children:x}),n&&jsx(Ub,{})]})}var Jl=jb;function Ro({target:e,dropdown:o}){let[t,{open:n,close:s}]=useDisclosure(false),i=useRef(true),r=()=>{setTimeout(()=>{i.current&&s();},1e3);},a=()=>{i.current=false;},l=()=>{i.current=true,s();};return jsxs(Group,{children:[e,jsxs(Popover,{opened:t,trapFocus:true,children:[jsx(Popover.Target,{children:jsx(ActionIcon,{variant:"subtle",color:"blue",onMouseEnter:n,onMouseLeave:r,children:jsx(IconInfoCircle,{})})}),jsx(Popover.Dropdown,{maw:350,onMouseEnter:a,onMouseLeave:l,children:jsxs(Group,{align:"flex-start",noWrap:true,children:[jsx("div",{children:jsx(ThemeIcon,{variant:"outline",sx:{border:"none"},children:jsx(IconInfoCircle,{})})}),jsx("div",{children:o})]})})]})]})}function ai({value:e,onChange:o,item:t="block"}){let n=ua(),[s,i]=useState([]),r=useMemo(()=>[{value:"public",label:`Public ${t}, (all visitors)`,group:"Exclusive"},{value:"guest",label:`Guest only ${t}, (non logged visitors)`,group:"Exclusive"},{value:"private",label:`Private ${t}, (session required, any role)`,group:"Exclusive"}],[t]),a=useMemo(()=>s.map(c=>({value:`role.${c.name}`,label:`Role ${c.name} (${c.type})`,group:`${c.type} Roles`})),[s]);useEffect(()=>{n(ta.searchRole()).then(c=>{i(c.roles);});},[n]);let l=c=>{let p=[];if(c.length===0)p=[r[0].value];else {let m=c.slice(-1)[0],f=r.map(u=>u.value);p=f.includes(m)?[m]:c.filter(u=>!f.includes(u));}o(p);};return jsx(MultiSelect,{label:"Privacy",description:`This ${t} will be shown based on the selected roles.`,data:[...r,...a],value:e,onChange:l})}function rc(e,o){return e===o}function rv(){let e=No(),o=Number.parseInt(e.params[0]),t=Da(o).data,s=va$1(d).filter(x=>x.type===z.NAV),{settings:i,updateSettings:r}=qs(o),{handlers:a}=Za("reportEditor"),l=Vt(),c=t?.dimensions&&t.dimensions.length>0,p=xa(t?.dimensions||[]),m=useMemo(()=>p.isSuccess?p.data.flatMap(x=>x.variants||[]):[],[p.data,p.isSuccess]),f=ya$1(m),g=useMemo(()=>{if(!p.isSuccess||!f.isSuccess)return [];let x=p.data,A=f.data;return x.length===1?A.map(E=>({value:E.id.toString(),label:E.name,dimensionName:x[0].name})):x.length>1?x.map(B=>A.filter(L=>B.variants?.includes(L.id)||false)).reduce((B,L)=>B.flatMap(G=>L.map(j=>[...G,j])),[[]]).filter(B=>B.length>0).map(B=>({value:B.map(L=>L.id).join(","),label:B.map(L=>L.name).join(" / "),dimensionName:B.map((L,G)=>`${x[G]?.name}: ${L.name}`).join(" | ")})):[]},[p.data,p.isSuccess,f.data,f.isSuccess]),u=i.pdf?.variants||[],d$1=i.pdf?.privacy||["public"],y=i.pdf?.navBlockId||(s.length>0?s[0].id:""),w=!!i.pdf?.sectionSelection,S=x=>{r("pdf",{...i.pdf,enabled:true,variants:x});},h=x=>{r("pdf",{...i.pdf,enabled:true,privacy:x});},v=x=>{let A=s.length>0?s[0].id:void 0;r("pdf",{...i.pdf,sectionSelection:x,navBlockId:x?i.pdf?.navBlockId||A:void 0});},P=x=>{r("pdf",{...i.pdf,navBlockId:x?parseInt(x):void 0});},H=x=>{if(x){let A=g.map(E=>E.value);r("pdf",{enabled:true,variants:A,privacy:["public"]});}else r("pdf",{enabled:false,variants:[],privacy:[],sectionSelection:false,navBlockId:void 0});},O=i.xlsx?.variants||[],F=i.xlsx?.privacy||["public"],I=x=>{r("xlsx",{...i.xlsx,enabled:true,variants:x});},D=x=>{r("xlsx",{...i.xlsx,enabled:true,privacy:x});},M=x=>{if(x){let A=g.map(E=>E.value);r("xlsx",{enabled:true,variants:A,privacy:["public"]});}else r("xlsx",{enabled:false,variants:[],privacy:[]});};return jsx(Fragment,{children:jsxs(Stack,{children:[jsx(Button,{variant:"outline",radius:0,onClick:a.open,children:"Edit Report"}),c&&jsxs(Accordion,{children:[jsxs(Accordion.Item,{value:"comparison",children:[jsx(Accordion.Control,{children:"Profile Comparison"}),jsxs(Accordion.Panel,{children:[jsx(Ro,{target:jsx(Switch,{label:"Enable comparison",checked:!!i.comparison,onChange:x=>r("comparison",x.currentTarget.checked)}),dropdown:jsxs(Fragment,{children:[jsx(Text,{fw:700,children:"Comparisons"}),jsx(Text,{fw:400,children:"This feature will allow user visiting this profile to compare it side by side to another choosen profile"})]})}),i.comparison&&jsx(Ro,{target:jsx(Switch,{label:"With different levels",checked:!!i.compareLevels,onChange:x=>r("compareLevels",x.currentTarget.checked)}),dropdown:jsxs(Fragment,{children:[jsx(Text,{fw:700,children:"Compare with different Levels"}),jsx(Text,{fw:400,children:"Allow users to compare profiles from differet Levels."})]})})]})]}),jsxs(Accordion.Item,{value:"pdf",children:[jsx(Tooltip,{label:"PDF Export is not configured",disabled:l,children:jsx("span",{children:jsx(Accordion.Control,{disabled:!l,children:"PDF Export"})})}),jsxs(Accordion.Panel,{children:[jsx(Ro,{target:jsx(Switch,{label:"Enable PDF export",checked:!!i.pdf?.enabled,onChange:x=>H(x.currentTarget.checked)}),dropdown:jsxs(Fragment,{children:[jsx(Text,{fw:700,children:"PDF Exports"}),jsx(Text,{fw:400,children:"This feature will allow user to download the PDF version of the report with a single click."})]})}),i.pdf?.enabled&&jsxs(Stack,{mt:"md",children:[s.length>0&&jsxs(Fragment,{children:[jsx(Switch,{label:"Enable Section selection in PDF export",checked:w,onChange:x=>v(x.currentTarget.checked)}),w&&jsx(Select,{data:s.map(x=>({value:x.id.toString(),label:`Nav Block #${x.id}`})),label:"Select Navigation Block for PDF sections",description:"The PDF export selection should be based on a Navigation block.",placeholder:"Select Nav Block",ml:"xl",size:"xs",value:y.toString(),onChange:P})]}),jsx(ai,{value:d$1,onChange:h,item:"PDF export"}),g.length>0&&jsxs(Fragment,{children:[jsx(Text,{fw:500,size:"sm",children:"Select variants to enable PDF export:"}),jsx(Checkbox.Group,{value:u,onChange:S,children:jsx(Stack,{spacing:"xs",children:g.map(x=>jsx(Checkbox,{value:x.value,label:x.label,description:x.dimensionName,size:"sm"},x.value))})})]})]})]})]}),jsxs(Accordion.Item,{value:"xlsx",children:[jsx(Accordion.Control,{children:"XLSX Export"}),jsxs(Accordion.Panel,{children:[jsx(Ro,{target:jsx(Switch,{label:"Enable XLSX export",checked:!!i.xlsx?.enabled,onChange:x=>M(x.currentTarget.checked)}),dropdown:jsxs(Fragment,{children:[jsx(Text,{fw:700,children:"Xlsx Exports"}),jsx(Text,{fw:400,children:"This feature will allow user to download the XlSX version of the report visualizations."})]})}),i.xlsx?.enabled&&jsxs(Stack,{mt:"md",children:[jsx(ai,{value:F,onChange:D,item:"XLSX export"}),g.length>0&&jsxs(Fragment,{children:[jsx(Text,{fw:500,size:"sm",children:"Select variants to enable XLSX export:"}),jsx(Checkbox.Group,{value:O,onChange:I,children:jsx(Stack,{spacing:"xs",children:g.map(x=>jsx(Checkbox,{value:x.value,label:x.label,description:x.dimensionName,size:"sm"},x.value))})})]})]})]})]})]})]})})}var ci={export:"Export",pdf:{label:"Download PDF",desc:"Generates a printable version of the report page in PDF format.",cancel:"Cancel",export:"Export",generating:"Generating PDF...",selectAll:"Select All",deselectAll:"Deselect All",selectSectionsDescription:"Select the sections you want to include in your PDF:",sectionsSelected:"{count} sections selected"},xlsx:{label:"Download XLSX",desc:"Creates a downloadable spreadsheet of the report page data."}};function lc({node:e,level:o,index:t,getSelectionState:n,onToggleSection:s}){let i=t.join("."),[r,a]=useState(false),{isChecked:l,isIndeterminate:c}=n(e),p=va$1(u=>e.properties.sectionId?u.records.entities.section[e.properties.sectionId].settings:{showInPdf:"optional"}),m=p.showInPdf==="never",f=p.showInPdf==="always";if(m)return null;let g$1=u=>{e.properties.sectionId!==void 0&&s(e.properties.sectionId,u);};return jsxs(Box,{className:"bespoke-pdf-content-modal-node-container",children:[jsxs(Group,{spacing:"sm",pl:`${o*24}px`,children:[jsx(ActionIcon,{className:"bespoke-pdf-content-modal-node-collapse",variant:"subtle",onClick:()=>a(u=>!u),sx:{visibility:e.children.length>0?"visible":"hidden"},children:r?jsx(IconChevronDown,{size:"0.725rem"}):jsx(IconChevronRight,{size:"0.725rem"})}),jsx(Checkbox,{className:"bespoke-pdf-content-modal-export-btn",checked:l,indeterminate:c,size:"xs",disabled:e.properties.sectionId===void 0||f,onChange:u=>g$1(u.currentTarget.checked),sx:{visibility:e.properties.titleType==="secondary"?"hidden":"visible"}}),jsxs(Group,{className:"bespoke-pdf-content-modal-node-label",onClick:()=>a(u=>!u),style:{flex:1},spacing:"xs",noWrap:true,children:[jsxs(Text,{size:"xs",fw:500,span:true,children:[i,"."]}),jsx(Text,{size:"xs",dangerouslySetInnerHTML:{__html:g(e.label)},span:true}),e.children.length>0&&jsx(Text,{size:"xs",span:true,children:`(${e.children.length})`})]})]}),e.children&&e.children.length>0&&r&&jsx(Stack,{spacing:"0rem",mt:"xs",className:"bespoke-pdf-content-modal-node-children",sx:u=>({position:"relative","::before":{content:'""',position:"absolute",top:rem(4),bottom:rem(4),left:rem(14+o*24),width:rem(1),backgroundColor:u.colors.gray[3],zIndex:0}}),children:e.children.map((u,d)=>jsx(lc,{node:u,level:o+1,index:[...t,d+1],getSelectionState:n,onToggleSection:s},u.id))})]})}function fv({translations:e,content:o,selection:t,download:n,callbacks:s}){let{getSelectionState:i,selectedSections:r}=t,{isDownloading:a,handleDownload:l}=n,{handleToggleSection:c,handleSelectAll:p,handleDeselectAll:m}=s;return jsxs(Fragment,{children:[jsx(Text,{size:"sm",color:"dimmed",mb:"md",children:e.pdf.selectSectionsDescription}),jsx(Stack,{className:"bespoke-pdf-content-modal-outline",spacing:"xs",sx:{maxHeight:"400px",overflowY:"auto"},children:o.map((f,g)=>jsx(lc,{node:f,level:0,index:[g+1],getSelectionState:i,onToggleSection:c},f.id))}),jsxs(Group,{className:"bespoke-pdf-content-modal-footer",position:"apart",align:"center",mt:"md",children:[jsxs(Group,{position:"left",className:"bespoke-pdf-content-modal-footer-btn-group",children:[jsx(Anchor,{component:"button",className:"bespoke-pdf-content-modal-deselect-btn",variant:"light",size:"xs",onClick:m,children:e.pdf.deselectAll}),jsx(Anchor,{component:"button",className:"bespoke-pdf-content-modal-select-btn",variant:"light",size:"xs",onClick:p,children:e.pdf.selectAll})]}),jsx(Text,{size:"xs",fw:700,c:"gray.6",children:e.pdf.sectionsSelected.replace("{count}",r.size.toString())})]}),jsx(Button,{className:"bespoke-pdf-content-modal-export-btn",leftIcon:jsx(IconFileTypePdf,{size:"1rem"}),disabled:r.size===0||a,loading:a,onClick:l,w:"100%",size:"md",mt:"md",children:a?e.pdf.generating:e.pdf.export})]})}function gv({modalProps:e,onDownloadPDF:o,translations:t}){let{navBlockId:n}=to(),s=va$1(P=>n?P.records.entities.block[n]:void 0),i=Ft(1,10,s?.inputs||[]),[r,a]=useState(false),l=b(),{selectedSections:c,handleToggleSection:p,handleSelectAll:m,handleDeselectAll:f,getSelectionState:g,topLevelState:u}=ui(i),w={translations:t,selection:{topLevelState:u,getSelectionState:g,selectedSections:c},download:{isDownloading:r,handleDownload:async()=>{if(!(!o||c.size===0)){l("pdf_download_start",{selectedSections:Array.from(c)},{component:"DownloadOptions"}),a(true);try{await o(Array.from(c)),e.onClose?.();}finally{a(false);}}}},callbacks:{handleToggleSection:p,handleTopLevelToggle:P=>{P?m():f();},handleSelectAll:m,handleDeselectAll:f},content:i},{components:S}=we(),h=S?.PdfSectionSelectorPanel,v=h?h(w):fv(w);return jsx(Kn,{opened:e.opened,onClose:e.onClose,panels:{pdf:{label:t.pdf.label,component:v}}})}function cc({onDownloadPDF:e,onDownloadCSV:o,sectionSelection:t}){let[n,s]=useState(false),[i,r]=useState(false),[a,l]=useState(false),c=useMediaQuery("(max-width: 768px)"),p=Ee("export"),{isLoading:m}=to(),f=b(),g={...ci,...p,pdf:{...ci.pdf,...p?.pdf||{}},xlsx:{...ci.xlsx,...p?.xlsx||{}}},u=async()=>{if(o){f("csv_download_start",{},{component:"DownloadOptions"}),s(true);try{await o();}finally{s(false),l(false);}}},d=async()=>{if(e){f("pdf_download_start",{},{component:"DownloadOptions"});try{await e();}catch(H){throw console.error("PDF download failed:",H),H}}},y=(H,O,F,I,D,M)=>jsx(Button,{id:M,size:"sm",onClick:H,disabled:O,fullWidth:true,variant:"subtle",h:"auto",px:"xs",w:"100%",styles:()=>({inner:{width:"100%",display:"block"}}),children:jsxs(Group,{noWrap:true,position:"left",spacing:"xs",w:"100%",children:[O?jsx(Loader,{size:"1.75rem"}):F,jsxs(Stack,{spacing:0,w:"100%",py:"0.5rem",className:"bespoke-report-download-btn-text-container",children:[jsx(Text,{w:"100%",size:"sm",lineClamp:1,className:"bespoke-report-download-btn-text-container-cta",children:I}),D&&jsx(Text,{size:"xs",w:"100%",lineClamp:2,maw:"100%",sx:{wordWrap:"break-word",whiteSpace:"normal"},variant:"dimmed",lh:"0.9rem",h:"1.9rem",className:"bespoke-report-download-btn-text-desc",children:D})]})]})}),w=(H,O,F,I,D,M)=>jsx(Tooltip,{label:D,withArrow:true,position:"top",children:jsx(Button,{id:M,size:"sm",onClick:H,disabled:O,leftIcon:O?jsx(Loader,{size:"1.2rem"}):F,variant:"subtle",fullWidth:c,children:I})}),S=e&&y(t?()=>r(true):d,false,jsx(IconFileTypePdf,{size:"1.75rem"}),g.pdf.label,g.pdf.desc,"bespoke-download-pdf-btn"),h=o&&y(u,n,jsx(IconFileTypeXls,{size:"1.75rem"}),g.xlsx.label,g.xlsx.desc,"bespoke-download-xlsx-btn"),v=e&&o,P=v?null:e?w(t?()=>r(true):e,false,jsx(IconFileTypePdf,{size:"1.2rem"}),g.pdf.label,g.pdf.desc,"bespoke-download-pdf-btn"):o?w(u,n,jsx(IconFileTypeXls,{size:"1.2rem"}),g.xlsx.label,g.xlsx.desc,"bespoke-download-xlsx-btn"):null;return e||o?jsxs(Fragment,{children:[jsx(Affix,{position:{bottom:c?rem(0):rem(20),right:c?rem(0):rem(20)},id:"bespoke-report-download-affix",sx:{width:c?"100%":"auto",boxShadow:c?"0px -2px 6px rgba(0, 0, 0, 0.1)":"0px 2px 6px rgba(0, 0, 0, 0.1)",borderRadius:"0.25rem",background:"white"},p:"xs",children:v?jsxs(Popover,{opened:a&&!m,onChange:l,position:"top",shadow:"md",width:c?"100%":250,id:"bespoke-report-download-popover",children:[jsx(Popover.Target,{children:jsx(Button,{id:"bespoke-report-download-btn",size:"sm",onClick:()=>l(H=>!H),leftIcon:jsx(IconDownload,{size:"1.2rem"}),variant:"subtle",disabled:m,loading:n,fullWidth:c,children:g.export})}),jsx(Popover.Dropdown,{p:"0.5rem",children:jsxs(Stack,{spacing:"xs",children:[S,h]})})]}):P}),t&&!m&&jsx(gv,{modalProps:{opened:i,onClose:()=>r(false)},onDownloadPDF:e,translations:g})]}):null}var vv=e=>new Promise((o,t)=>{if(!e||e.length===0){t(new Error("No data provided"));return}try{let n=Ao.utils.book_new();e.forEach((a,l)=>{if(a.data&&a.data.length>0){let c=a.data[0],p=Ao.utils.json_to_sheet(c),m=yv(a.fileName||`Sheet${l+1}`,l),f=1;for(;n.SheetNames.includes(m);){let g=` (${f})`;m=`${m.slice(0,31-g.length)}${g}`,f++;}Ao.utils.book_append_sheet(n,p,m);}});let s=Ao.write(n,{bookType:"xlsx",type:"binary"}),i=new Blob([Sv(s)],{type:"application/octet-stream"}),r=new ku;r.file(`${uc()}.xlsx`,i),r.generateAsync({type:"blob",compression:"DEFLATE",compressionOptions:{level:9}}).then(a=>{o(a);}).catch(t);}catch(n){t(n);}});function yv(e,o){let t=e.replace(/[:\\/?*[\]]/g,"");return t.trim().length===0&&(t=`Sheet${o+1}`),t.slice(0,31)}function Sv(e){let o=new ArrayBuffer(e.length),t=new Uint8Array(o);for(let n=0;n<e.length;n++)t[n]=e.charCodeAt(n)&255;return o}function uc(){let e=window.document.querySelector("title")?.textContent;return e||`data_export_${new Date().toISOString()}`}var xv=async e=>{try{let o=await vv(e);saveAs(o,`${uc()}.zip`);}catch(o){console.error("Error generating file:",o);}},dc=xv;var hc=createContext({print:false,isEmbed:false});function Je(){let e=useContext(hc);if(e===void 0)throw new Error("usePrint must be used within a PrintContext");return e}function bc(e){return useMemo(()=>e.data.reduce((t,n)=>(n.blocks&&n.blocks.forEach(s=>{t[s]=n.id;}),t),{}),[e.data])}function Lv({sectionLoader:e,mode:o,timestamp:t}){let{query:n,asPath:s,locale:i}=useRouter(),r=to(),{printReport:a,error:l,setError:c$1}=wr(),p=va$1(h=>h.status?.previews?.map(v=>v.variant_id).join(" ")),m=va$1(h=>h.status?.previews?.map(v=>v.id).join(" ")),f=b(),g=za(),u=Ue(),d=di();Tn();let y=Gu(n.print)??false,w=o==="embed";useEffect(()=>{m&&m.trim().length>0&&f("report_view",{profilePath:s,locale:i||"en"},{component:"Report"});},[m,f,s,i]);let S=useMemo(()=>(n.sections&&typeof n.sections=="string"?n.sections.split(","):[]).filter(v=>{let P=parseInt(v,10);return !isNaN(P)&&Number.isInteger(P)&&P>0&&String(P)===v.trim()}),[n.sections]);return jsxs(hc.Provider,{value:{print:y,isEmbed:w},children:[jsxs(Container,{id:"bespoke-report",className:u.comparisonLoaded?"compare":"",p:0,pos:"relative","data-report-members":m,"data-report-variants":p,"data-report-timestamp":t,fluid:true,children:[g.isSuccess&&g.data.filter(h=>{let v=h.settings?.showInPdf||"optional";return y&&v==="never"?false:y&&v==="always"||S.length===0?true:S.includes(String(h.id))}).sort(c).map(h=>jsx(Jl,{section:h,sectionLoader:e,print:y},h.id)),Ov({pdf:r,print:y,printReport:a,downloadCSV:dc,isPosition:rc,handleLoadData:d,sectionSelection:r.sectionSelection})]}),l&&jsx(Affix,{position:{bottom:rem(80),right:rem(20)},children:jsx(Notification,{title:"Error",color:"red",onClose:()=>c$1(null),icon:jsx(IconX,{size:"1.1rem"}),children:l})})]})}var CM=Lv;function Ov({pdf:e,print:o,printReport:t,downloadCSV:n,isPosition:s,handleLoadData:i,sectionSelection:r}){return o||!s(e.position,"DEFAULT")?null:e.active||e.XlsxVizActive?jsx(cc,{onDownloadPDF:e.active?t:void 0,onDownloadCSV:e.XlsxVizActive?async()=>{let a=await i();a&&a.length>0?await n(a):console.error("No data loaded for CSV download");}:void 0,sectionSelection:r}):null}function di(){let e=za(),o=to(),t=vc.locale,n=Oa(t),s=va$1(S=>S),i=Ee("options"),r={...Or,...i.data_tab},a=Pa(),l=a$1(),c$1=e.data?.sort(c).filter(S=>S.settings?.hidden!==true).filter(S=>S.settings?.showInPdf!=="never").reduce((S,h)=>(h.blocks&&h.blocks.length>0&&S.push(...h.blocks),S),[])??[],p=bc({data:e.data||[]}),{sectionsVariables:m,resetSectionVariables:f,setSectionVariables:g}=Wa(e.data?.map(S=>S.id)||[]),u=c$1.reduce((S,h)=>{let v=s.records.entities.block[h],P=s.variables.status[h];return z.VIZ===v?.type&&P?.allowed&&S.push({id:h,entity:v,variables:s.variables.variables[h],status:s.variables.status[h],inputVariablesFlat:v.inputs.reduce((H,O)=>({...H,...s.variables.variables[O]}),s.variables.attributes)}),S},[]),d=async(S,h,v)=>{let P=dataLoad.bind({});return new Promise((H,O)=>{P(h,null,null,(F,I)=>{if(F)O(F);else try{S||(S={data:[]}),Array.isArray(S.data)||(S.data=[]);let D=v instanceof Function?v(I):I;S.data.unshift(D),S.rawData=I,H(S);}catch(D){O(D);}});})};function y(S){return S=S.replace(/<p>/g,""),S=S.replace(/<\/p>/g,""),S}return useCallback(async()=>{if(!o.XlsxVizActive)return;let S=[],h=[],v=0,P=1;for(let F of u){let I=F.entity,D=O(I),M=F.inputVariablesFlat,x={variables:M},A=J({logic:D.logic},n,x).logic,E={router:vc,section:{variables:m[p[I.id]],setVariables:g(m[p[I.id]]),resetVariables:f(m[p[I.id]])}},V=b$2(A,n,M,t,null,{},E,a,l),B=V.config._downloadTitle||V.config.title||`${r.viz_source} ${v+1}`,L=V.config._downloadFileName||B;if(V.config._downloadEnabled!==false){let G=V.config._downloadUrl||V.config.data;if(!G){console.error("API is undefined for block:",I.id);continue}let j=typeof G=="string"?[G]:G,ee=V.dataFormat instanceof Function?V.dataFormat:false,re=V.config._downloadDataFormat instanceof Function?V.config._downloadDataFormat:false,se=V.config._downloadSectionName,Q=V.config._downloadSource;try{let q=await d({ix:v,id:I.id,title:Cr(B),fileName:Q?se?`${P} ${y(se)}`:`${P} ${L}`:se?y(se):L,data:j,loading:!1,type:z.VIZ},G,re||ee);if(Q){let Z=Array.isArray(q.rawData)?q.rawData:[q.rawData],J=new Set;Z.forEach((W,_)=>{let C=Q(W),N=C.name.trim().split(`
12
+ `),X=C.description.trim().split(`
13
+ `),z=C.link.trim().split(`
14
+ `),pe=N.map(ae=>ae.trim()).filter(Boolean),ie=X.map(ae=>ae.trim()).filter(Boolean),Se=z.map(ae=>ae.trim()).filter(Boolean),he=Math.max(pe.length,ie.length,Se.length),Ae=!1;for(let ae=0;ae<he;ae++){let Xe=pe[ae]||pe[pe.length-1]||"",_t=ie[ae]||ie[ie.length-1]||"",Fe=Se[ae]||Se[Se.length-1]||"";!J.has(Fe)&&Xe&&_t&&Fe&&(Ae=!0,J.add(Fe),h.push({"Sheet Number":P,Name:se?`${y(se)} - ${L}${Z.length>1?` (${_+1})`:""}${he>1?` - ${ae+1}`:""}`:`${L}${Z.length>1?` (${_+1})`:""}${he>1?` - ${ae+1}`:""}`,Source:`${Xe} - ${_t} (${Fe})`}));}Ae&&P++;});}S.push(q),v++;}catch(q){console.error(`Error loading data for block ${I.id}:`,q);}}}let H=S,O$1={fileName:"Metadata",data:h.length>0?[h]:[]};return H.unshift(O$1),H},[o.XlsxVizActive,u,n,m,p,f,g,a,t,r,l.status])}function ui(e=[]){let o=va$1(u=>u.records.entities.section),t=useCallback(u=>o[u]?.settings,[o]);function n(u){return u.reduce((d,y)=>(y.properties.sectionId!==void 0&&d.push(y.properties.sectionId),y.children&&y.children.length>0&&d.push(...n(y.children)),d),[])}let[s,i]=useState(new Set(n(e))),r=useCallback(u=>{let d=h=>{for(let v of h){if(v.properties.sectionId===u)return v;if(v.children){let P=d(v.children);if(P)return P}}return null},y=d(e);if(!y||!y.children)return [];let w=[],S=h=>{for(let v of h)v.properties.sectionId!==void 0&&w.push(v.properties.sectionId),v.children&&S(v.children);};return S(y.children),w},[e]),a=useCallback(u=>{let d=(y,w)=>{for(let S of y)if(S.children)for(let h of S.children){if(h.properties.sectionId===w)return S.properties.sectionId??null;let v=d(S.children,w);if(v!==null)return v}return null};return d(e,u)},[e]),l=useCallback(u=>{let d=w=>{for(let S of w){if(S.properties.sectionId===u)return S;if(S.children){let h=d(S.children);if(h)return h}}return null},y=d(e);return y?.children?y.children.map(w=>w.properties.sectionId).filter(w=>w!==void 0):[]},[e]),c=useCallback((u,d)=>{i(y=>{let w=new Set(y);if(d){w.add(u),r(u).forEach(v=>w.add(v));let h=a(u);h!==null&&w.add(h);}else {w.delete(u),r(u).forEach(v=>w.delete(v));let h=a(u);if(h!==null&&!l(h).some(H=>w.has(H))){w.delete(h);let H=h;for(;H!==null;){let O=a(H);if(O!==null)if(!l(O).some(D=>w.has(D)))w.delete(O),H=O;else break;else break}}}return w});},[r,a,l]),p=useCallback(()=>{let u=n(e);i(new Set(u));},[e]),m=useCallback(()=>{i(new Set);},[]),f=useCallback(u=>{let d=u.properties.sectionId!==void 0&&s.has(u.properties.sectionId),y=u.children&&u.children.length>0,w=d,S=false;if(y){let h=H=>H.reduce((O,F)=>(F.properties.sectionId!==void 0&&O.push(F.properties.sectionId),F.children&&F.children.length>0&&O.push(...h(F.children)),O),[]),v=h(u.children),P=v.filter(H=>s.has(H));P.length===0?(w=false,S=false):P.length===v.length?(w=true,S=false):(w=false,S=true);}return {isChecked:w,isIndeterminate:S}},[s]),g=useMemo(()=>{let u=[],d=w=>{for(let S of w){if(S.properties.sectionId!==void 0){let h=t(S.properties.sectionId)||{showInPdf:"optional"},v=h.showInPdf==="never",P=h.showInPdf==="always";!v&&!P&&u.push(S.properties.sectionId);}S.children&&S.children.length>0&&d(S.children);}};if(d(e),u.length===0)return {isChecked:false,isIndeterminate:false};let y=u.filter(w=>s.has(w)).length;return y===0?{isChecked:false,isIndeterminate:false}:y===u.length?{isChecked:true,isIndeterminate:false}:{isChecked:false,isIndeterminate:true}},[e,s,t]);return {selectedSections:s,handleToggleSection:c,handleSelectAll:p,handleDeselectAll:m,getSelectionState:f,topLevelState:g}}var Sc=/\w*Compare\b/;function Sn(){let{query:e$1,locale:o,asPath:t}=useRouter(),{profilePrefix:n}=fb(),{compare:s}=e$1,i=va$1(F=>Object.values(F.records.entities.report)[0]),r=va$1(F=>F),a=b$1(r),l=e(r),c=f(r),p=k(l,o),m=Qe(),f$1=a$1(),[g,u]=useState(null),[d,y]=useState(null),[w,S]=useState(!!s),[h,v]=useState(false),[P,H]=useState(false),O=i.settings;return useEffect(()=>{let F=false,I=Tr.CancelToken.source();if(O.comparison&&s&&!h){S(true);let D={cancelToken:I.token};Tr.get(`/api/cms/report?report=${s}&locale=${o}&prefix=${n}`,D).then(M=>{if(!F){let[,x]=t.split("?"),A=x?JSON.parse('{"'+decodeURI(x).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"')+'"}'):{},E=Object.fromEntries(Object.entries(A).filter(([L])=>L.match(Sc)).map(([L,G])=>[L.replace("Compare",""),G])),V=Object.entries(A).filter(([L])=>L.match(Sc)).map(([L])=>Number(L.match(/\d+/))),B=M.data.data.variables;V.length?Promise.all(V.map(L=>{let j=a[L].consumers.reduce((re,se)=>({...re,...B.variables[se]}),{}),ee={locale:o,query:E,variables:{...j,...B.attributes}};return aa$1(a,void 0,L,p,ee,{variables:B.variables,status:B.status},m,"report",c,f$1)})).then(L=>{let G=Object.assign({},...L.map(ee=>ee.variables)),j=Object.assign({},...L.map(ee=>ee.status));H(false),S(false),v(true),u({variables:G,attributes:B.attributes,status:j}),y(M.data.data.status);}):(H(false),S(false),v(true),u(M.data.data.variables),y(M.data.data.status));}}).catch(()=>{F||(H(true),v(false),S(false),u(null));});}return s||(u(null),y(null),v(false)),()=>{F=true,I.cancel();}},[s,o,n,O.comparison,t,h,m]),{active:!!g,variables:g,status:d,setComparisonVariables:u,comparisonLoaded:h,loading:w,error:P}}var Gv=/\w*Compare\b/,Wv=/multihierarchySelector\d+(id|-(type|value))/;function _n(e$1,o,t,n,s=false){let i=useRouter(),{query:r,locale:a}=i,l=va$1(E=>E),c=useDispatch(),p=Ue(),m=va$1(E=>n&&p.variables?p?.variables?.attributes:E.variables.attributes),f$1=b$1(l),g=e(l),u=f(l),d=k(g,a),y=La(e$1,n&&p.active?p?.variables.variables:void 0,n&&p.active?p?.variables.attributes:void 0),w=va$1(E=>n?p.variables.variables:E.variables.variables),S=va$1(E=>n?p.variables.status:E.variables.status),h=Qe(),{sectionVariables:v,resetSectionVariables:P}=Va(o),{addRunConsumersRunning:H,removeRunConsumersRunning:O}=Xa$1(),F=a$1(),I=b(),D=n&&p.active?`${t}-valueCompare`:`${t}-value`,M=n&&p.active?`${t}-typeCompare`:`${t}-type`,x=n&&p.active?Object.fromEntries(Object.entries(r).filter(([E])=>E.match(Gv)).map(([E,V])=>[E.replace("Compare",""),V])):Object.fromEntries(Object.entries(r).filter(([E])=>E.match(Wv)).map(([E,V])=>[E.replace("Compare",""),V]));return useCallback((E,V)=>{let B={locale:a,query:{...x,[`${t}-type`]:V,[`${t}-value`]:E},variables:y},L=new URLSearchParams(window.location.search);E&&V?(L.set(D,E.join(",")),L.set(M,V)):(L.delete(D),L.delete(M)),window.history.replaceState(null,null,`?${L.toString()}`),I("multihierarchy_selector_change",{blockId:e$1,sectionId:o,selectorIdentifier:t,value:E,valueType:V,asComparison:n},{component:"MultiHierarchySelector"}),H([o]),aa$1(f$1,void 0,e$1,d,B,{variables:w,status:S},h,"report",u,F).then(G=>{s&&v&&P(),p.active&&n?p.setComparisonVariables({attributes:m,variables:G.variables,status:G.status}):c(ga$1.setVariableChange({attributes:m,variables:G.variables,status:G.status})),O([o]);});},[n,m,e$1,f$1,p,c,d,S,w,a,x,h,t,M,D,y,v,s,P,I])}function ni(){let{locales:e}=useRouter(),o=location&&location.pathname.split("/").filter(t=>t.length>0)[0];return e?.includes(o)}var{localeDefault:Qv}=a();function Zv({exploreProps:e={profilePrefix:"/",locale:Qv},icon:o=jsx(IconSearch,{size:20}),actionIconProps:t={},modalProps:n={},tooltipProps:s={},tooltipText:i="Click to Explore",showIcon:r=true,showTooltip:a=false,children:l}){let[c,p]=useState(false),m={variant:"light",size:"md",radius:"md",...t},f={fullScreen:true,opened:c,onClose:()=>p(false)},g=jsx(ActionIcon,{...m,onClick:()=>p(true),children:o}),u=r?jsxs(Group,{spacing:"sm",style:{cursor:"pointer"},children:[l,g]}):l;return a&&(u=jsx(Tooltip,{label:i,...s,children:u})),jsxs(Fragment,{children:[jsx(Modal,{...f,...n,children:c&&jsx(kc,{...e,onSelect:()=>p(false)})}),jsx("div",{onClick:()=>p(true),children:l?u:jsx(Fragment,{children:g})})]})}var wc=Zv;var ry=forwardRef(({id:e,members:o,...t},n)=>{let s=o.map(i=>jsxs(Stack,{align:"center",children:[jsx(Text,{weight:500,children:i.name}),jsx(Badge,{color:"green",variant:"light",children:i.variant})]},i.id));return jsx("div",{ref:n,children:jsx(Group,{position:"apart",grow:true,...t,children:s})},e)}),Cc=ry;var gy=e=>{let{components:o}=we(),t=Cc;return o?.ReportItem&&(t=o?.ReportItem),e&&(t=e),t};function hy({locale:e,profilePrefix:o="/report",autocompleteProps:t={},tooltipProps:n={},tooltipText:s="Click to search",searchReportParams:i={},callback:r,children:a$1}){let l=useRouter(),c=l.locale,{localeDefault:p}=a(),m=b(),f=c===p?"":`/${c}`,g=gy(t?t.itemComponent:null),[u,d]=useState(""),[y,w]=useDebouncedValue(u,500),[S,h]=useState([]),[v,P]=useState(false),[H,O]=useState(false),[F,I]=useState(false),[D,M]=useState(!a$1),x=()=>{M(false);},A=()=>{M(true),L();},E=useRef(),V=useClickOutside(x),B=t?.searchConfig?.searchLimit??10,L=()=>{P(true);let Z={query:y,format:"profiles",locale:e,limit:B,visible:true,includes:true,noImage:false,variant:[],dimension:[],report:[],all:false,...i};Tr.get("/api/cms/search/reports",{params:Z}).then(J=>{J&&J.data&&J.data.data&&J.data.data.results&&h(J.data.data.results.map(W=>({id:W.id,reportName:W.report.name,href:`${f}${o}${W.path}`,reportPath:`${W.path}`,profilePrefix:o,value:`VALUE: ${W.id}`,members:W.members.map(_=>({original_id:_.metadata.id,name:_.name,id:_.id,variant:_.metadata.variant.name,image:{src:`/api/cms/member/image?member=${_.id}&size=thumb`,alt:_.name}}))}))),P(false),E.current?.focus();}).catch(J=>{console.error(J),P(false);});};useEffect(()=>{F&&y.length>=(t.searchConfig?.queryThreshold??0)&&L();},[F,y,t.searchConfig?.queryThreshold]),useEffect(()=>{F&&m("search_query",{query:y},{component:"BespokeSearch"});},[F,y]),useEffect(()=>{w(),E.current&&D&&I(true);},[]),useEffect(()=>{w(),E.current&&D&&I(true);},[D]);let G=Z=>{m("search_result_selected",{href:Z.href,reportPath:Z.reportPath,reportName:Z.reportName,members:Z.members.map(J=>({id:J.id,name:J.name,variantName:J.variant}))},{component:"BespokeSearch"}),M(false),r?r(Z):(l.push(Z.href),O(true));},j=Z=>{Z.includes("VALUE:")||d(Z);},{searchConfig:ee,...re}=t,se={placeholder:"Search",size:"md",icon:jsx(IconSearch,{}),...re,data:S},Q=jsx(Autocomplete,{value:u,itemComponent:g,onItemSubmit:G,onChange:j,filter:()=>true,disabled:(v||H)&&!F,limit:B,maxDropdownHeight:250,rightSection:jsx(Group,{spacing:0,position:"right",children:v?jsx(Loader,{size:20}):jsx(Fragment,{})}),rightSectionWidth:50,ref:E,...se});return a$1?jsx(Tooltip,{label:s,disabled:D,...n,children:jsxs(Group,{ref:V,spacing:"sm",align:"center",style:{cursor:"pointer"},children:[!D&&jsx("div",{onClick:()=>M(true),children:a$1}),D&&jsx(Fragment,{children:Q}),D?jsx(ActionIcon,{variant:"light",onClick:x,children:jsx(IconX,{size:20})}):jsx(ActionIcon,{variant:"light",onClick:A,children:jsx(IconSearch,{size:20})})]})}):Q}var Ac=hy;var{localeDefault:Lc}=a();function Sy(){let{components:e}=we(),{modal:o,inline:t}=e?.search??{};return {modal:o,inline:t}}function vo(e,o,t,n,s){let i=Sy(),r=va$1(m=>({reportId:m.variables.attributes.report_id,variantId:m.variables.attributes.variant_id1,title:m.variables.attributes.name1})),a=useRouter(),l=Qa(),c=Ee();return useMemo(()=>{let m=e;return o==="modal"?m=jsx(wc,{exploreProps:{locale:a.locale||Lc,profilePrefix:l,translations:c.explore,initialReportId:r.reportId,initialVariantId:r.variantId,initialQuery:r.title},tooltipText:c.explore?.tooltip,modalProps:i.modal,...s,children:e}):o==="inline"&&(m=jsx(Ac,{locale:a.locale||Lc,profilePrefix:l,callback:t,tooltipText:c.explore?.tooltip,...n,autocompleteProps:i.inline,children:e})),m},[o,e])}function Zr({reportId:e,reportName:o,members:t,href:n,onClick:s}){let i=t.map(a=>jsx(Image,{src:a.image.src,height:160,imageProps:{loading:"lazy"},alt:a.name},a.id)),r=t.map(a=>jsxs(Stack,{children:[jsx(Text,{weight:500,children:a.name}),jsx(Badge,{color:"green",variant:"light",w:"fit-content",children:a.variant})]},a.id));return jsxs(Card,{className:`report-${e}-tile`,shadow:"sm",p:"lg",radius:"md",withBorder:true,children:[jsx(Card.Section,{children:jsx(Group,{grow:true,spacing:0,children:i})}),jsx(Group,{position:"apart",mt:"md",mb:"xs",children:r}),jsx("a",{href:n,onClick:s,children:jsx(Button,{variant:"light",color:"blue",fullWidth:true,mt:"md",radius:"md",children:`See ${o} Report`})})]})}var Ey=e=>{let{components:o}=we(),t=Zr;return o?.ReportTile&&(t=o?.ReportTile),e&&(t=e),t};function Ry({profile:e,profilePrefix:o,onSelect:t,reportTile:n}){let s=useRouter(),i=s.locale,{localeDefault:r}=a(),{fireExploreEvent:a$1}=yt(),c=`${i===r?"":`/${i}`}${o}${e.path}`,p=e.members.map(u=>({original_id:u.metadata.id,name:u.name,id:u.id,dimension_id:u.metadata.dimension.id,dimension:u.metadata.dimension.name,variant_id:u.metadata.variant.id,variant:u.metadata.variant.name,image:{src:`/api/cms/member/image?member=${u.id}&size=thumb`,alt:u.name}})),m=u=>{s.push(`${u}`),t&&t();},f=u=>{u.preventDefault(),a$1("explore_result_selected",{profilePath:e.path,profilePrefix:o,url:c,reportId:e.report.id,reportName:e.report.name,members:p.map(d=>({id:d.id,name:d.name,variantId:d.variant_id,variantName:d.variant,dimensionId:d.dimension_id,dimensionName:d.dimension}))},{component:"ExploreTile"}),m(c);},g=Ey(n);return jsx(Grid.Col,{xs:12,sm:6,md:4,lg:4,xl:3,children:jsx(g,{reportId:e.report.id,reportName:e.report.name,members:p,href:c,onClick:f})},e.id)}var Mc=Ry;function Ny({profilePrefix:e,onSelect:o=()=>{},reportTile:t}){let[n,s]=useState(500),i=useRef(null),{results:r}=yt(),a=i.current?.offsetTop||0,l=50;return useEffect(()=>{let{innerHeight:c}=window;s(c-a-l);},[a]),jsx(ScrollArea,{offsetScrollbars:true,type:"always",h:n,ref:i,children:jsx(Grid,{align:"stretch",children:r.map(c=>jsx(Mc,{profile:c,profilePrefix:e,reportTile:t,onSelect:o},c.id))})})}var Dc=Ny;function zy(){let{activePage:e,setActivePage:o,pageSize:t,currentPageTotal:n,fireExploreEvent:s}=yt();return jsx(Group,{position:"center",children:jsx(Pagination,{value:e,onChange:r=>{s("explore_page_change",{page:r},{component:"ExplorePagination"}),o(r);},total:Math.ceil(n/t),size:"sm",py:"xs"})})}var Fc=zy;function Xy({profilePrefix:e,initialReportId:o,initialVariantId:t,translations:n,onSelect:s,reportTile:i,initialQuery:r}){let a=useRef(),l=yt(),{query:c,setQuery:p,results:m,loadingItems:f,loadingMetadata:g,translations:u,setTranslations:d,initExplore:y}=l;useEffect(()=>{y&&y(o,t,r);},[y]),useEffect(()=>{f||a.current?.focus();},[f]),useEffect(()=>{n&&d(n);},[n]);let w=()=>{p("");};return jsxs(Container,{fluid:true,pt:"1em",children:[jsx(TextInput,{placeholder:u.search,mb:"md",size:"xl",onChange:S=>p(S.target.value),readOnly:g||f,icon:jsx(IconSearch,{size:24}),value:c,rightSectionWidth:100,rightSectionProps:{style:{justifyContent:"flex-end",padding:"0 15px 0 0"}},rightSection:jsxs(Group,{align:"center",children:[(g||f)&&jsx(Loader,{size:28}),c&&c!==""&&jsx(ActionIcon,{onClick:w,children:jsx(IconTrash,{size:24})})]}),ref:a}),jsx(Di,{translations:u}),jsx(LoadingOverlay,{visible:g||f}),!f&&m.length===0&&jsx(Alert,{title:u.no_results,color:"blue",children:u.try_another}),jsx(Dc,{profilePrefix:e,onSelect:s,reportTile:i}),jsx(Fc,{})]})}var kc=Xy;/*! Bundled license information:
15
+
16
+ @tanstack/react-virtual/build/lib/_virtual/_rollupPluginBabelHelpers.mjs:
17
+ @tanstack/react-virtual/build/lib/index.mjs:
18
+ (**
19
+ * react-virtual
20
+ *
21
+ * Copyright (c) TanStack
22
+ *
23
+ * This source code is licensed under the MIT license found in the
24
+ * LICENSE.md file in the root directory of this source tree.
25
+ *
26
+ * @license MIT
27
+ *)
28
+
29
+ @tanstack/virtual-core/build/lib/_virtual/_rollupPluginBabelHelpers.mjs:
30
+ @tanstack/virtual-core/build/lib/utils.mjs:
31
+ @tanstack/virtual-core/build/lib/index.mjs:
32
+ (**
33
+ * virtual-core
34
+ *
35
+ * Copyright (c) TanStack
36
+ *
37
+ * This source code is licensed under the MIT license found in the
38
+ * LICENSE.md file in the root directory of this source tree.
39
+ *
40
+ * @license MIT
41
+ *)
42
+ */export{vl as A,Sl as B,Nl as C,Xn as D,jB as E,Fl as F,Qs as G,Ro as H,ai as I,rv as J,Je as K,CM as L,Be as M,Ag as N,Lg as O,Og as P,Bg as Q,Ms as R,No as a,ep as b,Qe as c,xr as d,ap as e,Vt as f,Ml as g,Ks as h,qs as i,ol as j,nl as k,rl as l,tn as m,l_ as n,qo as o,ke as p,Gi as q,mp as r,cu as s,ji as t,Hu as u,yt as v,nS as w,kc as x,wc as y,Ac as z};
@@ -0,0 +1,3 @@
1
+ import {i,X,j}from'./chunk-AA4WMKFB.js';import {dataConcat}from'd3plus-viz';import {jsx}from'react/jsx-runtime';var x=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",L="Error Rendering Visualization",d={data:[],dataFormat:r=>r,type:"Treemap",noDataHTML:`<p style="font-family: 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;">
2
+ <strong>${L}</strong>
3
+ </p>`},y=(r,n,o)=>{let t=n.find(a=>{let s=a.content?.pattern;if(!s)return false;try{return new RegExp(s,"gm").test(r)}catch{return false}});if(t){if(t.content?.useProxy)return `${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/api/cms/url/proxy?url=${encodeURIComponent(r)}&wrapper=false`;try{let s={envs:{...X()},...o?{session:o}:{}},i=j({vars:["url","libs","session"],logic:t.content.logic},s)(r);if(i instanceof Promise)console.warn(`[DataSource] Logic for "${t.name}" is async, which is not supported in this context. Use useProxy=true for async logic.`);else if(i?.axiosConfig?.url!=null){let{url:c,headers:e}=i.axiosConfig;return e&&Object.keys(e).length>0?{url:c,headers:e}:c}}catch(a){console.error(`[DataSource] Failed to apply logic for URL "${r}":`,a.message);}}return r},g=(r,n,o)=>typeof r=="string"?y(r,n,o):Array.isArray(r)?r.map(t=>typeof t=="string"?y(t,n,o):t):r,T=(r,n,o={},t=x,a=null,s={},u={},i$1=[],c)=>{let e;try{e=i({vars:["variables"],logic:r},n,t,s,u)(o),e.data=g(e.data,i$1,c),e._downloadUrl&&(e.__downloadUrl=g(e.__downloadUrl,i$1,c));}catch(l){return console.error(`Parsing Error in propify (ID: ${a})`),console.error(`Error message: ${l.message}`),{error:`${l}`,config:d}}if(typeof e!="object")return {error:"Visualization JS code must return an object",config:d};let F=e.dataFormat?e.dataFormat:l=>{let U=Array.isArray(e.data)&&e.data.length>1&&e.data.some(E=>typeof E=="string")?l:[l];return dataConcat(U,"data")};delete e.dataFormat;let h=e.linksFormat||void 0;delete e.linksFormat;let D=e.nodesFormat||void 0;delete e.nodesFormat;let S=e.topojsonFormat||void 0;return delete e.topojsonFormat,{config:e,dataFormat:F,linksFormat:h,nodesFormat:D,topojsonFormat:S}},P=T;var B="HTML",H=({config:r})=>!r||!r.html?null:jsx("div",{className:"bespoke-html",dangerouslySetInnerHTML:{__html:r.html}});export{g as a,P as b,B as c,H as d};
@@ -0,0 +1 @@
1
+ var n={ADMIN:"Admin",EDITOR:"Editor",WRITER:"Writer"},t={APP:"App",USER:"User"},i=e=>{let s=Object.values(n);return e?e.map(r=>({...r,type:s.includes(r.name)?t.APP:t.USER})):[]};export{n as a,i as b};
@@ -0,0 +1 @@
1
+ import t from'react';import {notifications}from'@mantine/notifications';var e=class extends t.Component{constructor(r){super(r),this.state={hasError:false};}static getDerivedStateFromError(r){return console.info("getDerivedStateFromError",r),{hasError:true}}componentDidCatch(r,o){console.error("Error information:",o.componentStack),notifications.show({autoClose:false,color:"red",id:"revalidate-error",message:"Check the console for more details",title:r.message});}render(){return this.state.hasError?this.props.fallback:this.props.children}};export{e as a};