@datawheel/bespoke 0.9.9 → 0.9.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Viz-2WA2DO5Z.js +1 -0
- package/dist/Viz-IRE7JJIA.js +1 -0
- package/dist/Viz-PDOOW4XD.css +1 -0
- package/dist/auth.js +1 -1
- package/dist/chunk-2D75X364.js +3 -0
- package/dist/chunk-5NVVEPZQ.js +1 -0
- package/dist/chunk-7K6SKRXP.js +1 -0
- package/dist/chunk-A4E2IRNO.js +1 -0
- package/dist/chunk-EYRXKCMJ.js +35 -0
- package/dist/chunk-G6UW4ISL.js +1 -0
- package/dist/chunk-JU4YILPF.js +1 -0
- package/dist/chunk-P6ORTCRN.js +1 -0
- package/dist/chunk-PGBDZWWY.js +42 -0
- package/dist/chunk-QZ5NBDGE.js +1 -0
- package/dist/cms.js +22 -95
- package/dist/explore.js +1 -43
- package/dist/index.js +1 -1
- package/dist/redux-store.js +1 -6
- package/dist/report.js +1 -48
- package/dist/server.js +11 -15
- package/package.json +2 -1
package/dist/cms.js
CHANGED
|
@@ -1,83 +1,38 @@
|
|
|
1
|
-
import'path';import'url';import*as BP from'd3-array';import*as DP from'd3-collection';import {nest}from'd3-collection';import*as _P from'd3-format';import {format as format$1}from'd3-format';import*as NP from'd3-time-format';import {formatAbbreviate}from'd3plus-format';import {date}from'd3plus-axis';import {isObject,merge,closest,assign}from'd3plus-common';import {titleCase,strip}from'd3plus-text';import KP from'jsonwebtoken';import {schema,normalize}from'normalizr';import Mu from'axios';import Yl from'yn';import {format}from'pretty-format';import SO from'next/config';import aS from'axios-retry';import CO from'toposort';import {csvParse,csvFormat}from'd3-dsv';import {createSlice,configureStore}from'@reduxjs/toolkit';import {HYDRATE,createWrapper}from'next-redux-wrapper';import {notifications,Notifications}from'@mantine/notifications';import {signOut,useSession}from'next-auth/react';import*as wn from'react';import wn__default,{forwardRef,useState,useEffect,useImperativeHandle,createContext,useCallback,useRef,useMemo,useContext,Fragment as Fragment$2,memo,createElement}from'react';import {useDispatch,useSelector}from'react-redux';import {Group,Stack,Text,ThemeIcon,useMantineTheme,List,UnstyledButton,Center,createStyles,Image,Checkbox,Input,Select,NumberInput,Accordion,TextInput,Badge,rem,ScrollArea,Tooltip,Divider,MultiSelect,Button,Switch,Radio,Title,Box,Anchor,Skeleton,SegmentedControl,Flex,ActionIcon,Popover,px,Modal,CopyButton,Loader,Textarea,Col,Grid,Tabs,Overlay,Collapse,Alert,Breadcrumbs,Menu,Code,packSx,MantineProvider,Navbar,Avatar,AppShell,HoverCard,Paper,Card,Space,Container,LoadingOverlay,Pagination,CloseButton,Drawer,Notification,FileInput,SimpleGrid,Header,Autocomplete,MediaQuery,clsx}from'@mantine/core';import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useRouter}from'next/router';import {saveAs}from'file-saver';import {useListState,useSetState,randomId,useClickOutside,useDisclosure,useFullscreen,useDebouncedValue,getHotkeyHandler,useUncontrolled,useHotkeys,useMergedRef,useMediaQuery}from'@mantine/hooks';import SB from'slugify';import {Prism}from'@mantine/prism';import {IconCirclePlus,IconCircleCheck,IconLogout,IconBraces,IconGripVertical,IconDice,IconBoxMultiple,IconEyeOff,IconFlag,IconChevronDown,IconBallpen,IconDatabase,IconMathFunction,IconNetwork,IconUsers,IconLanguage,IconLanguageOff,IconPhotoFilled,IconFileUpload,IconInfoCircle,IconLogin,IconWorld,IconLock,IconPencil,IconCopy,IconCheck,IconPlus,IconTrash,IconDeviceFloppy,IconCircleX,IconPalette,IconSettings,IconChevronRight,IconCode,IconBold,IconItalic,IconUnderline,IconArrowBackUp,IconArrowForwardUp,IconAlignLeft,IconAlignCenter,IconAlignRight,IconAlignJustified,IconGlobe,IconLinkOff,IconX,IconGitMerge,IconAlertTriangle,IconHelp,IconMinimize,IconMaximize,IconAlertCircle,IconCloudNetwork,IconClockHour2,IconApi,IconAugmentedReality,IconListTree,IconTable,IconPhoto,IconSelector,IconChartBar,IconPercentage,IconHeading,IconCodePlus,IconServer,IconPlayerPlay,IconCircleCheckFilled,IconFileAnalytics,IconCircleDashed,IconHome,IconChevronLeft,IconSearch,IconRefresh,IconQuestionMark,IconGripHorizontal,IconListCheck,IconPolaroid,IconCircleMinus,IconVariable,IconArrowRightCircle,IconSlash,IconHelpCircle,IconCamera,IconShare,IconUpload,IconFileCode,IconWorldUpload,IconSettingsFilled,IconArrowLeft,IconArrowRight,IconIndentIncrease,IconCodeDots,IconBinaryTree,IconLink,IconSparkles,IconClipboardCheck,IconClipboardCopy,IconExternalLink,IconTemplate,IconDownload,IconFileTypeXls,IconFileTypeJs,IconFileTypeCsv,IconChevronUp,IconCircleKey}from'@tabler/icons-react';import PT,{Element as Element$1,domToReact,Text as Text$1}from'html-react-parser';import {dataConcat,dataLoad}from'd3plus-viz';import {MantineReactTable}from'mantine-react-table';import I1 from'jszip';import*as EV from'd3plus-react';import IV from'next/dynamic';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'xlsx';import Z8 from'next/head';import CP from'next/link';import {DragDropContext,Droppable,Draggable}from'@hello-pangea/dnd';import U_,{useMonaco}from'@monaco-editor/react';import {EditorProvider,useCurrentEditor,BubbleMenu,ReactRenderer}from'@tiptap/react';import P5 from'@tiptap/extension-underline';import O5 from'@tiptap/starter-kit';import L5 from'@tiptap/extension-mention';import M5 from'@tiptap/extension-hard-break';import {Plugin,PluginKey,Selection,TextSelection,NodeSelection}from'@tiptap/pm/state';import'@tiptap/pm/view';import'@tiptap/pm/keymap';import {Fragment as Fragment$1,Slice,Schema,DOMParser}from'@tiptap/pm/model';import {canSplit,joinPoint,liftTarget,canJoin,ReplaceStep,ReplaceAroundStep}from'@tiptap/pm/transform';import {wrapIn,setBlockType,selectTextblockStart,selectTextblockEnd,selectParentNode,selectNodeForward,selectNodeBackward,newlineInCode,liftEmptyBlock,lift,joinUp,joinTextblockForward,joinTextblockBackward,joinForward,joinDown,joinBackward,exitCode,deleteSelection,createParagraphNear}from'@tiptap/pm/commands';import {wrapInList,sinkListItem,liftListItem}from'@tiptap/pm/schema-list';import B5 from'@tiptap/extension-text-align';import D5 from'@tiptap/extension-placeholder';import K5 from'@tiptap/extension-typography';import*as br from'd3';import*as Xd from'd3-dag';import {useForm}from'@mantine/form';var vP=Object.defineProperty;var D=(e,t)=>()=>(e&&(t=e(e=0)),t);var ym=(e,t)=>{for(var o in t)vP(e,o,{get:t[o],enumerable:true});};var p=D(()=>{});var AP,We,Uo=D(()=>{p();AP=()=>{let e=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",t=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[e];return t.includes(e)||t.push(e),{localeDefault:e,locales:t}},We=AP;});function zr(e){if(!e)throw Error("Assertion Error")}function Rl(e,t){return +(e<t)-+(e>t)}function po(e,t,o="ordering"){return Rl(t[o],e[o])}function El(e){if(e===""||e.charCodeAt(e.length-1)==32)return false;for(let t=0;t<e.length;t++){let o=e.charCodeAt(t);if(o<32||o>126)return false}return true}function fv(e){zr(e.length!==0);for(let o=e.length-1;o>=0;o--){let r=e.charCodeAt(o);if(r>33){let n=e.substr(0,o)+String.fromCharCode(r-1);return zr(El(n)),n}}let t=e.substr(0,e.length-1)+" ~";return zr(El(t)),t}function wl(e){zr(e.length!==0);for(let o=e.length-1;o>=0;o--){let r=e.charCodeAt(o);if(r<126){let n=e.substr(0,o)+String.fromCharCode(r+1);return zr(El(n)),n}}let t=e+"!";return zr(El(t)),t}function gv(e,t){return Math.trunc((e+t)/2)}function hv(e,t){zr(e<t);let o=false,r="",n=Math.max(e.length,t.length);for(let i=0;i<n;i++){let a=i<e.length?e.charCodeAt(i):32,l=i<t.length&&!o?t.charCodeAt(i):126;if(a===l)r+=String.fromCharCode(a);else if(l-a>1){r+=String.fromCharCode(gv(a,l)),o=false;break}else r+=String.fromCharCode(a),o=true;}return o&&(r+=String.fromCharCode(gv(32,126))),zr(e<r),zr(r<t),zr(El(r)),r}function fn(e,t,o,r=false,n=true,i="ordering"){if(r)return o===0?e[t[0]]?fv(e[t[0]][i]):"!":o===t.length?wl(e[t[o-1]][i]):hv(e[t[o-1]][i],e[t[o]][i]);if(o===0)return fv(e[t[o]][i]);if(o===t.length-1)return wl(e[t[o]][i]);let a=n?o:o-1,l=n?o+1:o;return hv(e[t[a]][i],e[t[l]][i])}function Va(e,t=false){let o=e.reduce((r,n)=>Rl(n,r)<0?n:r,"!");return t?wl(o):o}var Go=D(()=>{p();});function Tm(e){let t=1+76.18009173/e-86.50532033/(e+1)+24.01409822/(e+2)-1.231739516/(e+3)+.00120858003/(e+4)-536382e-11/(e+5);return (e-.5)*Math.log(e+4.5)-(e+4.5)+Math.log(t*2.50662827465)}function bv(e,t,o){let r=0,n=1,i=1,a=1,l=0,s=0,c;for(;Math.abs((i-s)/i)>1e-5;)s=i,c=-(t+l)*(t+o+l)*e/(t+2*l)/(t+2*l+1),r=i+c*r,n=a+c*n,l+=1,c=l*(o-l)*e/(t+2*l-1)/(t+2*l),i=r+c*i,a=n+c*a,r/=a,n/=a,i/=a,a=1;return i/t}function PP(e,t,o){let r,n;if(e<0)n=0;else if(e>=t)n=1;else {e=Math.floor(e);let i=o,a=e+1,l=t-e,s=a+l,c=Math.exp(Tm(s)-Tm(l)-Tm(a)+a*Math.log(i)+l*Math.log(1-i));i<(a+1)/(s+2)?r=c*bv(i,a,l):r=1-c*bv(1-i,l,a),n=1-r;}return Math.round(n*1e5)/1e5}function OP(e){return {.99999:15.137,.99:6.635,.95:3.841,.9:2.706}[e]}function Il(e,t,o,r){let n=t/(1-t),i=0,a=1,l=0,s=0;for(;i<=e;)s+=a,i>=o&i<=r&&(l+=a),s>1e30&&(l/=1e30,s/=1e30,a/=1e30),i+=1,a=a*n*(e+1-i)/i;return l/s}function LP(e,t,o){let r=e/t,i=(100-o*100)/2,a,l;if(e===0)a=0;else {let s=r/2,c=0,u=r,d=i/100;for(;u-c>1e-5;)Il(t,s,e,e)*.5+Il(t,s,e+1,t)>d?(u=s,s=(c+s)/2):(c=s,s=(u+s)/2);a=s;}if(e===t)l=0;else {let s=(1+r)/2,c=r,u=1,d=i/100;for(;u-c>1e-5;)Il(t,s,e,e)*.5+Il(t,s,0,e-1)<d?(u=s,s=(c+s)/2):(c=s,s=(u+s)/2);l=s;}return {lci:a,uci:l}}function MP(e,t){let o=e,r=t,n=o,i=r,a=95,l=.5,s=.5,u=(100-a)/2/100,d=n;for(;s>1e-5;)s/=2,vu((1+d)*l/(1-l),d+1,1e10)+.5*vu((1+d)*l/(1-l),d,d)>u?l-=s:l+=s;let f=(1+d)*l/(1-l)/i;for(l=.5,s=.5,u=(100-a)/2/100;s>1e-5;)s/=2,vu((1+d)*l/(1-l),0,d-1)+.5*vu((1+d)*l/(1-l),d,d)<u?l-=s:l+=s;let m=(1+d)*l/(1-l)/i;return {lci:f,uci:m}}function vu(e,t,o){let r=1,n=0,i=0,a=0;for(;a<e||r>n*1e-10;)n+=r,a>=t&a<=o&&(i+=r),n>1e30&&(i/=1e30,n/=1e30,r/=1e30),a+=1,r=r*e/a;return i/n}var yv,vv=D(()=>{p();yv={binomialCdf:PP,binP:Il,computeMidP:LP,criticalValue:OP,smr:MP};});function ce(e){let t=e.logicFactory(jn);return WP[e.name]={description:e.description,inputType:e.inputType,logic:jP(t),testValue:e.testValue,type:e.type||"formatter"},t}function jP(e){let t=e.toString().trim();if(t.startsWith("function"))return t.replace(/^function(?:\s\w+)?\([^)]\)/,"").trim().replace(/^{([\s\S]+)\}$/,"$1");let o=t.replace(/^.+?=>/,"").trim();return o.startsWith("{")?o.replace(/^{([\s\S]+)\}$/,"$1"):`return ${o}`}var jn,WP,ke=D(()=>{p();vv();jn={d3:{...BP,...DP,..._P,...NP},d3plus:{assign:assign,closest:closest,date:date,formatAbbreviate:formatAbbreviate,merge:merge,strip:strip,titleCase:titleCase},stats:yv},WP={};});var Sv,xv=D(()=>{p();Sv={jwt:KP};});var $a,Ua,Ga=D(()=>{p();ke();xv();$a=(e,t={},o="en",r={},n={})=>{let i={setVariables:r.onSetVariables?r.onSetVariables:s=>s,openModal:r.onOpenModal?r.onOpenModal:s=>s,formatters:t,libs:jn,locale:o,...n};function a(s){return Function("globals",...s.vars,`with (globals) { ${s.logic} }`).bind(i,i)}function l(s){if(s.vars&&s.logic)return a(s);for(let c in s)Array.isArray(s[c])?s[c]=s[c].map(u=>isObject(u)?l(u):u):isObject(s[c])&&(s[c]=l(s[c]));return s}return l(e)},Ua=(e,t={})=>{let o={libs:Sv,...t};function r(i){return Function("globals",...i.vars,`with (globals) { ${i.logic} }`).bind(o,o)}function n(i){if(i.vars&&i.logic)return r(i);for(let a in i)Array.isArray(i[a])?i[a]=i[a].map(l=>isObject(l)?n(l):l):isObject(i[a])&&(i[a]=n(i[a]));return i}return n(e)};});function xu(e,t){let o=ZP[e];if(!o)throw new Error(`Invalid entity type: ${e}`);let{entities:r}=normalize(t,[o]);return {report:Mi(r,"report"),dimension:Mi(r,"dimension"),section:Mi(r,"section"),block:Mi(r,"block"),variant:Mi(r,"variant"),formatter:Mi(r,"formatter"),datasource:Mi(r,"datasource")}}function Mi(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:{}}var YP,Al,Tv,Cv,kv,XP,JP,QP,ZP,Ev,Kn,qn=D(()=>{p();Go();Ga();Uo();(({localeDefault:YP}=We())),Al=new schema.Entity("block",{},{mergeStrategy(e,t){return t.block_input?e||{}:{...e,...t}}});Al.define({consumers:[Al],inputs:[Al]});Tv=new schema.Entity("variant"),Cv=new schema.Entity("dimension",{variants:[Tv]},{processStrategy(e){return {...e,variants:"variants"in e?e.variants:[]}}}),kv=new schema.Entity("section",{blocks:[Al]}),XP=new schema.Entity("report",{dimensions:[Cv],sections:[kv]},{processStrategy(e){return {...e,sections:"sections"in e?e.sections.sort(po):[]}}}),JP=new schema.Entity("formatter"),QP=new schema.Entity("datasource"),ZP={report:XP,section:kv,block:Al,dimension:Cv,variant:Tv,formatter:JP,datasource:QP};Ev=(e,t=void 0)=>{let{sid:o,bid:r,previews:n=[],query:i={}}=t||{},a,l,s={};return o?(a=o,s.activeSection=a):a=e.activeSection,n.length>0?(l=n,s.previews=l.filter(Boolean)):l=e.previews,{parsedParams:{sid:a,bid:r,previews:l,query:i},statusPayload:s}},Kn=(e=[],t=YP)=>e.reduce((o,r)=>{let n=$a({vars:["n"],logic:r.content.logic},{},t,{});return o[r.name]=n,o},{});});function Sr(e,t){return e.request(t).then(o=>{let{status:r,data:n}=o;return "error"in n?{ok:false,status:r,error:n.error}:{ok:true,status:r,wrapper:n.wrapper,data:n.data}},o=>{if("isAxiosError"in o){let{status:r,data:n}=o.response||{status:500};return {ok:false,status:r,error:n?.error??o.message}}return {ok:false,status:500,error:o.message}})}function Ze(e,t,o){let r=typeof t=="string"?{url:t}:t;return n=>Sr(e,{...r,method:"GET",params:o?o(n):n})}function at(e,t,o){let r=typeof t=="string"?{url:t}:t;return n=>Sr(e,{...r,method:"POST",data:n})}function Yn(e,t,o){let r=typeof t=="string"?{url:t}:t;return n=>Sr(e,{...r,method:"DELETE",params:o?o(n):n})}var Ha=D(()=>{p();});function Di(e,t){return o=>Sr(e,{method:"POST",url:`images/save/${t}`,params:{prompt:o.prompt,provider:t}})}var wv=D(()=>{p();Ha();});function Wa(e,t){return o=>Sr(e,{method:"GET",url:`images/search/${t}`,params:{prompt:o.prompt,page:o.page,provider:t}})}var Rv=D(()=>{p();Ha();});function Iv(e,t){return ()=>Sr(e,{method:"GET",url:`list/icons/${t}`,params:{provider:t}})}var Av=D(()=>{p();Ha();});function Pv(e,t){return o=>Sr(e,{method:"GET",url:`read/icons/${t}/icon.svg`,params:{name:o.name}})}var Ov=D(()=>{p();Ha();});function Pl(e){let t=Mu.create({baseURL:e});return {createBulkBlock:at(t,"create/bulk/block"),createBlock:at(t,"create/block"),createDimension:at(t,"create/dimension"),createFormatter:at(t,"create/formatter"),createReport:at(t,"create/report"),createSection:at(t,"create/section"),createVariant:at(t,"create/variant"),createDatasource:at(t,"create/datasource"),deleteBlock:Yn(t,"delete/block",_i),deleteDimension:Yn(t,"delete/dimension",_i),deleteFormatter:Yn(t,"delete/formatter",_i),deleteReport:Yn(t,"delete/report",_i),deleteSection:Yn(t,"delete/section",_i),deleteVariant:Yn(t,"delete/variant",_i),deleteDatasource:Yn(t,"delete/datasource",_i),readBlock:Ze(t,"read/block"),readDimension:Ze(t,"read/dimension"),readFormatter:Ze(t,"read/formatter"),readReport:Ze(t,"read/report"),readSection:Ze(t,"read/section"),readVariant:Ze(t,"read/variant"),readDatasource:Ze(t,"read/datasource"),updateBulkBlock:at(t,"update/bulk/block"),updateBlock:at(t,"update/block"),updateDimension:at(t,"update/dimension"),updateFormatter:at(t,"update/formatter"),updateReport:at(t,"update/report"),updateSection:at(t,"update/section"),updateVariant:at(t,"update/variant"),updateDatasource:at(t,"update/datasource"),searchReport:Ze(t,"search/reports"),validateVariantSlug:Ze(t,"validate/variant"),readMember:Ze(t,"read/members",tO),readMemberImage:Ze(t,{url:"member/image",responseType:"blob"}),searchMember:Ze(t,"search/members"),updateMember:Ze(t,"update/members"),imageLocalSearch:Wa(t,"local"),imageLocalSave:Di(t,"local"),imageFlickrSearch:Wa(t,"flickr"),imageFlickrSave:Di(t,"flickr"),imageUnsplashSearch:Wa(t,"unsplash"),imageUnsplashSave:Di(t,"unsplash"),imageUploadSave:Di(t,"upload"),imageAdobeSearch:Wa(t,"adobe"),imageAdobeSave:Di(t,"adobe"),imagePixabaySearch:Wa(t,"pixabay"),imagePixabaySave:Di(t,"pixabay"),readMetadata:Ze(t,"read/metadata"),regenerateSearch:at(t,"search/regenerate"),urlProxy:Ze(t,"url/proxy"),searchRole:Ze(t,"auth/search/roles"),searchUser:Ze(t,"auth/search/users"),readUser:Ze(t,"auth/read/user"),updateUser:at(t,"auth/update/user"),updateMyData:at(t,"auth/update/me"),revalidateReport:Ze(t,"revalidate/report"),revalidateUrl:Ze(t,"revalidate/url"),readPrivateBlocks:at(t,"read/blocks/private"),listTablerIcons:Iv(t,"tabler"),readTablerIcon:Pv(t,"tabler"),readEnvSecrets:Ze(t,"read/secrets")}}var _i,tO,Lv=D(()=>{p();wv();Rv();Ha();Av();Ov();_i=e=>({id:e}),tO=e=>{if(e.mode==="slugs"){let t=e.slugs.map(o=>[o.variantSlug,o.memberSlug].join("/")).join(",");return {...e,slugs:t}}return ["related","whole"].includes(e.mode)?{...e}:{...e,[e.mode]:e[e.mode].join(",")}};});var Cm=D(()=>{p();Lv();});var Ni,Mv,Tu=D(()=>{p();Ni="report",Mv="Report";});var Ol,Dv,Em=D(()=>{p();Tu();Ol="section",Dv="Section";});function or(e){return {variables:e.variables||{},query:e.query||{},locale:e.locale||oO}}var oO,Cu,zv,Xn=D(()=>{p();Em();Uo();(({localeDefault:oO}=We())),Cu="block",zv="Block";});var gn,Gv,$v,St,Eu,Uv,wm,rO,nO,iO,aO,Rm,Im,E,Pe,Ye,rr,_t,ku,ja,hn,wu,he=D(()=>{p();gn={REPORT:"report",SECTION:"section",BLOCK:"block",INPUT:"block_input",FORMATTER:"formatter",DATASOURCE:"datasource",DIMENSION:"report_dimension",VARIANT:"report_dimension_variant",SEARCH:"search"},[gn.BLOCK,gn.SEARCH],Gv={report:"Report",section:"Section",block:"Block",block_input:"Input",formatter:"Formatter",datasource:"Data Source",dimension:"Dimension",variant:"Variant",search:"Search"},{[gn.SECTION]:"report_id",[gn.DIMENSION]:"report_id",[gn.VARIANT]:"dimension_id",[gn.BLOCK]:"section_id",[gn.INPUT]:"block_id"},$v={REPORT:"report",STORY:"story"},St={SINGLE:"single",MULTI:"multi"},Eu={SEGMENTED_CONTROL:"segmented control",SELECTOR:"selector"},Uv={TITLE:"title",SUBTITLE:"subtitle",LABEL:"label"},{[$v.REPORT]:Object.values(Uv),[$v.STORY]:Object.values(Uv)},wm={ALLOWED:"allowed",ALLOWED_LOGIC:"allowedLogic",IGNORE_CASCADE:"ignoreCascade"},rO={ACCESS:"access",ACCESS_LOGIC:"accessLogic"},nO={DISABLED:"disabled"},iO={FALLBACK:"fallback"},{...wm},{POSITION:"position",ICON:"icon",...wm},aO={IMAGE:"image",PARAGRAPH:"paragraph",SELECTOR:"selector",STAT:"stat",SUBTITLE:"subtitle",TITLE:"title",NAV:"nav",RESET_BUTTON:"reset_button",COMPARISON_BUTTON:"comparison_button",TABLE:"table",BUTTON:"button",MULTIHIERARCHY_SELECTOR:"multihierarchy_selector",FALLBACK:"fallback"},Rm={GENERATOR:"generator",RELATED:"related",VIZ:"visualization",SECTION_FLAG:"section_flag"},Im="logic",E={...aO,...Rm},[E.GENERATOR,E.SECTION_FLAG,E.SELECTOR,E.VIZ,E.IMAGE,E.TABLE,E.MULTIHIERARCHY_SELECTOR],Pe={ALT:"alt",AUTHOR:"author",DESC:"desc",FOOTNOTE:"footnote",BIO:"bio",IMAGE:"image",LABEL:"label",LOGIC:"logic",MULTIHIERARCHY_SELECTOR:"multihierarchySelector",MULTIHIERARCHY_SELECTOR_ALL_LABEL:"multihierarchySelectorAllLabel",MULTIHIERARCHY_SELECTOR_NAME:"multihierarchySelectorName",MULTIHIERARCHY_SELECTOR_PLACEHOLDER:"multihierarchySelectorPlaceholder",SIMPLE:"simple",SIMPLE_ENABLED:"simpleEnabled",PARAGRAPH:"paragraph",SELECTOR_DEFAULT:"selectorDefault",SELECTOR_DYNAMIC:"selectorDynamic",SELECTOR_NAME:"selectorName",SELECTOR_TYPE:"selectorType",SRC:"src",SLUG:"slug",SUBTITLE:"subtitle",TABLE:"table",TITLE:"title",SHORT_TITLE:"shortTitle",TOOLTIP:"tooltip",TWITTER:"twitter",URL:"url",VALUE:"value"},[Pe.LOGIC,Pe.SIMPLE,Pe.SIMPLE_ENABLED],Ye={ENABLE_ALL:{bubbleMenu:true,toolbarOptions:{history:true,alignment:false,format:true}},DISABLE_ALL:{bubbleMenu:false,toolbarOptions:{history:false,alignment:false,format:false}},ENABLE_FORMAT:{bubbleMenu:true,toolbarOptions:{history:true,alignment:false,format:true}}},rr={[E.IMAGE]:[{field:Pe.TITLE,editorConfig:Ye.ENABLE_ALL},{field:Pe.SRC,editorConfig:Ye.DISABLE_ALL},{field:Pe.ALT,editorConfig:Ye.DISABLE_ALL},{field:Pe.DESC,editorConfig:Ye.ENABLE_ALL}],[E.PARAGRAPH]:[{field:E.PARAGRAPH,editorConfig:Ye.ENABLE_ALL},{field:Pe.TOOLTIP,editorConfig:Ye.ENABLE_FORMAT}],[E.SELECTOR]:[{field:Pe.SELECTOR_DEFAULT},{field:Pe.SELECTOR_DYNAMIC},{field:Pe.SELECTOR_NAME,editorConfig:Ye.ENABLE_FORMAT},{field:Pe.SELECTOR_TYPE}],[E.STAT]:[{field:Pe.TITLE,editorConfig:Ye.ENABLE_FORMAT},{field:Pe.SUBTITLE,editorConfig:Ye.ENABLE_FORMAT},{field:Pe.VALUE,editorConfig:Ye.ENABLE_FORMAT},{field:Pe.TOOLTIP,editorConfig:Ye.ENABLE_FORMAT}],[E.SUBTITLE]:[{field:Pe.SUBTITLE,editorConfig:Ye.ENABLE_FORMAT},{field:Pe.TOOLTIP,editorConfig:Ye.ENABLE_FORMAT}],[E.TITLE]:[{field:Pe.TITLE,editorConfig:Ye.ENABLE_FORMAT},{field:Pe.SLUG,editorConfig:Ye.DISABLE_ALL},{field:Pe.TOOLTIP,editorConfig:Ye.ENABLE_FORMAT}],[E.BUTTON]:[{field:Pe.LABEL,editorConfig:Ye.ENABLE_FORMAT},{field:Pe.URL,editorConfig:Ye.ENABLE_FORMAT}],[E.GENERATOR]:[],[E.SECTION_FLAG]:[],[E.VIZ]:[],[E.TABLE]:[],[E.MULTIHIERARCHY_SELECTOR]:[{field:Pe.MULTIHIERARCHY_SELECTOR_NAME,editorConfig:Ye.ENABLE_FORMAT},{field:Pe.MULTIHIERARCHY_SELECTOR_PLACEHOLDER,editorConfig:Ye.DISABLE_ALL},{field:Pe.MULTIHIERARCHY_SELECTOR_ALL_LABEL,editorConfig:Ye.DISABLE_ALL}],[E.NAV]:[{field:Pe.TITLE,editorConfig:Ye.ENABLE_FORMAT},{field:Pe.SHORT_TITLE,editorConfig:Ye.ENABLE_FORMAT}]},_t={NAME:"name",DESCRIPTION:"description",...wm,...rO,...iO,...nO},ku={FORMATTER:"formatter",FUNCTION:"function"},ja={[ku.FORMATTER]:"Formatter",[ku.FUNCTION]:"Function"},hn={STRING:"string",NUMBER:"number",OBJECT:"object",DATE:"date"},wu={[hn.STRING]:"String",[hn.NUMBER]:"Number",[hn.OBJECT]:"Object/Array",[hn.DATE]:"Date"};});function pO(e,t,o,r,n=void 0,i){let a={},l=[],{locale:s}=or(i);try{if(t){let c=new Proxy(console,{get(d,f){return dO(f,"log","debug","info","warn","error")?(...g)=>{l.push(`${f} ${Date.now()} - ${g.map(m=>format(m)).join(" ")}`),uO&&d[f](...g);}:d[f]}}),u;return n?u=new Function(e,"console","libs","formatters","locale","variables",o)(t,c,jn,r,s,n):u=new Function(e,"console","libs","formatters","locale",o)(t,c,jn,r,s),typeof u=="object"&&Object.keys(u).length>0&&Object.assign(a,u),{vars:a,error:null,log:l,output:u}}return {vars:a,error:"Invalid API Link",log:l}}catch(c){return {vars:a,error:c.message,log:l}}}function dO(e,...t){return t.includes(e)}var uO,Fr,Ka=D(()=>{p();Xn();ke();uO=Yl(process.env.REPORTS_LOGGING),Fr=pO;});function Am(e){return e.reduce((t,o,r)=>(r?r===e.length-1&&r===1?t+=` and ${o}`:r===e.length-1?t+=`, and ${o}`:t+=`, ${o}`:t+=o,t),"")}var Hv=D(()=>{p();});function mO(e,t,o,r=false){let{variables:n}=or(o);if(!e)return e;let i=/([A-z0-9]*)\{\{([^\}]+)\}\}/g;return e.replace(i,(l,s,c)=>{let u=f=>f;if(s){let f=s.replace(/^\w/g,g=>g.toLowerCase());f in t?u=t[f]:u=g=>`${s}${g}`;}let d=Array.isArray(n[c])?Am(n[c]):n[c];if(d===void 0)return r?l:"N/A";try{return u(d,jn,t)}catch(f){return console.error(`Error using formatter ${u.name}
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
// const {data} = resp; (Response from API)
|
|
7
|
-
return {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}`,rS=`// const {anotherVariable} = variables; (From context and inputs)
|
|
12
|
-
// const {toUpper} = formatters; (Ad-hoc formatters)
|
|
13
|
-
// const currentLocale = locale;
|
|
14
|
-
// const {d3} = libs; (Preset libraries)
|
|
15
|
-
// const {setVariables, resetVariables} = section;
|
|
16
|
-
// const {myCustomSectionVariable} = section.variables;
|
|
17
|
-
return {
|
|
18
|
-
type: "LinePlot",
|
|
19
|
-
title: "New d3plus chart",
|
|
20
|
-
data: [
|
|
21
|
-
{id: "alpha", x: 4, y: 7},
|
|
22
|
-
{id: "alpha", x: 5, y: 25},
|
|
23
|
-
{id: "alpha", x: 6, y: 13},
|
|
24
|
-
{id: "beta", x: 4, y: 17},
|
|
25
|
-
{id: "beta", x: 5, y: 8},
|
|
26
|
-
{id: "beta", x: 6, y: 16}
|
|
27
|
-
],
|
|
28
|
-
groupBy: "id",
|
|
29
|
-
x: "x",
|
|
30
|
-
y: "y"
|
|
31
|
-
}`;});function mo(e){return e.type===E.SECTION_FLAG&&e.inputs.length===0&&e.consumers.length===0}var Jn=D(()=>{p();he();});function xO(){let{publicRuntimeConfig:e}=SO(),t=e.bespoke_report_env_vars||{};return {...Object.keys(t).reduce((o,r)=>(o[`ENV_${r}`]=t[r]||"N/A",o),{})}}var wo,Qn=D(()=>{p();wo=xO;});function TO(){return typeof process>"u"?{}:Object.entries(process.env).filter(([e])=>e.startsWith("BESPOKE_SECRET_")).reduce((e,[t,o])=>({...e,[t.replace("BESPOKE_SECRET_","ENV_SECRET_")]:o}),{})}var nS,iS=D(()=>{p();nS=TO;});function Lu(e){return e.ok!==void 0}function Ou(e){this.message=e,this.name="ApiFetchException";}async function Dm(e,t,o="en",r,n,i){let a=Date.now(),l=e,s,c=wo(),u=nS(),d={envs:{...c,...u}},f=new URL(e),g=new URLSearchParams(f.searchParams.toString());g.has("bespoke_slugs")&&(f.searchParams.delete("bespoke_slugs"),l=f.toString());let m={datasource:void 0};r.find(C=>{if(!C.content?.pattern)return false;try{let b=new RegExp(C.content.pattern,"gm");return b.test(l)?(m.datasource=C,!0):b.test(l)}catch{return false}});let h=n?n.settings:{},y=!!(h&&h.useProxy&&h.useProxy==="true"),S=m.datasource&&typeof m.datasource.content.useProxy=="boolean"?m.datasource.content.useProxy:false,v=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/api/cms/url/proxy?url=${encodeURIComponent(l)}`;if(typeof window=="object"&&(y||S)){let C=await AO({url:l,timeout:sS});if(C.ok===true)s=C.data;else throw new Ou(C?.error)}else try{let b={url:l,timeout:sS};if(m.datasource){let w=d;i&&(w={...d,session:i});let O=typeof window>"u"&&m.datasource.content.logic_ssr?m.datasource.content.logic_ssr:m.datasource.content.logic,B=await Ua({vars:["url","libs","session"],logic:O},w)(l);if(B.axiosConfig)b=B.axiosConfig;else throw new Ou(`AxiosConfig is missing in Data Source ${m.datasource.name} (ID: ${m.datasource.id}).`)}let k=await Mu(b);if(k.status===200)k.headers["content-type"]==="text/csv"?s=csvParse(k.data):s=k.data;else throw new Ou("No response for: "+l)}catch(C){throw new Ou(C.message)}if(g.has("bespoke_slugs")){let C=g.get("bespoke_slugs");if(C){let b=C.split(",");if(b.length===3){let[k,w,R]=b,O=Pu(s,R);if(O&&Array.isArray(O)){let A=Array.from(new Set(O.map(B=>`${B[w]}`).filter(B=>!["","undefined"].includes(B))));if(A.length>0){let B=A.join("").length>2e3,_=await t({mode:B?"whole":"ids",ids:B?void 0:A,all:false,locale:o,variant:[parseInt(k,10)],output:"lite",limit:A.length+1,allowNulls:true}).then(P=>{let I=[];return Lu(P)?P.ok&&(I=P.data.results):I=P.results,I&&Array.isArray(I)?I:[]}).catch(P=>(console.error(`Error hydrating slugs for Variant: ${k}, Key: ${w}, Accessor: ${R}`),console.error(` Url ${e}`),n&&console.error(` From Section ${n.section_id} and Block ${n.id}`),console.error(P),[]));if(_){let P=Object.fromEntries(_.map(I=>[I.id,`/${I.variant_slug}/${I.slug}`]));O.map(I=>(I.bespoke_slug=P[I[w]]?P[I[w]]:null,I));}}}}}}return {data:s,requestDuration:Date.now()-a,finalUrl:S||y?v:l,apiDataSource:m.datasource?m.datasource:false}}function PO(e){this.name="BlockException",this.message=e;}async function Ll(e,t,o,r,n,i){let{locale:a,variables:l,query:s}=or(o),c=OO(e,o,l,t),u=null,d=e.contentByLocale?.logic?.content?.api,f=null,g=null,m=null,h=null,y=null;if(!c)return {outputVariables:{},renderVariables:{},status:{allowed:false,hiddenByCascade:e.id}};if(e.type===E.FALLBACK)return {outputVariables:{},renderVariables:{},status:{allowed:c,hiddenByCascade:e.id}};if(d){m=IO(d,t,o);let O=m.split("|||").filter(_=>_!==""),A=[];for(let _=0;_<O.length;_++){let P=O[_];new RegExp("^(?:[a-z+]+:)?//","i").test(m)||(P=`${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/${P}`.replace(/([^:]\/)\/+/g,"$1")),A.push(Dm(P,r,a,n,e,i).catch(F=>{throw new PO(` Excecution of ${e.type}-${e.id} in section ${e.section_id} in report ${l.report_name} (${l.report_id}) failed.
|
|
32
|
-
Error fetching ${P}.
|
|
33
|
-
Message: ${F.message}.
|
|
34
|
-
`)}));}let B=await Promise.all(A).catch(_=>_.message);if(typeof B=="string"&&B)return {outputVariables:{},renderVariables:{},status:{error:B}};u=B.length===1?B[0].data:B.map(_=>_.data),g=B.reduce((_,P)=>_+JSON.stringify(P.data).length/1024,0),f=Math.max(...B.map(_=>_.requestDuration)),h=B.map(_=>_.apiDataSource?`${_.apiDataSource.name} (${_.apiDataSource.id})`:null),y=B.map(_=>_.finalUrl);}if(e.type===E.SELECTOR){let{config:O,log:A,error:B}=Iu(e.id,e.contentByLocale[a].content.logic,t,o,true);return {outputVariables:qv(e.id,s,O),renderVariables:O,status:{log:A,error:B,allowed:c}}}if(e.type===E.MULTIHIERARCHY_SELECTOR){let{config:O,log:A,error:B}=Au(e.id,e.contentByLocale[a].content.logic,t,o,true);return {outputVariables:Xv(e.id,s,O),renderVariables:O,status:{log:A,error:B,allowed:c}}}if(e.type===E.VIZ)return {outputVariables:{},renderVariables:e.contentByLocale.logic.content,status:{log:[],allowed:c}};if(e.type===E.RELATED){let O=e.contentByLocale?.logic?.content?.simple?.compare||"variant",A=e.contentByLocale?.logic?.content?.simple?.limit||4,B=Object.keys(l).filter(V=>V.startsWith("report_id")).map(V=>l[V]),_=Object.keys(l).filter(V=>V.startsWith("dimension_id")).map(V=>l[V]),P=Object.keys(l).filter(V=>V.startsWith("variant_id")).map(V=>l[V]),I=Object.keys(l).filter(V=>V.startsWith("id")).map(V=>l[V]);if(!I.length)return {outputVariables:{related_reports:[]},renderVariables:{},status:{log:[],allowed:false}};let F=await Promise.all(I.map((V,z)=>r({mode:"ids",locale:a,ids:[V],output:"lite",variant:[P[z]]}))).then(V=>V.flatMap(z=>{let q=[];return Lu(z)?z.ok&&(q=z.data.results):q=z.results,q&&Array.isArray(q)?q:[]})).catch(V=>(console.error("Error getting related members",V),[]));if(_.length>1){let V=Object.keys(l).filter(J=>J.startsWith("variant_slug")).map(J=>l[J]),z=F.map((J,G)=>{let K={mode:"related",locale:a,related:A??4,current_ids:[J.content_id],output:"full",variant_ids:[J.variant_id]};return G===0&&(K.include_ids=[J.content_id]),K}),q=await Promise.all(z.map(J=>r(J))).then(J=>J.flatMap(G=>{let K=[];return Lu(G)?G.ok&&(K=G.data.results):K=G.results,K&&Array.isArray(K)?K:[]})).catch(J=>(console.error("Error getting related members",J),[])),W=q.reduce((J,G)=>{let K=G.variant_slug;return J[K]||(J[K]=[]),J[K].push(G),J},{}),U=[],Y=Object.keys(W),ne=[{combination:[],index:0}];for(;ne.length>0;){let J=ne.pop();if(!J)continue;let{combination:G,index:K}=J;if(K===Y.length){U.push(G);continue}let ee=Y[K],ae=W[ee];for(let ue of ae)ne.push({combination:[...G,ue],index:K+1});}return {outputVariables:{related_reports:U.map(J=>{let G=J.sort((K,ee)=>V.indexOf(K.variant_slug)-V.indexOf(ee.variant_slug));return {entities:G,link:"/"+G.map(K=>`${K.variant_slug}/${K.slug}`).join("/")}})},renderVariables:{},status:{log:[],allowed:q.length>0}}}let M=F.map(V=>V.content_id),N={mode:"related",locale:a,related:A??4,current_ids:M,output:"full"};O&&(O==="report"?N.report_ids=B:O==="dimension"?N.dimension_ids=_:N.variant_ids=P);let j=await r(N).then(V=>{let z=[];return Lu(V)?V.ok&&(z=V.data.results):z=V.results,z&&Array.isArray(z)?z:[]}).catch(V=>(console.error("Error getting related members",V),[]));return {outputVariables:{related_reports:j.map(V=>({entities:[V],link:`/${V.variant_slug}/${V.slug}`}))},renderVariables:{},status:{log:[],allowed:j.length>0}}}let{logic:S}=ko(e,a),v=et(S,t,o),C=Fr("resp",u||{},v,t,l,o),{vars:b,error:k,log:w}=C;if(typeof b!="object")return {outputVariables:{},renderVariables:{},status:{error:"Configuration did not return an object",log:w,duration:f,responseSize:g,resp:u,api:m,allowed:c,apiFinalUrls:y,apiDataSources:h}};let R=Object.keys(b).reduce((O,A)=>({...O,[`${e.type}${e.id}${A}`]:b[A]}),{});return {renderVariables:b,outputVariables:[E.GENERATOR,E.SECTION_FLAG].includes(e.type)?b:R,status:{log:w,error:k,duration:f,responseSize:g,resp:u,api:m,allowed:c,apiFinalUrls:y,apiDataSources:h}}}function cS(e,t,o,r,n,i,a){return e.consumers.forEach(l=>{if(t[l]){let s=`${o}-${l}`;!r.includes(s)&&(t[l].section_id===t[o].section_id||!n)&&r.push(s),e.consumers.filter(c=>t[c]&&t[c].section_id===t[o].section_id||!n).forEach(c=>_m(c,t,r,false,i,n,a));}})}var Zn,wO,RO,lS,IO,AO,sS,_m,OO,ei,uS,Nm,bn=D(()=>{p();Cm();Xn();he();Om();Mm();Yv();Jv();Ka();Vr();Ho();eS();Bm();Cr();Jn();Ga();Qn();iS();Zn=Yl(process.env.NEXT_PUBLIC_REPORTS_DEBUG),wO=process.env.REPORTS_ORIGIN||"",RO=process.env.NEXT_PUBLIC_REPORTS_AXIOS_RETRIES,lS=5;try{lS=parseInt(`${RO||5}`,10);}catch(e){console.error("Error setting axios retries NEXT_PUBLIC_REPORTS_AXIOS_RETRIES defaults to 5",e);}aS(Mu,{retries:lS,retryDelay:aS.exponentialDelay,onRetry:(e,t,o)=>{console.error("Generator request failed. Retrying... Count: ",e),console.error("URL: ",o.url),console.error(t.message);}});Mu.interceptors.request.use(e=>({...e,requestStart:Date.now()}));Mu.interceptors.response.use(e=>({...e,requestDuration:new Date().getTime()-e.config.requestStart}),e=>Promise.reject(e));IO=(e,t,o)=>{let r=et(e,t,o);return r.startsWith("http")||(r=`${wO}${r.startsWith("/")?"":"/"}${r}`),r},{urlProxy:AO}=Pl("/api/cms");sS=process.env.NEXT_PUBLIC_REPORTS_API_FETCH_TIMEOUT||0;_m=(e,t,o=[],r=true,n=true,i=true,a=[])=>{if(a.includes(e))return [];a.push(e);let l=t[e];return l&&l.inputs.length&&r&&l.inputs.forEach(s=>{let c=`${s}-${e}`;o.includes(c)||o.push(c),l.inputs.forEach(u=>_m(u,t,o,r,false,i,a));}),l&&l.consumers.length&&n&&cS(l,t,e,o,i,n,a),o},OO=(e,t,o,r)=>{let n=true;if(e&&"allowed"in e.settings&&e.settings.allowed!=="always")if(e.settings.allowed==="never")n=false;else {let i=or(t),{error:a,output:l}=Fr("variables",o,e.settings.allowedLogic||"return false;",r,void 0,i);a||(n=!!l);}return n},ei=async(e,t,o,r,n,i={},a,l="section",s,c)=>{let u=l==="section",d=or(n),f=d.variables,g={...i.variables??{}},m={...i.status??{}},h=new Set,y=[],S={};o?S={...S,[o]:e[o]}:t?S=(t??[]).reduce((M,{id:N})=>({...M,...Zv(N,e)}),{}):S=Object.values(e).filter(M=>mo(M)).reduce((M,N)=>({...M,[N.id]:N}),{});let v=Object.values(S).filter(M=>mo(M));if(v.length>0){Zn&&console.info("%crunConsumers: calculating section flags","color:purple",v.map($=>$.id).join(", "));let M=Object.fromEntries(await Promise.all(v.map(async $=>[$.id,await Ll($,r,{...d,variables:f,locale:f.locale},a,s,c).then(V=>{let{outputVariables:z,status:q}=V;if(q.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${$.id}, Section ${$.section_id}) failed with message: ${q.error}. `);m[$.id]={allowed:false,error:q.error},g[$.id]={};}return ($.consumers.length>0||[E.GENERATOR,E.SECTION_FLAG,E.RELATED].includes($.type))&&q.allowed&&Object.keys(z).length>0?g[$.id]=z:g[$.id]={},l==="report"?(m[$.id]={allowed:q.allowed},[E.GENERATOR,E.SECTION_FLAG].includes($.type)&&q.api&&(m[$.id].api=q.api)):m[$.id]=q,V})]))),j=Object.entries(M).filter(([,$])=>!$.outputVariables[Eo]).map(([$])=>Number($));h=new Set(j.map($=>e[$].section_id)),Object.values(S).filter($=>h.has($.section_id)).forEach($=>{y.push($.id),delete S[$.id];}),Zn&&console.info("%crunConsumers: removing sections","color:purple",h.keys());}let C=h.size>0?Object.fromEntries(Object.entries(e).filter(([,M])=>h?.has(M.section_id)?(y.includes(M.id)||y.push(M.id),false):true)):e;if(y.length>0&&(C=Object.fromEntries(Object.entries(C).map(([M,N])=>{let j={...N,inputs:N.inputs.filter($=>!y.includes($)),consumers:N.consumers.filter($=>!y.includes($))};return [M,j]}))),!o&&!t)return {variables:{...i.variables??{},...g},status:{...i.status??{},...m}};l==="report"&&y.length>0&&y.forEach(M=>{delete g[M],delete m[M],delete e[M];}),Zn&&console.info("%crunConsumers: running root blocks","color:purple",Object.keys(S));let b=Object.keys(S).reduce((M,N)=>{let j=new Date,$=_m(Number(N),C,[],!o,true,u).map(q=>q.split("-")),z=(new Date().getTime()-j.getTime())/1e3;return Zn&&console.info(`%cResolved dependencies for ${N} (${z.toFixed(2)}s)`,"color:blue"),[...M,...$]},[]),k=new Date,w=Object.keys(S).reduce((M,N)=>M.includes(N)?[...M]:[N,...M],CO(b)),O=(new Date().getTime()-k.getTime())/1e3;Zn&&console.info(`%cResolved DAG (${O.toFixed(2)}s): `,"color:green",w);let A=process.env.NEXT_PUBLIC_REPORTS_MAX_CONCURRENT_QUERIES_PER_REPORT,B=parseInt(`${A||0}`,10);async function _(M,N){let j=new Map,$=[],V=async()=>$.length;for(let z of M){if(B!==0){let Y=await V();for(;Y>=B;)Zn&&console.info("Too many pending promises, waiting...",Y,$),await new Promise(ne=>setTimeout(ne,500)),Y=await V();}let q=N[z],U=Promise.all(q.inputs.filter(Y=>M.includes(String(Y))).map(Y=>j.get(Number(Y)))).then(async()=>{let Y=q.inputs.reduce((ae,ue)=>({...ae,...g[ue]}),f),ne=q.inputs.find(ae=>(q.settings?.ignoreCascade?q.settings?.ignoreCascade:[]).includes(ae)||!m[ae]?false:!m[ae].allowed||m[ae].hiddenByCascade);if(ne){m[z]={allowed:false,hiddenByCascade:m[ne].hiddenByCascade||ne},g[z]={},$.splice($.indexOf(Number(z)),1);return}let re=new Date,J;typeof window<"u"&&[E.SELECTOR,E.MULTIHIERARCHY_SELECTOR].includes(q.type)&&q.settings[_t.DISABLED]?J=new Promise(ae=>{ae({outputVariables:g[z],status:m[z]});}):J=Ll(q,r,{...d,variables:Y,locale:Y.locale},a,s,c);let G=await J.then(({outputVariables:ae,status:ue})=>{if(ue.error){if(typeof window>"u")throw new Error(`Run consumers (Block: ${z}, Section ${q.section_id}) failed with message: ${ue.error}.`);m[z]={allowed:false,error:ue.error},g[z]={};}(q.consumers.length>0||[E.GENERATOR,E.SECTION_FLAG,E.RELATED].includes(q.type))&&ue.allowed&&Object.keys(ae).length>0?g[z]=ae:g[z]={},l==="report"?(m[z]={allowed:ue.allowed},[E.GENERATOR,E.SECTION_FLAG].includes(q.type)&&ue.api&&(m[z].api=ue.api)):m[z]=ue;}),ee=(new Date().getTime()-re.getTime())/1e3;return Zn&&console.info(`%cBlock ${q.id} resolved in ${ee.toFixed(3)}s`,ee>500?"color:red":"color:green"),m[z].duration=m[z].duration?m[z].duration:ee,$.splice($.indexOf(Number(z)),1),G}).catch(Y=>{throw $.splice($.indexOf(Number(z)),1),Y});$.push(Number(z)),j.set(Number(z),U);}await Promise.all(Array.from(j.values()));}let P=new Date;await _(w,C);let F=(new Date().getTime()-P.getTime())/1e3;return Zn&&console.info(`%cResolved Variables (${F.toFixed(2)}s), ${w.length} blocks`,"color:green"),{variables:{...i.variables??{},...g},status:{...i.status??{},...m}}},uS=e=>e<250?"green":e<1e3?"yellow":"red",Nm=e=>e<10?"green":e<100?"yellow":"red";});function LO(e=[]){return e.reduce((t,o,r)=>{if(o){let n=r+1;t[`id${n}`]=o.id,t[`name${n}`]=o.name,t[`slug${n}`]=o.slug,"attributes"in o&&Object.keys(o.attributes).forEach(i=>{t[`attr_${i}${n}`]=o.attributes[i];}),t[`variant_id${n}`]=o.variant_id,t[`variant_name${n}`]=o.variant_name,t[`variant_slug${n}`]=o.variant_slug,t[`dimension_id${n}`]=o.dimension_id,t[`dimension_name${n}`]=o.dimension_name,t.report_id=o.report_id,t.report_name=o.report_name;}return t},{})}var pS,dS=D(()=>{p();pS=LO;});var kr,Bu,Ml=D(()=>{p();kr=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",Bu=process.env.NEXT_PUBLIC_REPORTS_LOCALES?.split(",")||[kr];Bu.includes(kr)||Bu.push(kr);});var DO,Du,Ro,qa=D(()=>{p();Ml();DO={localeDefault:kr,locales:Bu,currentLocale:kr,preferredLocale:kr,showToolbar:false,activeSection:null,previews:[],query:{},sectionState:{},activeEntity:{type:null,id:null},sidebarStatus:{tools:true,settings:false,reportEditor:false},isCMS:false,isRunConsumersRunning:[]},Du=createSlice({name:"status",initialState:DO,reducers:{setStatus:(e,t)=>{Object.assign(e,t.payload);},setPreviews(e,t){e.previews=t.payload;},setCurrentLocale(e,t){e.currentLocale=t.payload;},setPreferredLocale(e,t){e.preferredLocale=t.payload;},setSectionState(e,t){e.sectionState={...e.sectionState,...t.payload};},resetSectionState(e,t){e.sectionState={...e.sectionState,[t.payload]:{}};},setActiveEntity(e,t){e.activeEntity=t.payload;},openSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:true};},closeSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:false};},toggleSidebar(e,t){e.sidebarStatus={...e.sidebarStatus,[t.payload]:!e.sidebarStatus[t.payload]};},addRunConsumersRunning(e,t){e.isRunConsumersRunning=e.isRunConsumersRunning.concat(t.payload);},removeRunConsumersRunning(e,t){e.isRunConsumersRunning=e.isRunConsumersRunning.filter(o=>!t.payload.includes(o));}},extraReducers:{[HYDRATE]:(e,t)=>({...e,previews:t.payload.status.previews})}}),Ro=Du.actions;});var zO,_u,Vi,Ya=D(()=>{p();zO={attributes:{},variables:{},status:{}},_u=createSlice({name:"variables",initialState:zO,reducers:{setVariableChange:(e,t)=>{e.attributes={...e.attributes,...t.payload.attributes},e.variables={...e.variables,...t.payload.variables},e.status={...e.status,...t.payload.status};}},extraReducers:{[HYDRATE]:(e,t)=>({attributes:{...e.attributes,...t.payload.variables.attributes},status:{...e.status,...t.payload.variables.status},variables:{...e.variables,...t.payload.variables.variables}})}}),Vi=_u.actions;});function Bl(e,t){return Object.fromEntries(Object.keys(e).map(o=>[o,{...e[o],...t[o]}]))}function Nu(e,t){return e.map(n=>t[n]).sort((n,i)=>typeof n.ordering=="string"&&typeof i.ordering=="string"?po(n,i):typeof n.ordering=="number"&&typeof i.ordering=="number"?n.ordering-i.ordering:String(n.ordering).localeCompare(String(i.ordering))).map(n=>n.id)}function UO(e,t){let o=e.indexOf(t);o>-1&&e.splice(o,1);}var $O,yn,Dl=D(()=>{p();Go();qn();$O={tree:[],reports:null,entities:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{},datasource:{}},requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{},datasource:{}}},yn=createSlice({name:"records",initialState:$O,reducers:{set:(e,t)=>{let o=t.payload;return {entities:Bl(e.entities,o.entities||{}),requests:Bl(e.requests,o.requests||{}),reports:o.reports||e.reports,tree:o.tree||e.tree}},setRequest:(e,t)=>{let o=t.payload;e.requests[o.type][o.key]=o;},setCreateRequest(e,t){let o=t.payload;if(e.requests[o.type][o.key]=o,o.status==="SUCCESS"){let r=Array.isArray(o.data)?o.data:[o.data],n=xu(o.type,r),i=Bl(e.entities,n);if(e.entities=i,o.type==="report"){let a=o.data;e.reports?e.reports.indexOf(a.id)===-1&&(e.reports=[...e.reports,a.id]):e.reports=[a.id];}else if(o.type==="dimension"){let a=o.data;e.entities.report[a.report_id].dimensions.push(a.id),e.entities.report[a.report_id].dimensions=Nu(i.report[a.report_id].dimensions,i.dimension);}else if(o.type==="variant"){let a=o.data;e.entities.dimension[a.dimension_id].variants.push(a.id);}else if(o.type==="section"&&!Array.isArray(o.data)){let a=o.data;e.entities.report[a.report_id].sections.push(a.id),e.entities.report[a.report_id].sections=Nu(i.report[a.report_id].sections,i.section);}else if(o.type==="block")if(Array.isArray(o.data)){let a=o.data,l=a[0],s=a.map(c=>c.id);e.entities.section[l.section_id].blocks.concat(s);}else {let a=o.data;e.entities.section[a.section_id].blocks.push(a.id);}}},setReadRequest(e,t){let o=t.payload;if(o.type!=="report"&&(e.requests[o.type][o.key]=o),o.status==="SUCCESS"){let r=xu(o.type,o.data),n=Bl(e.entities,r);e.entities=n;}},setUpdateRequest(e,t){let o=t.payload;if(e.requests[o.type][o.key]=o,o.status==="SUCCESS"){let r=Array.isArray(o.data)?o.data:[o.data],n=xu(o.type,r),i,a,l;if(o.type==="block"&&!Array.isArray(o.data)){let c=e.entities.block[o.data.id].inputs,u=n.block[o.data.id].inputs;i=c.length!==u.length,i&&(l=c.length>u.length,a=l?c.filter(d=>!u.includes(d))[0]:u.filter(d=>!c.includes(d))[0]),Object.values(n.block).forEach(d=>{d.block_input&&delete n.block[d.id];});}let s=Bl(e.entities,n);if(e.entities=s,o.type==="dimension"){let c=o.data;e.entities.report[c.report_id].dimensions=Nu(s.report[c.report_id].dimensions,s.dimension);}else if(o.type==="section"&&!Array.isArray(o.data)){let c=o.data;e.entities.report[c.report_id].sections=Nu(s.report[c.report_id].sections,s.section);}else if(o.type==="block"&&!Array.isArray(o.data)){let c=o.data;i&&(l?e.entities.block[a].consumers=e.entities.block[a].consumers.filter(u=>u!==c.id):e.entities.block[a].consumers.push(c.id));}}},setDeleteRequest(e,t){let o=t.payload;if(e.requests[o.type][o.key]=o,o.status==="SUCCESS"){let{id:r,parentId:n,parentType:i}=o.data;if(delete e.entities[o.type][r],i&&n!=null){let a=`${o.type}s`;UO(e.entities[i][n][a],r);}}},removeBlocks:(e,t)=>{let o=t.payload,r={...e.entities.block};return o.forEach(n=>{delete r[n];}),{...e,entities:{...e.entities,block:r}}},addBlocks:(e,t)=>{let o=t.payload;return {...e,entities:{...e.entities,block:{...e.entities.block,...o}}}},removeDataSourceLogic:e=>{let t={...e.entities.datasource};Object.keys(t).forEach(o=>{e.entities.datasource[o].content.useProxy&&(delete e.entities.datasource[o].content.logic,delete e.entities.datasource[o].content.logic_ssr,delete e.entities.datasource[o].content.testUrl,delete e.entities.datasource[o].content.access);});}},extraReducers:{[HYDRATE]:(e,t)=>{let o=t.payload.records,r=o.entities;return {entities:r,reports:Object.values(r.report).map(n=>n.id),requests:{block:{},dimension:{},report:{},section:{},variant:{},formatter:{},datasource:{}},tree:o.tree}}}});});function GO(e){return {ok:false,status:$i.is(e)?e.code:500,error:e.message}}function Ui(e,t,o){if(t==="createBulk"||t==="updateBulk"){let n=`${t}${mS(o)}`;return e[n]}let r=`${t}${mS(o)}`;return e[r]}function mS(e){return e[0].toUpperCase()+e.slice(1)}var $i,zu=D(()=>{p();$i=class extends Error{constructor(t,o){super(o),this.code=t;}toJSON(){return GO(this)}static is(t){return Object.prototype.hasOwnProperty.call(t,"code")&&typeof t.code=="number"}};});function Nt(e){for(var t=arguments.length,o=Array(t>1?t-1:0),r=1;r<t;r++)o[r-1]=arguments[r];if(process.env.NODE_ENV!=="production"){var n=JO[e],i=n?typeof n=="function"?n.apply(null,o):n:"unknown error nr: "+e;throw Error("[Immer] "+i)}throw Error("[Immer] minified error nr: "+e+(o.length?" "+o.map((function(a){return "'"+a+"'"})).join(","):"")+". Find the full error at: https://bit.ly/3cXEKWf")}function Xa(e){return !!e&&!!e[Wo]}function Hi(e){var t;return !!e&&((function(o){if(!o||typeof o!="object")return false;var r=Object.getPrototypeOf(o);if(r===null)return true;var n=Object.hasOwnProperty.call(r,"constructor")&&r.constructor;return n===Object||typeof n=="function"&&Function.toString.call(n)===QO})(e)||Array.isArray(e)||!!e[xS]||!!(!((t=e.constructor)===null||t===void 0)&&t[xS])||Km(e)||qm(e))}function Nl(e,t,o){o===void 0&&(o=false),Qa(e)===0?(o?Object.keys:Zm)(e).forEach((function(r){o&&typeof r=="symbol"||t(r,e[r],e);})):e.forEach((function(r,n){return t(n,r,e)}));}function Qa(e){var t=e[Wo];return t?t.i>3?t.i-4:t.i:Array.isArray(e)?1:Km(e)?2:qm(e)?3:0}function Um(e,t){return Qa(e)===2?e.has(t):Object.prototype.hasOwnProperty.call(e,t)}function HO(e,t){return Qa(e)===2?e.get(t):e[t]}function TS(e,t,o){var r=Qa(e);r===2?e.set(t,o):r===3?e.add(o):e[t]=o;}function WO(e,t){return e===t?e!==0||1/e==1/t:e!=e&&t!=t}function Km(e){return YO&&e instanceof Map}function qm(e){return XO&&e instanceof Set}function Gi(e){return e.o||e.t}function Ym(e){if(Array.isArray(e))return Array.prototype.slice.call(e);var t=ZO(e);delete t[Wo];for(var o=Zm(t),r=0;r<o.length;r++){var n=o[r],i=t[n];i.writable===false&&(i.writable=true,i.configurable=true),(i.get||i.set)&&(t[n]={configurable:true,writable:true,enumerable:i.enumerable,value:e[n]});}return Object.create(Object.getPrototypeOf(e),t)}function Xm(e,t){return t===void 0&&(t=false),Jm(e)||Xa(e)||!Hi(e)||(Qa(e)>1&&(e.set=e.add=e.clear=e.delete=jO),Object.freeze(e),t&&Nl(e,(function(o,r){return Xm(r,true)}),true)),e}function jO(){Nt(2);}function Jm(e){return e==null||typeof e!="object"||Object.isFrozen(e)}function $r(e){var t=eL[e];return t||Nt(18,e),t}function fS(){return process.env.NODE_ENV==="production"||Ja||Nt(0),Ja}function zm(e,t){t&&($r("Patches"),e.u=[],e.s=[],e.v=t);}function Fu(e){Gm(e),e.p.forEach(KO),e.p=null;}function Gm(e){e===Ja&&(Ja=e.l);}function gS(e){return Ja={p:[],l:Ja,h:e,m:true,_:0}}function KO(e){var t=e[Wo];t.i===0||t.i===1?t.j():t.g=true;}function Fm(e,t){t._=t.p.length;var o=t.p[0],r=e!==void 0&&e!==o;return t.h.O||$r("ES5").S(t,e,r),r?(o[Wo].P&&(Fu(t),Nt(4)),Hi(e)&&(e=Vu(t,e),t.l||$u(t,e)),t.u&&$r("Patches").M(o[Wo].t,e,t.u,t.s)):e=Vu(t,o,[]),Fu(t),t.u&&t.v(t.u,t.s),e!==CS?e:void 0}function Vu(e,t,o){if(Jm(t))return t;var r=t[Wo];if(!r)return Nl(t,(function(l,s){return hS(e,r,t,l,s,o)}),true),t;if(r.A!==e)return t;if(!r.P)return $u(e,r.t,true),r.t;if(!r.I){r.I=true,r.A._--;var n=r.i===4||r.i===5?r.o=Ym(r.k):r.o,i=n,a=false;r.i===3&&(i=new Set(n),n.clear(),a=true),Nl(i,(function(l,s){return hS(e,r,n,l,s,o,a)})),$u(e,n,false),o&&e.u&&$r("Patches").N(r,o,e.u,e.s);}return r.o}function hS(e,t,o,r,n,i,a){if(process.env.NODE_ENV!=="production"&&n===o&&Nt(5),Xa(n)){var l=Vu(e,n,i&&t&&t.i!==3&&!Um(t.R,r)?i.concat(r):void 0);if(TS(o,r,l),!Xa(l))return;e.m=false;}else a&&o.add(n);if(Hi(n)&&!Jm(n)){if(!e.h.D&&e._<1)return;Vu(e,n),t&&t.A.l||$u(e,n);}}function $u(e,t,o){o===void 0&&(o=false),!e.l&&e.h.D&&e.m&&Xm(t,o);}function Vm(e,t){var o=e[Wo];return (o?Gi(o):e)[t]}function bS(e,t){if(t in e)for(var o=Object.getPrototypeOf(e);o;){var r=Object.getOwnPropertyDescriptor(o,t);if(r)return r;o=Object.getPrototypeOf(o);}}function Hm(e){e.P||(e.P=true,e.l&&Hm(e.l));}function $m(e){e.o||(e.o=Ym(e.t));}function Wm(e,t,o){var r=Km(t)?$r("MapSet").F(t,o):qm(t)?$r("MapSet").T(t,o):e.O?(function(n,i){var a=Array.isArray(n),l={i:a?1:0,A:i?i.A:fS(),P:false,I:false,R:{},l:i,t:n,k:null,o:null,j:null,C:false},s=l,c=jm;a&&(s=[l],c=_l);var u=Proxy.revocable(s,c),d=u.revoke,f=u.proxy;return l.k=f,l.j=d,f})(t,o):$r("ES5").J(t,o);return (o?o.A:fS()).p.push(r),r}function qO(e){return Xa(e)||Nt(22,e),(function t(o){if(!Hi(o))return o;var r,n=o[Wo],i=Qa(o);if(n){if(!n.P&&(n.i<4||!$r("ES5").K(n)))return n.t;n.I=true,r=yS(o,i),n.I=false;}else r=yS(o,i);return Nl(r,(function(a,l){n&&HO(n.t,a)===l||TS(r,a,t(l));})),i===3?new Set(r):r})(e)}function yS(e,t){switch(t){case 2:return new Map(e);case 3:return Array.from(e)}return Ym(e)}var vS,Ja,Qm,YO,XO,SS,CS,xS,Wo,JO,QO,Zm,ZO,eL,jm,_l,tL,jo,oL,Uu,kS=D(()=>{p();Qm=typeof Symbol<"u"&&typeof Symbol("x")=="symbol",YO=typeof Map<"u",XO=typeof Set<"u",SS=typeof Proxy<"u"&&Proxy.revocable!==void 0&&typeof Reflect<"u",CS=Qm?Symbol.for("immer-nothing"):((vS={})["immer-nothing"]=true,vS),xS=Qm?Symbol.for("immer-draftable"):"__$immer_draftable",Wo=Qm?Symbol.for("immer-state"):"__$immer_state",JO={0:"Illegal state",1:"Immer drafts cannot have computed properties",2:"This object has been frozen and should not be mutated",3:function(e){return "Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},4:"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.",5:"Immer forbids circular references",6:"The first or second argument to `produce` must be a function",7:"The third argument to `produce` must be a function or undefined",8:"First argument to `createDraft` must be a plain object, an array, or an immerable object",9:"First argument to `finishDraft` must be a draft returned by `createDraft`",10:"The given draft is already finalized",11:"Object.defineProperty() cannot be used on an Immer draft",12:"Object.setPrototypeOf() cannot be used on an Immer draft",13:"Immer only supports deleting array indices",14:"Immer only supports setting array indices and the 'length' property",15:function(e){return "Cannot apply patch, path doesn't resolve: "+e},16:'Sets cannot have "replace" patches.',17:function(e){return "Unsupported patch operation: "+e},18:function(e){return "The plugin for '"+e+"' has not been loaded into Immer. To enable the plugin, import and call `enable"+e+"()` when initializing your application."},20:"Cannot use proxies if Proxy, Proxy.revocable or Reflect are not available",21:function(e){return "produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '"+e+"'"},22:function(e){return "'current' expects a draft, got: "+e},23:function(e){return "'original' expects a draft, got: "+e},24:"Patching reserved attributes like __proto__, prototype and constructor is not allowed"},QO=""+Object.prototype.constructor,Zm=typeof Reflect<"u"&&Reflect.ownKeys?Reflect.ownKeys:Object.getOwnPropertySymbols!==void 0?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,ZO=Object.getOwnPropertyDescriptors||function(e){var t={};return Zm(e).forEach((function(o){t[o]=Object.getOwnPropertyDescriptor(e,o);})),t},eL={},jm={get:function(e,t){if(t===Wo)return e;var o=Gi(e);if(!Um(o,t))return (function(n,i,a){var l,s=bS(i,a);return s?"value"in s?s.value:(l=s.get)===null||l===void 0?void 0:l.call(n.k):void 0})(e,o,t);var r=o[t];return e.I||!Hi(r)?r:r===Vm(e.t,t)?($m(e),e.o[t]=Wm(e.A.h,r,e)):r},has:function(e,t){return t in Gi(e)},ownKeys:function(e){return Reflect.ownKeys(Gi(e))},set:function(e,t,o){var r=bS(Gi(e),t);if(r?.set)return r.set.call(e.k,o),true;if(!e.P){var n=Vm(Gi(e),t),i=n?.[Wo];if(i&&i.t===o)return e.o[t]=o,e.R[t]=false,true;if(WO(o,n)&&(o!==void 0||Um(e.t,t)))return true;$m(e),Hm(e);}return e.o[t]===o&&(o!==void 0||t in e.o)||Number.isNaN(o)&&Number.isNaN(e.o[t])||(e.o[t]=o,e.R[t]=true),true},deleteProperty:function(e,t){return Vm(e.t,t)!==void 0||t in e.t?(e.R[t]=false,$m(e),Hm(e)):delete e.R[t],e.o&&delete e.o[t],true},getOwnPropertyDescriptor:function(e,t){var o=Gi(e),r=Reflect.getOwnPropertyDescriptor(o,t);return r&&{writable:true,configurable:e.i!==1||t!=="length",enumerable:r.enumerable,value:o[t]}},defineProperty:function(){Nt(11);},getPrototypeOf:function(e){return Object.getPrototypeOf(e.t)},setPrototypeOf:function(){Nt(12);}},_l={};Nl(jm,(function(e,t){_l[e]=function(){return arguments[0]=arguments[0][0],t.apply(this,arguments)};})),_l.deleteProperty=function(e,t){return process.env.NODE_ENV!=="production"&&isNaN(parseInt(t))&&Nt(13),_l.set.call(this,e,t,void 0)},_l.set=function(e,t,o){return process.env.NODE_ENV!=="production"&&t!=="length"&&isNaN(parseInt(t))&&Nt(14),jm.set.call(this,e[0],t,o,e[0])};tL=(function(){function e(o){var r=this;this.O=SS,this.D=true,this.produce=function(n,i,a){if(typeof n=="function"&&typeof i!="function"){var l=i;i=n;var s=r;return function(h){var y=this;h===void 0&&(h=l);for(var S=arguments.length,v=Array(S>1?S-1:0),C=1;C<S;C++)v[C-1]=arguments[C];return s.produce(h,(function(b){var k;return (k=i).call.apply(k,[y,b].concat(v))}))}}var c;if(typeof i!="function"&&Nt(6),a!==void 0&&typeof a!="function"&&Nt(7),Hi(n)){var u=gS(r),d=Wm(r,n,void 0),f=true;try{c=i(d),f=!1;}finally{f?Fu(u):Gm(u);}return typeof Promise<"u"&&c instanceof Promise?c.then((function(h){return zm(u,a),Fm(h,u)}),(function(h){throw Fu(u),h})):(zm(u,a),Fm(c,u))}if(!n||typeof n!="object"){if((c=i(n))===void 0&&(c=n),c===CS&&(c=void 0),r.D&&Xm(c,true),a){var g=[],m=[];$r("Patches").M(n,c,g,m),a(g,m);}return c}Nt(21,n);},this.produceWithPatches=function(n,i){if(typeof n=="function")return function(c){for(var u=arguments.length,d=Array(u>1?u-1:0),f=1;f<u;f++)d[f-1]=arguments[f];return r.produceWithPatches(c,(function(g){return n.apply(void 0,[g].concat(d))}))};var a,l,s=r.produce(n,i,(function(c,u){a=c,l=u;}));return typeof Promise<"u"&&s instanceof Promise?s.then((function(c){return [c,a,l]})):[s,a,l]},typeof o?.useProxies=="boolean"&&this.setUseProxies(o.useProxies),typeof o?.autoFreeze=="boolean"&&this.setAutoFreeze(o.autoFreeze);}var t=e.prototype;return t.createDraft=function(o){Hi(o)||Nt(8),Xa(o)&&(o=qO(o));var r=gS(this),n=Wm(this,o,void 0);return n[Wo].C=true,Gm(r),n},t.finishDraft=function(o,r){var n=o&&o[Wo];process.env.NODE_ENV!=="production"&&(n&&n.C||Nt(9),n.I&&Nt(10));var i=n.A;return zm(i,r),Fm(void 0,i)},t.setAutoFreeze=function(o){this.D=o;},t.setUseProxies=function(o){o&&!SS&&Nt(20),this.O=o;},t.applyPatches=function(o,r){var n;for(n=r.length-1;n>=0;n--){var i=r[n];if(i.path.length===0&&i.op==="replace"){o=i.value;break}}n>-1&&(r=r.slice(n+1));var a=$r("Patches").$;return Xa(o)?a(o,r):this.produce(o,(function(l){return a(l,r)}))},e})(),jo=new tL,oL=jo.produce,jo.produceWithPatches.bind(jo),jo.setAutoFreeze.bind(jo),jo.setUseProxies.bind(jo),jo.applyPatches.bind(jo),jo.createDraft.bind(jo),jo.finishDraft.bind(jo),Uu=oL;});function Fl(e){return (t,o)=>{let r=e[t];if(!r)throw new Error(`Attempting to dispatch action for invalid entity type '${t}'`);return r(o)}}function Ki(e,t){return (o,r)=>{let i=r().records.requests[e][t],a=!i||i.status==="UNINITIALIZED"?"LOADING":"FETCHING";o(Er.setRequest({key:t,type:e,status:a}));}}function ji(e,t,o,r){return n=>{typeof window=="object"&¬ifications.show({autoClose:3e3,color:"red",id:t,message:r,title:"Error"}),n(Er.setRequest({key:t,type:e,status:"FAILURE",error:{code:o,message:r}}));}}function ti(e){return t=>{let o=ef(e,t);return (r,n,i)=>(r(Ki(e,o)),Ui(i,"create",e)(t).then(l=>(l.ok===true?r(Er.setCreateRequest({key:o,operation:"create",status:"SUCCESS",type:e,data:l.data})):r(ji(e,o,l.status,l.error)),l)))}}function iL(e){return t=>{let o=ef(e,t[0]);return (r,n,i)=>(r(Ki(e,o)),Ui(i,"createBulk",e)(t).then(l=>(l.ok===true?r(Er.setCreateRequest({key:o,operation:"createBulk",status:"SUCCESS",type:e,data:l.data})):r(ji(e,o,l.status,l.error)),l)))}}function ES(e,t,o){return o.replace(new RegExp(e,"g"),t)}function aL(e){return e.section_id!==void 0}function sL(e){return e.report_id!==void 0}function wS(e){return t=>{let{create:o}=t;return (r,n,i)=>ti(e)(o)(r,n,i).then(async l=>{if(l.ok){let{data:s}=l,{id:c}=s,{update:u}=t,d=BS(e,{id:c});if(r(Ki(e,`${d}`)),e==="block"&&aL(o)){let f=Uu(u,y=>{y.id=c;}),{contentByLocale:g}=f;g&&(f=Uu(f,y=>{y.id=c,y.contentByLocale=Object.keys(g).reduce((S,v)=>{let C=g?g[v]:{};return S[v]={...C,id:c},S},{});}));let h=f.inputs?.map(y=>({type:y.type,id:y.id,inputAction:{operation:"create",input:{input_id:y.id,block_id:f.id}}}));return h&&h.length>0&&RS(e)([f,...h])(r,n,i).then(()=>oi("section")({id:f.section_id,include:true})(r,n,i).then(y=>(y.ok&&r(Er.setRequest({key:d,type:e,status:"SUCCESS",data:y.data})),y))),Ur(e)(f)(r,n,i).then(y=>(y.ok&&r(Er.setRequest({key:d,type:e,status:"SUCCESS",data:y.data})),y))}if(e==="section"&&sL(o)){let{id:f}=s,g=Uu(u,y=>{y.id=f;}),{blocks:m}=g,h=m?.map(y=>({type:y.type,blockcol:y.blockcol,blockrow:y.blockrow,section_id:f,locales:Object.keys(y.contentByLocale).map(S=>S)}));return h&&m&&await iL("block")(h)(r,n,i).then(y=>{if(y.ok){let S=y.data,v=[],C=S.map((b,k)=>{let R={...b},O=R.id,A=m[k];A.contentByLocale&&(R.contentByLocale=Object.keys(A.contentByLocale).reduce((j,$)=>{let V=A.contentByLocale[$];return j[$]={...V,content:{...V.content},id:R.id},j},{}));let{settings:B}=A,{contentByLocale:_,id:P}=R;R.settings=B;let I={id:P,contentByLocale:_,settings:B};return A.inputs.map(j=>j.id).reduce((j,$)=>{let V=m.findIndex(z=>z.id===$);return [...j,V]},[]).map(j=>({...S[j],originalBlock:m[j]})).forEach(j=>{let{id:$,type:V,originalBlock:z}=j;if([E.SELECTOR,E.VIZ].includes(V)){if(I.contentByLocale?.logic?.content?.api){let q=I.contentByLocale?.logic.content.api;I.contentByLocale.logic.content.api=ES(`(selector${z.id}id)`,`selector${$}id`,q);}if(I.contentByLocale?.logic?.content?.logic){let q=I.contentByLocale.logic.content.logic;I.contentByLocale.logic.content.logic=ES(`(selector${z.id}id)`,`selector${$}id`,q);}}v.push({id:$,inputAction:{operation:"create",input:{input_id:$,block_id:O}}});}),I});return RS("block")([...C,...v])(r,n,i)}}),Ur(e)(g)(r,n,i).then(y=>(y.ok&&r(Er.setRequest({key:d,type:e,status:"SUCCESS",data:y.data})),y))}return Ur(e)({...u,id:s.id})(r,n,i)}})}}function oi(e){return t=>{let o=LS(e,t);return (r,n,i)=>{r(Ki(e,o));let a=Ui(i,"read",e);if(typeof a!="function"){let l=`Failed to get valid RPC method for entity "${e}"`;return r(ji(e,o,500,l)),Promise.reject(new Error(l))}return a(t).then(l=>(l.ok===true?r(Er.setReadRequest({key:o,operation:"read",status:"SUCCESS",type:e,data:l.data})):r(ji(e,o,l.status,l.error)),l))}}}function Ur(e){return t=>{let o=tf(e,t);return (r,n,i)=>(r(Ki(e,o)),Ui(i,"update",e)(t).then(l=>(l.ok===true?r(Er.setUpdateRequest({key:o,operation:"update",status:"SUCCESS",type:e,data:l.data})):r(ji(e,o,l.status,l.error)),l)))}}function RS(e){return t=>{let o=tf(e,t[0]);return (r,n,i)=>(r(Ki(e,o)),Ui(i,"updateBulk",e)(t).then(l=>(l.ok===true?r(Er.setUpdateRequest({key:o,operation:"updateBulk",status:"SUCCESS",type:e,data:l.data})):r(ji(e,o,l.status,l.error)),l)))}}function Wi(e){return t=>{let o=MS(e,t);return (r,n,i)=>(r(Ki(e,o)),Ui(i,"delete",e)(t).then(l=>{l.ok===true?r(Er.setDeleteRequest({key:o,operation:"delete",status:"SUCCESS",type:e,data:l.data})):r(ji(e,o,l.status,l.error));}))}}function ef(e,t){if(e==="variant"){let o=t;return `create(variant, [${o.dimension_id}, ${o.name}])`}return `create(${e}, [${Object.keys(t)}])`}function LS(e,t={}){let o=t.id==null?null:`'${t.id}'`;return `read(${e}, ${o}, ${!!t.include})`}function tf(e,t){let{id:o,...r}=t;return `update(${e}, ${o}, [${Object.keys(r)}])`}function MS(e,t){return `delete(${e}, ${t})`}function BS(e,t){let o=t.id==null?null:`'${t.id}'`;return `clone(${e}, ${o})`}var Er,Gu,IS,zl,AS,PS,OS,of=D(()=>{p();zu();Dl();kS();he();Er=yn.actions,Gu={create:ef,read:LS,update:tf,delete:MS,clone:BS},IS=Fl({block:ti("block"),dimension:ti("dimension"),formatter:ti("formatter"),report:ti("report"),section:ti("section"),variant:ti("variant"),datasource:ti("datasource")}),zl=Fl({block:oi("block"),dimension:oi("dimension"),formatter:oi("formatter"),report:oi("report"),section:oi("section"),variant:oi("variant"),datasource:oi("datasource")}),AS=Fl({block:Ur("block"),dimension:Ur("dimension"),formatter:Ur("formatter"),report:Ur("report"),section:Ur("section"),variant:Ur("variant"),datasource:Ur("datasource")}),PS=Fl({block:Wi("block"),dimension:Wi("dimension"),formatter:Wi("formatter"),report:Wi("report"),section:Wi("section"),variant:Wi("variant"),datasource:Wi("datasource")}),OS=Fl({block:wS("block"),section:wS("section")});});var Z={};ym(Z,{addBlockToState:()=>CL,addRunConsumersRunning:()=>af,cloneEntity:()=>OS,createEntity:()=>IS,deleteEntity:()=>PS,deleteQueryParam:()=>lf,readEntity:()=>zl,readEnvSecrets:()=>RL,readMember:()=>_S,readMetadata:()=>gL,readPrivateBlocks:()=>kL,readUser:()=>vL,recalculateVariables:()=>Hu,removeBlocksFromState:()=>TL,removeDataSourceLogic:()=>IL,removeRunConsumersRunning:()=>sf,reportSearch:()=>dL,resetSectionState:()=>nf,revalidateReport:()=>wL,revalidateUrl:()=>EL,searchMember:()=>fL,searchRegenerate:()=>mL,searchRole:()=>bL,searchUser:()=>yL,setCurrentLocale:()=>cL,setPreferredLocale:()=>uL,setPreviews:()=>lL,setQueryParam:()=>qi,setSectionState:()=>rf,setStatus:()=>DS,updateEntity:()=>AS,updateMyData:()=>xL,updateUser:()=>SL,urlProxy:()=>hL,variantValidateSlug:()=>pL});function pL(e,t){return async(o,r,n)=>{let i=await n.validateVariantSlug({dimension:e,slug:t});if("error"in i)throw new Error(i.error);return i.data}}function dL(e){return async(t,o,r)=>{let n=await r.searchReport(e);if("error"in n)throw new Error(n.error);return n.data}}function mL(){return async(e,t,o)=>{let r=await o.regenerateSearch(void 0);if("error"in r)throw new Error(r.error);return r.data}}function _S(e){return async(t,o,r)=>{let n=await r.readMember(e);if("error"in n)throw new Error(n.error);return n.data}}function fL(e){return async(t,o,r)=>{let n=await r.searchMember(e);if(n.ok===true)return n.data;throw new Error(n.error)}}async function NS(e,t,o,r,n){let i=o().status,a={...i,...r},l={...i.query,...r.query};Object.keys(l).forEach(c=>l[c]===void 0&&delete l[c]);let s={...a,query:l};t(DS(s)),i.activeSection&&t(Hu(e,{query:l},n));}function lf(e,t,o){return async(r,n)=>NS(e,r,n,{query:{[t]:void 0}},o)}function qi(e,t,o,r){return async(n,i)=>NS(e,n,i,{query:{[t]:o}},r)}function Hu(e,t,o){return async(r,n)=>{let i=n(),{currentLocale:a}=i.status,l=i.records.entities.block,s=e.formatterFunctions[a],c=e.datasourceFunctions,{parsedParams:u,statusPayload:d}=Ev(i.status,t),{sid:f,bid:g,previews:m,query:h}=u;Object.keys(d).length&&r(Ro.setStatus(d));let y={...pS(m),locale:a,...wo()},S={variables:y,query:h,locale:a};r(Ro.addRunConsumersRunning([f]));let v=i.records.entities.section[f],C=async b=>r(_S(b));try{let b=await ei(l,v&&[v],g,s,S,void 0,C,"section",c,o),{variables:k,status:w}=b;r(Vi.setVariableChange({attributes:y,variables:k,status:w})),r(Ro.removeRunConsumersRunning([f]));}catch(b){console.error("Error in runConsumers client side: recalculateVariables",b);}}}function gL(e){return async(t,o,r)=>{let n=await r.readMetadata(e);if("error"in n)throw new Error(n.error);return n.data}}function hL(e){return async(t,o,r)=>{let n=await r.urlProxy(e);if("error"in n)throw new Error(n.error);return n.data}}function bL(){return async(e,t,o)=>{let r=await o.searchRole("");if("error"in r)throw new Error(r.error);return r.data}}function yL(e){return async(t,o,r)=>{let n=await r.searchUser(e);if("error"in n)throw new Error(n.error);return n.data}}function vL(e){return async(t,o,r)=>{let n=await r.readUser({user_id:e});if("error"in n)throw new Error(n.error);return n.data}}function SL({user:e}){return async(t,o,r)=>{let n=await r.updateUser(e);if("error"in n)throw new Error(n.error);return n.data}}function xL(e){return async(t,o,r)=>{let n=await r.updateMyData(e);if("error"in n)throw new Error(n.error);return n.data}}function TL(e){let{removeBlocks:t}=yn.actions;return async o=>{await o(t(e));}}function CL(e){let{addBlocks:t}=yn.actions;return async o=>{await o(t(e));}}function kL(e){return async(t,o,r)=>{let n=await r.readPrivateBlocks({...e,roles:[]});if("error"in n)throw new Error(n.error);return n.data}}function EL(e){return async(t,o,r)=>{let n=await r.revalidateUrl({target:e.target});if("error"in n)throw new Error(n.error);return n.data}}function wL(e){return async(t,o,r)=>{let n=await r.revalidateReport({reportId:e.reportId,profilePrefix:e.profilePrefix});if("error"in n)throw new Error(n.error);return n.data}}function RL(){return async(e,t,o)=>{let r=await o.readEnvSecrets({});if("error"in r)throw new Error(r.error);return r.data}}function IL(){let{removeDataSourceLogic:e}=yn.actions;return async t=>{await t(e());}}var DS,lL,rf,nf,cL,uL,af,sf,Vl=D(()=>{p();bn();dS();Qn();qn();qa();Ya();Dl();of();({setStatus:DS,setPreviews:lL,setSectionState:rf,resetSectionState:nf,setCurrentLocale:cL,setPreferredLocale:uL,addRunConsumersRunning:af,removeRunConsumersRunning:sf}=Ro);});function PL(e={required:false}){let{update:t,data:o,status:r}=useSession(e);return {update:t,user:o?.user,status:r,isLoading:r==="loading"}}var we,Xe=D(()=>{p();we=PL;});function qt(){let e=H(n=>n.status.activeEntity),t=ie();return {activeEntity:e,selectEntity:n=>t(Ro.setActiveEntity(n)),unselectEntity:()=>t(Ro.setActiveEntity({type:null,id:null}))}}function pt(e){let t=ie(),o=H(i=>i.status.sectionState)[e]||{},r=useCallback(i=>{t(rf({[e]:i}));},[e]),n=useCallback(()=>{t(nf(e));},[e]);return {sectionVariables:o,setSectionVariables:r,resetSectionVariables:n}}function Wl(){let e=ie(),t=H(n=>n.status.isRunConsumersRunning),o=useCallback(n=>{e(af(n));},[]),r=useCallback(n=>{e(sf(n));},[]);return {isRunConsumersRunning:t,addRunConsumersRunning:o,removeRunConsumersRunning:r}}function At(e){let t=ie(),o=we();return useCallback(r=>t(Hu(e,r,o)),[t,e,o.status])}function Ft(e){let t=ie();return {opened:H(l=>l.status.sidebarStatus[e]),handlers:{open:()=>t(Ro.openSidebar(e)),close:()=>t(Ro.closeSidebar(e)),toggle:()=>t(Ro.toggleSidebar(e))}}}function ts(){return H(t=>t.status.currentLocale)}function os(){return H(t=>t.status.preferredLocale)}function ta(e){return t=>{let o=ie(),r=useMemo(()=>Gu.read(e,{include:true}),[]),n=useCallback(a=>{let l=Object.values(a.records.entities[e]),s=a.records.requests[e][r]||{status:l==null?"UNINITIALIZED":"SUCCESS"},c=t?l.filter(u=>t.includes(u.id)):l;return pf(c,s)},[r]),i=H(n);return useEffect(()=>{i.isUninitialized&&o(zl(e,{id:t,include:true}));},[i.status]),i}}function jl(e,t){let o=useMemo(()=>Gu.clone(e,{id:t}),[t,e]);return H(n=>{let i=n.records.entities[e][t],a=n.records.requests[e][o]||{status:i==null?"UNINITIALIZED":"SUCCESS"};return pf(i,a)})}function oa(e){return t=>{let o=ie(),r=useMemo(()=>Gu.read(e,{id:t,include:true}),[t]),n=useCallback(a=>{let l=a.records.entities[e][t],s=a.records.requests[e][r]||{status:l==null?"UNINITIALIZED":"SUCCESS"};return pf(l,s)},[r]),i=H(n);return useEffect(()=>(i.isUninitialized&&t!==null&&o(zl(e,{id:t,include:true})),()=>{}),[r,i.isUninitialized,o,t]),i}}function pf(e,t){let o={data:void 0,error:void 0,status:t.status,isUninitialized:t.status==="UNINITIALIZED",isLoading:t.status==="LOADING",isFetching:t.status==="LOADING"||t.status==="FETCHING",isSuccess:t.status==="SUCCESS",isError:t.status==="FAILURE"};return t.status==="UNINITIALIZED"?o:t.status==="LOADING"?{...o,data:e}:t.status==="FETCHING"?{...o,data:e}:t.status==="FAILURE"?{...o,error:t.error}:{...o,data:e}}var ML,ie,H,Za,$l,Ul,Ji,Gl,Qi,Hl,zt,Ko,tt,Zi,ea,cf,uf,ot,FS,ju,Io,vn,es,VS,Ku,$S,US,GS,ye=D(()=>{p();Vl();of();Dl();Pt();Uo();qa();Xe();(({localeDefault:ML}=We())),ie=useDispatch,H=useSelector,Za=ta("report"),$l=ta("dimension"),Ul=ta("variant"),Ji=ta("section"),Gl=ta("block"),Qi=ta("formatter"),Hl=ta("datasource"),zt=oa("report"),Ko=oa("section"),tt=oa("block"),Zi=oa("dimension"),ea=oa("variant"),cf=oa("formatter"),uf=oa("datasource");ot=(e,t=void 0,o=void 0)=>{if(!e)return {};let r=tt(e).data,n=H(l=>t||l.variables.variables),i=H(l=>o||l.variables.attributes);return useMemo(()=>r?r.inputs.reduce((l,s)=>({...l,...n[s]}),i):{},[r,i,n])},FS=e=>{let t=tt(e).data,o=H(i=>i.variables.variables),r=H(i=>i.variables.attributes);return t?useMemo(()=>t?Object.keys(o).reduce((i,a)=>({...i,...t.inputs.includes(parseInt(a,10))?{[a]:o[a]}:{}}),{attributes:r}):{attributes:r},[t,o,r]):{}},ju=e=>H(t=>t.variables.status[e]),Io=(e=ML)=>useContext(De).formatterFunctions[e],vn=()=>useContext(De).datasourceFunctions,es=()=>useContext(De).profilePrefix,VS=()=>useContext(De).previewPrefix,Ku=(e=void 0,t=void 0)=>{let o=H(i=>i.status.localeDefault),r=H(i=>i.status.query);return {variables:ot(e),locale:t||o,query:r}},$S=(e,t)=>Object.values(t).filter(r=>Object.keys(r.contentByLocale).some(n=>{let{logic:i}=r.contentByLocale[n].content;return i&&(`${i}`.includes(`formatters.${e}(`)||`${i}`.includes(`${e}{{`))})).length,US=e=>{if(!e)return 0;let t=H(r=>r.records.entities.formatter),o=H(r=>r.records.entities.block);return useMemo(()=>$S(e,o),[e,t,o])},GS=()=>{let e=H(o=>o.records.entities.formatter),t=H(o=>o.records.entities.block);return useMemo(()=>Object.values(e).reduce((o,r)=>(o[r.name]=$S(r.name,t),o),{}),[e,t])};});var HS,WS=D(()=>{p();Cm();Dl();qa();Ya();HS=()=>configureStore({reducer:{[yn.name]:yn.reducer,[Du.name]:Du.reducer,[_u.name]:_u.reducer},middleware(e){return e({thunk:{extraArgument:Pl("/api/cms/")}})}}),createWrapper(HS);});function Yt(e,t){let o=r=>{let{id:n,skelHeight:i,skelWidth:a,...l}=r,s=t(n);return s.isUninitialized||s.isFetching?jsx(Skeleton,{width:a,height:i}):s.isError?null:jsx(e,{...l,for:s.data})};return o.displayName=`withFetcher(${e.displayName||e.name||"Component"})`,o}var KS=D(()=>{p();});var se=D(()=>{p();Vl();ye();WS();KS();});function YS(e){let {pathSegment:t,profilePrefix:o,previewPrefix:r,siteProps:n}=e,i=Qi();H(d=>d.status.isCMS);let l=Hl(),c={...wo()},u=useMemo(()=>({profilePrefix:o,previewPrefix:r,pathSegment:t,siteProps:n,formatterFunctions:qS.reduce((d,f)=>({...d,[f]:i.data?Kn(i.data,f):{}}),{}),datasourceFunctions:(l?.data||[]).sort((d,f)=>d.content.order>f.content.order?1:-1).map(d=>({...d,content:{...d.content,pattern:et(d.content.pattern,{},{variables:c})}}))}),[i,t,o,r,n,l]);return jsx(De.Provider,{value:u,children:e.children})}function rs(){let e=useContext(De);if(e===void 0)throw new Error("useBespoke must be used inside ResourceProvider");return e}var qS,$L,De,Pt=D(()=>{p();Uo();qn();se();Qn();Vr();(({locales:qS}=We())),$L={pathSegment:"path",formatterFunctions:qS.reduce((e,t)=>({...e,[t]:{}}),{}),datasourceFunctions:[],profilePrefix:"path",previewPrefix:null,siteProps:{}},De=createContext($L);});function Xt(){let{pathSegment:e}=rs(),t=useRouter();return useMemo(()=>{let o=t.pathname.split("/");Object.keys(t.query).length>0&&o.pop();let r=o.join("/"),[n,...i]=[].concat(t.query[e]||[]),a=(...l)=>[r,...l].join("/");return {router:t,page:n,params:i,query:t.query,basePath:r,href:a,setSearchParam(l,s){let c={...t.query};s==null||s===""?delete c[l]:c[l]=[].concat(s).join("!"),t.push({pathname:t.pathname,query:c},void 0,{shallow:true});},matches(...l){return t.asPath===a(...l)},push(l,s,c){let u=a(l);t.push(u,s,c);},replace(l,s,c){let u=a(l);t.replace(u,s,c);}}},[t.asPath])}var df=D(()=>{p();Pt();});function mf(){let e=ie(),{router:t}=Xt(),{asPath:o}=t,[,r]=o.split("?"),n=r?JSON.parse('{"'+decodeURI(r).replace(/"/g,'\\"').replace(/&/g,'","').replace(/=/g,'":"')+'"}'):{},{currentLocale:i,locales:a}=H(s=>s.status),l=n.locale||"";return useEffect(()=>{l&&l!==""&&a.includes(l)&&l!==i&&e(Z.setCurrentLocale(l));},[]),i}var XS=D(()=>{p();se();df();});function ns(e){return t=>Object.values(t.records.entities[e])}function as(e){return Object.values(e.records.entities.datasource||[]).sort((t,o)=>t.content.order>o.content.order?1:-1).map(t=>{let o={...jL};return {...t,content:{...t.content,pattern:et(t.content.pattern,{},{variables:o})}}})}var JS,ra,qu,is,jL,Gr=D(()=>{p();Qn();Vr();JS=e=>e.records.entities.section,ra=e=>e.records.entities.block;qu=ns("block"),is=ns("formatter"),jL=wo();});function qL(e,t){let o=[],r={},n=new Set,i=1/0;for(let a of e){let l=parseInt(a.settings.order,10);l<i&&(i=l);}for(let a of e){let{id:l,settings:s}=a,c=parseInt(s.order,10),u=t[l]?t[l]:false,d=KL(u,l),f=a.section_id&&!n.has(a.section_id);a.section_id&&n.add(a.section_id);let g={id:l,order:c,label:t[l]?t[l][`title${l}title`]:`Title ${l}`,iconProps:d,properties:{sectionId:a.section_id,...a.section_id&&{titleType:f?"primary":"secondary"}},children:[]};if(r[l]=g,c===i)o.push(g);else {let m=c-1,h;for(let y=e.indexOf(a)-1;y>=0;y--){let S=e[y],v=parseInt(S.settings.order,10);if(v===m){h=r[S.id];break}else if(v<m){h=r[S.id];break}}h?h.children.push(g):o.push(g);}}return o}function na(e=1,t=6,o=[]){let r=H(f=>f),n=H(f=>f.variables.variables),i=H(f=>f.variables.status),a=Ji(),l=qu(r).filter(f=>f.type===E.TITLE&&o.includes(f.id)),s=Object.fromEntries(l.map(f=>[f.id,f])),c=Object.fromEntries(l.map(f=>[f.id,n[f.id]])),u=Object.fromEntries(l.map(f=>[f.id,i[f.id]])),d=useMemo(()=>{if(a.isSuccess&&s){let f=[];return a.data.sort(po).forEach(g=>{let m=g.blocks.reduce((h,y)=>s[y]&&s[y].type===E.TITLE?h.concat([s[y]]):h,[]);f=f.concat(m.sort((h,y)=>po(h,y,"blockrow")));}),Object.keys(i).length?f.filter(g=>{let m=parseInt(g.settings.order||"1",10);return m>=e&&m<=t&&u[g.id]?.allowed&&!u[g.id]?.hiddenByCascade}):[]}},[o,a,s,u]);return useMemo(()=>d&&d?.length>0?qL(d,c):[],[d,c])}var KL,ff=D(()=>{p();se();Gr();Go();he();KL=(e,t)=>({iconType:e[`title${t}_iconType`],icon:e[`title${t}_icon`],iconSize:e[`title${t}_iconSize`],iconVariant:e[`title${t}_iconVariant`],iconRadius:e[`title${t}_iconRadius`]});});function wr(){let e=ie();return useMemo(()=>async t=>await e(Z.readMember(t)),[e])}var ZS=D(()=>{p();se();});function JL(){let{user:e,update:t,status:o}=we(),r=o==="loading",{localeDefault:n}=We(),i=ie();return useEffect(function(){!r&&e&&e.bespoke_user_metadata&&typeof e.bespoke_user_metadata.preferredLocale=="string"&&i(Z.setPreferredLocale(e.bespoke_user_metadata.preferredLocale||n));},[r,e]),{user:e,isLoading:r,update:t,status:o}}var ss,ex=D(()=>{p();se();Uo();Xe();ss=JL;});function gf(){return H(QL)}var QL,tx=D(()=>{p();se();QL=e=>e.status.locales.map(t=>({value:t,label:t.toUpperCase()}));});var hf,ri,rx=D(()=>{p();Xe();hf=(e,t,o,r=null)=>{let[n,i]=useState(false),[a,l]=useState(null);return {print:c=>{i(true),l(null);let u=process.env.NEXT_PUBLIC_REPORTS_BASE_URL,d=new URLSearchParams(window.location.search),f=c?"&transparent=true":"",g=r?`/embeds/${t}/${o}?section=${e}&block=${r}${d.toString()?"&"+d.toString():""}`:`/embeds/${t}/${o}?section=${e}${d.toString()?"&"+d.toString():""}`,m=`${u}${g}&print=true`;Mu.get(`${process.env.NEXT_PUBLIC_PDF_API_URL}/screenshot?url=${encodeURIComponent(m)}${f}`,{responseType:"blob"}).then(h=>{let y=r?`section${e}_block${r}.png`:`section${e}.png`;saveAs(h.data,y);}).catch(h=>{l(h.response?.data?.message||"Failed to download image. Please try again.");}).finally(()=>{i(false);});},downloadLoading:n,error:a}},ri=()=>!!process.env.NEXT_PUBLIC_PDF_API_URL;});var st=D(()=>{p();df();XS();ff();ZS();ex();tx();rx();});function cs(e){let{user:t}=ss();return useMemo(()=>{if(t&&t.bespoke_app_metadata&&t.bespoke_app_metadata.reports&&Array.isArray(t.bespoke_app_metadata.reports)){let r=t.bespoke_app_metadata.reports.find(n=>n.reportId===e);if(r&&r.favorites)return r.favorites}},[t,e])}var nx=D(()=>{p();st();});function bf(e,t){let o=H(s=>t?s.records.entities[e][t]:null),r=o?.settings,[n,i]=useSetState(o?.settings||{}),a=ie(),l=useCallback((s,c)=>{o&&(i(u=>({...u,[s]:c})),a(Z.updateEntity(e,{id:o.id,settings:{...o.settings,[s]:c}})));},[a,o]);return useEffect(()=>{r&&i(r);},[r,i]),{settings:n,updateSettings:l}}var Rr,Kl,ix=D(()=>{p();se();Rr=e=>bf("section",e),Kl=e=>bf("report",e);});var ax=D(()=>{p();qa();se();});var Sn=D(()=>{p();nx();ix();ax();});function Jt(e){let t={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"," ":""},o=`(?:${Object.keys(t).join("|")})`,r=RegExp(o),n=RegExp(o,"g"),i=String(e).replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim();return r.test(i)?i.replace(n,a=>t[a]):i}var us=D(()=>{p();});function Of(e){return typeof e=="string"?String(e).replace(/&([a-z0-9]+|#[0-9]{1,6}|#x[0-9a-f]{1,6});/ig," "):e}var kx=D(()=>{p();});function xB(e){return e?SB(Of(Jt(e)),{replacement:"-",remove:/[*+~.()'"!:@]/g,lower:true,strict:true,trim:true}):""}var xt,Hr=D(()=>{p();us();kx();xt=xB;});var Lx=D(()=>{});function _f({dimmed:e=false,label:t,root:o=true,value:r,parentIsArray:n=false,level:i=0}){let a=useMantineTheme();if(i===Df)return null;let l=jsx(Text,{lineClamp:1,size:"xs",variant:"dimmed",p:5,children:"[Max depth hitted for preview]"}),s=Bf(r),c=r,u=JSON.stringify(c),d=100,f=1e3,g=!!(u&&u.length>d),m=10,h={control:{padding:"5px 0px 5px 5px"},label:{padding:"5px 0px"},content:{paddingTop:0,paddingBottom:0,paddingRight:0}};if(s==="object")return jsx(Accordion,{className:"cr-variable-accordion",variant:"contained",styles:h,children:jsxs(Accordion.Item,{value:"label",children:[jsx(Accordion.Control,{children:jsx(Text,{lineClamp:1,size:"xs",weight:700,color:e?"dimmed":a.primaryColor,children:o?`{{${t}}}`:n?`[${t}]`:t})}),jsx(Accordion.Panel,{children:i+1<Df?Object.keys(r).sort((y,S)=>{let v=Bf(r[y]),C=Bf(r[S]);return v!==C?Mx.indexOf(v)-Mx.indexOf(C):y.localeCompare(S)}).map(y=>jsx(_f,{root:false,label:y,value:r[y],level:i+1},y)):l})]})});if(s==="array"){let y=r.length>m,S=y?r.slice(0,m):r,v=y?r.length-m:0;return jsx(Accordion,{className:"cr-variable-accordion",variant:"contained",styles:h,children:jsxs(Accordion.Item,{value:"label",children:[jsx(Accordion.Control,{children:jsx(Text,{lineClamp:1,size:"xs",weight:700,p:0,color:e?"dimmed":a.primaryColor,children:o?`{{${t}}}`:n?`[${t}]`:t})}),jsxs(Accordion.Panel,{children:[i+1<Df?S.map((C,b)=>jsx(_f,{root:false,label:b,value:C,level:i+1,parentIsArray:true},b)):l,y&&jsxs(Text,{lineClamp:1,size:"xs",variant:"dimmed",p:5,children:["[+ ",v," other elements]"]})]})]})})}return s==="string"?c=g?`"${c.substring(0,d)} ... "`:`"${c}"`:s==="error"?c=`Error: ${c.message}`:s==="undefined"?c=s:c.toString&&(c=c.toString()),jsxs(Group,{noWrap:true,spacing:0,children:[jsx(Text,{color:e?"dimmed":a.primaryColor,lineClamp:1,size:"xs",pl:5,style:{overflow:"visible",wordBreak:"keep-all",whiteSpace:"nowrap"},weight:700,children:o?`{{${t}}}`:n?`[${t}]`:t}),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:u.substring(0,f)})})]})]})}var Bf,Mx,Df,aa,rp=D(()=>{p();Lx();Bf=e=>{let t=typeof e;if(t==="object"){if(e===null)return "undefined";Array.isArray(e)?t="array":["Error","EvalError","ReferenceError","SyntaxError"].includes(e.constructor.name)&&(t="error");}return t},Mx=["object","array","string","number"],Df=5;aa=_f;});var np,Nf=D(()=>{p();np=e=>t=>t.replace(new RegExp(`^${e}`),"").startsWith("_");});function XB({reserved:e=[],id:t,variables:o={},showInternal:r=false}){let i=tt(t==="attributes"?null:t).data,a=i?i.type:"block",l=i?.type&&i?.id?`${i.type}${i.id}`:"",s=Object.keys(o).filter(r?()=>true:c=>!np(l)(c));return jsx(Stack,{spacing:0,children:s.length?s.map(c=>jsx(aa,{dimmed:e.includes(c),label:c,value:o[c]},c)):jsx(Text,{color:"dimmed",size:"xs",children:jsx("i",{children:`empty ${a}`})})})}var Ar,ys=D(()=>{p();rp();se();Nf();Ar=XB;});var Tn,lT,cT,mT,uT,pT,dT,Po,oo,ws,ro=D(()=>{p();he();Tn={display:{label:"Size",defaultValue:"block",options:[{label:"Full Width",value:"block"},{label:"Inline",value:"inline"}]}},lT={useProxy:{label:"Use proxy (avoid CORS)",defaultValue:"false",options:[{label:"No",value:"false"},{label:"Yes",value:"true"}]}},cT={[E.IMAGE]:{...Tn},[E.PARAGRAPH]:{...Tn},[E.SUBTITLE]:{...Tn},[E.SELECTOR]:{...Tn},[E.STAT]:{...Tn},[E.VIZ]:{...Tn},[E.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"}]},...Tn},[E.GENERATOR]:{...lT},[E.SECTION_FLAG]:{...lT},[E.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"}]}},[E.MULTIHIERARCHY_SELECTOR]:{...Tn}},mT=e=>e&&cT[e]?cT[e]:Tn,uT={left:"flex-start",right:"flex-end",justify:"stretch"},pT={justify:"apart"},dT={justify:"space-between"},Po=e=>uT[e]?uT[e]:e,oo=e=>pT[e]?pT[e]:e,ws=e=>dT[e]?dT[e]:e;});var f_,fT,gT=D(()=>{p();f_=({value:e,handleChange:t,position:o="right"})=>jsxs(Group,{position:o,children:[jsx(Text,{size:"xs",children:"Aligment"}),jsx(SegmentedControl,{size:"xs",defaultValue:e,onChange:r=>t("align",r),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"}]})]}),fT=f_;});function I_({id:e,display:t="button",handleChange:o}){let r=ie(),n=tt(e).data,[i,a]=useState(false),l=R_(n),s=m=>{typeof m=="boolean"?c("width",{...l,...m?{stretch:true}:bT}):c("width",{...l,value:m});},c=(m,h)=>{n&&(o?o(m,h):r(Z.updateEntity("block",{id:e,settings:{...n.settings,[m]:h}})));};if(!n)return null;let u=mT(n.type),d=hT[l.unit],f=m=>{let{defaultValue:h}=hT[m];c("width",{...l,value:h,unit:m});},g=jsxs(Stack,{spacing:"xs",children:[jsx(fT,{value:n.settings.align||"left",handleChange:c,position:"apart"}),Object.entries(u).map(([m,{label:h,defaultValue:y,options:S}])=>jsxs(Group,{spacing:"xs",position:"apart",noWrap:true,style:{width:"100%"},children:[h&&jsx(Text,{size:"xs",children:h}),jsx(SegmentedControl,{defaultValue:String(n.settings[m]||y),onChange:v=>c(m,v),data:S,size:"xs"})]},m)),![E.GENERATOR,E.SECTION_FLAG].includes(n.type)&&jsxs(Group,{spacing:"xs",children:[jsx(Text,{size:"xs",children:"Width"}),jsxs(Group,{spacing:"xs",children:[!l.stretch&&jsxs("div",{children:[jsx(w_,{currUnit:l.unit,changeUnit:f}),jsx(NumberInput,{defaultValue:parseInt(d.defaultValue,10),disabled:l.stretch,onChange:m=>s(m),size:"xs",value:Number.isNaN(l.value)?void 0:parseInt(l.value,10),...d})]}),jsx(Checkbox,{size:"xs",label:"Stretch",checked:l.stretch,onChange:m=>s(m.currentTarget.checked)})]})]},"width")]});return t==="button"?jsxs(Popover,{opened:i,onClose:()=>a(false),position:"bottom-end",withinPortal:true,children:[jsx(Popover.Target,{children:jsx(ActionIcon,{onClick:()=>a(m=>!m),children:jsx(IconPalette,{size:20})})}),jsx(Popover.Dropdown,{children:g})]}):jsx(Paper,{p:"md",children:g})}var E_,nc,hT,bT,w_,R_,pp,ic=D(()=>{p();ro();se();gT();he();E_=["px","%"],nc={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,")},hT={px:{defaultValue:400,min:25,step:5,formatter:nc.px},"%":{defaultValue:50,min:20,max:100,step:5,formatter:nc["%"]}},bT={stretch:false,unit:"px",value:"400"},w_=({currUnit:e,changeUnit:t})=>jsxs(Group,{position:"apart",children:[jsx(Text,{size:"xs",fw:"bold",children:"Unit"}),jsx(Group,{spacing:3,children:E_.map(o=>jsx(Anchor,{component:"button",size:"xs",td:e===o?"underline":"none",onClick:()=>t(o),children:o},o))})]}),R_=e=>{let t=e?.settings?.width||{};return t&&["stretch","value","unit"].every(o=>Object.prototype.hasOwnProperty.call(t,o))?t:bT};pp=I_;});var j_,kT,ET=D(()=>{p();j_=(e,t)=>{let o=e.allLabel||"All",r=e.colorKey||"",n=e.data||[],i=e.hideLabel||"false",a=e.resetSectionVars||"false",l=e.iconKey||"",s=e.label||"Unlabeled Multihierarchy Selector",c=e.levels||[],u=e.limit||void 0,d=e.placeholder||"",f=e.searchIndexKey||"",g=e.searchIndexSeparator||"",m,h;return e.defaultValue&&e.defaultValueType&&(m=e.defaultValue,h=e.defaultValueType),(!m||!h)&&(m=[],h=""),{allLabel:o,colorKey:r,data:n,defaultValue:m,defaultValueType:h,hideLabel:i,resetSectionVars:a,iconKey:l,id:t,label:s,levels:c,limit:u,placeholder:d,searchIndexKey:f,searchIndexSeparator:g}},kT=j_;});var K_,wT,q_,RT,IT=D(()=>{p();he();Ru();K_=e=>Array.isArray(e)?e.map(t=>typeof t=="string"?{id:t,label:t}:t):[],wT=(e,t)=>t===St.MULTI&&!Array.isArray(e)?[e]:e,q_=(e,t)=>{let o=e.type||St.SINGLE,r=e.component||"Selector",n=e.hideLabel||"false",i=e.resetSectionVars||"false",a=e.name||"Unlabeled Selector",l=K_(e.options||[]),s;if(e.defaultValue){let c=wT(e.defaultValue,o);Fi(o,c,l)&&(s=c);}if(!s){let c=l&&l[0]&&l[0].id||l[0]||"";s=wT(c,o);}return {id:t,name:a,type:o,options:l,component:r,defaultValue:s,hideLabel:n,resetSectionVars:i}},RT=q_;});var Y_,sr,Xf=D(()=>{p();he();ET();IT();Y_={[E.SELECTOR]:RT,[E.MULTIHIERARCHY_SELECTOR]:kT},sr=Y_;});var X_,J_,Q_,Z_,He,Wr=D(()=>{p();X_=e=>typeof e=="string"?e.replace(/ <\/p>/g,"</p>"):e,J_=e=>typeof e=="string"&&e==="<p><br></p>"?"":e,Q_=e=>typeof e=="string"?e.replace(/^<p>(.*)<\/p>$/,"$1"):e,Z_=e=>e&&Q_(J_(X_(e))),He=Z_;});function ve({id:e="",component:t="p",order:o=1,size:r="md",html:n,style:i={},append:a=jsx(Fragment,{}),isPreview:l=false,lineClamp:s="none"}){let c=oN(n),u=rN(n,l),d=i&&i.align?String(i.align):"left",f=Text,g={};return t==="h"?(f=Title,g={id:e,order:o}):g={component:t,size:r,lineClamp:s},jsxs(f,{align:d||c.align||"left",...g,children:[u,a]})}var oN,rN,mt=D(()=>{p();oN=(e="<></>")=>{let t=null,o={replace:r=>(r instanceof Element$1&&!t&&(t=r.attribs,t.align=r.attribs.style?r.attribs.style.replace("text-align: ",""):"",delete t.children),r)};return e?(PT(e,o),t):{}},rN=(e="",t=false)=>{let o={replace:r=>{let{type:n}=r;if(r instanceof Element$1&&n==="tag"){let{name:i,attribs:a,children:l,parent:s}=r;if(i==="p"&&!s)return jsx(Fragment,{children:domToReact(l,o)});if(i==="a"){let{href:c,target:u}=a,d=c.indexOf("http")===0,f=!!(u&&u==="_blank"),g=jsx(Anchor,{...a,href:a.href,target:"_blank",children:domToReact(l,o)});return d||f||t?g:jsx(Anchor,{...a,href:a.href,children:domToReact(l,o)})}else {if(i==="strong")return jsx(Text,{component:"strong",children:domToReact(l,o)});if(i==="em")return jsx(Text,{component:"em",fs:"italic",children:domToReact(l,o)});if(i==="u")return jsx(Text,{component:"u",td:"underline",children:domToReact(l,o)});if(i==="sup")return jsx(Text,{component:"sup",style:{verticalAlign:"super",fontSize:"0.75em"},children:domToReact(l,o)});if(i==="sub")return jsx(Text,{component:"sub",style:{verticalAlign:"sub",fontSize:"0.75em"},children:domToReact(l,o)});if(i==="span")return jsx(Text,{component:"span",children:domToReact(l,o)});if(i==="br")return jsx("br",{})}return jsx(Fragment,{children:domToReact(l,o)})}else if(r instanceof Text$1&&r.type==="text")return jsx(Fragment,{children:r.data})}};return PT(e,o)};});function Qf({paragraph:e,tooltip:t,settings:o}){let r=He(t);return jsx(ve,{component:"p",html:e,style:o,append:t?jsx(Ut,{content:r,style:{display:"inline-block",verticalAlign:"bottom"}}):jsx(Fragment,{})})}var LT=D(()=>{p();Wr();Cn();mt();});function je({iconType:e="none",iconVariant:t="transparent",icon:o="",iconRadius:r="md",iconSize:n="md",iconPadding:i="1",blockType:a}){let[l,s]=useState(void 0),c=e==="custom"?o:`/api/cms/read/icons/${e}/icon.svg?name=${o}`,u=/^.*\.svg*$/.test(c)||e==="tabler";return useEffect(()=>{u&&Mu.get(c,{responseType:"text"}).then(f=>f.data).then(s).catch(()=>{});},[e,u,c]),jsx(Fragment,{children:e!=="none"&&o&&o!==""&&!!(l||!u)&&jsx(ThemeIcon,{className:`bespoke-${a}-icon-wrapper`,variant:t,radius:r,size:n,p:parseInt(i),dangerouslySetInnerHTML:l&&u?{__html:l}:void 0,children:u?null:jsx(Image,{src:c,alt:"Title Icon"})})})}var kn=D(()=>{p();});function eg({subtitle:e,title:t,value:o,tooltip:r,settings:n,_iconType:i,_iconVariant:a,_icon:l,_iconRadius:s,_iconSize:c,_iconPadding:u}){if(!t&&!o&&!e)return null;let d=n&&n.align?n.align:"left";return jsxs(Group,{spacing:"md",position:oo(d),children:[jsx(je,{blockType:"stat",iconType:i,iconVariant:a,iconRadius:s,iconSize:c,icon:l,iconPadding:u}),jsxs(Stack,{spacing:0,children:[t&&jsx(ve,{component:"div",size:"md",html:t,style:n}),o&&jsx(ve,{component:"div",size:"xl",html:o,style:n}),e&&jsx(ve,{component:"div",size:"sm",html:e,style:n})]},"stat"),r&&jsx(Ut,{content:r})]})}var BT=D(()=>{p();Cn();kn();mt();ro();});function tg({subtitle:e,tooltip:t,settings:o}){let r=e||"<span class='cr-block-placeholder'>Small subtitle.</span>",n=o&&o.align?o.align:"left";return jsxs(Group,{spacing:"sm",position:oo(n),children:[jsx(ve,{size:"sm",html:r}),t&&jsx(Ut,{content:t,style:{display:"inline-flex"}})]})}var _T=D(()=>{p();Cn();mt();ro();});var NT=D(()=>{p();se();Gr();Gr();qn();Ml();bn();Xe();se();Ya();st();ye();he();});function Pr(){return useContext(yN)}var yN,ai=D(()=>{p();no();yN=createContext({active:false,variables:null,status:null,setComparisonVariables:null,comparisonLoaded:false,loading:false,error:false});});function gp(e,t,o,r=false,n=false){let i=useRouter(),{query:a,locale:l}=i,s=H(P=>P),c=useDispatch(),u=Pr(),d=H(P=>r&&u.variables?u?.variables?.attributes:P.variables.attributes),f=ra(s),g=is(s),m=as(s),h=Kn(g,l),y=ot(e,r&&u.active?u?.variables.variables:void 0,r&&u.active?u?.variables.attributes:void 0),S=H(P=>r?u.variables.variables:P.variables.variables),v=H(P=>r?u.variables.status:P.variables.status),C=wr(),{sectionVariables:b,resetSectionVariables:k}=pt(t),{addRunConsumersRunning:w,removeRunConsumersRunning:R}=Wl(),O=we(),A=r&&u.active?`${o}Compare`:o,B=r&&u.active?Object.fromEntries(Object.entries(a).filter(([P])=>P.match(CN)).map(([P,I])=>[P.replace("Compare",""),I])):Object.fromEntries(Object.entries(a).filter(([P])=>P.match(kN)).map(([P,I])=>[P.replace("Compare",""),I]));return useCallback(P=>{let I={locale:l,query:{...B,[o]:P},variables:y},F=new URLSearchParams(window.location.search);F.set(A,P),window.history.replaceState(null,null,`?${F.toString()}`),w([t]),ei(f,void 0,e,h,I,{variables:S,status:v},C,"report",m,O).then(M=>{u.active&&r?u.setComparisonVariables({attributes:d,variables:M.variables,status:M.status}):c(Vi.setVariableChange({attributes:d,variables:M.variables,status:M.status})),n&&b&&k(),R([t]);});},[e,t,o,A,a,f,c,h,i,y.attributes,r,n,v,S])}var CN,kN,zT=D(()=>{p();bn();se();qn();Gr();Ya();ye();st();ai();Xe();CN=/\w*Compare\b/,kN=/selector\d+id/;});var FT=D(()=>{p();});var wN,RN,VT,$T,hp,IN,pa,cc=D(()=>{p();Ga();Qn();wN=process.env.NEXT_PUBLIC_REPORTS_LOCALE_DEFAULT||"en",RN="Error Rendering Visualization",VT={data:[],dataFormat:e=>e,type:"Treemap",noDataHTML:`<p style="font-family: 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;">
|
|
35
|
-
<strong>${RN}</strong>
|
|
36
|
-
</p>`},$T=(e,t,o)=>{let r=t.find(n=>{let i=n.content?.pattern;if(!i)return false;try{return new RegExp(i,"gm").test(e)}catch{return false}});if(r){if(r.content?.useProxy)return `${process.env.NEXT_PUBLIC_REPORTS_BASE_URL}/api/cms/url/proxy?url=${encodeURIComponent(e)}&wrapper=false`;try{let i={envs:{...wo()},...o?{session:o}:{}},l=Ua({vars:["url","libs","session"],logic:r.content.logic},i)(e);if(l instanceof Promise)console.warn(`[DataSource] Logic for "${r.name}" is async, which is not supported in this context. Use useProxy=true for async logic.`);else if(l?.axiosConfig?.url!=null){let{url:s,headers:c}=l.axiosConfig;return c&&Object.keys(c).length>0?{url:s,headers:c}:s}}catch(n){console.error(`[DataSource] Failed to apply logic for URL "${e}":`,n.message);}}return e},hp=(e,t,o)=>typeof e=="string"?$T(e,t,o):Array.isArray(e)?e.map(r=>typeof r=="string"?$T(r,t,o):r):e,IN=(e,t,o={},r=wN,n=null,i={},a={},l=[],s)=>{let c;try{c=$a({vars:["variables"],logic:e},t,r,i,a)(o),c.data=hp(c.data,l,s),c._downloadUrl&&(c.__downloadUrl=hp(c.__downloadUrl,l,s));}catch(m){return console.error(`Parsing Error in propify (ID: ${n})`),console.error(`Error message: ${m.message}`),{error:`${m}`,config:VT}}if(typeof c!="object")return {error:"Visualization JS code must return an object",config:VT};let u=c.dataFormat?c.dataFormat:m=>{let y=Array.isArray(c.data)&&c.data.length>1&&c.data.some(S=>typeof S=="string")?m:[m];return dataConcat(y,"data")};delete c.dataFormat;let d=c.linksFormat||void 0;delete c.linksFormat;let f=c.nodesFormat||void 0;delete c.nodesFormat;let g=c.topojsonFormat||void 0;return delete c.topojsonFormat,{config:c,dataFormat:u,linksFormat:d,nodesFormat:f,topojsonFormat:g}},pa=IN;});var UT=D(()=>{p();ke();ce({name:"abbreviate",description:"Abbreviates a number into a smaller more human-readable number.",logicFactory(e){return t=>e.d3plus.formatAbbreviate(t)},inputType:"number",testValue:"123456",type:"formatter"});});var GT=D(()=>{p();ke();ce({name:"abs",description:"Simple Absolute Value.",logicFactory(){return e=>Math.abs(e)},inputType:"number",testValue:"-123",type:"formatter"});});var ON,HT=D(()=>{p();ke();ON=()=>function(t){let r=new RegExp(/([\$0-9\,]+)[A-z\-\s\&]*([\$0-9\,]*)/g).exec(t);return r?(r=r.slice(1).filter(n=>n.length).map(n=>(n.includes(",")&&(n.indexOf(",")===n.length-4?n=n.replace(/,000$/g,"k").replace(/([0-9]+)(,999$)/g,i=>`${parseInt(i)+1}k`):n.indexOf(",")===n.length-8&&(n=n.replace(/,000,000$/g,"M").replace(/([0-9]+)(,999,999$)/g,i=>`${parseInt(i)+1}M`))),n)),r.length===2?r.join(" - "):t.toLowerCase().match(/under|less|</g)?`< ${r[0]}`:t.toLowerCase().match(/over|more|\+|>/g)?`${r[0]}+`:`${r[0]}`):"None"},ce({name:"bucket",description:"Sanitizes bucket strings to '< n', 'n1 - n2', and 'n+'",logicFactory:ON,inputType:"number",testValue:"1234",type:"formatter"});});var WT=D(()=>{p();ke();ce({name:"commas",description:"* Rounds to nearest whole number and adds commas.",logicFactory(e){return t=>e.d3.format(",")(Math.round(t))},inputType:"number",testValue:"1234.6",type:"formatter"});});var jT=D(()=>{p();ke();ce({name:"date",description:"Formats a date into '%B %d, %Y' format.",logicFactory(e){return t=>(typeof t=="string"&&(t=e.d3plus.date(t)),e.d3.timeFormat("%B %d, %Y")(t))},inputType:"date",testValue:"2022-01-01",type:"formatter"});});var KT=D(()=>{p();ke();ce({name:"dollar",description:"Adds a US dollar sign to the beginning of a String or Number.",logicFactory(e){return t=>(typeof t=="number"&&(t=e.d3plus.formatAbbreviate(t)),t.charAt(0)==="-"?t.replace("-","-$"):`$${t}`)},inputType:"number",testValue:"123",type:"formatter"});});var qT=D(()=>{p();ke();ce({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"});});var YT=D(()=>{p();ke();ce({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"});});var XT=D(()=>{p();ke();ce({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"});});var JT=D(()=>{p();ke();ce({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 VN,QT=D(()=>{p();ke();VN=()=>function(t){let{curr:o,currMoe:r=0,prev:n,prevMoe:i=0}=t,a;if(r||i){let l=(-n/o**2)**2*r**2,s=(1/o)**2*i**2;a=Math.sqrt(l+s);}else a=(o-n)/n;return a*100},ce({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:VN,inputType:"object",testValue:'{"curr":10,"currMoe":0,"prev":13,"prevMoe":0}',type:"formatter"});});var ZT=D(()=>{p();ke();ce({name:"growthPct",description:"Abbreviates a growth value, turns it absolute, and adds a percent sign.",logicFactory(e){return t=>`${e.d3plus.formatAbbreviate(Math.abs(t))}%`},inputType:"number",testValue:"12345",type:"formatter"});});var eC=D(()=>{p();ke();ce({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"});});var tC=D(()=>{p();ke();ce({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"});});var oC=D(()=>{p();ke();ce({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"});});var rC=D(()=>{p();ke();ce({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"});});var nC=D(()=>{p();ke();ce({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"});});var iC=D(()=>{p();ke();ce({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"});});var aC=D(()=>{p();ke();ce({name:"list",description:"Joins an array of strings together, adding commas and 'and' when necessary.",logicFactory(){return e=>e.reduce((t,o,r)=>(r?r===e.length-1&&r===1?t+=` and ${o}`:r===e.length-1?t+=`, and ${o}`:t+=`, ${o}`:t+=o,t),"")},inputType:"object",testValue:'["foo","bar","bee"]',type:"formatter"});});var sC=D(()=>{p();ke();ce({name:"longWord",description:"",logicFactory(){return e=>e<0?"shorter":e>0?"longer":"similar"},inputType:"number",testValue:"5",type:"formatter"});});var lC=D(()=>{p();ke();ce({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"});});var cC=D(()=>{p();ke();ce({name:"moreFewerWord",description:"",logicFactory(){return e=>e<0?"fewer":"more"},inputType:"number",testValue:"-5",type:"formatter"});});var uC=D(()=>{p();ke();ce({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"});});var pC=D(()=>{p();ke();ce({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"});});var dC=D(()=>{p();ke();ce({name:"olderWord",description:"",logicFactory(){return e=>e<0?"getting younger":e>0?"getting older":"staying the same age"},inputType:"number",testValue:"-5",type:"formatter"});});var mC=D(()=>{p();ke();ce({name:"olderYounger",description:"",logicFactory(){return e=>e<0?"younger than":e>0?"older than":"the same age as"},inputType:"number",testValue:"-5",type:"formatter"});});var fC=D(()=>{p();ke();ce({name:"plural",description:"Pluralizes a word.",logicFactory(){return e=>e.replace(/\w$/g,t=>t==="y"?"ies":`${t}s`)},inputType:"string",testValue:"Foo",type:"formatter"});});var gC=D(()=>{p();ke();ce({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"});});var hC=D(()=>{p();ke();ce({name:"salary",description:"Displays salary values with proper precision (ie. '$74,200' instead of '$74.2k')",logicFactory(e){return t=>{let o;return t<1e6?o=e.d3.format(",")(t.toFixed(0)):o=e.d3plus.formatAbbreviate(t),`$${o}`}},inputType:"number",testValue:"1000000",type:"formatter"});});var bC=D(()=>{p();ke();ce({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 vC=D(()=>{p();ke();ce({name:"stripHTML",description:"Converts html tags to spaces, then removes redundant spaces",logicFactory(){return e=>{let t={"&":"&","<":"<",">":">",""":'"',"'":"'","`":"`"," ":""},o=`(?:${Object.keys(t).join("|")})`,r=RegExp(o),n=RegExp(o,"g"),i=String(e).replace(/<[^>]+>/g," ").replace(/\s+/g," ").trim();return r.test(i)?i.replace(n,a=>t[a]):i}},inputType:"string",testValue:"<b>My text</b>",type:"formatter"});});var SC=D(()=>{p();ke();ce({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"});});var xC=D(()=>{p();ke();ce({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"});});var TC=D(()=>{p();ke();ce({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"});});var CC=D(()=>{p();ke();ce({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"});});var kC=D(()=>{p();ke();ce({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"});});var EC=D(()=>{p();ke();ce({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 wC=D(()=>{p();UT();GT();HT();WT();jT();KT();qT();YT();XT();JT();QT();ZT();eC();tC();oC();rC();nC();iC();aC();sC();lC();cC();uC();pC();dC();mC();fC();gC();hC();bC();vC();SC();xC();TC();CC();kC();EC();});function ho(e){let t=useContext(g1);return e?t[e]??t:t}var g1,Kr=D(()=>{p();g1=createContext({});});function RC({direction:e,onClick:t,visible:o}){return o?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:t,children:e==="left"?jsx(IconArrowLeft,{size:16}):jsx(IconArrowRight,{size:16})}):null}function bp({data:e}){let t=useRef(null),[o,r]=useState(false),[n,i]=useState(false),[a,l]=useState(false),s=useMemo(()=>(e&&Array.isArray(e)&&e[0]?Object.keys(e[0]):[]).filter(d=>!d.startsWith("_")).map(d=>({accessorKey:d,header:d,enableSorting:true})),[e]);return useEffect(()=>{let c=()=>{if(t.current){let{scrollWidth:u,clientWidth:d,scrollLeft:f}=t.current;r(u>d),i(f>0),l(f+d<u-1);}};return c(),window.addEventListener("resize",c),t.current?.addEventListener("scroll",c),()=>{window.removeEventListener("resize",c),t.current?.removeEventListener("scroll",c);}},[e]),jsxs("div",{className:"bespoke-sortable-table",style:{position:"relative"},children:[jsx(MantineReactTable,{columns:s,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:t,sx:{minHeight:100,maxHeight:350,overflowX:"auto"}},mantineTableBodyCellProps:{p:"5px !important",sx:{textWrap:"wrap"}},defaultColumn:{minSize:50,maxSize:150}}),jsx(RC,{direction:"left",visible:o&&n,onClick:()=>{t.current&&t.current.scrollBy({left:-150,behavior:"smooth"});}}),jsx(RC,{direction:"right",visible:o&&a,onClick:()=>{t.current&&t.current.scrollBy({left:150,behavior:"smooth"});}})]})}var rg=D(()=>{p();});var da,yp,vp=D(()=>{p();da="HTML",yp=({config:e})=>!e||!e.html?null:jsx("div",{className:"bespoke-html",dangerouslySetInnerHTML:{__html:e.html}});});function cg(e){let{section:t}=e,o=wr(),r=useRouter(),n=H(G=>G.status.isCMS),i=H(G=>G.status.currentLocale),a=r.locale,l=n?i:a,s=50,c=Io(l),u=vn(),d=we(),f=ho("options"),g={...MC,...f.data_tab},[m,h]=useState([]),[y,S]=useState([]),[v,C]=useState(),[b,k]=useState(),[w,R]=useState(false),[O,A]=useState({}),[B,_]=useState(true),[P,I]=useState(true),{sectionVariables:F,setSectionVariables:M,resetSectionVariables:N}=pt(t.id),j=t.blocks||[],$=H(G=>G),V=useMemo(()=>j.reduce((G,K)=>{let ee=$.records.entities.block[K],ae=$.variables.variables[K],ue=$.variables.status[K];return ee&&(E.GENERATOR===ee.type&&ae._downloadEnabled===true&&ue.allowed||E.VIZ===ee.type&&ue.allowed)&&(G[K]={entity:ee,variables:$.variables.variables[K],status:$.variables.status[K],inputVariablesFlat:ee.inputs.reduce((Te,X)=>({...Te,...$.variables.variables[X]}),$.variables.attributes)}),G},{}),[j]),z=G=>{S(K=>K.includes(G)?K:[...K,G]);},q=G=>{h(K=>(K.find(ae=>ae.ix===G.ix)?K:[...K,G]).sort((ae,ue)=>ae.ix>ue.ix?1:-1));};function W(G){!v&&G[0]&&U(G[0]);}function U(G){C(G),k("0");}useEffect(()=>{let G=async(K,ee,ae)=>{let ue=dataLoad.bind({});return new Promise((Te,X)=>{ue(ee,null,null,(le,de)=>{if(le)X(le);else {let Ce=ae instanceof Function?ae(de):de;K.data.unshift(Ce),q(K),Te(de);}});})};if(m.length===0&&y.length===0){let K=0;for(let ee of Object.values(V)){let ae=ee.entity;if([E.GENERATOR,E.SECTION_FLAG].includes(ae.type)){let ue=ee.variables._downloadData||ee.variables._downloadUrl||ee.status.api;if(ue){let Te=[];typeof ue=="string"?Te=ue.split("|||"):Te=[ue],Te=hp(Te,u,d);let X=ee.variables._downloadTitle||`${g.data_source} ${K+1}`,le=ee.variables._downloadFileName||X;q({ix:K,id:ae.id,title:Jt(X),fileName:le,data:Array.isArray(Te)?Te:[Te],loading:false,type:E.GENERATOR}),z(K),K++;}}else if(ae.type===E.VIZ){let ue=ko(ae),Te=ee.inputVariablesFlat,X={variables:Te},le=xr({logic:ue.logic},c,X).logic,de={router:r,section:{variables:F,setVariables:M,resetVariables:N}},Ce=pa(le,c,Te,l,ae.id,{},de,u,d),$e=Ce.config._downloadTitle||Ce.config.title||`${g.viz_source} ${K+1}`,Ue=Ce.config._downloadFileName||$e;if(Ce.config._downloadEnabled!==false&&Ce.config.type!==da)try{let Qe=Ce.config._downloadUrl||Ce.config.data,To=typeof Qe=="string"?[Qe]:Qe,$o=Ce.dataFormat instanceof Function?Ce.dataFormat:!1,uo=Ce.config._downloadDataFormat instanceof Function?Ce.config._downloadDataFormat:!1;G({ix:K,id:ae.id,title:Jt($e),fileName:Ue,data:To,loading:!1,type:E.VIZ},Qe,uo||$o),z(K),K++;}catch(Qe){console.error("DataLoad catch",Qe);}}}I(false);}},[V]),useEffect(()=>{m.length===y.length&&W(m);},[m]),useEffect(()=>{if(v&&b){let G=parseInt(b,10);if(v.data[G]&&(!O[v.ix]||!O[v.ix][b])){_(true);let K=v.data[b];typeof K=="string"?Dm(K,o,l,[],void 0).then(ee=>{let ae=U1(ee);A({...O,[v.ix]:{...O[v.ix],[G]:ae}});}).catch(ee=>{console.error(ee);}).finally(()=>{_(false);}):(A({...O,[v.ix]:{...O[v.ix],[G]:K}}),_(false));}}},[b,v]);let Y=(G,K)=>{let ee=G===K?"":`-${G}`.toLowerCase();if(v){let ae=v.data.length>1&&b?`-${parseInt(b,10)+1}`:"";return `${xt(v.fileName)}${ee}${ae}.${K.toLowerCase()}`}return `${ee}.${K}`},ne=async G=>{if(v){R(true);let K=new I1,ee=Y(G,G);try{switch(G){case Sp.json.extension:K.file(ee,JSON.stringify(re));break;case Sp.csv.extension:K.file(ee,csvFormat(re));break;case Sp.xlsx.extension:{let{utils:ae,write:ue}=await import('xlsx'),Te=ae.book_new();ae.book_append_sheet(Te,ae.json_to_sheet(re),ee.substring(0,30));let X=ue(Te,{bookType:"xlsx",bookSST:!0,type:"binary"});K.file(ee,X,{binary:!0});break}default:break}K.generateAsync({type:"blob",compression:"DEFLATE",compressionOptions:{level:9}}).then(ae=>{R(!1),saveAs(ae,Y(G,"zip"));});}catch(ae){console.error(g.error_generating,ae),R(false);}}},re=useMemo(()=>v&&O[v.ix]&&O[v.ix][b]?O[v.ix][b]:[],[O,v,b]),J=useMemo(()=>{if(m&&m.length>0&&m.length===y.length){let G=m.map(K=>({value:`${K.ix}`,label:K.title}));return jsx(Select,{disabled:!v,style:{flex:"1"},value:`${v?.ix}`,onChange:K=>{let ee=m.find(ae=>`${ae.ix}`===K);U(ee);},data:G,icon:jsx(IconDatabase,{size:16})})}else return ""},[m,v,y]);return jsxs(Stack,{className:"cms-section-options-data",spacing:"xs",children:[jsx(LoadingOverlay,{visible:P,overlayBlur:2}),m.length===0&&!P&&jsx(Alert,{icon:jsx(IconAlertCircle,{size:"1rem"}),title:"Oops!",children:g.no_data_src}),m.length>1&&m.length===y.length&&!P&&jsx(Input.Wrapper,{label:`${g.choose_data_src}:`,children:jsx(Group,{spacing:"xs",children:J})}),v&&b&&jsx(Stack,{spacing:"xs",children:jsx(Input.Wrapper,{label:`${g.preview}
|
|
37
|
-
${re.length>s?g.rows_preview.replace("{nrows}",s):""}:`,children:jsxs(Group,{spacing:"xs",children:[jsx(Select,{disabled:!(v.data.length>1),style:{flex:"1"},value:b,onChange:G=>k(G),data:v.data.map((G,K)=>({value:`${K}`,group:typeof G=="string"?g.raw_group:g.formatted_group,label:typeof G=="string"?G:g.formatted_src.replace("{src}",v.title)})),icon:typeof v.data[b]=="string"?jsx(IconLink,{}):jsx(IconSparkles,{})}),jsx(CopyButton,{value:typeof v.data[b]=="string"?v.data[b]:"",timeout:2e3,children:({copied:G,copy:K})=>jsx(Tooltip,{label:G?g.copied:g.copy,withArrow:true,position:"top",children:jsx(ActionIcon,{variant:G?"filled":"subtle",onClick:K,disabled:typeof v.data[b]!="string",children:G?jsx(IconClipboardCheck,{size:16}):jsx(IconClipboardCopy,{size:16})})})})]})})}),v&&!B&&re.length===0&&jsx(Alert,{icon:jsx(IconAlertCircle,{size:"1rem"}),title:"Oops!",children:g.error_preview}),v&&b&&!B&&re.length===0&&jsx("a",{href:v.data[b],target:"_blank",rel:"noreferrer",children:jsx(Button,{leftIcon:jsx(IconExternalLink,{size:16}),fullWidth:true,children:g.open_in_window.replace("{src}",v.title)})}),jsxs(Stack,{pos:"relative",mih:"400px",spacing:"xs",children:[jsx(LoadingOverlay,{visible:B&&m.length>0,overlayBlur:2}),v&&!B&&re.length>0&&jsxs(Fragment,{children:[jsx(bp,{data:re.slice(0,s)}),jsx(Input.Wrapper,{label:`${g.download}:`,children:jsx(Button.Group,{children:Object.values(Sp).map(G=>jsx(Button,{leftIcon:jsx(G.icon,{size:24}),onClick:()=>ne(G.extension),loading:w,fullWidth:true,children:G.extension},`format-${G.extension}`))})})]})]})]})}var Sp,MC,U1,ug=D(()=>{p();se();rg();he();cc();Hr();us();Ho();ye();Xe();zi();bn();st();Cr();Kr();vp();Sp={csv:{extension:"CSV",icon:IconFileTypeCsv},json:{extension:"JSON",icon:IconFileTypeJs},xlsx:{extension:"XLSX",icon:IconFileTypeXls}},MC={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.
|
|
38
|
-
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!"},U1=e=>{let t=[];return e&&e.data&&(e.data&&Array.isArray(e.data)?t=e.data:e.data&&e.data.data&&Array.isArray(e.data.data)?t=e.data.data:e.data&&e.data.data&&e.data.data.results&&Array.isArray(e.data.data.results)?t=e.data.data.results:e.data&&e.data.results&&Array.isArray(e.data.results)&&(t=e.data.results)),t};});var W1,Tp=D(()=>{p();se();Xe();st();W1={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},createContext(W1);});var DC=D(()=>{p();se();he();Ho();zi();ye();cc();Xe();wC();Kr();ug();Tp();En();Go();});var _C=D(()=>{p();se();});var NC=D(()=>{p();Pt();se();bn();qn();Gr();st();Xe();});function Cp(e,t,o,r,n=false){let i=useRouter(),{query:a,locale:l}=i,s=H(I=>I),c=useDispatch(),u=Pr(),d=H(I=>r&&u.variables?u?.variables?.attributes:I.variables.attributes),f=ra(s),g=is(s),m=as(s),h=Kn(g,l),y=ot(e,r&&u.active?u?.variables.variables:void 0,r&&u.active?u?.variables.attributes:void 0),S=H(I=>r?u.variables.variables:I.variables.variables),v=H(I=>r?u.variables.status:I.variables.status),C=wr(),{sectionVariables:b,resetSectionVariables:k}=pt(t),{addRunConsumersRunning:w,removeRunConsumersRunning:R}=Wl(),O=we(),A=r&&u.active?`${o}-valueCompare`:`${o}-value`,B=r&&u.active?`${o}-typeCompare`:`${o}-type`,_=r&&u.active?Object.fromEntries(Object.entries(a).filter(([I])=>I.match(Y1)).map(([I,F])=>[I.replace("Compare",""),F])):Object.fromEntries(Object.entries(a).filter(([I])=>I.match(X1)).map(([I,F])=>[I.replace("Compare",""),F]));return useCallback((I,F)=>{let M={locale:l,query:{..._,[`${o}-type`]:F,[`${o}-value`]:I},variables:y},N=new URLSearchParams(window.location.search);I&&F?(N.set(A,I.join(",")),N.set(B,F)):(N.delete(A),N.delete(B)),window.history.replaceState(null,null,`?${N.toString()}`),w([t]),ei(f,void 0,e,h,M,{variables:S,status:v},C,"report",m,O).then(j=>{n&&b&&k(),u.active&&r?u.setComparisonVariables({attributes:d,variables:j.variables,status:j.status}):c(Vi.setVariableChange({attributes:d,variables:j.variables,status:j.status})),R([t]);});},[r,d,e,f,u,c,h,v,S,l,_,C,o,B,A,y,b,n,k])}var Y1,X1,zC=D(()=>{p();ai();st();bn();se();ye();qn();Gr();Ya();Xe();Y1=/\w*Compare\b/,X1=/multihierarchySelector\d+(id|-(type|value))/;});function Oo(){return useMantineTheme().other.bespokeStyles??{}}var FC=D(()=>{p();});var VC=D(()=>{p();});var ez,tz,li,uc=D(()=>{p();ez={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:{}},tz=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:ez,setTranslations:()=>null,showSelectors:true}),li=()=>useContext(tz);});function rz({translations:e}){let{loadingItems:t,setFilters:o,selectorStructure:r,filters:n,showSelectors:i}=li(),a=m=>{let h=m===null||Number.isNaN(m)?void 0:parseInt(m,10);h!==n.profile?o({profile:h,variant:void 0}):h&&o({profile:void 0,variant:void 0});},l=m=>{let h=m===null?void 0:typeof m=="string"&&m.includes(",")?m:parseInt(m,10);h!==n.variant?o({...n,variant:h}):h&&o({...n,variant:void 0});},s=m=>m<1e3?m:format$1(e.count_format)(m).replace(/\.0+([a-zA-Z]*)$/,"$1"),c=r.length===2?r[1].id:n.profile,u=c?r.find(m=>m.id===c):void 0,d=u&&u.variants&&n.variant?u.variants.find(m=>m.id===n.variant):void 0,f=useMemo(()=>r.map(m=>({value:String(m.id||""),label:(e?.dimensionIcon?.[m.name]?`${e?.dimensionIcon?.[m.name]} `:"")+(e?.dimension[m.name]||m.name)+(!t&&(!u||m.id===u?.id)?` (${s(m.members_count)})`:"")})),[e,u,r]),g=useMemo(()=>u?.variants?.map(m=>({value:String(m.id||""),label:(e?.variantIcon?.[m.name]?`${e?.variantIcon?.[m.name]} `:"")+(e?.variant[m.name]||m.name)+(!t&&(!d||m.id===d?.id)?` (${s(m.members_count)})`:"")}))??[],[e,d,r]);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:f,value:String(u?.id||""),onChange:m=>a(m),label:e.select_report||"Select Report",placeholder:e.select_report||"Select Report",clearable:typeof u?.id<"u",style:{width:"450px"}}),u?.variants&&u.variants.length>2&&jsx(Select,{className:"bespoke-explore-variant-select",data:g,value:String(d?.id||""),onChange:m=>l(m),label:e.select_variant||"Select Variant",placeholder:e.select_variant||"Select Variant",clearable:typeof d?.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:r.map(m=>jsxs(Button,{"data-selected":m.id===u?.id?"true":"false","data-report-name":m.name,variant:m.id===u?.id?"outline":"subtle",onClick:()=>a(m.id),rightIcon:m.id&&m.id===u?.id?jsx(IconX,{size:"1rem"}):void 0,leftIcon:e?.dimensionIcon?.[m.name]??void 0,children:[jsx(Text,{span:true,className:"bespoke-explore-reports-name",dangerouslySetInnerHTML:{__html:e?.dimension[m.name]??m.name}}),!t&&(!u||m.id===u?.id)&&jsx(Text,{span:true,size:"xs",ml:"0.2rem",className:"bespoke-explore-reports-count",children:`(${s(m.members_count)})`})]},`p-${m.id}`))}),u&&u.variants&&u.variants.length>2&&jsx(Group,{position:"center",style:{minHeight:"36px"},className:"bespoke-explore-variant-selector",mb:"md",children:u.variants.map(m=>jsxs(Button,{"data-selected":m.id===d?.id?"true":"false","data-variant-name":m.name,variant:m.id===d?.id?"outline":"subtle",onClick:()=>l(m.id),rightIcon:m.id&&m.id===d?.id?jsx(IconX,{size:"1rem"}):void 0,leftIcon:e?.variantIcon?.[m.name]?jsx(Text,{span:true,dangerouslySetInnerHTML:{__html:e.variantIcon[m.name]}}):void 0,children:[jsx(Text,{span:true,className:"bespoke-explore-variant-name",dangerouslySetInnerHTML:{__html:e?.variant[m.name]??m.name}}),!t&&(!d||m.id===d?.id)&&jsx(Text,{span:true,size:"xs",ml:"0.2rem",className:"bespoke-explore-variant-count",children:`(${s(m.members_count)})`})]},`v-${m.id}`))})]})})]})})}var KC,qC=D(()=>{p();uc();KC=rz;});function dg({reportId:e,reportName:t,members:o,href:r,onClick:n}){let i=o.map(l=>jsx(Image,{src:l.image.src,height:160,imageProps:{loading:"lazy"},alt:l.name},l.id)),a=o.map(l=>jsxs(Stack,{children:[jsx(Text,{weight:500,children:l.name}),jsx(Badge,{color:"green",variant:"light",w:"fit-content",children:l.variant})]},l.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:a}),jsx("a",{href:r,onClick:n,children:jsx(Button,{variant:"light",color:"blue",fullWidth:true,mt:"md",radius:"md",children:`See ${t} Report`})})]})}function dz({profile:e,profilePrefix:t,onSelect:o,reportTile:r}){let n=useRouter(),i=n.locale,{localeDefault:a}=We(),s=`${i===a?"":`/${i}`}${t}${e.path}`,c=e.members.map(g=>({original_id:g.metadata.id,name:g.name,id:g.id,dimension_id:g.metadata.dimension.id,dimension:g.metadata.dimension.name,variant_id:g.metadata.variant.id,variant:g.metadata.variant.name,image:{src:`/api/cms/member/image?member=${g.id}&size=thumb`,alt:g.name}})),u=g=>{n.push(`${g}`),o&&o();},d=g=>{g.preventDefault(),u(s);},f=pz(r);return jsx(Grid.Col,{xs:12,sm:6,md:4,lg:4,xl:3,children:jsx(f,{reportId:e.report.id,reportName:e.report.name,members:c,href:s,onClick:d})},e.id)}var pz,QC,mg=D(()=>{p();no();Uo();pz=e=>{let{components:t}=Oo(),o=dg;return t?.ReportTile&&(o=t?.ReportTile),e&&(o=e),o};QC=dz;});function yz({profilePrefix:e,onSelect:t=()=>{},reportTile:o}){let[r,n]=useState(500),i=useRef(null),{results:a}=li(),l=i.current?.offsetTop||0,s=50;return useEffect(()=>{let{innerHeight:c}=window;n(c-l-s);},[l]),jsx(ScrollArea,{offsetScrollbars:true,type:"always",h:r,ref:i,children:jsx(Grid,{align:"stretch",children:a.map(c=>jsx(QC,{profile:c,profilePrefix:e,reportTile:o,onSelect:t},c.id))})})}var ZC,ek=D(()=>{p();mg();uc();ZC=yz;});function xz(){let{activePage:e,setActivePage:t,pageSize:o,currentPageTotal:r}=li();return jsx(Group,{position:"center",children:jsx(Pagination,{value:e,onChange:i=>{t(i);},total:Math.ceil(r/o),size:"sm",py:"xs"})})}var ok,rk=D(()=>{p();uc();ok=xz;});function Lz({profilePrefix:e,initialReportId:t,initialVariantId:o,translations:r,onSelect:n,reportTile:i,initialQuery:a}){let l=useRef(),s=li(),{query:c,setQuery:u,results:d,loadingItems:f,loadingMetadata:g,translations:m,setTranslations:h,initExplore:y}=s;useEffect(()=>{y&&y(t,o,a);},[y]),useEffect(()=>{f||l.current?.focus();},[f]),useEffect(()=>{r&&h(r);},[r]);let S=()=>{u("");};return jsxs(Container,{fluid:true,pt:"1em",children:[jsx(TextInput,{placeholder:m.search,mb:"md",size:"xl",onChange:v=>u(v.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:S,children:jsx(IconTrash,{size:24})})]}),ref:l}),jsx(KC,{translations:m}),jsx(LoadingOverlay,{visible:g||f}),!f&&d.length===0&&jsx(Alert,{title:m.no_results,color:"blue",children:m.try_another}),jsx(ZC,{profilePrefix:e,onSelect:n,reportTile:i}),jsx(ok,{})]})}var ik,ak=D(()=>{p();qC();ek();rk();uc();ik=Lz;});function Vz({exploreProps:e={profilePrefix:"/",locale:Fz},icon:t=jsx(IconSearch,{size:20}),actionIconProps:o={},modalProps:r={},tooltipProps:n={},tooltipText:i="Click to Explore",showIcon:a=true,showTooltip:l=false,children:s}){let[c,u]=useState(false),d={variant:"light",size:"md",radius:"md",...o},f={fullScreen:true,opened:c,onClose:()=>u(false)},g=jsx(ActionIcon,{...d,onClick:()=>u(true),children:t}),m=a?jsxs(Group,{spacing:"sm",style:{cursor:"pointer"},children:[s,g]}):s;return l&&(m=jsx(Tooltip,{label:i,...n,children:m})),jsxs(Fragment,{children:[jsx(Modal,{...f,...r,children:c&&jsx(ik,{...e,onSelect:()=>u(false)})}),jsx("div",{onClick:()=>u(true),children:s?m:jsx(Fragment,{children:g})})]})}var Fz,ck,uk=D(()=>{p();ak();Uo();({localeDefault:Fz}=We());ck=Vz;});var jz,pk,dk=D(()=>{p();jz=forwardRef(({id:e,members:t,...o},r)=>{let n=t.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:r,children:jsx(Group,{position:"apart",grow:true,...o,children:n})},e)}),pk=jz;});function nF({locale:e,profilePrefix:t="/report",autocompleteProps:o={},tooltipProps:r={},tooltipText:n="Click to search",searchReportParams:i={},callback:a,children:l}){let s=useRouter(),c=s.locale,{localeDefault:u}=We(),d=c===u?"":`/${c}`,f=rF(o?o.itemComponent:null),[g,m]=useState(""),[h,y]=useDebouncedValue(g,500),[S,v]=useState([]),[C,b]=useState(false),[k,w]=useState(false),[R,O]=useState(false),[A,B]=useState(!l),_=()=>{B(false);},P=()=>{B(true),N();},I=useRef(),F=useClickOutside(_),M=o?.searchConfig?.searchLimit??10,N=()=>{b(true);let Y={query:h,format:"profiles",locale:e,limit:M,visible:true,includes:true,noImage:false,variant:[],dimension:[],report:[],all:false,...i};Mu.get("/api/cms/search/reports",{params:Y}).then(ne=>{ne&&ne.data&&ne.data.data&&ne.data.data.results&&v(ne.data.data.results.map(re=>({id:re.id,reportName:re.report.name,href:`${d}${t}${re.path}`,reportPath:`${re.path}`,profilePrefix:t,value:`VALUE: ${re.id}`,members:re.members.map(J=>({original_id:J.metadata.id,name:J.name,id:J.id,variant:J.metadata.variant.name,image:{src:`/api/cms/member/image?member=${J.id}&size=thumb`,alt:J.name}}))}))),b(false),I.current?.focus();}).catch(ne=>{console.error(ne),b(false);});};useEffect(()=>{R&&h.length>=(o.searchConfig?.queryThreshold??0)&&N();},[R,h,o.searchConfig?.queryThreshold]),useEffect(()=>{y(),I.current&&A&&O(true);},[]),useEffect(()=>{y(),I.current&&A&&O(true);},[A]);let j=Y=>{B(false),a?a(Y):(s.push(Y.href),w(true));},$=Y=>{Y.includes("VALUE:")||m(Y);},{searchConfig:V,...z}=o,q={placeholder:"Search",size:"md",icon:jsx(IconSearch,{}),...z,data:S},W=jsx(Autocomplete,{value:g,itemComponent:f,onItemSubmit:j,onChange:$,filter:()=>true,disabled:(C||k)&&!R,limit:M,maxDropdownHeight:250,rightSection:jsx(Group,{spacing:0,position:"right",children:C?jsx(Loader,{size:20}):jsx(Fragment,{})}),rightSectionWidth:50,ref:I,...q});return l?jsx(Tooltip,{label:n,disabled:A,...r,children:jsxs(Group,{ref:F,spacing:"sm",align:"center",style:{cursor:"pointer"},children:[!A&&jsx("div",{onClick:()=>B(true),children:l}),A&&jsx(Fragment,{children:W}),A?jsx(ActionIcon,{variant:"light",onClick:_,children:jsx(IconX,{size:20})}):jsx(ActionIcon,{variant:"light",onClick:P,children:jsx(IconSearch,{size:20})})]})}):W}var rF,bk,yk=D(()=>{p();no();dk();Uo();rF=e=>{let{components:t}=Oo(),o=pk;return t?.ReportItem&&(o=t?.ReportItem),e&&(o=e),o};bk=nF;});function lF(){let{components:e}=Oo(),{modal:t,inline:o}=e?.search??{};return {modal:t,inline:o}}function Os(e,t,o,r,n){let i=lF(),a=H(d=>({reportId:d.variables.attributes.report_id,variantId:d.variables.attributes.variant_id1,title:d.variables.attributes.name1})),l=useRouter(),s=es(),c=ho();return useMemo(()=>{let d=e;return t==="modal"?d=jsx(ck,{exploreProps:{locale:l.locale||vk,profilePrefix:s,translations:c.explore,initialReportId:a.reportId,initialVariantId:a.variantId,initialQuery:a.title},tooltipText:c.explore?.tooltip,modalProps:i.modal,...n,children:e}):t==="inline"&&(d=jsx(bk,{locale:l.locale||vk,profilePrefix:s,callback:o,tooltipText:c.explore?.tooltip,...r,autocompleteProps:i.inline,children:e})),d},[t,e])}var vk,xk=D(()=>{p();Kr();se();ye();uk();yk();Uo();no();({localeDefault:vk}=We());});var no=D(()=>{p();NT();zT();FT();DC();ff();_C();NC();zC();FC();VC();xk();});function yg({title:e,tooltip:t,slug:o,_iconType:r,_iconVariant:n,_icon:i,settings:a,_iconRadius:l,_iconSize:s,_iconPadding:c,asComparison:u=false}){let{print:d}=cr(),f=He(e)||"<span class='cr-block-placeholder'>Title</span>",g=a&&a.order?parseInt(a.order,10):1,m=g<=6?g:1,h=a&&a.search?a.search:"off",y=a&&a.align?a.align:"left",S=Pr(),v=H(O=>O.status.previews),b=(u?S.status.previews:v).map(O=>O.name).join(" | "),k=jsxs(Group,{children:[jsx(je,{blockType:"title",iconType:r,iconVariant:n,iconRadius:l,iconSize:s,icon:i,iconPadding:c}),jsx(ve,{id:o||void 0,component:"h",order:m,style:a,html:f})]}),w=Os(k,h),R=a&&a.addComparisonName==="yes"&&S.active;return jsxs(Group,{spacing:"sm",position:oo(y),children:[jsxs("div",{children:[d?k:w,R&&jsx(Text,{className:"bespoke-comparison-title",children:b})]}),t&&jsx(Ut,{content:t})]})}var Ck=D(()=>{p();Wr();kn();mt();no();ai();se();En();Cn();ro();});function Tg(e){let{name:t,settings:o,options:r,id:n,defaultValue:i,section:a,component:l,asComparison:s,hideLabel:c,resetSectionVars:u}=e,{print:d}=cr(),f=TF(n),g=gp(n,a,f,s,u==="true"),m=s?`${f}Compare`:f,[h,y]=useState(i),[S,v]=useState(Ek(i,[])),C=JSON.stringify(r),b=o[_t.DISABLED]||false,k=useMemo(()=>r?.map(_=>({value:_.id,label:_.label,imageUrl:_.imageUrl})),[C]),w=d?r.filter(_=>S.includes(_.id)).map(_=>_.label).join(", "):"",R=d&&h&&r.find(_=>_.id===h)?.label||"",O=e.hideLabel==="true"?jsx(Fragment,{}):jsx(ve,{component:"div",html:t,size:"sm",style:o});if(useEffect(()=>{if(!b){let P=new URLSearchParams(window.location.search).get(m)||i;P&&(e.type===St.SINGLE?y(P):v(Ek(P,i)));}},[window.location.search,i]),k.length<=1)return jsx(Fragment,{});let A=_=>{v(_),g(_.join(","));},B=_=>{y(_),g(_);};return jsx(Fragment,{children:d?jsxs(Box,{style:{display:"flex",alignItems:"center"},children:[O,jsx(Button,{ml:"sm",radius:"xl",variant:"outline",children:e.type===St.SINGLE?R:w})]}):jsx(Box,{children:{[St.SINGLE]:l===Eu.SEGMENTED_CONTROL?jsxs("div",{children:[jsx(Text,{size:"sm",fw:500,display:c==="true"?"none":"block",children:O}),jsx(SegmentedControl,{data:k,disabled:b,value:k.map(_=>_.value).includes(h)?h:"",onChange:B,fullWidth:true})]}):jsx(Select,{label:O,data:k,disabled:b,value:h,itemComponent:CF,onChange:B,styles:{label:{display:c==="true"?"none":"block"}}}),[St.MULTI]:jsx(MultiSelect,{label:O,data:k,value:S,onChange:A,disabled:b,styles:{label:{display:c==="true"?"none":"block"}}})}[e.type]})})}var TF,Ek,CF,Rk=D(()=>{p();mt();he();no();En();TF=e=>`selector${e}id`,Ek=(e,t)=>e&&typeof e=="string"?e.split(","):t,CF=forwardRef(function({imageUrl:t,label:o,...r},n){return jsx("div",{ref:n,...r,children:jsxs(Group,{noWrap:true,children:[t&&!["","undefined"].includes(t)&&jsx(Box,{component:"img",w:25,h:25,src:t}),jsx("div",{children:jsx(Text,{size:"sm",children:o})})]})})});});function wp(){return jsx("div",{children:"Generator"})}var Ik=D(()=>{p();});function Cg(e){let{alt:t,src:o,desc:r,title:n,settings:i,...a}=e,l=He(t),s=He(o),c=He(r),u=jsx("img",{src:s,alt:l,style:a}),d=i&&i.align?String(i.align):"left";return (c&&c.length||n&&n.length)&&(u=jsxs(Stack,{className:"bespoke-Image-wrapper",align:Po(d),spacing:"sm",children:[n&&jsx(ve,{component:"p",html:n,style:i}),u,r&&jsx(ve,{component:"p",size:"sm",html:r,style:i})]})),s&&l?u:jsx(Center,{mih:100,bg:"white",children:jsx(Badge,{color:"gray",variant:"outline",children:"IMAGE"},"type")})}var Ak=D(()=>{p();Wr();mt();ro();});function fc(){return fc=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r]);}return e},fc.apply(this,arguments)}var Pk=D(()=>{p();});function gc(){return gc=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r]);}return e},gc.apply(this,arguments)}var Ok=D(()=>{p();});function fa(e,t,o){var r,n=(r=o.initialDeps)!=null?r:[],i;return function(){var a;o.key&&o.debug!=null&&o.debug()&&(a=Date.now());var l=e(),s=l.length!==n.length||l.some(function(m,h){return n[h]!==m});if(!s)return i;n=l;var c;if(o.key&&o.debug!=null&&o.debug()&&(c=Date.now()),i=t.apply(void 0,l),o.key&&o.debug!=null&&o.debug()){var u=Math.round((Date.now()-a)*100)/100,d=Math.round((Date.now()-c)*100)/100,f=d/16,g=function(h,y){for(h=String(h);h.length<y;)h=" "+h;return h};console.info("%c\u23F1 "+g(d,5)+" /"+g(u,5)+" ms",`
|
|
39
|
-
font-size: .6rem;
|
|
40
|
-
font-weight: bold;
|
|
41
|
-
color: hsl(`+Math.max(0,Math.min(120-120*f,120))+"deg 100% 31%);",o?.key);}return o==null||o.onChange==null||o.onChange(i),i}}function Rp(e,t){if(e===void 0)throw new Error("Unexpected undefined"+(""));return e}var Lk,Mk=D(()=>{p();Lk=function(t,o){return Math.abs(t-o)<1};});function OF(e){for(var t=e.measurements,o=e.outerSize,r=e.scrollOffset,n=t.length-1,i=function(c){return t[c].start},a=zk(0,n,i,r),l=a;l<n&&t[l].end<r+o;)l++;return {startIndex:a,endIndex:l}}var AF,hc,Bk,Dk,PF,_k,Nk,zk,kg=D(()=>{p();Ok();Mk();AF=function(t){return t},hc=function(t){for(var o=Math.max(t.startIndex-t.overscan,0),r=Math.min(t.endIndex+t.overscan,t.count-1),n=[],i=o;i<=r;i++)n.push(i);return n},Bk=function(t,o){var r=t.scrollElement;if(r){var n=function(l){var s=l.width,c=l.height;o({width:Math.round(s),height:Math.round(c)});};n(r.getBoundingClientRect());var i=new ResizeObserver(function(a){var l=a[0];if(l!=null&&l.borderBoxSize){var s=l.borderBoxSize[0];if(s){n({width:s.inlineSize,height:s.blockSize});return}}n(r.getBoundingClientRect());});return i.observe(r,{box:"border-box"}),function(){i.unobserve(r);}}},Dk=function(t,o){var r=t.scrollElement;if(r){var n=function(){o(r[t.options.horizontal?"scrollLeft":"scrollTop"]);};return n(),r.addEventListener("scroll",n,{passive:true}),function(){r.removeEventListener("scroll",n);}}},PF=function(t,o,r){if(o!=null&&o.borderBoxSize){var n=o.borderBoxSize[0];if(n){var i=Math.round(n[r.options.horizontal?"inlineSize":"blockSize"]);return i}}return Math.round(t.getBoundingClientRect()[r.options.horizontal?"width":"height"])},_k=function(t,o,r){var n,i,a=o.adjustments,l=a===void 0?0:a,s=o.behavior,c=t+l;(n=r.scrollElement)==null||n.scrollTo==null||n.scrollTo((i={},i[r.options.horizontal?"left":"top"]=c,i.behavior=s,i));},Nk=function(t){var o=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 r=null,n=function(){return r||(typeof ResizeObserver<"u"?r=new ResizeObserver(function(a){a.forEach(function(l){o._measureElement(l.target,l);});}):null)};return {disconnect:function(){var a;return (a=n())==null?void 0:a.disconnect()},observe:function(a){var l;return (l=n())==null?void 0:l.observe(a,{box:"border-box"})},unobserve:function(a){var l;return (l=n())==null?void 0:l.unobserve(a)}}})(),this.range={startIndex:0,endIndex:0},this.setOptions=function(r){Object.entries(r).forEach(function(n){var i=n[0],a=n[1];typeof a>"u"&&delete r[i];}),o.options=gc({debug:false,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:false,getItemKey:AF,rangeExtractor:hc,onChange:function(){},measureElement:PF,initialRect:{width:0,height:0},scrollMargin:0,scrollingDelay:150,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1},r);},this.notify=function(){o.options.onChange==null||o.options.onChange(o);},this.cleanup=function(){o.unsubs.filter(Boolean).forEach(function(r){return r()}),o.unsubs=[],o.scrollElement=null;},this._didMount=function(){return o.measureElementCache.forEach(o.observer.observe),function(){o.observer.disconnect(),o.cleanup();}},this._willUpdate=function(){var r=o.options.getScrollElement();o.scrollElement!==r&&(o.cleanup(),o.scrollElement=r,o._scrollToOffset(o.scrollOffset,{adjustments:void 0,behavior:void 0}),o.unsubs.push(o.options.observeElementRect(o,function(n){var i=o.scrollRect;o.scrollRect=n,(o.options.horizontal?n.width!==i.width:n.height!==i.height)&&o.maybeNotify();})),o.unsubs.push(o.options.observeElementOffset(o,function(n){o.scrollAdjustments=0,o.scrollOffset!==n&&(o.isScrollingTimeoutId!==null&&(clearTimeout(o.isScrollingTimeoutId),o.isScrollingTimeoutId=null),o.isScrolling=true,o.scrollDirection=o.scrollOffset<n?"forward":"backward",o.scrollOffset=n,o.maybeNotify(),o.isScrollingTimeoutId=setTimeout(function(){o.isScrollingTimeoutId=null,o.isScrolling=false,o.scrollDirection=null,o.maybeNotify();},o.options.scrollingDelay));})));},this.getSize=function(){return o.scrollRect[o.options.horizontal?"width":"height"]},this.memoOptions=fa(function(){return [o.options.count,o.options.paddingStart,o.options.scrollMargin,o.options.getItemKey]},function(r,n,i,a){return o.pendingMeasuredCacheIndexes=[],{count:r,paddingStart:n,scrollMargin:i,getItemKey:a}},{key:false}),this.getFurthestMeasurement=function(r,n){for(var i=new Map,a=new Map,l=n-1;l>=0;l--){var s=r[l];if(!i.has(s.lane)){var c=a.get(s.lane);if(c==null||s.end>c.end?a.set(s.lane,s):s.end<c.end&&i.set(s.lane,true),i.size===o.options.lanes)break}}return a.size===o.options.lanes?Array.from(a.values()).sort(function(u,d){return u.end-d.end})[0]:void 0},this.getMeasurements=fa(function(){return [o.memoOptions(),o.itemSizeCache]},function(r,n){var i=r.count,a=r.paddingStart,l=r.scrollMargin,s=r.getItemKey,c=o.pendingMeasuredCacheIndexes.length>0?Math.min.apply(Math,o.pendingMeasuredCacheIndexes):0;o.pendingMeasuredCacheIndexes=[];for(var u=o.measurementsCache.slice(0,c),d=c;d<i;d++){var f=s(d),g=o.options.lanes===1?u[d-1]:o.getFurthestMeasurement(u,d),m=g?g.end:a+l,h=n.get(f),y=typeof h=="number"?h:o.options.estimateSize(d),S=m+y,v=g?g.lane:d%o.options.lanes;u[d]={index:d,start:m,size:y,end:S,key:f,lane:v};}return o.measurementsCache=u,u},{key:process.env.NODE_ENV!=="production"&&"getMeasurements",debug:function(){return o.options.debug}}),this.calculateRange=fa(function(){return [o.getMeasurements(),o.getSize(),o.scrollOffset]},function(r,n,i){return o.range=OF({measurements:r,outerSize:n,scrollOffset:i})},{key:process.env.NODE_ENV!=="production"&&"calculateRange",debug:function(){return o.options.debug}}),this.maybeNotify=fa(function(){var r=o.calculateRange();return [r.startIndex,r.endIndex,o.isScrolling]},function(){o.notify();},{key:process.env.NODE_ENV!=="production"&&"maybeNotify",debug:function(){return o.options.debug},initialDeps:[this.range.startIndex,this.range.endIndex,this.isScrolling]}),this.getIndexes=fa(function(){return [o.options.rangeExtractor,o.calculateRange(),o.options.overscan,o.options.count,o.getSize()]},function(r,n,i,a,l){return l===0?[]:r(gc({},n,{overscan:i,count:a}))},{key:process.env.NODE_ENV!=="production"&&"getIndexes",debug:function(){return o.options.debug}}),this.indexFromElement=function(r){var n=o.options.indexAttribute,i=r.getAttribute(n);return i?parseInt(i,10):(console.warn("Missing attribute name '"+n+"={index}' on measured element."),-1)},this._measureElement=function(r,n){var i=o.measurementsCache[o.indexFromElement(r)];if(!i||!r.isConnected){o.measureElementCache.forEach(function(s,c){s===r&&(o.observer.unobserve(r),o.measureElementCache.delete(c));});return}var a=o.measureElementCache.get(i.key);a!==r&&(a&&o.observer.unobserve(a),o.observer.observe(r),o.measureElementCache.set(i.key,r));var l=o.options.measureElement(r,n,o);o.resizeItem(i,l);},this.resizeItem=function(r,n){var i,a=(i=o.itemSizeCache.get(r.key))!=null?i:r.size,l=n-a;l!==0&&(r.start<o.scrollOffset&&(process.env.NODE_ENV!=="production"&&o.options.debug&&console.info("correction",l),o._scrollToOffset(o.scrollOffset,{adjustments:o.scrollAdjustments+=l,behavior:void 0})),o.pendingMeasuredCacheIndexes.push(r.index),o.itemSizeCache=new Map(o.itemSizeCache.set(r.key,n)),o.notify());},this.measureElement=function(r){r&&o._measureElement(r,void 0);},this.getVirtualItems=fa(function(){return [o.getIndexes(),o.getMeasurements()]},function(r,n){for(var i=[],a=0,l=r.length;a<l;a++){var s=r[a],c=n[s];i.push(c);}return i},{key:process.env.NODE_ENV!=="production"&&"getIndexes",debug:function(){return o.options.debug}}),this.getVirtualItemForOffset=function(r){var n=o.getMeasurements();return Rp(n[zk(0,n.length-1,function(i){return Rp(n[i]).start},r)])},this.getOffsetForAlignment=function(r,n){var i=o.getSize();n==="auto"&&(r<=o.scrollOffset?n="start":r>=o.scrollOffset+i?n="end":n="start"),n==="start"?r=r:n==="end"?r=r-i:n==="center"&&(r=r-i/2);var a=o.options.horizontal?"scrollWidth":"scrollHeight",l=o.scrollElement?"document"in o.scrollElement?o.scrollElement.document.documentElement[a]:o.scrollElement[a]:0,s=l-o.getSize();return Math.max(Math.min(s,r),0)},this.getOffsetForIndex=function(r,n){n===void 0&&(n="auto"),r=Math.max(0,Math.min(r,o.options.count-1));var i=Rp(o.getMeasurements()[r]);if(n==="auto")if(i.end>=o.scrollOffset+o.getSize()-o.options.scrollPaddingEnd)n="end";else if(i.start<=o.scrollOffset+o.options.scrollPaddingStart)n="start";else return [o.scrollOffset,n];var a=n==="end"?i.end+o.options.scrollPaddingEnd:i.start-o.options.scrollPaddingStart;return [o.getOffsetForAlignment(a,n),n]},this.isDynamicMode=function(){return o.measureElementCache.size>0},this.cancelScrollToIndex=function(){o.scrollToIndexTimeoutId!==null&&(clearTimeout(o.scrollToIndexTimeoutId),o.scrollToIndexTimeoutId=null);},this.scrollToOffset=function(r,n){var i=n===void 0?{}:n,a=i.align,l=a===void 0?"start":a,s=i.behavior;o.cancelScrollToIndex(),s==="smooth"&&o.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),o._scrollToOffset(o.getOffsetForAlignment(r,l),{adjustments:void 0,behavior:s});},this.scrollToIndex=function(r,n){var i=n===void 0?{}:n,a=i.align,l=a===void 0?"auto":a,s=i.behavior;r=Math.max(0,Math.min(r,o.options.count-1)),o.cancelScrollToIndex(),s==="smooth"&&o.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size.");var c=o.getOffsetForIndex(r,l),u=c[0],d=c[1];o._scrollToOffset(u,{adjustments:void 0,behavior:s}),s!=="smooth"&&o.isDynamicMode()&&(o.scrollToIndexTimeoutId=setTimeout(function(){o.scrollToIndexTimeoutId=null;var f=o.measureElementCache.has(o.options.getItemKey(r));if(f){var g=o.getOffsetForIndex(r,d),m=g[0];Lk(m,o.scrollOffset)||o.scrollToIndex(r,{align:d,behavior:s});}else o.scrollToIndex(r,{align:d,behavior:s});}));},this.scrollBy=function(r,n){var i=n===void 0?{}:n,a=i.behavior;o.cancelScrollToIndex(),a==="smooth"&&o.isDynamicMode()&&console.warn("The `smooth` scroll behavior is not fully supported with dynamic size."),o._scrollToOffset(o.scrollOffset+r,{adjustments:void 0,behavior:a});},this.getTotalSize=function(){var r;return (((r=o.getMeasurements()[o.options.count-1])==null?void 0:r.end)||o.options.paddingStart)-o.options.scrollMargin+o.options.paddingEnd},this._scrollToOffset=function(r,n){var i=n.adjustments,a=n.behavior;o.options.scrollToFn(r,{behavior:a,adjustments:i},o);},this.measure=function(){o.itemSizeCache=new Map,o.notify();},this.setOptions(t),this.scrollRect=this.options.initialRect,this.scrollOffset=this.options.initialOffset,this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(function(r){o.itemSizeCache.set(r.key,r.size);}),this.maybeNotify();},zk=function(t,o,r,n){for(;t<=o;){var i=(t+o)/2|0,a=r(i);if(a<n)t=i+1;else if(a>n)o=i-1;else return i}return t>0?t-1:0};});function MF(e){var t=wn.useReducer(function(){return {}},{})[1],o=fc({},e,{onChange:function(a){t(),e.onChange==null||e.onChange(a);}}),r=wn.useState(function(){return new Nk(o)}),n=r[0];return n.setOptions(o),wn.useEffect(function(){return n._didMount()},[]),LF(function(){return n._willUpdate()}),n}function Ip(e){return MF(fc({observeElementRect:Bk,observeElementOffset:Dk,scrollToFn:_k},e))}var LF,Eg=D(()=>{p();Pk();kg();kg();LF=typeof document<"u"?wn.useLayoutEffect:wn.useEffect;});function Ig(e){let{allLabel:t,asComparison:o,colorKey:r,data:n,defaultValue:i,defaultValueType:a,hideLabel:l,resetSectionVars:s,iconKey:c,id:u,levels:d,limit:f,placeholder:g,searchIndexKey:m,searchIndexSeparator:h,section:y,settings:S}=e,{print:v}=cr(),C=KF(u),b=Cp(u,y,C,o,s==="true"),k=o?`${C}-valueCompare`:`${C}-value`,w=o?`${C}-typeCompare`:`${C}-type`,R=useMantineTheme(),[O,A]=useState(false),[B,_]=useState(true),[P,I]=useState(""),[F,M]=useState(false),[N,j]=useState([""].slice(1)),[$,V]=useState([]),[z,q]=useState(""),W=S[_t.DISABLED]||false,U=useMemo(()=>v?Array.from(new Set(n.filter(Q=>$.includes(Q[`${z} ID`])))).map(Q=>Q?.[z]).join(", "):"",[v]),Y=l==="true"||!e.label?jsx(Fragment,{}):jsx(ve,{component:"div",html:e.label,size:"sm",style:S}),ne=useRef(null),re=useRef(false),J=useRef(!!f&&f<$.length),G=N.length,K=d[G],ee=N.filter(Boolean);N.length>0&&ee.length===0&&ee.push(`${t} ${K?.label}`),useEffect(()=>{if(!W){let L=new URLSearchParams(window.location.search),Q=L.get(k)||i,te=L.get(w)||a;Q&&te?(V(qF(Q,i)),q(te)):(V([]),q(""));}},[window.location.search,i,a,W]),useEffect(()=>{let L=()=>{_(true);};return window.addEventListener("touchmove",L),()=>{window.removeEventListener("touchmove",L);}},[]);let ae=useMemo(()=>HF(n,d,r,c,m,h),[r,n,c,d,m,h]),ue=useMemo(()=>{let L=WF(P),Q=Array.from(jF(ae,L)).reverse();return F?Q:N.reduce((te,Se)=>te.filter(fe=>!Se||fe.searchindex.indexOf(Se)>-1),Q.filter(te=>te.type===K?.value))},[K,ae,P,F,N]),Te=useRef(null),X=Ip({count:O?ue.length:0,estimateSize:()=>30,getScrollElement:useCallback(()=>Te.current,[]),overscan:10,rangeExtractor:useCallback(L=>hc(L),[])}),[le,de]=useState(-1),Ce=Math.min(le,ue.length-1),$e=useCallback(L=>{let Q=N.concat(L);F&&M(false),j(Q);},[F,N]),Ue=useCallback(()=>{let L=N.slice(0,G-1);F&&M(false),j(L);},[F,N,G]),Qe=useCallback(L=>{I(L.currentTarget.value),!J.current&&n.length>0&&A(true);},[n,I,J,A]),To=useCallback(()=>{I(""),b([],""),ne.current?.focus(),f&&(J.current=false);},[I,b,ne,f,J]),$o=useCallback(L=>{let Q=$.filter(te=>te!==L);Q.length>0?b(Q,z):b([],""),f&&Q.length<f&&(J.current=false);},[$,z,b,f,J]),uo=useCallback(L=>{z!==L.type?b([L.value],L.type):$.includes(L.value)?$o(L.value):f?($.length<f&&b([...$,L.value],z),$.length===f&&b([...$.slice(1),L.value],z)):b([...$,L.value],z),I("");},[b,z,$,$o,f]),mn=useCallback(()=>{$.length>0&&P.length===0&&(b($.slice(0,-1),z),A(true),f&&(J.current=false)),P.length>0&&I(P.slice(0,-1));},[b,$,z,P,I,A,f,J]),Un=useCallback(()=>{_(L=>L&&(re.current=L,!L)),de(L=>L+1>=ue.length?L:L+1);},[de,ue]),Gn=useCallback(()=>{let L=ue[Ce];L&&uo(L);},[ue,Ce,uo]),Hn=useCallback(()=>{A(false);},[A]),Wn=useCallback(()=>{Ue(),de(0);},[de,Ue]),xl=useCallback(()=>{let L=ue[Ce];!F&&L&&L.type!==d[d.length-1]?.value&&($e(L.name),de(0));},[ue,Ce,F,d,de,$e]),Tl=useCallback(()=>{_(L=>L&&(re.current=L,!L)),de(L=>L-1<0?0:L-1);},[de]),Cl=({label:L,onRemove:Q,...te})=>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"},...te,children:[jsx("span",{style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:L}),jsx(CloseButton,{"aria-hidden":true,iconSize:"70%",onMouseDown:Q,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})]}),oe=useMemo(()=>$.map(L=>ae.find(Q=>Q.value===L)).filter(L=>!!L).map((L,Q)=>createElement(Cl,{...L,index:Q,label:L.label,key:L.value,onRemove:te=>{te.preventDefault(),te.stopPropagation(),$o(L.value);}})),[$]),Oe=forwardRef(function({color:Q,icon:te,label:Se,value:fe,...vt},Co){return jsx("div",{ref:Co,style:{cursor:"pointer",width:"100%"},...vt,children:jsxs(Group,{align:"center",noWrap:true,spacing:"xs",w:"100%",children:[te&&jsx(Box,{bg:Q??"transparent",component:"img",w:20,h:20,src:te}),jsx(Text,{lineClamp:1,size:"sm",children:Se||fe})]})})});return jsxs(Fragment,{children:[jsx(MediaQuery,{query:"print",styles:{display:"none"},children:jsx(Input.Wrapper,{label:Y,children:jsxs(Popover,{closeOnClickOutside:true,disabled:W,keepMounted:true,opened:O,onChange:A,onClose:()=>{de(0),I("");},onOpen:()=>{ue.length>0&&X.scrollToIndex(0);},shadow:"sm",width:"target",withinPortal:true,children:[jsx(Popover.Target,{children:jsxs(Box,{"aria-haspopup":"listbox",component:"div",onMouseLeave:()=>de(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:$.join(",")}),jsx(Input,{component:"div",disabled:W,multiline:true,onMouseDown:L=>{L.preventDefault(),!J.current&&n.length>0&&A(!O),ne.current?.focus();},rightSection:$.length>0?jsx(CloseButton,{disabled:W,onClick:To,onMouseDown:L=>L.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:[oe,jsx("input",{autoComplete:"off","data-mantine-stop-propagation":O,onChange:Qe,onKeyDown:getHotkeyHandler([["ArrowDown",Un],["ArrowLeft",Wn],["ArrowRight",xl],["ArrowUp",Tl],["Backspace",mn],["Enter",Gn],["Escape",Hn]]),placeholder:$.length===0&&g||"",ref:ne,readOnly:J.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:P})]})})]})}),jsx(Popover.Dropdown,{onMouseDown:L=>L.preventDefault(),p:0,children:jsx("div",{style:{display:"flex",maxHeight:rem(300)},children:jsx(Box,{component:"div","data-combobox-popover":true,onMouseDown:L=>L.preventDefault(),role:"listbox",sx:{width:"100%"},tabIndex:-1,children:jsxs(Stack,{h:"100%",py:"xs",spacing:"xs",w:"100%",children:[d.length>1&&jsxs(Stack,{spacing:"xs",children:[jsxs(Group,{onClick:L=>{L.stopPropagation();},px:"xs",position:"center",spacing:"xs",children:[jsx(Button,{onClick:()=>{de(0),M(true),j([]),ue.length>0&&X.scrollToIndex(0);},size:"xs",variant:F?"filled":"outline",children:t}),d.map((L,Q)=>jsx(Button,{onClick:()=>{F&&M(false);let te=[""].slice(1),Se=Q;for(;Se--;)te[Se]=N[Se]||"";de(0),j(te),ue.length>0&&X.scrollToIndex(0);},size:"xs",variant:!F&&N.length===d.findIndex(te=>te.value===L?.value)?"filled":"outline",children:L?.label},L?.value))]}),jsx(Divider,{})]}),G>0&&jsxs(Group,{align:"center",noWrap:true,px:"xs",children:[jsx(ActionIcon,{onClick:Ue,size:"sm",children:jsx(IconChevronLeft,{})}),jsx("div",{children:ee.map(L=>jsx(Text,{lineClamp:1,size:"xs",children:L},`${L}`))})]}),jsx(ScrollArea,{mah:250,onWheel:()=>_(true),px:"xs",style:{overflow:"auto",width:"100%"},viewportRef:Te,viewportProps:{tabIndex:-1},w:"100%",children:jsx("div",{style:{height:`${X.getTotalSize()}px`,position:"relative",width:"100%"},children:X.getVirtualItems().map(L=>{let Q=ue[L.index],te=Ce===L.index,Se=$.includes(Q.value);return ue.length>0&&te&&!B&&X.scrollToIndex(Ce),jsxs(Group,{"aria-selected":te,align:"center","data-hovered":te||void 0,"data-index":L.index,"data-selected":Se,id:Q.vale,noWrap:true,onMouseEnter:fe=>{fe.preventDefault(),fe.stopPropagation(),B&&(de(L.index),_(false));},onMouseMove:fe=>{fe.preventDefault(),fe.stopPropagation(),_(true);},onMouseDown:fe=>{fe.preventDefault(),uo(Q);},position:"apart",ref:X.measureElement,role:"option",spacing:"xs",sx:fe=>({borderRadius:fe.radius.xs,padding:"15px 5px 15px",paddingLeft:F&&10*d.findIndex(vt=>vt?.value===Q.type)||5,position:"absolute",top:0,left:0,height:`${L.size}px`,transform:`translateY(${L.start}px)`,width:"100%","&[data-hovered]":{backgroundColor:fe.colorScheme==="dark"?fe.colors.dark[4]:fe.colors.gray[1]},"&:hover":{backgroundColor:fe.colorScheme==="dark"?fe.colors.dark[4]:fe.colors.gray[1]}}),tabIndex:-1,children:[jsx(Oe,{index:L.index,...Q}),!F&&Q.type!==d[d.length-1]?.value&&jsx(ActionIcon,{onMouseDown:fe=>{fe.preventDefault(),fe.stopPropagation(),$e(Q.name);},size:"sm",tabIndex:-1,children:jsx(IconChevronRight,{})})]},Q.value)})})})]})})})})]})})}),v&&jsxs(Text,{children:[Y,": ",U]})]})}var HF,WF,jF,KF,qF,jk=D(()=>{p();Eg();mt();En();no();he();HF=(e=[],t=[],o="",r="",n="",i="|")=>{let a=t.map(h=>h.value).slice(),l=`${a.pop()}`,s=h=>h[o],c=h=>h[r],u=h=>{if(h[n])return typeof h[n]=="string"?h[n].split(i):h[n]},d=new Set,f=[],g=[],m=nest().rollup(h=>{let y=h[0],S=A=>A&&A.value&&!d.has(A.value),v=a.map(A=>y[`${A} ID`]),C=a.map(A=>y[A]),b=a.map((A,B)=>{if(g[B]!==C[B]){g[B]=C[B];let _=s[B]||s[s.length-1]||s,P=c[B]||c[c.length-1]||c,I=u[B]||u[u.length-1]||u;return {color:_(y,A)||void 0,icon:P(y,A)||void 0,value:`${v[B]}`,label:C[B],name:C[B],type:A,searchindex:C.slice(0,B+1).concat(I(y,A)).join("|")}}return {}}).filter(S);b.forEach(A=>d.add(A.value));let k=s[s.length-1]||s,w=c[c.length-1]||c,R=u[u.length-1]||u,O=h.map(A=>({color:k(A,l)||void 0,icon:w(A,l)||void 0,value:`${A[`${l} ID`]}`,label:A[l],name:A[l],type:l,searchindex:C.concat(A[l]).concat(R(A,l)).join("|")}));f.push(...b.concat(O));});return a.forEach(h=>{m.key(y=>`${y[`${h} ID`]}|${y[h]}`);}),m.entries(e),f},WF=e=>{if(!e)return /./i;let t=e.normalize("NFD").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g,"[^|]+");return RegExp(t,"i")},jF=(e,t)=>{let o=e.length,r,n=l=>r&&r.searchindex.includes(l.searchindex),a={next:()=>{for(let l=o-1;l>-1;l--){let s=e[l];if(t.test(`${s.value} ${s.label} ${s.searchindex}`)||n(s))return r=s,o=l,{done:false,value:s}}return {done:true,value:void 0}},[Symbol.iterator]:()=>a};return a},KF=e=>`multihierarchySelector${e}`,qF=(e,t)=>e&&typeof e=="string"?e.split(","):t;});function Ag({headings:e,settings:t,type:o,title:r,shortTitle:n,_iconType:i,_iconVariant:a,_icon:l,_iconRadius:s,_iconSize:c,_iconPadding:u}){let{min:d="1",max:f="6",icons:g="yes"}=t||{},m=na(parseInt(d,10),parseInt(f,10),e),h=g==="yes",y=He(r)||"",S=He(n||r)||"",v=y&&y.length>0,C=i&&i!=="none",k=`(max-width: ${useMantineTheme().breakpoints.md})`,w=useMediaQuery(k),R=w?S:y,O=t&&t.align?String(t.align):"left",A=ws(O),B=oo(O),_=Po(O),P=t&&t.titlePosition?String(t.titlePosition):"left",I=useMemo(()=>{let j={right:"left",left:"right"},$=v&&["left","right"].includes(P),V={};if($){let z=P==="right";V={spacing:"xs",position:z&&j[B]?j[B]:B,style:{flexDirection:z?"row-reverse":"row"},noWrap:true};}else V={spacing:"xs",align:_,justify:"center",style:{flexDirection:P==="bottom"?"column-reverse":"column"}};return {element:$?Group:Stack,props:V}},[v,B,_,P]),F=useMemo(()=>v?jsxs(Group,{spacing:"xs",position:B,noWrap:true,children:[C&&jsx(je,{blockType:"title",iconType:i,iconVariant:a,iconRadius:s,iconSize:c,icon:l,iconPadding:u}),jsx(ve,{style:{...t},html:R,lineClamp:1})]}):null,[v,C,B,R]),M=useMemo(()=>w?jsx(tV,{contentOutline:m,showIcons:h,titleElement:F,wrapper:I}):null,[w,F,I]),N=useMemo(()=>w?null:o==="multilevel"?jsx(oV,{contentOutline:m,showIcons:h,align:A}):jsx(eV,{contentOutline:m,showIcons:h,align:A}),[m,h,A,w]);return jsxs(Fragment,{children:[w&&M,!w&&jsxs(I.element,{pos:"relative",...I.props,children:[v&&F,N]})]})}var qk,eV,tE,tV,oV,oE=D(()=>{p();no();kn();ro();Wr();kn();mt();qk=e=>t=>({display:"flex",gap:t.spacing.md,justifyContent:e,listStyleType:"none"}),eV=({contentOutline:e,showIcons:t,align:o})=>{let[r,n]=useState(null);useEffect(()=>{let a=()=>{let l=document.querySelector(".bespoke-nav");if(!l)return;let s=l.getBoundingClientRect(),c=false;e.forEach(u=>{let d=document.getElementById(`bespoke-title-${u.id}`);d&&d.getBoundingClientRect().top<=s.bottom&&(n(u.id),c=true);}),c||n(null);};return window.addEventListener("scroll",a),()=>{window.removeEventListener("scroll",a);}},[e]);let i=a=>!a||!a?.length?null:jsx(Fragment,{children:a.map(l=>jsxs(Fragment$2,{children:[jsx(Menu.Item,{children:jsx(Anchor,{href:`#bespoke-title-${l.id}`,children:jsxs(Group,{spacing:"sm",noWrap:true,children:[t&&jsx(je,{...l.iconProps,iconSize:"sm"}),jsx(Text,{dangerouslySetInnerHTML:{__html:l.label}})]})})}),jsx(Box,{pl:"xs",children:i(l.children)})]},l.id))});return jsx(Fragment,{children:jsx(Box,{component:"nav",className:"bespoke-nav",children:jsx(List,{sx:a=>({display:"flex",gap:a.spacing.md,justifyContent:o,listStyleType:"none"}),children:e?.map(a=>jsx(List.Item,{children:jsxs(Menu,{trigger:"hover",openDelay:100,closeDelay:200,children:[jsx(Menu.Target,{children:jsx(Anchor,{href:`#bespoke-title-${a.id}`,"data-active":a.id===r,children:jsxs(Group,{spacing:"sm",noWrap:true,children:[t&&jsx(je,{...a.iconProps,iconSize:"sm"}),jsx(Text,{dangerouslySetInnerHTML:{__html:a.label}})]})})}),a?.children?.length?jsx(Menu.Dropdown,{children:i(a.children)}):null]})},a.id))})})})},tE=({contentOutline:e,closeNav:t,showIcons:o})=>{let[r,n]=useState(null);return jsx(Stack,{children:e.map(i=>i.children.length?jsxs(Fragment,{children:[jsxs(Group,{spacing:0,noWrap:true,children:[jsx(UnstyledButton,{w:"100%",component:"a",onClick:t,href:`#bespoke-title-${i.id}`,children:jsxs(Group,{spacing:"sm",noWrap:true,children:[o&&jsx(je,{...i.iconProps,iconSize:"sm",iconPadding:"2"}),jsx(Text,{dangerouslySetInnerHTML:{__html:i.label}})]})},i.id),jsx(ActionIcon,{component:"a",size:"lg",onClick:()=>n(a=>a===i.id?null:i.id),children:jsx(IconChevronDown,{style:{transition:"transform 0.2s",transform:r===i.id?"rotate(-180deg)":"none"},stroke:1})})]},i.id),jsx(Collapse,{in:r===i.id,pl:"sm",transitionTimingFunction:"linear",transitionDuration:200,children:jsx(tE,{contentOutline:i.children,closeNav:t,showIcons:o})})]}):jsx(Group,{noWrap:true,children:jsx(UnstyledButton,{display:"flex",w:"100%",component:"a",href:`#bespoke-title-${i.id}`,children:jsxs(Group,{spacing:"sm",noWrap:true,children:[o&&jsx(je,{...i.iconProps,iconSize:"sm"}),jsx(Text,{dangerouslySetInnerHTML:{__html:i.label}})]})},i.id)},i.id))})},tV=({contentOutline:e,showIcons:t,titleElement:o,wrapper:r})=>{let[n,{toggle:i}]=useDisclosure(false),a=n?"Close content outline":"Open content outline";return jsxs(Box,{className:"bespoke-mobile-nav",component:"nav",children:[jsxs(r.element,{className:"bespoke-mobile-nav-header",...r.props,onClick:i,children:[o&&o,jsx(ActionIcon,{className:"bespoke-mobile-nav-toggle","aria-label":a,size:"lg",variant:"subtle",children:n?jsx(IconChevronUp,{size:"xl",stroke:1.5}):jsx(IconChevronDown,{size:"xl",stroke:1.5})})]}),jsx(Collapse,{in:n,mt:"md",className:"bespoke-mobile-nav-body",children:jsx(tE,{contentOutline:e,closeNav:i,showIcons:t})})]})},oV=({contentOutline:e,showIcons:t,align:o})=>{let[r,n]=useState(null),[i,a]=useState(null);useEffect(()=>{let s=()=>{let c=document.querySelector(".bespoke-nav");if(!c)return;let u=c.getBoundingClientRect(),d=false;e.forEach(f=>{let g=document.getElementById(`bespoke-title-${f.id}`);g&&(g.getBoundingClientRect().top<=u.bottom&&(n(f.id),a(null),d=true),f.children.forEach(h=>{let y=document.getElementById(`bespoke-title-${h.id}`);y&&y.getBoundingClientRect().top<=u.bottom&&(a(h.id),n(f.id),d=true);}));}),d||(n(null),a(null));};return window.addEventListener("scroll",s),()=>{window.removeEventListener("scroll",s);}},[e]);let l=s=>!s||!s?.length?null:jsx(Fragment,{children:s.map(c=>jsxs(Fragment$2,{children:[jsx(Menu.Item,{children:jsx(Anchor,{href:`#bespoke-title-${c.id}`,children:jsxs(Group,{spacing:"sm",noWrap:true,children:[t&&jsx(je,{...c.iconProps,iconSize:"sm"}),jsx(Text,{dangerouslySetInnerHTML:{__html:c.label}})]})})}),jsx(Box,{pl:"xs",children:l(c.children)})]},c.id))});return jsxs(Box,{component:"nav",className:"bespoke-nav",children:[jsx(List,{className:"bespoke-nav-level1",sx:qk(o),children:e?.map(s=>jsx(List.Item,{children:jsx(Anchor,{href:`#bespoke-title-${s.id}`,"data-active":r===s.id,onClick:()=>n(s.id),children:jsxs(Group,{spacing:"sm",noWrap:true,children:[t&&jsx(je,{...s.iconProps,iconSize:"sm"}),jsx(Text,{dangerouslySetInnerHTML:{__html:s.label}})]})})},s.id))}),r&&e.find(s=>s.id===r)?.children.length>0&&jsx(List,{className:"bespoke-nav-level2",sx:qk(o),children:e.find(s=>s.id===r)?.children.map(s=>jsx(List.Item,{children:jsxs(Menu,{trigger:"hover",openDelay:100,closeDelay:200,children:[jsx(Menu.Target,{children:jsx(Anchor,{href:`#bespoke-title-${s.id}`,"data-active":s.id===i,children:jsxs(Group,{spacing:"sm",noWrap:true,children:[t&&jsx(je,{...s.iconProps,iconSize:"sm"}),jsx(Text,{dangerouslySetInnerHTML:{__html:s.label}})]})})}),s?.children?.length?jsx(Menu.Dropdown,{children:l(s.children)}):null]})},s.id))})]})};});function Og(e){let{related_reports:t,settings:o}=e,r=H(f=>f.status.currentLocale),n=H(f=>f.status.localeDefault),i=es(),a=useRouter(),{components:l}=Oo();if(!t?.length)return;let s=r===n?"":`/${r}`,c=f=>{a.push(`${f}`);},u=l?.ReportTile?l.ReportTile:dg,d=Po(o&&o.align?String(o.align):"center");return jsx(Grid,{justify:d,children:t.map(f=>{let g=`${s}${i}${f.link}`,m=f.entities.map(C=>({original_id:C.id,name:C.name,id:C.content_id,variant:C.variant_name,variant_id:C.variant_id,dimension:C.dimension_name,dimension_id:C.dimension_id,image:{src:`/api/cms/member/image?member=${C.content_id}&size=thumb`,alt:C.name}})),h=f.entities.map(C=>C.id).join("-"),y=f.entities.map(C=>C.name).join(" & "),S=f.entities[0]?f.entities[0].report_id:null,v=C=>{C.preventDefault(),c(g);};return jsx(Grid.Col,{xs:12,sm:6,md:4,lg:4,xl:3,children:jsx(u,{reportId:S,reportName:y,members:m,href:g,onClick:v})},h)})})}var nE=D(()=>{p();se();ye();mg();no();ro();});function Lg({id:e,label:t,settings:o,showIcon:r,fullWidth:n,showWhenDisabled:i}){let a=tt(e).data,{sectionVariables:l,resetSectionVariables:s}=pt(a?.section_id),c=!!Object.keys(l).length,u=Po(o&&o.align?o.align:"left");return !c&&!i?null:jsx(Button,{onClick:()=>s(),disabled:!c,fullWidth:n,sx:{justifySelf:u},children:jsxs(Group,{align:"center",children:[t,r&&jsx(IconRefresh,{})]})})}var aE=D(()=>{p();ye();ro();});function Mg({settings:e,label:t,removeLabel:o,showIcon:r,position:n="center",asComparison:i=false}){let a=H(C=>C.records.entities.report),l=H(C=>C.variables.attributes),s=e&&e.search?e.search:"inline",c=Object.values(a)[0].settings,u=useRouter(),{comparisonLoaded:d,loading:f}=Pr(),g=Object.keys(u.query).includes("compare"),h=d&&g?jsx(Button,{onClick:()=>{let C={...u.query};delete C.compare,u.push({pathname:u.pathname,query:C},void 0,{shallow:true});},rightIcon:jsx(IconX,{}),children:o||"Remove Comparison"}):jsx(Button,{loading:f,children:jsxs(Group,{align:"center",children:[t||"Add Comparison",r&&jsx(IconPlus,{})]})}),y={searchReportParams:{report:[Number(Object.keys(a)[0])],variant:c.compareLevels?[]:[l.variant_id1]}},v=Os(h,s,C=>{u.push({pathname:u.pathname,query:{...u.query,compare:C.reportPath}});},y);return i?null:jsx(Group,{position:n,children:g?h:v})}var cE=D(()=>{p();no();se();ai();});function Dg({columns:e=[],data:t=[],tableProps:o={},sectionId:r=null}){let[n,i]=useState(false),[a,l]=useState({}),s=useMemo(()=>e.map(f=>f.accessorKey),[e]),c=useMemo(()=>t.filter(f=>typeof f=="object"&&f!==null&&!Array.isArray(f)&&Object.keys(f).some(g=>s.includes(g))),[s,t]),u=useMemo(()=>e.map(f=>({...f,Cell:({renderedCellValue:g})=>jsx(ve,{html:`${g}`}),filterFn:"contains"})),[e]),{locale:d}=useRouter();return useEffect(()=>{(async()=>{try{let g=d||"en",m=`${g.toUpperCase()}`,h=await import(`mantine-react-table/locales/${g}.js`);l(h[`MRT_Localization_${m}`]);}catch(g){console.error("Error loading translations:",g);}})();},[d]),jsx(MantineReactTable,{...o,autoResetPageIndex:false,columns:u,data:c,enableColumnFilterModes:true,enableFilterMatchHighlighting:false,globalFilterFn:"contains",layoutMode:"grid",localization:a,onIsFullScreenChange:f=>{let g=document.getElementById(`section-${r}`);g&&(f?g.style.zIndex="10":g.style.zIndex="1"),i(f);},state:{...o.state,isFullScreen:n}})}var dE=D(()=>{p();mt();});function _g({label:e,url:t,settings:o}){let{align:r}=o;return e?jsx(Group,{position:r,grow:r==="justify",children:jsx(Button,{component:"a",target:"_blank",href:t||"",children:e||"Button"})}):null}var fE=D(()=>{p();});function xV({block:e}){let{id:t}=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 ",t,")"]}),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."})]})}function Ng(e){let t=TV();return jsx(t,{block:e})}var TV,bE=D(()=>{p();no();TV=()=>{let{components:e}=Oo(),t=xV;return e?.CustomFallback&&(t=e.CustomFallback),t};});var Rn,Dp=D(()=>{p();Rn=class extends wn__default.Component{constructor(t){super(t),this.state={hasError:false};}static getDerivedStateFromError(t){return console.info("getDerivedStateFromError",t),{hasError:true}}componentDidCatch(t,o){console.error("Error information:",o.componentStack),notifications.show({autoClose:false,color:"red",id:"revalidate-error",message:"Check the console for more details",title:t.message});}render(){return this.state.hasError?this.props.fallback:this.props.children}};});var SE={};ym(SE,{default:()=>vE});function vE(e){let{print:t}=cr(),{block:o,active:r,locale:n,variables:i,configOverride:a={}}=e,l=ko(o),s=Io(n),c={variables:i},u=useRouter(),{sectionVariables:d,setSectionVariables:f,resetSectionVariables:g}=pt(o.section_id),m=vn(),h=we(),y=JSON.stringify(d),S=useMemo(()=>{if(!l?.logic)return {error:"Add a Configuration"};let R=xr({logic:l.logic},s,c).logic,O={router:u,section:{variables:d,setVariables:f,resetVariables:g}};return pa(R,s,i,n,o.id,{},O,m,h)},[o,r,i,y,h.status]),{type:v}=S.config||{},C=v&&zg[v]?v:"Treemap";zg[v]||(S.config={error:`"${v}" is not a valid Visualization Type`});let b=zg[C],k=useMemo(()=>{let{_data:R,...O}=S.config;return RV(O,t)},[S,t]),w={locale:n,variables:i,...k,...a};return jsx("div",{className:"bespoke-Viz","data-ignore-print":w._printIgnore?"true":void 0,children:jsx("div",{style:{display:"flex",flex:"1 1 100%",minHeight:v===da?void 0:400},children:jsx(Rn,{fallback:jsx("p",{children:"Error in d3plus viz config."}),children:jsx(b,{style:{flex:1},dataFormat:R=>{let O;try{O=S.dataFormat(R);}catch(A){console.error("Error in dataFormat: ",A),O=[];}return O},linksFormat:S.linksFormat,nodesFormat:S.nodesFormat,topojsonFormat:S.topojsonFormat,config:{...w,sectionVariables:y}},"viz-key")})})})}var zg,RV,xE=D(()=>{p();Ho();cc();zi();ye();Xe();Dp();En();vp();zg={...EV,[da]:yp},RV=(e,t)=>{let o={...e};return t&&(o.detectResize=false,o.detectResizeDelay=0,o.detectVisible=false,o.detectVisibleInterval=0,o.duration=0,o.shapeConfig={...o.shapeConfig,duration:0}),o};});var AV,TE=D(()=>{p();he();LT();BT();_T();Ck();Rk();Ik();Ak();jk();oE();nE();aE();cE();dE();fE();bE();AV=IV(()=>Promise.resolve().then(()=>(xE(),SE)),{ssr:false}),{[E.PARAGRAPH]:Qf,[E.STAT]:eg,[E.SUBTITLE]:tg,[E.TITLE]:yg,[E.SELECTOR]:Tg,[E.VIZ]:AV,[E.GENERATOR]:wp,[E.SECTION_FLAG]:wp,[E.IMAGE]:Cg,[E.NAV]:Ag,[E.RELATED]:Og,[E.RESET_BUTTON]:Lg,[E.COMPARISON_BUTTON]:Mg,[E.TABLE]:Dg,[E.BUTTON]:_g,[E.MULTIHIERARCHY_SELECTOR]:Ig,[E.FALLBACK]:Ng};});var CE=D(()=>{p();he();TE();Bs();Ho();ye();Vr();Ka();Ml();Om();Mm();ai();});var ha,PV,_p,Cc=D(()=>{p();ha={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"}]}},PV=Object.keys(ha).reduce((e,t)=>(e[t]=ha[t].defaultValue,e),{}),{memberImageBg:false,optionsMenu:false,optionData:true,optionImage:true,optionShare:true,showAnchor:false,...PV},_p=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 Vg({previews:e}){let t=e.map((o,r)=>({key:o?`bg-${o.content_id}`:`bg-${r}`,src:o?`/api/cms/member/image?member=${o.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:t.map(o=>jsx("div",{className:"cms-section-member-bg",style:{backgroundImage:`url(${o.src})`,backgroundSize:"cover",backgroundPosition:"center center",height:"100%",width:"100%"}},o.key))}),jsx("div",{className:"cms-section-gradient-bg",style:{background:"white",position:"absolute",width:"100%",height:"100%",opacity:.33}})]})}var $g=D(()=>{p();});function Gg(e){let{section:t}=e,o=t.blocks||[],r=H(J=>o.map(G=>({...J.records.entities.block[G],status:J.variables.status[G]})).filter(G=>G.type===E.VIZ&&G.status.allowed)),{variant_slug1:n,slug1:i}=H(J=>J.variables.attributes),a=ri(),[l,s]=useState(Lr.section),[c,u]=useState(Mr.png),[d,f]=useState(false),[g,m]=useState(false),[h,y]=useState([]),[S,v]=useState(r.length>0?r[0].id:null),C=l!==Lr.section,{print:b,downloadLoading:k}=hf(t.id,n,i,C?S:null),[w,R]=useState(true),[O,A]=useState(false),B=ho("options"),_={...QV,...B.image_tab},{siteProps:P}=rs(),I=P?.logoSrc&&typeof P.logoSrc=="string",F=useMemo(()=>t?.settings?.name?xt(t?.settings?.name):`section-${t.id}`,[t.id,t?.settings?.name]),M=`#${F}`,N=useMantineTheme(),j=()=>{let J=z(S);return select(J).select("svg").size()===1},$=()=>`${xt(F)}`,V=()=>{let J=document.getElementById(F);return select(J).select(".bespoke-section-content").node()},z=J=>{let G=V();return select(G).select(`#bespoke-visualization-${J}.bespoke-block-area`).node()},q=()=>new Promise(J=>{let G;l===Lr.section?G=V():l===Lr.viz&&(G=z(S));let K=document.createElement("div");K.style.display="flex",K.style.justifyContent="space-between",K.classList.add("bespoke-share-source"),K.style.padding=N.spacing.xs,K.style.width="100%";let ee=document.createElement("div");if(ee.innerText=_.source.replace("{src}",`${window.location}${M}`),ee.style.fontSize=N.fontSizes.xs,K.appendChild(ee),I){let ae=document.createElement("img");ae.src=P.logoSrc,ae.style.height="30px",ae.onload=()=>J(G),ae.onerror=()=>{ae.remove(),J(G);},K.appendChild(ae),G.appendChild(K);}else G.appendChild(K),J(G);}),W=J=>{if(w)return "transparent";let G=select(J).style("background-color");return G!=="rgba(0, 0, 0, 0)"&&G!=="transparent"?G:J===document.body?"white":W(J.parentNode)},U=async(J,G)=>{let{toPng:K}=await import('html-to-image');K(J,{backgroundColor:G.background,cacheBust:true,filter:ee=>ee&&ee.classList?!G.exclusionClasses.some(ae=>ee.classList.contains(ae)):true}).then(ee=>{let ae=document.createElement("a");ae.download=`${G.filename}.png`,ae.href=ee,ae.click();}).catch(ee=>{console.error("Error generating image",ee);}).finally(()=>{JV(),f(false);});},Y=(J,G)=>{saveElement(J,{filename:G.filename,type:"svg",callback:()=>f(false)},{background:G.background});},ne=async()=>{f(true);let J=await q(),G={background:W(J),exclusionClasses:["export-hidden"],filename:$()},K=c===Mr.png?U:Y;try{if(J)K(J,G);else throw new Error(_.wrong_node)}catch{f(false);}},re=async()=>{let{toCanvas:J}=await import('html-to-image');Promise.all(r.map(G=>{let K=z(G.id),ee=K.querySelector("g.d3plus-geomap-tileGroup");ee&&(ee.style.display="none");let ae=select(K).select("svg").select("g").size()>0,ue=select(K).select("div.bespoke-html").size()>0,Te=ae||ue?K:ZV();return J(Te).then(X=>(ee&&(ee.style.display="block"),X))})).then(G=>{y(G.map(K=>K.toDataURL())),A(false);});};return useEffect(()=>{l===Lr.viz&&r.length>0?(v(r[0].id),A(true),re()):l===Lr.section&&y([]);},[l]),useEffect(()=>{S&&(j()?m(true):(m(false),u(Mr.png)));},[S]),jsxs(Stack,{className:"cms-section-options-image",children:[r.length>0?jsx(Input.Wrapper,{label:`${_.choose_area}:`,children:jsx(SegmentedControl,{fullWidth:true,value:l,data:[{value:Lr.section,label:jsxs(Center,{children:[jsx(IconTemplate,{size:"1rem"}),jsx(Box,{ml:10,children:_.entire_section})]})},{value:Lr.viz,label:jsxs(Center,{children:[jsx(IconChartBar,{size:"1rem"}),jsx(Box,{ml:10,children:_.viz_only})]})}],onChange:J=>{s(J),J===Lr.section&&u(Mr.png);}})}):jsx(Text,{fw:"700",color:"gray.7",children:`${_.entire_section}:`}),l===Lr.viz&&r.length>0&&jsxs(Input.Wrapper,{label:`${_.choose_viz}:`,style:{minHeight:"161px",position:"relative"},children:[!O&&h.length>0&&jsx(ScrollArea,{style:{height:250},children:jsx(SimpleGrid,{cols:3,children:r.map((J,G)=>jsx(Image,{alt:`Viz ${J.id}`,onClick:()=>{v(J.id);},style:{cursor:"pointer",border:S===J.id?"4px solid #228be6":"4px solid #eee"},radius:0,src:h[G],withPlaceholder:true,styles:()=>({figure:{height:"100%"},imageWrapper:{height:"100%"}})},`viz-option-${J.id}`))})}),jsx(LoadingOverlay,{visible:O})]}),g&&l!==Lr.section&&jsx(Input.Wrapper,{label:`${_.choose_format}:`,children:jsxs(Button.Group,{children:[jsx(Button,{leftIcon:jsx(IconPolaroid,{size:16}),onClick:()=>u(Mr.png),variant:c===Mr.png?"filled":"default",fullWidth:true,children:Mr.png}),jsx(Button,{leftIcon:jsx(IconCode,{size:16}),onClick:()=>u(Mr.svg),variant:c===Mr.svg?"filled":"default",fullWidth:true,children:Mr.svg})]})}),jsx(Checkbox,{checked:w,label:`${_.transparent_bg}`,onChange:()=>R(!w),radius:"xl"}),jsx(Button,{leftIcon:jsx(IconDownload,{size:16}),loading:d||k,onClick:a&&c!==Mr.svg?()=>b(w):ne,fullWidth:true,children:jsx("span",{children:d||k?_.processing:_.download.replace("{imageFormat}",c)})})]})}var Lr,Mr,JV,QV,ZV,RE=D(()=>{p();Hr();se();Kr();Pt();st();he();Lr={viz:"viz",section:"section"},Mr={png:"PNG",svg:"SVG"},JV=()=>{let e=document.getElementsByClassName("bespoke-share-source");Array.from(e).forEach(t=>t.remove());},QV={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}"},ZV=()=>document.createElement("div");});function AE(e){let{title:t,url:o,disabled:r=false}=e,n=r?IconCode:IconLink;return jsx(Input.Wrapper,{label:t,children:jsx(Input,{icon:jsx(n,{}),value:o,disabled:r,readOnly:true,rightSection:jsx(CopyButton,{value:o,timeout:2e3,children:({copied:i,copy:a})=>jsx(Tooltip,{label:i?"Copied":"Copy",withArrow:true,position:"right",children:jsx(ActionIcon,{variant:i?"filled":"subtle",onClick:a,disabled:r,children:i?jsx(IconClipboardCheck,{size:16}):jsx(IconClipboardCopy,{size:16})})})})})})}var PE=D(()=>{p();});function Wg(e){let{section:t}=e,[o,r]=useState(""),[n,i]=useState(""),[a,l]=useState(true),s=ho("options"),c={...E$,...s.share_tab};return useEffect(()=>{i(document.title);let{origin:u,pathname:d}=window.location,f=`${u}${d}`,g=a?t.settings?.name?.length?`#${xt(t.settings.name)}`:`#section-${t.id}`:"";r(`${f}${g}`);},[a]),jsxs(Stack,{className:"cms-section-options-share",children:[jsx(AE,{title:`${c.title}: ${n}`,url:o}),jsx(Checkbox,{checked:a,label:c.include_section,onChange:()=>l(!a),radius:"xl"}),jsxs(Group,{position:"center",children:[jsx(FacebookShareButton,{url:o,children:jsx(FacebookIcon,{size:32,round:true})}),jsx(TwitterShareButton,{url:o,title:n,children:jsx(TwitterIcon,{size:32,round:true})}),jsx(TelegramShareButton,{url:o,title:n,children:jsx(TelegramIcon,{size:32,round:true})}),jsx(WhatsappShareButton,{url:o,title:n,separator:":: ",children:jsx(WhatsappIcon,{size:32,round:true})}),jsx(LinkedinShareButton,{url:o,children:jsx(LinkedinIcon,{size:32,round:true})}),jsx(RedditShareButton,{url:o,title:n,windowWidth:660,windowHeight:460,children:jsx(RedditIcon,{size:32,round:true})}),jsx(EmailShareButton,{url:o,subject:n,children:jsx(EmailIcon,{size:32,round:true})})]})]})}var E$,LE=D(()=>{p();PE();Kr();Hr();E$={title:"Title",include_section:"Include Section"};});function M$({panels:e,value:t,onTabChange:o}){let r=useRef(null),[n,i]=useState(false),[a,l]=useState(false),s=Object.keys(e),c=()=>{let d=r.current;if(!d)return;let{scrollLeft:f,scrollWidth:g,clientWidth:m}=d;i(f>0),l(f<g-m);};useEffect(()=>{let d=r.current;if(d)return c(),d.addEventListener("scroll",c),()=>{d.removeEventListener("scroll",c);}},[]);let u=d=>{let f=r.current;if(!f)return;let g=d==="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:n?"flex":"none",sx:BE,children:jsx(ActionIcon,{onClick:()=>u("left"),children:jsx(IconChevronLeft,{size:20})})}),jsx(Tabs,{ref:r,value:t,onTabChange:o,sx:L$,children:jsx(Tabs.List,{className:"bespoke-report-modal-tabs",sx:{flexWrap:"nowrap",width:"fit-content"},children:s.map(d=>jsx(Tabs.Tab,{className:"bespoke-report-modal-tab",value:d,children:e[d].label},d))})}),jsx(Box,{display:a?"flex":"none","data-direction":"right",sx:BE,children:jsx(ActionIcon,{onClick:()=>u("right"),children:jsx(IconChevronRight,{size:20})})})]})}function B$({className:e,opened:t,onClose:o,panels:r}){let[n,i]=useState(Object.keys(r)[0]);return jsxs(Modal.Root,{className:clsx("bespoke-report-modal",e),opened:t,onClose:o,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(M$,{panels:r,value:n,onTabChange:a=>a&&i(a)}),jsx(Modal.CloseButton,{className:"bespoke-report-modal-close-btn",ml:0})]})}),jsx(Modal.Body,{className:"bespoke-report-modal-body",children:r[n].component})]})]})}var L$,BE,Yg,Xg=D(()=>{p();L$={overflowX:"auto",scrollbarWidth:"none",msOverflowStyle:"none",WebkitOverflowScrolling:"touch",flexWrap:"nowrap"},BE={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"}};Yg=B$;});function NE(e){let{section:t,initialMode:o,onEnds:r,open:n,title:i}=e,a=_p(t.settings),l=useMemo(()=>N$.filter(g=>a[g]),[a]),[s,c]=useState(o||l[0]||"data"),u=ho("options");useEffect(()=>{o!==s&&c(o);},[o]);let d={...Jg,...u};useMemo(()=>jsxs(Fragment,{children:[jsxs(Tabs.List,{children:[a.data&&jsx(Tabs.Tab,{value:"data",children:d.download_title}),a.image&&jsx(Tabs.Tab,{value:"image",children:d.image_title}),a.share&&jsx(Tabs.Tab,{value:"share",children:d.share_title})]}),a.data&&jsx(Tabs.Panel,{value:"data",children:jsx(cg,{section:t})}),a.image&&jsx(Tabs.Panel,{value:"image",children:jsx(Gg,{section:t})}),a.share&&jsx(Tabs.Panel,{value:"share",children:jsx(Wg,{section:t})})]}),[a,t,d]);return jsx(Yg,{className:"cms-section-options-modal",opened:n,onClose:()=>r(),panels:{data:{label:d.download_title,component:jsx(cg,{section:t})},image:{label:d.image_title,component:jsx(Gg,{section:t})},share:{label:d.share_title,component:jsx(Wg,{section:t})}}})}var Jg,N$,zE=D(()=>{p();ug();RE();LE();Kr();Cc();Xg();Jg={download_title:"Download Data",image_title:"Save Image",share_title:"Share Link"},N$=["data","image","share"];});function Qg(e){let{sectionId:t,disabled:o=false}=e,[r,n]=useState(false),[i,a]=useState("data"),l=Ko(t),s=ho("options"),c={...Jg,...s},u=_p(l.isSuccess?l.data.settings:{}),d=g=>{a(g),n(true);},f=()=>{n(false);};return jsxs("div",{className:"cms-section-options",children:[jsxs(Button.Group,{children:[u.data&&jsx(Button,{variant:"default",size:"xs",compact:true,onClick:()=>d("data"),"aria-label":c.download_title,disabled:o,children:jsx(IconTable,{size:16})}),u.image&&jsx(Button,{variant:"default",size:"xs",compact:true,onClick:()=>d("image"),"aria-label":c.image_title,disabled:o,children:jsx(IconCamera,{size:16})}),u.share&&jsx(Button,{variant:"default",size:"xs",compact:true,onClick:()=>d("share"),"aria-label":c.share_title,disabled:o,children:jsx(IconShare,{size:16})})]}),l.isSuccess&&jsx(NE,{section:l.data,initialMode:i,open:r,onEnds:f})]})}var Zg=D(()=>{p();zE();se();Kr();Cc();});function K$({children:e,containerProps:t},o){return jsx(Flex,{ref:o,className:"bespoke-section-content",pos:"relative",align:"stretch",p:0,direction:{base:"column",md:"row"},wrap:"wrap",...t,children:e})}var eh,GE,th,oh=D(()=>{p();se();Sn();eh=wn__default.forwardRef(function({children:t,column:o,basis:r,columnSettings:n={},sx:i={},...a},l){let s=Object.values(o).some(f=>f.settings?.display==="inline"),c=n?.width?`${n.width}px`:r,u=n?.width?`${n?.width}px`:"100%",d=n?.full?"100%":u;return jsx(Flex,{ref:l,className:"bespoke-section-col",align:"flex-start",direction:s?"row":"column",wrap:s?"wrap":"nowrap",maw:{base:"100%",md:d},miw:{base:"none",md:300},p:0,pos:"relative",sx:[{flexGrow:1,flexShrink:n?.full?0:1,flexBasis:n?.full?"100%":c},...packSx(i)],...a,children:t})}),GE=({sectionId:e,columnIndex:t})=>{let o=ie(),r=Ko(e).data,{settings:n,updateSettings:i}=Rr(e);if(!r)return null;let{columnSettings:a={}}=n,{width:l=void 0}=a[t]?a[t]:{},s=d=>{r&&i("columnSettings",{...a,[t]:{width:parseInt(d.target.value,10)}});},c=()=>{r&&o(Z.updateEntity("section",{id:e,settings:{...r.settings,columnSettings:{...a,[t]:{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:d=>{i("columnSettings",{...a,[t]:{...a[t]||{},full:d.currentTarget.checked}});},checked:a[t]?.full}),jsx(Input,{placeholder:"auto",w:"fit-content",miw:"none",variant:"filled",type:"number",value:l||"auto",maw:110,onChange:s,size:"xs",p:0,rightSection:jsx(IconX,{onClick:c,size:8})})]})},th=wn__default.forwardRef(K$);});var mi,Vp=D(()=>{p();mi={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}};});var HE=D(()=>{p();En();});var WE=D(()=>{p();se();Gr();CE();Cc();Go();$g();Zg();no();he();oh();ic();Vp();En();Kr();HE();ai();Hr();Pt();no();});function Do({target:e,dropdown:t}){let[o,{open:r,close:n}]=useDisclosure(false),i=useRef(true),a=()=>{setTimeout(()=>{i.current&&n();},1e3);},l=()=>{i.current=false;},s=()=>{i.current=true,n();};return jsxs(Group,{children:[e,jsxs(Popover,{opened:o,trapFocus:true,children:[jsx(Popover.Target,{children:jsx(ActionIcon,{variant:"subtle",color:"blue",onMouseEnter:r,onMouseLeave:a,children:jsx(IconInfoCircle,{})})}),jsx(Popover.Dropdown,{maw:350,onMouseEnter:l,onMouseLeave:s,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:t})]})})]})]})}var $p=D(()=>{p();});function va({value:e,onChange:t,item:o="block"}){let r=ie(),[n,i]=useState([]),a=useMemo(()=>[{value:"public",label:`Public ${o}, (all visitors)`,group:"Exclusive"},{value:"guest",label:`Guest only ${o}, (non logged visitors)`,group:"Exclusive"},{value:"private",label:`Private ${o}, (session required, any role)`,group:"Exclusive"}],[o]),l=useMemo(()=>n.map(c=>({value:`role.${c.name}`,label:`Role ${c.name} (${c.type})`,group:`${c.type} Roles`})),[n]);useEffect(()=>{r(Z.searchRole()).then(c=>{i(c.roles);});},[r]);let s=c=>{let u=[];if(c.length===0)u=[a[0].value];else {let d=c.slice(-1)[0],f=a.map(m=>m.value);u=f.includes(d)?[d]:c.filter(m=>!f.includes(m));}t(u);};return jsx(MultiSelect,{label:"Privacy",description:`This ${o} will be shown based on the selected roles.`,data:[...a,...l],value:e,onChange:s})}var Up=D(()=>{p();se();});function ih(){let e=Xt(),t=Number.parseInt(e.params[0]),o=zt(t).data,n=H(qu).filter(P=>P.type===E.NAV),{settings:i,updateSettings:a}=Kl(t),{handlers:l}=Ft("reportEditor"),s=ri(),c=o?.dimensions&&o.dimensions.length>0,u=$l(o?.dimensions||[]),d=useMemo(()=>u.isSuccess?u.data.flatMap(P=>P.variants||[]):[],[u.data,u.isSuccess]),f=Ul(d),g=useMemo(()=>{if(!u.isSuccess||!f.isSuccess)return [];let P=u.data,I=f.data;return P.length===1?I.map(F=>({value:F.id.toString(),label:F.name,dimensionName:P[0].name})):P.length>1?P.map(N=>I.filter(j=>N.variants?.includes(j.id)||false)).reduce((N,j)=>N.flatMap($=>j.map(V=>[...$,V])),[[]]).filter(N=>N.length>0).map(N=>({value:N.map(j=>j.id).join(","),label:N.map(j=>j.name).join(" / "),dimensionName:N.map((j,$)=>`${P[$]?.name}: ${j.name}`).join(" | ")})):[]},[u.data,u.isSuccess,f.data,f.isSuccess]),m=i.pdf?.variants||[],h=i.pdf?.privacy||["public"],y=i.pdf?.navBlockId||(n.length>0?n[0].id:""),S=!!i.pdf?.sectionSelection,v=P=>{a("pdf",{...i.pdf,enabled:true,variants:P});},C=P=>{a("pdf",{...i.pdf,enabled:true,privacy:P});},b=P=>{let I=n.length>0?n[0].id:void 0;a("pdf",{...i.pdf,sectionSelection:P,navBlockId:P?i.pdf?.navBlockId||I:void 0});},k=P=>{a("pdf",{...i.pdf,navBlockId:P?parseInt(P):void 0});},w=P=>{if(P){let I=g.map(F=>F.value);a("pdf",{enabled:true,variants:I,privacy:["public"]});}else a("pdf",{enabled:false,variants:[],privacy:[],sectionSelection:false,navBlockId:void 0});},R=i.xlsx?.variants||[],O=i.xlsx?.privacy||["public"],A=P=>{a("xlsx",{...i.xlsx,enabled:true,variants:P});},B=P=>{a("xlsx",{...i.xlsx,enabled:true,privacy:P});},_=P=>{if(P){let I=g.map(F=>F.value);a("xlsx",{enabled:true,variants:I,privacy:["public"]});}else a("xlsx",{enabled:false,variants:[],privacy:[]});};return jsx(Fragment,{children:jsxs(Stack,{children:[jsx(Button,{variant:"outline",radius:0,onClick:l.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(Do,{target:jsx(Switch,{label:"Enable comparison",checked:!!i.comparison,onChange:P=>a("comparison",P.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(Do,{target:jsx(Switch,{label:"With different levels",checked:!!i.compareLevels,onChange:P=>a("compareLevels",P.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:s,children:jsx("span",{children:jsx(Accordion.Control,{disabled:!s,children:"PDF Export"})})}),jsxs(Accordion.Panel,{children:[jsx(Do,{target:jsx(Switch,{label:"Enable PDF export",checked:!!i.pdf?.enabled,onChange:P=>w(P.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:[n.length>0&&jsxs(Fragment,{children:[jsx(Switch,{label:"Enable Section selection in PDF export",checked:S,onChange:P=>b(P.currentTarget.checked)}),S&&jsx(Select,{data:n.map(P=>({value:P.id.toString(),label:`Nav Block #${P.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:k})]}),jsx(va,{value:h,onChange:C,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:m,onChange:v,children:jsx(Stack,{spacing:"xs",children:g.map(P=>jsx(Checkbox,{value:P.value,label:P.label,description:P.dimensionName,size:"sm"},P.value))})})]})]})]})]}),jsxs(Accordion.Item,{value:"xlsx",children:[jsx(Accordion.Control,{children:"XLSX Export"}),jsxs(Accordion.Panel,{children:[jsx(Do,{target:jsx(Switch,{label:"Enable XLSX export",checked:!!i.xlsx?.enabled,onChange:P=>_(P.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(va,{value:O,onChange:B,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:R,onChange:A,children:jsx(Stack,{spacing:"xs",children:g.map(P=>jsx(Checkbox,{value:P.value,label:P.label,description:P.dimensionName,size:"sm"},P.value))})})]})]})]})]})]})]})})}var ah=D(()=>{p();ye();Sn();$p();st();Up();Gr();he();});var XE=D(()=>{p();Kr();Tp();se();st();no();us();Xg();});var QE=D(()=>{p();});function cr(){let e=useContext(lU);if(e===void 0)throw new Error("usePrint must be used within a PrintContext");return e}var lU,En=D(()=>{p();se();Go();WE();ai();Tp();no();st();ah();XE();QE();lU=createContext({print:false,isEmbed:false});});function Ut(e){let{content:t,style:o={}}=e,{print:r}=cr(),n=jsx(ve,{component:"span",html:t,isPreview:true}),i=useMemo(()=>r?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:n})},"tooltip-notification"):jsx("div",{className:"bespoke-inner-tooltip",style:o,children:jsx(Tooltip,{label:n,withArrow:true,withinPortal:true,multiline:true,maw:220,children:jsx(ActionIcon,{size:"1.5rem",children:jsx(IconInfoCircle,{})})})},"tooltip"),[r,t,o]);return jsx(Fragment,{children:i})}var Cn=D(()=>{p();En();mt();});function lh({paragraph:e,tooltip:t,settings:o}){return jsx(ve,{component:"p",html:e||`Lorem ipsum dolor sit amet,
|
|
42
|
-
consectetur adipiscing elit. Etiam justo purus, placerat ac turpis at,
|
|
43
|
-
dignissim interdum eros. Curabitur non tincidunt libero.
|
|
44
|
-
Suspendisse quis nibh in massa tincidunt feugiat sit amet vitae nisl.
|
|
45
|
-
In pulvinar sapien ut tincidunt volutpat. Donec auctor tellus eu augue feugiat,
|
|
46
|
-
a viverra sapien pulvinar.`,style:o,append:t?jsx(Ut,{content:t,style:{display:"inline-block",verticalAlign:"bottom"}}):jsx(Fragment,{}),isPreview:true})}var ew=D(()=>{p();Cn();mt();});function ch({subtitle:e,title:t,value:o,tooltip:r,settings:n,_iconType:i,_iconVariant:a,_icon:l,_iconRadius:s,_iconSize:c,_iconPadding:u}){let d=t||"<span class='cr-block-placeholder'>Title</span>",f=o||"<span class='cr-block-placeholder'>Big Stat</span>",g=e||"<span class='cr-block-placeholder'>Subtitle</span>",m=n&&n.align||"left";return jsx("div",{className:"bespoke-Stat-root",children:jsxs(Group,{className:"bespoke-StatGroup-wrapper",position:oo(m),children:[i!=="none"&&i&&jsx(je,{blockType:"stat",iconType:i,iconVariant:a,iconRadius:s,iconSize:c,icon:l,iconPadding:u}),jsxs("div",{className:"bespoke-Stat-wrapper",children:[jsx(ve,{component:"div",size:"md",html:d,style:n,isPreview:true}),jsx(ve,{component:"div",size:"xl",html:f,style:n,isPreview:true}),jsx(ve,{component:"div",size:"sm",html:g,style:n,isPreview:true})]},"stat"),r&&jsx(Ut,{content:r})]})})}var ow=D(()=>{p();Cn();kn();mt();ro();});function uh({subtitle:e,tooltip:t,settings:o}){let r=He(e)||"<span class='cr-block-placeholder'>Small subtitle.</span>",n=o&&o.align?o.align:"left";return jsxs(Group,{spacing:"sm",position:oo(n),children:[jsx(ve,{size:"sm",html:r,isPreview:true}),t&&jsx(Ut,{content:t,style:{display:"inline-flex"}})]})}var nw=D(()=>{p();Cn();Wr();mt();ro();});function ph({title:e,tooltip:t,_iconType:o,_iconVariant:r,_icon:n,settings:i,_iconRadius:a,_iconSize:l,_iconPadding:s}){let c=He(e)||"Title",u=i&&i.order?parseInt(i.order,10):1,d=u<=6?u:1,f=!!(i&&i.search&&i.search!=="off"),g=i&&i.search?i.search:"",m=i&&i.align?i.align:"left";return jsxs(Group,{spacing:"sm",position:oo(m),children:[o!=="none"&&o&&jsx(je,{blockType:"title",iconType:o,iconVariant:r,iconRadius:a,iconSize:l,icon:n,iconPadding:s}),jsx(ve,{component:"h",order:d,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})})}),t&&jsx(Ut,{content:t})]})}var iw=D(()=>{p();Cn();Wr();kn();mt();ro();});function fh(e){let{id:t,type:o,defaultValue:r,options:n,name:i,settings:a,hideLabel:l,component:s,resetSectionVars:c,section:u}=e,d=useDispatch(),f=useContext(De),g=we(),m=H(P=>P.status.query),{sectionVariables:h,resetSectionVariables:y}=pt(u),S=LU(t),v=useMemo(()=>m[S]||r,[m[S],o,r]),C=useMemo(()=>MU(m[S],r),[m[S],o,r]),[b,k]=useState(n?.map(P=>({value:P.id,label:P.label,imageUrl:P.imageUrl}))||[]),[w,R]=useState((n||[]).map(P=>P.id).join("-"));useEffect(()=>{let P=n.map(M=>`${M.label}|${M.id}`).join("-");if(w===P)return;R(P);let I=n.map(M=>({value:M.id,label:M.label}));k(I);let F=o===St.SINGLE?v:C;Fi(o,F,n)||d(lf(f,S,g));},[JSON.stringify(n),t]);let O=()=>{c==="true"&&h&&y();},A=P=>{d(qi(f,S,P,g)),O();},B=P=>{d(qi(f,S,P.join(),g)),O();},_=l==="true"?jsx(Fragment,{}):jsx(ve,{component:"div",html:i,size:"sm",style:a,isPreview:true});return b.length===0?jsx(Text,{c:"dimmed",size:"xs",children:"No options defined yet. Selector hidden in report."}):b.length===1?jsxs(Text,{c:"dimmed",size:"xs",children:["Only one option defined. Selector hidden in report. ",JSON.stringify(b)]}):{[St.SINGLE]:s===Eu.SEGMENTED_CONTROL?jsxs("div",{children:[_,jsx(SegmentedControl,{data:b,value:b.map(P=>P.value).includes(v)?v:"",onChange:A,fullWidth:true})]}):jsx(Select,{label:_,data:b,value:v,onChange:A,itemComponent:BU,styles:{label:{display:l==="true"?"none":"block"}}}),[St.MULTI]:jsx(MultiSelect,{label:_,data:b,value:C,onChange:B,styles:{label:{display:l==="true"?"none":"block"}}})}[o]}var LU,MU,BU,lw=D(()=>{p();Vl();Ru();he();se();Pt();mt();ye();Xe();LU=e=>`selector${e}id`,MU=(e,t)=>e&&typeof e=="string"?e.split(","):t,BU=forwardRef(function({imageUrl:t,label:o,...r},n){return jsx("div",{ref:n,...r,children:jsxs(Group,{noWrap:true,children:[t&&jsx(Box,{component:"img",w:25,h:25,src:t}),jsx("div",{children:jsx(Text,{size:"sm",children:o})})]})})});});function HU({outputVariables:e,status:t,hasAPI:o=false,debug:r,type:n}){let[i,a]=useState(false),l=o&&!Object.keys(e).length&&!t.error,s=Object.keys(e).some(u=>u.startsWith("_"));return r?l?jsxs(Stack,{align:"center",children:[jsx(Loader,{}),jsxs(Text,{size:"sm",children:["Loading ",n]})]}):jsxs(Fragment,{children:[jsx(Divider,{label:"Output Variables",labelPosition:"center"}),s&&jsx(Switch,{label:"Show internal variables",mb:"xs",size:"xs",checked:i,onChange:u=>a(u.currentTarget.checked)}),jsx(Ar,{variables:e,showInternal:i})]}):jsx(Center,{children:jsx(Badge,{color:"gray",variant:"outline",children:n.toUpperCase()},"type")})}var hh,cw=D(()=>{p();ys();hh=HU;});function bh(e){let{alt:t,src:o,desc:r,title:n,settings:i,...a}=e,l=He(t),s=He(o),c=He(r),u=jsx("img",{src:s,alt:l,style:a}),d=i&&i.align?String(i.align):"left";return (c&&c.length||n&&n.length)&&(u=jsxs(Stack,{className:"bespoke-Image-wrapper",align:Po(d),spacing:"sm",children:[n&&jsx(ve,{component:"p",html:n,style:i,isPreview:true}),u,r&&jsx(ve,{component:"p",size:"sm",html:r,style:i,isPreview:true})]})),s&&l?u:jsx(Center,{mih:100,bg:"white",children:jsx(Badge,{color:"gray",variant:"outline",children:"IMAGE"},"type")})}var uw=D(()=>{p();Wr();mt();ro();});function Sh({headings:e,settings:t,title:o,shortTitle:r,_iconType:n,_iconVariant:i,_icon:a,_iconRadius:l,_iconSize:s,_iconPadding:c}){let{min:u="1",max:d="6",icons:f="yes"}=t||{},g=He(o)||"",m=He(r||o)||"",h=g&&g.length>0,y=n&&n!=="none",S=m===g?`${g}`:`${g} (${m})`,v=na(parseInt(u,10),parseInt(d,10),e),C=f==="yes",b=t&&t.align?String(t.align):"left",k=ws(b),w=oo(b),R=Po(b),O=t&&t.titlePosition?String(t.titlePosition):"left",A=useMemo(()=>{let _={right:"left",left:"right"},P=h&&["left","right"].includes(O),I={};if(P){let F=O==="right";I={spacing:"xs",position:F&&_[w]?_[w]:w,style:{flexDirection:F?"row-reverse":"row"},noWrap:true};}else I={spacing:"xs",align:R,justify:"center",style:{flexDirection:O==="bottom"?"column-reverse":"column"}};return {element:P?Group:Stack,props:I}},[h,w,R,O]),B=_=>!_||!_?.length?null:jsx(Fragment,{children:_.map(P=>jsxs(Fragment$2,{children:[jsx(Menu.Item,{children:jsx(Anchor,{href:`#bespoke-title-${P.id}`,children:jsxs(Group,{spacing:"sm",children:[C&&jsx(je,{...P.iconProps,iconSize:"sm"}),jsx(Text,{dangerouslySetInnerHTML:{__html:P.label}})]})})},P.id),jsx(Box,{pl:"xs",children:B(P.children)})]},P.id))});return jsxs(A.element,{pos:"relative",...A.props,children:[h&&jsxs(Group,{spacing:"xs",position:w,noWrap:true,children:[y&&jsx(je,{blockType:"title",iconType:n,iconVariant:i,iconRadius:l,iconSize:s,icon:a,iconPadding:c}),jsx(ve,{style:t,html:S,isPreview:true,lineClamp:1})]}),jsxs(List,{sx:_=>({display:"flex",gap:_.spacing.md,justifyContent:k,alignItems:"center",listStyleType:"none"}),children:[v?.map(_=>jsx(List.Item,{children:jsxs(Menu,{trigger:"hover",openDelay:100,closeDelay:400,children:[jsx(Menu.Target,{children:jsx(Anchor,{href:`#bespoke-title-${_.id}`,children:jsxs(Group,{spacing:"sm",noWrap:true,children:[C&&jsx(je,{blockType:"nav",..._.iconProps,iconSize:"sm",iconPadding:"2"}),jsx(Text,{dangerouslySetInnerHTML:{__html:_.label}})]})})}),_?.children?.length?jsx(Menu.Dropdown,{children:B(_.children)}):null]})},_.id)),!v||v.length===0&&jsx(List.Item,{children:jsx(Text,{color:"dimmed",children:"- Include some titles as inputs to see the Nav component -"})})]})]})}var dw=D(()=>{p();st();kn();ro();mt();kn();Wr();});function Th(e){let{related_reports:t,settings:o}=e;if(!t?.length)return jsx(Text,{children:"There are no available members related to your current selection and report."});let r=ws(o&&o.align?String(o.align):"left");return jsx(List,{sx:()=>({display:"flex",justifyContent:r,"& li":{marginRight:"1rem"}}),children:t.map(n=>jsx(List.Item,{children:n.entities.map(i=>i.name).join(" & ")},n.link))})}var fw=D(()=>{p();ro();});function kh({id:e,label:t,settings:o,showIcon:r,fullWidth:n,showWhenDisabled:i}){let a=tt(e).data,{sectionVariables:l,resetSectionVariables:s}=pt(a?.section_id),c=!!Object.keys(l).length,u=Po(o&&o.align?o.align:"left");return jsxs(Stack,{align:u,children:[!c&&!i&&jsx(Text,{size:"xs",ta:o?.align||"left",children:"Reset button will not be shown on its disabled state"}),jsx(Button,{onClick:()=>s(),disabled:!c,fullWidth:n,children:jsxs(Group,{align:"center",children:[t,r&&jsx(IconRefresh,{})]})})]})}var hw=D(()=>{p();ye();ro();});function Eh({settings:e,label:t,showIcon:o,position:r="center"}){let n=e&&e.search?e.search:"";return jsxs(Group,{position:r,children:[jsx(Tooltip,{label:`Click will open '${n}' report search`,children:jsx(Button,{children:jsxs(Group,{align:"center",children:[t||"Comparison Button",o&&jsx(IconPlus,{})]})})}),jsx(ActionIcon,{variant:"light",children:jsx(IconSearch,{size:20})})]})}var vw=D(()=>{p();});function Rh({columns:e=[],id:t,data:o=[],tableProps:r={}}){let[n,i]=useState({}),{initialState:a}=r,l=a?.pagination?.pageIndex,s=a?.pagination?.pageSize,c=`table-${[t,l,s].filter(m=>m).join("-")}`,u=useMemo(()=>e.map(m=>m.accessorKey),[e]),d=useMemo(()=>o.filter(m=>typeof m=="object"&&m!==null&&!Array.isArray(m)&&Object.keys(m).some(h=>u.includes(h))),[u,o]),f=useMemo(()=>e.map(m=>({...m,Cell:({renderedCellValue:h})=>jsx(ve,{html:`${h}`,isPreview:true}),filterFn:"contains"})),[e]),g=ts();return useEffect(()=>{(async()=>{try{let h=g||"en",y=`${h.toUpperCase()}`,S=await import(`mantine-react-table/locales/${h}.js`);i(S[`MRT_Localization_${y}`]);}catch(h){console.error("Error loading translations:",h);}})();},[g]),createElement(MantineReactTable,{...r,autoResetPageIndex:false,columns:f,data:d,enableColumnFilterModes:true,enableFilterMatchHighlighting:false,globalFilterFn:"contains",key:c,layoutMode:"grid",localization:n,state:{...r.state,isFullScreen:false}})}var Sw=D(()=>{p();mt();ye();});function Ih({label:e,url:t,settings:o}){let{align:r}=o;return jsx(Group,{position:r,grow:r==="justify",children:jsx(Button,{component:"a",target:"_blank",href:t||"",children:e||"Button"})})}var Tw=D(()=>{p();});function Ph(e){let t=useDispatch(),o=useContext(De),r=we(),n=H(oe=>oe.status.query),i=BG(e.id),a=useMantineTheme(),{allLabel:l,colorKey:s,data:c,defaultValue:u,defaultValueType:d,iconKey:f,levels:g,limit:m,placeholder:h,searchIndexKey:y,searchIndexSeparator:S,resetSectionVars:v,section:C}=e,[b,k]=useState(false),[w,R]=useState(true),[O,A]=useState(""),[B,_]=useState(false),[P,I]=useState([""].slice(1)),{sectionVariables:F,resetSectionVariables:M}=pt(C),N=useMemo(()=>DG(n[`${i}-value`],u),[n,u,i]),j=useMemo(()=>n[`${i}-type`]||d,[n,d,i]),$=useCallback(()=>{v==="true"&&F&&M();},[v,F,M]),V=useCallback(oe=>{$(),t(qi(o,`${i}-value`,oe.join(),r));},[t,o,i,$,r.status]),z=useCallback(oe=>{$(),t(qi(o,`${i}-type`,oe,r));},[t,o,i,$,r.status]),q=useRef(null),W=useRef(false),U=useRef(!!m&&m<N.length),Y=P.length,ne=g[Y],re=P.filter(Boolean);P.length>0&&re.length===0&&re.push(`${l} ${ne?.label}`),useEffect(()=>{let oe=()=>{R(true);};return window.addEventListener("touchmove",oe),()=>{window.removeEventListener("touchmove",oe);}},[]);let J=useMemo(()=>OG(c,g,s,f,y,S),[s,c,f,g,y,S]),G=useMemo(()=>{let oe=LG(O),Oe=Array.from(MG(J,oe)).reverse();return B?Oe:P.reduce((L,Q)=>L.filter(te=>!Q||te.searchindex.indexOf(Q)>-1),Oe.filter(L=>L.type===ne?.value))},[ne,J,O,B,P]),K=useRef(null),ee=Ip({count:b?G.length:0,estimateSize:()=>30,getScrollElement:useCallback(()=>K.current,[]),overscan:10,rangeExtractor:useCallback(oe=>hc(oe),[])}),[ae,ue]=useState(-1),Te=Math.min(ae,G.length-1),X=useCallback(oe=>{let Oe=P.concat(oe);B&&_(false),I(Oe);},[B,P]),le=useCallback(()=>{let oe=P.slice(0,Y-1);B&&_(false),I(oe);},[B,P,Y]),de=useCallback(oe=>{A(oe.currentTarget.value),!U.current&&c.length>0&&k(true);},[c,A,U,k]),Ce=useCallback(()=>{A(""),V([]),q.current?.focus(),m&&(U.current=false);},[A,V,q,m,U]),$e=useCallback(oe=>{let Oe=N.filter(L=>L!==oe);V(Oe),m&&Oe.length<m&&(U.current=false);},[N,V,m,U]),Ue=useCallback(oe=>{j||z(oe.type),j!==oe.type?(z(oe.type),V([oe.value])):N.includes(oe.value)?$e(oe.value):m?(N.length<m&&V([...N,oe.value]),N.length===m&&V([...N.slice(1),oe.value])):V([...N,oe.value]),A("");},[j,z,V,N,$e,m]),Qe=useCallback(()=>{N.length>0&&O.length===0&&(V(N.slice(0,-1)),k(true),m&&(U.current=false)),O.length>0&&A(O.slice(0,-1));},[N,O,V,A,k,m,U]),To=useCallback(()=>{R(oe=>oe&&(W.current=oe,!oe)),ue(oe=>oe+1>=G.length?oe:oe+1);},[ue,G]),$o=useCallback(()=>{let oe=G[Te];oe&&Ue(oe);},[G,Te,Ue]),uo=useCallback(()=>{k(false);},[k]),mn=useCallback(()=>{le(),ue(0);},[ue,le]),Un=useCallback(()=>{let oe=G[Te];!B&&oe&&oe.type!==g[g.length-1]?.value&&(X(oe.name),ue(0));},[G,Te,B,g,ue,X]),Gn=useCallback(()=>{R(oe=>oe&&(W.current=oe,!oe)),ue(oe=>oe-1<0?0:oe-1);},[ue]),Hn=({label:oe,onRemove:Oe,...L})=>jsxs("div",{style:{alignItems:"center",backgroundColor:a.colorScheme==="dark"?a.colors.dark[7]:a.colors.gray[1],borderRadius:a.radius.sm,cursor:"default",color:a.colorScheme==="dark"?a.colors.dark[0]:a.colors.gray[7],display:"flex",fontSize:rem(12),fontWeight:500,height:rem(22),margin:`calc(${a.spacing.xs} / 2 - ${rem(2)}) calc(${a.spacing.xs} / 2)`,maxWidth:`calc(100% - ${rem(10)})`,paddingLeft:`calc(${a.spacing.sm} / 1.5)`,paddingRight:0,userSelect:"none"},...L,children:[jsx("span",{style:{display:"block",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:oe}),jsx(CloseButton,{"aria-hidden":true,iconSize:"70%",onMouseDown:Oe,radius:2,size:"sm",sx:{color:a.colorScheme==="dark"?a.colors.dark[0]:a.colors.gray[7],marginLeft:`calc(${a.spacing.sm} / 6)`},tabIndex:-1})]}),Wn=useMemo(()=>N.map(oe=>J.find(Oe=>Oe.value===oe)).filter(oe=>!!oe).map((oe,Oe)=>createElement(Hn,{...oe,index:Oe,key:oe.value,onRemove:L=>{L.preventDefault(),L.stopPropagation(),$e(oe.value);}})),[N]),xl=forwardRef(function({color:Oe,icon:L,label:Q,value:te,...Se},fe){return jsx("div",{ref:fe,style:{cursor:"pointer",width:"100%"},...Se,children:jsxs(Group,{align:"center",noWrap:true,spacing:"xs",w:"100%",children:[L&&jsx(Box,{bg:Oe??"transparent",component:"img",w:20,h:20,src:L}),jsx(Text,{lineClamp:1,size:"sm",children:Q||te})]})})}),{settings:Tl}=e,Cl=e.hideLabel==="true"||!e.label?jsx(Fragment,{}):jsx(ve,{component:"div",html:e.label,size:"sm",style:Tl,isPreview:true});return jsx(Input.Wrapper,{label:Cl,children:jsxs(Popover,{closeOnClickOutside:true,keepMounted:true,opened:b,onChange:k,onClose:()=>{ue(0),A("");},onOpen:()=>{ee.scrollToIndex(0);},shadow:"sm",width:"target",withinPortal:true,children:[jsx(Popover.Target,{children:jsxs(Box,{"aria-haspopup":"listbox",component:"div",onMouseLeave:()=>ue(0),sx:{position:"relative","& .defaultValue":{backgroundColor:a.colorScheme==="dark"?a.colors.dark[5]:a.colors.gray[3],color:a.colorScheme==="dark"?a.colors.dark[1]:a.colors.gray[7]}},tabIndex:-1,children:[jsx("input",{type:"hidden",value:N.join(",")}),jsx(Input,{component:"div",multiline:true,onMouseDown:oe=>{oe.preventDefault(),!U.current&&c.length>0&&k(!b),q.current?.focus();},rightSection:N.length>0?jsx(CloseButton,{onClick:Ce,onMouseDown:oe=>oe.preventDefault(),variant:"transparent"}):jsx(IconSelector,{color:a.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(-${a.spacing.xs} / 2)`,minHeight:`calc(${rem(36)} - ${rem(2)})`,"&[data-clearable]":{marginRight:rem(36)},"&::placeholder":{color:a.colorScheme==="dark"?a.colors.dark[3]:a.colors.gray[5],opacity:1}},children:[Wn,jsx("input",{autoComplete:"off","data-mantine-stop-propagation":b,onChange:de,onKeyDown:getHotkeyHandler([["ArrowDown",To],["ArrowLeft",mn],["ArrowRight",Un],["ArrowUp",Gn],["Backspace",Qe],["Enter",$o],["Escape",uo]]),placeholder:N.length===0?h:void 0,ref:q,readOnly:U.current,style:{appearance:"none",backgroundColor:"transparent",border:0,color:"inherit",flex:1,fontSize:a.fontSizes.sm,marginLeft:`calc(${a.spacing.xs} / 2)`,maxHeight:rem(22),minWidth:rem(60),outline:0,padding:0},type:"search",value:O})]})})]})}),jsx(Popover.Dropdown,{onMouseDown:oe=>oe.preventDefault(),p:0,children:jsx("div",{style:{display:"flex",maxHeight:rem(300)},children:jsx(Box,{component:"div","data-combobox-popover":true,onMouseDown:oe=>oe.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:oe=>{oe.stopPropagation();},px:"xs",position:"center",spacing:"xs",children:[jsx(Button,{onClick:()=>{ue(0),_(true),I([]),G.length>0&&ee.scrollToIndex(0);},size:"xs",variant:B?"filled":"outline",children:l}),g.map((oe,Oe)=>jsx(Button,{onClick:()=>{B&&_(false);let L=[""].slice(1),Q=Oe;for(;Q--;)L[Q]=P[Q]||"";ue(0),I(L),G.length>0&&ee.scrollToIndex(0);},size:"xs",variant:!B&&P.length===g.findIndex(L=>L.value===oe?.value)?"filled":"outline",children:oe?.label},oe?.value))]}),jsx(Divider,{})]}),Y>0&&jsxs(Group,{align:"center",noWrap:true,px:"xs",children:[jsx(ActionIcon,{onClick:le,size:"sm",children:jsx(IconChevronLeft,{})}),jsx("div",{children:re.map(oe=>jsx(Text,{lineClamp:1,size:"xs",children:oe},`${oe}`))})]}),jsx(ScrollArea,{mah:250,onWheel:()=>R(true),px:"xs",style:{overflow:"auto",width:"100%"},viewportRef:K,viewportProps:{tabIndex:-1},w:"100%",children:jsx("div",{style:{height:`${ee.getTotalSize()}px`,position:"relative",width:"100%"},children:ee.getVirtualItems().map(oe=>{let Oe=G[oe.index],L=Te===oe.index,Q=N.includes(Oe.value);return G.length>0&&L&&!w&&ee.scrollToIndex(Te),jsxs(Group,{"aria-selected":L,align:"center","data-hovered":L||void 0,"data-index":oe.index,"data-selected":Q,id:Oe.vale,noWrap:true,onMouseEnter:te=>{te.preventDefault(),te.stopPropagation(),w&&(ue(oe.index),R(false));},onMouseMove:te=>{te.preventDefault(),te.stopPropagation(),R(true);},onMouseDown:te=>{te.preventDefault(),Ue(Oe);},position:"apart",ref:ee.measureElement,role:"option",spacing:"xs",sx:te=>({borderRadius:te.radius.xs,padding:"15px 5px 15px",paddingLeft:B&&10*g.findIndex(Se=>Se?.value===Oe.type)||5,position:"absolute",top:0,left:0,height:`${oe.size}px`,transform:`translateY(${oe.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(xl,{index:oe.index,...Oe}),!B&&Oe.type!==g[g.length-1]?.value&&jsx(ActionIcon,{onMouseDown:te=>{te.preventDefault(),te.stopPropagation(),X(Oe.name);},size:"sm",tabIndex:-1,children:jsx(IconChevronRight,{})})]},Oe.value)})})})]})})})})]})})}var OG,LG,MG,BG,DG,Aw=D(()=>{p();Eg();mt();Pt();se();ye();Vl();Xe();OG=(e=[],t=[],o="",r="",n="",i="|")=>{let a=t.map(h=>h.value).slice(),l=`${a.pop()}`,s=h=>h[o],c=h=>h[r],u=h=>{if(h[n])return typeof h[n]=="string"?h[n].split(i):h[n]},d=new Set,f=[],g=[],m=nest().rollup(h=>{let y=h[0],S=A=>A&&A.value&&!d.has(A.value),v=a.map(A=>y[`${A} ID`]),C=a.map(A=>y[A]),b=a.map((A,B)=>{if(g[B]!==C[B]){g[B]=C[B];let _=s[B]||s[s.length-1]||s,P=c[B]||c[c.length-1]||c,I=u[B]||u[u.length-1]||u;return {color:_(y,A)||void 0,icon:P(y,A)||void 0,value:`${v[B]}`,label:C[B],name:C[B],type:A,searchindex:C.slice(0,B+1).concat(I(y,A)).join("|")}}return {}}).filter(S);b.forEach(A=>d.add(A.value));let k=s[s.length-1]||s,w=c[c.length-1]||c,R=u[u.length-1]||u,O=h.map(A=>({color:k(A,l)||void 0,icon:w(A,l)||void 0,value:`${A[`${l} ID`]}`,label:A[l],name:A[l],type:l,searchindex:C.concat(A[l]).concat(R(A,l)).join("|")}));f.push(...b.concat(O));});return a.forEach(h=>{m.key(y=>`${y[`${h} ID`]}|${y[h]}`);}),m.entries(e),f},LG=e=>{if(!e)return /./i;let t=e.normalize("NFD").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/[\u0300-\u036f]/g,"").replace(/\s+/g,"[^|]+");return RegExp(t,"i")},MG=(e,t)=>{let o=e.length,r,n=l=>r&&r.searchindex.includes(l.searchindex),a={next:()=>{for(let l=o-1;l>-1;l--){let s=e[l];if(t.test(`${s.value} ${s.label} ${s.searchindex}`)||n(s))return r=s,o=l,{done:false,value:s}}return {done:true,value:void 0}},[Symbol.iterator]:()=>a};return a},BG=e=>`multihierarchySelector${e}`,DG=(e,t)=>e&&typeof e=="string"?e.split(","):t;});var Pw={};ym(Pw,{default:()=>KG});function jG({block:e,active:t,locale:o,variables:r,configOverride:n={}}){let i=HG(),a=ko(e),l=Io(o),s={variables:r},c=vn(),u=we(),d=useRouter(),{sectionVariables:f,setSectionVariables:g,resetSectionVariables:m}=pt(e.section_id),h=useMemo(()=>{if(!t)return {error:"Activate to View"};if(!a?.logic)return {error:"Add a Configuration"};let R=xr({logic:a.logic},l,s).logic,O={router:d,section:{variables:f,setVariables:g,resetVariables:m}};return pa(R,l,r,o,e.id,{},O,c,u)},[a?.logic,t,r,f,u.status]),{type:y}=h.config||{},S=y&&Oh[y]?y:"Treemap";y||(h.config={error:'Visualization missing "type"'}),Oh[y]||(h.config={error:`"${y}" is not a valid Visualization Type`});let v=Oh[S],C=h.error||h.config?.error||false;if(C)return jsx(Center,{style:{height:"100%"},children:jsx(Badge,{color:"gray",variant:"outline",children:C},"type")});let{_data:b,...k}=h.config,w={locale:o,variables:r,...k,...n};return i.print&&(w.detectVisible=false),jsx("div",{style:{display:"flex",flex:"1 1 100%"},children:jsx(Rn,{fallback:jsx("p",{children:"Error in d3plus viz config."}),children:jsx(v,{style:{flex:1},dataFormat:R=>{let O;try{O=h.dataFormat(R);}catch(A){console.error("Error in dataFormat: ",A),O=[];}return O},linksFormat:h.linksFormat,nodesFormat:h.nodesFormat,topojsonFormat:h.topojsonFormat,config:{...w}},"viz-key")})})}var HG,WG,Oh,KG,Ow=D(()=>{p();zi();vp();cc();Ho();ye();Xe();Dp();HG=()=>({}),WG={},Oh={[da]:yp,...EV,...WG};KG=memo(jG,(e,t)=>e.block.contentByLocale.logic.content===t.block.contentByLocale.logic.content&&e.active===t.active&&e.locale===t.locale&&JSON.stringify(e.variables)===JSON.stringify(t.variables)&&JSON.stringify(e.configOverride)===JSON.stringify(t.configOverride));});var YG,kt,Lw=D(()=>{p();he();ew();ow();nw();iw();lw();cw();uw();dw();fw();hw();vw();Sw();Tw();Aw();YG=IV(()=>Promise.resolve().then(()=>(Ow(),Pw)),{ssr:false}),kt={[E.PARAGRAPH]:lh,[E.STAT]:ch,[E.SUBTITLE]:uh,[E.TITLE]:ph,[E.SELECTOR]:fh,[E.VIZ]:YG,[E.GENERATOR]:hh,[E.SECTION_FLAG]:hh,[E.IMAGE]:bh,[E.NAV]:Sh,[E.RELATED]:Th,[E.RESET_BUTTON]:kh,[E.COMPARISON_BUTTON]:Eh,[E.TABLE]:Rh,[E.BUTTON]:Ih,[E.MULTIHIERARCHY_SELECTOR]:Ph};});function Oc(e){return Lh[e]||IconDice}var Lh,Mh=D(()=>{p();he();Lh={[E.TITLE]:IconHeading,[E.GENERATOR]:IconApi,[E.SECTION_FLAG]:IconFlag,[E.STAT]:IconPercentage,[E.VIZ]:IconChartBar,[E.PARAGRAPH]:IconAlignLeft,[E.SELECTOR]:IconSelector,[E.IMAGE]:IconPhoto,[E.TABLE]:IconTable,[E.MULTIHIERARCHY_SELECTOR]:IconListTree};});function Lc(e){return Bh[e]}var Bh,Dh=D(()=>{p();he();Bh={[E.TITLE]:"Title",[E.GENERATOR]:"Data",[E.STAT]:"Stat",[E.VIZ]:"Visualization",[E.PARAGRAPH]:"Paragraph",[E.SELECTOR]:"Selector",[E.SUBTITLE]:"Subtitle",[E.RESET_BUTTON]:"Reset Button",[E.COMPARISON_BUTTON]:"Comparison Button",[E.RELATED]:"Related Reports",[E.NAV]:"Navigation",[E.IMAGE]:"Image",[E.TABLE]:"Table",[E.BUTTON]:"Button",[E.FALLBACK]:"Fallback",[E.SECTION_FLAG]:"Section Flag",[E.MULTIHIERARCHY_SELECTOR]:"Multihierarchy Selector"};});var sH,Ms,Bs=D(()=>{p();he();Xf();Lw();Mh();Dh();sH={[E.GENERATOR]:{type:E.GENERATOR,renderer:kt[E.GENERATOR],renderPreviewOnEdit:false},[E.SECTION_FLAG]:{type:E.SECTION_FLAG,renderer:kt[E.SECTION_FLAG],renderPreviewOnEdit:false},[E.IMAGE]:{type:E.IMAGE,renderer:kt[E.IMAGE],renderPreviewOnEdit:false},[E.PARAGRAPH]:{type:E.PARAGRAPH,renderer:kt[E.PARAGRAPH],renderPreviewOnEdit:true,evalWhenNonActive:true},[E.RELATED]:{type:E.RELATED,renderer:kt[E.RELATED],renderPreviewOnEdit:false,evalWhenNonActive:false},[E.SELECTOR]:{type:E.SELECTOR,renderer:kt[E.SELECTOR],adapter:sr[E.SELECTOR],nonActiveAdapter:()=>sr[E.SELECTOR]({name:"Selector Preview"}),renderPreviewOnEdit:false},[E.STAT]:{type:E.STAT,renderer:kt[E.STAT],renderPreviewOnEdit:true,evalWhenNonActive:true},[E.SUBTITLE]:{type:E.SUBTITLE,renderer:kt[E.SUBTITLE],renderPreviewOnEdit:true,evalWhenNonActive:true},[E.TITLE]:{type:E.TITLE,renderer:kt[E.TITLE],renderPreviewOnEdit:true,evalWhenNonActive:true},[E.VIZ]:{type:E.VIZ,renderer:kt[E.VIZ],renderPreviewOnEdit:false},[E.NAV]:{type:E.NAV,renderer:kt[E.NAV],renderPreviewOnEdit:true,evalWhenNonActive:true},[E.RESET_BUTTON]:{type:E.RESET_BUTTON,renderer:kt[E.RESET_BUTTON],renderPreviewOnEdit:true,evalWhenNonActive:true},[E.COMPARISON_BUTTON]:{type:E.COMPARISON_BUTTON,renderer:kt[E.COMPARISON_BUTTON],renderPreviewOnEdit:true,evalWhenNonActive:true},[E.TABLE]:{type:E.TABLE,renderer:kt[E.TABLE],renderPreviewOnEdit:false,evalWhenNonActive:false},[E.BUTTON]:{type:E.BUTTON,renderer:kt[E.BUTTON],renderPreviewOnEdit:true,evalWhenNonActive:true},[E.MULTIHIERARCHY_SELECTOR]:{type:E.MULTIHIERARCHY_SELECTOR,renderer:kt[E.MULTIHIERARCHY_SELECTOR],adapter:sr[E.MULTIHIERARCHY_SELECTOR],nonActiveAdapter:()=>sr[E.MULTIHIERARCHY_SELECTOR]({label:"Multihierarchy Selector Preview"}),renderPreviewOnEdit:false}},Ms=sH;});p();p();p();function sv(e){let{onlyIcon:t,href:o,version:r}=e,n=jsx(Text,{c:"blue.5",ta:"left",children:jsxs(Group,{position:"left",spacing:"xs",children:[jsx(IconCircleDashed,{size:30}),!t&&jsxs(Text,{c:"black",fs:"lg",children:["Bespoke CMS",jsx(Text,{span:true,c:"dimmed",size:"xs",ml:3,children:r})]})]})});return o?jsx(CP,{href:o,passHref:true,children:jsx(UnstyledButton,{p:10,w:"100%",children:n})}):n}p();var dv=wn__default.createContext(void 0);function mv(e){let[t,o]=useState(false),[r,n]=useState(null),i=wn__default.useMemo(()=>{function c(u,d){return d?{show:()=>c(u)}:new Promise((f,g)=>{n({request:u,onResolve:f,onReject:g}),o(true);})}return {newConfirmation:c}},[]),a=()=>{o(false),setTimeout(()=>n(null),200);},l=useCallback(c=>{!t||!r||(r.onResolve(c),a());},[t,r]),s=useCallback(c=>{!t||!r||(r.onReject(c),a());},[t,r]);return jsxs(dv.Provider,{value:i,children:[r&&jsx(IP,{opened:t,request:r.request,onConfirm:l,onCancel:s}),e.children]})}function IP(e){let{request:t,opened:o,onCancel:r,onConfirm:n}=e,i=useMantineTheme();return jsxs(Modal,{centered:true,zIndex:1002,opened:o,title:t.title,onClose:r,children:[t.message,jsxs(Group,{position:"right",style:{marginTop:i.spacing.sm},children:[jsx(Button,{onClick:r,children:t.cancelText||"Cancel"}),jsx(Button,{color:"red",onClick:n,children:t.confirmText||"Confirm"})]})]})}function Kt(){let e=useContext(dv);if(e===void 0)throw new Error("useConfirmationDialog must be used within ConfirmationDialogProvider.");return e}Pt();st();p();p();p();function ls(e){return jsxs("span",{style:{display:"flex",alignItems:"center",gap:"0.5rem"},children:[e.icon,e.children]})}se();Pt();ye();st();Sn();p();function sx(e){let{left:t,center:o,right:r}=e;return jsx(Header,{height:50,p:"xs",pos:"sticky",zIndex:98,children:jsxs(Group,{position:"apart",children:[jsx("div",{className:"left",children:t}),jsx("div",{className:"center",children:o}),jsx("div",{className:"right",children:r})]})})}p();st();se();var hM=e=>({input:{border:"none",background:e.colors.blue[0],borderRadius:e.radius.sm,color:e.colors.blue[7],fontSize:12,fontWeight:700,width:80},item:{fontSize:12},rightSection:{pointerEvents:"none"}});function ql({value:e,onChange:t,defaultValue:o,selectProps:r={},loading:n=false}){let i=gf(),a=H(u=>u.status.localeDefault),[l,s]=useUncontrolled({value:e,defaultValue:o||a,finalValue:a,onChange:t}),c=useMantineTheme();return jsx(Select,{...r,data:i,value:l,onChange:s,styles:{...hM(c),...r?.styles},icon:jsx(IconLanguage,{size:"0.8rem",color:c.colors.blue[7]}),rightSection:n?jsx(Loader,{size:"0.8rem"}):jsx(IconChevronDown,{size:"0.8rem",color:c.colors.blue[7]})})}p();se();p();p();Uo();us();zu();p();zu();function Qt(e){let t=Number.parseInt(`${e||""}`,10);if(Number.isNaN(t)||!Number.isFinite(t))throw new $i(400,`Invalid numeric parameter: ${e}`);return t}function Ne(e){return e==null||e===""?[]:Array.isArray(e)?e:e.toString().split(",")}p();var Ir={ADMIN:"Admin",EDITOR:"Editor"};var{localeDefault:ni}=We();function lx(e){let t=Ne(e.locale)[0]||ni||"en",o=t==="all"||Yl(e.all),r=Ne(e.mode)[0],i=(Ne(e.output)[0]||"full")==="lite"?"lite":"full",a=parseInt(Ne(e.related)[0],10)||5,l=Yl(e.allowNulls,{default:false}),s=Ne(e.variant).map(Qt);if(s.length===0&&(s=Ne(e["variant[]"]).map(Qt)),r==="ids")return {all:o,mode:r,variant:s,output:i,locale:o?ni:Jt(t),ids:Ne(e.ids||e["ids[]"]),allowNulls:l};if(r==="content_ids")return {all:o,mode:r,variant:s,output:i,locale:o?ni:Jt(t),content_ids:Ne(e.content_ids||e["content_ids[]"]).map(Qt),allowNulls:false};if(r==="slugs")return {all:o,mode:r,variant:s,output:i,locale:o?ni:Jt(t),slugs:Ne(e.slugs||e["slugs[]"]).map(c=>{let[u,d]=c.split("/");return {variantSlug:u,memberSlug:d}}),allowNulls:false};if(r==="related")return {all:o,mode:r,locale:o?ni:Jt(t),related:a,current_ids:Ne(e.current_ids||e["current_ids[]"]).map(Qt),include_ids:Ne(e.include_ids||e["include_ids[]"]).map(Qt),report_ids:Ne(e.report_ids||e["report_ids[]"]).map(Qt),dimension_ids:Ne(e.dimension_ids||e["dimension_ids[]"]).map(Qt),variant_ids:Ne(e.variant_ids||e["variant_ids[]"]).map(Qt),output:i,allowNulls:false};if(r==="whole")return {all:o,mode:r,variant:s,locale:o?ni:Jt(t),output:i,allowNulls:l};throw new $i(400,`Invalid mode: '${r}'`)}function Ju(e){let t=Ne(e.locale)[0]||ni||"en",o=t==="all",r=Ne(e.format)[0],n=r?r==="nested":o,i=Ne(e.variant).map(Qt);i.length===0&&(i=Ne(e["variant[]"]).map(Qt));let a=Ne(e.dimension).map(Qt);a.length===0&&(a=Ne(e["dimension[]"]).map(Qt));let l=Ne(e.report).map(Qt);l.length===0&&(l=Ne(e["report[]"]).map(Qt));let s=e.origin==="typesense"?"typesense":"flexsearch";return {query:Ne(e.query||e.q)[0]||"",locale:o?ni:t,preferredLocale:Ne(e.preferredLocale)[0],limit:Ne(e.limit).map(Qt)[0]??5,format:n?"nested":"plain",includes:Yl(e.includes,{default:true}),visible:Yl(e.visible,{default:true}),noImage:Yl(e.noImage,{default:false}),variant:i,dimension:a,report:l,all:o,sort:Ne(e.sort)[0],direction:Ne(e.direction)[0],offset:Number(e.offset||0),origin:s}}se();p();ye();se();p();var CM={maxWidth:100,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function Jl({children:e,tooltip:t=false,onClick:o=()=>{},textProps:r={},clickable:n=false}){return jsx(Tooltip,{label:e,disabled:!t,children:jsx(UnstyledButton,{onClick:o,children:jsxs(Group,{spacing:"3px",align:"center",noWrap:true,children:[jsx(Text,{fz:"0.675rem",tt:"uppercase",fw:700,color:"gray.7",sx:CM,...r,children:e}),n&&jsx(ThemeIcon,{color:"gray.7",size:"1rem",bg:"transparent",variant:"default",sx:{border:"none"},children:jsx(IconChevronDown,{size:"xl"})})]})})})}Uo();p();var Qu=e=>t=>({input:{border:"none !important",outline:"none",background:t.colors.gray[1]},dropdown:{padding:0,background:t.fn.lighten(t.colors.gray[1],.8),borderColor:t.colors.gray[4],borderRadius:t.radius.md,width:"280px !important",gap:t.spacing.xs,":before":{display:"block",content:`"${e}"`,fontSize:t.fontSizes.xs,color:t.colors.gray[5],paddingLeft:t.spacing.sm,paddingRight:t.spacing.sm,paddingBottom:t.spacing.xs,paddingTop:t.spacing.xs}}});function DM(e,t,o){return o===t?e.map(r=>({id:r.id,value:`${r.id}`,name:r.name})):e.map(r=>{let n=r.contentByLocale.find(i=>i.locale===o);return {id:r.id,value:`${r.id}`,name:r.name,refName:n?n.name:null}})}var cx={overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},_M=forwardRef(function({id:t,name:o,refName:r,...n},i){return jsxs(Group,{position:"apart",ref:i,...n,children:[jsxs(Stack,{spacing:0,children:[jsx(Text,{maw:"200px",sx:cx,children:o}),r&&jsx(Text,{fz:10,c:"#666",maw:"140px",sx:cx,children:r})]}),jsx(Text,{color:"gray.5",size:"sm",children:t})]},`${t}-${o}`)});function Sf(e){let{dimensionId:t,variantId:o,value:r,defaultValue:n,onChange:i,locale:a}=e,l=ie(),{localeDefault:s}=We(),c=os(),u=a||s,[d,f]=useState([]),[g,m]=useState(""),[h]=useDebouncedValue(g,500),[y,S]=useState(false),[v,C]=useState(false),[b,k]=useUncontrolled({value:r,defaultValue:n,finalValue:void 0,onChange:i?_=>i(_):void 0}),w=useRef(null),R=useClickOutside(()=>C(false)),O=useMergedRef(w,R),A=_=>{let P=d.find(I=>I.id===_.id);P&&(m(P.name?P.name:""),k(P),C(false));};useEffect(function(){S(true);let P={query:h,locale:u===c?u:"all",variant:[o],dimension:[t],limit:5,visible:false,includes:true,noImage:false,format:"plain",all:true,preferredLocale:c,report:[]};l(Z.searchMember(P)).then(I=>{if(I&&I.results){let F=I.results.map(M=>({...M,currentLocale:u,name:(M.contentByLocale&&M.contentByLocale.find(N=>N.locale===u)||M).name}));f(F),S(false),F.length===0&&h===""&&(f([]),S(false));}});},[l,h,u,o,t,c]),useEffect(()=>{d.length&&!b?.id&&i&&i(d[0]);},[d,i]);let B=DM(d,u,c);return useEffect(()=>{setTimeout(()=>{w.current&&w.current.focus();},200);},[v]),v||!b?.name?jsx(Autocomplete,{ref:O,value:g,onChange:m,data:B,itemComponent:_M,placeholder:"Search members.",nothingFound:"No members found.",rightSection:y&&jsx(Loader,{size:"xs"}),filter:()=>true,onItemSubmit:A,size:"xs",w:130,styles:Qu("Members")}):jsx(Jl,{onClick:()=>C(true),textProps:{color:"gray.6"},tooltip:true,clickable:true,children:b.name})}p();se();function xf(e){let o=Zi(e).data,r=Ul(o?.variants);return r.isSuccess?r.data.map(n=>({value:`${n.id}`,label:n.name})):[]}function Tf(e){let{dimension:t,value:o,onChange:r}=e,[n,i]=useState(false),a=xf(t),l=useClickOutside(()=>i(false)),s=a.length===1||!n,[c,u]=useUncontrolled({value:o?String(o):void 0,defaultValue:a[0]?a[0].value:"",finalValue:void 0,onChange:r?g=>r(Number(g)):void 0}),d=g=>u(g),f=a.find(g=>g.value===c)||a[0];return s?jsx(Jl,{onClick:()=>i(true),clickable:a.length>1,children:f?f.label:"No Variant"}):jsx(Select,{ref:l,data:a,value:c,onChange:d,w:140,size:"xs",styles:Qu("Variants"),initiallyOpened:true})}function ep(e){let{dimensionId:t,locale:o,onSelect:r,value:n}=e,i=ie(),a=xf(t),[l,s]=useUncontrolled({defaultValue:n?{id:`${n.memberId}`}:void 0,finalValue:void 0,onChange:r?f=>r(f):void 0}),[c,u]=useUncontrolled({value:void 0,defaultValue:n?.variantId,finalValue:a[0]?Number(a[0].value):0,onChange:()=>{s({});}}),d=n?.memberId;return useEffect(function(){d&&i(Z.readMember(lx({locale:o,content_ids:[`${d}`],all:"false",mode:"content_ids"}))).then(g=>{if(g&&g.results&&g.results[0]){let m=g.results[0];s({...m});}else console.error("default member is not found");});},[d]),jsxs(Flex,{gap:"xs",px:"xs",align:"center",children:[jsx(Tf,{dimension:t,value:c,onChange:u},`dimension-${t}`),jsx(Text,{fz:"xs",tt:"uppercase",color:"gray.6",fw:700,children:"/"}),c&&jsx(Sf,{variantId:c,dimensionId:t,value:l,onChange:s,locale:o},`variant-${c}`)]})}Pt();ye();st();function Ef({report:e,defaultMembers:t,locale:o}){let[r,n]=useState(false),i=ie(),a=Xt(),l=useContext(De),s=At(l),c=e&&e.dimensions?e.dimensions:[],u=H(h=>h.status.previews),d=u.map(h=>({variantId:h.variant_id,memberId:h.content_id})),f=a.query.preview,g=Array.isArray(f)?f.join("!"):f||"",m=h=>{let S=e.dimensions.map(C=>{let b;if(h)if(h.dimension_id===C)b=h;else {let k=u.find(w=>w?w.dimension_id===C:false);k&&(b=k);}return b}).map(C=>C?{...C,report_name:C.report?.name||C.report_name,report_id:C.report?.id||C.report_id,dimension_id:C.dimension?.id||C.dimension_id,dimension_name:C.dimension?.name||C.dimension_name,variant_id:C.variant?.id||C.variant_id,variant_name:C.variant?.name||C.variant_name,variant_slug:C.variant?.slug||C.variant_slug}:{}),v=S.map(JM).join("!");if(v&&g!==v){let C=S.filter(b=>b.content_id).length===c.length;i(Z.setPreviews(S)),C&&(a.setSearchParam("preview",v),s({previews:S}));}};return useEffect(function(){let y=g.split("!").filter(Boolean);y.length===c.length&&c.length>0?i(Z.readMember({mode:"slugs",slugs:y.map(S=>{let[v,C]=S.split("/");return {variantSlug:v,memberSlug:C}}),locale:o,output:"full"})).then(S=>s({previews:S.results})).then(()=>n(true)):t&&t.length===c.length?i(Z.readMember({mode:"content_ids",variant:t.map(S=>S.variantId),content_ids:t.map(S=>S.memberId),locale:o,output:"full"})).then(S=>s({previews:S.results})).then(()=>n(true)):n(true);},[]),jsx(Group,{spacing:"xs",children:r&&c.map((h,y)=>jsxs(Fragment$2,{children:[jsx(Text,{fw:700,fz:"xs",children:"/"}),jsx(ep,{dimensionId:h,onSelect:m,value:d[y]?d[y]:void 0,locale:o},h)]},h))})}function JM(e){return `${"variant_slug"in e?e.variant_slug:e?.variant?.slug}/${e.slug}`}p();se();p();se();p();p();Xn();p();Tu();var Ql="dimension",mx="Dimension";p();var wf="formatter",hx="Formatter";p();Xn();Tu();Em();p();var Rf="variant",bx="Variant";p();var If="datasource",vx="Data Source";var Sx={[Cu]:zv,[Ql]:mx,[wf]:hx,[Ni]:Mv,[Ol]:Dv,[Rf]:bx,[If]:vx};se();function ir({id:e,type:t,warning:o,disabled:r=false}){let n=useDispatch(),{newConfirmation:i}=Kt(),a=useCallback(async()=>{let l=Sx[t]||"Entity",s=o||`Delete this ${l} and all its contents? This action cannot be undone.`;try{r||(await i({title:"Are you sure?",message:s,confirmText:"Yes, Delete it."}),n(Z.deleteEntity(t,e)));}catch{console.error(`${l} deletion aborted:`,e);}},[e,t,o,r,n]);return jsx(ActionIcon,{disabled:r,color:"red",variant:"transparent",onClick:a,children:jsx(IconTrash,{size:18})})}p();var ds=e=>({overrideNames:e&&typeof e.overrideNames<"u"?e.overrideNames:false,overrideRelevance:e&&typeof e.overrideRelevance<"u"?e.overrideRelevance:false,regenerateSlugs:e&&typeof e.regenerateSlugs<"u"?e.regenerateSlugs:false,keepOldMembers:e&&typeof e.keepOldMembers<"u"?e.keepOldMembers:true,doIngest:e&&typeof e.doIngest<"u"?e.doIngest:false,overrideAttributes:e&&typeof e.overrideAttributes<"u"?e.overrideAttributes:false,order:e&&typeof e.order<"u"?e.order:0});function bB({for:e,onEdit:t}){let o=useMantineTheme(),{newConfirmation:r}=Kt(),n=o.colorScheme==="dark"?o.colors.dark[1]:o.colors.gray[7],i=useCallback(async()=>{try{await r({title:"Are you sure?",message:"Modifying dimensions can be destructive and break the site. Make sure you know what you're doing!",confirmText:"Continue"}),t(e.id);}catch{console.error("Dimension edition aborted.");}},[t]),{name:a,ordering:l}=e;return jsxs(Card,{shadow:"xs",withBorder:true,style:{margin:o.spacing.sm},children:[jsx(Group,{position:"apart",children:jsxs(Center,{children:[jsx(IconDatabase,{size:22}),jsx(Space,{w:"xs"}),jsx(Text,{weight:"bold",children:a})]})}),jsxs(Text,{size:"sm",style:{color:n,lineHeight:2},children:["Order:",l]}),jsx(Space,{w:"xs"}),jsxs(Group,{position:"apart",children:[jsxs(Center,{children:[jsx(IconServer,{size:22}),jsx(Space,{w:"xs"}),jsx(Text,{weight:"bold",children:"Variants"})]}),jsx(Badge,{variant:"light",children:e.variants.length})]}),jsx("ul",{children:e.variants.map(s=>jsx("li",{style:{color:n},children:jsx(vB,{id:s})},s))}),jsxs(Group,{position:"apart",children:[jsx(Button,{onClick:i,leftIcon:jsx(IconPencil,{}),compact:true,children:"Edit"}),jsx(ir,{id:e.id,type:"dimension",warning:"Deleting dimensions can be destructive and break the site. Make sure you know what you're doing!"})]})]})}var Cx=Yt(bB,Zi);function yB({for:e}){let t=ds(e.settings);return jsx(Text,{size:"sm",children:`${e.name}: /${e.slug} - Order: ${t.order}`})}var vB=Yt(yB,ea);p();Hr();se();p();function fs(e){let{target:t,fields:o,onSubmit:r}=e,[n,i,a]=LB(o||[]),[l,s]=useDisclosure(false,{onClose:a}),c=useCallback(u=>{l&&(u.preventDefault(),typeof r=="function"&&r(i),s.close());},[i,l]);return useHotkeys([["enter",c]]),n.length===0?t:jsxs(Popover,{onClose:s.close,opened:l,position:"right",trapFocus:true,withArrow:true,withinPortal:true,zIndex:1001,children:[jsx(Popover.Target,{children:wn__default.cloneElement(e.target,{onClick:s.open})}),jsx(Popover.Dropdown,{children:jsxs("form",{onSubmit:c,children:[n,jsx(Button,{type:"submit",children:"Submit"})]})})]})}function LB(e){let[t,o]=useState({}),r=e.map(a=>encodeURIComponent(`${a.name}:${a.type}/${a.label}`)).join("&"),n=useCallback(()=>{o({});},[]);return [useMemo(()=>e.map(a=>{let l=`${t[a.name]??(a.initialValue||"")}`;return a.type==="checkbox"?jsx(Checkbox,{label:a.label,name:a.name,checked:l=="true"},a.name):a.type==="radio"?jsx(Radio.Group,{label:a.label,value:l,children:a.options.map(s=>jsx(Radio,{label:s.label,value:`${s.value}`},s.label))},a.name):a.type==="select"?jsx(Select,{data:a.options.map(s=>({value:`${s.value}`,label:s.label})),label:a.label,onChange:s=>{o({...t,[a.name]:s});},value:l,zIndex:1002},a.name):a.type==="switch"?jsx(Switch,{label:a.label,name:a.name,checked:l=="true"},a.name):a.type==="text"?jsx(TextInput,{label:a.label,onChange:s=>{o({...t,[a.name]:s.target.value});},placeholder:a.placeholder,value:l},a.name):null}),[r,t]),t,n]}p();se();function $B({for:e,onEdit:t}){let o=useMantineTheme(),{newConfirmation:r}=Kt(),n=useCallback(async()=>{try{await r({title:"Are you sure?",message:"Modifying variants can be destructive and break the site. Make sure you know what you're doing!",confirmText:"Continue"}),t(e.id);}catch{console.error("Variant edition aborted.");}},[t]),{slug:i,name:a,settings:l}=e,s=ds(l);return jsxs(Card,{shadow:"xs",withBorder:true,style:{margin:o.spacing.sm},children:[jsxs(Group,{position:"apart",children:[jsxs(Center,{children:[jsx(IconServer,{size:22}),jsx(Space,{w:"xs"}),jsx(Text,{weight:"bold",children:a}),jsxs(Text,{size:"xs",ml:"xs",children:["Order: ",s.order]})]}),jsxs(Badge,{variant:"light",children:["/",i]})]}),jsx(Space,{h:"xs"}),jsxs(Group,{position:"apart",children:[jsx(Button,{onClick:()=>n(),leftIcon:jsx(IconPencil,{}),compact:true,children:"Edit"}),jsx(ir,{id:e.id,type:"variant",warning:"Deleting variants can be destructive and break the site. Make sure you know what you're doing!"})]})]})}var Ox=Yt($B,ea);p();Bm();p();var UB=e=>e.replace(/^\s+|\s+$/gm,"").replace(/[^a-zA-ZÀ-ž0-9- _]/g,""),op=UB;se();ys();p();function Ao({content:e,buttons:t,size:o}){let[r,n]=useState(500);return useEffect(()=>{let{innerHeight:i}=window;n(i-o);},[]),jsxs("div",{style:{height:"100%"},children:[jsx(ScrollArea,{offsetScrollbars:true,type:"always",style:{height:r},styles:{viewport:{"& > div:first-of-type":{display:"block !important"}}},children:e}),jsx(Space,{h:"xs"}),jsx(Divider,{}),jsx(Group,{mt:"xs",grow:true,style:{height:45},children:t})]})}p();p();function iD({member:e,height:t="auto",width:o="100%",size:r="thumb",forceRefreshTimestamp:n=false}){let i="";n&&(i=`&t=${new Date().getTime()}`);let a=e&&e.image_id?`/api/cms/member/image?member=${e.content_id}&size=${r}${i}`:"https://placehold.jp/cccccc/ffffff/900x600.png?text=None";return jsx(Image,{alt:`Image for ${e.id}`,height:t,width:o,radius:"md",src:a})}var Zl=iD;se();function vs({members:e,onClickEdit:t,onSort:o,colsToRender:r=[],dataTableProps:n={}}){let[i,a]=useState([]),[l,s]=useState([]),{state:c,...u}=n;useEffect(()=>{typeof o<"u"&&i&&i.length&&o(i);},[i]),useEffect(()=>{s(e);},[e]),useEffect(()=>{s(e);},[]);let d=H(m=>m.status.localeDefault),f=jsx(Badge,{color:"gray",children:"None"}),g=[{header:"",accessorKey:"visible",enableResizing:false,enableSorting:false,size:10,Cell:({row:m})=>jsx(Fragment,{children:m.original.visible?jsx("span",{}):jsx(Tooltip,{label:"Visible: false",children:jsx("span",{children:jsx(IconEyeOff,{size:20})})})})},{header:"ID",accessorKey:"id",enableSorting:typeof o<"u",mantineTableHeadCellProps:{align:"right",sx:{"& .mantine-TableHeadCell-Content-Labels":{flexDirection:"row"}}},mantineTableBodyCellProps:{align:"right"},size:100},{header:"Report",accessorKey:"report.name",enableSorting:false,size:100},{header:"Dimension",accessorKey:"dimension.name",enableSorting:false,size:100},{header:"Variant",accessorKey:"variant.name",enableSorting:false,size:100},{header:"Relevance",accessorKey:"zvalue",enableSorting:typeof o<"u",size:100},{header:"Slug",accessorKey:"slug",Cell:({row:m})=>jsxs("span",{children:["/",m.original.variant.slug,"/",m.original.slug]}),enableSorting:false},{header:`Name ${d.toUpperCase()}`,accessorKey:"name",enableSorting:typeof o<"u",Cell:({row:m})=>{let h=m.original.contentByLocale.find(v=>v.locale===d),y=m.original.contentByLocale.filter(v=>v.locale!==d),S=y.reduce((v,C)=>{let b=`${C.locale.toUpperCase()}: ${C.name}`;return `${v}${v!==""?`
|
|
47
|
-
`:""}${b}`},"");return jsxs(Group,{children:[jsx("span",{children:h?.name||f}),y.length>0&&jsx(Tooltip,{label:S,children:jsxs(Avatar,{size:"sm",color:"pink",radius:"xl",children:["+",y.length]})})]})}},{header:`Keywords ${d.toUpperCase()}`,accessorKey:"keywords",Cell:({row:m})=>{let h=m.original.contentByLocale.find(C=>C.locale===d),y=m.original.contentByLocale.filter(C=>C.locale!==d),S=(h.keywords?h.keywords:[]).map(C=>jsx(Badge,{children:C},C)),v=y.reduce((C,b)=>{let k=b.keywords||[],w=`${b.locale.toUpperCase()}: ${k.length>0?k.join(","):"None"}`;return `${C}${C!==""?`
|
|
48
|
-
`:""}${w}`},"");return jsxs(Group,{children:[jsx("span",{children:S.length>0?S:f}),y.length>0&&jsx(Tooltip,{label:v,children:jsxs(Avatar,{size:"sm",color:"pink",radius:"xl",children:["+",y.length]})})]})},enableSorting:false,size:100},{header:"Image",accessorKey:"image",Cell:({row:m})=>jsx(Zl,{member:m.original,height:"50px",forceRefreshTimestamp:true}),enableSorting:false,size:80},{header:"",accessorKey:"actions",Cell:({row:m})=>jsx(ActionIcon,{onClick:()=>t?t(m.original):false,children:jsx(IconPencil,{size:20})},"edit"),enableResizing:false,enableSorting:false,size:50,mantineTableHeadCellProps:{align:"center"},mantineTableBodyCellProps:{align:"center"}}];return jsx(MantineReactTable,{columns:g.filter(m=>r&&r.length===0||r.includes(m.accessorKey)),data:l,enableBottomToolbar:false,enableColumnActions:false,enableColumnResizing:true,enablePagination:false,enableStickyHeader:true,enableTopToolbar:false,initialState:{density:"xs"},layoutMode:"grid",mantineTableContainerProps:{sx:{minHeight:150,maxHeight:"90vh"}},mantineTableProps:{striped:true},manualSorting:true,onSortingChange:a,state:{sorting:i,...c},...u})}p();function bD({switchProps:e,yesText:t,noText:o}){let r={size:"md",onLabel:"YES",offLabel:"NO",label:"Switch Label",my:"xs",checked:false,onChange:n=>console.info(n.currentTarget.checked),...e};return jsxs(Group,{children:[jsx(Switch,{...r}),jsx(Tooltip,{label:r.checked?t:o,withArrow:true,multiline:true,width:200,children:jsx(ActionIcon,{variant:"filled",radius:"50%",size:"xs",children:jsx(IconQuestionMark,{size:"xs"})})})]})}var tc=bD;p();function Ss(e){try{return new URL(e),!0}catch{return false}}function OD({for:e,onClose:t}){let o=ie(),r=H(X=>X.status.localeDefault),n=H(X=>X.status.locales),i=n.map(X=>({value:X,label:X.toUpperCase()})),[a,l]=useState(),[s,c]=useState(r),[u,d]=useState(()=>{let X={...e};return n.forEach(le=>{X.config={...X.config,[le]:{attributes:[],idKey:"",labelKey:"",accessor:"",path:"",...X.config[le]||{}}};}),X}),[f,g]=useState(false),[m,h]=useState(false),[y,S]=useState(false),[v,C]=useState(false),[b,k]=useState({valid:false,suggestion:""}),[w,R]=useState(),[O,A]=useState([]),[B,_]=useState(false),[P,I]=useState([]),F=X=>{Ss(X)&&(h(true),o(Z.urlProxy({url:X})).then(le=>{if(R(le),le){let de=tS(le);A(de),u.config[s].accessor&&le[u.config[s].accessor]?N(le[u.config[s].accessor][0],u.config[s].accessor):de.length===0&&le&&le[0]&&N(le[0]);}S(false),h(false);}).catch(le=>{console.error(le),S(`Fetch error: ${le.message}`),R(void 0),h(false);}));},M=X=>{_(true);let le=Ju({variant:X,limit:"5",locale:"all",visible:"true",includes:"true",noImage:"false",format:"plain"});o(Z.searchMember(le)).then(de=>{if(de&&de.results){let Ce=de.results;I(Ce),Ce.length===0&&Y("doIngest",true);}_(false);}).catch(de=>{console.error(de),_(false);});},N=(X,le="")=>{if(X){let de=Object.keys(X),Ce=de.find(Ue=>Ue.toLowerCase().includes("id"))||de[0],$e=de.find(Ue=>!Ue.toLowerCase().includes("id"))||de[0];(!u.config[s].idKey||u.config[s].idKey===""||!u.config[s].labelKey||u.config[s].labelKey==="")&&d({...u,config:{...u.config,[s]:{...u.config[s],idKey:Ce,labelKey:$e,accessor:le}}});}l(X);};useEffect(()=>{u.id&&M(u.id),q(u.slug),u.config[s]&&u.config[s].path&&F(u.config[s].path);},[]);let j=X=>{R(void 0),S(false);let le=[];if(X!==r){let de=u.config[r]?[...u.config[r].attributes].map($e=>{let Ue={...$e};return Ue.value="",Ue}):[];u.config[X]&&u.config[X].attributes?le=de.map($e=>{let Ue=u.config[X].attributes.find(Qe=>$e.name===Qe.name);return Ue&&($e.value=Ue.value),$e}):le=de;let Ce={...u.config,[X]:{...u.config[X],attributes:le}};d({...u,config:Ce});}u.config[X]&&u.config[X].path&&F(u.config[X].path),c(X);},$=useMemo(()=>ds(u.settings),[u.settings]),V=useMemo(()=>[{label:"Replace names",key:"overrideNames",yesText:"Names from new source will update the previously ingested members.",noText:"Original names will be keep."},{label:"Replace slugs",key:"regenerateSlugs",yesText:"Slugs will be regenerated based on new member's names and updated on previously ingested members.",noText:"Original slugs will be keep.",disabled:!$.overrideNames},{label:"Replace relevance value",key:"overrideRelevance",yesText:"Relevance index will be recalculated and updated on previously ingested members.",noText:"Original numbers will be keep."},{label:"Replace attributes",key:"overrideAttributes",yesText:"Attributes will be regenerated and override the current ones. Different ones will be kept.",noText:"Original attributes will be keep, ignoring the changes"},{label:"Keep all existing members",key:"keepOldMembers",yesText:"All the the existing members will be keep even if they are not in the new API members list",noText:"Members that are not in the API members list will be deleted, keeping both lists on sync."}],[$.overrideNames]),z=X=>{let le=Pu(w,X);le[0]&&N(le[0],X);},q=X=>{o(Z.variantValidateSlug(u.dimension_id,X)).then(k).then(()=>{C(false);},le=>{console.error(le);});},W=(X,le)=>{let de=le;X==="slug"&&(de=op(le),de&&(C(true),q(le))),d({...u,[X]:de});},U=(X,le)=>{X==="path"&&S(false),d({...u,config:{...u.config,[s]:{...u.config[s],[X]:le}}});},Y=(X,le)=>{let de=X==="overrideNames"&&!le?{regenerateSlugs:false}:{};d({...u,settings:{...u.settings,...de,[X]:le}});},ne=()=>{g(true),o(Z.updateEntity("variant",u)).then(()=>{g(false),t();}).catch(X=>{console.error(X),g(false);});},re=X=>{d({...u,config:{...u.config,[s]:{...u.config[s],attributes:X}}});},J=()=>{if(a&&Object.keys(a)[0]){let de=u.config[s]?.attributes||[],Ce=de.length||0;re([...de,{type:"constant",name:`attr${Ce+1}`,value:""}]);}},G=(X,le,de)=>{let Ce=u.config[s].attributes.map(($e,Ue)=>Ue===le?{...$e,[X]:de}:$e);re(Ce);},K=X=>{let le=u.config[s].attributes.filter((de,Ce)=>Ce!==X);re(le);},ee=a?Object.keys(a).map(X=>({value:X,label:`${X}: ${a[X]}`})):[],ae=O.map(X=>({value:X,label:X})),ue=!Ss(u.config[s].path),Te=useMemo(()=>y||(ue&&u.config[s].path!==""?"Format error: Invalid URL.":false),[y,ue,u.config,s]);return jsx(Ao,{content:jsxs(Fragment,{children:[jsx(Title,{order:2,children:`Editing Variant: ${u.name}`}),jsx(Space,{h:"xs"}),jsxs(Tabs,{defaultValue:"variant",children:[jsxs(Tabs.List,{grow:true,children:[jsx(Tabs.Tab,{value:"variant",children:"Variant"}),jsx(Tabs.Tab,{value:"members",children:"Members"})]}),jsxs(Tabs.Panel,{value:"variant",py:"md",children:[jsx(Title,{order:3,children:"Variant Settings"}),jsx(Space,{h:"xs"}),jsx(TextInput,{value:u.name,label:"Name",onChange:X=>W("name",X.target.value)}),jsx(Space,{h:"xs"}),jsx(TextInput,{value:u.slug,icon:!v&&!b.valid?jsx(IconAlertCircle,{}):jsx(IconCircleCheck,{}),label:"Slug",description:v?"Validating slug...":b.valid?"Valid slug.":"Invalid slug.",error:!v&&!b.valid?jsxs(Text,{children:["Duplicated slug. Suggestion:",jsx(Code,{onClick:()=>W("slug",b.suggestion),style:{cursor:"pointer"},children:b.suggestion})]}):false,onChange:X=>W("slug",X.target.value)}),jsx(Space,{h:"xs"}),jsx(NumberInput,{value:$.order||0,description:"It affects on explore options order",placeholder:"Order",label:"Order",onChange:X=>{Y("order",X);}})]}),jsxs(Tabs.Panel,{value:"members",py:"md",children:[jsx(Title,{order:3,children:"Members Settings"}),jsx(Text,{size:"sm",children:"Members, once ingested, become pages for this variant."}),jsx(tc,{switchProps:{label:`${!B&&P.length>0?"Re-":""}Ingest members`,checked:$.doIngest,onChange:X=>Y("doIngest",X.currentTarget.checked)},yesText:`Run the ingestion process and save the variant details.
|
|
49
|
-
Remember include the ingestion information for all the locales.`,noText:"Ingestion is not going to run and the current members are not going to suffer any change."}),$.doIngest&&!B&&P.length>0&&jsxs(Box,{ml:"lg",children:[jsx(Text,{size:"sm",children:"Settings that are going to be applied for members reingestions and for all available languages, matching by unique identificator. All new members are going to be ingested. Images and tags for existing members will be safe."}),V.map(X=>jsx(tc,{switchProps:{disabled:X.disabled,label:X.label,checked:$[X.key],onChange:le=>Y(X.key,le.currentTarget.checked)},yesText:X.yesText,noText:X.noText},X.key))]}),!$.doIngest&&jsxs(Fragment,{children:[jsx(Title,{order:2,size:"h4",children:"Ingested members preview"}),jsx(Space,{h:"xs"}),jsxs(Stack,{spacing:0,justify:"center",children:[B&&jsx(Loader,{m:"0 auto"}),!B&&P.length>0&&jsxs(Fragment,{children:[jsx(vs,{members:P,colsToRender:["id","name","slug"]}),jsx(CP,{href:"metadata",passHref:true,children:jsx(Text,{c:"dimmed",align:"center",td:"underline",size:"xs",children:"See the full list in Metadata View"})})]})]}),!B&&P.length===0&&jsx(Text,{c:"dimmed",align:"center",children:"No members ingested yet."}),jsx(Space,{h:"xs"})]}),$.doIngest&&jsxs(Fragment,{children:[jsx(Divider,{my:"sm"}),jsx(Title,{order:2,size:"h4",children:"Members ingestion"}),jsx(Space,{h:"xs"}),jsx(SegmentedControl,{value:s,fullWidth:true,onChange:j,data:i,disabled:m}),u.config[s]&&jsxs(Fragment,{children:[jsx(Space,{h:"lg"}),jsx(Group,{children:jsx(TextInput,{onChange:X=>U("path",X.target.value),title:"Api endpoint",description:"Enter the url to retrieve a member list to ingest. (JSON) and click Fetch.",value:u.config[s].path,error:Te,rightSectionWidth:"105px",w:"100%",rightSection:m?jsxs(Group,{align:"center",children:[jsx(Loader,{size:"xs"}),jsx(Text,{span:true,variant:"subtle",size:"xs",children:"Fetching..."})]}):jsx(Button,{disabled:m||ue,onClick:()=>F(u.config[s].path),leftIcon:jsx(IconPlayerPlay,{}),children:"Fetch"}),readOnly:m})}),w&&jsxs("div",{children:[jsx(Space,{h:"md"}),jsx(Select,{value:u.config[s].accessor,label:"Elements",description:`Choose the key that returns the array of elements that
|
|
50
|
-
are going to be ingested as members.`,data:ae,disabled:ae.length===0,placeholder:ae.length===0?"Root is an array":"",onChange:X=>z(X)}),jsx(Divider,{label:"First element preview",labelPosition:"center"}),w[u.config[s].accessor]&&!Array.isArray(w)&&jsx(Ar,{variables:w[u.config[s].accessor][0]}),Array.isArray(w)&&w[0]&&jsx(Ar,{variables:w[0]}),jsx(Space,{h:"md"}),jsx(Select,{value:u.config[s].idKey,label:"Unique identificator",description:"Choose the field that is a unique identification for a single member.",data:ee,onChange:X=>U("idKey",X)}),jsx(Space,{h:"md"}),jsx(Select,{value:u.config[s].labelKey,label:"Members' name",description:"Choose the field that contains the members name.",data:ee,onChange:X=>U("labelKey",X)}),jsx(Space,{h:"md"}),jsx(Select,{value:u.config[s].zValueKey||"",label:"Member's relevance (optional)",description:`Choose a field that will be converted to a number and
|
|
51
|
-
normalized from 0 to 1 to determine the member's relevance.`,data:[{value:"null",label:"None"},...ee],onChange:X=>U("zValueKey",X)}),jsx(Space,{h:"md"}),jsx(Title,{order:3,size:"h5",children:"Attributes"}),jsx(Text,{size:"sm",children:"Attributes are properties to be ingested as metadata with the member element. Could be constants (same value for every member) or dynamic (based on a property of the data)"}),jsx(Space,{h:"xs"}),u.config[s].attributes&&u.config[s].attributes.map((X,le)=>jsxs(Group,{align:"end",grow:true,children:[jsx(Select,{value:u.config[s].attributes[le].type,label:"Type",data:[{value:"variable",label:"Data based"},{value:"constant",label:"Constant"}],readOnly:s!==r,disabled:s!==r,onChange:de=>G("type",le,de)}),jsx(TextInput,{value:u.config[s].attributes[le].name,label:"Name",readOnly:s!==r,disabled:s!==r,onChange:de=>G("name",le,de.target.value)}),X.type==="variable"&&jsx(Select,{value:u.config[s].attributes[le].value,label:"Value",data:ee,onChange:de=>G("value",le,de)}),X.type==="constant"&&jsx(TextInput,{value:u.config[s].attributes[le].value,label:"Value",onChange:de=>G("value",le,de.target.value)}),jsx(ActionIcon,{color:"red",onClick:()=>K(le),disabled:s!==r,children:jsx(IconTrash,{size:20})})]},le)),jsx(Space,{h:"md"}),jsx(Button,{onClick:J,leftIcon:"+",disabled:f||s!==r,children:"Add Attribute"})]})]}),jsx(Space,{h:"md"})]})]})]})]}),buttons:jsxs(Fragment,{children:[jsx(Button,{disabled:f||m||!v&&!b.valid,onClick:t,variant:"outline",children:"Cancel"}),jsx(Button,{disabled:f||m||!v&&!b.valid,loading:f||m,onClick:ne,children:`${$.doIngest?`${!B&&P.length>0?"Re-":""}Ingest & `:""}Save`})]}),size:165})}var Vx=Yt(OD,ea);function Kx({id:e,onClose:t}){let o=ie(),r=Zi(e),[n,i]=useState({id:e}),[a,l]=useState(null);useEffect(()=>{r.isSuccess&&i(r.data);},[r.status]);let s=useCallback(g=>{o(Z.createEntity("variant",{dimension_id:e,name:g.name,slug:xt(g.name)}));},[e]),c=useCallback(()=>{o(Z.updateEntity("dimension",{...n,id:e})).then(t);},[n]),u=useCallback((g,m)=>{i({...n,[g]:g==="slug"?xt(m):m});},[]);if(a)return jsx(Vx,{id:a,onClose:()=>l(null)});let d=r.isFetching,f=r.isSuccess?r.data.variants:[];return jsx(Ao,{content:jsxs(Fragment,{children:[jsx(Title,{order:2,children:`Dimension metadata: ${n.name}`}),jsx(Space,{h:"xs"}),jsx(TextInput,{value:n.name,label:"Name",onChange:g=>u("name",g.target.value)}),jsx(Space,{h:"xs"}),jsx(NumberInput,{value:n.ordering?parseInt(`${n.ordering||0}`,10):0,type:"number",label:"Order",onChange:g=>u("ordering",g)}),jsx(Divider,{my:"xl"}),jsx(ls,{icon:jsx(IconServer,{size:22}),children:jsx(Title,{order:2,size:"h4",children:"Variants"})}),f.map(g=>jsx(Ox,{id:g,onEdit:l},g)),jsx(fs,{fields:[{name:"name",type:"text",label:"Add Variant"}],onSubmit:s,target:jsx(ActionIcon,{size:"xl",radius:"xl",children:jsx(IconCirclePlus,{size:30})})})]}),buttons:jsxs(Fragment,{children:[jsx(Button,{variant:"outline",disabled:d,loading:d,onClick:t,children:"Cancel"}),jsx(Button,{disabled:d,loading:d,onClick:c,children:"Save Dimension"})]}),size:165})}Hr();function eT({id:e,onClose:t}){let o=ie(),r=zt(e),[n,i]=useState({id:e}),[a,l]=useState(null);useEffect(()=>{r.isSuccess&&i(r.data);},[r.status]);let s=useCallback((S,v)=>{o(Z.createEntity("dimension",{report_id:e,name:S.name,ordering:v.length+1})).then(C=>{C.ok&&o(Z.createEntity("variant",{dimension_id:C.data.id,name:C.data.name,slug:xt(C.data.name)}));});},[e]),c=useCallback(()=>{o(Z.updateEntity("report",{...n,id:e})).then(t);},[e,n]),u=useCallback((S,v)=>{i({...n,[S]:v});},[]),d=(S,v)=>{i({...n,settings:{...n.settings,[S]:v}});};if(a)return jsx(Kx,{id:a,onClose:()=>l(null)});let f=r.isFetching,g=r.isSuccess?r.data.dimensions:[],m=n.settings,h=m&&typeof m.order=="number"?m.order:0,y=m&&typeof m.hide=="boolean"?m.hide:false;return jsx(Ao,{content:jsxs(Fragment,{children:[jsx(Title,{order:2,children:`Report metadata: ${n.name}`}),jsx(Space,{h:"xs"}),jsx(TextInput,{value:n.name,label:"Name",onChange:S=>u("name",S.target.value)}),jsx(Space,{h:"xs"}),jsxs(Group,{grow:true,children:[jsx(tc,{switchProps:{label:"Show in Explore & Search",checked:!y,onChange:S=>d("hide",!S.currentTarget.checked)},yesText:"Profile appears in Explore search and members are listed in search results",noText:"Profile is hidden in Explore search and members are not included in search results"}),jsx(NumberInput,{defaultValue:0,value:h,description:"It affects the Explore search options order",placeholder:"Order in Explore",label:"Order",disabled:y,onChange:S=>{d("order",S);}})]}),jsx(Divider,{my:"sm"}),jsx(ls,{icon:jsx(IconDatabase,{size:22}),children:jsx(Title,{order:2,size:"h4",children:"Dimensions"})}),jsx(Grid,{children:g.map(S=>jsx(Grid.Col,{span:6,children:jsx(Cx,{id:S,onEdit:l})},S))}),jsx(fs,{fields:[{type:"text",name:"name",label:"Add Dimension"}],onSubmit:(S=>s(S,g)),target:jsx(ActionIcon,{size:"xl",radius:"xl",children:jsx(IconCirclePlus,{size:30})})})]}),buttons:jsxs(Fragment,{children:[jsx(Button,{variant:"outline",disabled:f,loading:f,onClick:t,children:"Cancel"}),jsx(Button,{disabled:f,loading:f,onClick:c,children:"Save Report"})]}),size:165})}function iT(e){let{report:t}=e,{newConfirmation:o}=Kt(),{selectEntity:r}=qt(),n=useContext(De),i=At(n),a=ie(),l=H(V=>V.status.previews),s=Xt(),c=Number.parseInt(s.params[0]),u=zt(c),d=es(),f=VS(),g=mf(),m=H(V=>V.status.localeDefault),h=Ft("settings"),y=Ft("reportEditor"),S=Ft("tools"),v=Ft("debugView"),C=cs(c),b=t&&t.dimensions?t.dimensions:[],k=b.length>0,w=l.filter(V=>V.variant_slug).reduce((V,z)=>V.concat([z.variant_slug,z.slug]),[]),R=g===m?"":`/${g}`,O=f||d,A=w.length?`${R}${O}/${w.join("/")}`:"",B=w.length?`${R}${d}/${w.join("/")}`:"",[_,P]=useState(null),I=useMemo(()=>{let V=[];return A&&f&&V.push({value:"preview",label:"Open Preview",url:A,Icon:IconFileCode}),B&&V.push({value:"report",label:"Open Report",url:B,Icon:IconFileAnalytics}),V},[A,B,f]);useEffect(()=>{!_&&I.length>0&&P(I[0].value);},[I,_]);let F=useMemo(()=>I.find(V=>V.value===_)||null,[I,_]),M=useCallback(()=>{F?.url&&window.open(F.url,"_blank","noopener,noreferrer");},[F]),N=useCallback(V=>{P(V);},[]),j=V=>{s.setSearchParam("locale",V),a(Z.readMember({mode:"content_ids",variant:l.map(z=>z.variant_id),content_ids:l.map(z=>z.content_id),locale:V,output:"full"})).then(({results:z})=>{a(Z.setCurrentLocale(V)),z&&z.length===b.length&&b.length?i({previews:z}):i({previews:[]});});},$=useCallback(async()=>{try{let V=B;await o({title:"Are you sure?",message:`Revalidate action will force to regenerate page: ${V}.`,confirmText:"Revalidate now!"}),await a(Z.revalidateUrl({target:V})).then(z=>{let q=`Revalidated page ${z.target} you will see the changes in the following minutes.`;notifications.show({autoClose:!1,color:"green",id:"revalidate-results",message:q,title:"Revalidate Results"});}).catch(z=>{notifications.show({autoClose:!1,color:"red",id:"revalidate-error",message:z.message,title:"Revalidate Error"});});}catch{console.error("Revalidate error.");}},[A,B,f]);return jsxs(Fragment,{children:[jsx(sx,{left:jsxs(Group,{children:[jsx(ActionIcon,{color:"blue",variant:"filled",onClick:()=>{r({type:"report",id:t.id}),h.handlers.open();},children:jsx(IconSettingsFilled,{size:20})}),jsx(ql,{value:g,onChange:j,selectProps:{size:"xs",maw:80}}),jsx(SegmentedControl,{size:"xs",radius:"sm",sx:V=>({background:V.colors.blue[0]}),data:[{label:"Editor",value:"editor"},{label:"Debug",value:"debug"}],onChange:V=>{V==="editor"?v.handlers.close():(S.handlers.close(),y.handlers.close(),h.handlers.close(),v.handlers.open());}})]}),center:jsxs(Group,{children:[jsx(Ef,{report:t,defaultMembers:C?.map(V=>({variantId:V.variantId,memberId:V.contentId})),locale:g}),(A||B)&&I.length>0&&jsxs(Group,{spacing:0,children:[jsx(Button,{onClick:M,disabled:!F,variant:"light",fw:700,radius:"sm",fz:12,pr:10,pl:5,mih:"1.875rem",compact:true,leftIcon:F?.Icon?jsx(F.Icon,{size:14}):null,sx:{borderTopRightRadius:0,borderBottomRightRadius:0},children:F?.label||"Select view"}),jsxs(Menu,{position:"bottom",withArrow:true,children:[jsx(Menu.Target,{children:jsx(ActionIcon,{variant:"light",radius:"sm",sx:V=>({borderTopLeftRadius:0,borderBottomLeftRadius:0,borderLeft:"1px solid #fff",backgroundColor:"#e7f5ff",minHeight:"1.875rem",height:"1.875rem",width:"1.875rem",fontSize:"12px"}),children:jsx(IconChevronDown,{size:14,color:"#228be6"})})}),jsx(Menu.Dropdown,{children:I.map(V=>{let z=V.Icon;return jsx(Menu.Item,{onClick:()=>N(V.value),icon:z?jsx(z,{size:20}):null,children:V.label},V.value)})})]})]})]}),right:jsxs(Group,{children:[l.length>0&&_!=="preview"&&jsx(Button,{variant:"light",fw:700,radius:"sm",fz:12,pr:10,pl:5,mih:"1.875rem",onClick:$,leftIcon:jsx(IconWorldUpload,{size:14}),compact:true,children:"Publish"}),!k&&jsx(Button,{size:"xs",variant:"outline",onClick:y.handlers.open,children:"Import Data"})]})}),jsx(Drawer,{opened:y.opened,onClose:y.handlers.close,title:jsx(ls,{icon:jsx(IconFileAnalytics,{size:24}),children:`Editing Report: ${u.data?u.data.name:""}`}),size:"50%",padding:"xl",position:"right",children:jsx(eT,{id:c,onClose:y.handlers.close})})]})}p();p();p();se();he();function a_({type:e,id:t,warning:o=""}){let r=Gv[e]||"Entity",n=o||`Delete this ${r} and all its contents? This action cannot be undone.`,i=useDispatch(),{newConfirmation:a}=Kt();return jsx(ActionIcon,{color:"red",onClick:async()=>{try{await a({title:"Are you sure?",message:n,confirmText:"Yes, Delete it."}),i(Z.deleteEntity(e,t));}catch{}},children:jsx(IconTrash,{size:20})})}var sT=a_;ic();p();se();p();he();p();Vr();ye();var ST=e=>!e||e.trim()===""?false:e.trim().startsWith("/")?true:Ss(e);function V_({defaultValue:e,id:t,onChangeAPI:o,onDelete:r,finalUrl:n,dataSource:i,pos:a}){let l=Io(),s=Ku(t),[c,u]=useState(()=>et(e,l,s)),[d,f]=useState(e),[g,m]=useState(false),h=A=>{g&&!R&&(A.preventDefault(),o(d),m(false));},y=A=>{let{value:B}=A.target;u(et(B,l,s)),f(B);},S=()=>{m(false),u(et(e,l,s));},v=()=>{m(!g);},C=()=>{r();},b=useMemo(()=>(c||"").indexOf("bespoke_slugs=")>-1,[c]),k=useMemo(()=>!(c&&(c.trim()===""||ST(c))),[c,ST]),w=useMemo(()=>c.includes("N/A"),[c]),R=useMemo(()=>k||w,[k,w]),O=useMemo(()=>{let A=[];return k&&A.push("Invalid URL format"),w&&A.push("URL contains 'N/A', probably you are using a variable that is not in scope"),A.join(". ")},[k,w]);return jsxs(Stack,{spacing:0,p:g?"xs":0,mb:g?3:0,bg:g?"gray.0":"transparent",children:[jsxs(Group,{noWrap:true,position:"apart",spacing:"xs",children:[jsxs(Text,{lineClamp:1,size:"xs",children:[a,". ",jsx(Anchor,{href:n||c,target:"_blank",rel:"noreferrer",children:n||c||"--Add API Url--"})]}),jsx(Group,{noWrap:true,spacing:0,children:g?jsxs(Fragment,{children:[jsx(Tooltip,{label:R?"Invalid URL format":"Apply changes",children:jsx(ActionIcon,{size:"md",onClick:h,color:"green",sx:{opacity:R?.4:1},children:jsx(IconCheck,{size:rem(20)})})}),jsx(ActionIcon,{size:"md",onClick:S,color:"red",children:jsx(IconX,{size:rem(20)})})]}):jsxs(Fragment,{children:[b&&jsx(Tooltip,{multiline:true,label:"Slugs Interceptor Enabled",children:jsx(IconGitMerge,{size:rem(18),color:"gray"})}),i&&jsx(Tooltip,{multiline:true,label:`Datasource Interceptor Enabled called "${i}"`,children:jsx(IconNetwork,{size:rem(18),color:"gray"})}),w&&jsx(Tooltip,{multiline:true,label:"API URL contains 'N/A', probably you are using a variable that is not in scope",children:jsx(IconAlertTriangle,{size:rem(20),color:"red"})}),jsx(ActionIcon,{size:"md",onClick:v,children:jsx(IconPencil,{size:rem(20)})}),jsx(ActionIcon,{size:"md",onClick:C,children:jsx(IconTrash,{color:"red"})})]})})]}),g&&jsx(Stack,{spacing:"xs",children:jsx(Textarea,{placeholder:"API URL here: https://api.example.com/v1/data?id={{id1}}",defaultValue:d,onChange:y,onKeyDown:getHotkeyHandler([["enter",h]]),size:"sm",minRows:2,maxRows:6,autosize:true,sx:{width:"100%"},error:R?`${O} ${c}`:false},"textarea")})]})}var TT=V_;p();function W_({monacoOptions:e}){let t=useMonaco();return useEffect(()=>{if(t){let o="Monokai";import(`monaco-themes/themes/${o}.json`).then(r=>{t.editor.defineTheme(o,r),t.editor.setTheme(o);}).catch(()=>{throw new Error("Invalid Monaco theme")});}},[t]),jsx(Box,{className:"cr-monaco-container",w:"100%",children:jsx(U_,{defaultLanguage:"javascript",theme:"Monokai",...e})})}var ca=W_;p();Ho();Bs();Xf();Bs();he();se();ye();bn();Vr();Ka();st();Jn();Cr();Xe();Dh();p();bn();Cr();he();Jn();function vH({status:e,block:t,variables:o}){let{settings:r,contentByLocale:n}=t,i=!!(r&&r.useProxy&&r.useProxy==="true"),a=n?.logic?.content?.api&&n.logic.content.api!==""?n.logic.content.api.split("|||").length:0,l=e&&e.apiDataSources?e.apiDataSources.some(g=>g!==false):false,s=useMemo(()=>e.apiFinalUrls?typeof e.apiFinalUrls=="string"?e.apiFinalUrls.includes("N/A")?1:0:Array.isArray(e.apiFinalUrls)?e.apiFinalUrls.filter(g=>g.includes("N/A")).length:0:0,[e.apiFinalUrls]),c=!!([E.GENERATOR,E.SECTION_FLAG].includes(t.type)&&e.api&&e.api.indexOf("bespoke_slugs=")>-1),u=mo(t),d=u?o[Eo]:false,f=[E.GENERATOR,E.SECTION_FLAG].includes(t.type)&&o?JSON.stringify(o).length/1024:void 0;return jsxs(Group,{spacing:5,children:[jsx(Tooltip,{multiline:true,label:`Number of requests: ${a}`,children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:"blue",children:jsx(Text,{size:rem(12),span:true,fw:"bold",children:a})})}),s>0&&jsx(Tooltip,{multiline:true,label:`${s} of your URLs in this generator contains 'N/A', probably you are using a variable that is not in scope`,children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:"orange",children:jsx(IconAlertTriangle,{size:rem(12)})})}),i&&jsx(Tooltip,{multiline:true,label:`Use Proxy Setting (avoid CORS): ${i?"YES":"NO"}`,children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:"blue",children:jsx(IconCloudNetwork,{size:rem(12)})})}),l&&jsx(Tooltip,{multiline:true,label:"Data Source Interceptor Active at least in one request",children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:"blue",children:jsx(IconNetwork,{size:rem(12)})})}),c&&jsx(Tooltip,{multiline:true,label:"Slugs Interceptor Enabled at least in one request",children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:"blue",children:jsx(IconGitMerge,{size:rem(12)})})}),e.duration&&jsx(Tooltip,{multiline:true,label:`Api Call Duration: ${e.duration} ms`,children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:uS(e.duration),children:jsx(IconClockHour2,{size:rem(12)})})}),e.responseSize&&jsx(Tooltip,{multiline:true,label:`Api Response Size: \u2248${e.responseSize.toFixed(2)} Kb`,children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:Nm(e.responseSize),children:jsx(IconApi,{size:rem(12)})})}),f&&jsx(Tooltip,{multiline:true,label:`Block Output Size: \u2248${f.toFixed(2)} Kb`,children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:Nm(f),children:jsx(IconAugmentedReality,{size:rem(12)})})}),u&&jsx(Tooltip,{multiline:true,label:`Section #${t.section_id} Allowed Flag: ${d?"YES":"NO"}`,children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:d?"green":"red",children:jsx(IconFlag,{size:rem(12)})})})]})}var Yp=vH;var Xp={api:null,duration:null,error:null,log:[],responseSize:null,resp:null,allowed:true};function OH({block:e,status:t,sectionFlag:o,variables:r}){let n=useMemo(()=>o?jsx(ThemeIcon,{variant:"filled",radius:"xl",size:"sm",color:"orange",children:jsx(IconFlag,{size:"0.8rem"})}):jsx(ThemeIcon,{variant:"filled",radius:"xl",size:"sm",color:"yellow",children:jsx(IconBraces,{size:"0.8rem"})}),[o]);return jsxs(Fragment,{children:[jsxs(Group,{position:"left",pt:"xl",children:[jsxs(Group,{children:[n,jsxs(Title,{order:6,children:[Bh[e.type]," ",e.id]})]}),jsx(Group,{my:"xs",children:jsx(Yp,{status:t,block:e,variables:r})})]}),jsx(Divider,{})]})}function LH(e){let{active:t,allowed:o,blockStateContent:r,blockStateSettings:n,debug:i,for:a,locale:l,isFetching:s}=e,c=ot(a.id),u=Io(),d=vn(),f=Ku(a.id,l),g=H(F=>F.variables.variables[a.id]||{}),m=H(F=>F.variables.status[a.id]||{}),h=Ms[a.type].renderPreviewOnEdit&&r?r:ko(a,l),y=Ms[a.type].renderPreviewOnEdit&&n?n:a.settings,[S,v]=useState(null),[C,b]=useState(Xp),k=mo(a),w=wr(),R=we();useEffect(()=>{(async()=>{if(a.type===E.VIZ){v({block:a,locale:l,variables:c,active:t}),b(Xp);return}if(!t&&!Ms[a.type].evalWhenNonActive){let{nonActiveAdapter:z}=Ms[a.type],q=z&&typeof z=="function"?z():{};v(q),b(Xp);return}if([E.GENERATOR,E.SECTION_FLAG].includes(a.type)){let z=!!a.contentByLocale?.logic?.content?.api,q=k?g[Eo]:false;v({outputVariables:g,hasAPI:z,sectionAllowed:q,type:a.type}),b(m);return}if([E.SELECTOR,E.MULTIHIERARCHY_SELECTOR].includes(a.type)){let{renderVariables:z,status:q}=await Ll(a,u,f,w,d,R),W=sr[a.type]&&typeof sr[a.type]=="function"?sr[a.type](z,a.id):z;v(W),b(q);return}if(a.type===E.RELATED){let{outputVariables:z}=await Ll(a,u,f,w,d,R),{related_reports:q}=z;v({related_reports:q});return}if(a.type===E.RESET_BUTTON||a.type===E.COMPARISON_BUTTON){v(h.simple||{});return}let M=et(h?.logic,u,f),{vars:N,error:j,log:$}=Fr("variables",c,M,u,void 0,f),V=sr[a.type]&&typeof sr[a.type]=="function"?sr[a.type](N,a.id):N;if(a.type===E.NAV){v({headings:a.inputs,settings:a.settings,...V});return}v(V),b({...Xp,error:j,log:$});})();},[h,c,k]),useEffect(()=>{m&&m.error&&m.error!==""&¬ifications.show({autoClose:1e4,color:"red",id:"block-error",message:m.error,title:`Block error ID: ${a.id}`});},[m.error]);let O=kt[a.type],B=jsx("div",{style:{...{width:"100%",height:"100%",position:"absolute",top:0,left:0,opacity:.9,zIndex:4,pointerEvents:"none"},backgroundColor:"pink"},children:jsx(Center,{h:"100%",children:jsx(Text,{size:"sm",tt:"capitalize",italic:true,children:m.hiddenByCascade===a.id?`${a.type} not allowed`:`${a.type} hidden by block ${m.hiddenByCascade}`})})});if(s)return jsx(Center,{style:{minHeight:100},w:"100%",children:jsx(Loader,{})});if(!S)return null;let{error:_,log:P}=C,I=P?P.join(`
|
|
52
|
-
`):"";return jsxs("div",{id:`bespoke-${a.type}-${a.id}`,className:"cms-block-preview bespoke-block-area",style:{width:"100%",minHeight:a.type===E.VIZ?400:"auto"},children:[!o&&B,[E.GENERATOR,E.SECTION_FLAG].includes(a.type)&&jsx(OH,{block:a,status:C,sectionFlag:k,variables:S}),O?jsx(Fragment$2,{children:jsx(O,{id:a.id,debug:i,section:a.section_id,...S,settings:y,status:C})},"renderer"):jsx(Center,{style:{minHeight:100},children:jsx(Badge,{color:"gray",variant:"outline",children:a.type},"type")}),i&&I&&jsx(Textarea,{label:"Console",minRows:3,readOnly:true,autosize:true,maxRows:10,value:I,error:_}),i&&_&&jsx(Textarea,{label:"Error",readOnly:true,autosize:true,minRows:3,maxRows:10,value:_})]})}var Jp=Yt(LH,tt);p();he();se();ye();Up();function $H({id:e,setBlockSettings:t}){let{newConfirmation:o}=Kt(),r=ie(),n=tt(e).data,[i,a]=useState(n.settings[_t.ACCESS]||["public"]),[l,s]=useState(n.settings[_t.FALLBACK]||false),c=ot(e),u=useMemo(()=>[{value:"always",label:"always",group:"Static"},{value:"never",label:"never",group:"Static"}].concat(Object.keys(c).map(k=>({value:k,label:`${k}: ${c[k]}`,group:"Based on variable"}))),[c]),d=[{label:"Section-wide",value:"false"},{label:"Report-wide",value:"true"}];useEffect(()=>{t({[_t.ACCESS]:i}),i.includes("public")&&s(false);},[i]),useEffect(()=>{t({[_t.FALLBACK]:l});},[l]);let f=async()=>{try{await o({title:"Are you sure?",message:"Delete this block and all its contents? This action cannot be undone.",confirmText:"Yes, Delete it."}),r(Z.deleteEntity("block",e));}catch{}},g=(k,w)=>{t({[k]:w});},m=k=>{let w=`return variables.${k}`;k==="always"&&(w="return true;"),k==="never"&&(w="return false;"),t({[_t.ALLOWED]:k,[_t.ALLOWED_LOGIC]:w});},h=k=>{t({[_t.IGNORE_CASCADE]:k});},y=H(k=>k.records.entities.block),S=n.consumers.filter(k=>y[k].section_id!==n.section_id),v=!!S.length,C=S.slice(0,3).map((k,w)=>jsxs(Fragment,{children:[w===S.length-1&&S.length>1?"and ":"",jsx("strong",{children:`${y[k].type} ${k} [Section ${y[k].section_id}]`},k),w<S.length-1&&S.length>1?", ":""]})),b=n.inputs.map(k=>({label:`${y[k]?.type} - ${y[k]?.id}`,value:k}));return jsx(Group,{grow:true,align:"flex-start",children:jsxs(Stack,{justify:"flex-start",children:[jsx(Title,{order:4,children:"Visibility"}),jsx(Select,{label:"Show",description:"Set visibility setting for this block. A hidden block will not run or export variables to its consumers. As a result, all its consumers will be hidden too.",defaultValue:n.settings[_t.ALLOWED]||"always",onChange:m,data:u}),[E.GENERATOR,E.VIZ,E.SECTION_FLAG].includes(n.type)&&jsx(MultiSelect,{label:"Ignore cascade",description:"Set block as visible even if the selected inputs are hidden.",defaultValue:n.settings[_t.IGNORE_CASCADE]||[],data:b,onChange:h}),jsx(va,{value:i,onChange:a}),jsx(Checkbox,{checked:l,disabled:i.includes("public"),label:"Show fallback block when block is not allowed",onChange:k=>s(k.currentTarget.checked)}),jsx(Title,{order:4,children:"Output"}),v&&n.shared&&jsxs(Text,{size:"xs",color:"red.4",sx:{display:"flex",alignItems:"flex-start",gap:"0.4rem"},children:[jsx(IconAlertCircle,{size:"1.2rem"}),jsxs(Text,{color:"black",span:true,inherit:true,children:["This block is being consumed by ",C,S.length>3&&" and others",". Please, make sure you remove this block dependencies before changing this setting."]})]}),jsx(Select,{label:"Block scope",description:"Select the scope for the variables exported by this block. Section-wide (available only to blocks in the same section) or Report-wide (available to any block inside the report).",defaultValue:String(n.shared),disabled:v&&n.shared,onChange:k=>g("shared",k==="true"),data:d}),jsx(Title,{order:4,children:"Danger zone"}),jsx(Button,{variant:"outline",color:"red",onClick:f,children:"Delete Block"})]})})}var $w=$H;p();ys();se();Pt();ye();he();var Vh={Consumer:jsx(ThemeIcon,{size:"xs",radius:"xl",color:"red",variant:"light",children:jsx(IconLogout,{})}),Input:jsx(ThemeIcon,{size:"xs",radius:"xl",color:"green",children:jsx(IconCircleCheck,{})}),None:jsx(ThemeIcon,{size:"xs",radius:"xl",color:"gray",children:jsx(IconCirclePlus,{})})};function o2({id:e}){let t=ie(),o=useContext(De),r=At(o),[n,i]=useState(""),[a]=useDebouncedValue(n,200),l=H(y=>{if(y.records.reports&&y.records.reports[0]){let S=y.records.reports[0],v=y.records.entities.report[S].sections;return Object.values(y.records.entities.block).filter(C=>v.includes(C.section_id))}return []}),s=tt(e).data,c=H(y=>y.variables.variables),u=useMemo(()=>s?s.inputs.reduce((y,S)=>({...y,[S]:l[S]}),{}):[],[s]),d=(y,S)=>{if(!s)return 0;let v=s.inputs.includes(y.id),C=s.inputs.includes(S.id);if(v!==C)return v?1:-1;let b=Object.keys(c[y.id]||{}).length,k=Object.keys(c[S.id]||{}).length;return b!==k?k-b:y.shared?1:-1},f=useMemo(()=>l.filter(y=>y.id!==s.id&&(y.section_id===s.section_id||y.shared)&&y.type!==E.SECTION_FLAG).sort(d),[l]),g=useMemo(()=>f.filter(y=>{let S=String(y.id).includes(a.trim()),v=Object.keys(c[y.id]||{}).some(C=>C.includes(a.trim()));return S||v}),[f,a,c]),m=y=>{let S=u[y]?"delete":"create";t(Z.updateEntity("block",{id:e,inputAction:{operation:S,input:{input_id:y,block_id:e}}})).then(()=>{r();});};if(!s)return null;let h=y=>s.consumers.includes(y)?Vh.Consumer:s.inputs.includes(y)?Vh.Input:Vh.None;return jsxs(Menu,{width:"425px",children:[jsx(Menu.Target,{children:jsx(Button,{fullWidth:true,sx:{marginBottom:"15px"},leftIcon:jsx(IconLogin,{size:"1rem",style:{transform:"scaleX(-1)"}}),children:"Add New Input"})}),jsxs(Menu.Dropdown,{children:[jsx(TextInput,{placeholder:"Search by variable name or block id.",size:"xs",value:n,onChange:y=>i(y.target.value)}),g.map(({id:y,shared:S})=>jsx(Menu.Item,{disabled:s.consumers.includes(y),onClick:()=>m(y),icon:h(y),rightSection:jsxs(Stack,{ml:"xs",spacing:"xs",align:"flex-end",children:[jsxs(Text,{size:"xs",color:"gray.6",children:["[",y,"]"]}),S?jsx(ThemeIcon,{size:"xs",radius:"xl",children:jsx(IconGlobe,{})}):null]}),children:jsx(Box,{style:{maxWidth:"400px"},children:jsx(Ar,{id:`${y}`,variables:c[y]})})},y))]})]})}var Uw=o2;rp();p();ye();he();p();he();p();p();var $h=e=>`
|
|
53
|
-
`.padEnd(e*2+1," "),Gw=(e,t=0)=>{let o=e instanceof Array;return `${o?"[":"{"}${$h(t+1)}${Object.keys(e).sort((r,n)=>r.localeCompare(n)).map(r=>{let n=o?"":`${r}: `,i=e[r];return typeof i=="object"?n+=`${Gw(i,t+1)}`:typeof i=="string"&&(i.includes("=>")||i.startsWith("variables["))?n+=`${i}`:typeof i=="string"&&!i.length?n+="false":i===void 0?n=null:["boolean","number"].includes(typeof i)?n+=i:n+=`"${i}"`,n}).filter(r=>r!==null).join(`,${$h(t+1)}`)}${$h(t)}${o?"]":"}"}`},Us=Gw;ye();p();Wr();p();var Hw=e=>{if(!e)return e;let t=Array.isArray(e)?[]:{};return Object.keys(e).forEach(o=>{t[o]=typeof e[o]=="object"?Hw(e[o]):e[o];}),t},od=Hw;p();var r2=(e,t=false)=>{let o=/([A-z0-9]*)\{\{([^}]+)\}\}/g,r=(a,l,s)=>l?`\${formatters.${l}(variables.${s})}`:`\${variables.${s}}`,n=a=>typeof a=="string"?a.trim()===""?false:t?a.replace(o,r):a:Array.isArray(a)?a.map(l=>n(l)):typeof a=="object"&&a!==null?Object.keys(a).sort((l,s)=>l.localeCompare(s)).reduce((l,s)=>({...l,[s]:n(a[s])}),{}):typeof a=="boolean"||typeof a=="number"?a:JSON.stringify(a),i=n(e);return Array.isArray(e)?`return ${JSON.stringify(i)};`:Object.keys(i).sort((a,l)=>a.localeCompare(l)).reduce((a,l)=>{let s;return typeof i[l]=="string"?i[l].includes("=>")||i[l].startsWith("variables[")?s=i[l]:s=`\`${i[l]}\``:typeof i[l]=="boolean"||typeof i[l]=="number"?s=i[l]:s=JSON.stringify(i[l]),a.concat(`"${l}": ${s},
|
|
54
|
-
`)},"return {").concat("};")},on=r2;p();p();p();function Qw(e){let{state:t,transaction:o}=e,{selection:r}=o,{doc:n}=o,{storedMarks:i}=o;return {...t,apply:t.apply.bind(t),applyTransaction:t.applyTransaction.bind(t),plugins:t.plugins,schema:t.schema,reconfigure:t.reconfigure.bind(t),toJSON:t.toJSON.bind(t),get storedMarks(){return i},get selection(){return r},get doc(){return n},get tr(){return r=o.selection,n=o.doc,i=o.storedMarks,o}}}var Wh=class{constructor(t){this.editor=t.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=t.state;}get hasCustomState(){return !!this.customState}get state(){return this.customState||this.editor.state}get commands(){let{rawCommands:t,editor:o,state:r}=this,{view:n}=o,{tr:i}=r,a=this.buildProps(i);return Object.fromEntries(Object.entries(t).map(([l,s])=>[l,(...u)=>{let d=s(...u)(a);return !i.getMeta("preventDispatch")&&!this.hasCustomState&&n.dispatch(i),d}]))}get chain(){return ()=>this.createChain()}get can(){return ()=>this.createCan()}createChain(t,o=true){let{rawCommands:r,editor:n,state:i}=this,{view:a}=n,l=[],s=!!t,c=t||i.tr,u=()=>(!s&&o&&!c.getMeta("preventDispatch")&&!this.hasCustomState&&a.dispatch(c),l.every(f=>f===true)),d={...Object.fromEntries(Object.entries(r).map(([f,g])=>[f,(...h)=>{let y=this.buildProps(c,o),S=g(...h)(y);return l.push(S),d}])),run:u};return d}createCan(t){let{rawCommands:o,state:r}=this,n=false,i=t||r.tr,a=this.buildProps(i,n);return {...Object.fromEntries(Object.entries(o).map(([s,c])=>[s,(...u)=>c(...u)({...a,dispatch:void 0})])),chain:()=>this.createChain(i,n)}}buildProps(t,o=true){let{rawCommands:r,editor:n,state:i}=this,{view:a}=n,l={tr:t,editor:n,view:a,state:Qw({state:i,transaction:t}),dispatch:o?()=>{}:void 0,chain:()=>this.createChain(t,o),can:()=>this.createCan(t),get commands(){return Object.fromEntries(Object.entries(r).map(([s,c])=>[s,(...u)=>c(...u)(l)]))}};return l}};function vo(e,t,o){return e.config[t]===void 0&&e.parent?vo(e.parent,t,o):typeof e.config[t]=="function"?e.config[t].bind({...o,parent:e.parent?vo(e.parent,t,o):null}):e.config[t]}function P2(e){let t=e.filter(n=>n.type==="extension"),o=e.filter(n=>n.type==="node"),r=e.filter(n=>n.type==="mark");return {baseExtensions:t,nodeExtensions:o,markExtensions:r}}function lo(e,t){if(typeof e=="string"){if(!t.nodes[e])throw Error(`There is no node type named '${e}'. Maybe you forgot to add the extension?`);return t.nodes[e]}return e}function Zw(...e){return e.filter(t=>!!t).reduce((t,o)=>{let r={...t};return Object.entries(o).forEach(([n,i])=>{if(!r[n]){r[n]=i;return}if(n==="class"){let l=i?i.split(" "):[],s=r[n]?r[n].split(" "):[],c=l.filter(u=>!s.includes(u));r[n]=[...s,...c].join(" ");}else if(n==="style"){let l=i?i.split(";").map(u=>u.trim()).filter(Boolean):[],s=r[n]?r[n].split(";").map(u=>u.trim()).filter(Boolean):[],c=new Map;s.forEach(u=>{let[d,f]=u.split(":").map(g=>g.trim());c.set(d,f);}),l.forEach(u=>{let[d,f]=u.split(":").map(g=>g.trim());c.set(d,f);}),r[n]=Array.from(c.entries()).map(([u,d])=>`${u}: ${d}`).join("; ");}else r[n]=i;}),r},{})}function O2(e){return typeof e=="function"}function so(e,t=void 0,...o){return O2(e)?t?e.bind(t)(...o):e(...o):e}function L2(e){return Object.prototype.toString.call(e)==="[object RegExp]"}var ld=class{constructor(t){this.find=t.find,this.handler=t.handler;}};var jh=class{constructor(t){this.find=t.find,this.handler=t.handler;}};function M2(e){return Object.prototype.toString.call(e).slice(8,-1)}function rd(e){return M2(e)!=="Object"?false:e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype}function md(e,t){let o={...e};return rd(e)&&rd(t)&&Object.keys(t).forEach(r=>{rd(t[r])&&rd(e[r])?o[r]=md(e[r],t[r]):o[r]=t[r];}),o}var nn=class e{constructor(t={}){this.type="extension",this.name="extension",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=so(vo(this,"addOptions",{name:this.name}))),this.storage=so(vo(this,"addStorage",{name:this.name,options:this.options}))||{};}static create(t={}){return new e(t)}configure(t={}){let o=this.extend({...this.config,addOptions:()=>md(this.options,t)});return o.name=this.name,o.parent=this.parent,o}extend(t={}){let o=new e({...this.config,...t});return o.parent=this,this.child=o,o.name=t.name?t.name:o.parent.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${o.name}".`),o.options=so(vo(o,"addOptions",{name:o.name})),o.storage=so(vo(o,"addStorage",{name:o.name,options:o.options})),o}};function B2(e,t,o){let{from:r,to:n}=t,{blockSeparator:i=`
|
|
55
|
-
|
|
56
|
-
`,textSerializers:a={}}=o||{},l="";return e.nodesBetween(r,n,(s,c,u,d)=>{var f;s.isBlock&&c>r&&(l+=i);let g=a?.[s.type.name];if(g)return u&&(l+=g({node:s,pos:c,parent:u,index:d,range:t})),false;s.isText&&(l+=(f=s?.text)===null||f===void 0?void 0:f.slice(Math.max(r,c)-c,n-c));}),l}function D2(e){return Object.fromEntries(Object.entries(e.nodes).filter(([,t])=>t.spec.toText).map(([t,o])=>[t,o.spec.toText]))}nn.create({name:"clipboardTextSerializer",addOptions(){return {blockSeparator:void 0}},addProseMirrorPlugins(){return [new Plugin({key:new PluginKey("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{let{editor:e}=this,{state:t,schema:o}=e,{doc:r,selection:n}=t,{ranges:i}=n,a=Math.min(...i.map(u=>u.$from.pos)),l=Math.max(...i.map(u=>u.$to.pos)),s=D2(o);return B2(r,{from:a,to:l},{...this.options.blockSeparator!==void 0?{blockSeparator:this.options.blockSeparator}:{},textSerializers:s})}}})]}});var _2=()=>({editor:e,view:t})=>(requestAnimationFrame(()=>{var o;e.isDestroyed||(t.dom.blur(),(o=window?.getSelection())===null||o===void 0||o.removeAllRanges());}),true),N2=(e=false)=>({commands:t})=>t.setContent("",e),z2=()=>({state:e,tr:t,dispatch:o})=>{let{selection:r}=t,{ranges:n}=r;return o&&n.forEach(({$from:i,$to:a})=>{e.doc.nodesBetween(i.pos,a.pos,(l,s)=>{if(l.type.isText)return;let{doc:c,mapping:u}=t,d=c.resolve(u.map(s)),f=c.resolve(u.map(s+l.nodeSize)),g=d.blockRange(f);if(!g)return;let m=liftTarget(g);if(l.type.isTextblock){let{defaultType:h}=d.parent.contentMatchAt(d.index());t.setNodeMarkup(g.start,h);}(m||m===0)&&t.lift(g,m);});}),true},F2=e=>t=>e(t),V2=()=>({state:e,dispatch:t})=>createParagraphNear(e,t),$2=(e,t)=>({editor:o,tr:r})=>{let{state:n}=o,i=n.doc.slice(e.from,e.to);r.deleteRange(e.from,e.to);let a=r.mapping.map(t);return r.insert(a,i.content),r.setSelection(new TextSelection(r.doc.resolve(a-1))),true},U2=()=>({tr:e,dispatch:t})=>{let{selection:o}=e,r=o.$anchor.node();if(r.content.size>0)return false;let n=e.selection.$anchor;for(let i=n.depth;i>0;i-=1)if(n.node(i).type===r.type){if(t){let l=n.before(i),s=n.after(i);e.delete(l,s).scrollIntoView();}return true}return false},G2=e=>({tr:t,state:o,dispatch:r})=>{let n=lo(e,o.schema),i=t.selection.$anchor;for(let a=i.depth;a>0;a-=1)if(i.node(a).type===n){if(r){let s=i.before(a),c=i.after(a);t.delete(s,c).scrollIntoView();}return true}return false},H2=e=>({tr:t,dispatch:o})=>{let{from:r,to:n}=e;return o&&t.delete(r,n),true},W2=()=>({state:e,dispatch:t})=>deleteSelection(e,t),j2=()=>({commands:e})=>e.keyboardShortcut("Enter"),K2=()=>({state:e,dispatch:t})=>exitCode(e,t);function cd(e,t,o={strict:true}){let r=Object.keys(t);return r.length?r.every(n=>o.strict?t[n]===e[n]:L2(t[n])?t[n].test(e[n]):t[n]===e[n]):true}function Kh(e,t,o={}){return e.find(r=>r.type===t&&cd(r.attrs,o))}function q2(e,t,o={}){return !!Kh(e,t,o)}function qh(e,t,o={}){if(!e||!t)return;let r=e.parent.childAfter(e.parentOffset);if(e.parentOffset===r.offset&&r.offset!==0&&(r=e.parent.childBefore(e.parentOffset)),!r.node)return;let n=Kh([...r.node.marks],t,o);if(!n)return;let i=r.index,a=e.start()+r.offset,l=i+1,s=a+r.node.nodeSize;for(Kh([...r.node.marks],t,o);i>0&&n.isInSet(e.parent.child(i-1).marks);)i-=1,a-=e.parent.child(i).nodeSize;for(;l<e.parent.childCount&&q2([...e.parent.child(l).marks],t,o);)s+=e.parent.child(l).nodeSize,l+=1;return {from:a,to:s}}function hi(e,t){if(typeof e=="string"){if(!t.marks[e])throw Error(`There is no mark type named '${e}'. Maybe you forgot to add the extension?`);return t.marks[e]}return e}var Y2=(e,t={})=>({tr:o,state:r,dispatch:n})=>{let i=hi(e,r.schema),{doc:a,selection:l}=o,{$from:s,from:c,to:u}=l;if(n){let d=qh(s,i,t);if(d&&d.from<=c&&d.to>=u){let f=TextSelection.create(a,d.from,d.to);o.setSelection(f);}}return true},X2=e=>t=>{let o=typeof e=="function"?e(t):e;for(let r=0;r<o.length;r+=1)if(o[r](t))return true;return false};function eR(e){return e instanceof TextSelection}function xa(e=0,t=0,o=0){return Math.min(Math.max(e,t),o)}function J2(e,t=null){if(!t)return null;let o=Selection.atStart(e),r=Selection.atEnd(e);if(t==="start"||t===true)return o;if(t==="end")return r;let n=o.from,i=r.to;return t==="all"?TextSelection.create(e,xa(0,n,i),xa(e.content.size,n,i)):TextSelection.create(e,xa(t,n,i),xa(t,n,i))}function Yh(){return ["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}var Q2=(e=null,t={})=>({editor:o,view:r,tr:n,dispatch:i})=>{t={scrollIntoView:true,...t};let a=()=>{Yh()&&r.dom.focus(),requestAnimationFrame(()=>{o.isDestroyed||(r.focus(),t?.scrollIntoView&&o.commands.scrollIntoView());});};if(r.hasFocus()&&e===null||e===false)return true;if(i&&e===null&&!eR(o.state.selection))return a(),true;let l=J2(n.doc,e)||o.state.selection,s=o.state.selection.eq(l);return i&&(s||n.setSelection(l),s&&n.storedMarks&&n.setStoredMarks(n.storedMarks),a()),true},Z2=(e,t)=>o=>e.every((r,n)=>t(r,{...o,index:n})),eW=(e,t)=>({tr:o,commands:r})=>r.insertContentAt({from:o.selection.from,to:o.selection.to},e,t),tR=e=>{let t=e.childNodes;for(let o=t.length-1;o>=0;o-=1){let r=t[o];r.nodeType===3&&r.nodeValue&&/^(\n\s\s|\n)$/.test(r.nodeValue)?e.removeChild(r):r.nodeType===1&&tR(r);}return e};function nd(e){let t=`<body>${e}</body>`,o=new window.DOMParser().parseFromString(t,"text/html").body;return tR(o)}function ud(e,t,o){o={slice:true,parseOptions:{},...o};let r=typeof e=="object"&&e!==null,n=typeof e=="string";if(r)try{if(Array.isArray(e)&&e.length>0)return Fragment$1.fromArray(e.map(l=>t.nodeFromJSON(l)));let a=t.nodeFromJSON(e);return o.errorOnInvalidContent&&a.check(),a}catch(i){if(o.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:i});return console.warn("[tiptap warn]: Invalid content.","Passed value:",e,"Error:",i),ud("",t,o)}if(n){if(o.errorOnInvalidContent){let a=false,l="",s=new Schema({topNode:t.spec.topNode,marks:t.spec.marks,nodes:t.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:c=>(a=true,l=typeof c=="string"?c:c.outerHTML,null)}]}})});if(o.slice?DOMParser.fromSchema(s).parseSlice(nd(e),o.parseOptions):DOMParser.fromSchema(s).parse(nd(e),o.parseOptions),o.errorOnInvalidContent&&a)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${l}`)})}let i=DOMParser.fromSchema(t);return o.slice?i.parseSlice(nd(e),o.parseOptions).content:i.parse(nd(e),o.parseOptions)}return ud("",t,o)}function tW(e,t,o){let r=e.steps.length-1;if(r<t)return;let n=e.steps[r];if(!(n instanceof ReplaceStep||n instanceof ReplaceAroundStep))return;let i=e.mapping.maps[r],a=0;i.forEach((l,s,c,u)=>{a===0&&(a=u);}),e.setSelection(Selection.near(e.doc.resolve(a),o));}var oW=e=>!("type"in e),rW=(e,t,o)=>({tr:r,dispatch:n,editor:i})=>{var a;if(n){o={parseOptions:{},updateSelection:true,applyInputRules:false,applyPasteRules:false,...o};let l;try{l=ud(t,i.schema,{parseOptions:{preserveWhitespace:"full",...o.parseOptions},errorOnInvalidContent:(a=o.errorOnInvalidContent)!==null&&a!==void 0?a:i.options.enableContentCheck});}catch(m){return i.emit("contentError",{editor:i,error:m,disableCollaboration:()=>{console.error("[tiptap error]: Unable to disable collaboration at this point in time");}}),false}let{from:s,to:c}=typeof e=="number"?{from:e,to:e}:{from:e.from,to:e.to},u=true,d=true;if((oW(l)?l:[l]).forEach(m=>{m.check(),u=u?m.isText&&m.marks.length===0:false,d=d?m.isBlock:false;}),s===c&&d){let{parent:m}=r.doc.resolve(s);m.isTextblock&&!m.type.spec.code&&!m.childCount&&(s-=1,c+=1);}let g;u?(Array.isArray(t)?g=t.map(m=>m.text||"").join(""):typeof t=="object"&&t&&t.text?g=t.text:g=t,r.insertText(g,s,c)):(g=l,r.replaceWith(s,c,g)),o.updateSelection&&tW(r,r.steps.length-1,-1),o.applyInputRules&&r.setMeta("applyInputRules",{from:s,text:g}),o.applyPasteRules&&r.setMeta("applyPasteRules",{from:s,text:g});}return true},nW=()=>({state:e,dispatch:t})=>joinUp(e,t),iW=()=>({state:e,dispatch:t})=>joinDown(e,t),aW=()=>({state:e,dispatch:t})=>joinBackward(e,t),sW=()=>({state:e,dispatch:t})=>joinForward(e,t),lW=()=>({state:e,dispatch:t,tr:o})=>{try{let r=joinPoint(e.doc,e.selection.$from.pos,-1);return r==null?!1:(o.join(r,2),t&&t(o),!0)}catch{return false}},cW=()=>({state:e,dispatch:t,tr:o})=>{try{let r=joinPoint(e.doc,e.selection.$from.pos,1);return r==null?!1:(o.join(r,2),t&&t(o),!0)}catch{return false}},uW=()=>({state:e,dispatch:t})=>joinTextblockBackward(e,t),pW=()=>({state:e,dispatch:t})=>joinTextblockForward(e,t);function oR(){return typeof navigator<"u"?/Mac/.test(navigator.platform):false}function dW(e){let t=e.split(/-(?!$)/),o=t[t.length-1];o==="Space"&&(o=" ");let r,n,i,a;for(let l=0;l<t.length-1;l+=1){let s=t[l];if(/^(cmd|meta|m)$/i.test(s))a=true;else if(/^a(lt)?$/i.test(s))r=true;else if(/^(c|ctrl|control)$/i.test(s))n=true;else if(/^s(hift)?$/i.test(s))i=true;else if(/^mod$/i.test(s))Yh()||oR()?a=true:n=true;else throw new Error(`Unrecognized modifier name: ${s}`)}return r&&(o=`Alt-${o}`),n&&(o=`Ctrl-${o}`),a&&(o=`Meta-${o}`),i&&(o=`Shift-${o}`),o}var mW=e=>({editor:t,view:o,tr:r,dispatch:n})=>{let i=dW(e).split(/-(?!$)/),a=i.find(c=>!["Alt","Ctrl","Meta","Shift"].includes(c)),l=new KeyboardEvent("keydown",{key:a==="Space"?" ":a,altKey:i.includes("Alt"),ctrlKey:i.includes("Ctrl"),metaKey:i.includes("Meta"),shiftKey:i.includes("Shift"),bubbles:true,cancelable:true}),s=t.captureTransaction(()=>{o.someProp("handleKeyDown",c=>c(o,l));});return s?.steps.forEach(c=>{let u=c.map(r.mapping);u&&n&&r.maybeStep(u);}),true};function Xh(e,t,o={}){let{from:r,to:n,empty:i}=e.selection,a=t?lo(t,e.schema):null,l=[];e.doc.nodesBetween(r,n,(d,f)=>{if(d.isText)return;let g=Math.max(r,f),m=Math.min(n,f+d.nodeSize);l.push({node:d,from:g,to:m});});let s=n-r,c=l.filter(d=>a?a.name===d.node.type.name:true).filter(d=>cd(d.node.attrs,o,{strict:false}));return i?!!c.length:c.reduce((d,f)=>d+f.to-f.from,0)>=s}var fW=(e,t={})=>({state:o,dispatch:r})=>{let n=lo(e,o.schema);return Xh(o,n,t)?lift(o,r):false},gW=()=>({state:e,dispatch:t})=>liftEmptyBlock(e,t),hW=e=>({state:t,dispatch:o})=>{let r=lo(e,t.schema);return liftListItem(r)(t,o)},bW=()=>({state:e,dispatch:t})=>newlineInCode(e,t);function rR(e,t){return t.nodes[e]?"node":t.marks[e]?"mark":null}function jw(e,t){let o=typeof t=="string"?[t]:t;return Object.keys(e).reduce((r,n)=>(o.includes(n)||(r[n]=e[n]),r),{})}var yW=(e,t)=>({tr:o,state:r,dispatch:n})=>{let i=null,a=null,l=rR(typeof e=="string"?e:e.name,r.schema);return l?(l==="node"&&(i=lo(e,r.schema)),l==="mark"&&(a=hi(e,r.schema)),n&&o.selection.ranges.forEach(s=>{r.doc.nodesBetween(s.$from.pos,s.$to.pos,(c,u)=>{i&&i===c.type&&o.setNodeMarkup(u,void 0,jw(c.attrs,t)),a&&c.marks.length&&c.marks.forEach(d=>{a===d.type&&o.addMark(u,u+c.nodeSize,a.create(jw(d.attrs,t)));});});}),true):false},vW=()=>({tr:e,dispatch:t})=>(t&&e.scrollIntoView(),true),SW=()=>({tr:e,commands:t})=>t.setTextSelection({from:0,to:e.doc.content.size}),xW=()=>({state:e,dispatch:t})=>selectNodeBackward(e,t),TW=()=>({state:e,dispatch:t})=>selectNodeForward(e,t),CW=()=>({state:e,dispatch:t})=>selectParentNode(e,t),kW=()=>({state:e,dispatch:t})=>selectTextblockEnd(e,t),EW=()=>({state:e,dispatch:t})=>selectTextblockStart(e,t);function wW(e,t,o={},r={}){return ud(e,t,{slice:false,parseOptions:o,errorOnInvalidContent:r.errorOnInvalidContent})}var RW=(e,t=false,o={},r={})=>({editor:n,tr:i,dispatch:a,commands:l})=>{var s,c;let{doc:u}=i;if(o.preserveWhitespace!=="full"){let d=wW(e,n.schema,o,{errorOnInvalidContent:(s=r.errorOnInvalidContent)!==null&&s!==void 0?s:n.options.enableContentCheck});return a&&i.replaceWith(0,u.content.size,d).setMeta("preventUpdate",!t),true}return a&&i.setMeta("preventUpdate",!t),l.insertContentAt({from:0,to:u.content.size},e,{parseOptions:o,errorOnInvalidContent:(c=r.errorOnInvalidContent)!==null&&c!==void 0?c:n.options.enableContentCheck})};function IW(e,t){let o=hi(t,e.schema),{from:r,to:n,empty:i}=e.selection,a=[];i?(e.storedMarks&&a.push(...e.storedMarks),a.push(...e.selection.$head.marks())):e.doc.nodesBetween(r,n,s=>{a.push(...s.marks);});let l=a.find(s=>s.type.name===o.name);return l?{...l.attrs}:{}}function AW(e){for(let t=0;t<e.edgeCount;t+=1){let{type:o}=e.edge(t);if(o.isTextblock&&!o.hasRequiredAttrs())return o}return null}function PW(e,t){for(let o=e.depth;o>0;o-=1){let r=e.node(o);if(t(r))return {pos:o>0?e.before(o):0,start:e.start(o),depth:o,node:r}}}function Jh(e){return t=>PW(t.$from,e)}function nR(e,t,o){let r=[];return e===t?o.resolve(e).marks().forEach(n=>{let i=o.resolve(e),a=qh(i,n.type);a&&r.push({mark:n,...a});}):o.nodesBetween(e,t,(n,i)=>{!n||n?.nodeSize===void 0||r.push(...n.marks.map(a=>({from:i,to:i+n.nodeSize,mark:a})));}),r}function sd(e,t,o){return Object.fromEntries(Object.entries(o).filter(([r])=>{let n=e.find(i=>i.type===t&&i.name===r);return n?n.attribute.keepOnSplit:false}))}function OW(e,t,o={}){let{empty:r,ranges:n}=e.selection,i=t?hi(t,e.schema):null;if(r)return !!(e.storedMarks||e.selection.$from.marks()).filter(d=>i?i.name===d.type.name:true).find(d=>cd(d.attrs,o,{strict:false}));let a=0,l=[];if(n.forEach(({$from:d,$to:f})=>{let g=d.pos,m=f.pos;e.doc.nodesBetween(g,m,(h,y)=>{if(!h.isText&&!h.marks.length)return;let S=Math.max(g,y),v=Math.min(m,y+h.nodeSize),C=v-S;a+=C,l.push(...h.marks.map(b=>({mark:b,from:S,to:v})));});}),a===0)return false;let s=l.filter(d=>i?i.name===d.mark.type.name:true).filter(d=>cd(d.mark.attrs,o,{strict:false})).reduce((d,f)=>d+f.to-f.from,0),c=l.filter(d=>i?d.mark.type!==i&&d.mark.type.excludes(i):true).reduce((d,f)=>d+f.to-f.from,0);return (s>0?s+c:s)>=a}function Kw(e,t){let{nodeExtensions:o}=P2(t),r=o.find(a=>a.name===e);if(!r)return false;let n={name:r.name,options:r.options,storage:r.storage},i=so(vo(r,"group",n));return typeof i!="string"?false:i.split(" ").includes("list")}function iR(e,{checkChildren:t=true,ignoreWhitespace:o=false}={}){var r;if(o){if(e.type.name==="hardBreak")return true;if(e.isText)return /^\s*$/m.test((r=e.text)!==null&&r!==void 0?r:"")}if(e.isText)return !e.text;if(e.isAtom||e.isLeaf)return false;if(e.content.childCount===0)return true;if(t){let n=true;return e.content.forEach(i=>{n!==false&&(iR(i,{ignoreWhitespace:o,checkChildren:t})||(n=false));}),n}return false}function LW(e,t,o){var r;let{selection:n}=t,i=null;if(eR(n)&&(i=n.$cursor),i){let l=(r=e.storedMarks)!==null&&r!==void 0?r:i.marks();return !!o.isInSet(l)||!l.some(s=>s.type.excludes(o))}let{ranges:a}=n;return a.some(({$from:l,$to:s})=>{let c=l.depth===0?e.doc.inlineContent&&e.doc.type.allowsMarkType(o):false;return e.doc.nodesBetween(l.pos,s.pos,(u,d,f)=>{if(c)return false;if(u.isInline){let g=!f||f.type.allowsMarkType(o),m=!!o.isInSet(u.marks)||!u.marks.some(h=>h.type.excludes(o));c=g&&m;}return !c}),c})}var MW=(e,t={})=>({tr:o,state:r,dispatch:n})=>{let{selection:i}=o,{empty:a,ranges:l}=i,s=hi(e,r.schema);if(n)if(a){let c=IW(r,s);o.addStoredMark(s.create({...c,...t}));}else l.forEach(c=>{let u=c.$from.pos,d=c.$to.pos;r.doc.nodesBetween(u,d,(f,g)=>{let m=Math.max(g,u),h=Math.min(g+f.nodeSize,d);f.marks.find(S=>S.type===s)?f.marks.forEach(S=>{s===S.type&&o.addMark(m,h,s.create({...S.attrs,...t}));}):o.addMark(m,h,s.create(t));});});return LW(r,o,s)},BW=(e,t)=>({tr:o})=>(o.setMeta(e,t),true),DW=(e,t={})=>({state:o,dispatch:r,chain:n})=>{let i=lo(e,o.schema);return i.isTextblock?n().command(({commands:a})=>setBlockType(i,t)(o)?true:a.clearNodes()).command(({state:a})=>setBlockType(i,t)(a,r)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),false)},_W=e=>({tr:t,dispatch:o})=>{if(o){let{doc:r}=t,n=xa(e,0,r.content.size),i=NodeSelection.create(r,n);t.setSelection(i);}return true},NW=e=>({tr:t,dispatch:o})=>{if(o){let{doc:r}=t,{from:n,to:i}=typeof e=="number"?{from:e,to:e}:e,a=TextSelection.atStart(r).from,l=TextSelection.atEnd(r).to,s=xa(n,a,l),c=xa(i,a,l),u=TextSelection.create(r,s,c);t.setSelection(u);}return true},zW=e=>({state:t,dispatch:o})=>{let r=lo(e,t.schema);return sinkListItem(r)(t,o)};function qw(e,t){let o=e.storedMarks||e.selection.$to.parentOffset&&e.selection.$from.marks();if(o){let r=o.filter(n=>t?.includes(n.type.name));e.tr.ensureMarks(r);}}var FW=({keepMarks:e=true}={})=>({tr:t,state:o,dispatch:r,editor:n})=>{let{selection:i,doc:a}=t,{$from:l,$to:s}=i,c=n.extensionManager.attributes,u=sd(c,l.node().type.name,l.node().attrs);if(i instanceof NodeSelection&&i.node.isBlock)return !l.parentOffset||!canSplit(a,l.pos)?false:(r&&(e&&qw(o,n.extensionManager.splittableMarks),t.split(l.pos).scrollIntoView()),true);if(!l.parent.isBlock)return false;let d=s.parentOffset===s.parent.content.size,f=l.depth===0?void 0:AW(l.node(-1).contentMatchAt(l.indexAfter(-1))),g=d&&f?[{type:f,attrs:u}]:void 0,m=canSplit(t.doc,t.mapping.map(l.pos),1,g);if(!g&&!m&&canSplit(t.doc,t.mapping.map(l.pos),1,f?[{type:f}]:void 0)&&(m=true,g=f?[{type:f,attrs:u}]:void 0),r){if(m&&(i instanceof TextSelection&&t.deleteSelection(),t.split(t.mapping.map(l.pos),1,g),f&&!d&&!l.parentOffset&&l.parent.type!==f)){let h=t.mapping.map(l.before()),y=t.doc.resolve(h);l.node(-1).canReplaceWith(y.index(),y.index()+1,f)&&t.setNodeMarkup(t.mapping.map(l.before()),f);}e&&qw(o,n.extensionManager.splittableMarks),t.scrollIntoView();}return m},VW=(e,t={})=>({tr:o,state:r,dispatch:n,editor:i})=>{var a;let l=lo(e,r.schema),{$from:s,$to:c}=r.selection,u=r.selection.node;if(u&&u.isBlock||s.depth<2||!s.sameParent(c))return false;let d=s.node(-1);if(d.type!==l)return false;let f=i.extensionManager.attributes;if(s.parent.content.size===0&&s.node(-1).childCount===s.indexAfter(-1)){if(s.depth===2||s.node(-3).type!==l||s.index(-2)!==s.node(-2).childCount-1)return false;if(n){let S=Fragment$1.empty,v=s.index(-1)?1:s.index(-2)?2:3;for(let O=s.depth-v;O>=s.depth-3;O-=1)S=Fragment$1.from(s.node(O).copy(S));let C=s.indexAfter(-1)<s.node(-2).childCount?1:s.indexAfter(-2)<s.node(-3).childCount?2:3,b={...sd(f,s.node().type.name,s.node().attrs),...t},k=((a=l.contentMatch.defaultType)===null||a===void 0?void 0:a.createAndFill(b))||void 0;S=S.append(Fragment$1.from(l.createAndFill(null,k)||void 0));let w=s.before(s.depth-(v-1));o.replace(w,s.after(-C),new Slice(S,4-v,0));let R=-1;o.doc.nodesBetween(w,o.doc.content.size,(O,A)=>{if(R>-1)return false;O.isTextblock&&O.content.size===0&&(R=A+1);}),R>-1&&o.setSelection(TextSelection.near(o.doc.resolve(R))),o.scrollIntoView();}return true}let g=c.pos===s.end()?d.contentMatchAt(0).defaultType:null,m={...sd(f,d.type.name,d.attrs),...t},h={...sd(f,s.node().type.name,s.node().attrs),...t};o.delete(s.pos,c.pos);let y=g?[{type:l,attrs:m},{type:g,attrs:h}]:[{type:l,attrs:m}];if(!canSplit(o.doc,s.pos,2))return false;if(n){let{selection:S,storedMarks:v}=r,{splittableMarks:C}=i.extensionManager,b=v||S.$to.parentOffset&&S.$from.marks();if(o.split(s.pos,2,y).scrollIntoView(),!b||!n)return true;let k=b.filter(w=>C.includes(w.type.name));o.ensureMarks(k);}return true},Gh=(e,t)=>{let o=Jh(a=>a.type===t)(e.selection);if(!o)return true;let r=e.doc.resolve(Math.max(0,o.pos-1)).before(o.depth);if(r===void 0)return true;let n=e.doc.nodeAt(r);return o.node.type===n?.type&&canJoin(e.doc,o.pos)&&e.join(o.pos),true},Hh=(e,t)=>{let o=Jh(a=>a.type===t)(e.selection);if(!o)return true;let r=e.doc.resolve(o.start).after(o.depth);if(r===void 0)return true;let n=e.doc.nodeAt(r);return o.node.type===n?.type&&canJoin(e.doc,r)&&e.join(r),true},$W=(e,t,o,r={})=>({editor:n,tr:i,state:a,dispatch:l,chain:s,commands:c,can:u})=>{let{extensions:d,splittableMarks:f}=n.extensionManager,g=lo(e,a.schema),m=lo(t,a.schema),{selection:h,storedMarks:y}=a,{$from:S,$to:v}=h,C=S.blockRange(v),b=y||h.$to.parentOffset&&h.$from.marks();if(!C)return false;let k=Jh(w=>Kw(w.type.name,d))(h);if(C.depth>=1&&k&&C.depth-k.depth<=1){if(k.node.type===g)return c.liftListItem(m);if(Kw(k.node.type.name,d)&&g.validContent(k.node.content)&&l)return s().command(()=>(i.setNodeMarkup(k.pos,g),true)).command(()=>Gh(i,g)).command(()=>Hh(i,g)).run()}return !o||!b||!l?s().command(()=>u().wrapInList(g,r)?true:c.clearNodes()).wrapInList(g,r).command(()=>Gh(i,g)).command(()=>Hh(i,g)).run():s().command(()=>{let w=u().wrapInList(g,r),R=b.filter(O=>f.includes(O.type.name));return i.ensureMarks(R),w?true:c.clearNodes()}).wrapInList(g,r).command(()=>Gh(i,g)).command(()=>Hh(i,g)).run()},UW=(e,t={},o={})=>({state:r,commands:n})=>{let{extendEmptyMarkRange:i=false}=o,a=hi(e,r.schema);return OW(r,a,t)?n.unsetMark(a,{extendEmptyMarkRange:i}):n.setMark(a,t)},GW=(e,t,o={})=>({state:r,commands:n})=>{let i=lo(e,r.schema),a=lo(t,r.schema),l=Xh(r,i,o),s;return r.selection.$anchor.sameParent(r.selection.$head)&&(s=r.selection.$anchor.parent.attrs),l?n.setNode(a,s):n.setNode(i,{...s,...o})},HW=(e,t={})=>({state:o,commands:r})=>{let n=lo(e,o.schema);return Xh(o,n,t)?r.lift(n):r.wrapIn(n,t)},WW=()=>({state:e,dispatch:t})=>{let o=e.plugins;for(let r=0;r<o.length;r+=1){let n=o[r],i;if(n.spec.isInputRules&&(i=n.getState(e))){if(t){let a=e.tr,l=i.transform;for(let s=l.steps.length-1;s>=0;s-=1)a.step(l.steps[s].invert(l.docs[s]));if(i.text){let s=a.doc.resolve(i.from).marks();a.replaceWith(i.from,i.to,e.schema.text(i.text,s));}else a.delete(i.from,i.to);}return true}}return false},jW=()=>({tr:e,dispatch:t})=>{let{selection:o}=e,{empty:r,ranges:n}=o;return r||t&&n.forEach(i=>{e.removeMark(i.$from.pos,i.$to.pos);}),true},KW=(e,t={})=>({tr:o,state:r,dispatch:n})=>{var i;let{extendEmptyMarkRange:a=false}=t,{selection:l}=o,s=hi(e,r.schema),{$from:c,empty:u,ranges:d}=l;if(!n)return true;if(u&&a){let{from:f,to:g}=l,m=(i=c.marks().find(y=>y.type===s))===null||i===void 0?void 0:i.attrs,h=qh(c,s,m);h&&(f=h.from,g=h.to),o.removeMark(f,g,s);}else d.forEach(f=>{o.removeMark(f.$from.pos,f.$to.pos,s);});return o.removeStoredMark(s),true},qW=(e,t={})=>({tr:o,state:r,dispatch:n})=>{let i=null,a=null,l=rR(typeof e=="string"?e:e.name,r.schema);return l?(l==="node"&&(i=lo(e,r.schema)),l==="mark"&&(a=hi(e,r.schema)),n&&o.selection.ranges.forEach(s=>{let c=s.$from.pos,u=s.$to.pos;r.doc.nodesBetween(c,u,(d,f)=>{i&&i===d.type&&o.setNodeMarkup(f,void 0,{...d.attrs,...t}),a&&d.marks.length&&d.marks.forEach(g=>{if(a===g.type){let m=Math.max(f,c),h=Math.min(f+d.nodeSize,u);o.addMark(m,h,a.create({...g.attrs,...t}));}});});}),true):false},YW=(e,t={})=>({state:o,dispatch:r})=>{let n=lo(e,o.schema);return wrapIn(n,t)(o,r)},XW=(e,t={})=>({state:o,dispatch:r})=>{let n=lo(e,o.schema);return wrapInList(n,t)(o,r)},JW=Object.freeze({__proto__:null,blur:_2,clearContent:N2,clearNodes:z2,command:F2,createParagraphNear:V2,cut:$2,deleteCurrentNode:U2,deleteNode:G2,deleteRange:H2,deleteSelection:W2,enter:j2,exitCode:K2,extendMarkRange:Y2,first:X2,focus:Q2,forEach:Z2,insertContent:eW,insertContentAt:rW,joinBackward:aW,joinDown:iW,joinForward:sW,joinItemBackward:lW,joinItemForward:cW,joinTextblockBackward:uW,joinTextblockForward:pW,joinUp:nW,keyboardShortcut:mW,lift:fW,liftEmptyBlock:gW,liftListItem:hW,newlineInCode:bW,resetAttributes:yW,scrollIntoView:vW,selectAll:SW,selectNodeBackward:xW,selectNodeForward:TW,selectParentNode:CW,selectTextblockEnd:kW,selectTextblockStart:EW,setContent:RW,setMark:MW,setMeta:BW,setNode:DW,setNodeSelection:_W,setTextSelection:NW,sinkListItem:zW,splitBlock:FW,splitListItem:VW,toggleList:$W,toggleMark:UW,toggleNode:GW,toggleWrap:HW,undoInputRule:WW,unsetAllMarks:jW,unsetMark:KW,updateAttributes:qW,wrapIn:YW,wrapInList:XW});nn.create({name:"commands",addCommands(){return {...JW}}});nn.create({name:"editable",addProseMirrorPlugins(){return [new Plugin({key:new PluginKey("editable"),props:{editable:()=>this.editor.options.editable}})]}});nn.create({name:"focusEvents",addProseMirrorPlugins(){let{editor:e}=this;return [new Plugin({key:new PluginKey("focusEvents"),props:{handleDOMEvents:{focus:(t,o)=>{e.isFocused=true;let r=e.state.tr.setMeta("focus",{event:o}).setMeta("addToHistory",false);return t.dispatch(r),false},blur:(t,o)=>{e.isFocused=false;let r=e.state.tr.setMeta("blur",{event:o}).setMeta("addToHistory",false);return t.dispatch(r),false}}}})]}});nn.create({name:"keymap",addKeyboardShortcuts(){let e=()=>this.editor.commands.first(({commands:a})=>[()=>a.undoInputRule(),()=>a.command(({tr:l})=>{let{selection:s,doc:c}=l,{empty:u,$anchor:d}=s,{pos:f,parent:g}=d,m=d.parent.isTextblock&&f>0?l.doc.resolve(f-1):d,h=m.parent.type.spec.isolating,y=d.pos-d.parentOffset,S=h&&m.parent.childCount===1?y===d.pos:Selection.atStart(c).from===f;return !u||!g.type.isTextblock||g.textContent.length||!S||S&&d.parent.type.name==="paragraph"?false:a.clearNodes()}),()=>a.deleteSelection(),()=>a.joinBackward(),()=>a.selectNodeBackward()]),t=()=>this.editor.commands.first(({commands:a})=>[()=>a.deleteSelection(),()=>a.deleteCurrentNode(),()=>a.joinForward(),()=>a.selectNodeForward()]),r={Enter:()=>this.editor.commands.first(({commands:a})=>[()=>a.newlineInCode(),()=>a.createParagraphNear(),()=>a.liftEmptyBlock(),()=>a.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:e,"Mod-Backspace":e,"Shift-Backspace":e,Delete:t,"Mod-Delete":t,"Mod-a":()=>this.editor.commands.selectAll()},n={...r},i={...r,"Ctrl-h":e,"Alt-Backspace":e,"Ctrl-d":t,"Ctrl-Alt-Backspace":t,"Alt-Delete":t,"Alt-d":t,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return Yh()||oR()?i:n},addProseMirrorPlugins(){return [new Plugin({key:new PluginKey("clearDocument"),appendTransaction:(e,t,o)=>{let r=e.some(h=>h.docChanged)&&!t.doc.eq(o.doc),n=e.some(h=>h.getMeta("preventClearDocument"));if(!r||n)return;let{empty:i,from:a,to:l}=t.selection,s=Selection.atStart(t.doc).from,c=Selection.atEnd(t.doc).to;if(i||!(a===s&&l===c)||!iR(o.doc))return;let f=o.tr,g=Qw({state:o,transaction:f}),{commands:m}=new Wh({editor:this.editor,state:g});if(m.clearNodes(),!!f.steps.length)return f}})]}});nn.create({name:"tabindex",addProseMirrorPlugins(){return [new Plugin({key:new PluginKey("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}});function Qh(e){return new ld({find:e.find,handler:({state:t,range:o,match:r})=>{let n=so(e.getAttributes,void 0,r);if(n===false||n===null)return null;let{tr:i}=t,a=r[r.length-1],l=r[0];if(a){let s=l.search(/\S/),c=o.from+l.indexOf(a),u=c+a.length;if(nR(o.from,o.to,t.doc).filter(g=>g.mark.type.excluded.find(h=>h===e.type&&h!==g.mark.type)).filter(g=>g.to>c).length)return null;u<o.to&&i.delete(u,o.to),c>o.from&&i.delete(o.from+s,c);let f=o.from+s+a.length;i.addMark(o.from+s,f,e.type.create(n||{})),i.removeStoredMark(e.type);}}})}function aR(e){return new ld({find:e.find,handler:({state:t,range:o,match:r})=>{let n=so(e.getAttributes,void 0,r)||{},{tr:i}=t,a=o.from,l=o.to,s=e.type.create(n);if(r[1]){let c=r[0].lastIndexOf(r[1]),u=a+c;u>l?u=l:l=u+r[1].length;let d=r[0][r[0].length-1];i.insertText(d,a+r[0].length-1),i.replaceWith(u,l,s);}else if(r[0]){let c=e.type.isInline?a:a-1;i.insert(c,e.type.create(n)).delete(i.mapping.map(a),i.mapping.map(l));}i.scrollIntoView();}})}var pd=class e{constructor(t={}){this.type="mark",this.name="mark",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=so(vo(this,"addOptions",{name:this.name}))),this.storage=so(vo(this,"addStorage",{name:this.name,options:this.options}))||{};}static create(t={}){return new e(t)}configure(t={}){let o=this.extend({...this.config,addOptions:()=>md(this.options,t)});return o.name=this.name,o.parent=this.parent,o}extend(t={}){let o=new e(t);return o.parent=this,this.child=o,o.name=t.name?t.name:o.parent.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${o.name}".`),o.options=so(vo(o,"addOptions",{name:o.name})),o.storage=so(vo(o,"addStorage",{name:o.name,options:o.options})),o}static handleExit({editor:t,mark:o}){let{tr:r}=t.state,n=t.state.selection.$from;if(n.pos===n.end()){let a=n.marks();if(!!!a.find(c=>c?.type.name===o.name))return false;let s=a.find(c=>c?.type.name===o.name);return s&&r.removeStoredMark(s),r.insertText(" ",n.pos),t.view.dispatch(r),true}return false}},dd=class e{constructor(t={}){this.type="node",this.name="node",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=so(vo(this,"addOptions",{name:this.name}))),this.storage=so(vo(this,"addStorage",{name:this.name,options:this.options}))||{};}static create(t={}){return new e(t)}configure(t={}){let o=this.extend({...this.config,addOptions:()=>md(this.options,t)});return o.name=this.name,o.parent=this.parent,o}extend(t={}){let o=new e(t);return o.parent=this,this.child=o,o.name=t.name?t.name:o.parent.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${o.name}".`),o.options=so(vo(o,"addOptions",{name:o.name})),o.storage=so(vo(o,"addStorage",{name:o.name,options:o.options})),o}};function Zh(e){return new jh({find:e.find,handler:({state:t,range:o,match:r,pasteEvent:n})=>{let i=so(e.getAttributes,void 0,r,n);if(i===false||i===null)return null;let{tr:a}=t,l=r[r.length-1],s=r[0],c=o.to;if(l){let u=s.search(/\S/),d=o.from+s.indexOf(l),f=d+l.length;if(nR(o.from,o.to,t.doc).filter(m=>m.mark.type.excluded.find(y=>y===e.type&&y!==m.mark.type)).filter(m=>m.to>d).length)return null;f<o.to&&a.delete(f,o.to),d>o.from&&a.delete(o.from+u,d),c=o.from+u+l.length,a.addMark(o.from+u,c,e.type.create(i||{})),a.removeStoredMark(e.type);}}})}var QW=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,ZW=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,ej=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,tj=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,sR=pd.create({name:"bold",addOptions(){return {HTMLAttributes:{}}},parseHTML(){return [{tag:"strong"},{tag:"b",getAttrs:e=>e.style.fontWeight!=="normal"&&null},{style:"font-weight",getAttrs:e=>/^(bold(er)?|[5-9]\d{2,})$/.test(e)&&null}]},renderHTML({HTMLAttributes:e}){return ["strong",Zw(this.options.HTMLAttributes,e),0]},addCommands(){return {setBold:()=>({commands:e})=>e.setMark(this.name),toggleBold:()=>({commands:e})=>e.toggleMark(this.name),unsetBold:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return {"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return [Qh({find:QW,type:this.type}),Qh({find:ej,type:this.type})]},addPasteRules(){return [Zh({find:ZW,type:this.type}),Zh({find:tj,type:this.type})]}});p();var oj=/(?:^|\s)((?:\{\{)([a-zA-Z0-9]+)(?:\}\}))$/,rj=dd.create({name:"variable",group:"inline",content:"text*",marks:"_",atom:false,inline:true,selectable:true,addAttributes(){return {varName:{default:"",parseHTML:e=>e.innerText}}},addInputRules(){return [aR({find:oj,type:this.type,getAttributes:e=>({varName:e[0]})})]},renderHTML({node:e}){return ["code",{class:"bespoke-var"},e.attrs.varName.trim()]},parseHTML(){return [{tag:'code[class="bespoke-var"]'}]},toDOM(){return ["code",{class:"bespoke-var"},0]}}),lR=rj;p();var cR=nn.create({name:"VariablesStorage",addStorage(){return {suggestions:[]}}});p();p();p();p();var rt="top",wt="bottom",gt="right",ct="left",fd="auto",bi=[rt,wt,gt,ct],Ln="start",Ta="end",uR="clippingParents",gd="viewport",Hs="popper",pR="reference",eb=bi.reduce(function(e,t){return e.concat([t+"-"+Ln,t+"-"+Ta])},[]),hd=[].concat(bi,[fd]).reduce(function(e,t){return e.concat([t,t+"-"+Ln,t+"-"+Ta])},[]),nj="beforeRead",ij="read",aj="afterRead",sj="beforeMain",lj="main",cj="afterMain",uj="beforeWrite",pj="write",dj="afterWrite",dR=[nj,ij,aj,sj,lj,cj,uj,pj,dj];p();p();p();function Lt(e){return e?(e.nodeName||"").toLowerCase():null}p();p();function Ke(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function dr(e){var t=Ke(e).Element;return e instanceof t||e instanceof Element}function Rt(e){var t=Ke(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Ws(e){if(typeof ShadowRoot>"u")return false;var t=Ke(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function mj(e){var t=e.state;Object.keys(t.elements).forEach(function(o){var r=t.styles[o]||{},n=t.attributes[o]||{},i=t.elements[o];!Rt(i)||!Lt(i)||(Object.assign(i.style,r),Object.keys(n).forEach(function(a){var l=n[a];l===false?i.removeAttribute(a):i.setAttribute(a,l===true?"":l);}));});}function fj(e){var t=e.state,o={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,o.popper),t.styles=o,t.elements.arrow&&Object.assign(t.elements.arrow.style,o.arrow),function(){Object.keys(t.elements).forEach(function(r){var n=t.elements[r],i=t.attributes[r]||{},a=Object.keys(t.styles.hasOwnProperty(r)?t.styles[r]:o[r]),l=a.reduce(function(s,c){return s[c]="",s},{});!Rt(n)||!Lt(n)||(Object.assign(n.style,l),Object.keys(i).forEach(function(s){n.removeAttribute(s);}));});}}var _c={name:"applyStyles",enabled:true,phase:"write",fn:mj,effect:fj,requires:["computeStyles"]};p();p();function Mt(e){return e.split("-")[0]}p();p();p();var Br=Math.max,Ca=Math.min,Mn=Math.round;p();p();function js(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function Nc(){return !/^((?!chrome|android).)*safari/i.test(js())}function mr(e,t,o){t===void 0&&(t=false),o===void 0&&(o=false);var r=e.getBoundingClientRect(),n=1,i=1;t&&Rt(e)&&(n=e.offsetWidth>0&&Mn(r.width)/e.offsetWidth||1,i=e.offsetHeight>0&&Mn(r.height)/e.offsetHeight||1);var a=dr(e)?Ke(e):window,l=a.visualViewport,s=!Nc()&&o,c=(r.left+(s&&l?l.offsetLeft:0))/n,u=(r.top+(s&&l?l.offsetTop:0))/i,d=r.width/n,f=r.height/i;return {width:d,height:f,top:u,right:c+d,bottom:u+f,left:c,x:c,y:u}}function ka(e){var t=mr(e),o=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-o)<=1&&(o=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:o,height:r}}p();function zc(e,t){var o=t.getRootNode&&t.getRootNode();if(e.contains(t))return true;if(o&&Ws(o)){var r=t;do{if(r&&e.isSameNode(r))return true;r=r.parentNode||r.host;}while(r)}return false}p();p();function So(e){return Ke(e).getComputedStyle(e)}p();function tb(e){return ["table","td","th"].indexOf(Lt(e))>=0}p();p();function Ht(e){return ((dr(e)?e.ownerDocument:e.document)||window.document).documentElement}function Bn(e){return Lt(e)==="html"?e:e.assignedSlot||e.parentNode||(Ws(e)?e.host:null)||Ht(e)}function mR(e){return !Rt(e)||So(e).position==="fixed"?null:e.offsetParent}function gj(e){var t=/firefox/i.test(js()),o=/Trident/i.test(js());if(o&&Rt(e)){var r=So(e);if(r.position==="fixed")return null}var n=Bn(e);for(Ws(n)&&(n=n.host);Rt(n)&&["html","body"].indexOf(Lt(n))<0;){var i=So(n);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none")return n;n=n.parentNode;}return null}function Dr(e){for(var t=Ke(e),o=mR(e);o&&tb(o)&&So(o).position==="static";)o=mR(o);return o&&(Lt(o)==="html"||Lt(o)==="body"&&So(o).position==="static")?t:o||gj(e)||t}p();function Ea(e){return ["top","bottom"].indexOf(e)>=0?"x":"y"}p();function wa(e,t,o){return Br(e,Ca(t,o))}function fR(e,t,o){var r=wa(e,t,o);return r>o?o:r}p();p();function Fc(){return {top:0,right:0,bottom:0,left:0}}function Vc(e){return Object.assign({},Fc(),e)}p();function $c(e,t){return t.reduce(function(o,r){return o[r]=e,o},{})}var hj=function(t,o){return t=typeof t=="function"?t(Object.assign({},o.rects,{placement:o.placement})):t,Vc(typeof t!="number"?t:$c(t,bi))};function bj(e){var t,o=e.state,r=e.name,n=e.options,i=o.elements.arrow,a=o.modifiersData.popperOffsets,l=Mt(o.placement),s=Ea(l),c=[ct,gt].indexOf(l)>=0,u=c?"height":"width";if(!(!i||!a)){var d=hj(n.padding,o),f=ka(i),g=s==="y"?rt:ct,m=s==="y"?wt:gt,h=o.rects.reference[u]+o.rects.reference[s]-a[s]-o.rects.popper[u],y=a[s]-o.rects.reference[s],S=Dr(i),v=S?s==="y"?S.clientHeight||0:S.clientWidth||0:0,C=h/2-y/2,b=d[g],k=v-f[u]-d[m],w=v/2-f[u]/2+C,R=wa(b,w,k),O=s;o.modifiersData[r]=(t={},t[O]=R,t.centerOffset=R-w,t);}}function yj(e){var t=e.state,o=e.options,r=o.element,n=r===void 0?"[data-popper-arrow]":r;n!=null&&(typeof n=="string"&&(n=t.elements.popper.querySelector(n),!n)||zc(t.elements.popper,n)&&(t.elements.arrow=n));}var gR={name:"arrow",enabled:true,phase:"main",fn:bj,effect:yj,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};p();p();function fr(e){return e.split("-")[1]}var vj={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Sj(e,t){var o=e.x,r=e.y,n=t.devicePixelRatio||1;return {x:Mn(o*n)/n||0,y:Mn(r*n)/n||0}}function hR(e){var t,o=e.popper,r=e.popperRect,n=e.placement,i=e.variation,a=e.offsets,l=e.position,s=e.gpuAcceleration,c=e.adaptive,u=e.roundOffsets,d=e.isFixed,f=a.x,g=f===void 0?0:f,m=a.y,h=m===void 0?0:m,y=typeof u=="function"?u({x:g,y:h}):{x:g,y:h};g=y.x,h=y.y;var S=a.hasOwnProperty("x"),v=a.hasOwnProperty("y"),C=ct,b=rt,k=window;if(c){var w=Dr(o),R="clientHeight",O="clientWidth";if(w===Ke(o)&&(w=Ht(o),So(w).position!=="static"&&l==="absolute"&&(R="scrollHeight",O="scrollWidth")),w=w,n===rt||(n===ct||n===gt)&&i===Ta){b=wt;var A=d&&w===k&&k.visualViewport?k.visualViewport.height:w[R];h-=A-r.height,h*=s?1:-1;}if(n===ct||(n===rt||n===wt)&&i===Ta){C=gt;var B=d&&w===k&&k.visualViewport?k.visualViewport.width:w[O];g-=B-r.width,g*=s?1:-1;}}var _=Object.assign({position:l},c&&vj),P=u===true?Sj({x:g,y:h},Ke(o)):{x:g,y:h};if(g=P.x,h=P.y,s){var I;return Object.assign({},_,(I={},I[b]=v?"0":"",I[C]=S?"0":"",I.transform=(k.devicePixelRatio||1)<=1?"translate("+g+"px, "+h+"px)":"translate3d("+g+"px, "+h+"px, 0)",I))}return Object.assign({},_,(t={},t[b]=v?h+"px":"",t[C]=S?g+"px":"",t.transform="",t))}function xj(e){var t=e.state,o=e.options,r=o.gpuAcceleration,n=r===void 0?true:r,i=o.adaptive,a=i===void 0?true:i,l=o.roundOffsets,s=l===void 0?true:l,c={placement:Mt(t.placement),variation:fr(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:n,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,hR(Object.assign({},c,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:s})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,hR(Object.assign({},c,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:false,roundOffsets:s})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement});}var bR={name:"computeStyles",enabled:true,phase:"beforeWrite",fn:xj,data:{}};p();var bd={passive:true};function Tj(e){var t=e.state,o=e.instance,r=e.options,n=r.scroll,i=n===void 0?true:n,a=r.resize,l=a===void 0?true:a,s=Ke(t.elements.popper),c=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&c.forEach(function(u){u.addEventListener("scroll",o.update,bd);}),l&&s.addEventListener("resize",o.update,bd),function(){i&&c.forEach(function(u){u.removeEventListener("scroll",o.update,bd);}),l&&s.removeEventListener("resize",o.update,bd);}}var yR={name:"eventListeners",enabled:true,phase:"write",fn:function(){},effect:Tj,data:{}};p();p();var Cj={left:"right",right:"left",bottom:"top",top:"bottom"};function Ks(e){return e.replace(/left|right|bottom|top/g,function(t){return Cj[t]})}p();var kj={start:"end",end:"start"};function yd(e){return e.replace(/start|end/g,function(t){return kj[t]})}p();p();p();p();p();function Ra(e){var t=Ke(e),o=t.pageXOffset,r=t.pageYOffset;return {scrollLeft:o,scrollTop:r}}function Ia(e){return mr(Ht(e)).left+Ra(e).scrollLeft}function ob(e,t){var o=Ke(e),r=Ht(e),n=o.visualViewport,i=r.clientWidth,a=r.clientHeight,l=0,s=0;if(n){i=n.width,a=n.height;var c=Nc();(c||!c&&t==="fixed")&&(l=n.offsetLeft,s=n.offsetTop);}return {width:i,height:a,x:l+Ia(e),y:s}}p();function rb(e){var t,o=Ht(e),r=Ra(e),n=(t=e.ownerDocument)==null?void 0:t.body,i=Br(o.scrollWidth,o.clientWidth,n?n.scrollWidth:0,n?n.clientWidth:0),a=Br(o.scrollHeight,o.clientHeight,n?n.scrollHeight:0,n?n.clientHeight:0),l=-r.scrollLeft+Ia(e),s=-r.scrollTop;return So(n||o).direction==="rtl"&&(l+=Br(o.clientWidth,n?n.clientWidth:0)-i),{width:i,height:a,x:l,y:s}}p();p();p();function Aa(e){var t=So(e),o=t.overflow,r=t.overflowX,n=t.overflowY;return /auto|scroll|overlay|hidden/.test(o+n+r)}function vd(e){return ["html","body","#document"].indexOf(Lt(e))>=0?e.ownerDocument.body:Rt(e)&&Aa(e)?e:vd(Bn(e))}function yi(e,t){var o;t===void 0&&(t=[]);var r=vd(e),n=r===((o=e.ownerDocument)==null?void 0:o.body),i=Ke(r),a=n?[i].concat(i.visualViewport||[],Aa(r)?r:[]):r,l=t.concat(a);return n?l:l.concat(yi(Bn(a)))}p();function qs(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Ej(e,t){var o=mr(e,false,t==="fixed");return o.top=o.top+e.clientTop,o.left=o.left+e.clientLeft,o.bottom=o.top+e.clientHeight,o.right=o.left+e.clientWidth,o.width=e.clientWidth,o.height=e.clientHeight,o.x=o.left,o.y=o.top,o}function vR(e,t,o){return t===gd?qs(ob(e,o)):dr(t)?Ej(t,o):qs(rb(Ht(e)))}function wj(e){var t=yi(Bn(e)),o=["absolute","fixed"].indexOf(So(e).position)>=0,r=o&&Rt(e)?Dr(e):e;return dr(r)?t.filter(function(n){return dr(n)&&zc(n,r)&&Lt(n)!=="body"}):[]}function nb(e,t,o,r){var n=t==="clippingParents"?wj(e):[].concat(t),i=[].concat(n,[o]),a=i[0],l=i.reduce(function(s,c){var u=vR(e,c,r);return s.top=Br(u.top,s.top),s.right=Ca(u.right,s.right),s.bottom=Ca(u.bottom,s.bottom),s.left=Br(u.left,s.left),s},vR(e,a,r));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}p();function Uc(e){var t=e.reference,o=e.element,r=e.placement,n=r?Mt(r):null,i=r?fr(r):null,a=t.x+t.width/2-o.width/2,l=t.y+t.height/2-o.height/2,s;switch(n){case rt:s={x:a,y:t.y-o.height};break;case wt:s={x:a,y:t.y+t.height};break;case gt:s={x:t.x+t.width,y:l};break;case ct:s={x:t.x-o.width,y:l};break;default:s={x:t.x,y:t.y};}var c=n?Ea(n):null;if(c!=null){var u=c==="y"?"height":"width";switch(i){case Ln:s[c]=s[c]-(t[u]/2-o[u]/2);break;case Ta:s[c]=s[c]+(t[u]/2-o[u]/2);break;}}return s}function _r(e,t){t===void 0&&(t={});var o=t,r=o.placement,n=r===void 0?e.placement:r,i=o.strategy,a=i===void 0?e.strategy:i,l=o.boundary,s=l===void 0?uR:l,c=o.rootBoundary,u=c===void 0?gd:c,d=o.elementContext,f=d===void 0?Hs:d,g=o.altBoundary,m=g===void 0?false:g,h=o.padding,y=h===void 0?0:h,S=Vc(typeof y!="number"?y:$c(y,bi)),v=f===Hs?pR:Hs,C=e.rects.popper,b=e.elements[m?v:f],k=nb(dr(b)?b:b.contextElement||Ht(e.elements.popper),s,u,a),w=mr(e.elements.reference),R=Uc({reference:w,element:C,placement:n}),O=qs(Object.assign({},C,R)),A=f===Hs?O:w,B={top:k.top-A.top+S.top,bottom:A.bottom-k.bottom+S.bottom,left:k.left-A.left+S.left,right:A.right-k.right+S.right},_=e.modifiersData.offset;if(f===Hs&&_){var P=_[n];Object.keys(B).forEach(function(I){var F=[gt,wt].indexOf(I)>=0?1:-1,M=[rt,wt].indexOf(I)>=0?"y":"x";B[I]+=P[M]*F;});}return B}p();function ib(e,t){t===void 0&&(t={});var o=t,r=o.placement,n=o.boundary,i=o.rootBoundary,a=o.padding,l=o.flipVariations,s=o.allowedAutoPlacements,c=s===void 0?hd:s,u=fr(r),d=u?l?eb:eb.filter(function(m){return fr(m)===u}):bi,f=d.filter(function(m){return c.indexOf(m)>=0});f.length===0&&(f=d);var g=f.reduce(function(m,h){return m[h]=_r(e,{placement:h,boundary:n,rootBoundary:i,padding:a})[Mt(h)],m},{});return Object.keys(g).sort(function(m,h){return g[m]-g[h]})}function Rj(e){if(Mt(e)===fd)return [];var t=Ks(e);return [yd(e),t,yd(t)]}function Ij(e){var t=e.state,o=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var n=o.mainAxis,i=n===void 0?true:n,a=o.altAxis,l=a===void 0?true:a,s=o.fallbackPlacements,c=o.padding,u=o.boundary,d=o.rootBoundary,f=o.altBoundary,g=o.flipVariations,m=g===void 0?true:g,h=o.allowedAutoPlacements,y=t.options.placement,S=Mt(y),v=S===y,C=s||(v||!m?[Ks(y)]:Rj(y)),b=[y].concat(C).reduce(function(Y,ne){return Y.concat(Mt(ne)===fd?ib(t,{placement:ne,boundary:u,rootBoundary:d,padding:c,flipVariations:m,allowedAutoPlacements:h}):ne)},[]),k=t.rects.reference,w=t.rects.popper,R=new Map,O=true,A=b[0],B=0;B<b.length;B++){var _=b[B],P=Mt(_),I=fr(_)===Ln,F=[rt,wt].indexOf(P)>=0,M=F?"width":"height",N=_r(t,{placement:_,boundary:u,rootBoundary:d,altBoundary:f,padding:c}),j=F?I?gt:ct:I?wt:rt;k[M]>w[M]&&(j=Ks(j));var $=Ks(j),V=[];if(i&&V.push(N[P]<=0),l&&V.push(N[j]<=0,N[$]<=0),V.every(function(Y){return Y})){A=_,O=false;break}R.set(_,V);}if(O)for(var z=m?3:1,q=function(ne){var re=b.find(function(J){var G=R.get(J);if(G)return G.slice(0,ne).every(function(K){return K})});if(re)return A=re,"break"},W=z;W>0;W--){var U=q(W);if(U==="break")break}t.placement!==A&&(t.modifiersData[r]._skip=true,t.placement=A,t.reset=true);}}var SR={name:"flip",enabled:true,phase:"main",fn:Ij,requiresIfExists:["offset"],data:{_skip:false}};p();function xR(e,t,o){return o===void 0&&(o={x:0,y:0}),{top:e.top-t.height-o.y,right:e.right-t.width+o.x,bottom:e.bottom-t.height+o.y,left:e.left-t.width-o.x}}function TR(e){return [rt,gt,wt,ct].some(function(t){return e[t]>=0})}function Aj(e){var t=e.state,o=e.name,r=t.rects.reference,n=t.rects.popper,i=t.modifiersData.preventOverflow,a=_r(t,{elementContext:"reference"}),l=_r(t,{altBoundary:true}),s=xR(a,r),c=xR(l,n,i),u=TR(s),d=TR(c);t.modifiersData[o]={referenceClippingOffsets:s,popperEscapeOffsets:c,isReferenceHidden:u,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":u,"data-popper-escaped":d});}var CR={name:"hide",enabled:true,phase:"main",requiresIfExists:["preventOverflow"],fn:Aj};p();function Pj(e,t,o){var r=Mt(e),n=[ct,rt].indexOf(r)>=0?-1:1,i=typeof o=="function"?o(Object.assign({},t,{placement:e})):o,a=i[0],l=i[1];return a=a||0,l=(l||0)*n,[ct,gt].indexOf(r)>=0?{x:l,y:a}:{x:a,y:l}}function Oj(e){var t=e.state,o=e.options,r=e.name,n=o.offset,i=n===void 0?[0,0]:n,a=hd.reduce(function(u,d){return u[d]=Pj(d,t.rects,i),u},{}),l=a[t.placement],s=l.x,c=l.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=s,t.modifiersData.popperOffsets.y+=c),t.modifiersData[r]=a;}var kR={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:Oj};p();function Lj(e){var t=e.state,o=e.name;t.modifiersData[o]=Uc({reference:t.rects.reference,element:t.rects.popper,placement:t.placement});}var ER={name:"popperOffsets",enabled:true,phase:"read",fn:Lj,data:{}};p();p();function ab(e){return e==="x"?"y":"x"}function Mj(e){var t=e.state,o=e.options,r=e.name,n=o.mainAxis,i=n===void 0?true:n,a=o.altAxis,l=a===void 0?false:a,s=o.boundary,c=o.rootBoundary,u=o.altBoundary,d=o.padding,f=o.tether,g=f===void 0?true:f,m=o.tetherOffset,h=m===void 0?0:m,y=_r(t,{boundary:s,rootBoundary:c,padding:d,altBoundary:u}),S=Mt(t.placement),v=fr(t.placement),C=!v,b=Ea(S),k=ab(b),w=t.modifiersData.popperOffsets,R=t.rects.reference,O=t.rects.popper,A=typeof h=="function"?h(Object.assign({},t.rects,{placement:t.placement})):h,B=typeof A=="number"?{mainAxis:A,altAxis:A}:Object.assign({mainAxis:0,altAxis:0},A),_=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,P={x:0,y:0};if(w){if(i){var I,F=b==="y"?rt:ct,M=b==="y"?wt:gt,N=b==="y"?"height":"width",j=w[b],$=j+y[F],V=j-y[M],z=g?-O[N]/2:0,q=v===Ln?R[N]:O[N],W=v===Ln?-O[N]:-R[N],U=t.elements.arrow,Y=g&&U?ka(U):{width:0,height:0},ne=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Fc(),re=ne[F],J=ne[M],G=wa(0,R[N],Y[N]),K=C?R[N]/2-z-G-re-B.mainAxis:q-G-re-B.mainAxis,ee=C?-R[N]/2+z+G+J+B.mainAxis:W+G+J+B.mainAxis,ae=t.elements.arrow&&Dr(t.elements.arrow),ue=ae?b==="y"?ae.clientTop||0:ae.clientLeft||0:0,Te=(I=_?.[b])!=null?I:0,X=j+K-Te-ue,le=j+ee-Te,de=wa(g?Ca($,X):$,j,g?Br(V,le):V);w[b]=de,P[b]=de-j;}if(l){var Ce,$e=b==="x"?rt:ct,Ue=b==="x"?wt:gt,Qe=w[k],To=k==="y"?"height":"width",$o=Qe+y[$e],uo=Qe-y[Ue],mn=[rt,ct].indexOf(S)!==-1,Un=(Ce=_?.[k])!=null?Ce:0,Gn=mn?$o:Qe-R[To]-O[To]-Un+B.altAxis,Hn=mn?Qe+R[To]+O[To]-Un-B.altAxis:uo,Wn=g&&mn?fR(Gn,Qe,Hn):wa(g?Gn:$o,Qe,g?Hn:uo);w[k]=Wn,P[k]=Wn-Qe;}t.modifiersData[r]=P;}}var wR={name:"preventOverflow",enabled:true,phase:"main",fn:Mj,requiresIfExists:["offset"]};p();p();p();p();function sb(e){return {scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function lb(e){return e===Ke(e)||!Rt(e)?Ra(e):sb(e)}function Bj(e){var t=e.getBoundingClientRect(),o=Mn(t.width)/e.offsetWidth||1,r=Mn(t.height)/e.offsetHeight||1;return o!==1||r!==1}function cb(e,t,o){o===void 0&&(o=false);var r=Rt(t),n=Rt(t)&&Bj(t),i=Ht(t),a=mr(e,n,o),l={scrollLeft:0,scrollTop:0},s={x:0,y:0};return (r||!r&&!o)&&((Lt(t)!=="body"||Aa(i))&&(l=lb(t)),Rt(t)?(s=mr(t,true),s.x+=t.clientLeft,s.y+=t.clientTop):i&&(s.x=Ia(i))),{x:a.left+l.scrollLeft-s.x,y:a.top+l.scrollTop-s.y,width:a.width,height:a.height}}p();function Dj(e){var t=new Map,o=new Set,r=[];e.forEach(function(i){t.set(i.name,i);});function n(i){o.add(i.name);var a=[].concat(i.requires||[],i.requiresIfExists||[]);a.forEach(function(l){if(!o.has(l)){var s=t.get(l);s&&n(s);}}),r.push(i);}return e.forEach(function(i){o.has(i.name)||n(i);}),r}function ub(e){var t=Dj(e);return dR.reduce(function(o,r){return o.concat(t.filter(function(n){return n.phase===r}))},[])}p();function pb(e){var t;return function(){return t||(t=new Promise(function(o){Promise.resolve().then(function(){t=void 0,o(e());});})),t}}p();function db(e){var t=e.reduce(function(o,r){var n=o[r.name];return o[r.name]=n?Object.assign({},n,r,{options:Object.assign({},n.options,r.options),data:Object.assign({},n.data,r.data)}):r,o},{});return Object.keys(t).map(function(o){return t[o]})}var RR={placement:"bottom",modifiers:[],strategy:"absolute"};function IR(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return !t.some(function(r){return !(r&&typeof r.getBoundingClientRect=="function")})}function AR(e){e===void 0&&(e={});var t=e,o=t.defaultModifiers,r=o===void 0?[]:o,n=t.defaultOptions,i=n===void 0?RR:n;return function(l,s,c){c===void 0&&(c=i);var u={placement:"bottom",orderedModifiers:[],options:Object.assign({},RR,i),modifiersData:{},elements:{reference:l,popper:s},attributes:{},styles:{}},d=[],f=false,g={state:u,setOptions:function(S){var v=typeof S=="function"?S(u.options):S;h(),u.options=Object.assign({},i,u.options,v),u.scrollParents={reference:dr(l)?yi(l):l.contextElement?yi(l.contextElement):[],popper:yi(s)};var C=ub(db([].concat(r,u.options.modifiers)));return u.orderedModifiers=C.filter(function(b){return b.enabled}),m(),g.update()},forceUpdate:function(){if(!f){var S=u.elements,v=S.reference,C=S.popper;if(IR(v,C)){u.rects={reference:cb(v,Dr(C),u.options.strategy==="fixed"),popper:ka(C)},u.reset=false,u.placement=u.options.placement,u.orderedModifiers.forEach(function(B){return u.modifiersData[B.name]=Object.assign({},B.data)});for(var b=0;b<u.orderedModifiers.length;b++){if(u.reset===true){u.reset=false,b=-1;continue}var k=u.orderedModifiers[b],w=k.fn,R=k.options,O=R===void 0?{}:R,A=k.name;typeof w=="function"&&(u=w({state:u,options:O,name:A,instance:g})||u);}}}},update:pb(function(){return new Promise(function(y){g.forceUpdate(),y(u);})}),destroy:function(){h(),f=true;}};if(!IR(l,s))return g;g.setOptions(c).then(function(y){!f&&c.onFirstUpdate&&c.onFirstUpdate(y);});function m(){u.orderedModifiers.forEach(function(y){var S=y.name,v=y.options,C=v===void 0?{}:v,b=y.effect;if(typeof b=="function"){var k=b({state:u,name:S,instance:g,options:C}),w=function(){};d.push(k||w);}});}function h(){d.forEach(function(y){return y()}),d=[];}return g}}p();var _j=[yR,ER,bR,_c,kR,SR,wR,gR,CR],mb=AR({defaultModifiers:_j});var Nj="tippy-box",VR="tippy-content",zj="tippy-backdrop",$R="tippy-arrow",UR="tippy-svg-arrow",Pa={passive:true,capture:true},GR=function(){return document.body};function Fj(e,t){return {}.hasOwnProperty.call(e,t)}function fb(e,t,o){if(Array.isArray(e)){var r=e[t];return r??(Array.isArray(o)?o[t]:o)}return e}function xb(e,t){var o={}.toString.call(e);return o.indexOf("[object")===0&&o.indexOf(t+"]")>-1}function HR(e,t){return typeof e=="function"?e.apply(void 0,t):e}function PR(e,t){if(t===0)return e;var o;return function(r){clearTimeout(o),o=setTimeout(function(){e(r);},t);}}function Vj(e,t){var o=Object.assign({},e);return t.forEach(function(r){delete o[r];}),o}function $j(e){return e.split(/\s+/).filter(Boolean)}function Xs(e){return [].concat(e)}function OR(e,t){e.indexOf(t)===-1&&e.push(t);}function Uj(e){return e.filter(function(t,o){return e.indexOf(t)===o})}function Gj(e){return e.split("-")[0]}function xd(e){return [].slice.call(e)}function LR(e){return Object.keys(e).reduce(function(t,o){return e[o]!==void 0&&(t[o]=e[o]),t},{})}function Gc(){return document.createElement("div")}function Hc(e){return ["Element","Fragment"].some(function(t){return xb(e,t)})}function Hj(e){return xb(e,"NodeList")}function Wj(e){return xb(e,"MouseEvent")}function jj(e){return !!(e&&e._tippy&&e._tippy.reference===e)}function Kj(e){return Hc(e)?[e]:Hj(e)?xd(e):Array.isArray(e)?e:xd(document.querySelectorAll(e))}function gb(e,t){e.forEach(function(o){o&&(o.style.transitionDuration=t+"ms");});}function MR(e,t){e.forEach(function(o){o&&o.setAttribute("data-state",t);});}function qj(e){var t,o=Xs(e),r=o[0];return r!=null&&(t=r.ownerDocument)!=null&&t.body?r.ownerDocument:document}function Yj(e,t){var o=t.clientX,r=t.clientY;return e.every(function(n){var i=n.popperRect,a=n.popperState,l=n.props,s=l.interactiveBorder,c=Gj(a.placement),u=a.modifiersData.offset;if(!u)return true;var d=c==="bottom"?u.top.y:0,f=c==="top"?u.bottom.y:0,g=c==="right"?u.left.x:0,m=c==="left"?u.right.x:0,h=i.top-r+d>s,y=r-i.bottom-f>s,S=i.left-o+g>s,v=o-i.right-m>s;return h||y||S||v})}function hb(e,t,o){var r=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(n){e[r](n,o);});}function BR(e,t){for(var o=t;o;){var r;if(e.contains(o))return true;o=o.getRootNode==null||(r=o.getRootNode())==null?void 0:r.host;}return false}var an={isTouch:false},DR=0;function Xj(){an.isTouch||(an.isTouch=true,window.performance&&document.addEventListener("mousemove",WR));}function WR(){var e=performance.now();e-DR<20&&(an.isTouch=false,document.removeEventListener("mousemove",WR)),DR=e;}function Jj(){var e=document.activeElement;if(jj(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur();}}function Qj(){document.addEventListener("touchstart",Xj,Pa),window.addEventListener("blur",Jj);}var Zj=typeof window<"u"&&typeof document<"u",e5=Zj?!!window.msCrypto:false;function Ys(e){var t=e==="destroy"?"n already-":" ";return [e+"() was called on a"+t+"destroyed instance. This is a no-op but","indicates a potential memory leak."].join(" ")}function _R(e){var t=/[ \t]{2,}/g,o=/^[ \t]*/gm;return e.replace(t," ").replace(o,"").trim()}function t5(e){return _R(`
|
|
1
|
+
import {b,a as a$3}from'./chunk-G6UW4ISL.js';import {g,f as f$1,e as e$2}from'./chunk-A4E2IRNO.js';import {a}from'./chunk-5NVVEPZQ.js';import {a as a$4}from'./chunk-7K6SKRXP.js';import {h,N,J,l,R,c,o,M,G,B as B$1,F,D,E,m,H as H$1,A as A$1,f,O as O$1,Q,a as a$2,P as P$1,p as p$1,C,n,i as i$1,j,k,I as I$1,d as d$1,e as e$1,t,b as b$2,g as g$2}from'./chunk-PGBDZWWY.js';import'./chunk-2D75X364.js';import {i,g as g$1,a as a$5}from'./chunk-JU4YILPF.js';import {cb,Ga as Ga$1,Ha,Fa as Fa$1,z,Ea as Ea$1,va as va$1,W,T,Da as Da$1,ua,ta as ta$1,La as La$1,Oa as Oa$1,Pa as Pa$1,Sa as Sa$1,O,_,I,H,A,_a,B,Ka,ab,b as b$1,c as c$1,db as db$1,Ya,Aa as Aa$1,p,m as m$1,s,P,Q as Q$1,f as f$2,e,Na as Na$1,u,ba,ca,o as o$1,l as l$1,r,Va,d,v,N as N$1,V,Za,$a as $a$1,Ma as Ma$1,C as C$1,ea,eb,fa as fa$1,wa as wa$1,Ba as Ba$1,Ua,D as D$1,E as E$1,F as F$1,G as G$1,Ia as Ia$1,Ta as Ta$1,i as i$2,X,Ca,Ja,j as j$1,Qa as Qa$1,Ra as Ra$1,xa,U,za as za$1,ya as ya$1,a as a$6}from'./chunk-EYRXKCMJ.js';import {a as a$1}from'./chunk-P6ORTCRN.js';import'./chunk-QZ5NBDGE.js';import {Group,Stack,Text,ThemeIcon,useMantineTheme,List,UnstyledButton,Center,createStyles,Image,Checkbox,Input,Card,Space,Badge,Button,Title,Tabs,TextInput,Code,NumberInput,Box,Loader,Divider,SegmentedControl,Select,ActionIcon,Textarea,Accordion,rem,ScrollArea,Tooltip,MultiSelect,Switch,Radio,Skeleton,Paper,Anchor,Avatar,Flex,px,Modal,Popover,Overlay,CopyButton,Col,Grid,Collapse,Alert,Breadcrumbs,Menu,MantineProvider,Navbar,AppShell,Container,LoadingOverlay,Pagination,Drawer,FileInput,SimpleGrid,Header,Autocomplete}from'@mantine/core';import {useListState,useSetState,randomId,useClickOutside,useDisclosure,useFullscreen,useDebouncedValue,getHotkeyHandler,useUncontrolled,useHotkeys,useMergedRef}from'@mantine/hooks';import {notifications,Notifications}from'@mantine/notifications';import {IconCirclePlus,IconCircleCheck,IconLogout,IconBraces,IconGripVertical,IconDice,IconBoxMultiple,IconEyeOff,IconFlag,IconChevronDown,IconBallpen,IconDatabase,IconMathFunction,IconNetwork,IconUsers,IconServer,IconPencil,IconAlertCircle,IconPlayerPlay,IconTrash,IconLanguage,IconCircleX,IconCircleCheckFilled,IconFileAnalytics,IconQuestionMark,IconLanguageOff,IconPhotoFilled,IconFileUpload,IconGripHorizontal,IconLogin,IconWorld,IconLock,IconCopy,IconPlus,IconAlertTriangle,IconCloudNetwork,IconGitMerge,IconClockHour2,IconApi,IconAugmentedReality,IconCheck,IconRefresh,IconDeviceFloppy,IconPalette,IconSettings,IconChevronRight,IconCode,IconBold,IconItalic,IconUnderline,IconArrowBackUp,IconArrowForwardUp,IconAlignLeft,IconAlignCenter,IconAlignRight,IconAlignJustified,IconGlobe,IconLinkOff,IconX,IconHelp,IconMinimize,IconMaximize,IconCircleDashed,IconHome,IconListCheck,IconPhoto,IconPolaroid,IconCircleMinus,IconVariable,IconArrowRightCircle,IconSlash,IconHelpCircle,IconUpload,IconFileCode,IconWorldUpload,IconSettingsFilled,IconChevronLeft,IconIndentIncrease,IconCodeDots,IconBinaryTree}from'@tabler/icons-react';import _D from'next/head';import Vb from'next/link';import lv,{forwardRef,useState,useEffect,useImperativeHandle,createContext,useCallback,useRef,useMemo,Fragment as Fragment$1,useContext}from'react';import {signOut}from'next-auth/react';import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {DragDropContext,Droppable,Draggable}from'@hello-pangea/dnd';import {useDispatch}from'react-redux';import {MantineReactTable}from'mantine-react-table';import jS,{useMonaco}from'@monaco-editor/react';import {titleCase}from'd3plus-text';import {EditorProvider,useCurrentEditor,BubbleMenu,ReactRenderer}from'@tiptap/react';import bw from'@tiptap/extension-underline';import yw from'@tiptap/starter-kit';import vw from'@tiptap/extension-mention';import Sw from'@tiptap/extension-hard-break';import {Plugin,PluginKey,Selection,TextSelection,NodeSelection}from'@tiptap/pm/state';import'@tiptap/pm/view';import'@tiptap/pm/keymap';import {Fragment as Fragment$2,Slice,Schema,DOMParser}from'@tiptap/pm/model';import {canSplit,joinPoint,liftTarget,canJoin,ReplaceStep,ReplaceAroundStep}from'@tiptap/pm/transform';import {wrapIn,setBlockType,selectTextblockStart,selectTextblockEnd,selectParentNode,selectNodeForward,selectNodeBackward,newlineInCode,liftEmptyBlock,lift,joinUp,joinTextblockForward,joinTextblockBackward,joinForward,joinDown,joinBackward,exitCode,deleteSelection,createParagraphNear}from'@tiptap/pm/commands';import {wrapInList,sinkListItem,liftListItem}from'@tiptap/pm/schema-list';import xw from'@tiptap/extension-text-align';import Cw from'@tiptap/extension-placeholder';import Lw from'@tiptap/extension-typography';import Gh from'axios';import*as Ut from'd3';import*as ds from'd3-dag';import {csvParse}from'd3-dsv';import {useForm}from'@mantine/form';function Fp(e){let{onlyIcon:t,href:o,version:n}=e,r=jsx(Text,{c:"blue.5",ta:"left",children:jsxs(Group,{position:"left",spacing:"xs",children:[jsx(IconCircleDashed,{size:30}),!t&&jsxs(Text,{c:"black",fs:"lg",children:["Bespoke CMS",jsx(Text,{span:true,c:"dimmed",size:"xs",ml:3,children:n})]})]})});return o?jsx(Vb,{href:o,passHref:true,children:jsx(UnstyledButton,{p:10,w:"100%",children:r})}):r}function Dn(e){return jsxs("span",{style:{display:"flex",alignItems:"center",gap:"0.5rem"},children:[e.icon,e.children]})}function _p(e){let{left:t,center:o,right:n}=e;return jsx(Header,{height:50,p:"xs",pos:"sticky",zIndex:98,children:jsxs(Group,{position:"apart",children:[jsx("div",{className:"left",children:t}),jsx("div",{className:"center",children:o}),jsx("div",{className:"right",children:n})]})})}var Yb=e=>({input:{border:"none",background:e.colors.blue[0],borderRadius:e.radius.sm,color:e.colors.blue[7],fontSize:12,fontWeight:700,width:80},item:{fontSize:12},rightSection:{pointerEvents:"none"}});function Lr({value:e,onChange:t,defaultValue:o,selectProps:n={},loading:r=false}){let i=e$1(),s=va$1(c=>c.status.localeDefault),[l,a]=useUncontrolled({value:e,defaultValue:o||s,finalValue:s,onChange:t}),u=useMantineTheme();return jsx(Select,{...n,data:i,value:l,onChange:a,styles:{...Yb(u),...n?.styles},icon:jsx(IconLanguage,{size:"0.8rem",color:u.colors.blue[7]}),rightSection:r?jsx(Loader,{size:"0.8rem"}):jsx(IconChevronDown,{size:"0.8rem",color:u.colors.blue[7]})})}var oy={maxWidth:100,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"};function zr({children:e,tooltip:t=false,onClick:o=()=>{},textProps:n={},clickable:r=false}){return jsx(Tooltip,{label:e,disabled:!t,children:jsx(UnstyledButton,{onClick:o,children:jsxs(Group,{spacing:"3px",align:"center",noWrap:true,children:[jsx(Text,{fz:"0.675rem",tt:"uppercase",fw:700,color:"gray.7",sx:oy,...n,children:e}),r&&jsx(ThemeIcon,{color:"gray.7",size:"1rem",bg:"transparent",variant:"default",sx:{border:"none"},children:jsx(IconChevronDown,{size:"xl"})})]})})})}var Zi=e=>t=>({input:{border:"none !important",outline:"none",background:t.colors.gray[1]},dropdown:{padding:0,background:t.fn.lighten(t.colors.gray[1],.8),borderColor:t.colors.gray[4],borderRadius:t.radius.md,width:"280px !important",gap:t.spacing.xs,":before":{display:"block",content:`"${e}"`,fontSize:t.fontSizes.xs,color:t.colors.gray[5],paddingLeft:t.spacing.sm,paddingRight:t.spacing.sm,paddingBottom:t.spacing.xs,paddingTop:t.spacing.xs}}});function my(e,t,o){return o===t?e.map(n=>({id:n.id,value:`${n.id}`,name:n.name})):e.map(n=>{let r=n.contentByLocale.find(i=>i.locale===o);return {id:n.id,value:`${n.id}`,name:n.name,refName:r?r.name:null}})}var $p={overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},gy=forwardRef(function({id:t,name:o,refName:n,...r},i){return jsxs(Group,{position:"apart",ref:i,...r,children:[jsxs(Stack,{spacing:0,children:[jsx(Text,{maw:"200px",sx:$p,children:o}),n&&jsx(Text,{fz:10,c:"#666",maw:"140px",sx:$p,children:n})]}),jsx(Text,{color:"gray.5",size:"sm",children:t})]},`${t}-${o}`)});function Us(e){let{dimensionId:t,variantId:o,value:n,defaultValue:r,onChange:i,locale:s}=e,l=ua(),{localeDefault:a}=a$6(),u=$a$1(),c=s||a,[p,f]=useState([]),[m,g]=useState(""),[S]=useDebouncedValue(m,500),[v,h]=useState(false),[b,C]=useState(false),[d,y]=useUncontrolled({value:n,defaultValue:r,finalValue:void 0,onChange:i?$=>i($):void 0}),x=useRef(null),k=useClickOutside(()=>C(false)),R=useMergedRef(x,k),B=$=>{let K=p.find(T=>T.id===$.id);K&&(g(K.name?K.name:""),y(K),C(false));};useEffect(function(){h(true);let K={query:S,locale:c===u?c:"all",variant:[o],dimension:[t],limit:5,visible:false,includes:true,noImage:false,format:"plain",all:true,preferredLocale:u,report:[]};l(ta$1.searchMember(K)).then(T=>{if(T&&T.results){let M=T.results.map(I=>({...I,currentLocale:c,name:(I.contentByLocale&&I.contentByLocale.find(O=>O.locale===c)||I).name}));f(M),h(false),M.length===0&&S===""&&(f([]),h(false));}});},[l,S,c,o,t,u]),useEffect(()=>{p.length&&!d?.id&&i&&i(p[0]);},[p,i]);let N=my(p,c,u);return useEffect(()=>{setTimeout(()=>{x.current&&x.current.focus();},200);},[b]),b||!d?.name?jsx(Autocomplete,{ref:R,value:m,onChange:g,data:N,itemComponent:gy,placeholder:"Search members.",nothingFound:"No members found.",rightSection:v&&jsx(Loader,{size:"xs"}),filter:()=>true,onItemSubmit:B,size:"xs",w:130,styles:Zi("Members")}):jsx(zr,{onClick:()=>C(true),textProps:{color:"gray.6"},tooltip:true,clickable:true,children:d.name})}function Hs(e){let o=Ga$1(e).data,n=ya$1(o?.variants);return n.isSuccess?n.data.map(r=>({value:`${r.id}`,label:r.name})):[]}function js(e){let{dimension:t,value:o,onChange:n}=e,[r,i]=useState(false),s=Hs(t),l=useClickOutside(()=>i(false)),a=s.length===1||!r,[u,c]=useUncontrolled({value:o?String(o):void 0,defaultValue:s[0]?s[0].value:"",finalValue:void 0,onChange:n?m=>n(Number(m)):void 0}),p=m=>c(m),f=s.find(m=>m.value===u)||s[0];return a?jsx(zr,{onClick:()=>i(true),clickable:s.length>1,children:f?f.label:"No Variant"}):jsx(Select,{ref:l,data:s,value:u,onChange:p,w:140,size:"xs",styles:Zi("Variants"),initiallyOpened:true})}function ta(e){let{dimensionId:t,locale:o,onSelect:n,value:r}=e,i=ua(),s=Hs(t),[l,a]=useUncontrolled({defaultValue:r?{id:`${r.memberId}`}:void 0,finalValue:void 0,onChange:n?f=>n(f):void 0}),[u,c]=useUncontrolled({value:void 0,defaultValue:r?.variantId,finalValue:s[0]?Number(s[0].value):0,onChange:()=>{a({});}}),p=r?.memberId;return useEffect(function(){p&&i(ta$1.readMember(e$2({locale:o,content_ids:[`${p}`],all:"false",mode:"content_ids"}))).then(m=>{if(m&&m.results&&m.results[0]){let g=m.results[0];a({...g});}else console.error("default member is not found");});},[p]),jsxs(Flex,{gap:"xs",px:"xs",align:"center",children:[jsx(js,{dimension:t,value:u,onChange:c},`dimension-${t}`),jsx(Text,{fz:"xs",tt:"uppercase",color:"gray.6",fw:700,children:"/"}),u&&jsx(Us,{variantId:u,dimensionId:t,value:l,onChange:a,locale:o},`variant-${u}`)]})}function qs({report:e,defaultMembers:t,locale:o}){let[n,r]=useState(false),i=ua(),s=a$2(),l=useContext(db$1),a=Ya(l),u=e&&e.dimensions?e.dimensions:[],c=va$1(S=>S.status.previews),p=c.map(S=>({variantId:S.variant_id,memberId:S.content_id})),f=s.query.preview,m=Array.isArray(f)?f.join("!"):f||"",g=S=>{let h=e.dimensions.map(C=>{let d;if(S)if(S.dimension_id===C)d=S;else {let y=c.find(x=>x?x.dimension_id===C:false);y&&(d=y);}return d}).map(C=>C?{...C,report_name:C.report?.name||C.report_name,report_id:C.report?.id||C.report_id,dimension_id:C.dimension?.id||C.dimension_id,dimension_name:C.dimension?.name||C.dimension_name,variant_id:C.variant?.id||C.variant_id,variant_name:C.variant?.name||C.variant_name,variant_slug:C.variant?.slug||C.variant_slug}:{}),b=h.map(Ry).join("!");if(b&&m!==b){let C=h.filter(d=>d.content_id).length===u.length;i(ta$1.setPreviews(h)),C&&(s.setSearchParam("preview",b),a({previews:h}));}};return useEffect(function(){let v=m.split("!").filter(Boolean);v.length===u.length&&u.length>0?i(ta$1.readMember({mode:"slugs",slugs:v.map(h=>{let[b,C]=h.split("/");return {variantSlug:b,memberSlug:C}}),locale:o,output:"full"})).then(h=>a({previews:h.results})).then(()=>r(true)):t&&t.length===u.length?i(ta$1.readMember({mode:"content_ids",variant:t.map(h=>h.variantId),content_ids:t.map(h=>h.memberId),locale:o,output:"full"})).then(h=>a({previews:h.results})).then(()=>r(true)):r(true);},[]),jsx(Group,{spacing:"xs",children:n&&u.map((S,v)=>jsxs(Fragment$1,{children:[jsx(Text,{fw:700,fz:"xs",children:"/"}),jsx(ta,{dimensionId:S,onSelect:g,value:p[v]?p[v]:void 0,locale:o},S)]},S))})}function Ry(e){return `${"variant_slug"in e?e.variant_slug:e?.variant?.slug}/${e.slug}`}var Nr="dimension",jp="Dimension";var Ys="formatter",qp="Formatter";var Xs="variant",Yp="Variant";var Js="datasource",Jp="Data Source";var Qp={[r]:s,[Nr]:jp,[Ys]:qp,[l$1]:m$1,[o$1]:p,[Xs]:Yp,[Js]:Jp};function Bt({id:e,type:t,warning:o,disabled:n=false}){let r=useDispatch(),{newConfirmation:i}=b(),s=useCallback(async()=>{let l=Qp[t]||"Entity",a=o||`Delete this ${l} and all its contents? This action cannot be undone.`;try{n||(await i({title:"Are you sure?",message:a,confirmText:"Yes, Delete it."}),r(ta$1.deleteEntity(t,e)));}catch{console.error(`${l} deletion aborted:`,e);}},[e,t,o,n,r]);return jsx(ActionIcon,{disabled:n,color:"red",variant:"transparent",onClick:s,children:jsx(IconTrash,{size:18})})}function Qy({for:e,onEdit:t}){let o=useMantineTheme(),{newConfirmation:n}=b(),r=o.colorScheme==="dark"?o.colors.dark[1]:o.colors.gray[7],i=useCallback(async()=>{try{await n({title:"Are you sure?",message:"Modifying dimensions can be destructive and break the site. Make sure you know what you're doing!",confirmText:"Continue"}),t(e.id);}catch{console.error("Dimension edition aborted.");}},[t]),{name:s,ordering:l}=e;return jsxs(Card,{shadow:"xs",withBorder:true,style:{margin:o.spacing.sm},children:[jsx(Group,{position:"apart",children:jsxs(Center,{children:[jsx(IconDatabase,{size:22}),jsx(Space,{w:"xs"}),jsx(Text,{weight:"bold",children:s})]})}),jsxs(Text,{size:"sm",style:{color:r,lineHeight:2},children:["Order:",l]}),jsx(Space,{w:"xs"}),jsxs(Group,{position:"apart",children:[jsxs(Center,{children:[jsx(IconServer,{size:22}),jsx(Space,{w:"xs"}),jsx(Text,{weight:"bold",children:"Variants"})]}),jsx(Badge,{variant:"light",children:e.variants.length})]}),jsx("ul",{children:e.variants.map(a=>jsx("li",{style:{color:r},children:jsx(ev,{id:a})},a))}),jsxs(Group,{position:"apart",children:[jsx(Button,{onClick:i,leftIcon:jsx(IconPencil,{}),compact:true,children:"Edit"}),jsx(Bt,{id:e.id,type:"dimension",warning:"Deleting dimensions can be destructive and break the site. Make sure you know what you're doing!"})]})]})}var td=cb(Qy,Ga$1);function Zy({for:e}){let t=g(e.settings);return jsx(Text,{size:"sm",children:`${e.name}: /${e.slug} - Order: ${t.order}`})}var ev=cb(Zy,Ha);function zn(e){let{target:t,fields:o,onSubmit:n}=e,[r,i,s]=pv(o||[]),[l,a]=useDisclosure(false,{onClose:s}),u=useCallback(c=>{l&&(c.preventDefault(),typeof n=="function"&&n(i),a.close());},[i,l]);return useHotkeys([["enter",u]]),r.length===0?t:jsxs(Popover,{onClose:a.close,opened:l,position:"right",trapFocus:true,withArrow:true,withinPortal:true,zIndex:1001,children:[jsx(Popover.Target,{children:lv.cloneElement(e.target,{onClick:a.open})}),jsx(Popover.Dropdown,{children:jsxs("form",{onSubmit:u,children:[r,jsx(Button,{type:"submit",children:"Submit"})]})})]})}function pv(e){let[t,o]=useState({}),n=e.map(s=>encodeURIComponent(`${s.name}:${s.type}/${s.label}`)).join("&"),r=useCallback(()=>{o({});},[]);return [useMemo(()=>e.map(s=>{let l=`${t[s.name]??(s.initialValue||"")}`;return s.type==="checkbox"?jsx(Checkbox,{label:s.label,name:s.name,checked:l=="true"},s.name):s.type==="radio"?jsx(Radio.Group,{label:s.label,value:l,children:s.options.map(a=>jsx(Radio,{label:a.label,value:`${a.value}`},a.label))},s.name):s.type==="select"?jsx(Select,{data:s.options.map(a=>({value:`${a.value}`,label:a.label})),label:s.label,onChange:a=>{o({...t,[s.name]:a});},value:l,zIndex:1002},s.name):s.type==="switch"?jsx(Switch,{label:s.label,name:s.name,checked:l=="true"},s.name):s.type==="text"?jsx(TextInput,{label:s.label,onChange:a=>{o({...t,[s.name]:a.target.value});},placeholder:s.placeholder,value:l},s.name):null}),[n,t]),t,r]}function Sv({for:e,onEdit:t}){let o=useMantineTheme(),{newConfirmation:n}=b(),r=useCallback(async()=>{try{await n({title:"Are you sure?",message:"Modifying variants can be destructive and break the site. Make sure you know what you're doing!",confirmText:"Continue"}),t(e.id);}catch{console.error("Variant edition aborted.");}},[t]),{slug:i,name:s,settings:l}=e,a=g(l);return jsxs(Card,{shadow:"xs",withBorder:true,style:{margin:o.spacing.sm},children:[jsxs(Group,{position:"apart",children:[jsxs(Center,{children:[jsx(IconServer,{size:22}),jsx(Space,{w:"xs"}),jsx(Text,{weight:"bold",children:s}),jsxs(Text,{size:"xs",ml:"xs",children:["Order: ",a.order]})]}),jsxs(Badge,{variant:"light",children:["/",i]})]}),jsx(Space,{h:"xs"}),jsxs(Group,{position:"apart",children:[jsx(Button,{onClick:()=>r(),leftIcon:jsx(IconPencil,{}),compact:true,children:"Edit"}),jsx(Bt,{id:e.id,type:"variant",warning:"Deleting variants can be destructive and break the site. Make sure you know what you're doing!"})]})]})}var ld=cb(Sv,Ha);var xv=e=>e.replace(/^\s+|\s+$/gm,"").replace(/[^a-zA-ZÀ-ž0-9- _]/g,""),na=xv;function bt({content:e,buttons:t,size:o}){let[n,r]=useState(500);return useEffect(()=>{let{innerHeight:i}=window;r(i-o);},[]),jsxs("div",{style:{height:"100%"},children:[jsx(ScrollArea,{offsetScrollbars:true,type:"always",style:{height:n},styles:{viewport:{"& > div:first-of-type":{display:"block !important"}}},children:e}),jsx(Space,{h:"xs"}),jsx(Divider,{}),jsx(Group,{mt:"xs",grow:true,style:{height:45},children:t})]})}function Rv({member:e,height:t="auto",width:o="100%",size:n="thumb",forceRefreshTimestamp:r=false}){let i="";r&&(i=`&t=${new Date().getTime()}`);let s=e&&e.image_id?`/api/cms/member/image?member=${e.content_id}&size=${n}${i}`:"https://placehold.jp/cccccc/ffffff/900x600.png?text=None";return jsx(Image,{alt:`Image for ${e.id}`,height:t,width:o,radius:"md",src:s})}var Vr=Rv;function Vn({members:e,onClickEdit:t,onSort:o,colsToRender:n=[],dataTableProps:r={}}){let[i,s]=useState([]),[l,a]=useState([]),{state:u,...c}=r;useEffect(()=>{typeof o<"u"&&i&&i.length&&o(i);},[i]),useEffect(()=>{a(e);},[e]),useEffect(()=>{a(e);},[]);let p=va$1(g=>g.status.localeDefault),f=jsx(Badge,{color:"gray",children:"None"}),m=[{header:"",accessorKey:"visible",enableResizing:false,enableSorting:false,size:10,Cell:({row:g})=>jsx(Fragment,{children:g.original.visible?jsx("span",{}):jsx(Tooltip,{label:"Visible: false",children:jsx("span",{children:jsx(IconEyeOff,{size:20})})})})},{header:"ID",accessorKey:"id",enableSorting:typeof o<"u",mantineTableHeadCellProps:{align:"right",sx:{"& .mantine-TableHeadCell-Content-Labels":{flexDirection:"row"}}},mantineTableBodyCellProps:{align:"right"},size:100},{header:"Report",accessorKey:"report.name",enableSorting:false,size:100},{header:"Dimension",accessorKey:"dimension.name",enableSorting:false,size:100},{header:"Variant",accessorKey:"variant.name",enableSorting:false,size:100},{header:"Relevance",accessorKey:"zvalue",enableSorting:typeof o<"u",size:100},{header:"Slug",accessorKey:"slug",Cell:({row:g})=>jsxs("span",{children:["/",g.original.variant.slug,"/",g.original.slug]}),enableSorting:false},{header:`Name ${p.toUpperCase()}`,accessorKey:"name",enableSorting:typeof o<"u",Cell:({row:g})=>{let S=g.original.contentByLocale.find(b=>b.locale===p),v=g.original.contentByLocale.filter(b=>b.locale!==p),h=v.reduce((b,C)=>{let d=`${C.locale.toUpperCase()}: ${C.name}`;return `${b}${b!==""?`
|
|
2
|
+
`:""}${d}`},"");return jsxs(Group,{children:[jsx("span",{children:S?.name||f}),v.length>0&&jsx(Tooltip,{label:h,children:jsxs(Avatar,{size:"sm",color:"pink",radius:"xl",children:["+",v.length]})})]})}},{header:`Keywords ${p.toUpperCase()}`,accessorKey:"keywords",Cell:({row:g})=>{let S=g.original.contentByLocale.find(C=>C.locale===p),v=g.original.contentByLocale.filter(C=>C.locale!==p),h=(S.keywords?S.keywords:[]).map(C=>jsx(Badge,{children:C},C)),b=v.reduce((C,d)=>{let y=d.keywords||[],x=`${d.locale.toUpperCase()}: ${y.length>0?y.join(","):"None"}`;return `${C}${C!==""?`
|
|
3
|
+
`:""}${x}`},"");return jsxs(Group,{children:[jsx("span",{children:h.length>0?h:f}),v.length>0&&jsx(Tooltip,{label:b,children:jsxs(Avatar,{size:"sm",color:"pink",radius:"xl",children:["+",v.length]})})]})},enableSorting:false,size:100},{header:"Image",accessorKey:"image",Cell:({row:g})=>jsx(Vr,{member:g.original,height:"50px",forceRefreshTimestamp:true}),enableSorting:false,size:80},{header:"",accessorKey:"actions",Cell:({row:g})=>jsx(ActionIcon,{onClick:()=>t?t(g.original):false,children:jsx(IconPencil,{size:20})},"edit"),enableResizing:false,enableSorting:false,size:50,mantineTableHeadCellProps:{align:"center"},mantineTableBodyCellProps:{align:"center"}}];return jsx(MantineReactTable,{columns:m.filter(g=>n&&n.length===0||n.includes(g.accessorKey)),data:l,enableBottomToolbar:false,enableColumnActions:false,enableColumnResizing:true,enablePagination:false,enableStickyHeader:true,enableTopToolbar:false,initialState:{density:"xs"},layoutMode:"grid",mantineTableContainerProps:{sx:{minHeight:150,maxHeight:"90vh"}},mantineTableProps:{striped:true},manualSorting:true,onSortingChange:s,state:{sorting:i,...u},...c})}function Gv({switchProps:e,yesText:t,noText:o}){let n={size:"md",onLabel:"YES",offLabel:"NO",label:"Switch Label",my:"xs",checked:false,onChange:r=>console.info(r.currentTarget.checked),...e};return jsxs(Group,{children:[jsx(Switch,{...n}),jsx(Tooltip,{label:n.checked?t:o,withArrow:true,multiline:true,width:200,children:jsx(ActionIcon,{variant:"filled",radius:"50%",size:"xs",children:jsx(IconQuestionMark,{size:"xs"})})})]})}var _r=Gv;function Fn(e){try{return new URL(e),!0}catch{return false}}function oS({for:e,onClose:t}){let o=ua(),n=va$1(z=>z.status.localeDefault),r=va$1(z=>z.status.locales),i=r.map(z=>({value:z,label:z.toUpperCase()})),[s,l$1]=useState(),[a,u]=useState(n),[c,p]=useState(()=>{let z={...e};return r.forEach(X=>{z.config={...z.config,[X]:{attributes:[],idKey:"",labelKey:"",accessor:"",path:"",...z.config[X]||{}}};}),z}),[f,m]=useState(false),[g$1,S]=useState(false),[v,h]=useState(false),[b,C]=useState(false),[d,y]=useState({valid:false,suggestion:""}),[x,k]=useState(),[R,B]=useState([]),[N,$]=useState(false),[K,T]=useState([]),M=z=>{Fn(z)&&(S(true),o(ta$1.urlProxy({url:z})).then(X=>{if(k(X),X){let ie=P(X);B(ie),c.config[a].accessor&&X[c.config[a].accessor]?O(X[c.config[a].accessor][0],c.config[a].accessor):ie.length===0&&X&&X[0]&&O(X[0]);}h(false),S(false);}).catch(X=>{console.error(X),h(`Fetch error: ${X.message}`),k(void 0),S(false);}));},I=z=>{$(true);let X=f$1({variant:z,limit:"5",locale:"all",visible:"true",includes:"true",noImage:"false",format:"plain",all:"true"});o(ta$1.searchMember(X)).then(ie=>{if(ie&&ie.results){let Ve=ie.results;T(Ve),Ve.length===0&&_("doIngest",true);}$(false);}).catch(ie=>{console.error(ie),$(false);});},O=(z,X="")=>{if(z){let ie=Object.keys(z),Ve=ie.find(Ye=>Ye.toLowerCase().includes("id"))||ie[0],at=ie.find(Ye=>!Ye.toLowerCase().includes("id"))||ie[0];(!c.config[a].idKey||c.config[a].idKey===""||!c.config[a].labelKey||c.config[a].labelKey==="")&&p({...c,config:{...c.config,[a]:{...c.config[a],idKey:Ve,labelKey:at,accessor:X}}});}l$1(z);};useEffect(()=>{c.id&&I(c.id),U(c.slug),c.config[a]&&c.config[a].path&&M(c.config[a].path);},[]);let G=z=>{k(void 0),h(false);let X=[];if(z!==n){let ie=c.config[n]?[...c.config[n].attributes].map(at=>{let Ye={...at};return Ye.value="",Ye}):[];c.config[z]&&c.config[z].attributes?X=ie.map(at=>{let Ye=c.config[z].attributes.find(Wt=>at.name===Wt.name);return Ye&&(at.value=Ye.value),at}):X=ie;let Ve={...c.config,[z]:{...c.config[z],attributes:X}};p({...c,config:Ve});}c.config[z]&&c.config[z].path&&M(c.config[z].path),u(z);},W=useMemo(()=>g(c.settings),[c.settings]),F=useMemo(()=>[{label:"Replace names",key:"overrideNames",yesText:"Names from new source will update the previously ingested members.",noText:"Original names will be keep."},{label:"Replace slugs",key:"regenerateSlugs",yesText:"Slugs will be regenerated based on new member's names and updated on previously ingested members.",noText:"Original slugs will be keep.",disabled:!W.overrideNames},{label:"Replace relevance value",key:"overrideRelevance",yesText:"Relevance index will be recalculated and updated on previously ingested members.",noText:"Original numbers will be keep."},{label:"Replace attributes",key:"overrideAttributes",yesText:"Attributes will be regenerated and override the current ones. Different ones will be kept.",noText:"Original attributes will be keep, ignoring the changes"},{label:"Keep all existing members",key:"keepOldMembers",yesText:"All the the existing members will be keep even if they are not in the new API members list",noText:"Members that are not in the API members list will be deleted, keeping both lists on sync."}],[W.overrideNames]),L=z=>{let X=Q$1(x,z);X[0]&&O(X[0],z);},U=z=>{o(ta$1.variantValidateSlug(c.dimension_id,z)).then(y).then(()=>{C(false);},X=>{console.error(X);});},P$1=(z,X)=>{let ie=X;z==="slug"&&(ie=na(X),ie&&(C(true),U(X))),p({...c,[z]:ie});},A=(z,X)=>{z==="path"&&h(false),p({...c,config:{...c.config,[a]:{...c.config[a],[z]:X}}});},_=(z,X)=>{let ie=z==="overrideNames"&&!X?{regenerateSlugs:false}:{};p({...c,settings:{...c.settings,...ie,[z]:X}});},Q=()=>{m(true),o(ta$1.updateEntity("variant",c)).then(()=>{m(false),t();}).catch(z=>{console.error(z),m(false);});},Y=z=>{p({...c,config:{...c.config,[a]:{...c.config[a],attributes:z}}});},ce=()=>{if(s&&Object.keys(s)[0]){let ie=c.config[a]?.attributes||[],Ve=ie.length||0;Y([...ie,{type:"constant",name:`attr${Ve+1}`,value:""}]);}},re=(z,X,ie)=>{let Ve=c.config[a].attributes.map((at,Ye)=>Ye===X?{...at,[z]:ie}:at);Y(Ve);},ae=z=>{let X=c.config[a].attributes.filter((ie,Ve)=>Ve!==z);Y(X);},me=s?Object.keys(s).map(z=>({value:z,label:`${z}: ${s[z]}`})):[],gt=R.map(z=>({value:z,label:z})),kt=!Fn(c.config[a].path),Rt=useMemo(()=>v||(kt&&c.config[a].path!==""?"Format error: Invalid URL.":false),[v,kt,c.config,a]);return jsx(bt,{content:jsxs(Fragment,{children:[jsx(Title,{order:2,children:`Editing Variant: ${c.name}`}),jsx(Space,{h:"xs"}),jsxs(Tabs,{defaultValue:"variant",children:[jsxs(Tabs.List,{grow:true,children:[jsx(Tabs.Tab,{value:"variant",children:"Variant"}),jsx(Tabs.Tab,{value:"members",children:"Members"})]}),jsxs(Tabs.Panel,{value:"variant",py:"md",children:[jsx(Title,{order:3,children:"Variant Settings"}),jsx(Space,{h:"xs"}),jsx(TextInput,{value:c.name,label:"Name",onChange:z=>P$1("name",z.target.value)}),jsx(Space,{h:"xs"}),jsx(TextInput,{value:c.slug,icon:!b&&!d.valid?jsx(IconAlertCircle,{}):jsx(IconCircleCheck,{}),label:"Slug",description:b?"Validating slug...":d.valid?"Valid slug.":"Invalid slug.",error:!b&&!d.valid?jsxs(Text,{children:["Duplicated slug. Suggestion:",jsx(Code,{onClick:()=>P$1("slug",d.suggestion),style:{cursor:"pointer"},children:d.suggestion})]}):false,onChange:z=>P$1("slug",z.target.value)}),jsx(Space,{h:"xs"}),jsx(NumberInput,{value:W.order||0,description:"It affects on explore options order",placeholder:"Order",label:"Order",onChange:z=>{_("order",z);}})]}),jsxs(Tabs.Panel,{value:"members",py:"md",children:[jsx(Title,{order:3,children:"Members Settings"}),jsx(Text,{size:"sm",children:"Members, once ingested, become pages for this variant."}),jsx(_r,{switchProps:{label:`${!N&&K.length>0?"Re-":""}Ingest members`,checked:W.doIngest,onChange:z=>_("doIngest",z.currentTarget.checked)},yesText:`Run the ingestion process and save the variant details.
|
|
4
|
+
Remember include the ingestion information for all the locales.`,noText:"Ingestion is not going to run and the current members are not going to suffer any change."}),W.doIngest&&!N&&K.length>0&&jsxs(Box,{ml:"lg",children:[jsx(Text,{size:"sm",children:"Settings that are going to be applied for members reingestions and for all available languages, matching by unique identificator. All new members are going to be ingested. Images and tags for existing members will be safe."}),F.map(z=>jsx(_r,{switchProps:{disabled:z.disabled,label:z.label,checked:W[z.key],onChange:X=>_(z.key,X.currentTarget.checked)},yesText:z.yesText,noText:z.noText},z.key))]}),!W.doIngest&&jsxs(Fragment,{children:[jsx(Title,{order:2,size:"h4",children:"Ingested members preview"}),jsx(Space,{h:"xs"}),jsxs(Stack,{spacing:0,justify:"center",children:[N&&jsx(Loader,{m:"0 auto"}),!N&&K.length>0&&jsxs(Fragment,{children:[jsx(Vn,{members:K,colsToRender:["id","name","slug"]}),jsx(Vb,{href:"metadata",passHref:true,children:jsx(Text,{c:"dimmed",align:"center",td:"underline",size:"xs",children:"See the full list in Metadata View"})})]})]}),!N&&K.length===0&&jsx(Text,{c:"dimmed",align:"center",children:"No members ingested yet."}),jsx(Space,{h:"xs"})]}),W.doIngest&&jsxs(Fragment,{children:[jsx(Divider,{my:"sm"}),jsx(Title,{order:2,size:"h4",children:"Members ingestion"}),jsx(Space,{h:"xs"}),jsx(SegmentedControl,{value:a,fullWidth:true,onChange:G,data:i,disabled:g$1}),c.config[a]&&jsxs(Fragment,{children:[jsx(Space,{h:"lg"}),jsx(Group,{children:jsx(TextInput,{onChange:z=>A("path",z.target.value),title:"Api endpoint",description:"Enter the url to retrieve a member list to ingest. (JSON) and click Fetch.",value:c.config[a].path,error:Rt,rightSectionWidth:"105px",w:"100%",rightSection:g$1?jsxs(Group,{align:"center",children:[jsx(Loader,{size:"xs"}),jsx(Text,{span:true,variant:"subtle",size:"xs",children:"Fetching..."})]}):jsx(Button,{disabled:g$1||kt,onClick:()=>M(c.config[a].path),leftIcon:jsx(IconPlayerPlay,{}),children:"Fetch"}),readOnly:g$1})}),x&&jsxs("div",{children:[jsx(Space,{h:"md"}),jsx(Select,{value:c.config[a].accessor,label:"Elements",description:`Choose the key that returns the array of elements that
|
|
5
|
+
are going to be ingested as members.`,data:gt,disabled:gt.length===0,placeholder:gt.length===0?"Root is an array":"",onChange:z=>L(z)}),jsx(Divider,{label:"First element preview",labelPosition:"center"}),x[c.config[a].accessor]&&!Array.isArray(x)&&jsx(l,{variables:x[c.config[a].accessor][0]}),Array.isArray(x)&&x[0]&&jsx(l,{variables:x[0]}),jsx(Space,{h:"md"}),jsx(Select,{value:c.config[a].idKey,label:"Unique identificator",description:"Choose the field that is a unique identification for a single member.",data:me,onChange:z=>A("idKey",z)}),jsx(Space,{h:"md"}),jsx(Select,{value:c.config[a].labelKey,label:"Members' name",description:"Choose the field that contains the members name.",data:me,onChange:z=>A("labelKey",z)}),jsx(Space,{h:"md"}),jsx(Select,{value:c.config[a].zValueKey||"",label:"Member's relevance (optional)",description:`Choose a field that will be converted to a number and
|
|
6
|
+
normalized from 0 to 1 to determine the member's relevance.`,data:[{value:"null",label:"None"},...me],onChange:z=>A("zValueKey",z)}),jsx(Space,{h:"md"}),jsx(Title,{order:3,size:"h5",children:"Attributes"}),jsx(Text,{size:"sm",children:"Attributes are properties to be ingested as metadata with the member element. Could be constants (same value for every member) or dynamic (based on a property of the data)"}),jsx(Space,{h:"xs"}),c.config[a].attributes&&c.config[a].attributes.map((z,X)=>jsxs(Group,{align:"end",grow:true,children:[jsx(Select,{value:c.config[a].attributes[X].type,label:"Type",data:[{value:"variable",label:"Data based"},{value:"constant",label:"Constant"}],readOnly:a!==n,disabled:a!==n,onChange:ie=>re("type",X,ie)}),jsx(TextInput,{value:c.config[a].attributes[X].name,label:"Name",readOnly:a!==n,disabled:a!==n,onChange:ie=>re("name",X,ie.target.value)}),z.type==="variable"&&jsx(Select,{value:c.config[a].attributes[X].value,label:"Value",data:me,onChange:ie=>re("value",X,ie)}),z.type==="constant"&&jsx(TextInput,{value:c.config[a].attributes[X].value,label:"Value",onChange:ie=>re("value",X,ie.target.value)}),jsx(ActionIcon,{color:"red",onClick:()=>ae(X),disabled:a!==n,children:jsx(IconTrash,{size:20})})]},X)),jsx(Space,{h:"md"}),jsx(Button,{onClick:ce,leftIcon:"+",disabled:f||a!==n,children:"Add Attribute"})]})]}),jsx(Space,{h:"md"})]})]})]})]}),buttons:jsxs(Fragment,{children:[jsx(Button,{disabled:f||g$1||!b&&!d.valid,onClick:t,variant:"outline",children:"Cancel"}),jsx(Button,{disabled:f||g$1||!b&&!d.valid,loading:f||g$1,onClick:Q,children:`${W.doIngest?`${!N&&K.length>0?"Re-":""}Ingest & `:""}Save`})]}),size:165})}var gd=cb(oS,Ha);function Cd({id:e,onClose:t}){let o=ua(),n=Ga$1(e),[r,i$1]=useState({id:e}),[s,l]=useState(null);useEffect(()=>{n.isSuccess&&i$1(n.data);},[n.status]);let a=useCallback(m=>{o(ta$1.createEntity("variant",{dimension_id:e,name:m.name,slug:i(m.name)}));},[e]),u=useCallback(()=>{o(ta$1.updateEntity("dimension",{...r,id:e})).then(t);},[r]),c=useCallback((m,g)=>{i$1({...r,[m]:m==="slug"?i(g):g});},[]);if(s)return jsx(gd,{id:s,onClose:()=>l(null)});let p=n.isFetching,f=n.isSuccess?n.data.variants:[];return jsx(bt,{content:jsxs(Fragment,{children:[jsx(Title,{order:2,children:`Dimension metadata: ${r.name}`}),jsx(Space,{h:"xs"}),jsx(TextInput,{value:r.name,label:"Name",onChange:m=>c("name",m.target.value)}),jsx(Space,{h:"xs"}),jsx(NumberInput,{value:r.ordering?parseInt(`${r.ordering||0}`,10):0,type:"number",label:"Order",onChange:m=>c("ordering",m)}),jsx(Divider,{my:"xl"}),jsx(Dn,{icon:jsx(IconServer,{size:22}),children:jsx(Title,{order:2,size:"h4",children:"Variants"})}),f.map(m=>jsx(ld,{id:m,onEdit:l},m)),jsx(zn,{fields:[{name:"name",type:"text",label:"Add Variant"}],onSubmit:a,target:jsx(ActionIcon,{size:"xl",radius:"xl",children:jsx(IconCirclePlus,{size:30})})})]}),buttons:jsxs(Fragment,{children:[jsx(Button,{variant:"outline",disabled:p,loading:p,onClick:t,children:"Cancel"}),jsx(Button,{disabled:p,loading:p,onClick:u,children:"Save Dimension"})]}),size:165})}function Pd({id:e,onClose:t}){let o=ua(),n=Da$1(e),[r,i$1]=useState({id:e}),[s,l]=useState(null);useEffect(()=>{n.isSuccess&&i$1(n.data);},[n.status]);let a=useCallback((h,b)=>{o(ta$1.createEntity("dimension",{report_id:e,name:h.name,ordering:b.length+1})).then(C=>{C.ok&&o(ta$1.createEntity("variant",{dimension_id:C.data.id,name:C.data.name,slug:i(C.data.name)}));});},[e]),u=useCallback(()=>{o(ta$1.updateEntity("report",{...r,id:e})).then(t);},[e,r]),c=useCallback((h,b)=>{i$1({...r,[h]:b});},[]),p=(h,b)=>{i$1({...r,settings:{...r.settings,[h]:b}});};if(s)return jsx(Cd,{id:s,onClose:()=>l(null)});let f=n.isFetching,m=n.isSuccess?n.data.dimensions:[],g=r.settings,S=g&&typeof g.order=="number"?g.order:0,v=g&&typeof g.hide=="boolean"?g.hide:false;return jsx(bt,{content:jsxs(Fragment,{children:[jsx(Title,{order:2,children:`Report metadata: ${r.name}`}),jsx(Space,{h:"xs"}),jsx(TextInput,{value:r.name,label:"Name",onChange:h=>c("name",h.target.value)}),jsx(Space,{h:"xs"}),jsxs(Group,{grow:true,children:[jsx(_r,{switchProps:{label:"Show in Explore & Search",checked:!v,onChange:h=>p("hide",!h.currentTarget.checked)},yesText:"Profile appears in Explore search and members are listed in search results",noText:"Profile is hidden in Explore search and members are not included in search results"}),jsx(NumberInput,{defaultValue:0,value:S,description:"It affects the Explore search options order",placeholder:"Order in Explore",label:"Order",disabled:v,onChange:h=>{p("order",h);}})]}),jsx(Divider,{my:"sm"}),jsx(Dn,{icon:jsx(IconDatabase,{size:22}),children:jsx(Title,{order:2,size:"h4",children:"Dimensions"})}),jsx(Grid,{children:m.map(h=>jsx(Grid.Col,{span:6,children:jsx(td,{id:h,onEdit:l})},h))}),jsx(zn,{fields:[{type:"text",name:"name",label:"Add Dimension"}],onSubmit:(h=>a(h,m)),target:jsx(ActionIcon,{size:"xl",radius:"xl",children:jsx(IconCirclePlus,{size:30})})})]}),buttons:jsxs(Fragment,{children:[jsx(Button,{variant:"outline",disabled:f,loading:f,onClick:t,children:"Cancel"}),jsx(Button,{disabled:f,loading:f,onClick:u,children:"Save Report"})]}),size:165})}function Ld(e){let{report:t}=e,{newConfirmation:o}=b(),{selectEntity:n}=Ka(),r=useContext(db$1),i=Ya(r),s=ua(),l=va$1(F=>F.status.previews),a=a$2(),u=Number.parseInt(a.params[0]),c=Da$1(u),p=Qa$1(),f=Ra$1(),m=b$2(),g=va$1(F=>F.status.localeDefault),S=Za("settings"),v=Za("reportEditor"),h=Za("tools"),b$1=Za("debugView"),C=g$2(u),d=t&&t.dimensions?t.dimensions:[],y=d.length>0,x=l.filter(F=>F.variant_slug).reduce((F,L)=>F.concat([L.variant_slug,L.slug]),[]),k=m===g?"":`/${m}`,R=f||p,B=x.length?`${k}${R}/${x.join("/")}`:"",N=x.length?`${k}${p}/${x.join("/")}`:"",[$,K]=useState(null),T=useMemo(()=>{let F=[];return B&&f&&F.push({value:"preview",label:"Open Preview",url:B,Icon:IconFileCode}),N&&F.push({value:"report",label:"Open Report",url:N,Icon:IconFileAnalytics}),F},[B,N,f]);useEffect(()=>{!$&&T.length>0&&K(T[0].value);},[T,$]);let M=useMemo(()=>T.find(F=>F.value===$)||null,[T,$]),I=useCallback(()=>{M?.url&&window.open(M.url,"_blank","noopener,noreferrer");},[M]),O=useCallback(F=>{K(F);},[]),G=F=>{a.setSearchParam("locale",F),s(ta$1.readMember({mode:"content_ids",variant:l.map(L=>L.variant_id),content_ids:l.map(L=>L.content_id),locale:F,output:"full"})).then(({results:L})=>{s(ta$1.setCurrentLocale(F)),L&&L.length===d.length&&d.length?i({previews:L}):i({previews:[]});});},W=useCallback(async()=>{try{let F=N;await o({title:"Are you sure?",message:`Revalidate action will force to regenerate page: ${F}.`,confirmText:"Revalidate now!"}),await s(ta$1.revalidateUrl({target:F})).then(L=>{let U=`Revalidated page ${L.target} you will see the changes in the following minutes.`;notifications.show({autoClose:!1,color:"green",id:"revalidate-results",message:U,title:"Revalidate Results"});}).catch(L=>{notifications.show({autoClose:!1,color:"red",id:"revalidate-error",message:L.message,title:"Revalidate Error"});});}catch{console.error("Revalidate error.");}},[B,N,f]);return jsxs(Fragment,{children:[jsx(_p,{left:jsxs(Group,{children:[jsx(ActionIcon,{color:"blue",variant:"filled",onClick:()=>{n({type:"report",id:t.id}),S.handlers.open();},children:jsx(IconSettingsFilled,{size:20})}),jsx(Lr,{value:m,onChange:G,selectProps:{size:"xs",maw:80}}),jsx(SegmentedControl,{size:"xs",radius:"sm",sx:F=>({background:F.colors.blue[0]}),data:[{label:"Editor",value:"editor"},{label:"Debug",value:"debug"}],onChange:F=>{F==="editor"?b$1.handlers.close():(h.handlers.close(),v.handlers.close(),S.handlers.close(),b$1.handlers.open());}})]}),center:jsxs(Group,{children:[jsx(qs,{report:t,defaultMembers:C?.map(F=>({variantId:F.variantId,memberId:F.contentId})),locale:m}),(B||N)&&T.length>0&&jsxs(Group,{spacing:0,children:[jsx(Button,{onClick:I,disabled:!M,variant:"light",fw:700,radius:"sm",fz:12,pr:10,pl:5,mih:"1.875rem",compact:true,leftIcon:M?.Icon?jsx(M.Icon,{size:14}):null,sx:{borderTopRightRadius:0,borderBottomRightRadius:0},children:M?.label||"Select view"}),jsxs(Menu,{position:"bottom",withArrow:true,children:[jsx(Menu.Target,{children:jsx(ActionIcon,{variant:"light",radius:"sm",sx:F=>({borderTopLeftRadius:0,borderBottomLeftRadius:0,borderLeft:"1px solid #fff",backgroundColor:"#e7f5ff",minHeight:"1.875rem",height:"1.875rem",width:"1.875rem",fontSize:"12px"}),children:jsx(IconChevronDown,{size:14,color:"#228be6"})})}),jsx(Menu.Dropdown,{children:T.map(F=>{let L=F.Icon;return jsx(Menu.Item,{onClick:()=>O(F.value),icon:L?jsx(L,{size:20}):null,children:F.label},F.value)})})]})]})]}),right:jsxs(Group,{children:[l.length>0&&$!=="preview"&&jsx(Button,{variant:"light",fw:700,radius:"sm",fz:12,pr:10,pl:5,mih:"1.875rem",onClick:W,leftIcon:jsx(IconWorldUpload,{size:14}),compact:true,children:"Publish"}),!y&&jsx(Button,{size:"xs",variant:"outline",onClick:v.handlers.open,children:"Import Data"})]})}),jsx(Drawer,{opened:v.opened,onClose:v.handlers.close,title:jsx(Dn,{icon:jsx(IconFileAnalytics,{size:24}),children:`Editing Report: ${c.data?c.data.name:""}`}),size:"50%",padding:"xl",position:"right",children:jsx(Pd,{id:u,onClose:v.handlers.close})})]})}function OS({type:e,id:t,warning:o=""}){let n=v[e]||"Entity",r=o||`Delete this ${n} and all its contents? This action cannot be undone.`,i=useDispatch(),{newConfirmation:s}=b();return jsx(ActionIcon,{color:"red",onClick:async()=>{try{await s({title:"Are you sure?",message:r,confirmText:"Yes, Delete it."}),i(ta$1.deleteEntity(e,t));}catch{}},children:jsx(IconTrash,{size:20})})}var zd=OS;var Fd=e=>!e||e.trim()===""?false:e.trim().startsWith("/")?true:Fn(e);function US({defaultValue:e,id:t,onChangeAPI:o,onDelete:n,finalUrl:r,dataSource:i,pos:s}){let l=Oa$1(),a=Sa$1(t),[u,c]=useState(()=>I(e,l,a)),[p,f]=useState(e),[m,g]=useState(false),S=B=>{m&&!k&&(B.preventDefault(),o(p),g(false));},v=B=>{let{value:N}=B.target;c(I(N,l,a)),f(N);},h=()=>{g(false),c(I(e,l,a));},b=()=>{g(!m);},C=()=>{n();},d=useMemo(()=>(u||"").indexOf("bespoke_slugs=")>-1,[u]),y=useMemo(()=>!(u&&(u.trim()===""||Fd(u))),[u,Fd]),x=useMemo(()=>u.includes("N/A"),[u]),k=useMemo(()=>y||x,[y,x]),R=useMemo(()=>{let B=[];return y&&B.push("Invalid URL format"),x&&B.push("URL contains 'N/A', probably you are using a variable that is not in scope"),B.join(". ")},[y,x]);return jsxs(Stack,{spacing:0,p:m?"xs":0,mb:m?3:0,bg:m?"gray.0":"transparent",children:[jsxs(Group,{noWrap:true,position:"apart",spacing:"xs",children:[jsxs(Text,{lineClamp:1,size:"xs",children:[s,". ",jsx(Anchor,{href:r||u,target:"_blank",rel:"noreferrer",children:r||u||"--Add API Url--"})]}),jsx(Group,{noWrap:true,spacing:0,children:m?jsxs(Fragment,{children:[jsx(Tooltip,{label:k?"Invalid URL format":"Apply changes",children:jsx(ActionIcon,{size:"md",onClick:S,color:"green",sx:{opacity:k?.4:1},children:jsx(IconCheck,{size:rem(20)})})}),jsx(ActionIcon,{size:"md",onClick:h,color:"red",children:jsx(IconX,{size:rem(20)})})]}):jsxs(Fragment,{children:[d&&jsx(Tooltip,{multiline:true,label:"Slugs Interceptor Enabled",children:jsx(IconGitMerge,{size:rem(18),color:"gray"})}),i&&jsx(Tooltip,{multiline:true,label:`Datasource Interceptor Enabled called "${i}"`,children:jsx(IconNetwork,{size:rem(18),color:"gray"})}),x&&jsx(Tooltip,{multiline:true,label:"API URL contains 'N/A', probably you are using a variable that is not in scope",children:jsx(IconAlertTriangle,{size:rem(20),color:"red"})}),jsx(ActionIcon,{size:"md",onClick:b,children:jsx(IconPencil,{size:rem(20)})}),jsx(ActionIcon,{size:"md",onClick:C,children:jsx(IconTrash,{color:"red"})})]})})]}),m&&jsx(Stack,{spacing:"xs",children:jsx(Textarea,{placeholder:"API URL here: https://api.example.com/v1/data?id={{id1}}",defaultValue:p,onChange:v,onKeyDown:getHotkeyHandler([["enter",S]]),size:"sm",minRows:2,maxRows:6,autosize:true,sx:{width:"100%"},error:k?`${R} ${u}`:false},"textarea")})]})}var $d=US;function qS({monacoOptions:e}){let t=useMonaco();return useEffect(()=>{if(t){let o="Monokai";import(`monaco-themes/themes/${o}.json`).then(n=>{t.editor.defineTheme(o,n),t.editor.setTheme(o);}).catch(()=>{throw new Error("Invalid Monaco theme")});}},[t]),jsx(Box,{className:"cr-monaco-container",w:"100%",children:jsx(jS,{defaultLanguage:"javascript",theme:"Monokai",...e})})}var rn=qS;function ax({status:e,block:t,variables:o}){let{settings:n,contentByLocale:r}=t,i=!!(n&&n.useProxy&&n.useProxy==="true"),s=r?.logic?.content?.api&&r.logic.content.api!==""?r.logic.content.api.split("|||").length:0,l=e&&e.apiDataSources?e.apiDataSources.some(m=>m!==false):false,a=useMemo(()=>e.apiFinalUrls?typeof e.apiFinalUrls=="string"?e.apiFinalUrls.includes("N/A")?1:0:Array.isArray(e.apiFinalUrls)?e.apiFinalUrls.filter(m=>m.includes("N/A")).length:0:0,[e.apiFinalUrls]),u=!!([z.GENERATOR,z.SECTION_FLAG].includes(t.type)&&e.api&&e.api.indexOf("bespoke_slugs=")>-1),c=W(t),p=c?o[T]:false,f=[z.GENERATOR,z.SECTION_FLAG].includes(t.type)&&o?JSON.stringify(o).length/1024:void 0;return jsxs(Group,{spacing:5,children:[jsx(Tooltip,{multiline:true,label:`Number of requests: ${s}`,children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:"blue",children:jsx(Text,{size:rem(12),span:true,fw:"bold",children:s})})}),a>0&&jsx(Tooltip,{multiline:true,label:`${a} of your URLs in this generator contains 'N/A', probably you are using a variable that is not in scope`,children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:"orange",children:jsx(IconAlertTriangle,{size:rem(12)})})}),i&&jsx(Tooltip,{multiline:true,label:`Use Proxy Setting (avoid CORS): ${i?"YES":"NO"}`,children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:"blue",children:jsx(IconCloudNetwork,{size:rem(12)})})}),l&&jsx(Tooltip,{multiline:true,label:"Data Source Interceptor Active at least in one request",children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:"blue",children:jsx(IconNetwork,{size:rem(12)})})}),u&&jsx(Tooltip,{multiline:true,label:"Slugs Interceptor Enabled at least in one request",children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:"blue",children:jsx(IconGitMerge,{size:rem(12)})})}),e.duration&&jsx(Tooltip,{multiline:true,label:`Api Call Duration: ${e.duration} ms`,children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:ba(e.duration),children:jsx(IconClockHour2,{size:rem(12)})})}),e.responseSize&&jsx(Tooltip,{multiline:true,label:`Api Response Size: \u2248${e.responseSize.toFixed(2)} Kb`,children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:ca(e.responseSize),children:jsx(IconApi,{size:rem(12)})})}),f&&jsx(Tooltip,{multiline:true,label:`Block Output Size: \u2248${f.toFixed(2)} Kb`,children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:ca(f),children:jsx(IconAugmentedReality,{size:rem(12)})})}),c&&jsx(Tooltip,{multiline:true,label:`Section #${t.section_id} Allowed Flag: ${p?"YES":"NO"}`,children:jsx(ThemeIcon,{size:"sm",radius:"xl",color:p?"green":"red",children:jsx(IconFlag,{size:rem(12)})})})]})}var pa=ax;var da={api:null,duration:null,error:null,log:[],responseSize:null,resp:null,allowed:true};function yx({block:e,status:t,sectionFlag:o,variables:n}){let r=useMemo(()=>o?jsx(ThemeIcon,{variant:"filled",radius:"xl",size:"sm",color:"orange",children:jsx(IconFlag,{size:"0.8rem"})}):jsx(ThemeIcon,{variant:"filled",radius:"xl",size:"sm",color:"yellow",children:jsx(IconBraces,{size:"0.8rem"})}),[o]);return jsxs(Fragment,{children:[jsxs(Group,{position:"left",pt:"xl",children:[jsxs(Group,{children:[r,jsxs(Title,{order:6,children:[P$1[e.type]," ",e.id]})]}),jsx(Group,{my:"xs",children:jsx(pa,{status:t,block:e,variables:n})})]}),jsx(Divider,{})]})}function vx(e){let{active:t,allowed:o$1,blockStateContent:n,blockStateSettings:r,debug:i,for:s,locale:l,isFetching:a}=e,u=La$1(s.id),c$1=Oa$1(),p=Pa$1(),f=Sa$1(s.id,l),m=va$1(M=>M.variables.variables[s.id]||{}),g=va$1(M=>M.variables.status[s.id]||{}),S=R[s.type].renderPreviewOnEdit&&n?n:O(s,l),v=R[s.type].renderPreviewOnEdit&&r?r:s.settings,[h,b]=useState(null),[C,d]=useState(da),y=W(s),x=c(),k=a$1();useEffect(()=>{(async()=>{if(s.type===z.VIZ){b({block:s,locale:l,variables:u,active:t}),d(da);return}if(!t&&!R[s.type].evalWhenNonActive){let{nonActiveAdapter:L}=R[s.type],U=L&&typeof L=="function"?L():{};b(U),d(da);return}if([z.GENERATOR,z.SECTION_FLAG].includes(s.type)){let L=!!s.contentByLocale?.logic?.content?.api,U=y?m[T]:false;b({outputVariables:m,hasAPI:L,sectionAllowed:U,type:s.type}),d(g);return}if([z.SELECTOR,z.MULTIHIERARCHY_SELECTOR].includes(s.type)){let{renderVariables:L,status:U}=await _(s,c$1,f,x,p,k),P=o[s.type]&&typeof o[s.type]=="function"?o[s.type](L,s.id):L;b(P),d(U);return}if(s.type===z.RELATED){let{outputVariables:L}=await _(s,c$1,f,x,p,k),{related_reports:U}=L;b({related_reports:U});return}if(s.type===z.RESET_BUTTON||s.type===z.COMPARISON_BUTTON){b(S.simple||{});return}let I$1=I(S?.logic,c$1,f),{vars:O,error:G,log:W}=H("variables",u,I$1,c$1,void 0,f),F=o[s.type]&&typeof o[s.type]=="function"?o[s.type](O,s.id):O;if(s.type===z.NAV){b({headings:s.inputs,settings:s.settings,...F});return}b(F),d({...da,error:G,log:W});})();},[S,u,y]),useEffect(()=>{g&&g.error&&g.error!==""&¬ifications.show({autoClose:1e4,color:"red",id:"block-error",message:g.error,title:`Block error ID: ${s.id}`});},[g.error]);let R$1=M[s.type],N=jsx("div",{style:{...{width:"100%",height:"100%",position:"absolute",top:0,left:0,opacity:.9,zIndex:4,pointerEvents:"none"},backgroundColor:"pink"},children:jsx(Center,{h:"100%",children:jsx(Text,{size:"sm",tt:"capitalize",italic:true,children:g.hiddenByCascade===s.id?`${s.type} not allowed`:`${s.type} hidden by block ${g.hiddenByCascade}`})})});if(a)return jsx(Center,{style:{minHeight:100},w:"100%",children:jsx(Loader,{})});if(!h)return null;let{error:$,log:K}=C,T$1=K?K.join(`
|
|
7
|
+
`):"";return jsxs("div",{id:`bespoke-${s.type}-${s.id}`,className:"cms-block-preview bespoke-block-area",style:{width:"100%",minHeight:s.type===z.VIZ?400:"auto"},children:[!o$1&&N,[z.GENERATOR,z.SECTION_FLAG].includes(s.type)&&jsx(yx,{block:s,status:C,sectionFlag:y,variables:h}),R$1?jsx(Fragment$1,{children:jsx(R$1,{id:s.id,debug:i,section:s.section_id,...h,settings:v,status:C})},"renderer"):jsx(Center,{style:{minHeight:100},children:jsx(Badge,{color:"gray",variant:"outline",children:s.type},"type")}),i&&T$1&&jsx(Textarea,{label:"Console",minRows:3,readOnly:true,autosize:true,maxRows:10,value:T$1,error:$}),i&&$&&jsx(Textarea,{label:"Error",readOnly:true,autosize:true,minRows:3,maxRows:10,value:$})]})}var fa=cb(vx,Fa$1);function Ax({id:e,setBlockSettings:t}){let{newConfirmation:o}=b(),n=ua(),r=Fa$1(e).data,[i,s]=useState(r.settings[C$1.ACCESS]||["public"]),[l,a]=useState(r.settings[C$1.FALLBACK]||false),u=La$1(e),c=useMemo(()=>[{value:"always",label:"always",group:"Static"},{value:"never",label:"never",group:"Static"}].concat(Object.keys(u).map(y=>({value:y,label:`${y}: ${u[y]}`,group:"Based on variable"}))),[u]),p=[{label:"Section-wide",value:"false"},{label:"Report-wide",value:"true"}];useEffect(()=>{t({[C$1.ACCESS]:i}),i.includes("public")&&a(false);},[i]),useEffect(()=>{t({[C$1.FALLBACK]:l});},[l]);let f=async()=>{try{await o({title:"Are you sure?",message:"Delete this block and all its contents? This action cannot be undone.",confirmText:"Yes, Delete it."}),n(ta$1.deleteEntity("block",e));}catch{}},m=(y,x)=>{t({[y]:x});},g=y=>{let x=`return variables.${y}`;y==="always"&&(x="return true;"),y==="never"&&(x="return false;"),t({[C$1.ALLOWED]:y,[C$1.ALLOWED_LOGIC]:x});},S=y=>{t({[C$1.IGNORE_CASCADE]:y});},v=va$1(y=>y.records.entities.block),h=r.consumers.filter(y=>v[y].section_id!==r.section_id),b$1=!!h.length,C=h.slice(0,3).map((y,x)=>jsxs(Fragment,{children:[x===h.length-1&&h.length>1?"and ":"",jsx("strong",{children:`${v[y].type} ${y} [Section ${v[y].section_id}]`},y),x<h.length-1&&h.length>1?", ":""]})),d=r.inputs.map(y=>({label:`${v[y]?.type} - ${v[y]?.id}`,value:y}));return jsx(Group,{grow:true,align:"flex-start",children:jsxs(Stack,{justify:"flex-start",children:[jsx(Title,{order:4,children:"Visibility"}),jsx(Select,{label:"Show",description:"Set visibility setting for this block. A hidden block will not run or export variables to its consumers. As a result, all its consumers will be hidden too.",defaultValue:r.settings[C$1.ALLOWED]||"always",onChange:g,data:c}),[z.GENERATOR,z.VIZ,z.SECTION_FLAG].includes(r.type)&&jsx(MultiSelect,{label:"Ignore cascade",description:"Set block as visible even if the selected inputs are hidden.",defaultValue:r.settings[C$1.IGNORE_CASCADE]||[],data:d,onChange:S}),jsx(I$1,{value:i,onChange:s}),jsx(Checkbox,{checked:l,disabled:i.includes("public"),label:"Show fallback block when block is not allowed",onChange:y=>a(y.currentTarget.checked)}),jsx(Title,{order:4,children:"Output"}),b$1&&r.shared&&jsxs(Text,{size:"xs",color:"red.4",sx:{display:"flex",alignItems:"flex-start",gap:"0.4rem"},children:[jsx(IconAlertCircle,{size:"1.2rem"}),jsxs(Text,{color:"black",span:true,inherit:true,children:["This block is being consumed by ",C,h.length>3&&" and others",". Please, make sure you remove this block dependencies before changing this setting."]})]}),jsx(Select,{label:"Block scope",description:"Select the scope for the variables exported by this block. Section-wide (available only to blocks in the same section) or Report-wide (available to any block inside the report).",defaultValue:String(r.shared),disabled:b$1&&r.shared,onChange:y=>m("shared",y==="true"),data:p}),jsx(Title,{order:4,children:"Danger zone"}),jsx(Button,{variant:"outline",color:"red",onClick:f,children:"Delete Block"})]})})}var Jd=Ax;var gl={Consumer:jsx(ThemeIcon,{size:"xs",radius:"xl",color:"red",variant:"light",children:jsx(IconLogout,{})}),Input:jsx(ThemeIcon,{size:"xs",radius:"xl",color:"green",children:jsx(IconCircleCheck,{})}),None:jsx(ThemeIcon,{size:"xs",radius:"xl",color:"gray",children:jsx(IconCirclePlus,{})})};function Ux({id:e}){let t=ua(),o=useContext(db$1),n=Ya(o),[r,i]=useState(""),[s]=useDebouncedValue(r,200),l$1=va$1(v=>{if(v.records.reports&&v.records.reports[0]){let h=v.records.reports[0],b=v.records.entities.report[h].sections;return Object.values(v.records.entities.block).filter(C=>b.includes(C.section_id))}return []}),a=Fa$1(e).data,u=va$1(v=>v.variables.variables),c=useMemo(()=>a?a.inputs.reduce((v,h)=>({...v,[h]:l$1[h]}),{}):[],[a]),p=(v,h)=>{if(!a)return 0;let b=a.inputs.includes(v.id),C=a.inputs.includes(h.id);if(b!==C)return b?1:-1;let d=Object.keys(u[v.id]||{}).length,y=Object.keys(u[h.id]||{}).length;return d!==y?y-d:v.shared?1:-1},f=useMemo(()=>l$1.filter(v=>v.id!==a.id&&(v.section_id===a.section_id||v.shared)&&v.type!==z.SECTION_FLAG).sort(p),[l$1]),m=useMemo(()=>f.filter(v=>{let h=String(v.id).includes(s.trim()),b=Object.keys(u[v.id]||{}).some(C=>C.includes(s.trim()));return h||b}),[f,s,u]),g=v=>{let h=c[v]?"delete":"create";t(ta$1.updateEntity("block",{id:e,inputAction:{operation:h,input:{input_id:v,block_id:e}}})).then(()=>{n();});};if(!a)return null;let S=v=>a.consumers.includes(v)?gl.Consumer:a.inputs.includes(v)?gl.Input:gl.None;return jsxs(Menu,{width:"425px",children:[jsx(Menu.Target,{children:jsx(Button,{fullWidth:true,sx:{marginBottom:"15px"},leftIcon:jsx(IconLogin,{size:"1rem",style:{transform:"scaleX(-1)"}}),children:"Add New Input"})}),jsxs(Menu.Dropdown,{children:[jsx(TextInput,{placeholder:"Search by variable name or block id.",size:"xs",value:r,onChange:v=>i(v.target.value)}),m.map(({id:v,shared:h})=>jsx(Menu.Item,{disabled:a.consumers.includes(v),onClick:()=>g(v),icon:S(v),rightSection:jsxs(Stack,{ml:"xs",spacing:"xs",align:"flex-end",children:[jsxs(Text,{size:"xs",color:"gray.6",children:["[",v,"]"]}),h?jsx(ThemeIcon,{size:"xs",radius:"xl",children:jsx(IconGlobe,{})}):null]}),children:jsx(Box,{style:{maxWidth:"400px"},children:jsx(l,{id:`${v}`,variables:u[v]})})},v))]})]})}var Qd=Ux;var hl=e=>`
|
|
8
|
+
`.padEnd(e*2+1," "),Zd=(e,t=0)=>{let o=e instanceof Array;return `${o?"[":"{"}${hl(t+1)}${Object.keys(e).sort((n,r)=>n.localeCompare(r)).map(n=>{let r=o?"":`${n}: `,i=e[n];return typeof i=="object"?r+=`${Zd(i,t+1)}`:typeof i=="string"&&(i.includes("=>")||i.startsWith("variables["))?r+=`${i}`:typeof i=="string"&&!i.length?r+="false":i===void 0?r=null:["boolean","number"].includes(typeof i)?r+=i:r+=`"${i}"`,r}).filter(n=>n!==null).join(`,${hl(t+1)}`)}${hl(t)}${o?"]":"}"}`},Wn=Zd;var ef=e=>{if(!e)return e;let t=Array.isArray(e)?[]:{};return Object.keys(e).forEach(o=>{t[o]=typeof e[o]=="object"?ef(e[o]):e[o];}),t},ya=ef;var Hx=(e,t=false)=>{let o=/([A-z0-9]*)\{\{([^}]+)\}\}/g,n=(s,l,a)=>l?`\${formatters.${l}(variables.${a})}`:`\${variables.${a}}`,r=s=>typeof s=="string"?s.trim()===""?false:t?s.replace(o,n):s:Array.isArray(s)?s.map(l=>r(l)):typeof s=="object"&&s!==null?Object.keys(s).sort((l,a)=>l.localeCompare(a)).reduce((l,a)=>({...l,[a]:r(s[a])}),{}):typeof s=="boolean"||typeof s=="number"?s:JSON.stringify(s),i=r(e);return Array.isArray(e)?`return ${JSON.stringify(i)};`:Object.keys(i).sort((s,l)=>s.localeCompare(l)).reduce((s,l)=>{let a;return typeof i[l]=="string"?i[l].includes("=>")||i[l].startsWith("variables[")?a=i[l]:a=`\`${i[l]}\``:typeof i[l]=="boolean"||typeof i[l]=="number"?a=i[l]:a=JSON.stringify(i[l]),s.concat(`"${l}": ${a},
|
|
9
|
+
`)},"return {").concat("};")},ro=Hx;function cf(e){let{state:t,transaction:o}=e,{selection:n}=o,{doc:r}=o,{storedMarks:i}=o;return {...t,apply:t.apply.bind(t),applyTransaction:t.applyTransaction.bind(t),plugins:t.plugins,schema:t.schema,reconfigure:t.reconfigure.bind(t),toJSON:t.toJSON.bind(t),get storedMarks(){return i},get selection(){return n},get doc(){return r},get tr(){return n=o.selection,r=o.doc,i=o.storedMarks,o}}}var Sl=class{constructor(t){this.editor=t.editor,this.rawCommands=this.editor.extensionManager.commands,this.customState=t.state;}get hasCustomState(){return !!this.customState}get state(){return this.customState||this.editor.state}get commands(){let{rawCommands:t,editor:o,state:n}=this,{view:r}=o,{tr:i}=n,s=this.buildProps(i);return Object.fromEntries(Object.entries(t).map(([l,a])=>[l,(...c)=>{let p=a(...c)(s);return !i.getMeta("preventDispatch")&&!this.hasCustomState&&r.dispatch(i),p}]))}get chain(){return ()=>this.createChain()}get can(){return ()=>this.createCan()}createChain(t,o=true){let{rawCommands:n,editor:r,state:i}=this,{view:s}=r,l=[],a=!!t,u=t||i.tr,c=()=>(!a&&o&&!u.getMeta("preventDispatch")&&!this.hasCustomState&&s.dispatch(u),l.every(f=>f===true)),p={...Object.fromEntries(Object.entries(n).map(([f,m])=>[f,(...S)=>{let v=this.buildProps(u,o),h=m(...S)(v);return l.push(h),p}])),run:c};return p}createCan(t){let{rawCommands:o,state:n}=this,r=false,i=t||n.tr,s=this.buildProps(i,r);return {...Object.fromEntries(Object.entries(o).map(([a,u])=>[a,(...c)=>u(...c)({...s,dispatch:void 0})])),chain:()=>this.createChain(i,r)}}buildProps(t,o=true){let{rawCommands:n,editor:r,state:i}=this,{view:s}=r,l={tr:t,editor:r,view:s,state:cf({state:i,transaction:t}),dispatch:o?()=>{}:void 0,chain:()=>this.createChain(t,o),can:()=>this.createCan(t),get commands(){return Object.fromEntries(Object.entries(n).map(([a,u])=>[a,(...c)=>u(...c)(l)]))}};return l}};function dt(e,t,o){return e.config[t]===void 0&&e.parent?dt(e.parent,t,o):typeof e.config[t]=="function"?e.config[t].bind({...o,parent:e.parent?dt(e.parent,t,o):null}):e.config[t]}function bC(e){let t=e.filter(r=>r.type==="extension"),o=e.filter(r=>r.type==="node"),n=e.filter(r=>r.type==="mark");return {baseExtensions:t,nodeExtensions:o,markExtensions:n}}function rt(e,t){if(typeof e=="string"){if(!t.nodes[e])throw Error(`There is no node type named '${e}'. Maybe you forgot to add the extension?`);return t.nodes[e]}return e}function uf(...e){return e.filter(t=>!!t).reduce((t,o)=>{let n={...t};return Object.entries(o).forEach(([r,i])=>{if(!n[r]){n[r]=i;return}if(r==="class"){let l=i?i.split(" "):[],a=n[r]?n[r].split(" "):[],u=l.filter(c=>!a.includes(c));n[r]=[...a,...u].join(" ");}else if(r==="style"){let l=i?i.split(";").map(c=>c.trim()).filter(Boolean):[],a=n[r]?n[r].split(";").map(c=>c.trim()).filter(Boolean):[],u=new Map;a.forEach(c=>{let[p,f]=c.split(":").map(m=>m.trim());u.set(p,f);}),l.forEach(c=>{let[p,f]=c.split(":").map(m=>m.trim());u.set(p,f);}),n[r]=Array.from(u.entries()).map(([c,p])=>`${c}: ${p}`).join("; ");}else n[r]=i;}),n},{})}function yC(e){return typeof e=="function"}function nt(e,t=void 0,...o){return yC(e)?t?e.bind(t)(...o):e(...o):e}function vC(e){return Object.prototype.toString.call(e)==="[object RegExp]"}var Ta=class{constructor(t){this.find=t.find,this.handler=t.handler;}};var xl=class{constructor(t){this.find=t.find,this.handler=t.handler;}};function SC(e){return Object.prototype.toString.call(e).slice(8,-1)}function va(e){return SC(e)!=="Object"?false:e.constructor===Object&&Object.getPrototypeOf(e)===Object.prototype}function Pa(e,t){let o={...e};return va(e)&&va(t)&&Object.keys(t).forEach(n=>{va(t[n])&&va(e[n])?o[n]=Pa(e[n],t[n]):o[n]=t[n];}),o}var ao=class e{constructor(t={}){this.type="extension",this.name="extension",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=nt(dt(this,"addOptions",{name:this.name}))),this.storage=nt(dt(this,"addStorage",{name:this.name,options:this.options}))||{};}static create(t={}){return new e(t)}configure(t={}){let o=this.extend({...this.config,addOptions:()=>Pa(this.options,t)});return o.name=this.name,o.parent=this.parent,o}extend(t={}){let o=new e({...this.config,...t});return o.parent=this,this.child=o,o.name=t.name?t.name:o.parent.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${o.name}".`),o.options=nt(dt(o,"addOptions",{name:o.name})),o.storage=nt(dt(o,"addStorage",{name:o.name,options:o.options})),o}};function xC(e,t,o){let{from:n,to:r}=t,{blockSeparator:i=`
|
|
10
|
+
|
|
11
|
+
`,textSerializers:s={}}=o||{},l="";return e.nodesBetween(n,r,(a,u,c,p)=>{var f;a.isBlock&&u>n&&(l+=i);let m=s?.[a.type.name];if(m)return c&&(l+=m({node:a,pos:u,parent:c,index:p,range:t})),false;a.isText&&(l+=(f=a?.text)===null||f===void 0?void 0:f.slice(Math.max(n,u)-u,r-u));}),l}function CC(e){return Object.fromEntries(Object.entries(e.nodes).filter(([,t])=>t.spec.toText).map(([t,o])=>[t,o.spec.toText]))}ao.create({name:"clipboardTextSerializer",addOptions(){return {blockSeparator:void 0}},addProseMirrorPlugins(){return [new Plugin({key:new PluginKey("clipboardTextSerializer"),props:{clipboardTextSerializer:()=>{let{editor:e}=this,{state:t,schema:o}=e,{doc:n,selection:r}=t,{ranges:i}=r,s=Math.min(...i.map(c=>c.$from.pos)),l=Math.max(...i.map(c=>c.$to.pos)),a=CC(o);return xC(n,{from:s,to:l},{...this.options.blockSeparator!==void 0?{blockSeparator:this.options.blockSeparator}:{},textSerializers:a})}}})]}});var kC=()=>({editor:e,view:t})=>(requestAnimationFrame(()=>{var o;e.isDestroyed||(t.dom.blur(),(o=window?.getSelection())===null||o===void 0||o.removeAllRanges());}),true),TC=(e=false)=>({commands:t})=>t.setContent("",e),wC=()=>({state:e,tr:t,dispatch:o})=>{let{selection:n}=t,{ranges:r}=n;return o&&r.forEach(({$from:i,$to:s})=>{e.doc.nodesBetween(i.pos,s.pos,(l,a)=>{if(l.type.isText)return;let{doc:u,mapping:c}=t,p=u.resolve(c.map(a)),f=u.resolve(c.map(a+l.nodeSize)),m=p.blockRange(f);if(!m)return;let g=liftTarget(m);if(l.type.isTextblock){let{defaultType:S}=p.parent.contentMatchAt(p.index());t.setNodeMarkup(m.start,S);}(g||g===0)&&t.lift(m,g);});}),true},EC=e=>t=>e(t),IC=()=>({state:e,dispatch:t})=>createParagraphNear(e,t),AC=(e,t)=>({editor:o,tr:n})=>{let{state:r}=o,i=r.doc.slice(e.from,e.to);n.deleteRange(e.from,e.to);let s=n.mapping.map(t);return n.insert(s,i.content),n.setSelection(new TextSelection(n.doc.resolve(s-1))),true},PC=()=>({tr:e,dispatch:t})=>{let{selection:o}=e,n=o.$anchor.node();if(n.content.size>0)return false;let r=e.selection.$anchor;for(let i=r.depth;i>0;i-=1)if(r.node(i).type===n.type){if(t){let l=r.before(i),a=r.after(i);e.delete(l,a).scrollIntoView();}return true}return false},RC=e=>({tr:t,state:o,dispatch:n})=>{let r=rt(e,o.schema),i=t.selection.$anchor;for(let s=i.depth;s>0;s-=1)if(i.node(s).type===r){if(n){let a=i.before(s),u=i.after(s);t.delete(a,u).scrollIntoView();}return true}return false},OC=e=>({tr:t,dispatch:o})=>{let{from:n,to:r}=e;return o&&t.delete(n,r),true},MC=()=>({state:e,dispatch:t})=>deleteSelection(e,t),DC=()=>({commands:e})=>e.keyboardShortcut("Enter"),LC=()=>({state:e,dispatch:t})=>exitCode(e,t);function wa(e,t,o={strict:true}){let n=Object.keys(t);return n.length?n.every(r=>o.strict?t[r]===e[r]:vC(t[r])?t[r].test(e[r]):t[r]===e[r]):true}function Cl(e,t,o={}){return e.find(n=>n.type===t&&wa(n.attrs,o))}function BC(e,t,o={}){return !!Cl(e,t,o)}function kl(e,t,o={}){if(!e||!t)return;let n=e.parent.childAfter(e.parentOffset);if(e.parentOffset===n.offset&&n.offset!==0&&(n=e.parent.childBefore(e.parentOffset)),!n.node)return;let r=Cl([...n.node.marks],t,o);if(!r)return;let i=n.index,s=e.start()+n.offset,l=i+1,a=s+n.node.nodeSize;for(Cl([...n.node.marks],t,o);i>0&&r.isInSet(e.parent.child(i-1).marks);)i-=1,s-=e.parent.child(i).nodeSize;for(;l<e.parent.childCount&&BC([...e.parent.child(l).marks],t,o);)a+=e.parent.child(l).nodeSize,l+=1;return {from:s,to:a}}function zo(e,t){if(typeof e=="string"){if(!t.marks[e])throw Error(`There is no mark type named '${e}'. Maybe you forgot to add the extension?`);return t.marks[e]}return e}var zC=(e,t={})=>({tr:o,state:n,dispatch:r})=>{let i=zo(e,n.schema),{doc:s,selection:l}=o,{$from:a,from:u,to:c}=l;if(r){let p=kl(a,i,t);if(p&&p.from<=u&&p.to>=c){let f=TextSelection.create(s,p.from,p.to);o.setSelection(f);}}return true},NC=e=>t=>{let o=typeof e=="function"?e(t):e;for(let n=0;n<o.length;n+=1)if(o[n](t))return true;return false};function pf(e){return e instanceof TextSelection}function an(e=0,t=0,o=0){return Math.min(Math.max(e,t),o)}function VC(e,t=null){if(!t)return null;let o=Selection.atStart(e),n=Selection.atEnd(e);if(t==="start"||t===true)return o;if(t==="end")return n;let r=o.from,i=n.to;return t==="all"?TextSelection.create(e,an(0,r,i),an(e.content.size,r,i)):TextSelection.create(e,an(t,r,i),an(t,r,i))}function Tl(){return ["iPad Simulator","iPhone Simulator","iPod Simulator","iPad","iPhone","iPod"].includes(navigator.platform)||navigator.userAgent.includes("Mac")&&"ontouchend"in document}var FC=(e=null,t={})=>({editor:o,view:n,tr:r,dispatch:i})=>{t={scrollIntoView:true,...t};let s=()=>{Tl()&&n.dom.focus(),requestAnimationFrame(()=>{o.isDestroyed||(n.focus(),t?.scrollIntoView&&o.commands.scrollIntoView());});};if(n.hasFocus()&&e===null||e===false)return true;if(i&&e===null&&!pf(o.state.selection))return s(),true;let l=VC(r.doc,e)||o.state.selection,a=o.state.selection.eq(l);return i&&(a||r.setSelection(l),a&&r.storedMarks&&r.setStoredMarks(r.storedMarks),s()),true},_C=(e,t)=>o=>e.every((n,r)=>t(n,{...o,index:r})),$C=(e,t)=>({tr:o,commands:n})=>n.insertContentAt({from:o.selection.from,to:o.selection.to},e,t),df=e=>{let t=e.childNodes;for(let o=t.length-1;o>=0;o-=1){let n=t[o];n.nodeType===3&&n.nodeValue&&/^(\n\s\s|\n)$/.test(n.nodeValue)?e.removeChild(n):n.nodeType===1&&df(n);}return e};function Sa(e){let t=`<body>${e}</body>`,o=new window.DOMParser().parseFromString(t,"text/html").body;return df(o)}function Ea(e,t,o){o={slice:true,parseOptions:{},...o};let n=typeof e=="object"&&e!==null,r=typeof e=="string";if(n)try{if(Array.isArray(e)&&e.length>0)return Fragment$2.fromArray(e.map(l=>t.nodeFromJSON(l)));let s=t.nodeFromJSON(e);return o.errorOnInvalidContent&&s.check(),s}catch(i){if(o.errorOnInvalidContent)throw new Error("[tiptap error]: Invalid JSON content",{cause:i});return console.warn("[tiptap warn]: Invalid content.","Passed value:",e,"Error:",i),Ea("",t,o)}if(r){if(o.errorOnInvalidContent){let s=false,l="",a=new Schema({topNode:t.spec.topNode,marks:t.spec.marks,nodes:t.spec.nodes.append({__tiptap__private__unknown__catch__all__node:{content:"inline*",group:"block",parseDOM:[{tag:"*",getAttrs:u=>(s=true,l=typeof u=="string"?u:u.outerHTML,null)}]}})});if(o.slice?DOMParser.fromSchema(a).parseSlice(Sa(e),o.parseOptions):DOMParser.fromSchema(a).parse(Sa(e),o.parseOptions),o.errorOnInvalidContent&&s)throw new Error("[tiptap error]: Invalid HTML content",{cause:new Error(`Invalid element found: ${l}`)})}let i=DOMParser.fromSchema(t);return o.slice?i.parseSlice(Sa(e),o.parseOptions).content:i.parse(Sa(e),o.parseOptions)}return Ea("",t,o)}function GC(e,t,o){let n=e.steps.length-1;if(n<t)return;let r=e.steps[n];if(!(r instanceof ReplaceStep||r instanceof ReplaceAroundStep))return;let i=e.mapping.maps[n],s=0;i.forEach((l,a,u,c)=>{s===0&&(s=c);}),e.setSelection(Selection.near(e.doc.resolve(s),o));}var UC=e=>!("type"in e),HC=(e,t,o)=>({tr:n,dispatch:r,editor:i})=>{var s;if(r){o={parseOptions:{},updateSelection:true,applyInputRules:false,applyPasteRules:false,...o};let l;try{l=Ea(t,i.schema,{parseOptions:{preserveWhitespace:"full",...o.parseOptions},errorOnInvalidContent:(s=o.errorOnInvalidContent)!==null&&s!==void 0?s:i.options.enableContentCheck});}catch(g){return i.emit("contentError",{editor:i,error:g,disableCollaboration:()=>{console.error("[tiptap error]: Unable to disable collaboration at this point in time");}}),false}let{from:a,to:u}=typeof e=="number"?{from:e,to:e}:{from:e.from,to:e.to},c=true,p=true;if((UC(l)?l:[l]).forEach(g=>{g.check(),c=c?g.isText&&g.marks.length===0:false,p=p?g.isBlock:false;}),a===u&&p){let{parent:g}=n.doc.resolve(a);g.isTextblock&&!g.type.spec.code&&!g.childCount&&(a-=1,u+=1);}let m;c?(Array.isArray(t)?m=t.map(g=>g.text||"").join(""):typeof t=="object"&&t&&t.text?m=t.text:m=t,n.insertText(m,a,u)):(m=l,n.replaceWith(a,u,m)),o.updateSelection&&GC(n,n.steps.length-1,-1),o.applyInputRules&&n.setMeta("applyInputRules",{from:a,text:m}),o.applyPasteRules&&n.setMeta("applyPasteRules",{from:a,text:m});}return true},jC=()=>({state:e,dispatch:t})=>joinUp(e,t),WC=()=>({state:e,dispatch:t})=>joinDown(e,t),KC=()=>({state:e,dispatch:t})=>joinBackward(e,t),qC=()=>({state:e,dispatch:t})=>joinForward(e,t),YC=()=>({state:e,dispatch:t,tr:o})=>{try{let n=joinPoint(e.doc,e.selection.$from.pos,-1);return n==null?!1:(o.join(n,2),t&&t(o),!0)}catch{return false}},XC=()=>({state:e,dispatch:t,tr:o})=>{try{let n=joinPoint(e.doc,e.selection.$from.pos,1);return n==null?!1:(o.join(n,2),t&&t(o),!0)}catch{return false}},JC=()=>({state:e,dispatch:t})=>joinTextblockBackward(e,t),QC=()=>({state:e,dispatch:t})=>joinTextblockForward(e,t);function ff(){return typeof navigator<"u"?/Mac/.test(navigator.platform):false}function ZC(e){let t=e.split(/-(?!$)/),o=t[t.length-1];o==="Space"&&(o=" ");let n,r,i,s;for(let l=0;l<t.length-1;l+=1){let a=t[l];if(/^(cmd|meta|m)$/i.test(a))s=true;else if(/^a(lt)?$/i.test(a))n=true;else if(/^(c|ctrl|control)$/i.test(a))r=true;else if(/^s(hift)?$/i.test(a))i=true;else if(/^mod$/i.test(a))Tl()||ff()?s=true:r=true;else throw new Error(`Unrecognized modifier name: ${a}`)}return n&&(o=`Alt-${o}`),r&&(o=`Ctrl-${o}`),s&&(o=`Meta-${o}`),i&&(o=`Shift-${o}`),o}var ek=e=>({editor:t,view:o,tr:n,dispatch:r})=>{let i=ZC(e).split(/-(?!$)/),s=i.find(u=>!["Alt","Ctrl","Meta","Shift"].includes(u)),l=new KeyboardEvent("keydown",{key:s==="Space"?" ":s,altKey:i.includes("Alt"),ctrlKey:i.includes("Ctrl"),metaKey:i.includes("Meta"),shiftKey:i.includes("Shift"),bubbles:true,cancelable:true}),a=t.captureTransaction(()=>{o.someProp("handleKeyDown",u=>u(o,l));});return a?.steps.forEach(u=>{let c=u.map(n.mapping);c&&r&&n.maybeStep(c);}),true};function wl(e,t,o={}){let{from:n,to:r,empty:i}=e.selection,s=t?rt(t,e.schema):null,l=[];e.doc.nodesBetween(n,r,(p,f)=>{if(p.isText)return;let m=Math.max(n,f),g=Math.min(r,f+p.nodeSize);l.push({node:p,from:m,to:g});});let a=r-n,u=l.filter(p=>s?s.name===p.node.type.name:true).filter(p=>wa(p.node.attrs,o,{strict:false}));return i?!!u.length:u.reduce((p,f)=>p+f.to-f.from,0)>=a}var tk=(e,t={})=>({state:o,dispatch:n})=>{let r=rt(e,o.schema);return wl(o,r,t)?lift(o,n):false},ok=()=>({state:e,dispatch:t})=>liftEmptyBlock(e,t),nk=e=>({state:t,dispatch:o})=>{let n=rt(e,t.schema);return liftListItem(n)(t,o)},rk=()=>({state:e,dispatch:t})=>newlineInCode(e,t);function mf(e,t){return t.nodes[e]?"node":t.marks[e]?"mark":null}function of(e,t){let o=typeof t=="string"?[t]:t;return Object.keys(e).reduce((n,r)=>(o.includes(r)||(n[r]=e[r]),n),{})}var ik=(e,t)=>({tr:o,state:n,dispatch:r})=>{let i=null,s=null,l=mf(typeof e=="string"?e:e.name,n.schema);return l?(l==="node"&&(i=rt(e,n.schema)),l==="mark"&&(s=zo(e,n.schema)),r&&o.selection.ranges.forEach(a=>{n.doc.nodesBetween(a.$from.pos,a.$to.pos,(u,c)=>{i&&i===u.type&&o.setNodeMarkup(c,void 0,of(u.attrs,t)),s&&u.marks.length&&u.marks.forEach(p=>{s===p.type&&o.addMark(c,c+u.nodeSize,s.create(of(p.attrs,t)));});});}),true):false},ak=()=>({tr:e,dispatch:t})=>(t&&e.scrollIntoView(),true),sk=()=>({tr:e,commands:t})=>t.setTextSelection({from:0,to:e.doc.content.size}),lk=()=>({state:e,dispatch:t})=>selectNodeBackward(e,t),ck=()=>({state:e,dispatch:t})=>selectNodeForward(e,t),uk=()=>({state:e,dispatch:t})=>selectParentNode(e,t),pk=()=>({state:e,dispatch:t})=>selectTextblockEnd(e,t),dk=()=>({state:e,dispatch:t})=>selectTextblockStart(e,t);function fk(e,t,o={},n={}){return Ea(e,t,{slice:false,parseOptions:o,errorOnInvalidContent:n.errorOnInvalidContent})}var mk=(e,t=false,o={},n={})=>({editor:r,tr:i,dispatch:s,commands:l})=>{var a,u;let{doc:c}=i;if(o.preserveWhitespace!=="full"){let p=fk(e,r.schema,o,{errorOnInvalidContent:(a=n.errorOnInvalidContent)!==null&&a!==void 0?a:r.options.enableContentCheck});return s&&i.replaceWith(0,c.content.size,p).setMeta("preventUpdate",!t),true}return s&&i.setMeta("preventUpdate",!t),l.insertContentAt({from:0,to:c.content.size},e,{parseOptions:o,errorOnInvalidContent:(u=n.errorOnInvalidContent)!==null&&u!==void 0?u:r.options.enableContentCheck})};function gk(e,t){let o=zo(t,e.schema),{from:n,to:r,empty:i}=e.selection,s=[];i?(e.storedMarks&&s.push(...e.storedMarks),s.push(...e.selection.$head.marks())):e.doc.nodesBetween(n,r,a=>{s.push(...a.marks);});let l=s.find(a=>a.type.name===o.name);return l?{...l.attrs}:{}}function hk(e){for(let t=0;t<e.edgeCount;t+=1){let{type:o}=e.edge(t);if(o.isTextblock&&!o.hasRequiredAttrs())return o}return null}function bk(e,t){for(let o=e.depth;o>0;o-=1){let n=e.node(o);if(t(n))return {pos:o>0?e.before(o):0,start:e.start(o),depth:o,node:n}}}function El(e){return t=>bk(t.$from,e)}function gf(e,t,o){let n=[];return e===t?o.resolve(e).marks().forEach(r=>{let i=o.resolve(e),s=kl(i,r.type);s&&n.push({mark:r,...s});}):o.nodesBetween(e,t,(r,i)=>{!r||r?.nodeSize===void 0||n.push(...r.marks.map(s=>({from:i,to:i+r.nodeSize,mark:s})));}),n}function ka(e,t,o){return Object.fromEntries(Object.entries(o).filter(([n])=>{let r=e.find(i=>i.type===t&&i.name===n);return r?r.attribute.keepOnSplit:false}))}function yk(e,t,o={}){let{empty:n,ranges:r}=e.selection,i=t?zo(t,e.schema):null;if(n)return !!(e.storedMarks||e.selection.$from.marks()).filter(p=>i?i.name===p.type.name:true).find(p=>wa(p.attrs,o,{strict:false}));let s=0,l=[];if(r.forEach(({$from:p,$to:f})=>{let m=p.pos,g=f.pos;e.doc.nodesBetween(m,g,(S,v)=>{if(!S.isText&&!S.marks.length)return;let h=Math.max(m,v),b=Math.min(g,v+S.nodeSize),C=b-h;s+=C,l.push(...S.marks.map(d=>({mark:d,from:h,to:b})));});}),s===0)return false;let a=l.filter(p=>i?i.name===p.mark.type.name:true).filter(p=>wa(p.mark.attrs,o,{strict:false})).reduce((p,f)=>p+f.to-f.from,0),u=l.filter(p=>i?p.mark.type!==i&&p.mark.type.excludes(i):true).reduce((p,f)=>p+f.to-f.from,0);return (a>0?a+u:a)>=s}function nf(e,t){let{nodeExtensions:o}=bC(t),n=o.find(s=>s.name===e);if(!n)return false;let r={name:n.name,options:n.options,storage:n.storage},i=nt(dt(n,"group",r));return typeof i!="string"?false:i.split(" ").includes("list")}function hf(e,{checkChildren:t=true,ignoreWhitespace:o=false}={}){var n;if(o){if(e.type.name==="hardBreak")return true;if(e.isText)return /^\s*$/m.test((n=e.text)!==null&&n!==void 0?n:"")}if(e.isText)return !e.text;if(e.isAtom||e.isLeaf)return false;if(e.content.childCount===0)return true;if(t){let r=true;return e.content.forEach(i=>{r!==false&&(hf(i,{ignoreWhitespace:o,checkChildren:t})||(r=false));}),r}return false}function vk(e,t,o){var n;let{selection:r}=t,i=null;if(pf(r)&&(i=r.$cursor),i){let l=(n=e.storedMarks)!==null&&n!==void 0?n:i.marks();return !!o.isInSet(l)||!l.some(a=>a.type.excludes(o))}let{ranges:s}=r;return s.some(({$from:l,$to:a})=>{let u=l.depth===0?e.doc.inlineContent&&e.doc.type.allowsMarkType(o):false;return e.doc.nodesBetween(l.pos,a.pos,(c,p,f)=>{if(u)return false;if(c.isInline){let m=!f||f.type.allowsMarkType(o),g=!!o.isInSet(c.marks)||!c.marks.some(S=>S.type.excludes(o));u=m&&g;}return !u}),u})}var Sk=(e,t={})=>({tr:o,state:n,dispatch:r})=>{let{selection:i}=o,{empty:s,ranges:l}=i,a=zo(e,n.schema);if(r)if(s){let u=gk(n,a);o.addStoredMark(a.create({...u,...t}));}else l.forEach(u=>{let c=u.$from.pos,p=u.$to.pos;n.doc.nodesBetween(c,p,(f,m)=>{let g=Math.max(m,c),S=Math.min(m+f.nodeSize,p);f.marks.find(h=>h.type===a)?f.marks.forEach(h=>{a===h.type&&o.addMark(g,S,a.create({...h.attrs,...t}));}):o.addMark(g,S,a.create(t));});});return vk(n,o,a)},xk=(e,t)=>({tr:o})=>(o.setMeta(e,t),true),Ck=(e,t={})=>({state:o,dispatch:n,chain:r})=>{let i=rt(e,o.schema);return i.isTextblock?r().command(({commands:s})=>setBlockType(i,t)(o)?true:s.clearNodes()).command(({state:s})=>setBlockType(i,t)(s,n)).run():(console.warn('[tiptap warn]: Currently "setNode()" only supports text block nodes.'),false)},kk=e=>({tr:t,dispatch:o})=>{if(o){let{doc:n}=t,r=an(e,0,n.content.size),i=NodeSelection.create(n,r);t.setSelection(i);}return true},Tk=e=>({tr:t,dispatch:o})=>{if(o){let{doc:n}=t,{from:r,to:i}=typeof e=="number"?{from:e,to:e}:e,s=TextSelection.atStart(n).from,l=TextSelection.atEnd(n).to,a=an(r,s,l),u=an(i,s,l),c=TextSelection.create(n,a,u);t.setSelection(c);}return true},wk=e=>({state:t,dispatch:o})=>{let n=rt(e,t.schema);return sinkListItem(n)(t,o)};function rf(e,t){let o=e.storedMarks||e.selection.$to.parentOffset&&e.selection.$from.marks();if(o){let n=o.filter(r=>t?.includes(r.type.name));e.tr.ensureMarks(n);}}var Ek=({keepMarks:e=true}={})=>({tr:t,state:o,dispatch:n,editor:r})=>{let{selection:i,doc:s}=t,{$from:l,$to:a}=i,u=r.extensionManager.attributes,c=ka(u,l.node().type.name,l.node().attrs);if(i instanceof NodeSelection&&i.node.isBlock)return !l.parentOffset||!canSplit(s,l.pos)?false:(n&&(e&&rf(o,r.extensionManager.splittableMarks),t.split(l.pos).scrollIntoView()),true);if(!l.parent.isBlock)return false;let p=a.parentOffset===a.parent.content.size,f=l.depth===0?void 0:hk(l.node(-1).contentMatchAt(l.indexAfter(-1))),m=p&&f?[{type:f,attrs:c}]:void 0,g=canSplit(t.doc,t.mapping.map(l.pos),1,m);if(!m&&!g&&canSplit(t.doc,t.mapping.map(l.pos),1,f?[{type:f}]:void 0)&&(g=true,m=f?[{type:f,attrs:c}]:void 0),n){if(g&&(i instanceof TextSelection&&t.deleteSelection(),t.split(t.mapping.map(l.pos),1,m),f&&!p&&!l.parentOffset&&l.parent.type!==f)){let S=t.mapping.map(l.before()),v=t.doc.resolve(S);l.node(-1).canReplaceWith(v.index(),v.index()+1,f)&&t.setNodeMarkup(t.mapping.map(l.before()),f);}e&&rf(o,r.extensionManager.splittableMarks),t.scrollIntoView();}return g},Ik=(e,t={})=>({tr:o,state:n,dispatch:r,editor:i})=>{var s;let l=rt(e,n.schema),{$from:a,$to:u}=n.selection,c=n.selection.node;if(c&&c.isBlock||a.depth<2||!a.sameParent(u))return false;let p=a.node(-1);if(p.type!==l)return false;let f=i.extensionManager.attributes;if(a.parent.content.size===0&&a.node(-1).childCount===a.indexAfter(-1)){if(a.depth===2||a.node(-3).type!==l||a.index(-2)!==a.node(-2).childCount-1)return false;if(r){let h=Fragment$2.empty,b=a.index(-1)?1:a.index(-2)?2:3;for(let R=a.depth-b;R>=a.depth-3;R-=1)h=Fragment$2.from(a.node(R).copy(h));let C=a.indexAfter(-1)<a.node(-2).childCount?1:a.indexAfter(-2)<a.node(-3).childCount?2:3,d={...ka(f,a.node().type.name,a.node().attrs),...t},y=((s=l.contentMatch.defaultType)===null||s===void 0?void 0:s.createAndFill(d))||void 0;h=h.append(Fragment$2.from(l.createAndFill(null,y)||void 0));let x=a.before(a.depth-(b-1));o.replace(x,a.after(-C),new Slice(h,4-b,0));let k=-1;o.doc.nodesBetween(x,o.doc.content.size,(R,B)=>{if(k>-1)return false;R.isTextblock&&R.content.size===0&&(k=B+1);}),k>-1&&o.setSelection(TextSelection.near(o.doc.resolve(k))),o.scrollIntoView();}return true}let m=u.pos===a.end()?p.contentMatchAt(0).defaultType:null,g={...ka(f,p.type.name,p.attrs),...t},S={...ka(f,a.node().type.name,a.node().attrs),...t};o.delete(a.pos,u.pos);let v=m?[{type:l,attrs:g},{type:m,attrs:S}]:[{type:l,attrs:g}];if(!canSplit(o.doc,a.pos,2))return false;if(r){let{selection:h,storedMarks:b}=n,{splittableMarks:C}=i.extensionManager,d=b||h.$to.parentOffset&&h.$from.marks();if(o.split(a.pos,2,v).scrollIntoView(),!d||!r)return true;let y=d.filter(x=>C.includes(x.type.name));o.ensureMarks(y);}return true},yl=(e,t)=>{let o=El(s=>s.type===t)(e.selection);if(!o)return true;let n=e.doc.resolve(Math.max(0,o.pos-1)).before(o.depth);if(n===void 0)return true;let r=e.doc.nodeAt(n);return o.node.type===r?.type&&canJoin(e.doc,o.pos)&&e.join(o.pos),true},vl=(e,t)=>{let o=El(s=>s.type===t)(e.selection);if(!o)return true;let n=e.doc.resolve(o.start).after(o.depth);if(n===void 0)return true;let r=e.doc.nodeAt(n);return o.node.type===r?.type&&canJoin(e.doc,n)&&e.join(n),true},Ak=(e,t,o,n={})=>({editor:r,tr:i,state:s,dispatch:l,chain:a,commands:u,can:c})=>{let{extensions:p,splittableMarks:f}=r.extensionManager,m=rt(e,s.schema),g=rt(t,s.schema),{selection:S,storedMarks:v}=s,{$from:h,$to:b}=S,C=h.blockRange(b),d=v||S.$to.parentOffset&&S.$from.marks();if(!C)return false;let y=El(x=>nf(x.type.name,p))(S);if(C.depth>=1&&y&&C.depth-y.depth<=1){if(y.node.type===m)return u.liftListItem(g);if(nf(y.node.type.name,p)&&m.validContent(y.node.content)&&l)return a().command(()=>(i.setNodeMarkup(y.pos,m),true)).command(()=>yl(i,m)).command(()=>vl(i,m)).run()}return !o||!d||!l?a().command(()=>c().wrapInList(m,n)?true:u.clearNodes()).wrapInList(m,n).command(()=>yl(i,m)).command(()=>vl(i,m)).run():a().command(()=>{let x=c().wrapInList(m,n),k=d.filter(R=>f.includes(R.type.name));return i.ensureMarks(k),x?true:u.clearNodes()}).wrapInList(m,n).command(()=>yl(i,m)).command(()=>vl(i,m)).run()},Pk=(e,t={},o={})=>({state:n,commands:r})=>{let{extendEmptyMarkRange:i=false}=o,s=zo(e,n.schema);return yk(n,s,t)?r.unsetMark(s,{extendEmptyMarkRange:i}):r.setMark(s,t)},Rk=(e,t,o={})=>({state:n,commands:r})=>{let i=rt(e,n.schema),s=rt(t,n.schema),l=wl(n,i,o),a;return n.selection.$anchor.sameParent(n.selection.$head)&&(a=n.selection.$anchor.parent.attrs),l?r.setNode(s,a):r.setNode(i,{...a,...o})},Ok=(e,t={})=>({state:o,commands:n})=>{let r=rt(e,o.schema);return wl(o,r,t)?n.lift(r):n.wrapIn(r,t)},Mk=()=>({state:e,dispatch:t})=>{let o=e.plugins;for(let n=0;n<o.length;n+=1){let r=o[n],i;if(r.spec.isInputRules&&(i=r.getState(e))){if(t){let s=e.tr,l=i.transform;for(let a=l.steps.length-1;a>=0;a-=1)s.step(l.steps[a].invert(l.docs[a]));if(i.text){let a=s.doc.resolve(i.from).marks();s.replaceWith(i.from,i.to,e.schema.text(i.text,a));}else s.delete(i.from,i.to);}return true}}return false},Dk=()=>({tr:e,dispatch:t})=>{let{selection:o}=e,{empty:n,ranges:r}=o;return n||t&&r.forEach(i=>{e.removeMark(i.$from.pos,i.$to.pos);}),true},Lk=(e,t={})=>({tr:o,state:n,dispatch:r})=>{var i;let{extendEmptyMarkRange:s=false}=t,{selection:l}=o,a=zo(e,n.schema),{$from:u,empty:c,ranges:p}=l;if(!r)return true;if(c&&s){let{from:f,to:m}=l,g=(i=u.marks().find(v=>v.type===a))===null||i===void 0?void 0:i.attrs,S=kl(u,a,g);S&&(f=S.from,m=S.to),o.removeMark(f,m,a);}else p.forEach(f=>{o.removeMark(f.$from.pos,f.$to.pos,a);});return o.removeStoredMark(a),true},Bk=(e,t={})=>({tr:o,state:n,dispatch:r})=>{let i=null,s=null,l=mf(typeof e=="string"?e:e.name,n.schema);return l?(l==="node"&&(i=rt(e,n.schema)),l==="mark"&&(s=zo(e,n.schema)),r&&o.selection.ranges.forEach(a=>{let u=a.$from.pos,c=a.$to.pos;n.doc.nodesBetween(u,c,(p,f)=>{i&&i===p.type&&o.setNodeMarkup(f,void 0,{...p.attrs,...t}),s&&p.marks.length&&p.marks.forEach(m=>{if(s===m.type){let g=Math.max(f,u),S=Math.min(f+p.nodeSize,c);o.addMark(g,S,s.create({...m.attrs,...t}));}});});}),true):false},zk=(e,t={})=>({state:o,dispatch:n})=>{let r=rt(e,o.schema);return wrapIn(r,t)(o,n)},Nk=(e,t={})=>({state:o,dispatch:n})=>{let r=rt(e,o.schema);return wrapInList(r,t)(o,n)},Vk=Object.freeze({__proto__:null,blur:kC,clearContent:TC,clearNodes:wC,command:EC,createParagraphNear:IC,cut:AC,deleteCurrentNode:PC,deleteNode:RC,deleteRange:OC,deleteSelection:MC,enter:DC,exitCode:LC,extendMarkRange:zC,first:NC,focus:FC,forEach:_C,insertContent:$C,insertContentAt:HC,joinBackward:KC,joinDown:WC,joinForward:qC,joinItemBackward:YC,joinItemForward:XC,joinTextblockBackward:JC,joinTextblockForward:QC,joinUp:jC,keyboardShortcut:ek,lift:tk,liftEmptyBlock:ok,liftListItem:nk,newlineInCode:rk,resetAttributes:ik,scrollIntoView:ak,selectAll:sk,selectNodeBackward:lk,selectNodeForward:ck,selectParentNode:uk,selectTextblockEnd:pk,selectTextblockStart:dk,setContent:mk,setMark:Sk,setMeta:xk,setNode:Ck,setNodeSelection:kk,setTextSelection:Tk,sinkListItem:wk,splitBlock:Ek,splitListItem:Ik,toggleList:Ak,toggleMark:Pk,toggleNode:Rk,toggleWrap:Ok,undoInputRule:Mk,unsetAllMarks:Dk,unsetMark:Lk,updateAttributes:Bk,wrapIn:zk,wrapInList:Nk});ao.create({name:"commands",addCommands(){return {...Vk}}});ao.create({name:"editable",addProseMirrorPlugins(){return [new Plugin({key:new PluginKey("editable"),props:{editable:()=>this.editor.options.editable}})]}});ao.create({name:"focusEvents",addProseMirrorPlugins(){let{editor:e}=this;return [new Plugin({key:new PluginKey("focusEvents"),props:{handleDOMEvents:{focus:(t,o)=>{e.isFocused=true;let n=e.state.tr.setMeta("focus",{event:o}).setMeta("addToHistory",false);return t.dispatch(n),false},blur:(t,o)=>{e.isFocused=false;let n=e.state.tr.setMeta("blur",{event:o}).setMeta("addToHistory",false);return t.dispatch(n),false}}}})]}});ao.create({name:"keymap",addKeyboardShortcuts(){let e=()=>this.editor.commands.first(({commands:s})=>[()=>s.undoInputRule(),()=>s.command(({tr:l})=>{let{selection:a,doc:u}=l,{empty:c,$anchor:p}=a,{pos:f,parent:m}=p,g=p.parent.isTextblock&&f>0?l.doc.resolve(f-1):p,S=g.parent.type.spec.isolating,v=p.pos-p.parentOffset,h=S&&g.parent.childCount===1?v===p.pos:Selection.atStart(u).from===f;return !c||!m.type.isTextblock||m.textContent.length||!h||h&&p.parent.type.name==="paragraph"?false:s.clearNodes()}),()=>s.deleteSelection(),()=>s.joinBackward(),()=>s.selectNodeBackward()]),t=()=>this.editor.commands.first(({commands:s})=>[()=>s.deleteSelection(),()=>s.deleteCurrentNode(),()=>s.joinForward(),()=>s.selectNodeForward()]),n={Enter:()=>this.editor.commands.first(({commands:s})=>[()=>s.newlineInCode(),()=>s.createParagraphNear(),()=>s.liftEmptyBlock(),()=>s.splitBlock()]),"Mod-Enter":()=>this.editor.commands.exitCode(),Backspace:e,"Mod-Backspace":e,"Shift-Backspace":e,Delete:t,"Mod-Delete":t,"Mod-a":()=>this.editor.commands.selectAll()},r={...n},i={...n,"Ctrl-h":e,"Alt-Backspace":e,"Ctrl-d":t,"Ctrl-Alt-Backspace":t,"Alt-Delete":t,"Alt-d":t,"Ctrl-a":()=>this.editor.commands.selectTextblockStart(),"Ctrl-e":()=>this.editor.commands.selectTextblockEnd()};return Tl()||ff()?i:r},addProseMirrorPlugins(){return [new Plugin({key:new PluginKey("clearDocument"),appendTransaction:(e,t,o)=>{let n=e.some(S=>S.docChanged)&&!t.doc.eq(o.doc),r=e.some(S=>S.getMeta("preventClearDocument"));if(!n||r)return;let{empty:i,from:s,to:l}=t.selection,a=Selection.atStart(t.doc).from,u=Selection.atEnd(t.doc).to;if(i||!(s===a&&l===u)||!hf(o.doc))return;let f=o.tr,m=cf({state:o,transaction:f}),{commands:g}=new Sl({editor:this.editor,state:m});if(g.clearNodes(),!!f.steps.length)return f}})]}});ao.create({name:"tabindex",addProseMirrorPlugins(){return [new Plugin({key:new PluginKey("tabindex"),props:{attributes:()=>this.editor.isEditable?{tabindex:"0"}:{}}})]}});function Il(e){return new Ta({find:e.find,handler:({state:t,range:o,match:n})=>{let r=nt(e.getAttributes,void 0,n);if(r===false||r===null)return null;let{tr:i}=t,s=n[n.length-1],l=n[0];if(s){let a=l.search(/\S/),u=o.from+l.indexOf(s),c=u+s.length;if(gf(o.from,o.to,t.doc).filter(m=>m.mark.type.excluded.find(S=>S===e.type&&S!==m.mark.type)).filter(m=>m.to>u).length)return null;c<o.to&&i.delete(c,o.to),u>o.from&&i.delete(o.from+a,u);let f=o.from+a+s.length;i.addMark(o.from+a,f,e.type.create(r||{})),i.removeStoredMark(e.type);}}})}function bf(e){return new Ta({find:e.find,handler:({state:t,range:o,match:n})=>{let r=nt(e.getAttributes,void 0,n)||{},{tr:i}=t,s=o.from,l=o.to,a=e.type.create(r);if(n[1]){let u=n[0].lastIndexOf(n[1]),c=s+u;c>l?c=l:l=c+n[1].length;let p=n[0][n[0].length-1];i.insertText(p,s+n[0].length-1),i.replaceWith(c,l,a);}else if(n[0]){let u=e.type.isInline?s:s-1;i.insert(u,e.type.create(r)).delete(i.mapping.map(s),i.mapping.map(l));}i.scrollIntoView();}})}var Ia=class e{constructor(t={}){this.type="mark",this.name="mark",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=nt(dt(this,"addOptions",{name:this.name}))),this.storage=nt(dt(this,"addStorage",{name:this.name,options:this.options}))||{};}static create(t={}){return new e(t)}configure(t={}){let o=this.extend({...this.config,addOptions:()=>Pa(this.options,t)});return o.name=this.name,o.parent=this.parent,o}extend(t={}){let o=new e(t);return o.parent=this,this.child=o,o.name=t.name?t.name:o.parent.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${o.name}".`),o.options=nt(dt(o,"addOptions",{name:o.name})),o.storage=nt(dt(o,"addStorage",{name:o.name,options:o.options})),o}static handleExit({editor:t,mark:o}){let{tr:n}=t.state,r=t.state.selection.$from;if(r.pos===r.end()){let s=r.marks();if(!!!s.find(u=>u?.type.name===o.name))return false;let a=s.find(u=>u?.type.name===o.name);return a&&n.removeStoredMark(a),n.insertText(" ",r.pos),t.view.dispatch(n),true}return false}},Aa=class e{constructor(t={}){this.type="node",this.name="node",this.parent=null,this.child=null,this.config={name:this.name,defaultOptions:{}},this.config={...this.config,...t},this.name=this.config.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${this.name}".`),this.options=this.config.defaultOptions,this.config.addOptions&&(this.options=nt(dt(this,"addOptions",{name:this.name}))),this.storage=nt(dt(this,"addStorage",{name:this.name,options:this.options}))||{};}static create(t={}){return new e(t)}configure(t={}){let o=this.extend({...this.config,addOptions:()=>Pa(this.options,t)});return o.name=this.name,o.parent=this.parent,o}extend(t={}){let o=new e(t);return o.parent=this,this.child=o,o.name=t.name?t.name:o.parent.name,t.defaultOptions&&Object.keys(t.defaultOptions).length>0&&console.warn(`[tiptap warn]: BREAKING CHANGE: "defaultOptions" is deprecated. Please use "addOptions" instead. Found in extension: "${o.name}".`),o.options=nt(dt(o,"addOptions",{name:o.name})),o.storage=nt(dt(o,"addStorage",{name:o.name,options:o.options})),o}};function Al(e){return new xl({find:e.find,handler:({state:t,range:o,match:n,pasteEvent:r})=>{let i=nt(e.getAttributes,void 0,n,r);if(i===false||i===null)return null;let{tr:s}=t,l=n[n.length-1],a=n[0],u=o.to;if(l){let c=a.search(/\S/),p=o.from+a.indexOf(l),f=p+l.length;if(gf(o.from,o.to,t.doc).filter(g=>g.mark.type.excluded.find(v=>v===e.type&&v!==g.mark.type)).filter(g=>g.to>p).length)return null;f<o.to&&s.delete(f,o.to),p>o.from&&s.delete(o.from+c,p),u=o.from+c+l.length,s.addMark(o.from+c,u,e.type.create(i||{})),s.removeStoredMark(e.type);}}})}var Fk=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))$/,_k=/(?:^|\s)(\*\*(?!\s+\*\*)((?:[^*]+))\*\*(?!\s+\*\*))/g,$k=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))$/,Gk=/(?:^|\s)(__(?!\s+__)((?:[^_]+))__(?!\s+__))/g,yf=Ia.create({name:"bold",addOptions(){return {HTMLAttributes:{}}},parseHTML(){return [{tag:"strong"},{tag:"b",getAttrs:e=>e.style.fontWeight!=="normal"&&null},{style:"font-weight",getAttrs:e=>/^(bold(er)?|[5-9]\d{2,})$/.test(e)&&null}]},renderHTML({HTMLAttributes:e}){return ["strong",uf(this.options.HTMLAttributes,e),0]},addCommands(){return {setBold:()=>({commands:e})=>e.setMark(this.name),toggleBold:()=>({commands:e})=>e.toggleMark(this.name),unsetBold:()=>({commands:e})=>e.unsetMark(this.name)}},addKeyboardShortcuts(){return {"Mod-b":()=>this.editor.commands.toggleBold(),"Mod-B":()=>this.editor.commands.toggleBold()}},addInputRules(){return [Il({find:Fk,type:this.type}),Il({find:$k,type:this.type})]},addPasteRules(){return [Al({find:_k,type:this.type}),Al({find:Gk,type:this.type})]}});var Uk=/(?:^|\s)((?:\{\{)([a-zA-Z0-9]+)(?:\}\}))$/,Hk=Aa.create({name:"variable",group:"inline",content:"text*",marks:"_",atom:false,inline:true,selectable:true,addAttributes(){return {varName:{default:"",parseHTML:e=>e.innerText}}},addInputRules(){return [bf({find:Uk,type:this.type,getAttributes:e=>({varName:e[0]})})]},renderHTML({node:e}){return ["code",{class:"bespoke-var"},e.attrs.varName.trim()]},parseHTML(){return [{tag:'code[class="bespoke-var"]'}]},toDOM(){return ["code",{class:"bespoke-var"},0]}}),vf=Hk;var Sf=ao.create({name:"VariablesStorage",addStorage(){return {suggestions:[]}}});var Ce="top",Be="bottom",Pe="right",Ee="left",Ra="auto",No=[Ce,Be,Pe,Ee],xo="start",sn="end",xf="clippingParents",Oa="viewport",qn="popper",Cf="reference",Pl=No.reduce(function(e,t){return e.concat([t+"-"+xo,t+"-"+sn])},[]),Ma=[].concat(No,[Ra]).reduce(function(e,t){return e.concat([t,t+"-"+xo,t+"-"+sn])},[]),jk="beforeRead",Wk="read",Kk="afterRead",qk="beforeMain",Yk="main",Xk="afterMain",Jk="beforeWrite",Qk="write",Zk="afterWrite",kf=[jk,Wk,Kk,qk,Yk,Xk,Jk,Qk,Zk];function $e(e){return e?(e.nodeName||"").toLowerCase():null}function ve(e){if(e==null)return window;if(e.toString()!=="[object Window]"){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Vt(e){var t=ve(e).Element;return e instanceof t||e instanceof Element}function ze(e){var t=ve(e).HTMLElement;return e instanceof t||e instanceof HTMLElement}function Yn(e){if(typeof ShadowRoot>"u")return false;var t=ve(e).ShadowRoot;return e instanceof t||e instanceof ShadowRoot}function eT(e){var t=e.state;Object.keys(t.elements).forEach(function(o){var n=t.styles[o]||{},r=t.attributes[o]||{},i=t.elements[o];!ze(i)||!$e(i)||(Object.assign(i.style,n),Object.keys(r).forEach(function(s){var l=r[s];l===false?i.removeAttribute(s):i.setAttribute(s,l===true?"":l);}));});}function tT(e){var t=e.state,o={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,o.popper),t.styles=o,t.elements.arrow&&Object.assign(t.elements.arrow.style,o.arrow),function(){Object.keys(t.elements).forEach(function(n){var r=t.elements[n],i=t.attributes[n]||{},s=Object.keys(t.styles.hasOwnProperty(n)?t.styles[n]:o[n]),l=s.reduce(function(a,u){return a[u]="",a},{});!ze(r)||!$e(r)||(Object.assign(r.style,l),Object.keys(i).forEach(function(a){r.removeAttribute(a);}));});}}var Kr={name:"applyStyles",enabled:true,phase:"write",fn:eT,effect:tT,requires:["computeStyles"]};function Ge(e){return e.split("-")[0]}var Xt=Math.max,ln=Math.min,Co=Math.round;function Xn(){var e=navigator.userAgentData;return e!=null&&e.brands&&Array.isArray(e.brands)?e.brands.map(function(t){return t.brand+"/"+t.version}).join(" "):navigator.userAgent}function qr(){return !/^((?!chrome|android).)*safari/i.test(Xn())}function Ft(e,t,o){t===void 0&&(t=false),o===void 0&&(o=false);var n=e.getBoundingClientRect(),r=1,i=1;t&&ze(e)&&(r=e.offsetWidth>0&&Co(n.width)/e.offsetWidth||1,i=e.offsetHeight>0&&Co(n.height)/e.offsetHeight||1);var s=Vt(e)?ve(e):window,l=s.visualViewport,a=!qr()&&o,u=(n.left+(a&&l?l.offsetLeft:0))/r,c=(n.top+(a&&l?l.offsetTop:0))/i,p=n.width/r,f=n.height/i;return {width:p,height:f,top:c,right:u+p,bottom:c+f,left:u,x:u,y:c}}function cn(e){var t=Ft(e),o=e.offsetWidth,n=e.offsetHeight;return Math.abs(t.width-o)<=1&&(o=t.width),Math.abs(t.height-n)<=1&&(n=t.height),{x:e.offsetLeft,y:e.offsetTop,width:o,height:n}}function Yr(e,t){var o=t.getRootNode&&t.getRootNode();if(e.contains(t))return true;if(o&&Yn(o)){var n=t;do{if(n&&e.isSameNode(n))return true;n=n.parentNode||n.host;}while(n)}return false}function ft(e){return ve(e).getComputedStyle(e)}function Rl(e){return ["table","td","th"].indexOf($e(e))>=0}function We(e){return ((Vt(e)?e.ownerDocument:e.document)||window.document).documentElement}function ko(e){return $e(e)==="html"?e:e.assignedSlot||e.parentNode||(Yn(e)?e.host:null)||We(e)}function Tf(e){return !ze(e)||ft(e).position==="fixed"?null:e.offsetParent}function oT(e){var t=/firefox/i.test(Xn()),o=/Trident/i.test(Xn());if(o&&ze(e)){var n=ft(e);if(n.position==="fixed")return null}var r=ko(e);for(Yn(r)&&(r=r.host);ze(r)&&["html","body"].indexOf($e(r))<0;){var i=ft(r);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||t&&i.willChange==="filter"||t&&i.filter&&i.filter!=="none")return r;r=r.parentNode;}return null}function Jt(e){for(var t=ve(e),o=Tf(e);o&&Rl(o)&&ft(o).position==="static";)o=Tf(o);return o&&($e(o)==="html"||$e(o)==="body"&&ft(o).position==="static")?t:o||oT(e)||t}function un(e){return ["top","bottom"].indexOf(e)>=0?"x":"y"}function pn(e,t,o){return Xt(e,ln(t,o))}function wf(e,t,o){var n=pn(e,t,o);return n>o?o:n}function Xr(){return {top:0,right:0,bottom:0,left:0}}function Jr(e){return Object.assign({},Xr(),e)}function Qr(e,t){return t.reduce(function(o,n){return o[n]=e,o},{})}var nT=function(t,o){return t=typeof t=="function"?t(Object.assign({},o.rects,{placement:o.placement})):t,Jr(typeof t!="number"?t:Qr(t,No))};function rT(e){var t,o=e.state,n=e.name,r=e.options,i=o.elements.arrow,s=o.modifiersData.popperOffsets,l=Ge(o.placement),a=un(l),u=[Ee,Pe].indexOf(l)>=0,c=u?"height":"width";if(!(!i||!s)){var p=nT(r.padding,o),f=cn(i),m=a==="y"?Ce:Ee,g=a==="y"?Be:Pe,S=o.rects.reference[c]+o.rects.reference[a]-s[a]-o.rects.popper[c],v=s[a]-o.rects.reference[a],h=Jt(i),b=h?a==="y"?h.clientHeight||0:h.clientWidth||0:0,C=S/2-v/2,d=p[m],y=b-f[c]-p[g],x=b/2-f[c]/2+C,k=pn(d,x,y),R=a;o.modifiersData[n]=(t={},t[R]=k,t.centerOffset=k-x,t);}}function iT(e){var t=e.state,o=e.options,n=o.element,r=n===void 0?"[data-popper-arrow]":n;r!=null&&(typeof r=="string"&&(r=t.elements.popper.querySelector(r),!r)||Yr(t.elements.popper,r)&&(t.elements.arrow=r));}var Ef={name:"arrow",enabled:true,phase:"main",fn:rT,effect:iT,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function _t(e){return e.split("-")[1]}var aT={top:"auto",right:"auto",bottom:"auto",left:"auto"};function sT(e,t){var o=e.x,n=e.y,r=t.devicePixelRatio||1;return {x:Co(o*r)/r||0,y:Co(n*r)/r||0}}function If(e){var t,o=e.popper,n=e.popperRect,r=e.placement,i=e.variation,s=e.offsets,l=e.position,a=e.gpuAcceleration,u=e.adaptive,c=e.roundOffsets,p=e.isFixed,f=s.x,m=f===void 0?0:f,g=s.y,S=g===void 0?0:g,v=typeof c=="function"?c({x:m,y:S}):{x:m,y:S};m=v.x,S=v.y;var h=s.hasOwnProperty("x"),b=s.hasOwnProperty("y"),C=Ee,d=Ce,y=window;if(u){var x=Jt(o),k="clientHeight",R="clientWidth";if(x===ve(o)&&(x=We(o),ft(x).position!=="static"&&l==="absolute"&&(k="scrollHeight",R="scrollWidth")),x=x,r===Ce||(r===Ee||r===Pe)&&i===sn){d=Be;var B=p&&x===y&&y.visualViewport?y.visualViewport.height:x[k];S-=B-n.height,S*=a?1:-1;}if(r===Ee||(r===Ce||r===Be)&&i===sn){C=Pe;var N=p&&x===y&&y.visualViewport?y.visualViewport.width:x[R];m-=N-n.width,m*=a?1:-1;}}var $=Object.assign({position:l},u&&aT),K=c===true?sT({x:m,y:S},ve(o)):{x:m,y:S};if(m=K.x,S=K.y,a){var T;return Object.assign({},$,(T={},T[d]=b?"0":"",T[C]=h?"0":"",T.transform=(y.devicePixelRatio||1)<=1?"translate("+m+"px, "+S+"px)":"translate3d("+m+"px, "+S+"px, 0)",T))}return Object.assign({},$,(t={},t[d]=b?S+"px":"",t[C]=h?m+"px":"",t.transform="",t))}function lT(e){var t=e.state,o=e.options,n=o.gpuAcceleration,r=n===void 0?true:n,i=o.adaptive,s=i===void 0?true:i,l=o.roundOffsets,a=l===void 0?true:l,u={placement:Ge(t.placement),variation:_t(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:r,isFixed:t.options.strategy==="fixed"};t.modifiersData.popperOffsets!=null&&(t.styles.popper=Object.assign({},t.styles.popper,If(Object.assign({},u,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:s,roundOffsets:a})))),t.modifiersData.arrow!=null&&(t.styles.arrow=Object.assign({},t.styles.arrow,If(Object.assign({},u,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:false,roundOffsets:a})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement});}var Af={name:"computeStyles",enabled:true,phase:"beforeWrite",fn:lT,data:{}};var Da={passive:true};function cT(e){var t=e.state,o=e.instance,n=e.options,r=n.scroll,i=r===void 0?true:r,s=n.resize,l=s===void 0?true:s,a=ve(t.elements.popper),u=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&u.forEach(function(c){c.addEventListener("scroll",o.update,Da);}),l&&a.addEventListener("resize",o.update,Da),function(){i&&u.forEach(function(c){c.removeEventListener("scroll",o.update,Da);}),l&&a.removeEventListener("resize",o.update,Da);}}var Pf={name:"eventListeners",enabled:true,phase:"write",fn:function(){},effect:cT,data:{}};var uT={left:"right",right:"left",bottom:"top",top:"bottom"};function Jn(e){return e.replace(/left|right|bottom|top/g,function(t){return uT[t]})}var pT={start:"end",end:"start"};function La(e){return e.replace(/start|end/g,function(t){return pT[t]})}function dn(e){var t=ve(e),o=t.pageXOffset,n=t.pageYOffset;return {scrollLeft:o,scrollTop:n}}function fn(e){return Ft(We(e)).left+dn(e).scrollLeft}function Ol(e,t){var o=ve(e),n=We(e),r=o.visualViewport,i=n.clientWidth,s=n.clientHeight,l=0,a=0;if(r){i=r.width,s=r.height;var u=qr();(u||!u&&t==="fixed")&&(l=r.offsetLeft,a=r.offsetTop);}return {width:i,height:s,x:l+fn(e),y:a}}function Ml(e){var t,o=We(e),n=dn(e),r=(t=e.ownerDocument)==null?void 0:t.body,i=Xt(o.scrollWidth,o.clientWidth,r?r.scrollWidth:0,r?r.clientWidth:0),s=Xt(o.scrollHeight,o.clientHeight,r?r.scrollHeight:0,r?r.clientHeight:0),l=-n.scrollLeft+fn(e),a=-n.scrollTop;return ft(r||o).direction==="rtl"&&(l+=Xt(o.clientWidth,r?r.clientWidth:0)-i),{width:i,height:s,x:l,y:a}}function mn(e){var t=ft(e),o=t.overflow,n=t.overflowX,r=t.overflowY;return /auto|scroll|overlay|hidden/.test(o+r+n)}function Ba(e){return ["html","body","#document"].indexOf($e(e))>=0?e.ownerDocument.body:ze(e)&&mn(e)?e:Ba(ko(e))}function Vo(e,t){var o;t===void 0&&(t=[]);var n=Ba(e),r=n===((o=e.ownerDocument)==null?void 0:o.body),i=ve(n),s=r?[i].concat(i.visualViewport||[],mn(n)?n:[]):n,l=t.concat(s);return r?l:l.concat(Vo(ko(s)))}function Qn(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function dT(e,t){var o=Ft(e,false,t==="fixed");return o.top=o.top+e.clientTop,o.left=o.left+e.clientLeft,o.bottom=o.top+e.clientHeight,o.right=o.left+e.clientWidth,o.width=e.clientWidth,o.height=e.clientHeight,o.x=o.left,o.y=o.top,o}function Rf(e,t,o){return t===Oa?Qn(Ol(e,o)):Vt(t)?dT(t,o):Qn(Ml(We(e)))}function fT(e){var t=Vo(ko(e)),o=["absolute","fixed"].indexOf(ft(e).position)>=0,n=o&&ze(e)?Jt(e):e;return Vt(n)?t.filter(function(r){return Vt(r)&&Yr(r,n)&&$e(r)!=="body"}):[]}function Dl(e,t,o,n){var r=t==="clippingParents"?fT(e):[].concat(t),i=[].concat(r,[o]),s=i[0],l=i.reduce(function(a,u){var c=Rf(e,u,n);return a.top=Xt(c.top,a.top),a.right=ln(c.right,a.right),a.bottom=ln(c.bottom,a.bottom),a.left=Xt(c.left,a.left),a},Rf(e,s,n));return l.width=l.right-l.left,l.height=l.bottom-l.top,l.x=l.left,l.y=l.top,l}function Zr(e){var t=e.reference,o=e.element,n=e.placement,r=n?Ge(n):null,i=n?_t(n):null,s=t.x+t.width/2-o.width/2,l=t.y+t.height/2-o.height/2,a;switch(r){case Ce:a={x:s,y:t.y-o.height};break;case Be:a={x:s,y:t.y+t.height};break;case Pe:a={x:t.x+t.width,y:l};break;case Ee:a={x:t.x-o.width,y:l};break;default:a={x:t.x,y:t.y};}var u=r?un(r):null;if(u!=null){var c=u==="y"?"height":"width";switch(i){case xo:a[u]=a[u]-(t[c]/2-o[c]/2);break;case sn:a[u]=a[u]+(t[c]/2-o[c]/2);break;}}return a}function Qt(e,t){t===void 0&&(t={});var o=t,n=o.placement,r=n===void 0?e.placement:n,i=o.strategy,s=i===void 0?e.strategy:i,l=o.boundary,a=l===void 0?xf:l,u=o.rootBoundary,c=u===void 0?Oa:u,p=o.elementContext,f=p===void 0?qn:p,m=o.altBoundary,g=m===void 0?false:m,S=o.padding,v=S===void 0?0:S,h=Jr(typeof v!="number"?v:Qr(v,No)),b=f===qn?Cf:qn,C=e.rects.popper,d=e.elements[g?b:f],y=Dl(Vt(d)?d:d.contextElement||We(e.elements.popper),a,c,s),x=Ft(e.elements.reference),k=Zr({reference:x,element:C,placement:r}),R=Qn(Object.assign({},C,k)),B=f===qn?R:x,N={top:y.top-B.top+h.top,bottom:B.bottom-y.bottom+h.bottom,left:y.left-B.left+h.left,right:B.right-y.right+h.right},$=e.modifiersData.offset;if(f===qn&&$){var K=$[r];Object.keys(N).forEach(function(T){var M=[Pe,Be].indexOf(T)>=0?1:-1,I=[Ce,Be].indexOf(T)>=0?"y":"x";N[T]+=K[I]*M;});}return N}function Ll(e,t){t===void 0&&(t={});var o=t,n=o.placement,r=o.boundary,i=o.rootBoundary,s=o.padding,l=o.flipVariations,a=o.allowedAutoPlacements,u=a===void 0?Ma:a,c=_t(n),p=c?l?Pl:Pl.filter(function(g){return _t(g)===c}):No,f=p.filter(function(g){return u.indexOf(g)>=0});f.length===0&&(f=p);var m=f.reduce(function(g,S){return g[S]=Qt(e,{placement:S,boundary:r,rootBoundary:i,padding:s})[Ge(S)],g},{});return Object.keys(m).sort(function(g,S){return m[g]-m[S]})}function mT(e){if(Ge(e)===Ra)return [];var t=Jn(e);return [La(e),t,La(t)]}function gT(e){var t=e.state,o=e.options,n=e.name;if(!t.modifiersData[n]._skip){for(var r=o.mainAxis,i=r===void 0?true:r,s=o.altAxis,l=s===void 0?true:s,a=o.fallbackPlacements,u=o.padding,c=o.boundary,p=o.rootBoundary,f=o.altBoundary,m=o.flipVariations,g=m===void 0?true:m,S=o.allowedAutoPlacements,v=t.options.placement,h=Ge(v),b=h===v,C=a||(b||!g?[Jn(v)]:mT(v)),d=[v].concat(C).reduce(function(_,Q){return _.concat(Ge(Q)===Ra?Ll(t,{placement:Q,boundary:c,rootBoundary:p,padding:u,flipVariations:g,allowedAutoPlacements:S}):Q)},[]),y=t.rects.reference,x=t.rects.popper,k=new Map,R=true,B=d[0],N=0;N<d.length;N++){var $=d[N],K=Ge($),T=_t($)===xo,M=[Ce,Be].indexOf(K)>=0,I=M?"width":"height",O=Qt(t,{placement:$,boundary:c,rootBoundary:p,altBoundary:f,padding:u}),G=M?T?Pe:Ee:T?Be:Ce;y[I]>x[I]&&(G=Jn(G));var W=Jn(G),F=[];if(i&&F.push(O[K]<=0),l&&F.push(O[G]<=0,O[W]<=0),F.every(function(_){return _})){B=$,R=false;break}k.set($,F);}if(R)for(var L=g?3:1,U=function(Q){var Y=d.find(function(ce){var re=k.get(ce);if(re)return re.slice(0,Q).every(function(ae){return ae})});if(Y)return B=Y,"break"},P=L;P>0;P--){var A=U(P);if(A==="break")break}t.placement!==B&&(t.modifiersData[n]._skip=true,t.placement=B,t.reset=true);}}var Of={name:"flip",enabled:true,phase:"main",fn:gT,requiresIfExists:["offset"],data:{_skip:false}};function Mf(e,t,o){return o===void 0&&(o={x:0,y:0}),{top:e.top-t.height-o.y,right:e.right-t.width+o.x,bottom:e.bottom-t.height+o.y,left:e.left-t.width-o.x}}function Df(e){return [Ce,Pe,Be,Ee].some(function(t){return e[t]>=0})}function hT(e){var t=e.state,o=e.name,n=t.rects.reference,r=t.rects.popper,i=t.modifiersData.preventOverflow,s=Qt(t,{elementContext:"reference"}),l=Qt(t,{altBoundary:true}),a=Mf(s,n),u=Mf(l,r,i),c=Df(a),p=Df(u);t.modifiersData[o]={referenceClippingOffsets:a,popperEscapeOffsets:u,isReferenceHidden:c,hasPopperEscaped:p},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":p});}var Lf={name:"hide",enabled:true,phase:"main",requiresIfExists:["preventOverflow"],fn:hT};function bT(e,t,o){var n=Ge(e),r=[Ee,Ce].indexOf(n)>=0?-1:1,i=typeof o=="function"?o(Object.assign({},t,{placement:e})):o,s=i[0],l=i[1];return s=s||0,l=(l||0)*r,[Ee,Pe].indexOf(n)>=0?{x:l,y:s}:{x:s,y:l}}function yT(e){var t=e.state,o=e.options,n=e.name,r=o.offset,i=r===void 0?[0,0]:r,s=Ma.reduce(function(c,p){return c[p]=bT(p,t.rects,i),c},{}),l=s[t.placement],a=l.x,u=l.y;t.modifiersData.popperOffsets!=null&&(t.modifiersData.popperOffsets.x+=a,t.modifiersData.popperOffsets.y+=u),t.modifiersData[n]=s;}var Bf={name:"offset",enabled:true,phase:"main",requires:["popperOffsets"],fn:yT};function vT(e){var t=e.state,o=e.name;t.modifiersData[o]=Zr({reference:t.rects.reference,element:t.rects.popper,placement:t.placement});}var zf={name:"popperOffsets",enabled:true,phase:"read",fn:vT,data:{}};function Bl(e){return e==="x"?"y":"x"}function ST(e){var t=e.state,o=e.options,n=e.name,r=o.mainAxis,i=r===void 0?true:r,s=o.altAxis,l=s===void 0?false:s,a=o.boundary,u=o.rootBoundary,c=o.altBoundary,p=o.padding,f=o.tether,m=f===void 0?true:f,g=o.tetherOffset,S=g===void 0?0:g,v=Qt(t,{boundary:a,rootBoundary:u,padding:p,altBoundary:c}),h=Ge(t.placement),b=_t(t.placement),C=!b,d=un(h),y=Bl(d),x=t.modifiersData.popperOffsets,k=t.rects.reference,R=t.rects.popper,B=typeof S=="function"?S(Object.assign({},t.rects,{placement:t.placement})):S,N=typeof B=="number"?{mainAxis:B,altAxis:B}:Object.assign({mainAxis:0,altAxis:0},B),$=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,K={x:0,y:0};if(x){if(i){var T,M=d==="y"?Ce:Ee,I=d==="y"?Be:Pe,O=d==="y"?"height":"width",G=x[d],W=G+v[M],F=G-v[I],L=m?-R[O]/2:0,U=b===xo?k[O]:R[O],P=b===xo?-R[O]:-k[O],A=t.elements.arrow,_=m&&A?cn(A):{width:0,height:0},Q=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:Xr(),Y=Q[M],ce=Q[I],re=pn(0,k[O],_[O]),ae=C?k[O]/2-L-re-Y-N.mainAxis:U-re-Y-N.mainAxis,me=C?-k[O]/2+L+re+ce+N.mainAxis:P+re+ce+N.mainAxis,gt=t.elements.arrow&&Jt(t.elements.arrow),kt=gt?d==="y"?gt.clientTop||0:gt.clientLeft||0:0,Rt=(T=$?.[d])!=null?T:0,z=G+ae-Rt-kt,X=G+me-Rt,ie=pn(m?ln(W,z):W,G,m?Xt(F,X):F);x[d]=ie,K[d]=ie-G;}if(l){var Ve,at=d==="x"?Ce:Ee,Ye=d==="x"?Be:Pe,Wt=x[y],Oo=y==="y"?"height":"width",wr=Wt+v[at],Qo=Wt-v[Ye],Er=[Ce,Ee].indexOf(h)!==-1,Ai=(Ve=$?.[y])!=null?Ve:0,Pi=Er?wr:Wt-k[Oo]-R[Oo]-Ai+N.altAxis,Ri=Er?Wt+k[Oo]+R[Oo]-Ai-N.altAxis:Qo,Oi=m&&Er?wf(Pi,Wt,Ri):pn(m?Pi:wr,Wt,m?Ri:Qo);x[y]=Oi,K[y]=Oi-Wt;}t.modifiersData[n]=K;}}var Nf={name:"preventOverflow",enabled:true,phase:"main",fn:ST,requiresIfExists:["offset"]};function zl(e){return {scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}}function Nl(e){return e===ve(e)||!ze(e)?dn(e):zl(e)}function xT(e){var t=e.getBoundingClientRect(),o=Co(t.width)/e.offsetWidth||1,n=Co(t.height)/e.offsetHeight||1;return o!==1||n!==1}function Vl(e,t,o){o===void 0&&(o=false);var n=ze(t),r=ze(t)&&xT(t),i=We(t),s=Ft(e,r,o),l={scrollLeft:0,scrollTop:0},a={x:0,y:0};return (n||!n&&!o)&&(($e(t)!=="body"||mn(i))&&(l=Nl(t)),ze(t)?(a=Ft(t,true),a.x+=t.clientLeft,a.y+=t.clientTop):i&&(a.x=fn(i))),{x:s.left+l.scrollLeft-a.x,y:s.top+l.scrollTop-a.y,width:s.width,height:s.height}}function CT(e){var t=new Map,o=new Set,n=[];e.forEach(function(i){t.set(i.name,i);});function r(i){o.add(i.name);var s=[].concat(i.requires||[],i.requiresIfExists||[]);s.forEach(function(l){if(!o.has(l)){var a=t.get(l);a&&r(a);}}),n.push(i);}return e.forEach(function(i){o.has(i.name)||r(i);}),n}function Fl(e){var t=CT(e);return kf.reduce(function(o,n){return o.concat(t.filter(function(r){return r.phase===n}))},[])}function _l(e){var t;return function(){return t||(t=new Promise(function(o){Promise.resolve().then(function(){t=void 0,o(e());});})),t}}function $l(e){var t=e.reduce(function(o,n){var r=o[n.name];return o[n.name]=r?Object.assign({},r,n,{options:Object.assign({},r.options,n.options),data:Object.assign({},r.data,n.data)}):n,o},{});return Object.keys(t).map(function(o){return t[o]})}var Vf={placement:"bottom",modifiers:[],strategy:"absolute"};function Ff(){for(var e=arguments.length,t=new Array(e),o=0;o<e;o++)t[o]=arguments[o];return !t.some(function(n){return !(n&&typeof n.getBoundingClientRect=="function")})}function _f(e){e===void 0&&(e={});var t=e,o=t.defaultModifiers,n=o===void 0?[]:o,r=t.defaultOptions,i=r===void 0?Vf:r;return function(l,a,u){u===void 0&&(u=i);var c={placement:"bottom",orderedModifiers:[],options:Object.assign({},Vf,i),modifiersData:{},elements:{reference:l,popper:a},attributes:{},styles:{}},p=[],f=false,m={state:c,setOptions:function(h){var b=typeof h=="function"?h(c.options):h;S(),c.options=Object.assign({},i,c.options,b),c.scrollParents={reference:Vt(l)?Vo(l):l.contextElement?Vo(l.contextElement):[],popper:Vo(a)};var C=Fl($l([].concat(n,c.options.modifiers)));return c.orderedModifiers=C.filter(function(d){return d.enabled}),g(),m.update()},forceUpdate:function(){if(!f){var h=c.elements,b=h.reference,C=h.popper;if(Ff(b,C)){c.rects={reference:Vl(b,Jt(C),c.options.strategy==="fixed"),popper:cn(C)},c.reset=false,c.placement=c.options.placement,c.orderedModifiers.forEach(function(N){return c.modifiersData[N.name]=Object.assign({},N.data)});for(var d=0;d<c.orderedModifiers.length;d++){if(c.reset===true){c.reset=false,d=-1;continue}var y=c.orderedModifiers[d],x=y.fn,k=y.options,R=k===void 0?{}:k,B=y.name;typeof x=="function"&&(c=x({state:c,options:R,name:B,instance:m})||c);}}}},update:_l(function(){return new Promise(function(v){m.forceUpdate(),v(c);})}),destroy:function(){S(),f=true;}};if(!Ff(l,a))return m;m.setOptions(u).then(function(v){!f&&u.onFirstUpdate&&u.onFirstUpdate(v);});function g(){c.orderedModifiers.forEach(function(v){var h=v.name,b=v.options,C=b===void 0?{}:b,d=v.effect;if(typeof d=="function"){var y=d({state:c,name:h,instance:m,options:C}),x=function(){};p.push(y||x);}});}function S(){p.forEach(function(v){return v()}),p=[];}return m}}var kT=[Pf,zf,Af,Kr,Bf,Of,Nf,Ef,Lf],Gl=_f({defaultModifiers:kT});var TT="tippy-box",Jf="tippy-content",wT="tippy-backdrop",Qf="tippy-arrow",Zf="tippy-svg-arrow",gn={passive:true,capture:true},em=function(){return document.body};function ET(e,t){return {}.hasOwnProperty.call(e,t)}function Ul(e,t,o){if(Array.isArray(e)){var n=e[t];return n??(Array.isArray(o)?o[t]:o)}return e}function Xl(e,t){var o={}.toString.call(e);return o.indexOf("[object")===0&&o.indexOf(t+"]")>-1}function tm(e,t){return typeof e=="function"?e.apply(void 0,t):e}function $f(e,t){if(t===0)return e;var o;return function(n){clearTimeout(o),o=setTimeout(function(){e(n);},t);}}function IT(e,t){var o=Object.assign({},e);return t.forEach(function(n){delete o[n];}),o}function AT(e){return e.split(/\s+/).filter(Boolean)}function er(e){return [].concat(e)}function Gf(e,t){e.indexOf(t)===-1&&e.push(t);}function PT(e){return e.filter(function(t,o){return e.indexOf(t)===o})}function RT(e){return e.split("-")[0]}function Na(e){return [].slice.call(e)}function Uf(e){return Object.keys(e).reduce(function(t,o){return e[o]!==void 0&&(t[o]=e[o]),t},{})}function ei(){return document.createElement("div")}function ti(e){return ["Element","Fragment"].some(function(t){return Xl(e,t)})}function OT(e){return Xl(e,"NodeList")}function MT(e){return Xl(e,"MouseEvent")}function DT(e){return !!(e&&e._tippy&&e._tippy.reference===e)}function LT(e){return ti(e)?[e]:OT(e)?Na(e):Array.isArray(e)?e:Na(document.querySelectorAll(e))}function Hl(e,t){e.forEach(function(o){o&&(o.style.transitionDuration=t+"ms");});}function Hf(e,t){e.forEach(function(o){o&&o.setAttribute("data-state",t);});}function BT(e){var t,o=er(e),n=o[0];return n!=null&&(t=n.ownerDocument)!=null&&t.body?n.ownerDocument:document}function zT(e,t){var o=t.clientX,n=t.clientY;return e.every(function(r){var i=r.popperRect,s=r.popperState,l=r.props,a=l.interactiveBorder,u=RT(s.placement),c=s.modifiersData.offset;if(!c)return true;var p=u==="bottom"?c.top.y:0,f=u==="top"?c.bottom.y:0,m=u==="right"?c.left.x:0,g=u==="left"?c.right.x:0,S=i.top-n+p>a,v=n-i.bottom-f>a,h=i.left-o+m>a,b=o-i.right-g>a;return S||v||h||b})}function jl(e,t,o){var n=t+"EventListener";["transitionend","webkitTransitionEnd"].forEach(function(r){e[n](r,o);});}function jf(e,t){for(var o=t;o;){var n;if(e.contains(o))return true;o=o.getRootNode==null||(n=o.getRootNode())==null?void 0:n.host;}return false}var so={isTouch:false},Wf=0;function NT(){so.isTouch||(so.isTouch=true,window.performance&&document.addEventListener("mousemove",om));}function om(){var e=performance.now();e-Wf<20&&(so.isTouch=false,document.removeEventListener("mousemove",om)),Wf=e;}function VT(){var e=document.activeElement;if(DT(e)){var t=e._tippy;e.blur&&!t.state.isVisible&&e.blur();}}function FT(){document.addEventListener("touchstart",NT,gn),window.addEventListener("blur",VT);}var _T=typeof window<"u"&&typeof document<"u",$T=_T?!!window.msCrypto:false;function Zn(e){var t=e==="destroy"?"n already-":" ";return [e+"() was called on a"+t+"destroyed instance. This is a no-op but","indicates a potential memory leak."].join(" ")}function Kf(e){var t=/[ \t]{2,}/g,o=/^[ \t]*/gm;return e.replace(t," ").replace(o,"").trim()}function GT(e){return Kf(`
|
|
57
12
|
%ctippy.js
|
|
58
13
|
|
|
59
|
-
%c`+
|
|
14
|
+
%c`+Kf(e)+`
|
|
60
15
|
|
|
61
16
|
%c\u{1F477}\u200D This is a development-only message. It will be removed in production.
|
|
62
|
-
`)}function
|
|
17
|
+
`)}function nm(e){return [GT(e),"color: #00C584; font-size: 1.3em; font-weight: bold;","line-height: 1.5","color: #a6a095;"]}var oi;process.env.NODE_ENV!=="production"&&UT();function UT(){oi=new Set;}function To(e,t){if(e&&!oi.has(t)){var o;oi.add(t),(o=console).warn.apply(o,nm(t));}}function Kl(e,t){if(e&&!oi.has(t)){var o;oi.add(t),(o=console).error.apply(o,nm(t));}}function HT(e){var t=!e,o=Object.prototype.toString.call(e)==="[object Object]"&&!e.addEventListener;Kl(t,["tippy() was passed","`"+String(e)+"`","as its targets (first) argument. Valid types are: String, Element,","Element[], or NodeList."].join(" ")),Kl(o,["tippy() was passed a plain object which is not supported as an argument","for virtual positioning. Use props.getReferenceClientRect instead."].join(" "));}var rm={animateFill:false,followCursor:false,inlinePositioning:false,sticky:false},jT={allowHTML:false,animation:"fade",arrow:true,content:"",inertia:false,maxWidth:350,role:"tooltip",theme:"",zIndex:9999},Tt=Object.assign({appendTo:em,aria:{content:"auto",expanded:"auto"},delay:0,duration:[300,250],getReferenceClientRect:null,hideOnClick:true,ignoreAttributes:false,interactive:false,interactiveBorder:2,interactiveDebounce:0,moveTransition:"",offset:[0,10],onAfterUpdate:function(){},onBeforeUpdate:function(){},onCreate:function(){},onDestroy:function(){},onHidden:function(){},onHide:function(){},onMount:function(){},onShow:function(){},onShown:function(){},onTrigger:function(){},onUntrigger:function(){},onClickOutside:function(){},placement:"top",plugins:[],popperOptions:{},render:null,showOnCreate:false,touch:true,trigger:"mouseenter focus",triggerTarget:null},rm,jT),WT=Object.keys(Tt),KT=function(t){process.env.NODE_ENV!=="production"&&am(t,[]);var o=Object.keys(t);o.forEach(function(n){Tt[n]=t[n];});};function im(e){var t=e.plugins||[],o=t.reduce(function(n,r){var i=r.name,s=r.defaultValue;if(i){var l;n[i]=e[i]!==void 0?e[i]:(l=Tt[i])!=null?l:s;}return n},{});return Object.assign({},e,o)}function qT(e,t){var o=t?Object.keys(im(Object.assign({},Tt,{plugins:t}))):WT,n=o.reduce(function(r,i){var s=(e.getAttribute("data-tippy-"+i)||"").trim();if(!s)return r;if(i==="content")r[i]=s;else try{r[i]=JSON.parse(s);}catch{r[i]=s;}return r},{});return n}function qf(e,t){var o=Object.assign({},t,{content:tm(t.content,[e])},t.ignoreAttributes?{}:qT(e,t.plugins));return o.aria=Object.assign({},Tt.aria,o.aria),o.aria={expanded:o.aria.expanded==="auto"?t.interactive:o.aria.expanded,content:o.aria.content==="auto"?t.interactive?null:"describedby":o.aria.content},o}function am(e,t){e===void 0&&(e={}),t===void 0&&(t=[]);var o=Object.keys(e);o.forEach(function(n){var r=IT(Tt,Object.keys(rm)),i=!ET(r,n);i&&(i=t.filter(function(s){return s.name===n}).length===0),To(i,["`"+n+"`","is not a valid prop. You may have spelled it incorrectly, or if it's","a plugin, forgot to pass it in an array as props.plugins.",`
|
|
63
18
|
|
|
64
19
|
`,`All props: https://atomiks.github.io/tippyjs/v6/all-props/
|
|
65
|
-
`,"Plugins: https://atomiks.github.io/tippyjs/v6/plugins/"].join(" "));});}var
|
|
20
|
+
`,"Plugins: https://atomiks.github.io/tippyjs/v6/plugins/"].join(" "));});}var YT=function(){return "innerHTML"};function ql(e,t){e[YT()]=t;}function Yf(e){var t=ei();return e===true?t.className=Qf:(t.className=Zf,ti(e)?t.appendChild(e):ql(t,e)),t}function Xf(e,t){ti(t.content)?(ql(e,""),e.appendChild(t.content)):typeof t.content!="function"&&(t.allowHTML?ql(e,t.content):e.textContent=t.content);}function Yl(e){var t=e.firstElementChild,o=Na(t.children);return {box:t,content:o.find(function(n){return n.classList.contains(Jf)}),arrow:o.find(function(n){return n.classList.contains(Qf)||n.classList.contains(Zf)}),backdrop:o.find(function(n){return n.classList.contains(wT)})}}function sm(e){var t=ei(),o=ei();o.className=TT,o.setAttribute("data-state","hidden"),o.setAttribute("tabindex","-1");var n=ei();n.className=Jf,n.setAttribute("data-state","hidden"),Xf(n,e.props),t.appendChild(o),o.appendChild(n),r(e.props,e.props);function r(i,s){var l=Yl(t),a=l.box,u=l.content,c=l.arrow;s.theme?a.setAttribute("data-theme",s.theme):a.removeAttribute("data-theme"),typeof s.animation=="string"?a.setAttribute("data-animation",s.animation):a.removeAttribute("data-animation"),s.inertia?a.setAttribute("data-inertia",""):a.removeAttribute("data-inertia"),a.style.maxWidth=typeof s.maxWidth=="number"?s.maxWidth+"px":s.maxWidth,s.role?a.setAttribute("role",s.role):a.removeAttribute("role"),(i.content!==s.content||i.allowHTML!==s.allowHTML)&&Xf(u,e.props),s.arrow?c?i.arrow!==s.arrow&&(a.removeChild(c),a.appendChild(Yf(s.arrow))):a.appendChild(Yf(s.arrow)):c&&a.removeChild(c);}return {popper:t,onUpdate:r}}sm.$$tippy=true;var XT=1,za=[],Wl=[];function JT(e,t){var o=qf(e,Object.assign({},Tt,im(Uf(t)))),n,r,i,s=false,l=false,a=false,u=false,c,p,f,m=[],g=$f(z,o.interactiveDebounce),S,v=XT++,h=null,b=PT(o.plugins),C={isEnabled:true,isVisible:false,isDestroyed:false,isMounted:false,isShown:false},d={id:v,reference:e,popper:ei(),popperInstance:h,props:o,state:C,plugins:b,clearDelayTimeouts:Pi,setProps:Ri,setContent:Oi,show:Pb,hide:Rb,hideWithInteractivity:Ob,enable:Er,disable:Ai,unmount:Mb,destroy:Db};if(!o.render)return process.env.NODE_ENV!=="production"&&Kl(true,"render() function has not been supplied."),d;var y=o.render(d),x=y.popper,k=y.onUpdate;x.setAttribute("data-tippy-root",""),x.id="tippy-"+d.id,d.popper=x,e._tippy=d,x._tippy=d;var R=b.map(function(D){return D.fn(d)}),B=e.hasAttribute("aria-expanded");return gt(),L(),G(),W("onCreate",[d]),o.showOnCreate&&wr(),x.addEventListener("mouseenter",function(){d.props.interactive&&d.state.isVisible&&d.clearDelayTimeouts();}),x.addEventListener("mouseleave",function(){d.props.interactive&&d.props.trigger.indexOf("mouseenter")>=0&&M().addEventListener("mousemove",g);}),d;function N(){var D=d.props.touch;return Array.isArray(D)?D:[D,0]}function $(){return N()[0]==="hold"}function K(){var D;return !!((D=d.props.render)!=null&&D.$$tippy)}function T(){return S||e}function M(){var D=T().parentNode;return D?BT(D):document}function I(){return Yl(x)}function O(D){return d.state.isMounted&&!d.state.isVisible||so.isTouch||c&&c.type==="focus"?0:Ul(d.props.delay,D?0:1,Tt.delay)}function G(D){D===void 0&&(D=false),x.style.pointerEvents=d.props.interactive&&!D?"":"none",x.style.zIndex=""+d.props.zIndex;}function W(D,Z,oe){if(oe===void 0&&(oe=true),R.forEach(function(pe){pe[D]&&pe[D].apply(pe,Z);}),oe){var ge;(ge=d.props)[D].apply(ge,Z);}}function F(){var D=d.props.aria;if(D.content){var Z="aria-"+D.content,oe=x.id,ge=er(d.props.triggerTarget||e);ge.forEach(function(pe){var st=pe.getAttribute(Z);if(d.state.isVisible)pe.setAttribute(Z,st?st+" "+oe:oe);else {var Ot=st&&st.replace(oe,"").trim();Ot?pe.setAttribute(Z,Ot):pe.removeAttribute(Z);}});}}function L(){if(!(B||!d.props.aria.expanded)){var D=er(d.props.triggerTarget||e);D.forEach(function(Z){d.props.interactive?Z.setAttribute("aria-expanded",d.state.isVisible&&Z===T()?"true":"false"):Z.removeAttribute("aria-expanded");});}}function U(){M().removeEventListener("mousemove",g),za=za.filter(function(D){return D!==g});}function P(D){if(!(so.isTouch&&(a||D.type==="mousedown"))){var Z=D.composedPath&&D.composedPath()[0]||D.target;if(!(d.props.interactive&&jf(x,Z))){if(er(d.props.triggerTarget||e).some(function(oe){return jf(oe,Z)})){if(so.isTouch||d.state.isVisible&&d.props.trigger.indexOf("click")>=0)return}else W("onClickOutside",[d,D]);d.props.hideOnClick===true&&(d.clearDelayTimeouts(),d.hide(),l=true,setTimeout(function(){l=false;}),d.state.isMounted||Y());}}}function A(){a=true;}function _(){a=false;}function Q(){var D=M();D.addEventListener("mousedown",P,true),D.addEventListener("touchend",P,gn),D.addEventListener("touchstart",_,gn),D.addEventListener("touchmove",A,gn);}function Y(){var D=M();D.removeEventListener("mousedown",P,true),D.removeEventListener("touchend",P,gn),D.removeEventListener("touchstart",_,gn),D.removeEventListener("touchmove",A,gn);}function ce(D,Z){ae(D,function(){!d.state.isVisible&&x.parentNode&&x.parentNode.contains(x)&&Z();});}function re(D,Z){ae(D,Z);}function ae(D,Z){var oe=I().box;function ge(pe){pe.target===oe&&(jl(oe,"remove",ge),Z());}if(D===0)return Z();jl(oe,"remove",p),jl(oe,"add",ge),p=ge;}function me(D,Z,oe){oe===void 0&&(oe=false);var ge=er(d.props.triggerTarget||e);ge.forEach(function(pe){pe.addEventListener(D,Z,oe),m.push({node:pe,eventType:D,handler:Z,options:oe});});}function gt(){$()&&(me("touchstart",Rt,{passive:true}),me("touchend",X,{passive:true})),AT(d.props.trigger).forEach(function(D){if(D!=="manual")switch(me(D,Rt),D){case "mouseenter":me("mouseleave",X);break;case "focus":me($T?"focusout":"blur",ie);break;case "focusin":me("focusout",ie);break}});}function kt(){m.forEach(function(D){var Z=D.node,oe=D.eventType,ge=D.handler,pe=D.options;Z.removeEventListener(oe,ge,pe);}),m=[];}function Rt(D){var Z,oe=false;if(!(!d.state.isEnabled||Ve(D)||l)){var ge=((Z=c)==null?void 0:Z.type)==="focus";c=D,S=D.currentTarget,L(),!d.state.isVisible&&MT(D)&&za.forEach(function(pe){return pe(D)}),D.type==="click"&&(d.props.trigger.indexOf("mouseenter")<0||s)&&d.props.hideOnClick!==false&&d.state.isVisible?oe=true:wr(D),D.type==="click"&&(s=!oe),oe&&!ge&&Qo(D);}}function z(D){var Z=D.target,oe=T().contains(Z)||x.contains(Z);if(!(D.type==="mousemove"&&oe)){var ge=Oo().concat(x).map(function(pe){var st,Ot=pe._tippy,kn=(st=Ot.popperInstance)==null?void 0:st.state;return kn?{popperRect:pe.getBoundingClientRect(),popperState:kn,props:o}:null}).filter(Boolean);zT(ge,D)&&(U(),Qo(D));}}function X(D){var Z=Ve(D)||d.props.trigger.indexOf("click")>=0&&s;if(!Z){if(d.props.interactive){d.hideWithInteractivity(D);return}Qo(D);}}function ie(D){d.props.trigger.indexOf("focusin")<0&&D.target!==T()||d.props.interactive&&D.relatedTarget&&x.contains(D.relatedTarget)||Qo(D);}function Ve(D){return so.isTouch?$()!==D.type.indexOf("touch")>=0:false}function at(){Ye();var D=d.props,Z=D.popperOptions,oe=D.placement,ge=D.offset,pe=D.getReferenceClientRect,st=D.moveTransition,Ot=K()?Yl(x).arrow:null,kn=pe?{getBoundingClientRect:pe,contextElement:pe.contextElement||T()}:e,Lu={name:"$$tippy",enabled:true,phase:"beforeWrite",requires:["computeStyles"],fn:function(Mi){var Tn=Mi.state;if(K()){var Lb=I(),Ds=Lb.box;["placement","reference-hidden","escaped"].forEach(function(Di){Di==="placement"?Ds.setAttribute("data-placement",Tn.placement):Tn.attributes.popper["data-popper-"+Di]?Ds.setAttribute("data-"+Di,""):Ds.removeAttribute("data-"+Di);}),Tn.attributes.popper={};}}},Zo=[{name:"offset",options:{offset:ge}},{name:"preventOverflow",options:{padding:{top:2,bottom:2,left:5,right:5}}},{name:"flip",options:{padding:5}},{name:"computeStyles",options:{adaptive:!st}},Lu];K()&&Ot&&Zo.push({name:"arrow",options:{element:Ot,padding:3}}),Zo.push.apply(Zo,Z?.modifiers||[]),d.popperInstance=Gl(kn,x,Object.assign({},Z,{placement:oe,onFirstUpdate:f,modifiers:Zo}));}function Ye(){d.popperInstance&&(d.popperInstance.destroy(),d.popperInstance=null);}function Wt(){var D=d.props.appendTo,Z,oe=T();d.props.interactive&&D===em||D==="parent"?Z=oe.parentNode:Z=tm(D,[oe]),Z.contains(x)||Z.appendChild(x),d.state.isMounted=true,at(),process.env.NODE_ENV!=="production"&&To(d.props.interactive&&D===Tt.appendTo&&oe.nextElementSibling!==x,["Interactive tippy element may not be accessible via keyboard","navigation because it is not directly after the reference element","in the DOM source order.",`
|
|
66
21
|
|
|
67
22
|
`,"Using a wrapper <div> or <span> tag around the reference element","solves this by creating a new parentNode context.",`
|
|
68
23
|
|
|
69
24
|
`,"Specifying `appendTo: document.body` silences this warning, but it","assumes you are using a focus management solution to handle","keyboard navigation.",`
|
|
70
25
|
|
|
71
|
-
`,"See: https://atomiks.github.io/tippyjs/v6/accessibility/#interactivity"].join(" "));}function
|
|
26
|
+
`,"See: https://atomiks.github.io/tippyjs/v6/accessibility/#interactivity"].join(" "));}function Oo(){return Na(x.querySelectorAll("[data-tippy-root]"))}function wr(D){d.clearDelayTimeouts(),D&&W("onTrigger",[d,D]),Q();var Z=O(true),oe=N(),ge=oe[0],pe=oe[1];so.isTouch&&ge==="hold"&&pe&&(Z=pe),Z?n=setTimeout(function(){d.show();},Z):d.show();}function Qo(D){if(d.clearDelayTimeouts(),W("onUntrigger",[d,D]),!d.state.isVisible){Y();return}if(!(d.props.trigger.indexOf("mouseenter")>=0&&d.props.trigger.indexOf("click")>=0&&["mouseleave","mousemove"].indexOf(D.type)>=0&&s)){var Z=O(false);Z?r=setTimeout(function(){d.state.isVisible&&d.hide();},Z):i=requestAnimationFrame(function(){d.hide();});}}function Er(){d.state.isEnabled=true;}function Ai(){d.hide(),d.state.isEnabled=false;}function Pi(){clearTimeout(n),clearTimeout(r),cancelAnimationFrame(i);}function Ri(D){if(process.env.NODE_ENV!=="production"&&To(d.state.isDestroyed,Zn("setProps")),!d.state.isDestroyed){W("onBeforeUpdate",[d,D]),kt();var Z=d.props,oe=qf(e,Object.assign({},Z,Uf(D),{ignoreAttributes:true}));d.props=oe,gt(),Z.interactiveDebounce!==oe.interactiveDebounce&&(U(),g=$f(z,oe.interactiveDebounce)),Z.triggerTarget&&!oe.triggerTarget?er(Z.triggerTarget).forEach(function(ge){ge.removeAttribute("aria-expanded");}):oe.triggerTarget&&e.removeAttribute("aria-expanded"),L(),G(),k&&k(Z,oe),d.popperInstance&&(at(),Oo().forEach(function(ge){requestAnimationFrame(ge._tippy.popperInstance.forceUpdate);})),W("onAfterUpdate",[d,D]);}}function Oi(D){d.setProps({content:D});}function Pb(){process.env.NODE_ENV!=="production"&&To(d.state.isDestroyed,Zn("show"));var D=d.state.isVisible,Z=d.state.isDestroyed,oe=!d.state.isEnabled,ge=so.isTouch&&!d.props.touch,pe=Ul(d.props.duration,0,Tt.duration);if(!(D||Z||oe||ge)&&!T().hasAttribute("disabled")&&(W("onShow",[d],false),d.props.onShow(d)!==false)){if(d.state.isVisible=true,K()&&(x.style.visibility="visible"),G(),Q(),d.state.isMounted||(x.style.transition="none"),K()){var st=I(),Ot=st.box,kn=st.content;Hl([Ot,kn],0);}f=function(){var Zo;if(!(!d.state.isVisible||u)){if(u=true,x.offsetHeight,x.style.transition=d.props.moveTransition,K()&&d.props.animation){var Ms=I(),Mi=Ms.box,Tn=Ms.content;Hl([Mi,Tn],pe),Hf([Mi,Tn],"visible");}F(),L(),Gf(Wl,d),(Zo=d.popperInstance)==null||Zo.forceUpdate(),W("onMount",[d]),d.props.animation&&K()&&re(pe,function(){d.state.isShown=true,W("onShown",[d]);});}},Wt();}}function Rb(){process.env.NODE_ENV!=="production"&&To(d.state.isDestroyed,Zn("hide"));var D=!d.state.isVisible,Z=d.state.isDestroyed,oe=!d.state.isEnabled,ge=Ul(d.props.duration,1,Tt.duration);if(!(D||Z||oe)&&(W("onHide",[d],false),d.props.onHide(d)!==false)){if(d.state.isVisible=false,d.state.isShown=false,u=false,s=false,K()&&(x.style.visibility="hidden"),U(),Y(),G(true),K()){var pe=I(),st=pe.box,Ot=pe.content;d.props.animation&&(Hl([st,Ot],ge),Hf([st,Ot],"hidden"));}F(),L(),d.props.animation?K()&&ce(ge,d.unmount):d.unmount();}}function Ob(D){process.env.NODE_ENV!=="production"&&To(d.state.isDestroyed,Zn("hideWithInteractivity")),M().addEventListener("mousemove",g),Gf(za,g),g(D);}function Mb(){process.env.NODE_ENV!=="production"&&To(d.state.isDestroyed,Zn("unmount")),d.state.isVisible&&d.hide(),d.state.isMounted&&(Ye(),Oo().forEach(function(D){D._tippy.unmount();}),x.parentNode&&x.parentNode.removeChild(x),Wl=Wl.filter(function(D){return D!==d}),d.state.isMounted=false,W("onHidden",[d]));}function Db(){process.env.NODE_ENV!=="production"&&To(d.state.isDestroyed,Zn("destroy")),!d.state.isDestroyed&&(d.clearDelayTimeouts(),d.unmount(),kt(),delete e._tippy,d.state.isDestroyed=true,W("onDestroy",[d]));}}function ni(e,t){t===void 0&&(t={});var o=Tt.plugins.concat(t.plugins||[]);process.env.NODE_ENV!=="production"&&(HT(e),am(t,o)),FT();var n=Object.assign({},t,{plugins:o}),r=LT(e);if(process.env.NODE_ENV!=="production"){var i=ti(n.content),s=r.length>1;To(i&&s,["tippy() was passed an Element as the `content` prop, but more than","one tippy instance was created by this invocation. This means the","content element will only be appended to the last tippy instance.",`
|
|
72
27
|
|
|
73
28
|
`,"Instead, pass the .innerHTML of the element, or use a function that","returns a cloned version of the element instead.",`
|
|
74
29
|
|
|
75
30
|
`,`1) content: element.innerHTML
|
|
76
|
-
`,"2) content: () => element.cloneNode(true)"].join(" "));}var l=n.reduce(function(s,c){var u=c&&u5(c,r);return u&&s.push(u),s},[]);return Hc(e)?l[0]:l}jc.defaultProps=Xo;jc.setDefaultProps=a5;jc.currentInput=an;Object.assign({},_c,{effect:function(t){var o=t.state,r={popper:{position:o.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(o.elements.popper.style,r.popper),o.styles=r,o.elements.arrow&&Object.assign(o.elements.arrow.style,r.arrow);}});jc.setDefaultProps({render:XR});var JR=jc;p();var x5=forwardRef(function(t,o){let r=useMantineTheme(),[n,i]=useState(0),a=u=>{let d=t.items[u];d&&t.command({id:d});},l=()=>{i((n+t.items.length-1)%t.items.length);},s=()=>{i((n+1)%t.items.length);},c=()=>{a(n);};return useEffect(()=>i(0),[t.items]),useImperativeHandle(o,()=>({onKeyDown:({event:u})=>u.key==="ArrowUp"?(l(),true):u.key==="ArrowDown"?(s(),true):u.key==="Enter"||u.key==="Tab"?(c(),true):false})),jsx(List,{className:"items",bg:"white",listStyleType:"none",styles:u=>({root:{boxShadow:u.shadows.md,borderRadius:u.radius.xs,overflow:"hidden"},item:{span:{display:"block",width:"100%"}},itemWrapper:{display:"block"}}),children:t.items.length?t.items.map((u,d)=>jsx(List.Item,{children:jsx(UnstyledButton,{className:`item ${d===n?"is-selected":""}`,sx:f=>({backgroundColor:d===n?f.colors.blue[0]:"none"}),py:2,px:4,fz:12,w:"100%",onClick:()=>a(d),children:jsxs(Group,{spacing:"xs",children:[jsx(Center,{h:"1rem",w:"1rem",sx:{borderRadius:"100%",background:r.colors.blue[6]},children:jsx(IconBraces,{size:"0.8rem",color:"white"})}),jsx(Text,{ff:"monospace",component:"code",color:"gray.7",children:`${u}`})]})})},d)):null})}),ZR=x5;var k5=()=>({char:"{{",allowedPrefixes:[" "],items:({query:e,editor:t})=>t.storage.VariablesStorage.suggestions.filter(o=>o.toLowerCase().startsWith(e.toLowerCase())).slice(0,5),render:()=>{let e,t;return {onStart:o=>{e=new ReactRenderer(ZR,{props:o,editor:o.editor}),o.clientRect&&(t=JR("body",{getReferenceClientRect:o.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:true,interactive:true,trigger:"manual",placement:"bottom-start"}));},onUpdate(o){e.updateProps(o),o.clientRect&&t[0].setProps({getReferenceClientRect:o.clientRect});},onKeyDown(o){return o.event.key==="Escape"?(t[0].hide(),true):e.ref?.onKeyDown(o)},onExit(){t[0].destroy(),e.destroy();}}}}),eI=k5;p();function Tb(e){return e.replace(/<code[^>]*>([^<>]*)<\/code>/g,"$1")}p();function Cb(e){return e.replace(/({{.*?}})/g,'<code class="bespoke-var">$1</code>')}var q5=createStyles(e=>({bespokeEditor:{fontSize:14,lineHeight:1.2,backgroundColor:e.fn.lighten(e.colors.gray[0],.3),borderColor:e.colors.gray[4],borderWidth:1,borderStyle:"solid",borderRadius:e.radius.md,paddingLeft:e.spacing.xs,paddingRight:e.spacing.xs,fontWeight:400,"&.disabled":{color:e.colors.gray[7],backgroundColor:e.colors.gray[1]},":focus-visible":{outlineColor:e.colors.blue[5],backgroundColor:e.fn.lighten(e.colors.gray[0],.5)},code:{fontFamily:"monospace",color:e.colors.blue[6],fontWeight:700,letterSpacing:.02},".is-editor-empty:first-of-type::before":{color:e.colors.gray[6],content:"attr(data-placeholder)",float:"left",height:0,pointerEvents:"none"}}})),oI=()=>{let{editor:e}=useCurrentEditor(),t=useMantineTheme();return e?jsxs(Button.Group,{children:[jsx(Button,{onClick:o=>{o.preventDefault(),e.chain().focus().toggleBold().focus().run();},size:"xs",variant:"default",compact:true,children:jsx(IconBold,{size:"0.8rem",stroke:e.isActive("bold")?4:2,color:t.colors.gray[7]})}),jsx(Button,{onClick:()=>e.chain().focus().toggleItalic().run(),size:"xs",variant:"default",compact:true,children:jsx(IconItalic,{size:"0.8rem",stroke:e.isActive("italic")?4:2,color:t.colors.gray[7]})}),jsx(Button,{onClick:()=>e.chain().focus().toggleUnderline().run(),size:"xs",variant:"default",compact:true,children:jsx(IconUnderline,{size:"0.8rem",stroke:e.isActive("underline")?4:2,color:t.colors.gray[7]})})]}):null},Y5=()=>{let{editor:e}=useCurrentEditor();return jsx("div",{children:jsx(BubbleMenu,{tippyOptions:{placement:"bottom"},editor:e,children:jsx(oI,{})})})},X5=()=>{let{editor:e}=useCurrentEditor(),t=useMantineTheme();return e?jsxs(Button.Group,{children:[jsx(Button,{onClick:()=>e.chain().focus().setTextAlign("left").run(),size:"xs",variant:"default",compact:true,children:jsx(IconAlignLeft,{size:"0.8rem",stroke:e.isActive({textAlign:"left"})?4:2,color:t.colors.gray[7]})}),jsx(Button,{onClick:()=>e.chain().focus().setTextAlign("center").run(),size:"xs",variant:"default",compact:true,children:jsx(IconAlignCenter,{size:"0.8rem",stroke:e.isActive({textAlign:"center"})?4:2,color:t.colors.gray[7]})}),jsx(Button,{onClick:()=>e.chain().focus().setTextAlign("right").run(),size:"xs",variant:"default",compact:true,children:jsx(IconAlignRight,{size:"0.8rem",stroke:e.isActive({textAlign:"right"})?4:2,color:t.colors.gray[7]})}),jsx(Button,{onClick:()=>e.chain().focus().setTextAlign("justify").run(),size:"xs",variant:"default",compact:true,children:jsx(IconAlignJustified,{size:"0.8rem",stroke:e.isActive({textAlign:"justify"})?4:2,color:t.colors.gray[7]})})]}):null},J5=()=>{let{editor:e}=useCurrentEditor(),t=useMantineTheme();return e?jsxs(Button.Group,{children:[jsx(Button,{onClick:()=>e.commands.undo(),size:"xs",variant:"default",compact:true,children:jsx(IconArrowBackUp,{size:"0.8rem",color:t.colors.gray[7]})}),jsx(Button,{onClick:()=>e.commands.redo(),size:"xs",variant:"default",compact:true,children:jsx(IconArrowForwardUp,{size:"0.8rem",color:t.colors.gray[7]})})]}):null},Q5=({toolbarActive:e=true,toolbarLeftSection:t=null,toolbarRightSection:o=null,toolbarOptions:r={}})=>{let n=r.history??true,i=r.alignment??false,a=r.format??true;return jsxs(Group,{mb:"0.25rem",position:"apart",children:[t,e&&jsxs(Group,{children:[n&&jsx(J5,{}),i&&jsx(X5,{}),a&&jsx(oI,{})]}),o]})};function Cd(e){let{id:t,value:o,onChange:r=()=>{},variables:n,toolbarLeftSection:i,toolbarRightSection:a,toolbarOptions:l={},tipTapExtensions:s=[],bubbleMenu:c=true,disabled:u=false,editorProps:d,placeholder:f="This looks empty! Start writing some content"}=e,[g,m]=useState(false),h=useClickOutside(()=>m(false)),{classes:y}=q5(),S=JSON.stringify(n||{}),v=useMemo(()=>{let k=JSON.parse(S),w=[O5.configure({heading:false,bold:false,history:{depth:20},code:false,hardBreak:false,codeBlock:false}),sR.extend({spanning:true}),M5.extend({addKeyboardShortcuts(){return {Enter:()=>this.editor.commands.setHardBreak()}}}),B5.configure({types:["paragraph"]}),P5,lR,D5.configure({placeholder:f}),K5,...s];return k&&(w.push(cR),w.push(L5.configure({HTMLAttributes:{type:null},renderText({node:R}){return `{{${R.attrs.label??R.attrs.id}}}`},renderHTML({node:R}){return ["code",{},`{{${R.attrs.label??R.attrs.id}}}`]},suggestion:eI()}))),w},[S,s,f]),C=({editor:k})=>{let w=Tb(k.getHTML());r(w);},b=({editor:k})=>{let w=JSON.parse(S);k.storage.VariablesStorage.suggestions=Object.keys(w);};return jsx(Box,{ref:h,className:"bespoke-editor",onClickCapture:()=>m(true),children:jsx(EditorProvider,{extensions:v,content:o?Cb(o):void 0,onUpdate:C,onFocus:b,editable:!u,slotBefore:jsx(Q5,{toolbarActive:g,toolbarLeftSection:i,toolbarRightSection:a,toolbarOptions:l}),editorProps:{editable:()=>!u,attributes:{id:t||"",class:`${y.bespokeEditor}${u?" disabled":""}`}},...d,children:c&&jsx(Y5,{})})})}p();he();ye();var rI=createContext({mode:"simple",changeEditorMode:()=>{},reference:{locale:void 0,content:{},activate:()=>{},deactivate:()=>{},setActive:()=>{},active:false}});function rK(e){let[t,o]=useState(false),[r,n]=useState({}),i=os();return useEffect(()=>{if(!t){n(void 0);return}Mu.get(`/api/cms/read/block?&id=${e}&include=true`).then(({data:a})=>{n(a.data[0].contentByLocale[i].content.simple);}).catch(()=>n(void 0));},[t,e,i]),{content:r,locale:i,activate:()=>o(true),deactivate:()=>o(false),setActive:o}}function nI({children:e,buttons:t,blockType:o,blockId:r}){let[n,i]=useState(()=>[E.VIZ,E.GENERATOR,E.SECTION_FLAG].includes(o)?"code":"simple"),a=rK(r),l={mode:n,changeEditorMode:i,reference:a,...t};return jsx(rI.Provider,{value:l,children:e})}function sn(){return useContext(rI)}function yK({locale:e,content:t}){return jsxs(Group,{spacing:"xs",position:"right",children:[jsx(Badge,{variant:"light",size:"xs",rightSection:jsx(Center,{children:jsx(IconLanguage,{size:rem(12)})}),children:e.toUpperCase()}),jsx(sI,{content:t})]})}function sI({content:e}){return jsx(CopyButton,{value:e,timeout:2e3,children:({copied:t,copy:o})=>jsx(Tooltip,{label:t?"Copied":"Copy",withArrow:true,position:"right",children:jsx(ActionIcon,{size:"xs",color:t?"teal":"gray",variant:"subtle",onClick:()=>{o();let r=new Blob([e],{type:"text/html"}),n=new ClipboardItem({"text/html":r});navigator.clipboard.write([n]);},children:t?jsx(IconCheck,{style:{width:rem(16)}}):jsx(IconCopy,{style:{width:rem(16)}})})})})}function vK({referenceLocale:e,referenceContent:t}){return jsx(Stack,{spacing:"xs",children:jsx(Cd,{value:t,toolbarLeftSection:jsx(Text,{size:"0.625rem",tt:"uppercase",fw:700,color:"gray",children:"Reference Content"}),toolbarRightSection:jsx(yK,{locale:e,content:t}),toolbarOptions:{history:false,format:false,alignment:false},disabled:true})})}function Jo({field:e,handleEditor:t,value:o,referenceContent:r,referenceLocale:n,variables:i,editorConfig:a={}}){return jsxs(Stack,{spacing:0,children:[jsx(Cd,{id:e,onChange:l=>{t(e,He(l));},toolbarLeftSection:jsx(Text,{component:"label",htmlFor:e,size:"xs",transform:"uppercase",weight:"bold",color:"gray",mb:"xs",children:titleCase(e)}),toolbarRightSection:jsx(sI,{content:o}),toolbarOptions:{history:true,alignment:e!=="tooltip",format:true},value:o,variables:i,placeholder:`This looks empty. Start adding content for the ${e}! You can add automated {{variables}}`,...a}),r&&jsx(Box,{mt:"xs",children:jsx(vK,{referenceContent:r[e],referenceLocale:n})})]})}function SK({fields:e,locale:t,defaultContent:o,onChange:r,variables:n}){let[i,a]=useState(()=>od(o)),{reference:l}=sn();useEffect(()=>{r(i,t);},[]);let s=(u,d)=>{a(f=>({...f,[u]:d}));},[c]=useDebouncedValue(i,500);return useEffect(()=>{let u=Object.keys(c).reduce((f,g)=>({...f,[g]:He(c[g])}),{}),d=on(u);r({simple:u,logic:d},t);},[c,t]),jsx(Stack,{spacing:"xl",children:e.map(({field:u,editorConfig:d})=>jsx(Jo,{field:u,handleEditor:s,value:i[u]||"",referenceContent:l.content,referenceLocale:l.locale,variables:n,editorConfig:d},u))})}var lI=SK;p();function wK({label:e,...t}){return jsxs(Group,{position:"apart",spacing:"lg",py:"xs",...t,children:[jsx(Text,{children:e}),jsx(Tooltip,{label:"This setting will be saved for all languages.",children:jsx(ThemeIcon,{size:"xs",variant:"light",radius:"xl",color:"yellow",children:jsx(IconLanguageOff,{size:"0.75rem"})})})]})}var Wt=wK;he();p();var Oa={SINGLE:"single",MULTI:"multi"},Ib={SEGMENTED_CONTROL:"segmented control",SELECTOR:"selector"},vi={STATIC:"static",DYNAMIC:"dynamic"},Ab=e=>e&&Array.isArray(e)&&e.length>0,Ed=e=>Ab(e)&&["string"].includes(typeof e[0]),uI=e=>{let{name:t,type:o,optionsType:r,options:n}=e;return [t,o,r,n].every(Boolean)?r===vi.STATIC?n.static?.length>0&&n.static?.every(i=>i.id):n.dynamic?.isPrimitiveType?true:!!n.dynamic?.idKey:false},wd=(e,t,o)=>{let r,n;switch(o){case vi.STATIC:r=e===Oa.SINGLE?t.static.find(i=>i.isDefault)?.id:t.static.filter(i=>i.isDefault).map(i=>i.id),n=t.static.map(({id:i,label:a})=>({id:i,label:a||i}));break;case vi.DYNAMIC:if(t.dynamic){let{optionsVar:i,idKey:a,labelKey:l,imageKey:s,defaultVar:c,isPrimitiveType:u}=t.dynamic;c&&(r=`variables["${c}"]`),n=u?`variables["${i}"]`:`(variables["${i}"] || []).map(d => ({id: String(d["${a}"]), label: String(d["${l||a}"]), imageUrl: String(d["${s||null}"])}))`;}break;}return {logicOptions:n,defaultValue:r}};function MK({option:e,editOption:t,deleteOption:o}){return jsxs("tr",{className:"reports-selector-static-option",children:[jsx("td",{children:jsx(Checkbox,{checked:e.isDefault,onChange:r=>t({isDefault:r.currentTarget.checked})})}),jsx("td",{children:jsx(TextInput,{placeholder:"Option value",value:e.id,onChange:r=>{t({id:r.currentTarget.value});},error:e.id.indexOf(" ")>-1?"Please, avoid the usage of spaces in the ID":false})}),jsx("td",{children:jsx(TextInput,{placeholder:"Option label",value:e.label,onChange:r=>t({label:r.currentTarget.value})})}),jsx("td",{children:jsx(ActionIcon,{onClick:o,children:jsx(IconTrash,{})})})]})}function BK({staticOptions:e,setStaticOptions:t}){let o=useCallback(()=>t([...e,{isDefault:!e.length,id:"",label:""}]),[e,t]),r=useCallback((i,a)=>{if(!a||i>=e.length||i<0)return;let l=[...e];l.splice(i,1,{...e[i],...a}),t(l);},[e,t]),n=useCallback(i=>{let a=[...e];a.splice(i,1),t(a);},[e,t]);return jsxs(Fragment,{children:[jsx(Input.Wrapper,{required:true,label:"Static Selector Options",children:jsxs("table",{children:[jsx("thead",{children:e.length>0&&jsx("tr",{children:["Default","ID","Label",""].map((i,a)=>jsx("td",{className:`${a===0?"selector-option-default-col":""} ${a===1?"required":""}`,children:i},`heading-${a}`))})}),jsx("tbody",{children:e.map((i,a)=>jsx(MK,{option:i,editOption:l=>r(a,l),deleteOption:()=>n(a)},`option-${a}`))})]})}),jsx(ActionIcon,{onClick:o,children:jsx(IconPlus,{})})]})}function DK({id:e,dynamicOptions:t,setDynamicOptions:o}){let{optionsVar:r,idKey:n,labelKey:i,defaultVar:a,imageKey:l,isPrimitiveType:s}=t,c=ot(e),[u,d]=useState(false),[f,g]=useState({}),[m,h]=useState([]),[y,S]=useState([]);useEffect(()=>{c||(g({}),h([]));let R=Object.entries(c).filter(([,A])=>Ab(A)).reduce((A,[B,_])=>(A[B]=_,A),{});g(R);let O=Object.keys(c);h(O),d(true);},[c]);let v=useCallback((R,O)=>{o({...t,[R]:O});},[t]);useEffect(()=>{if(!Object.keys(f).length)return;let R=Ed(f[r]);if(R)S([]),v("idKey",null),v("labelKey",null),v("imageKey",null);else {let O=new Set;(f[t.optionsVar]||[]).forEach(B=>Object.keys(typeof B=="object"?B:{}).forEach(_=>O.add(_)));let A=Array.from(O).sort().map(B=>B);S(A);}v("isPrimitiveType",R);},[f,r]);let C=useCallback(R=>{o({...t,optionsVar:R,idKey:null,labelKey:null,imageKey:null});},[t,o]),b=useMemo(()=>{let R=[];return f&&r&&n&&Array.isArray(f[r])&&(R=f[r].filter(O=>`${O[n]}`.indexOf(" ")>0)),R.length>0?`One or more ID's have spaces on it. (
|
|
77
|
-
${
|
|
78
|
-
) Avoid this, please.`:false},[f,r,n]);if(!u)return null;let k=Object.keys(f),w=R=>R&&Array.isArray(R)&&R.length;return jsxs(Fragment,{children:[jsx(Select,{label:"Options List Variable",placeholder:"Pick a variable",value:w(k)&&r,required:true,onChange:C,data:k}),jsx(Select,{label:"Options ID Key",placeholder:"Pick a property key",value:w(y)&&n,required:!s,disabled:s,onChange:R=>v("idKey",R),data:y,error:b}),jsx(Select,{label:"Options Label Key",placeholder:"Pick a property key",disabled:s,clearable:true,value:w(y)&&i,onChange:R=>v("labelKey",R),data:y}),jsx(Select,{label:"Options Image Key",placeholder:"Pick a property key",disabled:s,clearable:true,value:w(y)&&l,onChange:R=>v("imageKey",R),data:y}),jsx(Select,{label:"Default ID Variable",placeholder:"Pick a variable",clearable:true,value:w(m)&&a,onChange:R=>v("defaultVar",R),data:m})]})}function Qs(e,t,o){return e&&e[t]||o}function _K(e){let{id:t,executeButton:o,onChange:r,simpleState:n,referenceContent:i,referenceLocale:a,variables:l}=e,[s,c]=useState(()=>{let f=n&&n.options&&Object.prototype.hasOwnProperty.call(n?.options,"dynamic")&&Object.prototype.hasOwnProperty.call(n?.options,"static");return {selectorIdentifier:Qs(n,"name",""),selectorType:Qs(n,"type",Oa.SINGLE),selectorComponent:Qs(n,"component",Ib.SELECTOR),options:n&&f?n.options:{static:[],dynamic:{}},optionsType:Qs(n,"optionsType","static"),hideLabel:Qs(n,"hideLabel","false"),resetSectionVars:Qs(n,"resetSectionVars","false")}});useEffect(()=>{let{selectorIdentifier:f,selectorType:g,selectorComponent:m,options:h,optionsType:y,hideLabel:S,resetSectionVars:v}=s,C={name:f,hideLabel:S,resetSectionVars:v,component:m,type:g},{logicOptions:b,defaultValue:k}=wd(g,h,y);k&&(C.defaultValue=k),C.options=b;let w=`return ${Us(C)};`,R={name:f,type:g,component:m,hideLabel:S,resetSectionVars:v,defaultValue:k,optionsType:y,options:h},O=uI(R);r(R,w,O);},[s]);let u=(f,g)=>c(m=>({...m,[f]:g})),d=rr[E.SELECTOR].find(f=>f.field===Pe.SELECTOR_NAME)?.editorConfig;return jsxs(Fragment,{children:[jsxs(Stack,{children:[jsx(Jo,{field:"name",value:s.selectorIdentifier,handleEditor:(f,g)=>u("selectorIdentifier",g),referenceContent:i,referenceLocale:a,variables:l,editorConfig:d}),jsx(Checkbox,{label:jsx(Wt,{label:"Hide Label",py:0}),checked:s.hideLabel==="true",onChange:f=>u("hideLabel",f.currentTarget.checked?"true":"false")})]}),jsx(Select,{label:jsx(Wt,{label:"Selector Type"}),value:s.selectorType,onChange:f=>u("selectorType",f),data:Object.values(Oa)}),s.selectorType===Oa.SINGLE&&jsx(Select,{label:jsx(Wt,{label:"Selector Component"}),value:s.selectorComponent,onChange:f=>u("selectorComponent",f),data:Object.values(Ib)}),jsx(Select,{label:jsx(Wt,{label:"Options Type"}),value:s.optionsType,onChange:f=>u("optionsType",f),data:Object.values(vi)}),s.optionsType===vi.STATIC?jsx(BK,{staticOptions:s.options.static,setStaticOptions:f=>u("options",{...s.options,static:f})}):jsx(DK,{dynamicOptions:s.options.dynamic,setDynamicOptions:f=>u("options",{...s.options,dynamic:f}),id:t}),jsx(Checkbox,{my:"md",label:jsx(Wt,{label:"Reset SectionVariables on change",py:0}),checked:s.resetSectionVars==="true",onChange:f=>u("resetSectionVars",f.currentTarget.checked?"true":"false")}),o]})}var mI=_K;p();p();p();var gI=["xs","sm","md","lg","xl"],YK=["0","1","2","3","4","5"],_n={none:{value:"none",label:"No Icon"},tabler:{value:"tabler",label:"Bespoke (Tabler)",link:"https://tablericons.com",text:"Tabler Icons"},custom:{value:"custom",label:"Custom Icon"}},XK=forwardRef(({value:e,iconType:t="tabler",...o},r)=>jsx("div",{ref:r,...o,children:jsxs(Group,{noWrap:true,children:[jsx(Image,{width:20,height:20,src:`/api/cms/read/icons/${t}/icon.svg?name=${e}`,alt:`Icon preview ${e}`}),jsx(Text,{size:"sm",children:e})]})}));function La(e){let[t,o]=useState(e?._iconType??"none"),[r,n]=useState(e?._icon??""),[i,a]=useState([]),[l,s]=useState(""),[c,u]=useState(e?._iconVariant??"transparent"),[d,f]=useState(e?._iconSize??"md"),[g,m]=useState(e?._iconRadius??"md"),[h,y]=useState(e?._iconPadding??"1"),S=[_n.none.value,_n.custom.value].includes(t),v=useRef(null),C=useMemo(()=>({_icon:r,_iconType:t,_defaultIcon:l,_iconVariant:c,_iconSize:d,_iconRadius:g,_iconPadding:h}),[r,t,l,c,d,g,h]),b=w=>{n(""),o(w);};useEffect(()=>{S||Mu.get(`/api/cms/list/icons/${t}`).then(w=>{a(w.data.data.results),s(w.data.data.results[0]);});},[t]);let k=jsx(Accordion,{variant:"separated",children:jsxs(Accordion.Item,{value:"icon",children:[jsx(Accordion.Control,{icon:jsx(IconPhotoFilled,{}),children:jsxs(Text,{children:["Icon configuration: ",_n[t]&&jsx("strong",{children:_n[t].label})]})}),jsx(Accordion.Panel,{children:jsxs(Stack,{children:[jsx(Input.Wrapper,{label:"Title's icon",children:jsx(SegmentedControl,{fullWidth:true,value:t,onChange:b,data:Object.values(_n)})}),!S&&jsx(Select,{label:"Choose an icon from the list",searchable:true,description:jsxs(Fragment,{children:["Powered by"," ",jsx("a",{style:{textDecoration:"underline"},href:_n[t].link,target:"_blank",rel:"noreferrer",children:_n[t].text}),"."]}),defaultValue:l,value:r,required:true,onChange:w=>n(w||""),data:i,limit:10,itemComponent:XK,disabled:!i||i.length===0,icon:jsx(Image,{p:5,src:`/api/cms/read/icons/${t}/icon.svg?name=${r||l}`,alt:"Icon preview"})}),t===_n.custom.value&&jsxs(Flex,{align:"flex-end",children:[jsx(TextInput,{ref:v,placeholder:"e.g '/image{{id1}}.png' or 'http://site/image.png'",label:"Enter an icon path",required:true,defaultValue:r,description:"Add an absolute or a relative path url",onBlur:w=>n(w.currentTarget.value),sx:{flexGrow:1}}),jsx(ActionIcon,{maw:36,size:36,onClick:()=>v.current?n(v.current.value??""):void 0,sx:{flexGrow:0},children:jsx(IconFileUpload,{})})]}),t!==_n.none.value&&jsxs(Fragment,{children:[jsx(Select,{label:"Variant design",description:jsxs(Fragment,{children:["We are using"," ",jsx("a",{style:{textDecoration:"underline"},href:"https://mantine.dev/core/theme-icon/",target:"_blank",rel:"noreferrer",children:"ThemeIcon variants"}),"."]}),value:c,required:true,onChange:w=>u(w||"transparent"),data:[{value:"transparent",label:"Transparent"},{value:"default",label:"Default"},{value:"outline",label:"Outline"},{value:"light",label:"Light"},{value:"filled",label:"Filled"}]}),jsx(Input.Wrapper,{label:"Size",children:jsx(SegmentedControl,{fullWidth:true,value:d,onChange:f,data:gI})}),jsx(Input.Wrapper,{label:"Radius",children:jsx(SegmentedControl,{fullWidth:true,value:g,onChange:m,data:gI})}),jsx(Input.Wrapper,{label:"Padding",children:jsx(SegmentedControl,{fullWidth:true,value:h,onChange:y,data:YK})})]})]})})]})});return {simpleIconState:C,panel:k}}p();function Ci(e,t){let[o,r]=useState({...t,...e});return {state:o,updateState:(i,a)=>{let l={...o,[i]:a};r(l);}}}he();var oq={type:"list",title:"",shotTitle:""},rq=[{value:"list",label:"List"},{value:"multilevel",label:"Multilevel"}];function Db({simpleState:e,onChange:t,variables:o,referenceContent:r,referenceLocale:n}){let{state:i,updateState:a}=Ci(e,oq),{simpleIconState:l,panel:s}=La(e);return useEffect(()=>{let c={...i,...l},u=on(c);t(c,u);},[i,l]),jsxs(Stack,{children:[jsx(Title,{order:4,children:"Nav UI"}),jsx(Select,{label:"Nav Type",data:rq,value:i.type,defaultValue:"list",onChange:c=>a("type",c)}),rr[E.NAV].map(({field:c,editorConfig:u})=>jsx(Jo,{field:c,value:i[c],handleEditor:a,referenceContent:r,referenceLocale:n,variables:o,editorConfig:u},c)),s]})}p();function _b({executeButton:e,onChange:t,simpleState:o}){let[r,n]=useState(o?.compare??"variant"),[i,a]=useState(o?.limit??4);return useEffect(()=>{t({compare:r,limit:i});},[r,i]),jsxs(Stack,{children:[jsx(Radio.Group,{description:"Valid only for single-dimensional profiles",label:"Compare with members of:",onChange:n,value:r,children:jsxs(Group,{children:[jsx(Radio,{label:"Same report",value:"report"}),jsx(Radio,{label:"Same dimension",value:"dimension"}),jsx(Radio,{label:"Same variant",value:"variant"})]})}),jsx(NumberInput,{label:"Related reports limit",min:1,onChange:l=>a(l),type:"number",value:i}),e]})}p();function zb({executeButton:e,onChange:t,simpleState:o}){let[r,n]=useState(o?.label??""),[i,a]=useState(o?.showIcon??true),[l,s]=useState(o?.fullWidth??false),[c,u]=useState(o?.showWhenDisabled??false);return useEffect(()=>{t({label:r,showIcon:i,fullWidth:l,showWhenDisabled:c});},[r,i,l,c,t]),jsxs(Stack,{children:[jsx(TextInput,{placeholder:"Label for reset section state button",value:r,onChange:d=>n(d.target.value),label:"Label"}),jsxs(Group,{children:[jsx(Switch,{checked:i,label:"Show icon",onChange:d=>a(d.currentTarget.checked)}),jsx(Switch,{checked:l,label:"Full width",onChange:d=>s(d.currentTarget.checked)}),jsx(Switch,{checked:c,label:"Show when disabled",onChange:d=>u(d.currentTarget.checked)})]}),e]})}p();he();var gq={title:"Title",tooltip:"",slug:""};function Fb({onChange:e,simpleState:t,variables:o,referenceContent:r,referenceLocale:n}){let{state:i,updateState:a}=Ci(t,gq),{simpleIconState:l,panel:s}=La(t);return useEffect(()=>{let c={...i,...l},u=on(c);e(c,u);},[l,i]),jsxs(Stack,{children:[rr[E.TITLE].map(({field:c,editorConfig:u})=>jsx(Jo,{field:c,value:i[c],handleEditor:a,referenceContent:r,referenceLocale:n,variables:o,editorConfig:u},c)),s]})}p();var Cq=[{value:"left",label:"Left"},{value:"center",label:"Center"},{value:"right",label:"Right"}];function Vb({executeButton:e,onChange:t,simpleState:o}){let[r,n]=useState(o?.label??""),[i,a]=useState(o?.removeLabel??""),[l,s]=useState(o?.showIcon??true),[c,u]=useState(o?.position??"center");return useEffect(()=>{t({label:r,removeLabel:i,showIcon:l,position:c});},[r,l,i,c,t]),jsxs(Stack,{children:[jsx(TextInput,{placeholder:"Label for comparison button",value:r,onChange:d=>n(d.target.value),label:"Label"}),jsx(TextInput,{placeholder:"Label for remove comparison button",value:i,onChange:d=>a(d.target.value),label:"Remove Label"}),jsx(Group,{children:jsx(Switch,{checked:l,label:"Show icon",onChange:d=>s(d.currentTarget.checked)})}),jsx(Select,{label:"Button position",data:Cq,value:c,onChange:u}),e]})}p();he();function $b({simpleState:e,onChange:t,variables:o,referenceContent:r,referenceLocale:n}){let{state:i,updateState:a}=Ci(e,{title:"",value:"",subtitle:"",tooltip:""}),{simpleIconState:l,panel:s}=La(e);return useEffect(()=>{let c={...i,...l},u=on(c);t(c,u);},[l,i]),jsxs(Stack,{children:[rr[E.STAT].map(({field:c,editorConfig:u})=>jsx(Jo,{field:c,value:i[c],handleEditor:a,referenceContent:r,referenceLocale:n,variables:o,editorConfig:u},c)),s]})}p();ye();var jq={enableBottomToolbar:true,enableColumnActions:true,enableColumnFilters:true,enableColumnResizing:true,enableDensityToggle:true,enableFullScreenToggle:false,enableGlobalFilter:true,enableHiding:true,enablePagination:true,enableSorting:true,enableStickyHeader:true,enableTopToolbar:true},EI={enableBottomToolbar:{label:"Enable bottom toolbar",desc:"Show or hide the bottom toolbar. By disabling it, pagination will also be hidden."},enableColumnActions:{label:"Enable column actions",desc:"Enables or disables column actions for all columns. Column actions include sort, filter, show/hide column and reset column size."},enableColumnFilters:{label:"Enable column filters",desc:"Enables or disables the filter options available on columns."},enableColumnResizing:{label:"Enable column resizing",desc:"Enables the column resizing feature for all columns."},enableDensityToggle:{label:"Enable density toggle",desc:"Enable the density toggle that allows users to modify the height of each row. Disabling it will hide the density toggle button in the top toolbar."},enableFullScreenToggle:{label:"Enable full screen toggle",desc:"Enable or disable the full screen toggle feature. Disabling it will hide the full screen toggle button in the top toolbar."},enableGlobalFilter:{label:"Enable global filter",desc:"Enable global filter feature to filter data on all columns and rows. Disabling it will hide the global filter button in the top toolbar."},enableHiding:{label:"Enable hiding",desc:"Enable hiding columns feature. Disabling it will hide the hiding button in the top toolbar."},enablePagination:{label:"Enable pagination",desc:"Enable pagination feature. Disabling it will hide the pagination options in the bottom toolbar."},enableSorting:{label:"Enable sorting",desc:"Enable sorting feature for all columns."},enableStickyHeader:{label:"Enable sticky header",desc:"Allows you to maintain the column headers when scrolling through the rows of the table."},enableTopToolbar:{label:"Enable top toolbar",desc:"Show or hide the top toolbar. By disabling it, globar filter, hiding, density and full screen toggles will also be hidden."}},Kq={density:"xs"},wI=["5","10","15","20","25","30","50","100"],RI={pageIndex:0,pageSize:10},II=e=>e&&Array.isArray(e)&&e.some(t=>typeof t=="object"&&t!==null),qq=forwardRef(function({customLabels:t,customLabelsHandler:o,index:r,isActiveRefenceContent:n=false,option:i,referenceColumns:a=[],selectedColumnsHandler:l,...s},c){let u=t.find(g=>g.key===i.label)?.label||"",f=a.find(g=>g.accessorKey===i.label)?.header||i.label;return jsxs(Group,{grow:true,ref:c,...s,children:[jsxs(Group,{children:[jsx(IconGripVertical,{}),jsx(Checkbox,{checked:i.checked,label:i.label,onChange:g=>l.setItemProp(r,"checked",g.currentTarget.checked)})]}),jsx(Input,{disabled:!i.checked,onChange:g=>o.setItemProp(r,"label",g.currentTarget.value),value:u}),n&&jsx(Input,{disabled:true,value:f})]},`table-group-${i.label}-${r}`)});function Kb(e){let{executeButton:t,id:o,onChange:r,referenceContent:n={},referenceLocale:i,simpleState:a}=e,{columns:l}=n,s=ts(),c=useMemo(()=>s!==i&&n&&Object.keys(n).length>0,[s,n,i]),u=ot(o),[d,f]=useState([]),[g,m]=useListState([]),[h,y]=useState([]),[S,v]=useState(false),[C,b]=useState({}),[k,w]=useState(RI),[R,O]=useState({rowsPerPageOptions:wI}),[A,B]=useListState([]),[_,P]=useState(null),[I,F]=useSetState(jq),[M,N]=useState(Kq),[j,$]=useState({}),V=useMemo(()=>A.every(U=>U.checked),[A]),z=useMemo(()=>A.some(U=>U.checked)&&!V,[V,A]);useEffect(()=>{if(!a||!Object.keys(a).length)return;let U=u[a.variable]||[],Y=new Set;U.filter(X=>typeof X=="object"&&X!==null).forEach(X=>{Object.keys(X).forEach(le=>Y.add(le));});let ne={},re=[];a.columns&&Object.keys(a.columns)&&a.columns.forEach(X=>{ne[X.accessorKey]=X.header;});let J=[],G=[];Array.from(Y).forEach(X=>{G.push({key:X,label:ne[X]||X}),J.push({checked:!!ne[X],key:randomId(),label:X}),re.push(X);}),m.setState(G),B.setState(J);let{initialState:K={},state:ee={},mantinePaginationProps:ae={},...ue}=a.tableProps||{},Te=ee.columnOrder.filter(X=>re.includes(X));Te.push(re.filter(X=>!ee.columnOrder.includes(X))),f(Te.flat()||[]),O(ae),w(K.pagination),F({...ue}),$(ee),N(K),P(a.variable||"");},[]),useEffect(()=>{if(!u){b({});return}let U=Object.entries(u).filter(([ne,re])=>II(re)).reduce((ne,[re,J])=>(ne[re]=J,ne),{});b(U);let Y=Object.keys(U);y(Y);},[u]);let q=U=>{if(P(U),!U||!II(C[U])){v(false),B.setState([]);return}let Y=C[U];if(Y.every(K=>typeof K=="object"&&K===null)){v(false),B.setState([]);return}Y.every(K=>typeof K=="object"&&K!==null)?v(false):v(true);let ne=new Set;Y.filter(K=>typeof K=="object"&&K!==null).forEach(K=>{Object.keys(K).forEach(ee=>ne.add(ee));});let re=[],J=[],G=[];Array.from(ne).forEach(K=>{re.push({checked:true,key:randomId(),label:K}),J.push({key:K,label:K}),G.push(K);}),B.setState(re),m.setState(J),f(G);};useEffect(()=>{let U={};g.forEach(ee=>{U[ee.key]=ee.label;});let Y=A.filter(ee=>ee.checked).map(ee=>({accessorKey:ee.label,header:U[ee.label]})),ne={...M,pagination:k},re={...j,columnOrder:d},J={columns:Y,data:_?`variables["${_}"]`:[],tableProps:{...I,initialState:ne,state:re,mantinePaginationProps:R},variable:_||""},G=`return ${Us(J)};`,K={columns:Y,data:_?`variables["${_}"]`:[],tableProps:{...I,initialState:ne,state:re,mantinePaginationProps:R},variable:_||""};r(K,G);},[d,g,R,k,A,_,I,j,M]);let W=useCallback(U=>{if(!U.destination||U.source.index===U.destination.index)return;let Y=[...d],[ne]=Y.splice(U.source.index,1);Y.splice(U.destination.index,0,ne),f(Y),$(re=>{let J=re;return J.columnOrder=Y,J});},[d]);return jsxs(Fragment,{children:[jsxs(Stack,{mb:"sm",children:[jsx(Select,{clearable:true,data:h,description:"Select an array of data available in the block inputs to use as data input for the table.",label:"Data input",onChange:U=>q(U),searchable:true,value:_}),_&&C[_]&&A.length>0&&jsxs(Fragment,{children:[jsx(Input.Wrapper,{description:"Select the columns to display in the table.",error:S&&"There is a mix of types in the input data. Only object types rows will be kept.",label:"Selected columns",children:jsxs(Stack,{mt:"xs",children:[jsxs(Group,{grow:true,children:[jsx(Text,{fz:"xs",children:"Selected"}),jsx(Text,{fz:"xs",children:"Label"}),c&&jsxs(Group,{spacing:"xs",children:[jsx(Text,{fz:"xs",children:"Reference Label"}),jsx(Badge,{variant:"light",size:"xs",rightSection:jsx(Center,{children:jsx(IconLanguage,{size:rem(12)})}),children:i.toUpperCase()})]})]}),jsx(Checkbox,{checked:V,indeterminate:z,label:"All",onChange:()=>B.setState(U=>U.map(Y=>({...Y,checked:!V})))}),jsx(ScrollArea.Autosize,{mah:300,children:jsx(DragDropContext,{onDragEnd:W,children:jsx(Droppable,{droppableId:"columns",children:U=>jsx("div",{ref:U.innerRef,...U.droppableProps,children:d.map((Y,ne)=>{let re=A.findIndex(G=>G.label===Y),J=A[re];return jsx(Draggable,{draggableId:`${J.label}`,index:ne,isDragDisabled:!J.checked,children:G=>jsx(qq,{customLabels:g,customLabelsHandler:m,index:re,isActiveRefenceContent:c,option:J,ref:G.innerRef,referenceColumns:l,selectedColumnsHandler:B,...G.draggableProps,...G.dragHandleProps})},J.label)})})})})})]})}),jsx(Accordion,{variant:"separated",children:jsxs(Accordion.Item,{value:"custom-props",children:[jsx(Accordion.Control,{children:"Custom properties"}),jsx(Accordion.Panel,{children:jsx(Stack,{children:jsxs(Input.Wrapper,{description:"Select the needed table options.",label:"Table options",children:[jsx(Group,{mt:"xs",children:Object.keys(I).map(U=>jsx(Checkbox,{checked:I[U],label:jsx(Tooltip,{label:EI[U]?.desc||U,multiline:true,children:jsx(Text,{children:EI[U]?.label||U})}),onChange:()=>F({[U]:!I[U]})},`table-prop-${U}`))}),I?.enablePagination&&jsxs(Fragment,{children:[jsx(Divider,{mt:"xs"}),jsxs(Input.Wrapper,{description:"Customize initial pagination properties.",label:"Pagination props",mt:"xs",children:[jsxs(Group,{grow:true,children:[jsx(NumberInput,{label:"Initial page",min:0,onChange:U=>{w(Y=>({...Y,pageIndex:U}));},value:k.pageIndex}),jsx(Select,{data:R.rowsPerPageOptions||[],getCreateLabel:U=>`+ Create ${U}`,label:"Initial page size",onChange:U=>{w(Y=>({...Y,pageSize:parseInt(U,10)}));},searchable:true,value:k.pageSize.toString()})]}),jsxs(Group,{align:"flex-end",grow:true,children:[jsx(MultiSelect,{clearable:true,creatable:true,data:R.rowsPerPageOptions||[],getCreateLabel:U=>`+ Create ${U}`,label:"Page size options",onChange:U=>{O(Y=>({...Y,rowsPerPageOptions:U.sort((ne,re)=>parseInt(ne,10)-parseInt(re,10))})),U&&U.length>0&&!U.includes(k.pageSize.toString())&&w(Y=>({...Y,pageSize:parseInt(U[0],10)}));},onCreate:U=>(O(Y=>({...Y,rowsPerPageOptions:[...Y.rowsPerPageOptions||[],U].sort((ne,re)=>parseInt(ne,10)-parseInt(re,10))})),U),searchable:true,value:R.rowsPerPageOptions||[]}),jsx(Button,{color:"yellow",onClick:()=>{O(U=>({...U,rowsPerPageOptions:wI})),w(RI);},children:"Reset page sizes values"})]})]})]})]})})})]})})]})]}),t]})}p();ye();he();p();var AI=e=>{let{dataVar:t,levelsVar:o}=e;return !![t,o].every(Boolean)},_d=e=>{let t,o,{colorKey:r,dataVar:n,iconKey:i,defaultVar:a,isPrimitiveType:l,levelsVar:s,searchIndexKey:c}=e;a&&typeof a=="string"&&(t=`variables["${a}"].value`,o=`variables["${a}"].type`);let u=l?`variables["${n}"]`:`(variables["${n}"] || []).map((d) => ({...d, colorKey: String(d["${r}"]), iconKey: String(d["${i}"]), searchIndexKey: String(d["${c}"])}))`;return {logicLevels:`variables["${s}"]`,logicOptions:u,defaultValue:t,defaultValueType:o}};us();var Yb=e=>rr[E.MULTIHIERARCHY_SELECTOR].find(t=>t.field===e)?.editorConfig,Jq=e=>e&&Array.isArray(e)&&e.some(t=>typeof t=="object"&&t!==null),Qq=e=>e&&e.type&&e.value,tl=e=>e&&Array.isArray(e)&&e.length;function No(e,t,o){return e&&e[t]||o}function Xb(e){let{executeButton:t,id:o,onChange:r,referenceContent:n,referenceLocale:i,simpleState:a}=e,l=ot(o),[s,c]=useState(false),[u,d]=useState(()=>({allLabel:No(a,"allLabel","All"),colorKey:No(a,"colorKey",""),dataVar:No(a,"dataVar",""),defaultVar:No(a,"defaultVar",""),hideLabel:No(a,"hideLabel","false"),resetSectionVars:No(a,"resetSectionVars","false"),iconKey:No(a,"iconKey",""),isPrimitiveType:No(a,"isPrimiteType",false),levelsVar:No(a,"levelsVar",""),limit:No(a,"limit",0),placeholder:No(a,"placeholder",""),searchIndexKey:No(a,"searchIndexKey",""),searchIndexSeparator:No(a,"searchIndexSeparator","|"),selectorIdentifier:No(a,"label","")})),[f,g]=useState([]),[m,h]=useState([]),[y,S]=useState({}),[v,C]=useState({}),[b,k]=useState([]),w=useCallback((I,F,M=false)=>d(N=>({...N,[I]:!F&&M?"":F})),[]);useEffect(()=>{if(!l){g([]),h([]),S({}),C({});return}let I=Object.entries(l).filter(([j,$])=>Jq($)).reduce((j,[$,V])=>(j[$]=V,j),{}),F=Object.entries(l).filter(([,j])=>Qq(j)).reduce((j,[$,V])=>(j[$]=V,j),{});C(I),S(F);let M=Object.keys(I),N=Object.keys(F);g(M),h(N),c(true);},[l]),useEffect(()=>{if(!Object.keys(v).length)return;let I=Ed(v[u.dataVar]);if(I)k([]),w("colorKey",""),w("iconKey",""),w("searchIndexKey","");else {let F=new Set;(v[u.dataVar]||[]).forEach(N=>Object.keys(typeof N=="object"?N:{}).forEach(j=>F.add(j)));let M=Array.from(F).sort().map(N=>N);k(M);}w("isPrimitiveType",I);},[v,u.dataVar]),useEffect(()=>{let{allLabel:I,colorKey:F,dataVar:M,defaultVar:N,hideLabel:j,resetSectionVars:$,iconKey:V,levelsVar:z,limit:q,placeholder:W,searchIndexKey:U,searchIndexSeparator:Y,selectorIdentifier:ne}=u,re={allLabel:I,colorKey:F,dataVar:M,defaultVar:N,label:ne,hideLabel:j,resetSectionVars:$,iconKey:V,levelsVar:z,limit:q,placeholder:W,searchIndexKey:U,searchIndexSeparator:Y},{logicOptions:J,logicLevels:G,defaultValue:K,defaultValueType:ee}=_d(re);K&&ee&&(re.defaultValue=K,re.defaultValueType=ee),re.data=J,re.levels=G;let ae=`return ${Us(re)};`,ue=re,Te=AI(ue);r(ue,ae,Te);},[u]);let R=useCallback(I=>{w("dataVar",I),w("defaultVar",{}),w("colorKey",""),w("iconKey",""),w("searchIndexKey","");},[w]);if(!s)return null;let O=Object.keys(v),A=Object.keys(y),B=Yb(Pe.MULTIHIERARCHY_SELECTOR_ALL_LABEL),_=Yb(Pe.MULTIHIERARCHY_SELECTOR_NAME),P=Yb(Pe.MULTIHIERARCHY_SELECTOR_PLACEHOLDER);return jsxs(Fragment,{children:[jsxs(Stack,{mb:"sm",spacing:"xs",children:[jsx(Jo,{field:"label",value:u.selectorIdentifier,handleEditor:(I,F)=>{w("selectorIdentifier",F);},referenceContent:n,referenceLocale:i,variables:l,editorConfig:_}),jsx(Checkbox,{label:jsx(Wt,{label:"Hide Label",py:0}),checked:u.hideLabel==="true",onChange:I=>w("hideLabel",I.currentTarget.checked?"true":"false")}),jsx(Select,{data:f,description:"(Required) Select an array of data available in the block inputs to use as data input.",label:jsx(Wt,{label:"Data Input"}),onChange:I=>R(I),value:tl(O)&&u.dataVar}),jsx(Select,{data:f,description:"(Required) Select an array of {label, value} items in the block inputs to use as levels.",label:jsx(Wt,{label:"Levels Input"}),onChange:I=>w("levelsVar",I),value:tl(O)&&u.levelsVar}),jsx(Select,{clearable:true,data:m,description:"(Optional) Select an object with {type, value} keys in the block inputs to use as default value.",label:jsx(Wt,{label:"Default Value"}),onChange:I=>{if(!I){w("defaultVar","");return}w("defaultVar",I);},value:tl(A)&&u.defaultVar}),jsx(NumberInput,{description:"(Optional) Sets a limit for selected values. Set 0 for no limit.",label:jsx(Wt,{label:"Limit"}),min:0,onChange:I=>w("limit",I),value:u.limit}),jsx(Accordion,{mt:"md",variant:"separated",children:jsxs(Accordion.Item,{value:"customization",children:[jsx(Accordion.Control,{children:"Customization"}),jsx(Accordion.Panel,{children:jsxs(Stack,{spacing:"xs",children:[jsx(Jo,{field:"allLabel",value:u.allLabel,handleEditor:(I,F)=>w("allLabel",Jt(F)),referenceContent:n,referenceLocale:i,variables:l,editorConfig:B}),jsx(Jo,{field:"placeholder",value:u.placeholder,handleEditor:(I,F)=>w("placeholder",Jt(F)),referenceContent:n,referenceLocale:i,variables:l,editorConfig:P}),jsx(Select,{clearable:true,data:b,description:"(Optional) Select a property key to use as item's icon background color. Requires defining an icon key.",disabled:u.isPrimitiveType,label:jsx(Wt,{label:"Color property key"}),onChange:I=>w("colorKey",I,true),value:tl(b)&&u.colorKey}),jsx(Select,{clearable:true,data:b,description:"(Optional) Select a property key to use as item's icon src.",disabled:u.isPrimitiveType,label:jsx(Wt,{label:"Icon property key"}),onChange:I=>w("iconKey",I,true),value:tl(b)&&u.iconKey}),jsx(Select,{clearable:true,data:b,description:"(Optional) Select a property key to extend the search functionality. The selected key MUST only contain text elements.",disabled:u.isPrimitiveType,label:jsx(Wt,{label:"Search index key"}),onChange:I=>w("searchIndexKey",I,true),value:tl(b)&&u.searchIndexKey}),jsx(TextInput,{description:'(Optional) Provide a search index separator in case each row contains more than one record. Default: "|".',disabled:!u.searchIndexKey,error:u.searchIndexSeparator===""?"Separator cannot be empty!":"",label:jsx(Wt,{label:"Search index separator"}),onChange:I=>w("searchIndexSeparator",I.currentTarget.value),value:u.searchIndexSeparator})]})})]})})]}),jsx(Checkbox,{my:"md",label:jsx(Wt,{label:"Reset SectionVariables on change",py:0}),checked:u.resetSectionVars==="true",onChange:I=>w("resetSectionVars",I.currentTarget.checked?"true":"false")}),t]})}var e3={[E.SELECTOR]:mI,[E.NAV]:Db,[E.RELATED]:_b,[E.RESET_BUTTON]:zb,[E.COMPARISON_BUTTON]:Vb,[E.TITLE]:Fb,[E.STAT]:$b,[E.TABLE]:Kb,[E.MULTIHIERARCHY_SELECTOR]:Xb},MI=e3;function t3(e){let{blockType:t,id:o,locale:r,setBlockContent:n,simpleState:i}=e,a=sn(),l=ot(o),s=MI[t],c=jsx(lI,{fields:rr[t],locale:r,defaultContent:i,variables:l,onChange:n},"text-editor");return s?jsx(s,{id:o,executeButton:a.executeButton,onChange:(u,d,f=true)=>n({simple:u,logic:d},r,true,f),simpleState:i,richTextEditor:c,variables:l,referenceContent:a.reference.content,referenceLocale:a.reference.locale}):c}var DI=t3;p();ys();he();se();ye();Pt();Nf();function p3({id:e,variables:t,reserved:o,hasInternalKeys:r}){let[n,i]=useState(false);return jsxs(Fragment,{children:[r&&jsx(Switch,{label:"Show internal variables",size:"xs",checked:n,onChange:a=>i(a.currentTarget.checked)}),jsx(Ar,{id:e,variables:t,reserved:o,showInternal:n})]})}function d3({id:e,setInlineId:t}){let o=H(c=>c.records.entities.block),r=ie(),n=FS(e),i=Object.keys(n.attributes),a=useContext(De),l=At(a),s=c=>{r(Z.updateEntity("block",{id:e,inputAction:{operation:"delete",input:{input_id:c,block_id:e}}})).then(()=>{l();});};return jsx("div",{style:{display:"flex",flex:"1 1 auto",flexDirection:"column",width:"100%"},children:Object.keys(n).sort(c=>c==="attributes"?-1:1).map(c=>{let u=o[c],d=u&&[E.GENERATOR,E.SECTION_FLAG].includes(u.type),f=u?.type&&u?.id?`${u.type}${u.id}`:"",g=Object.keys(n[c]).some(np(f));return jsxs(Stack,{className:"cr-variable-group",style:{position:"relative"},children:[jsx(Divider,{}),jsxs(Group,{position:"apart",noWrap:true,grow:true,children:[jsx(Title,{order:6,children:u?`${titleCase(u.type)} ${u.id} Variables`:"Dimension Variables"}),u&&jsxs(Group,{position:"right",noWrap:true,children:[d&&jsx(Tooltip,{label:"Edit this generator",children:jsx(ActionIcon,{size:"xs",onClick:()=>t(c),variant:"subtle",color:"gray",children:jsx(IconPencil,{size:15})})}),jsx(Tooltip,{label:"Remove as input",children:jsx(ActionIcon,{size:"xs",onClick:()=>s(c),variant:"light",color:"red",children:jsx(IconLinkOff,{size:15})})})]})]}),jsx(p3,{id:c,variables:n[c],reserved:i,hasInternalKeys:g})]},c)})})}var FI=d3;ic();Cr();ye();function I3({blockType:e,fullscreen:t,toggle:o,codeEditor:r}){let n=sn(),i=[E.GENERATOR,E.VIZ].includes(e),[a,{open:l,close:s}]=useDisclosure(false);return jsxs(Fragment,{children:[jsxs(Popover,{width:400,position:"bottom",withArrow:true,shadow:"md",opened:a,children:[jsx(Popover.Target,{children:jsx(ActionIcon,{variant:"subtle",color:"blue",size:"sm",onMouseEnter:l,onMouseLeave:s,pos:"absolute",top:3,left:3,style:{zIndex:1},children:jsx(IconHelp,{size:16})})}),jsx(Popover.Dropdown,{children:jsxs(Text,{size:"sm",children:["You can access ",jsx(Code,{children:"variables"}),", ",jsx(Code,{children:"formatters"}),",",jsx(Code,{children:"locale"}),", ",jsx(Code,{children:"libs"}),",",e===E.GENERATOR&&jsxs(Fragment,{children:[jsx(Code,{children:"resp"}),", "]}),e===E.VIZ&&jsxs(Fragment,{children:[jsx(Code,{children:"section"}),", "]}),"and ",jsx(Code,{children:"router"})," in the scope of this generator.",i&&jsxs(Fragment,{children:[" Return a property called",jsx(Code,{children:"_api"})," as string, to let the user download that data and override api value."]})]})})]}),r,jsx(Divider,{my:"sm",color:"gray.8"}),jsxs(Group,{px:"xs",h:"fit-content",position:"right",children:[jsx(Button,{variant:"light",color:"grey",size:"xs",onClick:o,leftIcon:t?jsx(IconMinimize,{size:rem(12)}):jsx(IconMaximize,{size:rem(12)}),compact:true,children:t?"Minimize":"Maximize"}),n.executeButton]})]})}function A3(){let e=sn(),t=ts(),o=os(),r=t!==o;return jsx(Group,{position:"right",my:"xs",children:jsxs(Stack,{align:"flex-end",spacing:"xs",children:[jsx(Switch,{label:e.mode==="simple"?"Code":"No Code",size:"xs",labelPosition:"left",checked:e.mode==="code",onChange:n=>e.changeEditorMode(n.currentTarget.checked?"code":"simple"),onLabel:jsx(IconCode,{size:rem(12)}),offLabel:jsx(IconCode,{size:rem(12)})}),e.mode!=="code"&&r&&jsx(Switch,{checked:e.reference.active,onChange:n=>e.reference.setActive(n.currentTarget.checked),size:"xs",label:"See reference language",labelPosition:"left",onLabel:jsx(IconLanguage,{size:"0.7rem"}),offLabel:jsx(IconLanguage,{size:"0.7rem"})})]})})}function P3({header:e,blockContent:t,blockSettings:o,blockType:r,id:n,locale:i,onSave:a,setBlockContent:l,setBlockSettings:s,setInlineId:c,sid:u}){let[d,f]=useState("Content"),[g,m]=useState(false),[h,y]=useState(false),S=ju(n),v=sn(),b=H(W=>W.status.isRunConsumersRunning).includes(u),k=useMemo(()=>{let W={resp:null,apiFinalUrls:null,apiDataSources:void 0};return S&&S.resp&&S.apiFinalUrls&&S.apiDataSources&&(W.resp=S.resp,W.apiFinalUrls=S.apiFinalUrls,W.apiDataSources=S.apiDataSources),W},[S]),w=ot(n),{ref:R,toggle:O,fullscreen:A}=useFullscreen(),B=t&&(t.api||t.api==="")?t.api.split("|||"):[],_=(W,U)=>l({logic:W},U),P=(W,U)=>{let Y=[...B];Y[U]=W,l({api:Y.join("|||")},void 0,void 0,void 0,true);},I=()=>{l({api:[...B,""].join("|||")}),m(true);},F=W=>{l({api:B.length===1&&B[0]===""?null:B.filter((U,Y)=>Y!==W).join("|||")},void 0,void 0,void 0,true);},M=(W,U)=>{s({[W]:U});},N=()=>{m(!g);},j=()=>{y(!h);},$=jsx(ca,{monacoOptions:{onChange:W=>_(W,i),value:t?.logic||"",height:A?"85vh":"61vh",width:"100%"}},"code-editor"),V=t?.simple||{},z=jsx(DI,{blockType:r,id:n,locale:i,simpleState:V,setBlockContent:l,variables:w}),q=jsx(Col,{span:4,sx:W=>({display:"flex",flexDirection:"column",borderLeft:`2px solid ${W.colors.gray[0]}`}),children:jsxs(Stack,{children:[jsx(Text,{inline:true,size:"xs",transform:"uppercase",weight:"bold",color:"gray",children:"Preview"}),jsx(Jp,{id:n,active:true,blockStateContent:t,blockStateSettings:o,locale:i,allowed:true,debug:true},"block-preview")]})});return jsxs(Grid,{h:"100%",children:[jsxs(Col,{span:3,sx:{alignSelf:"stretch",display:"flex",flexDirection:"column",height:"100%",position:"relative"},children:[E.SECTION_FLAG!==r&&jsx(Uw,{id:n}),jsx("div",{style:{width:"100%",maxHeight:"80vh",overflowY:"auto"},children:jsx(FI,{id:n,setInlineId:c})})]}),jsxs(Col,{span:9,sx:W=>({alignSelf:"stretch",display:"flex",flexDirection:"column",height:"100%",borderLeft:`2px solid ${W.colors.gray[0]}`}),children:[e,jsxs(Tabs,{value:d,onTabChange:f,keepMounted:false,styles:{root:{flexGrow:1,display:"flex",flexDirection:"column"},panel:{flexGrow:1}},children:[jsxs(Tabs.List,{position:"left",children:[jsx(Tabs.Tab,{value:"Content",icon:jsx(IconPencil,{}),children:"Edit"}),jsx(Tabs.Tab,{value:"Style",icon:jsx(IconPalette,{}),children:"Style"}),jsx(Tabs.Tab,{value:"Settings",icon:jsx(IconSettings,{}),children:"Settings"})]}),jsx(Tabs.Panel,{value:"Content",children:jsx(Box,{ref:R,pos:"relative",bg:"white",h:"100%",children:jsxs(Grid,{className:"cr-block-output",style:{flex:1,width:"100%",height:A?"100vh":"100%",margin:0},children:[jsxs(Col,{span:8,className:`cr-block-output-editor ${v.mode}`,children:[![E.VIZ,E.GENERATOR,E.SECTION_FLAG].includes(r)&&jsx(A3,{}),[E.GENERATOR,E.SECTION_FLAG].includes(r)&&jsxs(Stack,{mb:5,spacing:4,children:[b&&jsx(Overlay,{children:jsx(Text,{children:"Running..."})}),jsxs(Group,{spacing:"xs",children:[jsx(Button,{size:"sm",variant:"light",color:"blue",leftIcon:g?jsx(IconChevronDown,{size:16}):jsx(IconChevronRight,{size:16}),onClick:N,sx:{flex:1},children:`${B.length} API Request${B.length!==1?"s":""}`}),jsx(Button,{size:"sm",onClick:I,variant:"light",color:"blue",leftIcon:jsx(IconPlus,{size:15}),children:"Add API"})]}),jsxs(Collapse,{in:g,children:[B.map((W,U)=>jsx(TT,{defaultValue:W,pos:U+1,id:n,finalUrl:k.apiFinalUrls&&k.apiFinalUrls[U]?k.apiFinalUrls[U]:null,dataSource:k.apiDataSources&&k.apiDataSources[U]?k.apiDataSources[U]:null,onChangeAPI:Y=>P(Y,U),onDelete:()=>F(U)},`${n}-${U}-${B.length}`)),k.resp&&jsx(Button,{variant:"light",color:"blue",size:"xs",leftIcon:h?jsx(IconChevronDown,{size:14}):jsx(IconChevronRight,{size:14}),onClick:j,mt:5,children:"Response data preview (resp)"}),k.resp&&jsx(Collapse,{in:h,children:jsx("div",{style:{maxHeight:200,overflowY:"scroll"},children:jsx(aa,{value:k.resp,root:true,label:"resp"})})})]})]}),jsxs(Box,{bg:v.mode==="code"?"#272822":"none",p:"xs",pos:"relative",children:[v.mode==="code"&&jsx(I3,{blockType:r,fullscreen:A,toggle:O,codeEditor:$}),v.mode!=="code"&&z]})]},"content-col"),q]})})}),jsx(Tabs.Panel,{value:"Style",pt:"xs",children:jsx(Box,{ref:R,pos:"relative",bg:"white",h:"100%",children:jsxs(Grid,{children:[jsxs(Col,{span:8,children:[jsx(Title,{order:4,children:"Style settings"}),jsx(pp,{id:n,display:"inline",handleChange:M})]},"content-col"),q]})})}),jsx(Tabs.Panel,{value:"Settings",pt:"xs",children:jsx($w,{id:n,setBlockSettings:s})})]})]})]})}var jI=P3;Ho();he();Pt();ye();p();var KI=e=>(!e||!e.contentByLocale||Object.keys(e.contentByLocale).forEach(t=>{let o=e.contentByLocale[t]?.content;o&&Object.keys(o).length===0&&(o.simpleEnabled=true,o.simple={});}),e);var ly=["_icon","_iconType","_iconVariant","_iconSize","_iconRadius","_iconPadding"],qI={[E.SELECTOR]:["hideLabel","resetSectionVars","component","optionsType","type"],[E.TITLE]:[...ly],[E.NAV]:[...ly],[E.STAT]:[...ly],[E.TABLE]:["data","tableProps","variable"],[E.MULTIHIERARCHY_SELECTOR]:["colorKey","dataVar","defaultVar","hideLabel","resetSectionVars","iconKey","levelsVar","limit","searchIndexKey","searchIndexSeparator"]},$3=(e,t)=>({...e,[t.locale]:{...t,content:t.content}});function U3({block:e,localeDerived:t}){let o=sn(),r=Ko(e.section_id).data,n=zt(r.report_id).data,i=r?.settings.name||`Section ${r?.id}`,a=`${e.type} ${e.id}`,l=n?.name||`Report ${n.id}`;return jsxs(Group,{w:"100%",children:[jsx(Alert,{color:"gray",sx:{flexGrow:1},py:"0.325rem",children:jsxs(Group,{position:"apart",children:[jsxs(Breadcrumbs,{separator:">",children:[jsx(Text,{size:"xs",children:l}),jsx(Text,{size:"xs",children:i}),jsx(Text,{size:"xs",children:a})]}),jsx(Badge,{size:"sm",radius:"sm",rightSection:jsx(Center,{children:t==="logic"?jsx(IconCode,{size:"0.6rem"}):jsx(IconLanguage,{size:"0.6rem"})}),children:t})]})}),jsxs(Group,{children:[o.cancelButton,o.closeAndSaveButton]})]})}function G3({id:e,modified:t,callbacks:o,inline:r}){let n=ie(),i=useContext(De),a=At(i),{setOpened:l,setModified:s,maybeCloseWithoutSaving:c,setInlineId:u}=o,d=tt(e).data,f=H(N=>N.status.currentLocale),g=H(N=>N.status.localeDefault),m=H(N=>N.status.locales),h=Tr(d,f).locale,[y,S]=useState(),[v,C]=useState(false),[b,k]=useState(true);if(useEffect(()=>{S(KI(od(d))),C(true);},[]),!d||!v||!y)return null;let w=ko(y,f),R=y.settings,O=(N={},j=g,$=true,V=void 0,z=false)=>{let{locale:q}=Tr(d,j);if($&&!t&&s(true),V!==void 0&&b!==V&&k(V),!N||Object.keys(N).length<1)return;let W=y.contentByLocale[q]||{id:e,locale:q,content:{}},U={...y,contentByLocale:{...y.contentByLocale,[q]:{...W,content:{...W.content,...N}}}};if(S(U),z){let Y=B(U);n(Z.updateEntity("block",Y)).then(()=>{a(),s(false);});}},A=(N,j)=>{if(h!=="logic"&&Object.keys(qI).includes(d.type)){let $={...N},V=N[j].content;return m.forEach(z=>{if(z===h)return;let W={...N[z].content.simple};Object.keys(V.simple).map(Y=>{qI[d.type].includes(Y)&&(W[Y]=V.simple[Y]);});let U={...W};if(d.type===E.SELECTOR){let{selectorType:Y=Oa.SINGLE,options:ne={static:[]},optionsType:re=vi.STATIC}=N[z].content.simple,{logicOptions:J,defaultValue:G}=wd(Y,ne,re);G&&(U.defaultValue=G),U.options=J;}if(d.type===E.MULTIHIERARCHY_SELECTOR){let Y=N[z].content.simple,{logicLevels:ne,logicOptions:re,defaultValue:J,defaultValueType:G}=_d(Y);J&&G&&(U.defaultValue=J,U.defaultValueType=G),U.data=re,U.levels=ne;}$[z].content={...$[z].content,simple:W,logic:on(U,false)};}),$}return N},B=(N=null)=>{let j=N||y,{settings:$}=j,V=Object.values(j.contentByLocale).reduce($3,{}),z=["id","api","shared","type"].reduce((W,U)=>({...W,[U]:j[U]}),{}),q=A(V,f);return {...z,id:j.id,contentByLocale:q,settings:$}},_=async N=>{let j=B();n(Z.updateEntity("block",j)).then(()=>{a(),s(false),N||(r?u(null):l(false));});},P=N=>{t||s(true),N.type||N.shared!==void 0?S({...y,...N}):S({...y,settings:{...y.settings,...N}});};return jsx(Fragment,{children:jsx(nI,{buttons:{cancelButton:jsx(Button,{leftIcon:jsx(IconCircleX,{size:"0.8rem"}),size:"xs",variant:"outline",onClick:c,color:"red",children:"Cancel"},"cancel"),closeAndSaveButton:jsx(Button,{leftIcon:jsx(IconDeviceFloppy,{size:"0.8rem"}),size:"xs",disabled:!b,onClick:()=>_(false),children:`Save & ${r?"Return":"Close"}`},"save"),executeButton:jsx(Button,{disabled:!b,onClick:()=>_(true),size:"xs",compact:true,children:"Save & Execute"})},blockType:d.type,blockId:d.id,children:jsx(jI,{header:jsx(U3,{localeDerived:h,block:d}),blockContent:w,blockSettings:R,blockType:d.type,id:e,sid:d.section_id,locale:f,onSave:_,setBlockContent:O,setBlockSettings:P,setInlineId:u},"be")})})}var YI=G3;Pt();se();ye();ye();Vp();he();Go();function nY({id:e,setHoverBlock:t,isInput:o,isConsumer:r,active:n,showOutline:i=true}){let[a,l]=useState(false),{newConfirmation:s}=Kt(),[c,u]=useState(false),[d,f]=useState(false),[g,m]=useState(null),h=useContext(De),y=At(h),S=useMantineTheme(),v=ot(e),C=ju(e),b=useCallback(()=>{u(false),f(false),m(null);},[]),k=useDispatch(),w=H(U=>U.status.currentLocale),{data:R}=tt(e),O=H(U=>U.records.entities.block),{isFetching:A}=jl("block",e),{allowed:B,allowedMessage:_}=useMemo(()=>{let U=!C?.hiddenByCascade,Y="";return R&&(Y=C?.hiddenByCascade===e?`Hidden by ${R.settings.allowed}: ${R.settings.allowed?v[R.settings.allowed]:null}`:`Hidden by ${C?.hiddenByCascade}`),{allowed:U,allowedMessage:Y}},[v,C,R,e]);if(!R)return null;let{blockcol:P,type:I,section_id:F,contentByLocale:M,settings:N,inputs:j}=R,$=async()=>{if(d)try{await s({title:"Are you sure?",message:"Close editor without saving?",confirmText:"Yes, abandon changes."}),b();}catch{}else b();},V={centered:true,withCloseButton:false,opened:c,onClose:$,overflow:"inside",padding:S.spacing.sm,size:"95%",styles:{body:{height:"100%"}}},z={onMouseEnter:()=>t(e),onMouseLeave:()=>t(false)},q={setOpened:u,setModified:f,setInlineId:m,maybeCloseWithoutSaving:$},W=()=>{let U=Object.keys(O).filter(re=>O[re].section_id===R.section_id&&O[re].blockcol===R.blockcol).map(re=>O[re].blockrow),Y=Va(U),ne={create:{blockrow:wl(Y),blockcol:P,locales:Object.keys(M).map(re=>re),section_id:F,type:I},update:{contentByLocale:M,settings:N,inputs:j.map(re=>O[re])}};k(Z.cloneEntity("block",ne)).then(()=>{[E.GENERATOR,E.SECTION_FLAG].includes(R.type)&&y({sid:F});});};return jsxs(Fragment,{children:[jsxs(Group,{id:`block-${e}`,onMouseOver:()=>l(true),onMouseOut:()=>l(false),className:"cr-section-block",pos:"relative",py:mi.block.padding,...z,sx:U=>({border:"1px solid transparent",resize:"horizontal","&:hover":{border:i?`1px solid ${U.colors.blue[2]}`:"1px solid transparent"},...i?{"&:hover::before":{position:"absolute",top:0,left:0,fontSize:8,color:U.colors.blue[5],transform:"translateY(-100%)",content:`"Block ${e}"`,width:"fit-content"}}:{}}),children:[jsx(Jp,{style:{color:"red"},id:e,debug:[E.VIZ,E.GENERATOR,E.SECTION_FLAG].includes(R.type),active:n,locale:w,allowed:B,isFetching:A},"bp"),(a||o||r)&&jsxs(Group,{spacing:0,className:"cr-block-controls export-hidden",style:{position:"absolute",right:px(S.spacing.xs)/2,top:px(S.spacing.xs)/2,backgroundColor:S.colors.gray[2],borderRadius:S.radius.sm,zIndex:5},children:[o||r?jsx(ActionIcon,{children:o?jsx(IconLogout,{size:20,color:S.colors.red[5]}):jsx(IconLogin,{size:20,color:S.colors.green[5]})},"globe"):null,R.shared&&jsx(Tooltip,{withArrow:true,label:"Sharing: Enabled",children:jsx(ActionIcon,{variant:"transparent",children:jsx(IconWorld,{size:20})},"globe")},"tt"),"access"in R.settings&&!["public","guest"].some(U=>!R.settings.access||R.settings.access.includes(U))&&jsx(Tooltip,{withArrow:true,label:"Private Block",children:jsx(ActionIcon,{variant:"transparent",children:jsx(IconLock,{size:20})},"lock")},"tt"),!B&&jsx(Tooltip,{withArrow:true,label:_,children:jsx(ActionIcon,{variant:"transparent",children:jsx(IconEyeOff,{size:20})})},"allowed"),![E.GENERATOR,E.SECTION_FLAG].includes(R.type)&&jsx(pp,{id:e,display:"button"},"design"),jsx(ActionIcon,{onClick:()=>u(true),children:jsx(IconPencil,{size:20})},"edit"),![E.SECTION_FLAG].includes(R.type)&&jsx(ActionIcon,{onClick:W,children:jsx(IconCopy,{size:20})},"copy"),jsx(sT,{type:gn.BLOCK,id:e},"cog")]},"bc")]},"block"),jsx(Modal,{fullScreen:true,...V,children:jsx(YI,{callbacks:q,id:g||e,inline:g,modified:d},g||e)},"d")]})}var rl=nY;Go();Vp();se();Ho();p();p();ye();se();Go();st();ye();var ZI=({id:e,disabled:t=false})=>{let{sectionVariables:o,resetSectionVariables:r}=pt(e);return !Object.keys(o).length?null:jsx(ActionIcon,{disabled:t,onClick:r,variant:"filled",size:"xs",children:jsx(IconRefresh,{size:20})})},pY=({sectionId:e,onActivate:t})=>{let{activeEntity:o}=qt(),{handlers:r}=Ft("settings");return o.type==="section"&&o.id===e?jsx(Button,{size:"xs",radius:"xl",leftIcon:jsx(IconPencil,{size:14}),fw:400,onClick:r.open,compact:true,children:"Edit"}):jsx(ActionIcon,{variant:"transparent",onClick:()=>{t(),r.open();},children:jsx(IconPencil,{size:18})})};function dY({sectionId:e,onActivate:t,position:o}){let r=useDispatch(),n=Ko(e),i=H(f=>f.records.entities.section),{data:a}=n,l=Xt(),s=Number.parseInt(l.params[0]),c=zt(s),u=H(f=>f.records.entities.block);if(!a||!c.data?.sections)return null;let{sections:d}=c.data;return jsxs(Group,{spacing:2,children:[jsx(pY,{sectionId:e,onActivate:t}),jsx(ActionIcon,{variant:"transparent",onClick:()=>{let f={...a,ordering:fn(i,d,o+1,true)},g=mY(f,u);r(Z.cloneEntity("section",g));},children:jsx(IconCopy,{size:18})}),jsx(ir,{type:"section",id:e})]})}function mY(e,t){let{heading:o,report_id:r,ordering:n,settings:i}=e,a=[];return {create:{ordering:n,report_id:r},update:{settings:i,heading:o,report_id:r,blocks:e?.blocks.map(s=>{let c=t[s],{blockcol:u,blockrow:d,contentByLocale:f,type:g,settings:m,section_id:h,shared:y,inputs:S,consumers:v}=c;return {blockcol:u,blockrow:d,contentByLocale:f,id:s,type:g,settings:m,section_id:h,shared:y,inputs:S.map(C=>{let b=t[C],{id:k,section_id:w,blockcol:R,blockrow:O,contentByLocale:A,settings:B,shared:_,type:P}=b;return {id:k,section_id:w,blockcol:R,blockrow:O,contentByLocale:A,settings:B,shared:_,type:P}}),consumers:v.reduce((C,b)=>{let k=t[b];if(k){let{id:w,section_id:R,blockcol:O,blockrow:A,contentByLocale:B,settings:_,shared:P,type:I}=k;return [...C,{id:w,section_id:R,blockcol:O,blockrow:A,contentByLocale:B,settings:_,shared:P,type:I}]}return C},a)}})}}}var e0=dY;se();he();Ho();Zg();Hr();function r0({active:e,isDragging:t,id:o,dragHandleProps:r,hidden:n="",onActivate:i,sectionSettings:a,position:l}){let s=H(f=>f.records.entities.section[o]||null);if(!s)return null;let c=useMemo(()=>s&&s.settings?.name?.length?s.settings.name:`section-${s.id}`,[s.settings?.name,s.id]),u=useMemo(()=>xt(c),[c]),d=n!=="";return jsxs(Group,{className:`cms-section-header${e||t?" active":""}`,position:"apart",bg:d?"red.1":"gray.3",sx:{overflow:"hidden",borderRadius:4},children:[jsx(Group,{className:"cms-section-header-editor",spacing:0,children:jsxs(Group,{spacing:0,children:[jsx(ActionIcon,{variant:"transparent",...r,w:16,sx:{cursor:"grab"},children:jsx(IconGripHorizontal,{size:16})},"b1"),jsxs(Text,{size:"xs",fw:400,color:"dark.9",children:[c,u!==c&&jsxs(Text,{span:true,size:"xs",c:"dimmed",children:[" #",u]}),d&&` ${n}`]})]})}),jsxs(Group,{children:[jsxs(Flex,{justify:"flex-end",mx:16,align:"center",gap:"xs",children:[jsx(ZI,{id:s.id,disabled:!e}),a.optionsMenu&&jsx(Qg,{sectionId:s.id,disabled:!e})]}),jsx(e0,{sectionId:o,onActivate:i,position:l})]})]})}$g();he();ic();oh();Bs();ye();Sn();Jn();Cr();Hr();var OY=Object.values(E),u0=({columns:e,columnIndex:t,section:o})=>{let r=ie(),{settings:n}=Kl(o.report_id),[i,a]=useDisclosure(false),l=(c,u=false)=>{let d="!",f="!";typeof u=="string"?(f=u,d=Va(Object.keys(e[u]),true)):Object.keys(e).length>0&&(f=Va(Object.keys(e),true));let{locales:g}=Tr({type:c});r(Z.createEntity("block",{blockrow:d,blockcol:f,type:c,section_id:o.id,locales:g})).then(m=>{c===E.VIZ&&r(Z.updateEntity("block",{id:m.data.id,contentByLocale:{logic:{...m.data.contentByLocale.logic,content:{simpleEnabled:true,simple:{},logic:rS}}}}));});},s=OY.filter(c=>![E.GENERATOR,E.SECTION_FLAG,E.FALLBACK].includes(c)&&(n.comparison?true:c!==E.COMPARISON_BUTTON)).map(c=>{let u=Oc(c);return {label:jsx(UnstyledButton,{p:"xs",w:"100%",onClick:()=>{l(c,t),a.close();},sx:{":hover":{backgroundColor:"#EBEBEB"}},children:jsxs(Group,{spacing:"xs",children:[jsx(ThemeIcon,{color:"blue",variant:"filled",size:"sm",radius:"xl",children:jsx(u,{size:"0.8rem"})}),jsx(Text,{size:"xs",children:Lc(c)||c})]})}),value:c}});return jsx(Center,{w:"100%",py:"sm",children:jsxs(Popover,{position:"right",withinPortal:true,zIndex:100,opened:i,onClose:a.close,children:[jsx(Popover.Target,{children:jsx(ActionIcon,{size:"lg",radius:"xl",variant:"light",bg:"#E5E5E5 !important",onClick:a.toggle,children:jsx(IconPlus,{size:24,color:"white",strokeWidth:1})})}),jsxs(Popover.Dropdown,{p:0,children:[jsx(Text,{bg:"#E5E5E5",size:"xs",p:"xs",children:"Add Block"}),jsx(ScrollArea,{h:230,children:jsx(List,{listStyleType:"none",styles:{itemWrapper:{width:"100%"}},children:s.map(({label:c,value:u})=>jsx(List.Item,{w:"100%",children:c},u))})})]})]})})},LY=({columns:e,section:t,show:o=false})=>o?jsx(Center,{w:"100%",children:jsxs("div",{children:[jsx(Text,{ta:"center",fw:700,size:"sm",color:"gray.8",children:"Add your first block!"}),jsx(u0,{columnIndex:false,columns:e,section:t})]})}):null,MY=({active:e=false})=>jsx(Droppable,{droppableId:"newColumn",children:(t,o)=>jsx(Center,{ref:t.innerRef,pos:"absolute",top:16,right:e?0:-140,bottom:16,w:140,sx:r=>({boxSizing:"border-box",zIndex:99,transition:"right 0.4s",overflow:"hidden",background:o.isDraggingOver?r.colors[r.primaryColor][0]:r.colors.gray[0]}),...t.droppableProps,children:jsxs(Stack,{p:"md",align:"center",children:[jsx(Text,{size:"xs",ta:"center",children:"Drop here to add new column"}),jsx(IconPlus,{})]})})}),BY=({onActivate:e,section:t,show:o=false})=>{let n=H(i=>i.status.isRunConsumersRunning).includes(t.id);return !o&&!n?null:jsxs(Overlay,{className:"cms-section-overlay",onClick:()=>e(t.id),opacity:.6,color:"#E9ECEF",style:{cursor:"pointer",zIndex:3},sx:i=>({transition:"background-color .45s",".bespoke-Section-edit":{opacity:0,transition:"opacity .45s"},"&:hover":{backgroundColor:i.fn.rgba("#E9ECEF",.9),".bespoke-Section-edit":{opacity:1}}}),center:true,children:[!n&&jsxs(Group,{className:"bespoke-Section-edit",align:"center",spacing:"xs",children:[jsx(Text,{fw:700,children:"Click to Edit"}),jsx(IconPencil,{size:"1rem"})]}),n&&jsxs(Stack,{align:"center",spacing:"xs",children:[jsx(Text,{fw:700,children:"Loading dependencies"}),jsx(Loader,{size:"md"})]})]})};function DY({for:e,isDragging:t,onActivate:o,dragHandleProps:r,position:n}){let i=ie(),{activeEntity:a}=qt(),[l,s]=useState(false),[c,u]=useState(),d=useRef(null),f=H(M=>M.records.entities.block),g=H(M=>M.status.previews),m=jl("section",e.id),{memberImageBg:h,hidden:y,columnSettings:S={}}=e.settings,v=a.type==="section"&&a.id===e.id,{inputs:C,consumers:b}=useMemo(()=>{if(c){let M=f[c],{inputs:N,consumers:j}=M;return {inputs:N,consumers:j}}return {inputs:[],consumers:[]}},[c]),k=Object.values(f||{}).filter(M=>M.section_id===e.id&&![E.GENERATOR,E.SECTION_FLAG].includes(M.type)).reduce((M,N)=>(M[N.blockcol]?M[N.blockcol][N.blockrow]=N:M[N.blockcol]={[N.blockrow]:N},M),{}),w=useMantineTheme(),R=()=>s(true),O=M=>{if(s(false),!M.destination)return;let{source:N,destination:j}=M;if(N.droppableId===j.droppableId&&N.index===j.index)return;let $=j.droppableId==="newColumn",V=Number(M.draggableId),z=N.droppableId,q=$?Va(Object.keys(k),true):j.droppableId,W={id:V,blockrow:"!",blockcol:"!"},U=z!==q;W.blockcol=U?q:z;let Y=Object.values(k[W.blockcol]||{}),ne=Y.reduce((G,K)=>({...G,[K.id]:K}),{}),re=Y.sort((G,K)=>po(G,K,"blockrow")).map(G=>G.id),J=j.index>N.index;W.blockrow=fn(ne,re,j.index,U,J,"blockrow"),i(Z.updateEntity("block",W));},A=useMemo(()=>{let M=Object.values(f||{}).filter(N=>N.section_id===e.id&&mo(N));return M.length>1&&console.error(`Error, there are more than one Section Flag Generator in section ${e.id}`),M.length>0?M[0]:false},[f,v,e.id]),B=H(M=>A&&M.variables.variables[A.id]&&!M.variables.variables[A.id][Eo]||false),_=useMemo(()=>{let M="";return B&&A&&(M+=`(Not allowed by Section Flag #${A.id})`),y&&(M+="(Hidden by Section Settings)"),M},[y,B]),P=Object.keys(k).sort((M,N)=>-Rl(M,N)),I=Object.keys(k).length,F=useMemo(()=>e?.settings?.name?xt(e?.settings?.name):`section-${e.id}`,[e.id,e?.settings?.name]);return m.isFetching?jsxs(Box,{p:"lg",m:"lg",bg:mi.section.backgroundColor,sx:M=>({borderRadius:M.radius.md,border:`1px solid ${M.colors.gray[4]}`}),children:[jsx(Skeleton,{height:50,circle:true,mb:"xl"}),jsx(Skeleton,{height:8,radius:"xl"}),jsx(Skeleton,{height:8,mt:6,radius:"xl"}),jsx(Skeleton,{height:8,mt:6,width:"70%",radius:"xl"})]}):jsxs(Box,{px:"md",mt:"md",children:[jsx(r0,{active:v,id:e.id,isDragging:t,hidden:_,dragHandleProps:r,onActivate:()=>o(e.id),sectionSettings:e.settings,position:n}),jsxs(Box,{pos:"relative",sx:M=>({border:v?`1px solid ${M.colors.blue[4]}`:"none",borderRadius:2}),children:[jsx(Paper,{id:F,className:`cms-section${t||v?" active":""}`,bg:e.settings.style==="card"?mi.section.backgroundColor:"transparent",p:0,mih:100,maw:e.settings.width==="center"?w.breakpoints.xl:"none",w:"100%",mx:"auto",pos:"relative",shadow:e.settings.style==="card"?mi.section.boxShadow:"none",radius:mi.section.borderRadius,sx:{overflow:"hidden"},children:jsxs(Box,{pos:"relative",children:[h&&jsx(Vg,{previews:g}),jsx(th,{ref:d,containerProps:{mih:!v||!I?120:"none",p:e.settings.margin||"md",style:{zIndex:2},gap:e.settings.columnGutter||"md",wrap:"wrap"},children:jsxs(DragDropContext,{onDragEnd:O,onDragStart:R,children:[P.map(M=>{let N=Object.values(k[M]).sort((j,$)=>po(j,$,"blockrow"));return jsx(Droppable,{droppableId:M,children:(j,$)=>jsxs(eh,{column:k[M],columnSettings:S[M],ref:j.innerRef,basis:`calc(${100/I}% - (10px * ${I}))`,sx:{background:$.isDraggingOver?w.colors[w.primaryColor][0]:"inherit",border:"1px solid transparent","& .bespoke-resize-col":{visibility:"hidden"},"&:hover .bespoke-resize-col":{visibility:"visible"},"&:hover":{border:`1px solid ${w.colors.teal[1]}`}},...j.droppableProps,children:[jsx(GE,{sectionId:e.id,columnIndex:M}),N.map((V,z)=>{if(!f[V.id])return null;let{settings:q,type:W}=f[V.id],U=q.width&&!q.width.stretch&&q.width.unit?nc[q.width.unit](q.width.value):q.display==="inline"?"auto":"100%",Y={alignSelf:W===E.VIZ?"stretch":"flex-start",flexGrow:0,margin:"0",width:U,minWidth:120};return jsx(Draggable,{draggableId:String(V.id),index:z,children:(ne,re)=>jsx(Box,{ref:ne.innerRef,...ne.draggableProps,...ne.dragHandleProps,sx:[Y,{boxShadow:re.isDragging?w.shadows.lg:"none",...ne.draggableProps.style}],children:jsx(rl,{id:Number(V.id),active:v,isInput:C.includes(Number(V.id)),isConsumer:b.includes(Number(V.id)),setHoverBlock:u},`block-${V.id}`)})},V.id)}),v&&jsx(u0,{section:e,columnIndex:M,columns:k}),j.placeholder]})},M)}),jsx(MY,{active:l&&v})]})}),jsx(LY,{columns:k,section:e,show:v&&!I})]})}),jsx(BY,{onActivate:o,section:e,show:!v})]})]})}var p0=Yt(DY,Ko);Pt();Go();se();Gr();p();p();Go();Go();se();p();he();se();Mh();Sn();Jn();Cr();Hr();function KY(e,t){let o=document.getElementById(t),r=90;if(o){let i=o.getBoundingClientRect().top+e.current.scrollTop-r;e.current.scrollTo({top:i,behavior:"smooth"});}}function qY(e,t,o){let r=document.getElementById(`bespoke-${t}-${o}`),n=60;if(r){let a=r.getBoundingClientRect().top+e.current.scrollTop-n;e.current.scrollTo({top:a,behavior:"smooth"});}}function YY({section:e,onEnd:t}){let[o,r]=useState(e.settings?.name||`section-${e.id}`),n=a=>{[13,27].includes(a.keyCode)&&t(o);},i=useClickOutside(()=>t(o));return useEffect(()=>{setTimeout(()=>{i?.current&&i?.current?.focus();},200);},[i]),jsx(Input,{ref:i,bg:"gray.3",styles:{input:{display:"block",height:"100%",minHeight:"auto",lineHeight:"1rem",padding:0,boxSizing:"border-box"}},mih:"auto",type:"text",variant:"unstyled",value:o,onChange:a=>r(a.target.value),onKeyDown:n})}var XY=forwardRef(function({scrollContainer:t,section:o,isActive:r,...n},i){let a=H(R=>R?.records.entities.block),{settings:l,updateSettings:s}=Rr(o.id),c=useMantineTheme(),[u,d]=useState(false),[f,g]=useState(false),m=H(R=>{let O=o.blocks.map(A=>R.records.entities.block[A]).filter(A=>mo(A));return O.length>0?R.variables.variables[O[0].id]:false}),h=m?c.colors[m[Eo]===false?"red":"green"][3]:"",y=useCallback(R=>{s("name",R),g(false);},[s]),S=useRef(false);useEffect(()=>{d(!!r);},[r]);let v=useMemo(()=>l?.name?xt(l?.name):`section-${o.id}`,[o.id,l?.name]),C=useMemo(()=>l?.name||`section-${o.id}`,[o.id,l?.name]),b=R=>{R.detail===1&&(S.current=false,setTimeout(()=>{S.current||KY(t,v);},200)),R.detail===2&&(S.current=true,g(O=>!O));},k=r?c.colors.blue[5]:"black",w=o?.blocks.map(R=>a[R]).filter(R=>![E.GENERATOR,E.SECTION_FLAG].includes(R.type)).map(R=>{let O=Lh[R.type]||IconDice;return jsx(List.Item,{pl:"lg",sx:{border:"1px solid transparent","&:hover":{border:"1px solid blue",cursor:"default"}},icon:jsx(O,{size:"0.8rem"}),onClick:()=>qY(t,R.type,R.id),children:jsx(Text,{size:"sm",children:`${R.type} ${R.id}`})},R.id)});return jsxs(List.Item,{ref:i,w:"100%",...n,children:[jsxs(Group,{position:"apart",noWrap:true,px:"sm",bg:r?c.colors.gray[2]:"transparent",sx:R=>({cursor:"default",border:`1px solid ${r?R.colors.gray[2]:"transparent"}`,".section-icon":{color:k},":hover":{border:`1px solid ${R.colors.blue[5]}`}}),children:[jsxs(Group,{spacing:"xs",miw:0,onClick:b,noWrap:true,children:[jsx(IconBoxMultiple,{className:"section-icon",size:"0.8rem",style:{flexShrink:0}}),f?jsx(YY,{section:o,onEnd:y}):jsxs(Group,{spacing:4,align:"flex-end",children:[jsxs(Text,{size:"sm",fw:500,color:"gray.5",span:true,children:[o.id," -"]}),jsx(Text,{size:"sm",c:k,maw:220,sx:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"},span:true,children:C})]})]}),jsxs(Group,{spacing:"xs",children:[o.settings.hidden&&jsx(IconEyeOff,{size:"0.8rem",color:c.colors.red[3]}),m&&jsx(IconFlag,{size:"0.8rem",color:h,fill:h}),w.length&&jsx(IconChevronDown,{size:"0.8rem",style:{transform:`rotate(${u?-180:0}deg)`,flexShrink:0},onClick:()=>d(R=>!R)})]})]}),u&&w.length?jsx(List,{listStyleType:"none",children:w}):null]})}),f0=XY;function by({activeSection:e,scrollContainer:t}){let o=H(l=>l?.records.entities.section),r=ie(),n=Object.values(o).sort(po),i=n.map(l=>l?.id),a=useCallback(l=>{if(!l.destination||l.source.index===l.destination.index)return;let s=Number.parseInt(l.draggableId,10),c=l.destination.index>l.source.index,u=fn(o,i,l.destination.index,false,c),d=i.slice(),f=d.splice(l.source.index,1);d.splice(l.destination.index,0,...f),r(Z.updateEntity("section",{id:s,ordering:u}));},[r,o,i]);return jsxs(ScrollArea.Autosize,{mah:"80vh",pb:"sm",sx:{borderBottom:"1px solid rgba(0, 0, 0, 0.1)"},children:[jsx(Text,{fw:700,size:"sm",px:"sm",children:jsxs(Center,{inline:true,children:[jsx(IconIndentIncrease,{size:"1rem"}),jsx(Text,{ml:"xs",span:true,children:"Navigation"})]})}),jsx(DragDropContext,{onDragEnd:a,children:jsx(List,{styles:{itemWrapper:{width:"100%"}},mt:"sm",listStyleType:"none",children:jsx(Droppable,{droppableId:"sections",children:l=>jsx("div",{ref:l.innerRef,...l.droppableProps,children:n.map((s,c)=>jsx(Draggable,{draggableId:`${s?.id}`,index:c,children:u=>jsx(f0,{scrollContainer:t,ref:u.innerRef,section:s,isActive:s.id===e,...u.draggableProps,...u.dragHandleProps})},s?.id))})})})})]})}se();ys();p();se();Ho();he();Cr();var u4=e=>t=>Object.values(t.records.entities.block||{}).filter(o=>o.section_id===e&&E.GENERATOR===o.type);function yy({activeSection:e}){let t=H(u4(e)),o=ie(),r=()=>{let{locales:n}=Tr({type:E.GENERATOR});o(Z.createEntity("block",{blockrow:void 0,blockcol:void 0,type:E.GENERATOR,section_id:e,locales:n})).then(i=>{o(Z.updateEntity("block",{id:i.data.id,contentByLocale:{logic:{...i.data.contentByLocale.logic,content:{simpleEnabled:true,simple:{},logic:oS}}}}));});};return jsx(ScrollArea.Autosize,{mah:"80vh",w:"330px",sx:{borderBottom:"1px solid rgba(0, 0, 0, 0.1)"},children:jsxs(Stack,{pos:"relative",w:330,pr:"md",children:[jsxs(Group,{position:"apart",children:[jsx(Text,{fw:700,children:"Generators"}),jsx(ActionIcon,{c:"black",onClick:r,children:jsx(IconPlus,{})})]}),t.length?t.map(n=>jsx("div",{children:jsx(rl,{id:Number(n.id),active:!!e,isInput:false,isConsumer:false,setHoverBlock:()=>{},showOutline:false})},`block-${n.id}`)):jsx(Text,{align:"center",size:"sm",children:"Click '+' to add a generator"})]})})}ye();p();se();function C0({sectionId:e}){let[t,o]=useState(window.innerWidth-40),[r,n]=useState(window.innerHeight-150);useEffect(()=>{let m=()=>{o(window.innerWidth-40),n(window.innerHeight-120);};return window.addEventListener("resize",m),()=>{window.removeEventListener("resize",m);}},[]);let i=Gl(),a=Ji(),[l,s]=useState(`${e}`),c=useMemo(()=>a.isSuccess?a.data.map(h=>({value:`${h.id}`,label:h.settings.name?`${h.settings.name} (${h.id})`:`Section ${h.id}`})):[],[a.isLoading]),u=useMemo(()=>{if(i.isSuccess&&l){let m={id:"root",label:"section",size:40,parentIds:[]},h={id:"wide",label:"report",size:40,parentIds:[]},y=i.data.filter(v=>`${v.section_id}`==`${l}`),S=y.map(v=>v.id);return [m,h,...y.map(v=>{let C=v.consumers.length>0?v.consumers.length*20:40,b=v.inputs.length>0?v.inputs.map(k=>S.includes(k)?`${k}`:`${h.id}`):[`${m.id}`];return {id:`${v.id}`,label:`${v.type}`,size:C>50?50:C,parentIds:[...Array.from(new Set(b))]}})]}else return []},[i.isLoading,l]),d=useRef(null);return useEffect(()=>{let m=Xd.dagStratify()(u),h=40,y=Xd.sugiyama().nodeSize(F=>{let M=F?F.data:null,N=M?M.size:h;return [(F?3.6:.25)*N,3*N]}),{width:S,height:v}=y(m),C=br.select(d.current);C.selectAll("*").remove(),C.attr("viewBox",[0,0,S,v].join(" "));let b=C.append("defs"),k=m.size(),w=br.interpolateRainbow,R=new Map;u.forEach((F,M)=>{R.set(F.id,w(M/k));});let O=br.line().curve(br.curveCatmullRom).x(F=>F.x).y(F=>F.y);C.append("g").selectAll("g").data(m.links()).enter().append("g").append("path").attr("class","curve").attr("d",({points:F})=>O(F)).attr("fill","none").attr("stroke-width",3).attr("stroke",({source:F,target:M})=>{let N=encodeURIComponent(`${F.data.id}--${M.data.id}`),j=b.append("linearGradient").attr("id",N).attr("gradientUnits","userSpaceOnUse").attr("x1",F.x).attr("x2",M.x).attr("y1",F.y).attr("y2",M.y);return j.append("stop").attr("offset","0%").attr("stop-color",R.get(F.data.id)),j.append("stop").attr("offset","100%").attr("stop-color",R.get(M.data.id)),`url(#${N})`}),C.append("g").selectAll("g").data(m.descendants()).enter().append("g").attr("transform",({x:F,y:M})=>`translate(${F}, ${M})`).append("circle").attr("r",F=>F.data.size).attr("fill",F=>R.get(F.data.id));let _=C.append("g").selectAll("g").data(m.links()).enter().append("g"),P=br.symbol().type(br.symbolTriangle).size(h*1.5);_.append("path").attr("class","arrow").attr("d",P).attr("transform",F=>{let{points:M,target:N}=F,[j,$]=M.reverse(),V=$.x-j.x,z=$.y-j.y,q=N.data.size*1/Math.sqrt(V*V+z*z),W=Math.atan2(-z,-V)*180/Math.PI+90;return `translate(${j.x+V*q}, ${j.y+z*q}) rotate(${W})`}).attr("fill",({target:F})=>R.get(F.data.id)).attr("stroke","white");let I=C.append("g").selectAll("g").data(m.descendants()).enter().append("g").attr("transform",({x:F,y:M})=>`translate(${F}, ${M})`);I.append("text").text(F=>F.data.id).attr("font-weight","bold").attr("font-family","sans-serif").attr("text-anchor","middle").attr("font-size","10px").style("transform","translate(0px,10px)").attr("alignment-baseline","middle").attr("fill","black"),I.append("text").text(F=>F.data.label).attr("font-weight","bold").attr("font-family","sans-serif").attr("font-size","15px").style("transform","translate(0px,-5px)").attr("text-anchor","middle").attr("alignment-baseline","middle").attr("fill","black");},[u]),jsxs(Stack,{spacing:0,children:[jsxs(Group,{align:"flex-end",w:"100%",position:"apart",children:[jsx(Select,{label:"Choose a section",placeholder:"Pick one",value:l,onChange:s,data:c,width:"80%"}),jsxs(Group,{grow:true,maw:100,children:[jsx(ActionIcon,{onClick:()=>{let m=c.findIndex(h=>h.value===l);m>0&&s(c[m-1].value);},variant:"outline",children:jsx(IconChevronLeft,{size:"1.125rem"})}),jsx(ActionIcon,{onClick:()=>{let m=c.findIndex(h=>h.value===l);m<c.length-1&&s(c[m+1].value);},variant:"outline",children:jsx(IconChevronRight,{size:"1.125rem"})})]})]}),jsx("svg",{ref:d,width:t,height:r})]})}function k0({name:e,id:t,variables:o}){return jsxs(Flex,{gap:"xs",children:[jsx(ThemeIcon,{bg:"blue.5",color:"white",size:"sm",radius:"xl",sx:{flexGrow:0},children:jsx(IconCodeDots,{size:"0.8rem"})}),jsxs(Stack,{sx:{flexGrow:1},children:[jsx(Text,{size:"sm",children:e}),jsx(Ar,{id:t,variables:o})]})]})}function A4({sectionId:e}){let[t,o]=useDisclosure(false);return jsxs(Fragment,{children:[jsx(Button,{onClick:o.open,variant:"outline",radius:2,leftIcon:jsx(IconBinaryTree,{}),children:"Section Graph"}),jsx(Modal,{opened:t,onClose:o.close,title:"Block Graph",fullScreen:true,children:jsx(C0,{sectionId:e})})]})}function P4({activeSection:e}){let t=H(i=>i.records.entities.block),o=H(i=>i.variables.attributes),r=H(i=>i.variables.variables),n=Object.values(t).filter(i=>(i.section_id===e||i.shared)&&Object.keys(r[i.id]||{}).length);return jsxs(Box,{px:"sm",w:"100%",children:[jsx(Text,{fw:700,size:"sm",children:jsxs(Center,{inline:true,children:[jsx(IconCodeDots,{size:"1rem"}),jsx(Text,{ml:"xs",span:true,children:"Variables"})]})}),jsx(ScrollArea.Autosize,{mah:"40vh",mx:"sm",w:"240px",children:jsxs(Stack,{mt:"sm",children:[jsx(k0,{name:"Report Variables",id:"attributes",variables:o}),n.map(i=>jsx(k0,{id:i.id,name:`${i.type} ${i.id}`,variables:r[i.id]},i.id))]})})]})}function O4(){return jsx(Title,{children:"Formatters"})}var L4={section:[{label:"Navigation",value:"navigation"},{label:"Generators",value:"generators"}]};function ky({scrollContainer:e}){let{opened:t,handlers:o}=Ft("tools"),{toggle:r}=o,[n,i]=useState("navigation"),{activeEntity:a}=qt(),l=u=>i(u),s=a.type==="section"?a.id:null,c=t&&jsxs(Fragment,{children:[s&&jsx(SegmentedControl,{sx:{flexShrink:0},data:L4.section,value:n,onChange:l}),jsxs(Stack,{sx:{flexGrow:1},spacing:"sm",mt:32,children:[(n==="navigation"||!s)&&jsx(by,{activeSection:s,scrollContainer:e}),n==="generators"&&s&&jsx(yy,{activeSection:s}),n==="variables"&&jsx(P4,{activeSection:s}),n==="formatters"&&jsx(O4,{})]})]});return jsxs(Flex,{direction:"column",justify:t?"space-between":"flex-end",bg:"white",pb:30,pt:"sm",px:"xs",mah:"100vh",w:t?"350px":"50px",sx:u=>({overflow:"hidden",borderRight:`1px solid ${u.colors.gray[2]}`,flexShrink:0,flexGrow:0}),children:[c,jsxs(Flex,{justify:t?"space-between":"center",px:"sm",children:[a.type==="section"&&t&&jsx(A4,{sectionId:s}),jsx(UnstyledButton,{onClick:r,sx:{transform:`rotate(${t?0:180}deg)`},children:jsx(IconChevronLeft,{size:24})})]})]})}p();p();se();$p();Sn();ye();Jn();he();Ho();Cr();Pt();ye();st();function z4({activeSection:e}){let{settings:t,updateSettings:o}=Rr(e),r=t.name||`section-${e}`,[n,i]=useState(r),[a,l]=useState(false);return jsx(TextInput,{label:"Section Name",description:"Section name. Only for organization purposes. Won't be displayed on the final report.",value:a?n:r,onChange:s=>i(s.target.value),onFocusCapture:()=>{i(r),l(true);},onBlurCapture:()=>{o("name",n),l(false);},withAsterisk:true,radius:2})}function F4({activeSection:e}){let{settings:t,updateSettings:o}=Rr(e),r=t.tags,n=H(s=>e&&s.records.entities.section[e]),i=H(s=>e&&n?Object.values(s.records.entities.section).filter(c=>c&&c.report_id===n.report_id):[]),a=useMemo(()=>{let s=new Set;return i.forEach(c=>{let u=c?.settings?.tags;u&&(Array.isArray(u)?u.forEach(d=>d&&s.add(d)):typeof u=="string"&&u.split(/\s+/).forEach(d=>d&&s.add(d)));}),Array.from(s).sort()},[i]),l=useMemo(()=>r?Array.isArray(r)?r:typeof r=="string"?r.split(/\s+/).filter(Boolean):[]:[],[r]);return jsx(MultiSelect,{label:"Section Tags",description:"Section tags. They will be appended to the dom element as data attributes.",placeholder:"Select or create tags",data:a,value:l,onChange:s=>o("tags",s),radius:2,searchable:true,creatable:true,getCreateLabel:s=>`+ Create ${s}`})}function Ey(){let{activeEntity:e}=qt(),t=e.id,o=H(k=>t&&k.records.entities.section[t]),r=H(k=>t&&o&&k.records.entities.report[o.report_id]),n=H(k=>{if(t&&o){let w=o.blocks.map(R=>k.records.entities.block[R]).filter(R=>mo(R));return w.length>1&&console.error(`Error, there is more than one section flag generator in section ${e.id}`),w.length>0?w[0]:false}return false}),i=ie(),a=useContext(De),l=At(a),s=ri(),c=k=>{k==="always"&&n?u(n.id):k==="section-flag"&&d();},u=k=>{i(Z.deleteEntity("block",k)).then(()=>{l(),console.info(`Flag generator with ID ${k} deleted.`);});},d=()=>{let{locales:k}=Tr({type:E.SECTION_FLAG});i(Z.createEntity("block",{blockrow:void 0,blockcol:void 0,type:E.SECTION_FLAG,section_id:t,locales:k})).then(w=>{i(Z.updateEntity("block",{id:w.data.id,contentByLocale:{logic:{...w.data.contentByLocale.logic,content:{simpleEnabled:true,simple:{},logic:`return {
|
|
79
|
-
${
|
|
80
|
-
}`}}}})).then(()=>{l();});});},f=r?.settings||{},{settings:g,updateSettings:m}=Rr(t),h=useMemo(()=>[{key:"optionData",label:"Download data (csv, xls, json)"},{key:"optionImage",label:"Save Image"},{key:"optionShare",label:"Share link"}],[]),y=useMemo(()=>h.map(k=>jsxs(List.Item,{children:[k.label,"."]},`item-${k.key}`)),[h]);if(e.type!=="section"||!e.id)return null;let S=useMemo(()=>[{value:"always",label:"Always"},{value:"section-flag",label:"Use Section Flag"}],[]),v=useMemo(()=>[{value:"always",label:"Always"},{value:"never",label:"Never"},{value:"optional",label:"Optional"}],[]),C=n?"section-flag":"always";if(e.type!=="section"||!e.id)return null;let b=g.showInPdf||"optional";return jsxs("div",{children:[jsx(z4,{activeSection:t}),jsx(F4,{activeSection:t}),jsx(Divider,{my:"sm"}),jsxs(Stack,{mt:"sm",children:[jsxs(Stack,{spacing:"0.4rem",children:[jsx(Do,{target:jsx(Switch,{radius:"sm",label:"Show export menu.",checked:g.optionsMenu,onChange:k=>m("optionsMenu",k.currentTarget.checked)}),dropdown:jsxs(Box,{children:[jsx(Text,{size:"sm",fw:700,children:"Export Menu"}),jsx(Text,{size:"sm",children:"The Export Menu will allow users to:"}),jsx(List,{withPadding:true,size:"sm",children:y})]})}),g.optionsMenu&&jsx(Stack,{spacing:"0.5rem",pl:"md",children:h.map(k=>jsx(Switch,{radius:"sm",label:k.label,checked:typeof g[k.key]>"u"?g.optionsMenu:g[k.key],onChange:w=>m(k.key,w.currentTarget.checked)},k.key))})]}),jsx(Do,{target:jsx(Switch,{radius:"sm",label:"Show anchor link.",checked:g.showAnchor,onChange:k=>m("showAnchor",k.currentTarget.checked)}),dropdown:jsx(Text,{size:"sm",maw:200,children:"Show `#` link on top left corner of the section"})}),jsx(Do,{target:jsx(Switch,{radius:"sm",label:"Show section.",checked:!g.hidden,onChange:k=>m("hidden",!k.currentTarget.checked)}),dropdown:jsx(Text,{size:"sm",maw:200,children:"Softly hide or show the section on the rendered report (Still running the queries)"})}),jsx(Do,{target:jsx(Select,{label:"Show in PDF",value:b,data:v,disabled:!s,onChange:k=>m("showInPdf",k)}),dropdown:jsx(Text,{size:"sm",maw:200,children:s?"Hide or show the section in the pdf report.":"PDF API URL is not set."})}),jsx(Do,{target:jsx(Select,{label:"Allow section",placeholder:"Select an option",description:n?`Controlled by Section Flag #${n.id}`:"Section always visible",value:C,data:S,onChange:c}),dropdown:jsx(Text,{size:"sm",maw:200,children:"You can control section visibility (allow) creating a Section Flag Block"})}),n&&jsx(Stack,{spacing:"xs",children:jsx(rl,{id:Number(n.id),active:!!t,isInput:false,isConsumer:false,setHoverBlock:()=>{},showOutline:false})}),f.comparison&&jsx(Accordion,{children:jsxs(Accordion.Item,{value:"compare",children:[jsx(Accordion.Control,{children:"Compare Settings"}),jsx(Accordion.Panel,{children:jsxs(Stack,{children:[jsx(Switch,{radius:"sm",label:"Hide on comparison.",checked:g.comparisonHide,onChange:k=>m("comparisonHide",k.currentTarget.checked)}),jsx(Switch,{radius:"sm",label:"Show once in comparison",checked:g.comparisonMerge,onChange:k=>m("comparisonMerge",k.currentTarget.checked)})]})})]})})]})]},`settings-${t}`)}p();p();function wy(e){let{label:t,labelProps:o,...r}=e;return jsxs(Stack,{spacing:"md",children:[jsx(Text,{...o,children:t}),jsx(SegmentedControl,{...r})]})}$p();Cc();Sn();ye();function Iy(){let{activeEntity:e}=qt(),t=e.id,{settings:o,updateSettings:r}=Rr(t);return e.type!=="section"||!e.id?null:jsxs(Fragment,{children:[jsxs(Stack,{spacing:"md",children:[jsx(Text,{children:"Image"}),jsx(Do,{target:jsx(Switch,{radius:"sm",label:"Show image background",checked:o.memberImageBg,onChange:n=>r("memberImageBg",n.currentTarget.checked)}),dropdown:jsxs(Box,{maw:300,children:[jsx(Text,{size:"sm",fw:700,children:"Image Background"}),jsxs(Text,{size:"sm",children:["Set up a background image for every profile on the",jsx(Anchor,{href:"/cms/metadata",color:"blue",fw:700,children:" Metadata "}),"tab."]})]})})]}),Object.keys(ha).map(n=>jsx(wy,{label:ha[n].label,data:ha[n].options,value:String(o[n]||ha[n].defaultValue),onChange:i=>r(n,i)},n))]})}ye();ah();var L0={report:[{label:"Settings",value:"settings",component:jsx(ih,{})}],section:[{label:"Style",value:"style",component:jsx(Iy,{})},{label:"Settings",value:"settings",component:jsx(Ey,{})}],block:[{label:"Content",value:"content",component:null},{label:"Style",value:"style",component:null},{label:"Settings",value:"settings",component:null}]};function Ay(){let{opened:e,handlers:t}=Ft("settings"),[o,r]=useState("settings"),n=s=>r(s),{activeEntity:i}=qt();if(!i.type)return null;let a=L0[i.type].find(s=>s.value===o)?.component||null,l=e&&jsx(Fragment,{children:jsxs("div",{children:[i.type==="report"?jsx(Text,{children:"Report Settings"}):jsx(SegmentedControl,{value:o,data:L0[i.type],onChange:n,fullWidth:true}),jsx(Stack,{sx:{flexGrow:1},spacing:"sm",mt:32,children:a})]})});return jsxs(Flex,{direction:"column",justify:e?"space-between":"flex-end",bg:"white",pt:"sm",pb:30,p:"sm",w:e?"350px !important":"50px",sx:s=>({overflow:"hidden",borderLeft:`1px solid ${s.colors.gray[2]}`,flexShrink:0,flexGrow:0}),children:[l,jsx(Flex,{justify:e?"flex-start":"center",children:jsx(UnstyledButton,{onClick:t.toggle,sx:{transform:`rotate(${e?0:180}deg)`},children:jsx(IconChevronRight,{size:24})})})]})}ye();p();p();se();he();Jn();Cr();Pt();ye();Bs();function a6({for:e,setSectionTotals:t}){let o=H(v=>v.variables.status),r=H(v=>v.variables.variables),n=Gl(e.blocks),i=useMemo(()=>{if(n.isSuccess){let v=new Map(e.blocks.map((C,b)=>[C,b]));return n.data.slice().filter(C=>[E.GENERATOR,E.SECTION_FLAG].includes(C.type)).sort((C,b)=>{if(C.type===E.SECTION_FLAG&&b.type!==E.SECTION_FLAG)return -1;if(b.type===E.SECTION_FLAG&&C.type!==E.SECTION_FLAG)return 1;let k=v.get(C.id)??Number.MAX_VALUE,w=v.get(b.id)??Number.MAX_VALUE;return k-w})}else return []},[n.isLoading,n.isSuccess,e.blocks]);if(i.length===0)return null;let{hidden:a}=e.settings,l=useContext(De),s=At(l),u=H(v=>v.status.isRunConsumersRunning).includes(e.id),d=H(v=>v.status.previews);useEffect(()=>{s({sid:e.id});},[e.id,d]);let f=useMemo(()=>{let v=i.filter(C=>C.section_id===e.id&&mo(C));return v.length>1&&console.error(`Error, there are more than one Section Flag Generator in section ${e.id}`),v.length>0?v[0]:false},[n,e.id]),g=H(v=>f&&v.variables.variables[f.id]&&!v.variables.variables[f.id][Eo]||false),m=useMemo(()=>{let v="";return g&&f&&(v+=`(Not allowed by Section Flag #${f.id})`),a&&(v+="(Hidden by Section Settings)"),v},[a,g]),h=useMemo(()=>[{accessorKey:"status",header:"",Cell:({cell:v})=>g&&v.row.original.type!==E.SECTION_FLAG?jsx(IconCircleX,{size:"1rem"}):jsx(Fragment,{children:v.getValue()?jsx(Loader,{size:"1rem",color:"blue"}):jsx(IconCircleCheckFilled,{color:"green",size:"1rem"})}),enableSorting:false,size:50,minSize:50,maxSize:50},{accessorKey:"order",header:"Order",size:50,minSize:50,maxSize:50},{accessorKey:"id",header:"ID",size:50,minSize:50,maxSize:50},{accessorKey:"type",header:"Type",size:100,minSize:100,maxSize:100,Cell:({cell:v})=>{let C=Oc(v.getValue());return jsxs(Group,{spacing:0,noWrap:true,children:[jsx(C,{size:16}),jsx(Text,{size:"xs",ml:"xs",children:Lc(v.getValue())})]})}},{accessorKey:"duration",header:"Duration",size:100,minSize:100,maxSize:100,Cell:({cell:v})=>`${v.getValue().toFixed(3)}s`},{accessorKey:"sizeApi",header:"API Size",size:100,minSize:100,maxSize:100,Cell:({cell:v})=>v.getValue()?`\u2248${v.getValue().toFixed(2)} Kb`:""},{accessorKey:"sizeBlock",header:"Block Size",size:100,minSize:100,maxSize:100,Cell:({cell:v})=>`\u2248${v.getValue().toFixed(2)} Kb`},{accessorKey:"data",header:"",enableSorting:false,Cell:({cell:v})=>{let C=v.getValue();return jsx(Yp,{block:C.block,status:C.blockStatus,variables:C.blockVariables})}}],[]),y=useMemo(()=>i.map((v,C)=>{let b=!!v.contentByLocale?.logic?.content?.api,k=o[v.id]||{},w=r[v.id]||{},R=k.duration?k.duration/1e3:0,A=(k.api&&k.api!==""?k.api.split("|||"):[]).map((B,_)=>({original:B,swapped:k.apiFinalUrls[_]}));return {order:C+1,id:v.id,type:v.type,duration:R,status:b&&!Object.keys(w).length&&!k.error,sizeBlock:JSON.stringify(w).length/1024,sizeApi:k.responseSize,requests:A,data:{block:v,blockStatus:k,blockVariables:w}}}),[i,o,r]),S=useMemo(()=>{let v={requests:0,blocks:0,totalDuration:0,maxDuration:0,avgDuration:0,avgSizeBlock:0,totalSizeBlock:0,avgSizeApi:0,totalSizeApi:0},C=y.filter(b=>g?b.type===E.SECTION_FLAG:true);return v.requests=C.reduce((b,k)=>b+k.requests.length,0),v.blocks=C.length,C.forEach(b=>{b.duration>v.maxDuration&&(v.maxDuration=b.duration),v.totalDuration+=b.duration,v.totalSizeBlock+=b.sizeBlock||0,v.totalSizeApi+=b.sizeApi||0;}),y.length>0&&(v.avgDuration=v.requests>0?v.totalDuration/v.requests:0,v.avgSizeBlock=v.blocks>0?v.totalSizeBlock/v.blocks:0,v.avgSizeApi=v.requests>0?v.totalSizeApi/v.requests:0),v},[y]);return useEffect(()=>{u||t(e.id,S);},[u]),jsxs(Stack,{px:"md",mt:"md",spacing:0,children:[jsxs(Group,{children:[u&&jsx(Loader,{size:"xs",color:"blue"}),!u&&jsx(IconCircleCheckFilled,{color:"green",size:"1rem"}),jsxs(Title,{order:4,children:["Section #",e.id," ",e.settings?.name," ",m]})]}),jsxs(Stack,{spacing:0,mb:"xs",ml:"2rem",children:[jsxs(Group,{spacing:"md",children:[jsxs(Text,{size:"sm",children:["Requests: ",S.requests]}),jsxs(Text,{size:"sm",children:["Total Size: ",S.totalSizeApi.toFixed(2)," Kb"]}),jsxs(Text,{size:"sm",children:["Avg Size: ",S.avgSizeApi.toFixed(2)," Kb"]}),jsxs(Text,{size:"sm",children:["Total Duration: ",S.totalDuration.toFixed(3),"s"]}),jsxs(Text,{size:"sm",children:["Max Duration: ",S.maxDuration.toFixed(3),"s"]}),jsxs(Text,{size:"sm",children:["Avg Duration: ",S.avgDuration.toFixed(3),"s"]})]}),jsxs(Group,{spacing:"md",children:[jsxs(Text,{size:"sm",children:["Blocks: ",S.blocks]}),jsxs(Text,{size:"sm",children:["Total Size: ",S.totalSizeBlock.toFixed(2)," Kb"]}),jsxs(Text,{size:"sm",children:["Avg Size: ",S.avgSizeBlock.toFixed(2)," Kb"]})]})]}),jsx(MantineReactTable,{columns:h,data:y,enablePagination:true,mantinePaginationProps:{showRowsPerPage:false,rowsPerPageOptions:["5","10"],disabled:u},enableBottomToolbar:true,enableColumnActions:false,enableColumnResizing:false,enableEditing:false,enableFullScreenToggle:false,enableGlobalFilter:false,enableRowActions:false,enableRowSelection:false,enableStickyHeader:false,enableStickyFooter:false,enableTopToolbar:false,initialState:{sorting:[{id:"order",desc:false}]},renderDetailPanel:({row:v})=>{let C=v.original.requests;return C.length===0?jsx(Text,{size:"xs",children:"No requests."}):jsx(Stack,{spacing:0,children:C.map((b,k)=>jsxs(Group,{spacing:0,noWrap:true,children:[jsxs(Text,{children:[k+1,"."]}),jsx(Text,{size:"xs",children:jsx("a",{href:b.swapped,target:"_blank",rel:"noopener noreferrer",children:b.original})})]},k))})},positionExpandColumn:"last"})]})}var N0=Yt(a6,Ko);se();function F0(e){let{report:t}=e,o=H(s=>s.status.isRunConsumersRunning.length>0),r=H(s=>s.status.previews),[n,i]=useState({}),a=(s,c)=>{i({...n,[s]:c});},l=useMemo(()=>{let s={requests:0,blocks:0,totalDuration:0,maxDuration:0,avgDuration:0,avgSizeBlock:0,totalSizeBlock:0,avgSizeApi:0,totalSizeApi:0};return Object.values(n).forEach(c=>{s.requests+=c.requests||0,s.blocks+=c.blocks||0,s.totalDuration+=c.totalDuration||0,s.maxDuration=Math.max(s.maxDuration,c.maxDuration||0),s.totalSizeBlock+=c.totalSizeBlock||0,s.totalSizeApi+=c.totalSizeApi||0;}),s.avgDuration=s.requests>0?s.totalDuration/s.requests:0,s.avgSizeBlock=s.blocks>0?s.totalSizeBlock/s.blocks:0,s.avgSizeApi=s.requests>0?s.totalSizeApi/s.requests:0,s},[n]);return jsxs(Box,{children:[jsxs(Stack,{pos:"fixed",bg:o?"#fab005":"#e7f5ff",px:"md",py:"xs",w:"100%",style:{zIndex:20},spacing:0,children:[jsxs(Group,{children:[o&&jsx(Loader,{size:"xs",color:"blue"}),!o&&jsx(IconCircleCheckFilled,{color:"green",size:"1rem"}),jsxs(Title,{order:3,children:[o?"Generating Debug Report. Please wait...":"Debug Report",":"]}),jsx(Title,{order:3,variant:"dimmed",children:r.map(s=>`${s.variant_slug}/${s.slug}`).join("/")})]}),jsxs(Stack,{spacing:0,ml:"2rem",children:[jsxs(Group,{spacing:"md",children:[jsxs(Text,{size:"sm",children:["Requests: ",l.requests]}),jsxs(Text,{size:"sm",children:["Total Size: ",l.totalSizeApi.toFixed(2)," Kb"]}),jsxs(Text,{size:"sm",children:["Avg Size: ",l.avgSizeApi.toFixed(2)," Kb"]}),jsxs(Text,{size:"sm",children:["Total Duration: ",l.totalDuration.toFixed(3),"s"]}),jsxs(Text,{size:"sm",children:["Max Duration: ",l.maxDuration.toFixed(3),"s"]}),jsxs(Text,{size:"sm",children:["Avg Duration: ",l.avgDuration.toFixed(3),"s"]})]}),jsxs(Group,{spacing:"md",children:[jsxs(Text,{size:"sm",children:["Blocks: ",l.blocks]}),jsxs(Text,{size:"sm",children:["Total Size: ",l.totalSizeBlock.toFixed(2)," Kb"]}),jsxs(Text,{size:"sm",children:["Avg Size: ",l.avgSizeBlock.toFixed(2)," Kb"]})]})]})]}),jsx(Stack,{mt:"5.5rem",children:t.sections.map(s=>jsx(N0,{id:s,setSectionTotals:a},s))})]})}function H0(e){let{id:t}=e,o=zt(t);return useMemo(()=>o.isError?jsx(Center,{style:{height:300},children:jsx(Alert,{icon:jsx(IconCircleX,{size:20}),title:`Error ${o.error.code}`,color:"red",children:o.error.message})}):o.isUninitialized||!o.data?jsx(Loader,{}):jsx(R6,{report:o.data,locale:e.locale,isLoading:false}),[o.status,o.data?.sections])}function R6(e){let{report:t,isLoading:o}=e,r=useMantineTheme(),n=ie(),i=useContext(De),a=At(i),{newConfirmation:l}=Kt(),s=H(R=>R.status.previews),c=H(JS),{activeEntity:u,selectEntity:d}=qt(),f=Ft("tools"),g=Ft("settings"),m=Ft("debugView"),h=useMemo(()=>t.sections,[t.sections]),y=useRef(null),S=useCallback(R=>{let O=()=>{d({type:"section",id:R}),a({sid:R});};s.length<t.dimensions.length?l({title:"You haven't chosen a member!",message:"You may want to choose a member before editing this section.",cancelText:"OK, I'll choose one.",confirmText:"Don't tell me what to do!"}).then(O,()=>{}):O();},[t.dimensions,s]),v=useCallback(R=>{if(!R.destination||R.source.index===R.destination.index)return;let O=Number.parseInt(R.draggableId,10),A=R.destination.index>R.source.index,B=fn(c,h,R.destination.index,false,A),_=h.slice(),P=_.splice(R.source.index,1);_.splice(R.destination.index,0,...P),n(Z.updateEntity("section",{id:O,ordering:B})).then(()=>{n(Z.readEntity("report",{id:t.id,include:true}));});},[c,h]),C=useCallback(R=>jsxs("div",{ref:R.innerRef,className:"cms-droppable-container",...R.droppableProps,children:[h.map((O,A)=>jsx(Draggable,{draggableId:`${O}`,index:A,children:(B,_)=>jsxs("div",{className:`cms-section-container${_.isDragging?" isDragging":""}`,ref:B.innerRef,...B.draggableProps,style:{...B.draggableProps.style,boxShadow:_.isDragging?r.shadows.sm:void 0},children:[jsx(p0,{id:O,isDragging:_.isDragging,onActivate:S,dragHandleProps:B.dragHandleProps,position:A}),jsx(Center,{className:"cms-section-controls",m:"md",children:jsx($0,{index:A+1,report:t})})]},`section-${O}`)},O)),R.placeholder]}),[h,u.id,S]),k=!!u.id?50:0,w=50+(f.opened?350:50)+(g.opened?350:k);return jsxs(Box,{children:[jsx(iT,{report:t}),jsxs(Flex,{children:[!m.opened&&jsx(ky,{scrollContainer:y}),jsx(Box,{sx:{flexGrow:1},pos:"relative",children:jsx(ScrollArea,{w:`calc(100vw - ${w}px)`,viewportRef:y,h:"calc(100vh - 50px)",styles:{scrollbar:{zIndex:9999}},offsetScrollbars:true,children:jsxs(Stack,{styles:{backgroundColor:r.colors.gray[2]},spacing:0,children:[m.opened&&jsx(F0,{report:t}),!m.opened&&jsxs(Fragment,{children:[jsx(LoadingOverlay,{visible:o}),t.sections.length===0&&jsx(Center,{className:"cms-section-controls",my:"md",children:jsx($0,{index:0,report:t})}),jsx(DragDropContext,{onDragEnd:v,children:jsx(Droppable,{droppableId:"sections",children:C})})]})]})})}),u.type&&jsx(Ay,{})]})]})}function $0({index:e,report:t}){let o=useMantineTheme(),r=ie(),n=H(a=>a.records.entities.section),i=useCallback(()=>{r(Z.createEntity("section",{report_id:t.id,ordering:fn(n,t.sections,e,true)}));},[e]);return jsx(ActionIcon,{onClick:i,size:"lg",radius:"xl",variant:"light",bg:"#E5E5E5 !important",style:{boxShadow:o.shadows.xs},children:jsx(IconPlus,{size:24,color:"white",strokeWidth:1})})}p();p();se();he();var K0={value:"all",label:"All"},N6=e=>{if(!e)return [];let t=Object.keys(e).map(o=>({value:String(o),label:String(e[o])}));return [K0,...t]};function q0({onChange:e,loading:t,onEditCreation:o}){let r=ie(),[n,i]=useState(""),[a,l]=useState(false),[s]=useDebouncedValue(n,500),c={type:K0.value},[u,d]=useState(c),f=()=>{i(""),d(c);},g=useMemo(()=>({type:N6(ja)}),[]);useEffect(()=>{e({...u,query:s});},[u.type,s]);let m=()=>{l(true);let y=Math.random().toString(16).substring(2,10);r(Z.createEntity("formatter",{name:`formatter_${y}`,content:{type:"formatter",logic:"return n;",inputType:"string",testValue:"123456",description:"New formatter"}})).then(S=>{l(false),f(),S.ok&&o(S.data.id);});},h=useCallback((y,S)=>{let v={...u,[y]:S};d(v);},[u]);return jsxs("div",{children:[jsx(TextInput,{label:"Search by name or description",value:n,onChange:y=>i(y.currentTarget.value),disabled:t}),jsx(Select,{label:"Type",data:g.type,value:u.type,onChange:y=>h("type",y),disabled:t}),jsx(Space,{h:"md"}),jsx(Button,{fullWidth:true,disabled:t,leftIcon:jsx(IconCircleX,{}),onClick:f,children:"Clear filters"}),jsx(Space,{h:"md"}),jsx(Button,{fullWidth:true,disabled:t,leftIcon:jsx(IconPlus,{}),onClick:m,variant:"light",loading:a,children:"New formatter"})]})}p();se();he();Ga();ye();var oA=e=>e?Object.keys(e).map(t=>({value:String(t),label:String(e[t])})):[],H6=(e,t)=>{switch(e){case hn.OBJECT:return JSON.parse(t);default:return `${t}`}};function nA({formatterId:e,onEditEnd:t}){let o=H(I=>I.status.localeDefault),r=!!e,[n,i]=useState(),[a,l]=useState(""),[s,c]=useState([]),[u,d]=useState(true),[f,g]=useState(false),[m,h]=useState(true),[y,S]=useState(true),[v]=useState(false),C=ie(),b=cf(e),k=Qi(),w=US(b.data?.name),R=u||f;useEffect(()=>{b.isLoading||i(b.data);},[b.isLoading]),useEffect(()=>{if(!b.isLoading&&!k.isLoading){let I=b.isSuccess?b.data:void 0,F=k.isSuccess?k.data:[];if(I){let M=F.filter(N=>N.id!==I.id).map(N=>N.name);c(M);}_(),d(false);}},[b.isLoading,k.isLoading]);let O=n&&!s.includes(n.name)&&n.name!=="",A=I=>{O&&S(false),n&&i({...n,name:op(I).replace("-","")});},B=(I,F)=>{I!=="description"&&h(true),n&&i({...n,content:{...n.content,[I]:F}});},_=()=>{if(n){let I="";try{let F=$a({vars:["n"],logic:n.content.logic},{},o,{}),M=H6(n.content.inputType,n.content.testValue);I=F(M),S(!0);}catch(F){I=`ERROR: ${F.message}`,console.error(F),S(false);}h(false),l(`${I}`);}},P=()=>{g(true),y&&O&&C(Z.updateEntity("formatter",n)).then(t);};return jsx(Drawer,{opened:r,onClose:()=>t(),title:`Edit formatter ID ${e}`,padding:"lg",closeOnClickOutside:false,closeOnEscape:false,position:"right",size:"50%",lockScroll:true,withCloseButton:false,children:jsx(Ao,{content:jsxs(Fragment,{children:[jsx(LoadingOverlay,{visible:u,overlayBlur:2,overlayOpacity:.5}),v&&jsx(Alert,{title:"Formatter Form",color:"red",children:"Error, please try again."}),n&&!v&&jsxs(Stack,{justify:"space-between",children:[jsxs(Group,{grow:true,align:"flex-start",children:[jsx(TextInput,{label:`Name ${O&&w>0?`(Read only, used in ${w} blocks)`:""}`,value:n.name,icon:O?jsx(IconCircleCheck,{}):jsx(IconAlertCircle,{}),readOnly:O&&w>0,disabled:O&&w>0,onChange:I=>A(I.target.value),error:O?false:"Duplicate or empty name, choose a different one."}),jsx(Select,{label:"Type",data:oA(ja),value:n.content.type,onChange:I=>B("type",I)})]}),jsx(Textarea,{label:"Description",value:n.content.description,onChange:I=>B("description",I.target.value)}),jsx(ca,{monacoOptions:{onChange:I=>B("logic",I),height:"30vh",value:n.content.logic}},"formatter-code-editor"),jsxs(Group,{grow:true,align:"flex-end",children:[jsx(Select,{label:"Input Type",data:oA(wu),value:n.content.inputType,onChange:I=>B("inputType",I)}),jsx(TextInput,{label:"Test Value",value:n.content.testValue,onChange:I=>B("testValue",I.target.value),error:n.content.testValue===""&&!y})]}),jsx(Textarea,{readOnly:true,icon:y?jsx(IconCircleCheck,{}):jsx(IconAlertCircle,{}),label:"Test Results",value:a,error:a.includes("ERROR")&&!y?"There is a problem in the function, input type or test value. Please check and run again.":false})]})]}),buttons:jsxs(Fragment,{children:[jsx(Button,{variant:"outline",disabled:R,onClick:()=>t(),children:"Cancel"}),jsx(Button,{onClick:_,disabled:!m,color:m?"blue":y?"green":"red",leftIcon:jsx(IconPlayerPlay,{}),children:"Run Test"}),jsx(Button,{onClick:P,loading:R,disabled:R||!y||m||!O,children:"Save"})]}),size:165})})}p();se();ye();he();var eX=(e,t)=>{switch(e){case hn.OBJECT:return JSON.parse(t);default:return `${t}`}};function sA({filters:e,onClickEdit:t}){let[o,r]=useState([]),n=Qi(),i=n.isSuccess?n.data:[],a=Io(),l=GS(),s=useMemo(()=>i.map(d=>{let f=l[d.name]?l[d.name]:0,g="";try{let m=eX(d.content.inputType,d.content.testValue);g=a[d.name](m);}catch(m){g=`ERROR: ${m.message}`,console.error(`Error in ${d.name}`),console.error(m);}return {...d,result:g,usageCount:f}}),[i]),c=()=>{let d=s.filter(f=>{let g=true,m=true;return e.query&&(g=f.name.toLowerCase().indexOf(e.query.toLowerCase())>-1||f.content.description.indexOf(e.query)>-1),e.type!=="all"&&(m=f.content.type===e.type),g&&m});r(d);};return useEffect(()=>{c();},[e,s]),jsx(MantineReactTable,{columns:[{header:"ID",accessorKey:"id",minSize:55,size:55,maxSize:55},{header:"Name",accessorKey:"name",Cell:({row:d})=>{let f=d.original.content.type===ku.FORMATTER?jsx(IconVariable,{size:"1.3em"}):jsx(IconMathFunction,{size:"1.3em"});return jsxs(Group,{noWrap:true,align:"center",spacing:2,children:[jsx("span",{children:d.original.name}),jsx(Tooltip,{label:ja[d.original.content.type],children:jsx("span",{children:f})})]})},minSize:80,size:80},{header:"Description",accessorKey:"content.description",enableSorting:false,mantineTableBodyCellProps:{sx:{textWrap:"wrap"}},minSize:100},{header:"Demo",accessorKey:"content.testValue",Cell:({row:d})=>{let f=d.original.content.testValue;d.original.content.inputType===hn.STRING&&(f=`"${f}"`);let g=d.original.result;return typeof d.original.result=="string"&&(g=`"${g}"`),jsxs(Group,{spacing:2,children:[jsx(Tooltip,{label:`Input Type: ${wu[d.original.content.inputType]}`,children:jsx(Code,{color:"blue",children:f})}),jsx(IconArrowRightCircle,{}),jsx(Code,{color:d.original.result&&`${d.original.result}`.includes("ERROR")?"red":"teal",children:g})]})},enableSorting:false,minSize:100,size:100},{header:"Usage",accessorKey:"usageCount",mantineTableHeadCellProps:{align:"right",sx:{"& .mantine-TableHeadCell-Content-Labels":{flexDirection:"row"}}},mantineTableBodyCellProps:{align:"right"},minSize:85,size:85,maxSize:85},{header:"Actions",accessorKey:"actions",Cell:({row:d})=>jsxs(Group,{position:"center",spacing:"xs",noWrap:true,children:[jsx(ActionIcon,{onClick:()=>t(d.original),children:jsx(IconPencil,{size:20})},"edit"),jsx(ir,{id:d.original.id,type:"formatter",disabled:d.original.usageCount>0,warning:`Delete formatter called "${d.original.name}" (id:${d.original.id}) ? It is not used in any block.`})]}),enableSorting:false,minSize:80,size:80,maxSize:80,mantineTableHeadCellProps:{align:"center"},mantineTableBodyCellProps:{align:"center"}}],data:o,enableBottomToolbar:false,enableColumnActions:false,enableColumnResizing:true,enablePagination:false,enableTopToolbar:false,initialState:{density:"xs"},layoutMode:"grid",mantineTableContainerProps:{sx:{minHeight:150}},mantineTableProps:{striped:true}})}function cA(){let[e,t]=useState(null),[o,r]=useState(true),n=s=>{r(s);},i=s=>{t(s);},a=s=>{s&&t(s.id);},l=()=>{t(null);};return jsxs(Container,{fluid:true,children:[jsxs(Grid,{children:[jsxs(Grid.Col,{span:2,children:[jsx(Text,{ml:"xl",my:"sm",weight:"bold",children:"Formatters"}),jsx(q0,{onChange:n,onEditCreation:i,loading:false})]}),jsxs(Grid.Col,{span:10,style:{height:"100vh"},children:[jsx(Space,{h:"xs"}),jsx(sA,{filters:o,onClickEdit:a})]})]}),e&&jsx(nA,{formatterId:e,onEditEnd:l})]})}p();p();se();function fA({onChange:e,loading:t,onEditCreation:o}){let r=ie(),[n,i]=useState(""),[a,l]=useState(""),[s,c]=useState(false),[u]=useDebouncedValue(n,500),[d]=useDebouncedValue(a,500),f={query:"",name:""},[g,m]=useState(f),h=()=>{i(""),l(""),m(f);},y=()=>{l(""),m(C=>({...C,name:""}));},S=()=>{i(""),m(C=>({...C,query:""}));};return useEffect(()=>{let C={...g,name:d,query:u,matchPattern:b=>{if(!u)return true;try{return new RegExp(b.patternSwapped).test(u)}catch{return false}}};e(C);},[u,d]),jsxs("div",{children:[jsx(TextInput,{label:"Filter by name",value:a,onChange:C=>l(C.currentTarget.value),disabled:t,rightSection:a?jsx(IconCircleX,{size:16,style:{cursor:"pointer"},onClick:y}):null}),jsx(Space,{h:"md"}),jsx(TextInput,{label:"Test a url here",value:n,onChange:C=>i(C.currentTarget.value),disabled:t,rightSection:n?jsx(IconCircleX,{size:16,style:{cursor:"pointer"},onClick:S}):null}),jsx(Space,{h:"md"}),jsx(Button,{fullWidth:true,disabled:t,leftIcon:jsx(IconPlus,{}),onClick:()=>{c(true);let C=Math.random().toString(16).substring(2,10);r(Z.createEntity("datasource",{name:`datasource_${C}`,description:"New Data Source",content:{pattern:"",logic:`
|
|
31
|
+
`,"2) content: () => element.cloneNode(true)"].join(" "));}var l=r.reduce(function(a,u){var c=u&&JT(u,n);return c&&a.push(c),a},[]);return ti(e)?l[0]:l}ni.defaultProps=Tt;ni.setDefaultProps=KT;ni.currentInput=so;Object.assign({},Kr,{effect:function(t){var o=t.state,n={popper:{position:o.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};Object.assign(o.elements.popper.style,n.popper),o.styles=n,o.elements.arrow&&Object.assign(o.elements.arrow.style,n.arrow);}});ni.setDefaultProps({render:sm});var lm=ni;var lw=forwardRef(function(t,o){let n=useMantineTheme(),[r,i]=useState(0),s=c=>{let p=t.items[c];p&&t.command({id:p});},l=()=>{i((r+t.items.length-1)%t.items.length);},a=()=>{i((r+1)%t.items.length);},u=()=>{s(r);};return useEffect(()=>i(0),[t.items]),useImperativeHandle(o,()=>({onKeyDown:({event:c})=>c.key==="ArrowUp"?(l(),true):c.key==="ArrowDown"?(a(),true):c.key==="Enter"||c.key==="Tab"?(u(),true):false})),jsx(List,{className:"items",bg:"white",listStyleType:"none",styles:c=>({root:{boxShadow:c.shadows.md,borderRadius:c.radius.xs,overflow:"hidden"},item:{span:{display:"block",width:"100%"}},itemWrapper:{display:"block"}}),children:t.items.length?t.items.map((c,p)=>jsx(List.Item,{children:jsx(UnstyledButton,{className:`item ${p===r?"is-selected":""}`,sx:f=>({backgroundColor:p===r?f.colors.blue[0]:"none"}),py:2,px:4,fz:12,w:"100%",onClick:()=>s(p),children:jsxs(Group,{spacing:"xs",children:[jsx(Center,{h:"1rem",w:"1rem",sx:{borderRadius:"100%",background:n.colors.blue[6]},children:jsx(IconBraces,{size:"0.8rem",color:"white"})}),jsx(Text,{ff:"monospace",component:"code",color:"gray.7",children:`${c}`})]})})},p)):null})}),um=lw;var pw=()=>({char:"{{",allowedPrefixes:[" "],items:({query:e,editor:t})=>t.storage.VariablesStorage.suggestions.filter(o=>o.toLowerCase().startsWith(e.toLowerCase())).slice(0,5),render:()=>{let e,t;return {onStart:o=>{e=new ReactRenderer(um,{props:o,editor:o.editor}),o.clientRect&&(t=lm("body",{getReferenceClientRect:o.clientRect,appendTo:()=>document.body,content:e.element,showOnCreate:true,interactive:true,trigger:"manual",placement:"bottom-start"}));},onUpdate(o){e.updateProps(o),o.clientRect&&t[0].setProps({getReferenceClientRect:o.clientRect});},onKeyDown(o){return o.event.key==="Escape"?(t[0].hide(),true):e.ref?.onKeyDown(o)},onExit(){t[0].destroy(),e.destroy();}}}}),pm=pw;function Jl(e){return e.replace(/<code[^>]*>([^<>]*)<\/code>/g,"$1")}function Ql(e){return e.replace(/({{.*?}})/g,'<code class="bespoke-var">$1</code>')}var Bw=createStyles(e=>({bespokeEditor:{fontSize:14,lineHeight:1.2,backgroundColor:e.fn.lighten(e.colors.gray[0],.3),borderColor:e.colors.gray[4],borderWidth:1,borderStyle:"solid",borderRadius:e.radius.md,paddingLeft:e.spacing.xs,paddingRight:e.spacing.xs,fontWeight:400,"&.disabled":{color:e.colors.gray[7],backgroundColor:e.colors.gray[1]},":focus-visible":{outlineColor:e.colors.blue[5],backgroundColor:e.fn.lighten(e.colors.gray[0],.5)},code:{fontFamily:"monospace",color:e.colors.blue[6],fontWeight:700,letterSpacing:.02},".is-editor-empty:first-of-type::before":{color:e.colors.gray[6],content:"attr(data-placeholder)",float:"left",height:0,pointerEvents:"none"}}})),fm=()=>{let{editor:e}=useCurrentEditor(),t=useMantineTheme();return e?jsxs(Button.Group,{children:[jsx(Button,{onClick:o=>{o.preventDefault(),e.chain().focus().toggleBold().focus().run();},size:"xs",variant:"default",compact:true,children:jsx(IconBold,{size:"0.8rem",stroke:e.isActive("bold")?4:2,color:t.colors.gray[7]})}),jsx(Button,{onClick:()=>e.chain().focus().toggleItalic().run(),size:"xs",variant:"default",compact:true,children:jsx(IconItalic,{size:"0.8rem",stroke:e.isActive("italic")?4:2,color:t.colors.gray[7]})}),jsx(Button,{onClick:()=>e.chain().focus().toggleUnderline().run(),size:"xs",variant:"default",compact:true,children:jsx(IconUnderline,{size:"0.8rem",stroke:e.isActive("underline")?4:2,color:t.colors.gray[7]})})]}):null},zw=()=>{let{editor:e}=useCurrentEditor();return jsx("div",{children:jsx(BubbleMenu,{tippyOptions:{placement:"bottom"},editor:e,children:jsx(fm,{})})})},Nw=()=>{let{editor:e}=useCurrentEditor(),t=useMantineTheme();return e?jsxs(Button.Group,{children:[jsx(Button,{onClick:()=>e.chain().focus().setTextAlign("left").run(),size:"xs",variant:"default",compact:true,children:jsx(IconAlignLeft,{size:"0.8rem",stroke:e.isActive({textAlign:"left"})?4:2,color:t.colors.gray[7]})}),jsx(Button,{onClick:()=>e.chain().focus().setTextAlign("center").run(),size:"xs",variant:"default",compact:true,children:jsx(IconAlignCenter,{size:"0.8rem",stroke:e.isActive({textAlign:"center"})?4:2,color:t.colors.gray[7]})}),jsx(Button,{onClick:()=>e.chain().focus().setTextAlign("right").run(),size:"xs",variant:"default",compact:true,children:jsx(IconAlignRight,{size:"0.8rem",stroke:e.isActive({textAlign:"right"})?4:2,color:t.colors.gray[7]})}),jsx(Button,{onClick:()=>e.chain().focus().setTextAlign("justify").run(),size:"xs",variant:"default",compact:true,children:jsx(IconAlignJustified,{size:"0.8rem",stroke:e.isActive({textAlign:"justify"})?4:2,color:t.colors.gray[7]})})]}):null},Vw=()=>{let{editor:e}=useCurrentEditor(),t=useMantineTheme();return e?jsxs(Button.Group,{children:[jsx(Button,{onClick:()=>e.commands.undo(),size:"xs",variant:"default",compact:true,children:jsx(IconArrowBackUp,{size:"0.8rem",color:t.colors.gray[7]})}),jsx(Button,{onClick:()=>e.commands.redo(),size:"xs",variant:"default",compact:true,children:jsx(IconArrowForwardUp,{size:"0.8rem",color:t.colors.gray[7]})})]}):null},Fw=({toolbarActive:e=true,toolbarLeftSection:t=null,toolbarRightSection:o=null,toolbarOptions:n={}})=>{let r=n.history??true,i=n.alignment??false,s=n.format??true;return jsxs(Group,{mb:"0.25rem",position:"apart",children:[t,e&&jsxs(Group,{children:[r&&jsx(Vw,{}),i&&jsx(Nw,{}),s&&jsx(fm,{})]}),o]})};function Fa(e){let{id:t,value:o,onChange:n=()=>{},variables:r,toolbarLeftSection:i,toolbarRightSection:s,toolbarOptions:l={},tipTapExtensions:a=[],bubbleMenu:u=true,disabled:c=false,editorProps:p,placeholder:f="This looks empty! Start writing some content"}=e,[m,g]=useState(false),S=useClickOutside(()=>g(false)),{classes:v}=Bw(),h=JSON.stringify(r||{}),b=useMemo(()=>{let y=JSON.parse(h),x=[yw.configure({heading:false,bold:false,history:{depth:20},code:false,hardBreak:false,codeBlock:false}),yf.extend({spanning:true}),Sw.extend({addKeyboardShortcuts(){return {Enter:()=>this.editor.commands.setHardBreak()}}}),xw.configure({types:["paragraph"]}),bw,vf,Cw.configure({placeholder:f}),Lw,...a];return y&&(x.push(Sf),x.push(vw.configure({HTMLAttributes:{type:null},renderText({node:k}){return `{{${k.attrs.label??k.attrs.id}}}`},renderHTML({node:k}){return ["code",{},`{{${k.attrs.label??k.attrs.id}}}`]},suggestion:pm()}))),x},[h,a,f]),C=({editor:y})=>{let x=Jl(y.getHTML());n(x);},d=({editor:y})=>{let x=JSON.parse(h);y.storage.VariablesStorage.suggestions=Object.keys(x);};return jsx(Box,{ref:S,className:"bespoke-editor",onClickCapture:()=>g(true),children:jsx(EditorProvider,{extensions:b,content:o?Ql(o):void 0,onUpdate:C,onFocus:d,editable:!c,slotBefore:jsx(Fw,{toolbarActive:m,toolbarLeftSection:i,toolbarRightSection:s,toolbarOptions:l}),editorProps:{editable:()=>!c,attributes:{id:t||"",class:`${v.bespokeEditor}${c?" disabled":""}`}},...p,children:u&&jsx(zw,{})})})}var mm=createContext({mode:"simple",changeEditorMode:()=>{},reference:{locale:void 0,content:{},activate:()=>{},deactivate:()=>{},setActive:()=>{},active:false}});function Hw(e){let[t,o]=useState(false),[n,r]=useState({}),i=$a$1();return useEffect(()=>{if(!t){r(void 0);return}Gh.get(`/api/cms/read/block?&id=${e}&include=true`).then(({data:s})=>{r(s.data[0].contentByLocale[i].content.simple);}).catch(()=>r(void 0));},[t,e,i]),{content:n,locale:i,activate:()=>o(true),deactivate:()=>o(false),setActive:o}}function gm({children:e,buttons:t,blockType:o,blockId:n}){let[r,i]=useState(()=>[z.VIZ,z.GENERATOR,z.SECTION_FLAG].includes(o)?"code":"simple"),s=Hw(n),l={mode:r,changeEditorMode:i,reference:s,...t};return jsx(mm.Provider,{value:l,children:e})}function lo(){return useContext(mm)}function i0({locale:e,content:t}){return jsxs(Group,{spacing:"xs",position:"right",children:[jsx(Badge,{variant:"light",size:"xs",rightSection:jsx(Center,{children:jsx(IconLanguage,{size:rem(12)})}),children:e.toUpperCase()}),jsx(ym,{content:t})]})}function ym({content:e}){return jsx(CopyButton,{value:e,timeout:2e3,children:({copied:t,copy:o})=>jsx(Tooltip,{label:t?"Copied":"Copy",withArrow:true,position:"right",children:jsx(ActionIcon,{size:"xs",color:t?"teal":"gray",variant:"subtle",onClick:()=>{o();let n=new Blob([e],{type:"text/html"}),r=new ClipboardItem({"text/html":n});navigator.clipboard.write([r]);},children:t?jsx(IconCheck,{style:{width:rem(16)}}):jsx(IconCopy,{style:{width:rem(16)}})})})})}function a0({referenceLocale:e,referenceContent:t}){return jsx(Stack,{spacing:"xs",children:jsx(Fa,{value:t,toolbarLeftSection:jsx(Text,{size:"0.625rem",tt:"uppercase",fw:700,color:"gray",children:"Reference Content"}),toolbarRightSection:jsx(i0,{locale:e,content:t}),toolbarOptions:{history:false,format:false,alignment:false},disabled:true})})}function wt({field:e,handleEditor:t,value:o,referenceContent:n,referenceLocale:r,variables:i,editorConfig:s={}}){return jsxs(Stack,{spacing:0,children:[jsx(Fa,{id:e,onChange:l=>{t(e,p$1(l));},toolbarLeftSection:jsx(Text,{component:"label",htmlFor:e,size:"xs",transform:"uppercase",weight:"bold",color:"gray",mb:"xs",children:titleCase(e)}),toolbarRightSection:jsx(ym,{content:o}),toolbarOptions:{history:true,alignment:e!=="tooltip",format:true},value:o,variables:i,placeholder:`This looks empty. Start adding content for the ${e}! You can add automated {{variables}}`,...s}),n&&jsx(Box,{mt:"xs",children:jsx(a0,{referenceContent:n[e],referenceLocale:r})})]})}function s0({fields:e,locale:t,defaultContent:o,onChange:n,variables:r}){let[i,s]=useState(()=>ya(o)),{reference:l}=lo();useEffect(()=>{n(i,t);},[]);let a=(c,p)=>{s(f=>({...f,[c]:p}));},[u]=useDebouncedValue(i,500);return useEffect(()=>{let c=Object.keys(u).reduce((f,m)=>({...f,[m]:p$1(u[m])}),{}),p=ro(c);n({simple:c,logic:p},t);},[u,t]),jsx(Stack,{spacing:"xl",children:e.map(({field:c,editorConfig:p})=>jsx(wt,{field:c,handleEditor:a,value:i[c]||"",referenceContent:l.content,referenceLocale:l.locale,variables:r,editorConfig:p},c))})}var vm=s0;function f0({label:e,...t}){return jsxs(Group,{position:"apart",spacing:"lg",py:"xs",...t,children:[jsx(Text,{children:e}),jsx(Tooltip,{label:"This setting will be saved for all languages.",children:jsx(ThemeIcon,{size:"xs",variant:"light",radius:"xl",color:"yellow",children:jsx(IconLanguageOff,{size:"0.75rem"})})})]})}var Ke=f0;var hn={SINGLE:"single",MULTI:"multi"},nc={SEGMENTED_CONTROL:"segmented control",SELECTOR:"selector"},Fo={STATIC:"static",DYNAMIC:"dynamic"},rc=e=>e&&Array.isArray(e)&&e.length>0,$a=e=>rc(e)&&["string"].includes(typeof e[0]),xm=e=>{let{name:t,type:o,optionsType:n,options:r}=e;return [t,o,n,r].every(Boolean)?n===Fo.STATIC?r.static?.length>0&&r.static?.every(i=>i.id):r.dynamic?.isPrimitiveType?true:!!r.dynamic?.idKey:false},Ga=(e,t,o)=>{let n,r;switch(o){case Fo.STATIC:n=e===hn.SINGLE?t.static.find(i=>i.isDefault)?.id:t.static.filter(i=>i.isDefault).map(i=>i.id),r=t.static.map(({id:i,label:s})=>({id:i,label:s||i}));break;case Fo.DYNAMIC:if(t.dynamic){let{optionsVar:i,idKey:s,labelKey:l,imageKey:a,defaultVar:u,isPrimitiveType:c}=t.dynamic;u&&(n=`variables["${u}"]`),r=c?`variables["${i}"]`:`(variables["${i}"] || []).map(d => ({id: String(d["${s}"]), label: String(d["${l||s}"]), imageUrl: String(d["${a||null}"])}))`;}break;}return {logicOptions:r,defaultValue:n}};function S0({option:e,editOption:t,deleteOption:o}){return jsxs("tr",{className:"reports-selector-static-option",children:[jsx("td",{children:jsx(Checkbox,{checked:e.isDefault,onChange:n=>t({isDefault:n.currentTarget.checked})})}),jsx("td",{children:jsx(TextInput,{placeholder:"Option value",value:e.id,onChange:n=>{t({id:n.currentTarget.value});},error:e.id.indexOf(" ")>-1?"Please, avoid the usage of spaces in the ID":false})}),jsx("td",{children:jsx(TextInput,{placeholder:"Option label",value:e.label,onChange:n=>t({label:n.currentTarget.value})})}),jsx("td",{children:jsx(ActionIcon,{onClick:o,children:jsx(IconTrash,{})})})]})}function x0({staticOptions:e,setStaticOptions:t}){let o=useCallback(()=>t([...e,{isDefault:!e.length,id:"",label:""}]),[e,t]),n=useCallback((i,s)=>{if(!s||i>=e.length||i<0)return;let l=[...e];l.splice(i,1,{...e[i],...s}),t(l);},[e,t]),r=useCallback(i=>{let s=[...e];s.splice(i,1),t(s);},[e,t]);return jsxs(Fragment,{children:[jsx(Input.Wrapper,{required:true,label:"Static Selector Options",children:jsxs("table",{children:[jsx("thead",{children:e.length>0&&jsx("tr",{children:["Default","ID","Label",""].map((i,s)=>jsx("td",{className:`${s===0?"selector-option-default-col":""} ${s===1?"required":""}`,children:i},`heading-${s}`))})}),jsx("tbody",{children:e.map((i,s)=>jsx(S0,{option:i,editOption:l=>n(s,l),deleteOption:()=>r(s)},`option-${s}`))})]})}),jsx(ActionIcon,{onClick:o,children:jsx(IconPlus,{})})]})}function C0({id:e,dynamicOptions:t,setDynamicOptions:o}){let{optionsVar:n,idKey:r,labelKey:i,defaultVar:s,imageKey:l,isPrimitiveType:a}=t,u=La$1(e),[c,p]=useState(false),[f,m]=useState({}),[g,S]=useState([]),[v,h]=useState([]);useEffect(()=>{u||(m({}),S([]));let k=Object.entries(u).filter(([,B])=>rc(B)).reduce((B,[N,$])=>(B[N]=$,B),{});m(k);let R=Object.keys(u);S(R),p(true);},[u]);let b=useCallback((k,R)=>{o({...t,[k]:R});},[t]);useEffect(()=>{if(!Object.keys(f).length)return;let k=$a(f[n]);if(k)h([]),b("idKey",null),b("labelKey",null),b("imageKey",null);else {let R=new Set;(f[t.optionsVar]||[]).forEach(N=>Object.keys(typeof N=="object"?N:{}).forEach($=>R.add($)));let B=Array.from(R).sort().map(N=>N);h(B);}b("isPrimitiveType",k);},[f,n]);let C=useCallback(k=>{o({...t,optionsVar:k,idKey:null,labelKey:null,imageKey:null});},[t,o]),d=useMemo(()=>{let k=[];return f&&n&&r&&Array.isArray(f[n])&&(k=f[n].filter(R=>`${R[r]}`.indexOf(" ")>0)),k.length>0?`One or more ID's have spaces on it. (
|
|
32
|
+
${k.map(R=>`"${R[r]}"`).join(",")}
|
|
33
|
+
) Avoid this, please.`:false},[f,n,r]);if(!c)return null;let y=Object.keys(f),x=k=>k&&Array.isArray(k)&&k.length;return jsxs(Fragment,{children:[jsx(Select,{label:"Options List Variable",placeholder:"Pick a variable",value:x(y)&&n,required:true,onChange:C,data:y}),jsx(Select,{label:"Options ID Key",placeholder:"Pick a property key",value:x(v)&&r,required:!a,disabled:a,onChange:k=>b("idKey",k),data:v,error:d}),jsx(Select,{label:"Options Label Key",placeholder:"Pick a property key",disabled:a,clearable:true,value:x(v)&&i,onChange:k=>b("labelKey",k),data:v}),jsx(Select,{label:"Options Image Key",placeholder:"Pick a property key",disabled:a,clearable:true,value:x(v)&&l,onChange:k=>b("imageKey",k),data:v}),jsx(Select,{label:"Default ID Variable",placeholder:"Pick a variable",clearable:true,value:x(g)&&s,onChange:k=>b("defaultVar",k),data:g})]})}function or(e,t,o){return e&&e[t]||o}function k0(e){let{id:t,executeButton:o,onChange:n,simpleState:r,referenceContent:i,referenceLocale:s,variables:l}=e,[a,u]=useState(()=>{let f=r&&r.options&&Object.prototype.hasOwnProperty.call(r?.options,"dynamic")&&Object.prototype.hasOwnProperty.call(r?.options,"static");return {selectorIdentifier:or(r,"name",""),selectorType:or(r,"type",hn.SINGLE),selectorComponent:or(r,"component",nc.SELECTOR),options:r&&f?r.options:{static:[],dynamic:{}},optionsType:or(r,"optionsType","static"),hideLabel:or(r,"hideLabel","false"),resetSectionVars:or(r,"resetSectionVars","false")}});useEffect(()=>{let{selectorIdentifier:f,selectorType:m,selectorComponent:g,options:S,optionsType:v,hideLabel:h,resetSectionVars:b}=a,C={name:f,hideLabel:h,resetSectionVars:b,component:g,type:m},{logicOptions:d,defaultValue:y}=Ga(m,S,v);y&&(C.defaultValue=y),C.options=d;let x=`return ${Wn(C)};`,k={name:f,type:m,component:g,hideLabel:h,resetSectionVars:b,defaultValue:y,optionsType:v,options:S},R=xm(k);n(k,x,R);},[a]);let c=(f,m)=>u(g=>({...g,[f]:m})),p=B[z.SELECTOR].find(f=>f.field===A.SELECTOR_NAME)?.editorConfig;return jsxs(Fragment,{children:[jsxs(Stack,{children:[jsx(wt,{field:"name",value:a.selectorIdentifier,handleEditor:(f,m)=>c("selectorIdentifier",m),referenceContent:i,referenceLocale:s,variables:l,editorConfig:p}),jsx(Checkbox,{label:jsx(Ke,{label:"Hide Label",py:0}),checked:a.hideLabel==="true",onChange:f=>c("hideLabel",f.currentTarget.checked?"true":"false")})]}),jsx(Select,{label:jsx(Ke,{label:"Selector Type"}),value:a.selectorType,onChange:f=>c("selectorType",f),data:Object.values(hn)}),a.selectorType===hn.SINGLE&&jsx(Select,{label:jsx(Ke,{label:"Selector Component"}),value:a.selectorComponent,onChange:f=>c("selectorComponent",f),data:Object.values(nc)}),jsx(Select,{label:jsx(Ke,{label:"Options Type"}),value:a.optionsType,onChange:f=>c("optionsType",f),data:Object.values(Fo)}),a.optionsType===Fo.STATIC?jsx(x0,{staticOptions:a.options.static,setStaticOptions:f=>c("options",{...a.options,static:f})}):jsx(C0,{dynamicOptions:a.options.dynamic,setDynamicOptions:f=>c("options",{...a.options,dynamic:f}),id:t}),jsx(Checkbox,{my:"md",label:jsx(Ke,{label:"Reset SectionVariables on change",py:0}),checked:a.resetSectionVars==="true",onChange:f=>c("resetSectionVars",f.currentTarget.checked?"true":"false")}),o]})}var Tm=k0;var Em=["xs","sm","md","lg","xl"],z0=["0","1","2","3","4","5"],wo={none:{value:"none",label:"No Icon"},tabler:{value:"tabler",label:"Bespoke (Tabler)",link:"https://tablericons.com",text:"Tabler Icons"},custom:{value:"custom",label:"Custom Icon"}},N0=forwardRef(({value:e,iconType:t="tabler",...o},n)=>jsx("div",{ref:n,...o,children:jsxs(Group,{noWrap:true,children:[jsx(Image,{width:20,height:20,src:`/api/cms/read/icons/${t}/icon.svg?name=${e}`,alt:`Icon preview ${e}`}),jsx(Text,{size:"sm",children:e})]})}));function bn(e){let[t,o]=useState(e?._iconType??"none"),[n,r]=useState(e?._icon??""),[i,s]=useState([]),[l,a]=useState(""),[u,c]=useState(e?._iconVariant??"transparent"),[p,f]=useState(e?._iconSize??"md"),[m,g]=useState(e?._iconRadius??"md"),[S,v]=useState(e?._iconPadding??"1"),h=[wo.none.value,wo.custom.value].includes(t),b=useRef(null),C=useMemo(()=>({_icon:n,_iconType:t,_defaultIcon:l,_iconVariant:u,_iconSize:p,_iconRadius:m,_iconPadding:S}),[n,t,l,u,p,m,S]),d=x=>{r(""),o(x);};useEffect(()=>{h||Gh.get(`/api/cms/list/icons/${t}`).then(x=>{s(x.data.data.results),a(x.data.data.results[0]);});},[t]);let y=jsx(Accordion,{variant:"separated",children:jsxs(Accordion.Item,{value:"icon",children:[jsx(Accordion.Control,{icon:jsx(IconPhotoFilled,{}),children:jsxs(Text,{children:["Icon configuration: ",wo[t]&&jsx("strong",{children:wo[t].label})]})}),jsx(Accordion.Panel,{children:jsxs(Stack,{children:[jsx(Input.Wrapper,{label:"Title's icon",children:jsx(SegmentedControl,{fullWidth:true,value:t,onChange:d,data:Object.values(wo)})}),!h&&jsx(Select,{label:"Choose an icon from the list",searchable:true,description:jsxs(Fragment,{children:["Powered by"," ",jsx("a",{style:{textDecoration:"underline"},href:wo[t].link,target:"_blank",rel:"noreferrer",children:wo[t].text}),"."]}),defaultValue:l,value:n,required:true,onChange:x=>r(x||""),data:i,limit:10,itemComponent:N0,disabled:!i||i.length===0,icon:jsx(Image,{p:5,src:`/api/cms/read/icons/${t}/icon.svg?name=${n||l}`,alt:"Icon preview"})}),t===wo.custom.value&&jsxs(Flex,{align:"flex-end",children:[jsx(TextInput,{ref:b,placeholder:"e.g '/image{{id1}}.png' or 'http://site/image.png'",label:"Enter an icon path",required:true,defaultValue:n,description:"Add an absolute or a relative path url",onBlur:x=>r(x.currentTarget.value),sx:{flexGrow:1}}),jsx(ActionIcon,{maw:36,size:36,onClick:()=>b.current?r(b.current.value??""):void 0,sx:{flexGrow:0},children:jsx(IconFileUpload,{})})]}),t!==wo.none.value&&jsxs(Fragment,{children:[jsx(Select,{label:"Variant design",description:jsxs(Fragment,{children:["We are using"," ",jsx("a",{style:{textDecoration:"underline"},href:"https://mantine.dev/core/theme-icon/",target:"_blank",rel:"noreferrer",children:"ThemeIcon variants"}),"."]}),value:u,required:true,onChange:x=>c(x||"transparent"),data:[{value:"transparent",label:"Transparent"},{value:"default",label:"Default"},{value:"outline",label:"Outline"},{value:"light",label:"Light"},{value:"filled",label:"Filled"}]}),jsx(Input.Wrapper,{label:"Size",children:jsx(SegmentedControl,{fullWidth:true,value:p,onChange:f,data:Em})}),jsx(Input.Wrapper,{label:"Radius",children:jsx(SegmentedControl,{fullWidth:true,value:m,onChange:g,data:Em})}),jsx(Input.Wrapper,{label:"Padding",children:jsx(SegmentedControl,{fullWidth:true,value:S,onChange:v,data:z0})})]})]})})]})});return {simpleIconState:C,panel:y}}function Uo(e,t){let[o,n]=useState({...t,...e});return {state:o,updateState:(i,s)=>{let l={...o,[i]:s};n(l);}}}var U0={type:"list",title:"",shotTitle:""},H0=[{value:"list",label:"List"},{value:"multilevel",label:"Multilevel"}];function uc({simpleState:e,onChange:t,variables:o,referenceContent:n,referenceLocale:r}){let{state:i,updateState:s}=Uo(e,U0),{simpleIconState:l,panel:a}=bn(e);return useEffect(()=>{let u={...i,...l},c=ro(u);t(u,c);},[i,l]),jsxs(Stack,{children:[jsx(Title,{order:4,children:"Nav UI"}),jsx(Select,{label:"Nav Type",data:H0,value:i.type,defaultValue:"list",onChange:u=>s("type",u)}),B[z.NAV].map(({field:u,editorConfig:c})=>jsx(wt,{field:u,value:i[u],handleEditor:s,referenceContent:n,referenceLocale:r,variables:o,editorConfig:c},u)),a]})}function pc({executeButton:e,onChange:t,simpleState:o}){let[n,r]=useState(o?.compare??"variant"),[i,s]=useState(o?.limit??4);return useEffect(()=>{t({compare:n,limit:i});},[n,i]),jsxs(Stack,{children:[jsx(Radio.Group,{description:"Valid only for single-dimensional profiles",label:"Compare with members of:",onChange:r,value:n,children:jsxs(Group,{children:[jsx(Radio,{label:"Same report",value:"report"}),jsx(Radio,{label:"Same dimension",value:"dimension"}),jsx(Radio,{label:"Same variant",value:"variant"})]})}),jsx(NumberInput,{label:"Related reports limit",min:1,onChange:l=>s(l),type:"number",value:i}),e]})}function fc({executeButton:e,onChange:t,simpleState:o}){let[n,r]=useState(o?.label??""),[i,s]=useState(o?.showIcon??true),[l,a]=useState(o?.fullWidth??false),[u,c]=useState(o?.showWhenDisabled??false);return useEffect(()=>{t({label:n,showIcon:i,fullWidth:l,showWhenDisabled:u});},[n,i,l,u,t]),jsxs(Stack,{children:[jsx(TextInput,{placeholder:"Label for reset section state button",value:n,onChange:p=>r(p.target.value),label:"Label"}),jsxs(Group,{children:[jsx(Switch,{checked:i,label:"Show icon",onChange:p=>s(p.currentTarget.checked)}),jsx(Switch,{checked:l,label:"Full width",onChange:p=>a(p.currentTarget.checked)}),jsx(Switch,{checked:u,label:"Show when disabled",onChange:p=>c(p.currentTarget.checked)})]}),e]})}var oE={title:"Title",tooltip:"",slug:""};function mc({onChange:e,simpleState:t,variables:o,referenceContent:n,referenceLocale:r}){let{state:i,updateState:s}=Uo(t,oE),{simpleIconState:l,panel:a}=bn(t);return useEffect(()=>{let u={...i,...l},c=ro(u);e(u,c);},[l,i]),jsxs(Stack,{children:[B[z.TITLE].map(({field:u,editorConfig:c})=>jsx(wt,{field:u,value:i[u],handleEditor:s,referenceContent:n,referenceLocale:r,variables:o,editorConfig:c},u)),a]})}var uE=[{value:"left",label:"Left"},{value:"center",label:"Center"},{value:"right",label:"Right"}];function gc({executeButton:e,onChange:t,simpleState:o}){let[n,r]=useState(o?.label??""),[i,s]=useState(o?.removeLabel??""),[l,a]=useState(o?.showIcon??true),[u,c]=useState(o?.position??"center");return useEffect(()=>{t({label:n,removeLabel:i,showIcon:l,position:u});},[n,l,i,u,t]),jsxs(Stack,{children:[jsx(TextInput,{placeholder:"Label for comparison button",value:n,onChange:p=>r(p.target.value),label:"Label"}),jsx(TextInput,{placeholder:"Label for remove comparison button",value:i,onChange:p=>s(p.target.value),label:"Remove Label"}),jsx(Group,{children:jsx(Switch,{checked:l,label:"Show icon",onChange:p=>a(p.currentTarget.checked)})}),jsx(Select,{label:"Button position",data:uE,value:u,onChange:c}),e]})}function hc({simpleState:e,onChange:t,variables:o,referenceContent:n,referenceLocale:r}){let{state:i,updateState:s}=Uo(e,{title:"",value:"",subtitle:"",tooltip:""}),{simpleIconState:l,panel:a}=bn(e);return useEffect(()=>{let u={...i,...l},c=ro(u);t(u,c);},[l,i]),jsxs(Stack,{children:[B[z.STAT].map(({field:u,editorConfig:c})=>jsx(wt,{field:u,value:i[u],handleEditor:s,referenceContent:n,referenceLocale:r,variables:o,editorConfig:c},u)),a]})}var DE={enableBottomToolbar:true,enableColumnActions:true,enableColumnFilters:true,enableColumnResizing:true,enableDensityToggle:true,enableFullScreenToggle:false,enableGlobalFilter:true,enableHiding:true,enablePagination:true,enableSorting:true,enableStickyHeader:true,enableTopToolbar:true},zm={enableBottomToolbar:{label:"Enable bottom toolbar",desc:"Show or hide the bottom toolbar. By disabling it, pagination will also be hidden."},enableColumnActions:{label:"Enable column actions",desc:"Enables or disables column actions for all columns. Column actions include sort, filter, show/hide column and reset column size."},enableColumnFilters:{label:"Enable column filters",desc:"Enables or disables the filter options available on columns."},enableColumnResizing:{label:"Enable column resizing",desc:"Enables the column resizing feature for all columns."},enableDensityToggle:{label:"Enable density toggle",desc:"Enable the density toggle that allows users to modify the height of each row. Disabling it will hide the density toggle button in the top toolbar."},enableFullScreenToggle:{label:"Enable full screen toggle",desc:"Enable or disable the full screen toggle feature. Disabling it will hide the full screen toggle button in the top toolbar."},enableGlobalFilter:{label:"Enable global filter",desc:"Enable global filter feature to filter data on all columns and rows. Disabling it will hide the global filter button in the top toolbar."},enableHiding:{label:"Enable hiding",desc:"Enable hiding columns feature. Disabling it will hide the hiding button in the top toolbar."},enablePagination:{label:"Enable pagination",desc:"Enable pagination feature. Disabling it will hide the pagination options in the bottom toolbar."},enableSorting:{label:"Enable sorting",desc:"Enable sorting feature for all columns."},enableStickyHeader:{label:"Enable sticky header",desc:"Allows you to maintain the column headers when scrolling through the rows of the table."},enableTopToolbar:{label:"Enable top toolbar",desc:"Show or hide the top toolbar. By disabling it, globar filter, hiding, density and full screen toggles will also be hidden."}},LE={density:"xs"},Nm=["5","10","15","20","25","30","50","100"],Vm={pageIndex:0,pageSize:10},Fm=e=>e&&Array.isArray(e)&&e.some(t=>typeof t=="object"&&t!==null),BE=forwardRef(function({customLabels:t,customLabelsHandler:o,index:n,isActiveRefenceContent:r=false,option:i,referenceColumns:s=[],selectedColumnsHandler:l,...a},u){let c=t.find(m=>m.key===i.label)?.label||"",f=s.find(m=>m.accessorKey===i.label)?.header||i.label;return jsxs(Group,{grow:true,ref:u,...a,children:[jsxs(Group,{children:[jsx(IconGripVertical,{}),jsx(Checkbox,{checked:i.checked,label:i.label,onChange:m=>l.setItemProp(n,"checked",m.currentTarget.checked)})]}),jsx(Input,{disabled:!i.checked,onChange:m=>o.setItemProp(n,"label",m.currentTarget.value),value:c}),r&&jsx(Input,{disabled:true,value:f})]},`table-group-${i.label}-${n}`)});function Cc(e){let{executeButton:t,id:o,onChange:n,referenceContent:r={},referenceLocale:i,simpleState:s}=e,{columns:l}=r,a=_a(),u=useMemo(()=>a!==i&&r&&Object.keys(r).length>0,[a,r,i]),c=La$1(o),[p,f]=useState([]),[m,g]=useListState([]),[S,v]=useState([]),[h,b]=useState(false),[C,d]=useState({}),[y,x]=useState(Vm),[k,R]=useState({rowsPerPageOptions:Nm}),[B,N]=useListState([]),[$,K]=useState(null),[T,M]=useSetState(DE),[I,O]=useState(LE),[G,W]=useState({}),F=useMemo(()=>B.every(A=>A.checked),[B]),L=useMemo(()=>B.some(A=>A.checked)&&!F,[F,B]);useEffect(()=>{if(!s||!Object.keys(s).length)return;let A=c[s.variable]||[],_=new Set;A.filter(z=>typeof z=="object"&&z!==null).forEach(z=>{Object.keys(z).forEach(X=>_.add(X));});let Q={},Y=[];s.columns&&Object.keys(s.columns)&&s.columns.forEach(z=>{Q[z.accessorKey]=z.header;});let ce=[],re=[];Array.from(_).forEach(z=>{re.push({key:z,label:Q[z]||z}),ce.push({checked:!!Q[z],key:randomId(),label:z}),Y.push(z);}),g.setState(re),N.setState(ce);let{initialState:ae={},state:me={},mantinePaginationProps:gt={},...kt}=s.tableProps||{},Rt=me.columnOrder.filter(z=>Y.includes(z));Rt.push(Y.filter(z=>!me.columnOrder.includes(z))),f(Rt.flat()||[]),R(gt),x(ae.pagination),M({...kt}),W(me),O(ae),K(s.variable||"");},[]),useEffect(()=>{if(!c){d({});return}let A=Object.entries(c).filter(([Q,Y])=>Fm(Y)).reduce((Q,[Y,ce])=>(Q[Y]=ce,Q),{});d(A);let _=Object.keys(A);v(_);},[c]);let U=A=>{if(K(A),!A||!Fm(C[A])){b(false),N.setState([]);return}let _=C[A];if(_.every(ae=>typeof ae=="object"&&ae===null)){b(false),N.setState([]);return}_.every(ae=>typeof ae=="object"&&ae!==null)?b(false):b(true);let Q=new Set;_.filter(ae=>typeof ae=="object"&&ae!==null).forEach(ae=>{Object.keys(ae).forEach(me=>Q.add(me));});let Y=[],ce=[],re=[];Array.from(Q).forEach(ae=>{Y.push({checked:true,key:randomId(),label:ae}),ce.push({key:ae,label:ae}),re.push(ae);}),N.setState(Y),g.setState(ce),f(re);};useEffect(()=>{let A={};m.forEach(me=>{A[me.key]=me.label;});let _=B.filter(me=>me.checked).map(me=>({accessorKey:me.label,header:A[me.label]})),Q={...I,pagination:y},Y={...G,columnOrder:p},ce={columns:_,data:$?`variables["${$}"]`:[],tableProps:{...T,initialState:Q,state:Y,mantinePaginationProps:k},variable:$||""},re=`return ${Wn(ce)};`,ae={columns:_,data:$?`variables["${$}"]`:[],tableProps:{...T,initialState:Q,state:Y,mantinePaginationProps:k},variable:$||""};n(ae,re);},[p,m,k,y,B,$,T,G,I]);let P=useCallback(A=>{if(!A.destination||A.source.index===A.destination.index)return;let _=[...p],[Q]=_.splice(A.source.index,1);_.splice(A.destination.index,0,Q),f(_),W(Y=>{let ce=Y;return ce.columnOrder=_,ce});},[p]);return jsxs(Fragment,{children:[jsxs(Stack,{mb:"sm",children:[jsx(Select,{clearable:true,data:S,description:"Select an array of data available in the block inputs to use as data input for the table.",label:"Data input",onChange:A=>U(A),searchable:true,value:$}),$&&C[$]&&B.length>0&&jsxs(Fragment,{children:[jsx(Input.Wrapper,{description:"Select the columns to display in the table.",error:h&&"There is a mix of types in the input data. Only object types rows will be kept.",label:"Selected columns",children:jsxs(Stack,{mt:"xs",children:[jsxs(Group,{grow:true,children:[jsx(Text,{fz:"xs",children:"Selected"}),jsx(Text,{fz:"xs",children:"Label"}),u&&jsxs(Group,{spacing:"xs",children:[jsx(Text,{fz:"xs",children:"Reference Label"}),jsx(Badge,{variant:"light",size:"xs",rightSection:jsx(Center,{children:jsx(IconLanguage,{size:rem(12)})}),children:i.toUpperCase()})]})]}),jsx(Checkbox,{checked:F,indeterminate:L,label:"All",onChange:()=>N.setState(A=>A.map(_=>({..._,checked:!F})))}),jsx(ScrollArea.Autosize,{mah:300,children:jsx(DragDropContext,{onDragEnd:P,children:jsx(Droppable,{droppableId:"columns",children:A=>jsx("div",{ref:A.innerRef,...A.droppableProps,children:p.map((_,Q)=>{let Y=B.findIndex(re=>re.label===_),ce=B[Y];return jsx(Draggable,{draggableId:`${ce.label}`,index:Q,isDragDisabled:!ce.checked,children:re=>jsx(BE,{customLabels:m,customLabelsHandler:g,index:Y,isActiveRefenceContent:u,option:ce,ref:re.innerRef,referenceColumns:l,selectedColumnsHandler:N,...re.draggableProps,...re.dragHandleProps})},ce.label)})})})})})]})}),jsx(Accordion,{variant:"separated",children:jsxs(Accordion.Item,{value:"custom-props",children:[jsx(Accordion.Control,{children:"Custom properties"}),jsx(Accordion.Panel,{children:jsx(Stack,{children:jsxs(Input.Wrapper,{description:"Select the needed table options.",label:"Table options",children:[jsx(Group,{mt:"xs",children:Object.keys(T).map(A=>jsx(Checkbox,{checked:T[A],label:jsx(Tooltip,{label:zm[A]?.desc||A,multiline:true,children:jsx(Text,{children:zm[A]?.label||A})}),onChange:()=>M({[A]:!T[A]})},`table-prop-${A}`))}),T?.enablePagination&&jsxs(Fragment,{children:[jsx(Divider,{mt:"xs"}),jsxs(Input.Wrapper,{description:"Customize initial pagination properties.",label:"Pagination props",mt:"xs",children:[jsxs(Group,{grow:true,children:[jsx(NumberInput,{label:"Initial page",min:0,onChange:A=>{x(_=>({..._,pageIndex:A}));},value:y.pageIndex}),jsx(Select,{data:k.rowsPerPageOptions||[],getCreateLabel:A=>`+ Create ${A}`,label:"Initial page size",onChange:A=>{x(_=>({..._,pageSize:parseInt(A,10)}));},searchable:true,value:y.pageSize.toString()})]}),jsxs(Group,{align:"flex-end",grow:true,children:[jsx(MultiSelect,{clearable:true,creatable:true,data:k.rowsPerPageOptions||[],getCreateLabel:A=>`+ Create ${A}`,label:"Page size options",onChange:A=>{R(_=>({..._,rowsPerPageOptions:A.sort((Q,Y)=>parseInt(Q,10)-parseInt(Y,10))})),A&&A.length>0&&!A.includes(y.pageSize.toString())&&x(_=>({..._,pageSize:parseInt(A[0],10)}));},onCreate:A=>(R(_=>({..._,rowsPerPageOptions:[..._.rowsPerPageOptions||[],A].sort((Q,Y)=>parseInt(Q,10)-parseInt(Y,10))})),A),searchable:true,value:k.rowsPerPageOptions||[]}),jsx(Button,{color:"yellow",onClick:()=>{R(A=>({...A,rowsPerPageOptions:Nm})),x(Vm);},children:"Reset page sizes values"})]})]})]})]})})})]})})]})]}),t]})}var _m=e=>{let{dataVar:t,levelsVar:o}=e;return !![t,o].every(Boolean)},Qa=e=>{let t,o,{colorKey:n,dataVar:r,iconKey:i,defaultVar:s,isPrimitiveType:l,levelsVar:a,searchIndexKey:u}=e;s&&typeof s=="string"&&(t=`variables["${s}"].value`,o=`variables["${s}"].type`);let c=l?`variables["${r}"]`:`(variables["${r}"] || []).map((d) => ({...d, colorKey: String(d["${n}"]), iconKey: String(d["${i}"]), searchIndexKey: String(d["${u}"])}))`;return {logicLevels:`variables["${a}"]`,logicOptions:c,defaultValue:t,defaultValueType:o}};var Tc=e=>B[z.MULTIHIERARCHY_SELECTOR].find(t=>t.field===e)?.editorConfig,VE=e=>e&&Array.isArray(e)&&e.some(t=>typeof t=="object"&&t!==null),FE=e=>e&&e.type&&e.value,ir=e=>e&&Array.isArray(e)&&e.length;function vt(e,t,o){return e&&e[t]||o}function wc(e){let{executeButton:t,id:o,onChange:n,referenceContent:r,referenceLocale:i,simpleState:s}=e,l=La$1(o),[a,u]=useState(false),[c,p]=useState(()=>({allLabel:vt(s,"allLabel","All"),colorKey:vt(s,"colorKey",""),dataVar:vt(s,"dataVar",""),defaultVar:vt(s,"defaultVar",""),hideLabel:vt(s,"hideLabel","false"),resetSectionVars:vt(s,"resetSectionVars","false"),iconKey:vt(s,"iconKey",""),isPrimitiveType:vt(s,"isPrimiteType",false),levelsVar:vt(s,"levelsVar",""),limit:vt(s,"limit",0),placeholder:vt(s,"placeholder",""),searchIndexKey:vt(s,"searchIndexKey",""),searchIndexSeparator:vt(s,"searchIndexSeparator","|"),selectorIdentifier:vt(s,"label","")})),[f,m]=useState([]),[g,S]=useState([]),[v,h]=useState({}),[b,C]=useState({}),[d,y]=useState([]),x=useCallback((T,M,I=false)=>p(O=>({...O,[T]:!M&&I?"":M})),[]);useEffect(()=>{if(!l){m([]),S([]),h({}),C({});return}let T=Object.entries(l).filter(([G,W])=>VE(W)).reduce((G,[W,F])=>(G[W]=F,G),{}),M=Object.entries(l).filter(([,G])=>FE(G)).reduce((G,[W,F])=>(G[W]=F,G),{});C(T),h(M);let I=Object.keys(T),O=Object.keys(M);m(I),S(O),u(true);},[l]),useEffect(()=>{if(!Object.keys(b).length)return;let T=$a(b[c.dataVar]);if(T)y([]),x("colorKey",""),x("iconKey",""),x("searchIndexKey","");else {let M=new Set;(b[c.dataVar]||[]).forEach(O=>Object.keys(typeof O=="object"?O:{}).forEach(G=>M.add(G)));let I=Array.from(M).sort().map(O=>O);y(I);}x("isPrimitiveType",T);},[b,c.dataVar]),useEffect(()=>{let{allLabel:T,colorKey:M,dataVar:I,defaultVar:O,hideLabel:G,resetSectionVars:W,iconKey:F,levelsVar:L,limit:U,placeholder:P,searchIndexKey:A,searchIndexSeparator:_,selectorIdentifier:Q}=c,Y={allLabel:T,colorKey:M,dataVar:I,defaultVar:O,label:Q,hideLabel:G,resetSectionVars:W,iconKey:F,levelsVar:L,limit:U,placeholder:P,searchIndexKey:A,searchIndexSeparator:_},{logicOptions:ce,logicLevels:re,defaultValue:ae,defaultValueType:me}=Qa(Y);ae&&me&&(Y.defaultValue=ae,Y.defaultValueType=me),Y.data=ce,Y.levels=re;let gt=`return ${Wn(Y)};`,kt=Y,Rt=_m(kt);n(kt,gt,Rt);},[c]);let k=useCallback(T=>{x("dataVar",T),x("defaultVar",{}),x("colorKey",""),x("iconKey",""),x("searchIndexKey","");},[x]);if(!a)return null;let R=Object.keys(b),B=Object.keys(v),N=Tc(A.MULTIHIERARCHY_SELECTOR_ALL_LABEL),$=Tc(A.MULTIHIERARCHY_SELECTOR_NAME),K=Tc(A.MULTIHIERARCHY_SELECTOR_PLACEHOLDER);return jsxs(Fragment,{children:[jsxs(Stack,{mb:"sm",spacing:"xs",children:[jsx(wt,{field:"label",value:c.selectorIdentifier,handleEditor:(T,M)=>{x("selectorIdentifier",M);},referenceContent:r,referenceLocale:i,variables:l,editorConfig:$}),jsx(Checkbox,{label:jsx(Ke,{label:"Hide Label",py:0}),checked:c.hideLabel==="true",onChange:T=>x("hideLabel",T.currentTarget.checked?"true":"false")}),jsx(Select,{data:f,description:"(Required) Select an array of data available in the block inputs to use as data input.",label:jsx(Ke,{label:"Data Input"}),onChange:T=>k(T),value:ir(R)&&c.dataVar}),jsx(Select,{data:f,description:"(Required) Select an array of {label, value} items in the block inputs to use as levels.",label:jsx(Ke,{label:"Levels Input"}),onChange:T=>x("levelsVar",T),value:ir(R)&&c.levelsVar}),jsx(Select,{clearable:true,data:g,description:"(Optional) Select an object with {type, value} keys in the block inputs to use as default value.",label:jsx(Ke,{label:"Default Value"}),onChange:T=>{if(!T){x("defaultVar","");return}x("defaultVar",T);},value:ir(B)&&c.defaultVar}),jsx(NumberInput,{description:"(Optional) Sets a limit for selected values. Set 0 for no limit.",label:jsx(Ke,{label:"Limit"}),min:0,onChange:T=>x("limit",T),value:c.limit}),jsx(Accordion,{mt:"md",variant:"separated",children:jsxs(Accordion.Item,{value:"customization",children:[jsx(Accordion.Control,{children:"Customization"}),jsx(Accordion.Panel,{children:jsxs(Stack,{spacing:"xs",children:[jsx(wt,{field:"allLabel",value:c.allLabel,handleEditor:(T,M)=>x("allLabel",g$1(M)),referenceContent:r,referenceLocale:i,variables:l,editorConfig:N}),jsx(wt,{field:"placeholder",value:c.placeholder,handleEditor:(T,M)=>x("placeholder",g$1(M)),referenceContent:r,referenceLocale:i,variables:l,editorConfig:K}),jsx(Select,{clearable:true,data:d,description:"(Optional) Select a property key to use as item's icon background color. Requires defining an icon key.",disabled:c.isPrimitiveType,label:jsx(Ke,{label:"Color property key"}),onChange:T=>x("colorKey",T,true),value:ir(d)&&c.colorKey}),jsx(Select,{clearable:true,data:d,description:"(Optional) Select a property key to use as item's icon src.",disabled:c.isPrimitiveType,label:jsx(Ke,{label:"Icon property key"}),onChange:T=>x("iconKey",T,true),value:ir(d)&&c.iconKey}),jsx(Select,{clearable:true,data:d,description:"(Optional) Select a property key to extend the search functionality. The selected key MUST only contain text elements.",disabled:c.isPrimitiveType,label:jsx(Ke,{label:"Search index key"}),onChange:T=>x("searchIndexKey",T,true),value:ir(d)&&c.searchIndexKey}),jsx(TextInput,{description:'(Optional) Provide a search index separator in case each row contains more than one record. Default: "|".',disabled:!c.searchIndexKey,error:c.searchIndexSeparator===""?"Separator cannot be empty!":"",label:jsx(Ke,{label:"Search index separator"}),onChange:T=>x("searchIndexSeparator",T.currentTarget.value),value:c.searchIndexSeparator})]})})]})})]}),jsx(Checkbox,{my:"md",label:jsx(Ke,{label:"Reset SectionVariables on change",py:0}),checked:c.resetSectionVars==="true",onChange:T=>x("resetSectionVars",T.currentTarget.checked?"true":"false")}),t]})}var $E={[z.SELECTOR]:Tm,[z.NAV]:uc,[z.RELATED]:pc,[z.RESET_BUTTON]:fc,[z.COMPARISON_BUTTON]:gc,[z.TITLE]:mc,[z.STAT]:hc,[z.TABLE]:Cc,[z.MULTIHIERARCHY_SELECTOR]:wc},Hm=$E;function GE(e){let{blockType:t,id:o,locale:n,setBlockContent:r,simpleState:i}=e,s=lo(),l=La$1(o),a=Hm[t],u=jsx(vm,{fields:B[t],locale:n,defaultContent:i,variables:l,onChange:r},"text-editor");return a?jsx(a,{id:o,executeButton:s.executeButton,onChange:(c,p,f=true)=>r({simple:c,logic:p},n,true,f),simpleState:i,richTextEditor:u,variables:l,referenceContent:s.reference.content,referenceLocale:s.reference.locale}):u}var Wm=GE;function QE({id:e,variables:t,reserved:o,hasInternalKeys:n}){let[r,i]=useState(false);return jsxs(Fragment,{children:[n&&jsx(Switch,{label:"Show internal variables",size:"xs",checked:r,onChange:s=>i(s.currentTarget.checked)}),jsx(l,{id:e,variables:t,reserved:o,showInternal:r})]})}function ZE({id:e,setInlineId:t}){let o=va$1(u=>u.records.entities.block),n=ua(),r=Ma$1(e),i=Object.keys(r.attributes),s=useContext(db$1),l=Ya(s),a=u=>{n(ta$1.updateEntity("block",{id:e,inputAction:{operation:"delete",input:{input_id:u,block_id:e}}})).then(()=>{l();});};return jsx("div",{style:{display:"flex",flex:"1 1 auto",flexDirection:"column",width:"100%"},children:Object.keys(r).sort(u=>u==="attributes"?-1:1).map(u=>{let c=o[u],p=c&&[z.GENERATOR,z.SECTION_FLAG].includes(c.type),f=c?.type&&c?.id?`${c.type}${c.id}`:"",m=Object.keys(r[u]).some(k(f));return jsxs(Stack,{className:"cr-variable-group",style:{position:"relative"},children:[jsx(Divider,{}),jsxs(Group,{position:"apart",noWrap:true,grow:true,children:[jsx(Title,{order:6,children:c?`${titleCase(c.type)} ${c.id} Variables`:"Dimension Variables"}),c&&jsxs(Group,{position:"right",noWrap:true,children:[p&&jsx(Tooltip,{label:"Edit this generator",children:jsx(ActionIcon,{size:"xs",onClick:()=>t(u),variant:"subtle",color:"gray",children:jsx(IconPencil,{size:15})})}),jsx(Tooltip,{label:"Remove as input",children:jsx(ActionIcon,{size:"xs",onClick:()=>a(u),variant:"light",color:"red",children:jsx(IconLinkOff,{size:15})})})]})]}),jsx(QE,{id:u,variables:r[u],reserved:i,hasInternalKeys:m})]},u)})})}var Xm=ZE;function gI({blockType:e,fullscreen:t,toggle:o,codeEditor:n}){let r=lo(),i=[z.GENERATOR,z.VIZ].includes(e),[s,{open:l,close:a}]=useDisclosure(false);return jsxs(Fragment,{children:[jsxs(Popover,{width:400,position:"bottom",withArrow:true,shadow:"md",opened:s,children:[jsx(Popover.Target,{children:jsx(ActionIcon,{variant:"subtle",color:"blue",size:"sm",onMouseEnter:l,onMouseLeave:a,pos:"absolute",top:3,left:3,style:{zIndex:1},children:jsx(IconHelp,{size:16})})}),jsx(Popover.Dropdown,{children:jsxs(Text,{size:"sm",children:["You can access ",jsx(Code,{children:"variables"}),", ",jsx(Code,{children:"formatters"}),",",jsx(Code,{children:"locale"}),", ",jsx(Code,{children:"libs"}),",",e===z.GENERATOR&&jsxs(Fragment,{children:[jsx(Code,{children:"resp"}),", "]}),e===z.VIZ&&jsxs(Fragment,{children:[jsx(Code,{children:"section"}),", "]}),"and ",jsx(Code,{children:"router"})," in the scope of this generator.",i&&jsxs(Fragment,{children:[" Return a property called",jsx(Code,{children:"_api"})," as string, to let the user download that data and override api value."]})]})})]}),n,jsx(Divider,{my:"sm",color:"gray.8"}),jsxs(Group,{px:"xs",h:"fit-content",position:"right",children:[jsx(Button,{variant:"light",color:"grey",size:"xs",onClick:o,leftIcon:t?jsx(IconMinimize,{size:rem(12)}):jsx(IconMaximize,{size:rem(12)}),compact:true,children:t?"Minimize":"Maximize"}),r.executeButton]})]})}function hI(){let e=lo(),t=_a(),o=$a$1(),n=t!==o;return jsx(Group,{position:"right",my:"xs",children:jsxs(Stack,{align:"flex-end",spacing:"xs",children:[jsx(Switch,{label:e.mode==="simple"?"Code":"No Code",size:"xs",labelPosition:"left",checked:e.mode==="code",onChange:r=>e.changeEditorMode(r.currentTarget.checked?"code":"simple"),onLabel:jsx(IconCode,{size:rem(12)}),offLabel:jsx(IconCode,{size:rem(12)})}),e.mode!=="code"&&n&&jsx(Switch,{checked:e.reference.active,onChange:r=>e.reference.setActive(r.currentTarget.checked),size:"xs",label:"See reference language",labelPosition:"left",onLabel:jsx(IconLanguage,{size:"0.7rem"}),offLabel:jsx(IconLanguage,{size:"0.7rem"})})]})})}function bI({header:e,blockContent:t,blockSettings:o,blockType:n$1,id:r,locale:i,onSave:s,setBlockContent:l,setBlockSettings:a,setInlineId:u,sid:c}){let[p,f]=useState("Content"),[m,g]=useState(false),[S,v]=useState(false),h=Na$1(r),b=lo(),d=va$1(P=>P.status.isRunConsumersRunning).includes(c),y=useMemo(()=>{let P={resp:null,apiFinalUrls:null,apiDataSources:void 0};return h&&h.resp&&h.apiFinalUrls&&h.apiDataSources&&(P.resp=h.resp,P.apiFinalUrls=h.apiFinalUrls,P.apiDataSources=h.apiDataSources),P},[h]),x=La$1(r),{ref:k,toggle:R,fullscreen:B}=useFullscreen(),N=t&&(t.api||t.api==="")?t.api.split("|||"):[],$=(P,A)=>l({logic:P},A),K=(P,A)=>{let _=[...N];_[A]=P,l({api:_.join("|||")},void 0,void 0,void 0,true);},T=()=>{l({api:[...N,""].join("|||")}),g(true);},M=P=>{l({api:N.length===1&&N[0]===""?null:N.filter((A,_)=>_!==P).join("|||")},void 0,void 0,void 0,true);},I=(P,A)=>{a({[P]:A});},O=()=>{g(!m);},G=()=>{v(!S);},W=jsx(rn,{monacoOptions:{onChange:P=>$(P,i),value:t?.logic||"",height:B?"85vh":"61vh",width:"100%"}},"code-editor"),F=t?.simple||{},L=jsx(Wm,{blockType:n$1,id:r,locale:i,simpleState:F,setBlockContent:l,variables:x}),U=jsx(Col,{span:4,sx:P=>({display:"flex",flexDirection:"column",borderLeft:`2px solid ${P.colors.gray[0]}`}),children:jsxs(Stack,{children:[jsx(Text,{inline:true,size:"xs",transform:"uppercase",weight:"bold",color:"gray",children:"Preview"}),jsx(fa,{id:r,active:true,blockStateContent:t,blockStateSettings:o,locale:i,allowed:true,debug:true},"block-preview")]})});return jsxs(Grid,{h:"100%",children:[jsxs(Col,{span:3,sx:{alignSelf:"stretch",display:"flex",flexDirection:"column",height:"100%",position:"relative"},children:[z.SECTION_FLAG!==n$1&&jsx(Qd,{id:r}),jsx("div",{style:{width:"100%",maxHeight:"80vh",overflowY:"auto"},children:jsx(Xm,{id:r,setInlineId:u})})]}),jsxs(Col,{span:9,sx:P=>({alignSelf:"stretch",display:"flex",flexDirection:"column",height:"100%",borderLeft:`2px solid ${P.colors.gray[0]}`}),children:[e,jsxs(Tabs,{value:p,onTabChange:f,keepMounted:false,styles:{root:{flexGrow:1,display:"flex",flexDirection:"column"},panel:{flexGrow:1}},children:[jsxs(Tabs.List,{position:"left",children:[jsx(Tabs.Tab,{value:"Content",icon:jsx(IconPencil,{}),children:"Edit"}),jsx(Tabs.Tab,{value:"Style",icon:jsx(IconPalette,{}),children:"Style"}),jsx(Tabs.Tab,{value:"Settings",icon:jsx(IconSettings,{}),children:"Settings"})]}),jsx(Tabs.Panel,{value:"Content",children:jsx(Box,{ref:k,pos:"relative",bg:"white",h:"100%",children:jsxs(Grid,{className:"cr-block-output",style:{flex:1,width:"100%",height:B?"100vh":"100%",margin:0},children:[jsxs(Col,{span:8,className:`cr-block-output-editor ${b.mode}`,children:[![z.VIZ,z.GENERATOR,z.SECTION_FLAG].includes(n$1)&&jsx(hI,{}),[z.GENERATOR,z.SECTION_FLAG].includes(n$1)&&jsxs(Stack,{mb:5,spacing:4,children:[d&&jsx(Overlay,{children:jsx(Text,{children:"Running..."})}),jsxs(Group,{spacing:"xs",children:[jsx(Button,{size:"sm",variant:"light",color:"blue",leftIcon:m?jsx(IconChevronDown,{size:16}):jsx(IconChevronRight,{size:16}),onClick:O,sx:{flex:1},children:`${N.length} API Request${N.length!==1?"s":""}`}),jsx(Button,{size:"sm",onClick:T,variant:"light",color:"blue",leftIcon:jsx(IconPlus,{size:15}),children:"Add API"})]}),jsxs(Collapse,{in:m,children:[N.map((P,A)=>jsx($d,{defaultValue:P,pos:A+1,id:r,finalUrl:y.apiFinalUrls&&y.apiFinalUrls[A]?y.apiFinalUrls[A]:null,dataSource:y.apiDataSources&&y.apiDataSources[A]?y.apiDataSources[A]:null,onChangeAPI:_=>K(_,A),onDelete:()=>M(A)},`${r}-${A}-${N.length}`)),y.resp&&jsx(Button,{variant:"light",color:"blue",size:"xs",leftIcon:S?jsx(IconChevronDown,{size:14}):jsx(IconChevronRight,{size:14}),onClick:G,mt:5,children:"Response data preview (resp)"}),y.resp&&jsx(Collapse,{in:S,children:jsx("div",{style:{maxHeight:200,overflowY:"scroll"},children:jsx(j,{value:y.resp,root:true,label:"resp"})})})]})]}),jsxs(Box,{bg:b.mode==="code"?"#272822":"none",p:"xs",pos:"relative",children:[b.mode==="code"&&jsx(gI,{blockType:n$1,fullscreen:B,toggle:R,codeEditor:W}),b.mode!=="code"&&L]})]},"content-col"),U]})})}),jsx(Tabs.Panel,{value:"Style",pt:"xs",children:jsx(Box,{ref:k,pos:"relative",bg:"white",h:"100%",children:jsxs(Grid,{children:[jsxs(Col,{span:8,children:[jsx(Title,{order:4,children:"Style settings"}),jsx(n,{id:r,display:"inline",handleChange:I})]},"content-col"),U]})})}),jsx(Tabs.Panel,{value:"Settings",pt:"xs",children:jsx(Jd,{id:r,setBlockSettings:a})})]})]})]})}var ng=bI;var rg=e=>(!e||!e.contentByLocale||Object.keys(e.contentByLocale).forEach(t=>{let o=e.contentByLocale[t]?.content;o&&Object.keys(o).length===0&&(o.simpleEnabled=true,o.simple={});}),e);var Nc=["_icon","_iconType","_iconVariant","_iconSize","_iconRadius","_iconPadding"],ig={[z.SELECTOR]:["hideLabel","resetSectionVars","component","optionsType","type"],[z.TITLE]:[...Nc],[z.NAV]:[...Nc],[z.STAT]:[...Nc],[z.TABLE]:["data","tableProps","variable"],[z.MULTIHIERARCHY_SELECTOR]:["colorKey","dataVar","defaultVar","hideLabel","resetSectionVars","iconKey","levelsVar","limit","searchIndexKey","searchIndexSeparator"]},AI=(e,t)=>({...e,[t.locale]:{...t,content:t.content}});function PI({block:e,localeDerived:t}){let o=lo(),n=Ea$1(e.section_id).data,r=Da$1(n.report_id).data,i=n?.settings.name||`Section ${n?.id}`,s=`${e.type} ${e.id}`,l=r?.name||`Report ${r.id}`;return jsxs(Group,{w:"100%",children:[jsx(Alert,{color:"gray",sx:{flexGrow:1},py:"0.325rem",children:jsxs(Group,{position:"apart",children:[jsxs(Breadcrumbs,{separator:">",children:[jsx(Text,{size:"xs",children:l}),jsx(Text,{size:"xs",children:i}),jsx(Text,{size:"xs",children:s})]}),jsx(Badge,{size:"sm",radius:"sm",rightSection:jsx(Center,{children:t==="logic"?jsx(IconCode,{size:"0.6rem"}):jsx(IconLanguage,{size:"0.6rem"})}),children:t})]})}),jsxs(Group,{children:[o.cancelButton,o.closeAndSaveButton]})]})}function RI({id:e,modified:t,callbacks:o,inline:n}){let r=ua(),i=useContext(db$1),s=Ya(i),{setOpened:l,setModified:a,maybeCloseWithoutSaving:u,setInlineId:c}=o,p=Fa$1(e).data,f=va$1(O=>O.status.currentLocale),m=va$1(O=>O.status.localeDefault),g=va$1(O=>O.status.locales),S=N$1(p,f).locale,[v,h]=useState(),[b,C]=useState(false),[d,y]=useState(true);if(useEffect(()=>{h(rg(ya(p))),C(true);},[]),!p||!b||!v)return null;let x=O(v,f),k=v.settings,R=(O={},G=m,W=true,F=void 0,L=false)=>{let{locale:U}=N$1(p,G);if(W&&!t&&a(true),F!==void 0&&d!==F&&y(F),!O||Object.keys(O).length<1)return;let P=v.contentByLocale[U]||{id:e,locale:U,content:{}},A={...v,contentByLocale:{...v.contentByLocale,[U]:{...P,content:{...P.content,...O}}}};if(h(A),L){let _=N(A);r(ta$1.updateEntity("block",_)).then(()=>{s(),a(false);});}},B=(O,G)=>{if(S!=="logic"&&Object.keys(ig).includes(p.type)){let W={...O},F=O[G].content;return g.forEach(L=>{if(L===S)return;let P={...O[L].content.simple};Object.keys(F.simple).map(_=>{ig[p.type].includes(_)&&(P[_]=F.simple[_]);});let A={...P};if(p.type===z.SELECTOR){let{selectorType:_=hn.SINGLE,options:Q={static:[]},optionsType:Y=Fo.STATIC}=O[L].content.simple,{logicOptions:ce,defaultValue:re}=Ga(_,Q,Y);re&&(A.defaultValue=re),A.options=ce;}if(p.type===z.MULTIHIERARCHY_SELECTOR){let _=O[L].content.simple,{logicLevels:Q,logicOptions:Y,defaultValue:ce,defaultValueType:re}=Qa(_);ce&&re&&(A.defaultValue=ce,A.defaultValueType=re),A.data=Y,A.levels=Q;}W[L].content={...W[L].content,simple:P,logic:ro(A,false)};}),W}return O},N=(O=null)=>{let G=O||v,{settings:W}=G,F=Object.values(G.contentByLocale).reduce(AI,{}),L=["id","api","shared","type"].reduce((P,A)=>({...P,[A]:G[A]}),{}),U=B(F,f);return {...L,id:G.id,contentByLocale:U,settings:W}},$=async O=>{let G=N();r(ta$1.updateEntity("block",G)).then(()=>{s(),a(false),O||(n?c(null):l(false));});},K=O=>{t||a(true),O.type||O.shared!==void 0?h({...v,...O}):h({...v,settings:{...v.settings,...O}});};return jsx(Fragment,{children:jsx(gm,{buttons:{cancelButton:jsx(Button,{leftIcon:jsx(IconCircleX,{size:"0.8rem"}),size:"xs",variant:"outline",onClick:u,color:"red",children:"Cancel"},"cancel"),closeAndSaveButton:jsx(Button,{leftIcon:jsx(IconDeviceFloppy,{size:"0.8rem"}),size:"xs",disabled:!d,onClick:()=>$(false),children:`Save & ${n?"Return":"Close"}`},"save"),executeButton:jsx(Button,{disabled:!d,onClick:()=>$(true),size:"xs",compact:true,children:"Save & Execute"})},blockType:p.type,blockId:p.id,children:jsx(ng,{header:jsx(PI,{localeDerived:S,block:p}),blockContent:x,blockSettings:k,blockType:p.type,id:e,sid:p.section_id,locale:f,onSave:$,setBlockContent:R,setBlockSettings:K,setInlineId:c},"be")})})}var ag=RI;function jI({id:e,setHoverBlock:t,isInput:o,isConsumer:n$1,active:r,showOutline:i=true}){let[s,l]=useState(false),{newConfirmation:a}=b(),[u$1,c]=useState(false),[p,f]=useState(false),[m,g]=useState(null),S=useContext(db$1),v=Ya(S),h=useMantineTheme(),b$1=La$1(e),C=Na$1(e),d$1=useCallback(()=>{c(false),f(false),g(null);},[]),y=useDispatch(),x=va$1(A=>A.status.currentLocale),{data:k}=Fa$1(e),R=va$1(A=>A.records.entities.block),{isFetching:B}=ab("block",e),{allowed:N,allowedMessage:$}=useMemo(()=>{let A=!C?.hiddenByCascade,_="";return k&&(_=C?.hiddenByCascade===e?`Hidden by ${k.settings.allowed}: ${k.settings.allowed?b$1[k.settings.allowed]:null}`:`Hidden by ${C?.hiddenByCascade}`),{allowed:A,allowedMessage:_}},[b$1,C,k,e]);if(!k)return null;let{blockcol:K,type:T,section_id:M,contentByLocale:I,settings:O,inputs:G$1}=k,W=async()=>{if(p)try{await a({title:"Are you sure?",message:"Close editor without saving?",confirmText:"Yes, abandon changes."}),d$1();}catch{}else d$1();},F={centered:true,withCloseButton:false,opened:u$1,onClose:W,overflow:"inside",padding:h.spacing.sm,size:"95%",styles:{body:{height:"100%"}}},L={onMouseEnter:()=>t(e),onMouseLeave:()=>t(false)},U={setOpened:c,setModified:f,setInlineId:g,maybeCloseWithoutSaving:W},P=()=>{let A=Object.keys(R).filter(Y=>R[Y].section_id===k.section_id&&R[Y].blockcol===k.blockcol).map(Y=>R[Y].blockrow),_=f$2(A),Q={create:{blockrow:d(_),blockcol:K,locales:Object.keys(I).map(Y=>Y),section_id:M,type:T},update:{contentByLocale:I,settings:O,inputs:G$1.map(Y=>R[Y])}};y(ta$1.cloneEntity("block",Q)).then(()=>{[z.GENERATOR,z.SECTION_FLAG].includes(k.type)&&v({sid:M});});};return jsxs(Fragment,{children:[jsxs(Group,{id:`block-${e}`,onMouseOver:()=>l(true),onMouseOut:()=>l(false),className:"cr-section-block",pos:"relative",py:G.block.padding,...L,sx:A=>({border:"1px solid transparent",resize:"horizontal","&:hover":{border:i?`1px solid ${A.colors.blue[2]}`:"1px solid transparent"},...i?{"&:hover::before":{position:"absolute",top:0,left:0,fontSize:8,color:A.colors.blue[5],transform:"translateY(-100%)",content:`"Block ${e}"`,width:"fit-content"}}:{}}),children:[jsx(fa,{style:{color:"red"},id:e,debug:[z.VIZ,z.GENERATOR,z.SECTION_FLAG].includes(k.type),active:r,locale:x,allowed:N,isFetching:B},"bp"),(s||o||n$1)&&jsxs(Group,{spacing:0,className:"cr-block-controls export-hidden",style:{position:"absolute",right:px(h.spacing.xs)/2,top:px(h.spacing.xs)/2,backgroundColor:h.colors.gray[2],borderRadius:h.radius.sm,zIndex:5},children:[o||n$1?jsx(ActionIcon,{children:o?jsx(IconLogout,{size:20,color:h.colors.red[5]}):jsx(IconLogin,{size:20,color:h.colors.green[5]})},"globe"):null,k.shared&&jsx(Tooltip,{withArrow:true,label:"Sharing: Enabled",children:jsx(ActionIcon,{variant:"transparent",children:jsx(IconWorld,{size:20})},"globe")},"tt"),"access"in k.settings&&!["public","guest"].some(A=>!k.settings.access||k.settings.access.includes(A))&&jsx(Tooltip,{withArrow:true,label:"Private Block",children:jsx(ActionIcon,{variant:"transparent",children:jsx(IconLock,{size:20})},"lock")},"tt"),!N&&jsx(Tooltip,{withArrow:true,label:$,children:jsx(ActionIcon,{variant:"transparent",children:jsx(IconEyeOff,{size:20})})},"allowed"),![z.GENERATOR,z.SECTION_FLAG].includes(k.type)&&jsx(n,{id:e,display:"button"},"design"),jsx(ActionIcon,{onClick:()=>c(true),children:jsx(IconPencil,{size:20})},"edit"),![z.SECTION_FLAG].includes(k.type)&&jsx(ActionIcon,{onClick:P,children:jsx(IconCopy,{size:20})},"copy"),jsx(zd,{type:u.BLOCK,id:e},"cog")]},"bc")]},"block"),jsx(Modal,{fullScreen:true,...F,children:jsx(ag,{callbacks:U,id:m||e,inline:m,modified:p},m||e)},"d")]})}var sr=jI;var ug=({id:e,disabled:t=false})=>{let{sectionVariables:o,resetSectionVariables:n}=Va(e);return !Object.keys(o).length?null:jsx(ActionIcon,{disabled:t,onClick:n,variant:"filled",size:"xs",children:jsx(IconRefresh,{size:20})})},QI=({sectionId:e,onActivate:t})=>{let{activeEntity:o}=Ka(),{handlers:n}=Za("settings");return o.type==="section"&&o.id===e?jsx(Button,{size:"xs",radius:"xl",leftIcon:jsx(IconPencil,{size:14}),fw:400,onClick:n.open,compact:true,children:"Edit"}):jsx(ActionIcon,{variant:"transparent",onClick:()=>{t(),n.open();},children:jsx(IconPencil,{size:18})})};function ZI({sectionId:e$1,onActivate:t,position:o}){let n=useDispatch(),r=Ea$1(e$1),i=va$1(f=>f.records.entities.section),{data:s}=r,l=a$2(),a=Number.parseInt(l.params[0]),u=Da$1(a),c=va$1(f=>f.records.entities.block);if(!s||!u.data?.sections)return null;let{sections:p}=u.data;return jsxs(Group,{spacing:2,children:[jsx(QI,{sectionId:e$1,onActivate:t}),jsx(ActionIcon,{variant:"transparent",onClick:()=>{let f={...s,ordering:e(i,p,o+1,true)},m=eA(f,c);n(ta$1.cloneEntity("section",m));},children:jsx(IconCopy,{size:18})}),jsx(Bt,{type:"section",id:e$1})]})}function eA(e,t){let{heading:o,report_id:n,ordering:r,settings:i}=e,s=[];return {create:{ordering:r,report_id:n},update:{settings:i,heading:o,report_id:n,blocks:e?.blocks.map(a=>{let u=t[a],{blockcol:c,blockrow:p,contentByLocale:f,type:m,settings:g,section_id:S,shared:v,inputs:h,consumers:b}=u;return {blockcol:c,blockrow:p,contentByLocale:f,id:a,type:m,settings:g,section_id:S,shared:v,inputs:h.map(C=>{let d=t[C],{id:y,section_id:x,blockcol:k,blockrow:R,contentByLocale:B,settings:N,shared:$,type:K}=d;return {id:y,section_id:x,blockcol:k,blockrow:R,contentByLocale:B,settings:N,shared:$,type:K}}),consumers:b.reduce((C,d)=>{let y=t[d];if(y){let{id:x,section_id:k,blockcol:R,blockrow:B,contentByLocale:N,settings:$,shared:K,type:T}=y;return [...C,{id:x,section_id:k,blockcol:R,blockrow:B,contentByLocale:N,settings:$,shared:K,type:T}]}return C},s)}})}}}var pg=ZI;function mg({active:e,isDragging:t,id:o,dragHandleProps:n,hidden:r="",onActivate:i$1,sectionSettings:s,position:l}){let a=va$1(f=>f.records.entities.section[o]||null);if(!a)return null;let u=useMemo(()=>a&&a.settings?.name?.length?a.settings.name:`section-${a.id}`,[a.settings?.name,a.id]),c=useMemo(()=>i(u),[u]),p=r!=="";return jsxs(Group,{className:`cms-section-header${e||t?" active":""}`,position:"apart",bg:p?"red.1":"gray.3",sx:{overflow:"hidden",borderRadius:4},children:[jsx(Group,{className:"cms-section-header-editor",spacing:0,children:jsxs(Group,{spacing:0,children:[jsx(ActionIcon,{variant:"transparent",...n,w:16,sx:{cursor:"grab"},children:jsx(IconGripHorizontal,{size:16})},"b1"),jsxs(Text,{size:"xs",fw:400,color:"dark.9",children:[u,c!==u&&jsxs(Text,{span:true,size:"xs",c:"dimmed",children:[" #",c]}),p&&` ${r}`]})]})}),jsxs(Group,{children:[jsxs(Flex,{justify:"flex-end",mx:16,align:"center",gap:"xs",children:[jsx(ug,{id:a.id,disabled:!e}),s.optionsMenu&&jsx(C,{sectionId:a.id,disabled:!e})]}),jsx(pg,{sectionId:o,onActivate:i$1,position:l})]})]})}var yA=Object.values(z),xg=({columns:e,columnIndex:t,section:o})=>{let n=ua(),{settings:r}=i$1(o.report_id),[i,s]=useDisclosure(false),l=(u,c=false)=>{let p="!",f="!";typeof c=="string"?(f=c,p=f$2(Object.keys(e[c]),true)):Object.keys(e).length>0&&(f=f$2(Object.keys(e),true));let{locales:m}=N$1({type:u});n(ta$1.createEntity("block",{blockrow:p,blockcol:f,type:u,section_id:o.id,locales:m})).then(g=>{u===z.VIZ&&n(ta$1.updateEntity("block",{id:g.data.id,contentByLocale:{logic:{...g.data.contentByLocale.logic,content:{simpleEnabled:true,simple:{},logic:V}}}}));});},a=yA.filter(u=>![z.GENERATOR,z.SECTION_FLAG,z.FALLBACK].includes(u)&&(r.comparison?true:u!==z.COMPARISON_BUTTON)).map(u=>{let c=O$1(u);return {label:jsx(UnstyledButton,{p:"xs",w:"100%",onClick:()=>{l(u,t),s.close();},sx:{":hover":{backgroundColor:"#EBEBEB"}},children:jsxs(Group,{spacing:"xs",children:[jsx(ThemeIcon,{color:"blue",variant:"filled",size:"sm",radius:"xl",children:jsx(c,{size:"0.8rem"})}),jsx(Text,{size:"xs",children:Q(u)||u})]})}),value:u}});return jsx(Center,{w:"100%",py:"sm",children:jsxs(Popover,{position:"right",withinPortal:true,zIndex:100,opened:i,onClose:s.close,children:[jsx(Popover.Target,{children:jsx(ActionIcon,{size:"lg",radius:"xl",variant:"light",bg:"#E5E5E5 !important",onClick:s.toggle,children:jsx(IconPlus,{size:24,color:"white",strokeWidth:1})})}),jsxs(Popover.Dropdown,{p:0,children:[jsx(Text,{bg:"#E5E5E5",size:"xs",p:"xs",children:"Add Block"}),jsx(ScrollArea,{h:230,children:jsx(List,{listStyleType:"none",styles:{itemWrapper:{width:"100%"}},children:a.map(({label:u,value:c})=>jsx(List.Item,{w:"100%",children:u},c))})})]})]})})},vA=({columns:e,section:t,show:o=false})=>o?jsx(Center,{w:"100%",children:jsxs("div",{children:[jsx(Text,{ta:"center",fw:700,size:"sm",color:"gray.8",children:"Add your first block!"}),jsx(xg,{columnIndex:false,columns:e,section:t})]})}):null,SA=({active:e=false})=>jsx(Droppable,{droppableId:"newColumn",children:(t,o)=>jsx(Center,{ref:t.innerRef,pos:"absolute",top:16,right:e?0:-140,bottom:16,w:140,sx:n=>({boxSizing:"border-box",zIndex:99,transition:"right 0.4s",overflow:"hidden",background:o.isDraggingOver?n.colors[n.primaryColor][0]:n.colors.gray[0]}),...t.droppableProps,children:jsxs(Stack,{p:"md",align:"center",children:[jsx(Text,{size:"xs",ta:"center",children:"Drop here to add new column"}),jsx(IconPlus,{})]})})}),xA=({onActivate:e,section:t,show:o=false})=>{let r=va$1(i=>i.status.isRunConsumersRunning).includes(t.id);return !o&&!r?null:jsxs(Overlay,{className:"cms-section-overlay",onClick:()=>e(t.id),opacity:.6,color:"#E9ECEF",style:{cursor:"pointer",zIndex:3},sx:i=>({transition:"background-color .45s",".bespoke-Section-edit":{opacity:0,transition:"opacity .45s"},"&:hover":{backgroundColor:i.fn.rgba("#E9ECEF",.9),".bespoke-Section-edit":{opacity:1}}}),center:true,children:[!r&&jsxs(Group,{className:"bespoke-Section-edit",align:"center",spacing:"xs",children:[jsx(Text,{fw:700,children:"Click to Edit"}),jsx(IconPencil,{size:"1rem"})]}),r&&jsxs(Stack,{align:"center",spacing:"xs",children:[jsx(Text,{fw:700,children:"Loading dependencies"}),jsx(Loader,{size:"md"})]})]})};function CA({for:e$1,isDragging:t,onActivate:o,dragHandleProps:n,position:r}){let i$1=ua(),{activeEntity:s}=Ka(),[l,a]=useState(false),[u,c]=useState(),p=useRef(null),f=va$1(I=>I.records.entities.block),m$1=va$1(I=>I.status.previews),g=ab("section",e$1.id),{memberImageBg:S,hidden:v,columnSettings:h={}}=e$1.settings,b=s.type==="section"&&s.id===e$1.id,{inputs:C,consumers:d}=useMemo(()=>{if(u){let I=f[u],{inputs:O,consumers:G}=I;return {inputs:O,consumers:G}}return {inputs:[],consumers:[]}},[u]),y=Object.values(f||{}).filter(I=>I.section_id===e$1.id&&![z.GENERATOR,z.SECTION_FLAG].includes(I.type)).reduce((I,O)=>(I[O.blockcol]?I[O.blockcol][O.blockrow]=O:I[O.blockcol]={[O.blockrow]:O},I),{}),x=useMantineTheme(),k=()=>a(true),R=I=>{if(a(false),!I.destination)return;let{source:O,destination:G}=I;if(O.droppableId===G.droppableId&&O.index===G.index)return;let W=G.droppableId==="newColumn",F=Number(I.draggableId),L=O.droppableId,U=W?f$2(Object.keys(y),true):G.droppableId,P={id:F,blockrow:"!",blockcol:"!"},A=L!==U;P.blockcol=A?U:L;let _=Object.values(y[P.blockcol]||{}),Q=_.reduce((re,ae)=>({...re,[ae.id]:ae}),{}),Y=_.sort((re,ae)=>c$1(re,ae,"blockrow")).map(re=>re.id),ce=G.index>O.index;P.blockrow=e(Q,Y,G.index,A,ce,"blockrow"),i$1(ta$1.updateEntity("block",P));},B=useMemo(()=>{let I=Object.values(f||{}).filter(O=>O.section_id===e$1.id&&W(O));return I.length>1&&console.error(`Error, there are more than one Section Flag Generator in section ${e$1.id}`),I.length>0?I[0]:false},[f,b,e$1.id]),N=va$1(I=>B&&I.variables.variables[B.id]&&!I.variables.variables[B.id][T]||false),$=useMemo(()=>{let I="";return N&&B&&(I+=`(Not allowed by Section Flag #${B.id})`),v&&(I+="(Hidden by Section Settings)"),I},[v,N]),K=Object.keys(y).sort((I,O)=>-b$1(I,O)),T$1=Object.keys(y).length,M=useMemo(()=>e$1?.settings?.name?i(e$1?.settings?.name):`section-${e$1.id}`,[e$1.id,e$1?.settings?.name]);return g.isFetching?jsxs(Box,{p:"lg",m:"lg",bg:G.section.backgroundColor,sx:I=>({borderRadius:I.radius.md,border:`1px solid ${I.colors.gray[4]}`}),children:[jsx(Skeleton,{height:50,circle:true,mb:"xl"}),jsx(Skeleton,{height:8,radius:"xl"}),jsx(Skeleton,{height:8,mt:6,radius:"xl"}),jsx(Skeleton,{height:8,mt:6,width:"70%",radius:"xl"})]}):jsxs(Box,{px:"md",mt:"md",children:[jsx(mg,{active:b,id:e$1.id,isDragging:t,hidden:$,dragHandleProps:n,onActivate:()=>o(e$1.id),sectionSettings:e$1.settings,position:r}),jsxs(Box,{pos:"relative",sx:I=>({border:b?`1px solid ${I.colors.blue[4]}`:"none",borderRadius:2}),children:[jsx(Paper,{id:M,className:`cms-section${t||b?" active":""}`,bg:e$1.settings.style==="card"?G.section.backgroundColor:"transparent",p:0,mih:100,maw:e$1.settings.width==="center"?x.breakpoints.xl:"none",w:"100%",mx:"auto",pos:"relative",shadow:e$1.settings.style==="card"?G.section.boxShadow:"none",radius:G.section.borderRadius,sx:{overflow:"hidden"},children:jsxs(Box,{pos:"relative",children:[S&&jsx(B$1,{previews:m$1}),jsx(F,{ref:p,containerProps:{mih:!b||!T$1?120:"none",p:e$1.settings.margin||"md",style:{zIndex:2},gap:e$1.settings.columnGutter||"md",wrap:"wrap"},children:jsxs(DragDropContext,{onDragEnd:R,onDragStart:k,children:[K.map(I=>{let O=Object.values(y[I]).sort((G,W)=>c$1(G,W,"blockrow"));return jsx(Droppable,{droppableId:I,children:(G,W)=>jsxs(D,{column:y[I],columnSettings:h[I],ref:G.innerRef,basis:`calc(${100/T$1}% - (10px * ${T$1}))`,sx:{background:W.isDraggingOver?x.colors[x.primaryColor][0]:"inherit",border:"1px solid transparent","& .bespoke-resize-col":{visibility:"hidden"},"&:hover .bespoke-resize-col":{visibility:"visible"},"&:hover":{border:`1px solid ${x.colors.teal[1]}`}},...G.droppableProps,children:[jsx(E,{sectionId:e$1.id,columnIndex:I}),O.map((F,L)=>{if(!f[F.id])return null;let{settings:U,type:P}=f[F.id],A=U.width&&!U.width.stretch&&U.width.unit?m[U.width.unit](U.width.value):U.display==="inline"?"auto":"100%",_={alignSelf:P===z.VIZ?"stretch":"flex-start",flexGrow:0,margin:"0",width:A,minWidth:120};return jsx(Draggable,{draggableId:String(F.id),index:L,children:(Q,Y)=>jsx(Box,{ref:Q.innerRef,...Q.draggableProps,...Q.dragHandleProps,sx:[_,{boxShadow:Y.isDragging?x.shadows.lg:"none",...Q.draggableProps.style}],children:jsx(sr,{id:Number(F.id),active:b,isInput:C.includes(Number(F.id)),isConsumer:d.includes(Number(F.id)),setHoverBlock:c},`block-${F.id}`)})},F.id)}),b&&jsx(xg,{section:e$1,columnIndex:I,columns:y}),G.placeholder]})},I)}),jsx(SA,{active:l&&b})]})}),jsx(vA,{columns:y,section:e$1,show:b&&!T$1})]})}),jsx(xA,{onActivate:o,section:e$1,show:!b})]})]})}var Cg=cb(CA,Ea$1);function LA(e,t){let o=document.getElementById(t),n=90;if(o){let i=o.getBoundingClientRect().top+e.current.scrollTop-n;e.current.scrollTo({top:i,behavior:"smooth"});}}function BA(e,t,o){let n=document.getElementById(`bespoke-${t}-${o}`),r=60;if(n){let s=n.getBoundingClientRect().top+e.current.scrollTop-r;e.current.scrollTo({top:s,behavior:"smooth"});}}function zA({section:e,onEnd:t}){let[o,n]=useState(e.settings?.name||`section-${e.id}`),r=s=>{[13,27].includes(s.keyCode)&&t(o);},i=useClickOutside(()=>t(o));return useEffect(()=>{setTimeout(()=>{i?.current&&i?.current?.focus();},200);},[i]),jsx(Input,{ref:i,bg:"gray.3",styles:{input:{display:"block",height:"100%",minHeight:"auto",lineHeight:"1rem",padding:0,boxSizing:"border-box"}},mih:"auto",type:"text",variant:"unstyled",value:o,onChange:s=>n(s.target.value),onKeyDown:r})}var NA=forwardRef(function({scrollContainer:t,section:o,isActive:n,...r},i$1){let s=va$1(k=>k?.records.entities.block),{settings:l,updateSettings:a}=h(o.id),u=useMantineTheme(),[c,p]=useState(false),[f,m]=useState(false),g=va$1(k=>{let R=o.blocks.map(B=>k.records.entities.block[B]).filter(B=>W(B));return R.length>0?k.variables.variables[R[0].id]:false}),S=g?u.colors[g[T]===false?"red":"green"][3]:"",v=useCallback(k=>{a("name",k),m(false);},[a]),h$1=useRef(false);useEffect(()=>{p(!!n);},[n]);let b=useMemo(()=>l?.name?i(l?.name):`section-${o.id}`,[o.id,l?.name]),C=useMemo(()=>l?.name||`section-${o.id}`,[o.id,l?.name]),d=k=>{k.detail===1&&(h$1.current=false,setTimeout(()=>{h$1.current||LA(t,b);},200)),k.detail===2&&(h$1.current=true,m(R=>!R));},y=n?u.colors.blue[5]:"black",x=o?.blocks.map(k=>s[k]).filter(k=>![z.GENERATOR,z.SECTION_FLAG].includes(k.type)).map(k=>{let R=N[k.type]||IconDice;return jsx(List.Item,{pl:"lg",sx:{border:"1px solid transparent","&:hover":{border:"1px solid blue",cursor:"default"}},icon:jsx(R,{size:"0.8rem"}),onClick:()=>BA(t,k.type,k.id),children:jsx(Text,{size:"sm",children:`${k.type} ${k.id}`})},k.id)});return jsxs(List.Item,{ref:i$1,w:"100%",...r,children:[jsxs(Group,{position:"apart",noWrap:true,px:"sm",bg:n?u.colors.gray[2]:"transparent",sx:k=>({cursor:"default",border:`1px solid ${n?k.colors.gray[2]:"transparent"}`,".section-icon":{color:y},":hover":{border:`1px solid ${k.colors.blue[5]}`}}),children:[jsxs(Group,{spacing:"xs",miw:0,onClick:d,noWrap:true,children:[jsx(IconBoxMultiple,{className:"section-icon",size:"0.8rem",style:{flexShrink:0}}),f?jsx(zA,{section:o,onEnd:v}):jsxs(Group,{spacing:4,align:"flex-end",children:[jsxs(Text,{size:"sm",fw:500,color:"gray.5",span:true,children:[o.id," -"]}),jsx(Text,{size:"sm",c:y,maw:220,sx:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden"},span:true,children:C})]})]}),jsxs(Group,{spacing:"xs",children:[o.settings.hidden&&jsx(IconEyeOff,{size:"0.8rem",color:u.colors.red[3]}),g&&jsx(IconFlag,{size:"0.8rem",color:S,fill:S}),x.length&&jsx(IconChevronDown,{size:"0.8rem",style:{transform:`rotate(${c?-180:0}deg)`,flexShrink:0},onClick:()=>p(k=>!k)})]})]}),c&&x.length?jsx(List,{listStyleType:"none",children:x}):null]})}),wg=NA;function Wc({activeSection:e$1,scrollContainer:t}){let o=va$1(l=>l?.records.entities.section),n=ua(),r=Object.values(o).sort(c$1),i=r.map(l=>l?.id),s=useCallback(l=>{if(!l.destination||l.source.index===l.destination.index)return;let a=Number.parseInt(l.draggableId,10),u=l.destination.index>l.source.index,c=e(o,i,l.destination.index,false,u),p=i.slice(),f=p.splice(l.source.index,1);p.splice(l.destination.index,0,...f),n(ta$1.updateEntity("section",{id:a,ordering:c}));},[n,o,i]);return jsxs(ScrollArea.Autosize,{mah:"80vh",pb:"sm",sx:{borderBottom:"1px solid rgba(0, 0, 0, 0.1)"},children:[jsx(Text,{fw:700,size:"sm",px:"sm",children:jsxs(Center,{inline:true,children:[jsx(IconIndentIncrease,{size:"1rem"}),jsx(Text,{ml:"xs",span:true,children:"Navigation"})]})}),jsx(DragDropContext,{onDragEnd:s,children:jsx(List,{styles:{itemWrapper:{width:"100%"}},mt:"sm",listStyleType:"none",children:jsx(Droppable,{droppableId:"sections",children:l=>jsx("div",{ref:l.innerRef,...l.droppableProps,children:r.map((a,u)=>jsx(Draggable,{draggableId:`${a?.id}`,index:u,children:c=>jsx(wg,{scrollContainer:t,ref:c.innerRef,section:a,isActive:a.id===e$1,...c.draggableProps,...c.dragHandleProps})},a?.id))})})})})]})}var JA=e=>t=>Object.values(t.records.entities.block||{}).filter(o=>o.section_id===e&&z.GENERATOR===o.type);function Kc({activeSection:e}){let t=va$1(JA(e)),o=ua(),n=()=>{let{locales:r}=N$1({type:z.GENERATOR});o(ta$1.createEntity("block",{blockrow:void 0,blockcol:void 0,type:z.GENERATOR,section_id:e,locales:r})).then(i=>{o(ta$1.updateEntity("block",{id:i.data.id,contentByLocale:{logic:{...i.data.contentByLocale.logic,content:{simpleEnabled:true,simple:{},logic:U}}}}));});};return jsx(ScrollArea.Autosize,{mah:"80vh",w:"330px",sx:{borderBottom:"1px solid rgba(0, 0, 0, 0.1)"},children:jsxs(Stack,{pos:"relative",w:330,pr:"md",children:[jsxs(Group,{position:"apart",children:[jsx(Text,{fw:700,children:"Generators"}),jsx(ActionIcon,{c:"black",onClick:n,children:jsx(IconPlus,{})})]}),t.length?t.map(r=>jsx("div",{children:jsx(sr,{id:Number(r.id),active:!!e,isInput:false,isConsumer:false,setHoverBlock:()=>{},showOutline:false})},`block-${r.id}`)):jsx(Text,{align:"center",size:"sm",children:"Click '+' to add a generator"})]})})}function Lg({sectionId:e}){let[t,o]=useState(window.innerWidth-40),[n,r]=useState(window.innerHeight-150);useEffect(()=>{let g=()=>{o(window.innerWidth-40),r(window.innerHeight-120);};return window.addEventListener("resize",g),()=>{window.removeEventListener("resize",g);}},[]);let i=Aa$1(),s=za$1(),[l,a]=useState(`${e}`),u=useMemo(()=>s.isSuccess?s.data.map(S=>({value:`${S.id}`,label:S.settings.name?`${S.settings.name} (${S.id})`:`Section ${S.id}`})):[],[s.isLoading]),c=useMemo(()=>{if(i.isSuccess&&l){let g={id:"root",label:"section",size:40,parentIds:[]},S={id:"wide",label:"report",size:40,parentIds:[]},v=i.data.filter(b=>`${b.section_id}`==`${l}`),h=v.map(b=>b.id);return [g,S,...v.map(b=>{let C=b.consumers.length>0?b.consumers.length*20:40,d=b.inputs.length>0?b.inputs.map(y=>h.includes(y)?`${y}`:`${S.id}`):[`${g.id}`];return {id:`${b.id}`,label:`${b.type}`,size:C>50?50:C,parentIds:[...Array.from(new Set(d))]}})]}else return []},[i.isLoading,l]),p=useRef(null);return useEffect(()=>{let g=ds.dagStratify()(c),S=40,v=ds.sugiyama().nodeSize(M=>{let I=M?M.data:null,O=I?I.size:S;return [(M?3.6:.25)*O,3*O]}),{width:h,height:b}=v(g),C=Ut.select(p.current);C.selectAll("*").remove(),C.attr("viewBox",[0,0,h,b].join(" "));let d=C.append("defs"),y=g.size(),x=Ut.interpolateRainbow,k=new Map;c.forEach((M,I)=>{k.set(M.id,x(I/y));});let R=Ut.line().curve(Ut.curveCatmullRom).x(M=>M.x).y(M=>M.y);C.append("g").selectAll("g").data(g.links()).enter().append("g").append("path").attr("class","curve").attr("d",({points:M})=>R(M)).attr("fill","none").attr("stroke-width",3).attr("stroke",({source:M,target:I})=>{let O=encodeURIComponent(`${M.data.id}--${I.data.id}`),G=d.append("linearGradient").attr("id",O).attr("gradientUnits","userSpaceOnUse").attr("x1",M.x).attr("x2",I.x).attr("y1",M.y).attr("y2",I.y);return G.append("stop").attr("offset","0%").attr("stop-color",k.get(M.data.id)),G.append("stop").attr("offset","100%").attr("stop-color",k.get(I.data.id)),`url(#${O})`}),C.append("g").selectAll("g").data(g.descendants()).enter().append("g").attr("transform",({x:M,y:I})=>`translate(${M}, ${I})`).append("circle").attr("r",M=>M.data.size).attr("fill",M=>k.get(M.data.id));let $=C.append("g").selectAll("g").data(g.links()).enter().append("g"),K=Ut.symbol().type(Ut.symbolTriangle).size(S*1.5);$.append("path").attr("class","arrow").attr("d",K).attr("transform",M=>{let{points:I,target:O}=M,[G,W]=I.reverse(),F=W.x-G.x,L=W.y-G.y,U=O.data.size*1/Math.sqrt(F*F+L*L),P=Math.atan2(-L,-F)*180/Math.PI+90;return `translate(${G.x+F*U}, ${G.y+L*U}) rotate(${P})`}).attr("fill",({target:M})=>k.get(M.data.id)).attr("stroke","white");let T=C.append("g").selectAll("g").data(g.descendants()).enter().append("g").attr("transform",({x:M,y:I})=>`translate(${M}, ${I})`);T.append("text").text(M=>M.data.id).attr("font-weight","bold").attr("font-family","sans-serif").attr("text-anchor","middle").attr("font-size","10px").style("transform","translate(0px,10px)").attr("alignment-baseline","middle").attr("fill","black"),T.append("text").text(M=>M.data.label).attr("font-weight","bold").attr("font-family","sans-serif").attr("font-size","15px").style("transform","translate(0px,-5px)").attr("text-anchor","middle").attr("alignment-baseline","middle").attr("fill","black");},[c]),jsxs(Stack,{spacing:0,children:[jsxs(Group,{align:"flex-end",w:"100%",position:"apart",children:[jsx(Select,{label:"Choose a section",placeholder:"Pick one",value:l,onChange:a,data:u,width:"80%"}),jsxs(Group,{grow:true,maw:100,children:[jsx(ActionIcon,{onClick:()=>{let g=u.findIndex(S=>S.value===l);g>0&&a(u[g-1].value);},variant:"outline",children:jsx(IconChevronLeft,{size:"1.125rem"})}),jsx(ActionIcon,{onClick:()=>{let g=u.findIndex(S=>S.value===l);g<u.length-1&&a(u[g+1].value);},variant:"outline",children:jsx(IconChevronRight,{size:"1.125rem"})})]})]}),jsx("svg",{ref:p,width:t,height:n})]})}function Bg({name:e,id:t,variables:o}){return jsxs(Flex,{gap:"xs",children:[jsx(ThemeIcon,{bg:"blue.5",color:"white",size:"sm",radius:"xl",sx:{flexGrow:0},children:jsx(IconCodeDots,{size:"0.8rem"})}),jsxs(Stack,{sx:{flexGrow:1},children:[jsx(Text,{size:"sm",children:e}),jsx(l,{id:t,variables:o})]})]})}function hP({sectionId:e}){let[t,o]=useDisclosure(false);return jsxs(Fragment,{children:[jsx(Button,{onClick:o.open,variant:"outline",radius:2,leftIcon:jsx(IconBinaryTree,{}),children:"Section Graph"}),jsx(Modal,{opened:t,onClose:o.close,title:"Block Graph",fullScreen:true,children:jsx(Lg,{sectionId:e})})]})}function bP({activeSection:e}){let t=va$1(i=>i.records.entities.block),o=va$1(i=>i.variables.attributes),n=va$1(i=>i.variables.variables),r=Object.values(t).filter(i=>(i.section_id===e||i.shared)&&Object.keys(n[i.id]||{}).length);return jsxs(Box,{px:"sm",w:"100%",children:[jsx(Text,{fw:700,size:"sm",children:jsxs(Center,{inline:true,children:[jsx(IconCodeDots,{size:"1rem"}),jsx(Text,{ml:"xs",span:true,children:"Variables"})]})}),jsx(ScrollArea.Autosize,{mah:"40vh",mx:"sm",w:"240px",children:jsxs(Stack,{mt:"sm",children:[jsx(Bg,{name:"Report Variables",id:"attributes",variables:o}),r.map(i=>jsx(Bg,{id:i.id,name:`${i.type} ${i.id}`,variables:n[i.id]},i.id))]})})]})}function yP(){return jsx(Title,{children:"Formatters"})}var vP={section:[{label:"Navigation",value:"navigation"},{label:"Generators",value:"generators"}]};function Zc({scrollContainer:e}){let{opened:t,handlers:o}=Za("tools"),{toggle:n}=o,[r,i]=useState("navigation"),{activeEntity:s}=Ka(),l=c=>i(c),a=s.type==="section"?s.id:null,u=t&&jsxs(Fragment,{children:[a&&jsx(SegmentedControl,{sx:{flexShrink:0},data:vP.section,value:r,onChange:l}),jsxs(Stack,{sx:{flexGrow:1},spacing:"sm",mt:32,children:[(r==="navigation"||!a)&&jsx(Wc,{activeSection:a,scrollContainer:e}),r==="generators"&&a&&jsx(Kc,{activeSection:a}),r==="variables"&&jsx(bP,{activeSection:a}),r==="formatters"&&jsx(yP,{})]})]});return jsxs(Flex,{direction:"column",justify:t?"space-between":"flex-end",bg:"white",pb:30,pt:"sm",px:"xs",mah:"100vh",w:t?"350px":"50px",sx:c=>({overflow:"hidden",borderRight:`1px solid ${c.colors.gray[2]}`,flexShrink:0,flexGrow:0}),children:[u,jsxs(Flex,{justify:t?"space-between":"center",px:"sm",children:[s.type==="section"&&t&&jsx(hP,{sectionId:a}),jsx(UnstyledButton,{onClick:n,sx:{transform:`rotate(${t?0:180}deg)`},children:jsx(IconChevronLeft,{size:24})})]})]})}function wP({activeSection:e}){let{settings:t,updateSettings:o}=h(e),n=t.name||`section-${e}`,[r,i]=useState(n),[s,l]=useState(false);return jsx(TextInput,{label:"Section Name",description:"Section name. Only for organization purposes. Won't be displayed on the final report.",value:s?r:n,onChange:a=>i(a.target.value),onFocusCapture:()=>{i(n),l(true);},onBlurCapture:()=>{o("name",r),l(false);},withAsterisk:true,radius:2})}function EP({activeSection:e}){let{settings:t,updateSettings:o}=h(e),n=t.tags,r=va$1(a=>e&&a.records.entities.section[e]),i=va$1(a=>e&&r?Object.values(a.records.entities.section).filter(u=>u&&u.report_id===r.report_id):[]),s=useMemo(()=>{let a=new Set;return i.forEach(u=>{let c=u?.settings?.tags;c&&(Array.isArray(c)?c.forEach(p=>p&&a.add(p)):typeof c=="string"&&c.split(/\s+/).forEach(p=>p&&a.add(p)));}),Array.from(a).sort()},[i]),l=useMemo(()=>n?Array.isArray(n)?n:typeof n=="string"?n.split(/\s+/).filter(Boolean):[]:[],[n]);return jsx(MultiSelect,{label:"Section Tags",description:"Section tags. They will be appended to the dom element as data attributes.",placeholder:"Select or create tags",data:s,value:l,onChange:a=>o("tags",a),radius:2,searchable:true,creatable:true,getCreateLabel:a=>`+ Create ${a}`})}function eu(){let{activeEntity:e}=Ka(),t=e.id,o=va$1(y=>t&&y.records.entities.section[t]),n=va$1(y=>t&&o&&y.records.entities.report[o.report_id]),r=va$1(y=>{if(t&&o){let x=o.blocks.map(k=>y.records.entities.block[k]).filter(k=>W(k));return x.length>1&&console.error(`Error, there is more than one section flag generator in section ${e.id}`),x.length>0?x[0]:false}return false}),i=ua(),s=useContext(db$1),l=Ya(s),a=f(),u=y=>{y==="always"&&r?c(r.id):y==="section-flag"&&p();},c=y=>{i(ta$1.deleteEntity("block",y)).then(()=>{l(),console.info(`Flag generator with ID ${y} deleted.`);});},p=()=>{let{locales:y}=N$1({type:z.SECTION_FLAG});i(ta$1.createEntity("block",{blockrow:void 0,blockcol:void 0,type:z.SECTION_FLAG,section_id:t,locales:y})).then(x=>{i(ta$1.updateEntity("block",{id:x.data.id,contentByLocale:{logic:{...x.data.contentByLocale.logic,content:{simpleEnabled:true,simple:{},logic:`return {
|
|
34
|
+
${T}: true
|
|
35
|
+
}`}}}})).then(()=>{l();});});},f$1=n?.settings||{},{settings:m,updateSettings:g}=h(t),S=useMemo(()=>[{key:"optionData",label:"Download data (csv, xls, json)"},{key:"optionImage",label:"Save Image"},{key:"optionShare",label:"Share link"}],[]),v=useMemo(()=>S.map(y=>jsxs(List.Item,{children:[y.label,"."]},`item-${y.key}`)),[S]);if(e.type!=="section"||!e.id)return null;let h$1=useMemo(()=>[{value:"always",label:"Always"},{value:"section-flag",label:"Use Section Flag"}],[]),b=useMemo(()=>[{value:"always",label:"Always"},{value:"never",label:"Never"},{value:"optional",label:"Optional"}],[]),C=r?"section-flag":"always";if(e.type!=="section"||!e.id)return null;let d=m.showInPdf||"optional";return jsxs("div",{children:[jsx(wP,{activeSection:t}),jsx(EP,{activeSection:t}),jsx(Divider,{my:"sm"}),jsxs(Stack,{mt:"sm",children:[jsxs(Stack,{spacing:"0.4rem",children:[jsx(H$1,{target:jsx(Switch,{radius:"sm",label:"Show export menu.",checked:m.optionsMenu,onChange:y=>g("optionsMenu",y.currentTarget.checked)}),dropdown:jsxs(Box,{children:[jsx(Text,{size:"sm",fw:700,children:"Export Menu"}),jsx(Text,{size:"sm",children:"The Export Menu will allow users to:"}),jsx(List,{withPadding:true,size:"sm",children:v})]})}),m.optionsMenu&&jsx(Stack,{spacing:"0.5rem",pl:"md",children:S.map(y=>jsx(Switch,{radius:"sm",label:y.label,checked:typeof m[y.key]>"u"?m.optionsMenu:m[y.key],onChange:x=>g(y.key,x.currentTarget.checked)},y.key))})]}),jsx(H$1,{target:jsx(Switch,{radius:"sm",label:"Show anchor link.",checked:m.showAnchor,onChange:y=>g("showAnchor",y.currentTarget.checked)}),dropdown:jsx(Text,{size:"sm",maw:200,children:"Show `#` link on top left corner of the section"})}),jsx(H$1,{target:jsx(Switch,{radius:"sm",label:"Show section.",checked:!m.hidden,onChange:y=>g("hidden",!y.currentTarget.checked)}),dropdown:jsx(Text,{size:"sm",maw:200,children:"Softly hide or show the section on the rendered report (Still running the queries)"})}),jsx(H$1,{target:jsx(Select,{label:"Show in PDF",value:d,data:b,disabled:!a,onChange:y=>g("showInPdf",y)}),dropdown:jsx(Text,{size:"sm",maw:200,children:a?"Hide or show the section in the pdf report.":"PDF API URL is not set."})}),jsx(H$1,{target:jsx(Select,{label:"Allow section",placeholder:"Select an option",description:r?`Controlled by Section Flag #${r.id}`:"Section always visible",value:C,data:h$1,onChange:u}),dropdown:jsx(Text,{size:"sm",maw:200,children:"You can control section visibility (allow) creating a Section Flag Block"})}),r&&jsx(Stack,{spacing:"xs",children:jsx(sr,{id:Number(r.id),active:!!t,isInput:false,isConsumer:false,setHoverBlock:()=>{},showOutline:false})}),f$1.comparison&&jsx(Accordion,{children:jsxs(Accordion.Item,{value:"compare",children:[jsx(Accordion.Control,{children:"Compare Settings"}),jsx(Accordion.Panel,{children:jsxs(Stack,{children:[jsx(Switch,{radius:"sm",label:"Hide on comparison.",checked:m.comparisonHide,onChange:y=>g("comparisonHide",y.currentTarget.checked)}),jsx(Switch,{radius:"sm",label:"Show once in comparison",checked:m.comparisonMerge,onChange:y=>g("comparisonMerge",y.currentTarget.checked)})]})})]})})]})]},`settings-${t}`)}function tu(e){let{label:t,labelProps:o,...n}=e;return jsxs(Stack,{spacing:"md",children:[jsx(Text,{...o,children:t}),jsx(SegmentedControl,{...n})]})}function nu(){let{activeEntity:e}=Ka(),t=e.id,{settings:o,updateSettings:n}=h(t);return e.type!=="section"||!e.id?null:jsxs(Fragment,{children:[jsxs(Stack,{spacing:"md",children:[jsx(Text,{children:"Image"}),jsx(H$1,{target:jsx(Switch,{radius:"sm",label:"Show image background",checked:o.memberImageBg,onChange:r=>n("memberImageBg",r.currentTarget.checked)}),dropdown:jsxs(Box,{maw:300,children:[jsx(Text,{size:"sm",fw:700,children:"Image Background"}),jsxs(Text,{size:"sm",children:["Set up a background image for every profile on the",jsx(Anchor,{href:"/cms/metadata",color:"blue",fw:700,children:" Metadata "}),"tab."]})]})})]}),Object.keys(A$1).map(r=>jsx(tu,{label:A$1[r].label,data:A$1[r].options,value:String(o[r]||A$1[r].defaultValue),onChange:i=>n(r,i)},r))]})}var Ug={report:[{label:"Settings",value:"settings",component:jsx(J,{})}],section:[{label:"Style",value:"style",component:jsx(nu,{})},{label:"Settings",value:"settings",component:jsx(eu,{})}],block:[{label:"Content",value:"content",component:null},{label:"Style",value:"style",component:null},{label:"Settings",value:"settings",component:null}]};function ru(){let{opened:e,handlers:t}=Za("settings"),[o,n]=useState("settings"),r=a=>n(a),{activeEntity:i}=Ka();if(!i.type)return null;let s=Ug[i.type].find(a=>a.value===o)?.component||null,l=e&&jsx(Fragment,{children:jsxs("div",{children:[i.type==="report"?jsx(Text,{children:"Report Settings"}):jsx(SegmentedControl,{value:o,data:Ug[i.type],onChange:r,fullWidth:true}),jsx(Stack,{sx:{flexGrow:1},spacing:"sm",mt:32,children:s})]})});return jsxs(Flex,{direction:"column",justify:e?"space-between":"flex-end",bg:"white",pt:"sm",pb:30,p:"sm",w:e?"350px !important":"50px",sx:a=>({overflow:"hidden",borderLeft:`1px solid ${a.colors.gray[2]}`,flexShrink:0,flexGrow:0}),children:[l,jsx(Flex,{justify:e?"flex-start":"center",children:jsx(UnstyledButton,{onClick:t.toggle,sx:{transform:`rotate(${e?0:180}deg)`},children:jsx(IconChevronRight,{size:24})})})]})}function KP({for:e,setSectionTotals:t}){let o=va$1(b=>b.variables.status),n=va$1(b=>b.variables.variables),r=Aa$1(e.blocks),i=useMemo(()=>{if(r.isSuccess){let b=new Map(e.blocks.map((C,d)=>[C,d]));return r.data.slice().filter(C=>[z.GENERATOR,z.SECTION_FLAG].includes(C.type)).sort((C,d)=>{if(C.type===z.SECTION_FLAG&&d.type!==z.SECTION_FLAG)return -1;if(d.type===z.SECTION_FLAG&&C.type!==z.SECTION_FLAG)return 1;let y=b.get(C.id)??Number.MAX_VALUE,x=b.get(d.id)??Number.MAX_VALUE;return y-x})}else return []},[r.isLoading,r.isSuccess,e.blocks]);if(i.length===0)return null;let{hidden:s}=e.settings,l=useContext(db$1),a=Ya(l),c=va$1(b=>b.status.isRunConsumersRunning).includes(e.id),p=va$1(b=>b.status.previews);useEffect(()=>{a({sid:e.id});},[e.id,p]);let f=useMemo(()=>{let b=i.filter(C=>C.section_id===e.id&&W(C));return b.length>1&&console.error(`Error, there are more than one Section Flag Generator in section ${e.id}`),b.length>0?b[0]:false},[r,e.id]),m=va$1(b=>f&&b.variables.variables[f.id]&&!b.variables.variables[f.id][T]||false),g=useMemo(()=>{let b="";return m&&f&&(b+=`(Not allowed by Section Flag #${f.id})`),s&&(b+="(Hidden by Section Settings)"),b},[s,m]),S=useMemo(()=>[{accessorKey:"status",header:"",Cell:({cell:b})=>m&&b.row.original.type!==z.SECTION_FLAG?jsx(IconCircleX,{size:"1rem"}):jsx(Fragment,{children:b.getValue()?jsx(Loader,{size:"1rem",color:"blue"}):jsx(IconCircleCheckFilled,{color:"green",size:"1rem"})}),enableSorting:false,size:50,minSize:50,maxSize:50},{accessorKey:"order",header:"Order",size:50,minSize:50,maxSize:50},{accessorKey:"id",header:"ID",size:50,minSize:50,maxSize:50},{accessorKey:"type",header:"Type",size:100,minSize:100,maxSize:100,Cell:({cell:b})=>{let C=O$1(b.getValue());return jsxs(Group,{spacing:0,noWrap:true,children:[jsx(C,{size:16}),jsx(Text,{size:"xs",ml:"xs",children:Q(b.getValue())})]})}},{accessorKey:"duration",header:"Duration",size:100,minSize:100,maxSize:100,Cell:({cell:b})=>`${b.getValue().toFixed(3)}s`},{accessorKey:"sizeApi",header:"API Size",size:100,minSize:100,maxSize:100,Cell:({cell:b})=>b.getValue()?`\u2248${b.getValue().toFixed(2)} Kb`:""},{accessorKey:"sizeBlock",header:"Block Size",size:100,minSize:100,maxSize:100,Cell:({cell:b})=>`\u2248${b.getValue().toFixed(2)} Kb`},{accessorKey:"data",header:"",enableSorting:false,Cell:({cell:b})=>{let C=b.getValue();return jsx(pa,{block:C.block,status:C.blockStatus,variables:C.blockVariables})}}],[]),v=useMemo(()=>i.map((b,C)=>{let d=!!b.contentByLocale?.logic?.content?.api,y=o[b.id]||{},x=n[b.id]||{},k=y.duration?y.duration/1e3:0,B=(y.api&&y.api!==""?y.api.split("|||"):[]).map((N,$)=>({original:N,swapped:y.apiFinalUrls[$]}));return {order:C+1,id:b.id,type:b.type,duration:k,status:d&&!Object.keys(x).length&&!y.error,sizeBlock:JSON.stringify(x).length/1024,sizeApi:y.responseSize,requests:B,data:{block:b,blockStatus:y,blockVariables:x}}}),[i,o,n]),h=useMemo(()=>{let b={requests:0,blocks:0,totalDuration:0,maxDuration:0,avgDuration:0,avgSizeBlock:0,totalSizeBlock:0,avgSizeApi:0,totalSizeApi:0},C=v.filter(d=>m?d.type===z.SECTION_FLAG:true);return b.requests=C.reduce((d,y)=>d+y.requests.length,0),b.blocks=C.length,C.forEach(d=>{d.duration>b.maxDuration&&(b.maxDuration=d.duration),b.totalDuration+=d.duration,b.totalSizeBlock+=d.sizeBlock||0,b.totalSizeApi+=d.sizeApi||0;}),v.length>0&&(b.avgDuration=b.requests>0?b.totalDuration/b.requests:0,b.avgSizeBlock=b.blocks>0?b.totalSizeBlock/b.blocks:0,b.avgSizeApi=b.requests>0?b.totalSizeApi/b.requests:0),b},[v]);return useEffect(()=>{c||t(e.id,h);},[c]),jsxs(Stack,{px:"md",mt:"md",spacing:0,children:[jsxs(Group,{children:[c&&jsx(Loader,{size:"xs",color:"blue"}),!c&&jsx(IconCircleCheckFilled,{color:"green",size:"1rem"}),jsxs(Title,{order:4,children:["Section #",e.id," ",e.settings?.name," ",g]})]}),jsxs(Stack,{spacing:0,mb:"xs",ml:"2rem",children:[jsxs(Group,{spacing:"md",children:[jsxs(Text,{size:"sm",children:["Requests: ",h.requests]}),jsxs(Text,{size:"sm",children:["Total Size: ",h.totalSizeApi.toFixed(2)," Kb"]}),jsxs(Text,{size:"sm",children:["Avg Size: ",h.avgSizeApi.toFixed(2)," Kb"]}),jsxs(Text,{size:"sm",children:["Total Duration: ",h.totalDuration.toFixed(3),"s"]}),jsxs(Text,{size:"sm",children:["Max Duration: ",h.maxDuration.toFixed(3),"s"]}),jsxs(Text,{size:"sm",children:["Avg Duration: ",h.avgDuration.toFixed(3),"s"]})]}),jsxs(Group,{spacing:"md",children:[jsxs(Text,{size:"sm",children:["Blocks: ",h.blocks]}),jsxs(Text,{size:"sm",children:["Total Size: ",h.totalSizeBlock.toFixed(2)," Kb"]}),jsxs(Text,{size:"sm",children:["Avg Size: ",h.avgSizeBlock.toFixed(2)," Kb"]})]})]}),jsx(MantineReactTable,{columns:S,data:v,enablePagination:true,mantinePaginationProps:{showRowsPerPage:false,rowsPerPageOptions:["5","10"],disabled:c},enableBottomToolbar:true,enableColumnActions:false,enableColumnResizing:false,enableEditing:false,enableFullScreenToggle:false,enableGlobalFilter:false,enableRowActions:false,enableRowSelection:false,enableStickyHeader:false,enableStickyFooter:false,enableTopToolbar:false,initialState:{sorting:[{id:"order",desc:false}]},renderDetailPanel:({row:b})=>{let C=b.original.requests;return C.length===0?jsx(Text,{size:"xs",children:"No requests."}):jsx(Stack,{spacing:0,children:C.map((d,y)=>jsxs(Group,{spacing:0,noWrap:true,children:[jsxs(Text,{children:[y+1,"."]}),jsx(Text,{size:"xs",children:jsx("a",{href:d.swapped,target:"_blank",rel:"noopener noreferrer",children:d.original})})]},y))})},positionExpandColumn:"last"})]})}var qg=cb(KP,Ea$1);function Xg(e){let{report:t}=e,o=va$1(a=>a.status.isRunConsumersRunning.length>0),n=va$1(a=>a.status.previews),[r,i]=useState({}),s=(a,u)=>{i({...r,[a]:u});},l=useMemo(()=>{let a={requests:0,blocks:0,totalDuration:0,maxDuration:0,avgDuration:0,avgSizeBlock:0,totalSizeBlock:0,avgSizeApi:0,totalSizeApi:0};return Object.values(r).forEach(u=>{a.requests+=u.requests||0,a.blocks+=u.blocks||0,a.totalDuration+=u.totalDuration||0,a.maxDuration=Math.max(a.maxDuration,u.maxDuration||0),a.totalSizeBlock+=u.totalSizeBlock||0,a.totalSizeApi+=u.totalSizeApi||0;}),a.avgDuration=a.requests>0?a.totalDuration/a.requests:0,a.avgSizeBlock=a.blocks>0?a.totalSizeBlock/a.blocks:0,a.avgSizeApi=a.requests>0?a.totalSizeApi/a.requests:0,a},[r]);return jsxs(Box,{children:[jsxs(Stack,{pos:"fixed",bg:o?"#fab005":"#e7f5ff",px:"md",py:"xs",w:"100%",style:{zIndex:20},spacing:0,children:[jsxs(Group,{children:[o&&jsx(Loader,{size:"xs",color:"blue"}),!o&&jsx(IconCircleCheckFilled,{color:"green",size:"1rem"}),jsxs(Title,{order:3,children:[o?"Generating Debug Report. Please wait...":"Debug Report",":"]}),jsx(Title,{order:3,variant:"dimmed",children:n.map(a=>`${a.variant_slug}/${a.slug}`).join("/")})]}),jsxs(Stack,{spacing:0,ml:"2rem",children:[jsxs(Group,{spacing:"md",children:[jsxs(Text,{size:"sm",children:["Requests: ",l.requests]}),jsxs(Text,{size:"sm",children:["Total Size: ",l.totalSizeApi.toFixed(2)," Kb"]}),jsxs(Text,{size:"sm",children:["Avg Size: ",l.avgSizeApi.toFixed(2)," Kb"]}),jsxs(Text,{size:"sm",children:["Total Duration: ",l.totalDuration.toFixed(3),"s"]}),jsxs(Text,{size:"sm",children:["Max Duration: ",l.maxDuration.toFixed(3),"s"]}),jsxs(Text,{size:"sm",children:["Avg Duration: ",l.avgDuration.toFixed(3),"s"]})]}),jsxs(Group,{spacing:"md",children:[jsxs(Text,{size:"sm",children:["Blocks: ",l.blocks]}),jsxs(Text,{size:"sm",children:["Total Size: ",l.totalSizeBlock.toFixed(2)," Kb"]}),jsxs(Text,{size:"sm",children:["Avg Size: ",l.avgSizeBlock.toFixed(2)," Kb"]})]})]})]}),jsx(Stack,{mt:"5.5rem",children:t.sections.map(a=>jsx(qg,{id:a,setSectionTotals:s},a))})]})}function th(e){let{id:t}=e,o=Da$1(t);return useMemo(()=>o.isError?jsx(Center,{style:{height:300},children:jsx(Alert,{icon:jsx(IconCircleX,{size:20}),title:`Error ${o.error.code}`,color:"red",children:o.error.message})}):o.isUninitialized||!o.data?jsx(Loader,{}):jsx(mR,{report:o.data,locale:e.locale,isLoading:false}),[o.status,o.data?.sections])}function mR(e$1){let{report:t,isLoading:o}=e$1,n=useMantineTheme(),r=ua(),i=useContext(db$1),s=Ya(i),{newConfirmation:l}=b(),a=va$1(k=>k.status.previews),u=va$1(a$5),{activeEntity:c,selectEntity:p}=Ka(),f=Za("tools"),m=Za("settings"),g=Za("debugView"),S=useMemo(()=>t.sections,[t.sections]),v=useRef(null),h=useCallback(k=>{let R=()=>{p({type:"section",id:k}),s({sid:k});};a.length<t.dimensions.length?l({title:"You haven't chosen a member!",message:"You may want to choose a member before editing this section.",cancelText:"OK, I'll choose one.",confirmText:"Don't tell me what to do!"}).then(R,()=>{}):R();},[t.dimensions,a]),b$1=useCallback(k=>{if(!k.destination||k.source.index===k.destination.index)return;let R=Number.parseInt(k.draggableId,10),B=k.destination.index>k.source.index,N=e(u,S,k.destination.index,false,B),$=S.slice(),K=$.splice(k.source.index,1);$.splice(k.destination.index,0,...K),r(ta$1.updateEntity("section",{id:R,ordering:N})).then(()=>{r(ta$1.readEntity("report",{id:t.id,include:true}));});},[u,S]),C=useCallback(k=>jsxs("div",{ref:k.innerRef,className:"cms-droppable-container",...k.droppableProps,children:[S.map((R,B)=>jsx(Draggable,{draggableId:`${R}`,index:B,children:(N,$)=>jsxs("div",{className:`cms-section-container${$.isDragging?" isDragging":""}`,ref:N.innerRef,...N.draggableProps,style:{...N.draggableProps.style,boxShadow:$.isDragging?n.shadows.sm:void 0},children:[jsx(Cg,{id:R,isDragging:$.isDragging,onActivate:h,dragHandleProps:N.dragHandleProps,position:B}),jsx(Center,{className:"cms-section-controls",m:"md",children:jsx(Qg,{index:B+1,report:t})})]},`section-${R}`)},R)),k.placeholder]}),[S,c.id,h]),y=!!c.id?50:0,x=50+(f.opened?350:50)+(m.opened?350:y);return jsxs(Box,{children:[jsx(Ld,{report:t}),jsxs(Flex,{children:[!g.opened&&jsx(Zc,{scrollContainer:v}),jsx(Box,{sx:{flexGrow:1},pos:"relative",children:jsx(ScrollArea,{w:`calc(100vw - ${x}px)`,viewportRef:v,h:"calc(100vh - 50px)",styles:{scrollbar:{zIndex:9999}},offsetScrollbars:true,children:jsxs(Stack,{styles:{backgroundColor:n.colors.gray[2]},spacing:0,children:[g.opened&&jsx(Xg,{report:t}),!g.opened&&jsxs(Fragment,{children:[jsx(LoadingOverlay,{visible:o}),t.sections.length===0&&jsx(Center,{className:"cms-section-controls",my:"md",children:jsx(Qg,{index:0,report:t})}),jsx(DragDropContext,{onDragEnd:b$1,children:jsx(Droppable,{droppableId:"sections",children:C})})]})]})})}),c.type&&jsx(ru,{})]})]})}function Qg({index:e$1,report:t}){let o=useMantineTheme(),n=ua(),r=va$1(s=>s.records.entities.section),i=useCallback(()=>{n(ta$1.createEntity("section",{report_id:t.id,ordering:e(r,t.sections,e$1,true)}));},[e$1]);return jsx(ActionIcon,{onClick:i,size:"lg",radius:"xl",variant:"light",bg:"#E5E5E5 !important",style:{boxShadow:o.shadows.xs},children:jsx(IconPlus,{size:24,color:"white",strokeWidth:1})})}var rh={value:"all",label:"All"},TR=e=>{if(!e)return [];let t=Object.keys(e).map(o=>({value:String(o),label:String(e[o])}));return [rh,...t]};function ih({onChange:e,loading:t,onEditCreation:o}){let n=ua(),[r,i]=useState(""),[s,l]=useState(false),[a]=useDebouncedValue(r,500),u={type:rh.value},[c,p]=useState(u),f=()=>{i(""),p(u);},m=useMemo(()=>({type:TR(E$1)}),[]);useEffect(()=>{e({...c,query:a});},[c.type,a]);let g=()=>{l(true);let v=Math.random().toString(16).substring(2,10);n(ta$1.createEntity("formatter",{name:`formatter_${v}`,content:{type:"formatter",logic:"return n;",inputType:"string",testValue:"123456",description:"New formatter"}})).then(h=>{l(false),f(),h.ok&&o(h.data.id);});},S=useCallback((v,h)=>{let b={...c,[v]:h};p(b);},[c]);return jsxs("div",{children:[jsx(TextInput,{label:"Search by name or description",value:r,onChange:v=>i(v.currentTarget.value),disabled:t}),jsx(Select,{label:"Type",data:m.type,value:c.type,onChange:v=>S("type",v),disabled:t}),jsx(Space,{h:"md"}),jsx(Button,{fullWidth:true,disabled:t,leftIcon:jsx(IconCircleX,{}),onClick:f,children:"Clear filters"}),jsx(Space,{h:"md"}),jsx(Button,{fullWidth:true,disabled:t,leftIcon:jsx(IconPlus,{}),onClick:g,variant:"light",loading:s,children:"New formatter"})]})}var fh=e=>e?Object.keys(e).map(t=>({value:String(t),label:String(e[t])})):[],OR=(e,t)=>{switch(e){case F$1.OBJECT:return JSON.parse(t);default:return `${t}`}};function gh({formatterId:e,onEditEnd:t}){let o=va$1(T=>T.status.localeDefault),n=!!e,[r,i]=useState(),[s,l]=useState(""),[a,u]=useState([]),[c,p]=useState(true),[f,m]=useState(false),[g,S]=useState(true),[v,h]=useState(true),[b]=useState(false),C=ua(),d=Ia$1(e),y=Ba$1(),x=Ta$1(d.data?.name),k=c||f;useEffect(()=>{d.isLoading||i(d.data);},[d.isLoading]),useEffect(()=>{if(!d.isLoading&&!y.isLoading){let T=d.isSuccess?d.data:void 0,M=y.isSuccess?y.data:[];if(T){let I=M.filter(O=>O.id!==T.id).map(O=>O.name);u(I);}$(),p(false);}},[d.isLoading,y.isLoading]);let R=r&&!a.includes(r.name)&&r.name!=="",B=T=>{R&&h(false),r&&i({...r,name:na(T).replace("-","")});},N=(T,M)=>{T!=="description"&&S(true),r&&i({...r,content:{...r.content,[T]:M}});},$=()=>{if(r){let T="";try{let M=i$2({vars:["n"],logic:r.content.logic},{},o,{}),I=OR(r.content.inputType,r.content.testValue);T=M(I),h(!0);}catch(M){T=`ERROR: ${M.message}`,console.error(M),h(false);}S(false),l(`${T}`);}},K=()=>{m(true),v&&R&&C(ta$1.updateEntity("formatter",r)).then(t);};return jsx(Drawer,{opened:n,onClose:()=>t(),title:`Edit formatter ID ${e}`,padding:"lg",closeOnClickOutside:false,closeOnEscape:false,position:"right",size:"50%",lockScroll:true,withCloseButton:false,children:jsx(bt,{content:jsxs(Fragment,{children:[jsx(LoadingOverlay,{visible:c,overlayBlur:2,overlayOpacity:.5}),b&&jsx(Alert,{title:"Formatter Form",color:"red",children:"Error, please try again."}),r&&!b&&jsxs(Stack,{justify:"space-between",children:[jsxs(Group,{grow:true,align:"flex-start",children:[jsx(TextInput,{label:`Name ${R&&x>0?`(Read only, used in ${x} blocks)`:""}`,value:r.name,icon:R?jsx(IconCircleCheck,{}):jsx(IconAlertCircle,{}),readOnly:R&&x>0,disabled:R&&x>0,onChange:T=>B(T.target.value),error:R?false:"Duplicate or empty name, choose a different one."}),jsx(Select,{label:"Type",data:fh(E$1),value:r.content.type,onChange:T=>N("type",T)})]}),jsx(Textarea,{label:"Description",value:r.content.description,onChange:T=>N("description",T.target.value)}),jsx(rn,{monacoOptions:{onChange:T=>N("logic",T),height:"30vh",value:r.content.logic}},"formatter-code-editor"),jsxs(Group,{grow:true,align:"flex-end",children:[jsx(Select,{label:"Input Type",data:fh(G$1),value:r.content.inputType,onChange:T=>N("inputType",T)}),jsx(TextInput,{label:"Test Value",value:r.content.testValue,onChange:T=>N("testValue",T.target.value),error:r.content.testValue===""&&!v})]}),jsx(Textarea,{readOnly:true,icon:v?jsx(IconCircleCheck,{}):jsx(IconAlertCircle,{}),label:"Test Results",value:s,error:s.includes("ERROR")&&!v?"There is a problem in the function, input type or test value. Please check and run again.":false})]})]}),buttons:jsxs(Fragment,{children:[jsx(Button,{variant:"outline",disabled:k,onClick:()=>t(),children:"Cancel"}),jsx(Button,{onClick:$,disabled:!g,color:g?"blue":v?"green":"red",leftIcon:jsx(IconPlayerPlay,{}),children:"Run Test"}),jsx(Button,{onClick:K,loading:k,disabled:k||!v||g||!R,children:"Save"})]}),size:165})})}var $R=(e,t)=>{switch(e){case F$1.OBJECT:return JSON.parse(t);default:return `${t}`}};function yh({filters:e,onClickEdit:t}){let[o,n]=useState([]),r=Ba$1(),i=r.isSuccess?r.data:[],s=Oa$1(),l=Ua(),a=useMemo(()=>i.map(p=>{let f=l[p.name]?l[p.name]:0,m="";try{let g=$R(p.content.inputType,p.content.testValue);m=s[p.name](g);}catch(g){m=`ERROR: ${g.message}`,console.error(`Error in ${p.name}`),console.error(g);}return {...p,result:m,usageCount:f}}),[i]),u=()=>{let p=a.filter(f=>{let m=true,g=true;return e.query&&(m=f.name.toLowerCase().indexOf(e.query.toLowerCase())>-1||f.content.description.indexOf(e.query)>-1),e.type!=="all"&&(g=f.content.type===e.type),m&&g});n(p);};return useEffect(()=>{u();},[e,a]),jsx(MantineReactTable,{columns:[{header:"ID",accessorKey:"id",minSize:55,size:55,maxSize:55},{header:"Name",accessorKey:"name",Cell:({row:p})=>{let f=p.original.content.type===D$1.FORMATTER?jsx(IconVariable,{size:"1.3em"}):jsx(IconMathFunction,{size:"1.3em"});return jsxs(Group,{noWrap:true,align:"center",spacing:2,children:[jsx("span",{children:p.original.name}),jsx(Tooltip,{label:E$1[p.original.content.type],children:jsx("span",{children:f})})]})},minSize:80,size:80},{header:"Description",accessorKey:"content.description",enableSorting:false,mantineTableBodyCellProps:{sx:{textWrap:"wrap"}},minSize:100},{header:"Demo",accessorKey:"content.testValue",Cell:({row:p})=>{let f=p.original.content.testValue;p.original.content.inputType===F$1.STRING&&(f=`"${f}"`);let m=p.original.result;return typeof p.original.result=="string"&&(m=`"${m}"`),jsxs(Group,{spacing:2,children:[jsx(Tooltip,{label:`Input Type: ${G$1[p.original.content.inputType]}`,children:jsx(Code,{color:"blue",children:f})}),jsx(IconArrowRightCircle,{}),jsx(Code,{color:p.original.result&&`${p.original.result}`.includes("ERROR")?"red":"teal",children:m})]})},enableSorting:false,minSize:100,size:100},{header:"Usage",accessorKey:"usageCount",mantineTableHeadCellProps:{align:"right",sx:{"& .mantine-TableHeadCell-Content-Labels":{flexDirection:"row"}}},mantineTableBodyCellProps:{align:"right"},minSize:85,size:85,maxSize:85},{header:"Actions",accessorKey:"actions",Cell:({row:p})=>jsxs(Group,{position:"center",spacing:"xs",noWrap:true,children:[jsx(ActionIcon,{onClick:()=>t(p.original),children:jsx(IconPencil,{size:20})},"edit"),jsx(Bt,{id:p.original.id,type:"formatter",disabled:p.original.usageCount>0,warning:`Delete formatter called "${p.original.name}" (id:${p.original.id}) ? It is not used in any block.`})]}),enableSorting:false,minSize:80,size:80,maxSize:80,mantineTableHeadCellProps:{align:"center"},mantineTableBodyCellProps:{align:"center"}}],data:o,enableBottomToolbar:false,enableColumnActions:false,enableColumnResizing:true,enablePagination:false,enableTopToolbar:false,initialState:{density:"xs"},layoutMode:"grid",mantineTableContainerProps:{sx:{minHeight:150}},mantineTableProps:{striped:true}})}function Sh(){let[e,t]=useState(null),[o,n]=useState(true),r=a=>{n(a);},i=a=>{t(a);},s=a=>{a&&t(a.id);},l=()=>{t(null);};return jsxs(Container,{fluid:true,children:[jsxs(Grid,{children:[jsxs(Grid.Col,{span:2,children:[jsx(Text,{ml:"xl",my:"sm",weight:"bold",children:"Formatters"}),jsx(ih,{onChange:r,onEditCreation:i,loading:false})]}),jsxs(Grid.Col,{span:10,style:{height:"100vh"},children:[jsx(Space,{h:"xs"}),jsx(yh,{filters:o,onClickEdit:s})]})]}),e&&jsx(gh,{formatterId:e,onEditEnd:l})]})}function wh({onChange:e,loading:t,onEditCreation:o}){let n=ua(),[r,i]=useState(""),[s,l]=useState(""),[a,u]=useState(false),[c]=useDebouncedValue(r,500),[p]=useDebouncedValue(s,500),f={query:"",name:""},[m,g]=useState(f),S=()=>{i(""),l(""),g(f);},v=()=>{l(""),g(C=>({...C,name:""}));},h=()=>{i(""),g(C=>({...C,query:""}));};return useEffect(()=>{let C={...m,name:p,query:c,matchPattern:d=>{if(!c)return true;try{return new RegExp(d.patternSwapped).test(c)}catch{return false}}};e(C);},[c,p]),jsxs("div",{children:[jsx(TextInput,{label:"Filter by name",value:s,onChange:C=>l(C.currentTarget.value),disabled:t,rightSection:s?jsx(IconCircleX,{size:16,style:{cursor:"pointer"},onClick:v}):null}),jsx(Space,{h:"md"}),jsx(TextInput,{label:"Test a url here",value:r,onChange:C=>i(C.currentTarget.value),disabled:t,rightSection:r?jsx(IconCircleX,{size:16,style:{cursor:"pointer"},onClick:h}):null}),jsx(Space,{h:"md"}),jsx(Button,{fullWidth:true,disabled:t,leftIcon:jsx(IconPlus,{}),onClick:()=>{u(true);let C=Math.random().toString(16).substring(2,10);n(ta$1.createEntity("datasource",{name:`datasource_${C}`,description:"New Data Source",content:{pattern:"",logic:`
|
|
81
36
|
return {
|
|
82
37
|
axiosConfig: {
|
|
83
38
|
method: 'get',
|
|
@@ -89,34 +44,6 @@ return {
|
|
|
89
44
|
method: 'get',
|
|
90
45
|
url: url,
|
|
91
46
|
}
|
|
92
|
-
};`,testUrl:"",useProxy:true,order:0,access:["public"]}})).then(b=>{c(false),h(),b.ok&&o(b.data.id);});},variant:"light",loading:s,children:"New Data Source"})]})}p();se();Ga();Up();Qn();rp();Vr();Xe();function SA({dataSourceId:e,onEditEnd:t}){H(W=>W.status.localeDefault);let r=we(),n=!!e,[i,a]=useState(),[l,s]=useState(""),[c,u]=useState(""),[d,f]=useState(true),[g,m]=useState(false),[h,y]=useState(true),[S,v]=useState(true),[C]=useState(false),[b,k]=useState(null),[w,R]=useState(null),[O,A]=useState(null),[B,_]=useState({}),P=ie(),I=uf(e),F=d||g,M=wo();useEffect(()=>{I.isLoading||(a(I.data),V(),f(false)),P(Z.readEnvSecrets()).then(W=>{_(W.secrets);});},[I.isLoading]);let N=W=>{try{return new RegExp(W,"gm"),!0}catch{return false}},j=(W,U)=>{i&&a({...i,[W]:U});},$=(W,U)=>{if(W!=="description"&&y(true),i){if(W==="pattern"){let Y=N(U);k(Y?null:"Invalid regular expression pattern"),v(Y);}W==="order"&&(U=U===""?0:Math.floor(Number(U))),W==="useProxy"&&(U=U==="true"),a({...i,content:{...i.content,[W]:U}});}},V=async()=>{if(i){let W="",U={...M};try{let Y;if(i.content.pattern.trim())Y=et(i.content.pattern,{},{variables:U}),R(Y);else throw new Error("Pattern cannot be empty");let ne;if(i.content.testUrl.trim())ne=et(i.content.testUrl,{},{variables:U}),A(ne);else throw new Error("Test URL cannot be empty");if(!N(Y))throw new Error("Invalid regular expression pattern");if(!new RegExp(Y,"gm").test(ne))throw new Error("Test URL doesn't match the pattern");if(i.content.useProxy)W=`Config will be processed in the server in /api/cms/url/proxy?url=${ne}`;else {let J={envs:{...M},...r&&r.user?{session:r}:{}},K=Ua({vars:["url","libs","session"],logic:i.content.logic},J)(ne);W=typeof K=="object"?JSON.stringify(K,null,2):String(K);}u(W);}catch(Y){console.error(Y),u(`ERROR: ${Y.message}`);}}},z=async()=>{let W="";if(i&&c!==""){m(true);try{if(i.content.useProxy)await q(),W=await P(Z.urlProxy({url:`${O}`}));else {let U=JSON.parse(c).axiosConfig,Y=await Mu(U).catch(ne=>{throw new Error("ERROR fetching "+U.url+": "+ne.message)});if(Y.status===200)Y.headers["content-type"]==="text/csv"?W=csvParse(Y.data):W=Y.data;else throw new Error("No valid response for "+U.url)}s(typeof W=="object"?JSON.stringify(W,null,2):String(W)),m(!1),v(!0),y(!1);}catch(U){console.error(U),v(false),m(false),s(`ERROR: ${U.message}`);}}},q=async(W=false)=>{m(true),S&&i&&await P(Z.updateEntity("datasource",i)).then(()=>{W&&(m(false),t());});};return jsx(Drawer,{opened:n,onClose:()=>t(),title:`Edit Data Source ID ${e}`,padding:"lg",closeOnClickOutside:false,closeOnEscape:false,position:"right",size:"90%",lockScroll:true,withCloseButton:false,children:jsx(Ao,{content:jsxs(Fragment,{children:[jsx(LoadingOverlay,{visible:d,overlayBlur:2,overlayOpacity:.5}),C&&jsx(Alert,{title:"Formatter Form",color:"red",children:"Error, please try again."}),i&&!C&&jsxs(Stack,{justify:"space-between",children:[jsxs(Group,{grow:true,align:"top",children:[jsx(TextInput,{label:"Name",description:"Name of the Data Source",value:i.name,onChange:W=>j("name",W.target.value),style:{flex:2}}),jsx(NumberInput,{label:"Execution Order",description:"Lower numbers match first",min:0,defaultValue:0,value:i.content.order||0,onChange:W=>$("order",W),hideControls:false,style:{flex:1}}),jsx(Textarea,{label:"Description",value:i.description,onChange:W=>j("description",W.target.value)})]}),jsx(Divider,{my:"sm"}),jsxs(Group,{grow:true,align:"top",children:[jsx(Input.Wrapper,{label:"Public ENV VARS",description:"You can use them as templates in pattern, logic and testUrl. (Defined in next.config file.)",children:Object.keys(M).map(W=>jsx(aa,{label:W,value:M[W]},W))}),jsx(Input.Wrapper,{label:"Secret ENV VARS",description:"If this datasource is using proxy you can use non-public secrets in the logic. (Defined as BESPOKE_SECRET_*)",children:i.content.useProxy?Object.keys(B).map(W=>jsx(aa,{label:W,value:B[W]},W)):jsx(Text,{m:"xs",size:"sm",align:"center",c:"dimmed",children:"No secrets available if Use Proxy is NO"})})]}),jsxs(Group,{grow:true,align:"top",children:[jsxs(Stack,{children:[jsxs(Stack,{spacing:2,children:[jsx(TextInput,{label:jsxs(Text,{size:"sm",span:true,children:["Regex Pattern ",jsx("a",{href:"https://www.akto.io/tools/javascript-regex-tester",target:"_blank",rel:"noreferrer",children:jsx(IconHelpCircle,{size:"1rem"})})]}),value:i.content.pattern,icon:jsx(IconSlash,{size:"0.8rem"}),rightSection:jsx(Text,{size:"sm",c:"dimmed",span:true,children:"/gm"}),onChange:W=>$("pattern",W.target.value),error:b||i.content.pattern===""&&!S}),w&&jsxs(Text,{size:"xs",children:["Final Regex Pattern: ",`new RegExp(${w}, "gm")`]})]}),jsx(Input.Wrapper,{label:"Use proxy on Client Side",description:"If the datasource has secrets on its logic, set proxy to YES to avoid expose credentials.",children:jsx(SegmentedControl,{fullWidth:true,value:i.content.useProxy?.toString()||"false",onChange:W=>$("useProxy",W),data:[{label:"No",value:"false"},{label:"Yes",value:"true"}]})}),jsx(va,{value:i.content.access||["public"],onChange:W=>$("access",W),item:"Data Source"})]}),jsxs(Stack,{spacing:4,children:[jsx(Input.Wrapper,{label:"Client-Side Logic (Variables: url, envs, libs, session)",children:jsx(ca,{monacoOptions:{onChange:W=>$("logic",W),height:"30vh",value:i.content.logic}},"data-source-code-editor")}),jsx(Input.Wrapper,{label:"Server-Side Logic \u2014 SSR/Proxy (Variables: url, envs, libs, session)",description:"Optional. When set, overrides the client-side logic for server-side execution (SSR rendering and proxy requests).",children:jsx(ca,{monacoOptions:{onChange:W=>$("logic_ssr",W),height:"30vh",value:i.content.logic_ssr||""}},"data-source-ssr-code-editor")})]})]}),jsx(Divider,{my:"sm"}),jsxs(Stack,{spacing:2,children:[jsx(TextInput,{label:"Test URL",value:i.content.testUrl,onChange:W=>$("testUrl",W.target.value),error:i.content.testUrl===""&&!S}),O&&jsxs(Text,{size:"xs",children:["Final Test URL: ",O]})]}),jsx(Textarea,{readOnly:true,icon:c.includes("ERROR:")?jsx(IconAlertCircle,{}):jsx(IconCircleCheck,{}),label:"Test Config Results",minRows:7,value:c,error:c.includes("ERROR:")?"There is a problem in the function, pattern or test url. Please check and run again to be able to save it.":false}),jsx(Textarea,{readOnly:true,icon:S?jsx(IconCircleCheck,{}):jsx(IconAlertCircle,{}),label:"Test Response Results",minRows:7,value:l,error:l.includes("ERROR")&&!S?"There is a problem in the request, the server response is not ok. Please check and run again to be able to save it.":false})]})]}),buttons:jsxs(Fragment,{children:[jsx(Button,{variant:"outline",disabled:F,onClick:()=>t(),children:"Cancel"}),jsx(Button,{onClick:V,disabled:!h||F,color:h?"blue":S?"green":"red",leftIcon:jsx(IconPlayerPlay,{}),children:"Run Test Config"}),jsxs(Button,{onClick:z,disabled:!h||c.includes("ERROR:")||c===""||F,color:h?"blue":S?"green":"red",leftIcon:jsx(IconPlayerPlay,{}),loading:F,children:[i?.content.useProxy?"Save & ":"","Run Test Request"]}),jsx(Button,{onClick:()=>q(true),loading:F,disabled:F||!S||h,children:"Save"})]}),size:165})})}p();ye();Vr();Qn();function xA({filters:e,onClickEdit:t}){let[o,r]=useState([]),n=wo(),i=Hl(),a=i.isSuccess?i.data.map(u=>{let d={...n};return {...u,patternSwapped:et(u.content.pattern,{},{variables:d})}}):[],l=useMemo(()=>a,[a]),s=()=>{let u=l.filter(d=>{let f=true;if(e.name&&(f=d.name.toLowerCase().indexOf(e.name.toLowerCase())>-1||d.description.indexOf(e.name)>-1),e.query)try{f=new RegExp(d.patternSwapped).test(e.query);}catch{f=false;}return f});r(u);};return useEffect(()=>{s();},[e,l]),jsx(MantineReactTable,{columns:[{header:"ID",accessorKey:"id",minSize:35,size:35,maxSize:35,mantineTableHeadCellProps:{align:"right"},mantineTableBodyCellProps:{align:"right"}},{header:"Name",accessorKey:"name"},{header:"Use Proxy",accessorKey:"content.useProxy",minSize:70,size:70,maxSize:70,Cell:({row:u})=>u.original.content.useProxy?"YES":"NO"},{header:"REGEX Pattern",accessorKey:"content.pattern"},{header:"REGEX Pattern Swapped",accessorKey:"patternSwapped"},{header:"Order",accessorKey:"content.order",minSize:50,size:50,maxSize:50,mantineTableHeadCellProps:{align:"right"},mantineTableBodyCellProps:{align:"right"}},{header:"Actions",accessorKey:"actions",Cell:({row:u})=>jsxs(Group,{position:"center",spacing:"xs",noWrap:true,children:[jsx(ActionIcon,{onClick:()=>t(u.original),children:jsx(IconPencil,{size:20})},"edit"),jsx(ir,{id:u.original.id,type:"datasource",disabled:u.original.usageCount>0,warning:`Delete Data Source called "${u.original.name}" (id:${u.original.id}) ? It is not used in any block.`})]}),enableSorting:false,minSize:80,size:80,maxSize:80,mantineTableHeadCellProps:{align:"center"},mantineTableBodyCellProps:{align:"center"}}],data:o,enableBottomToolbar:false,enableColumnActions:false,enableColumnResizing:true,enablePagination:false,enableTopToolbar:false,initialState:{density:"xs",sorting:[{id:"content.order",desc:false}]},layoutMode:"grid",mantineTableContainerProps:{sx:{minHeight:150}},mantineTableProps:{striped:true}})}function CA(){let[e,t]=useState(null),[o,r]=useState(true),n=s=>{r(s);},i=s=>{t(s);},a=s=>{s&&t(s.id);},l=()=>{t(null);};return jsxs(Container,{fluid:true,children:[jsxs(Grid,{children:[jsxs(Grid.Col,{span:2,children:[jsx(Text,{ml:"xl",my:"sm",weight:"bold",children:"Data Sources"}),jsx(fA,{onChange:n,onEditCreation:i,loading:false})]}),jsxs(Grid.Col,{span:10,style:{height:"100vh"},children:[jsx(Space,{h:"xs"}),jsx(xA,{filters:o,onClickEdit:a})]})]}),e&&jsx(SA,{dataSourceId:e,onEditEnd:l})]})}p();Xe();function EA(){let{user:e}=we();return jsxs(Flex,{mih:"100vh",gap:"md",justify:"center",align:"center",direction:"column",wrap:"wrap",children:[jsxs(Title,{children:["Hi, ",e?.name||e?.email,"!"]}),jsx(Text,{children:"Welcome to Bespoke CMS. Have fun creating some amazing automated reports here!"})]})}p();p();se();var er={value:"all",label:"All"},Hy=e=>{if(!e)return [];let t=e.map(o=>({value:String(o.id),label:o.name}));return [er,...t]};function IA({onChange:e,loading:t}){let o=ie(),r=H(S=>Object.values(S.records.entities.report).map(v=>({id:v.id,name:v.name,dimensions:v.dimensions.map(C=>{let b=S.records.entities.dimension[C];return {id:b.id,name:b.name,variants:b.variants.map(k=>{let w=S.records.entities.variant[k];return {id:w.id,name:w.name}})}})}))),n=H(S=>S.status.localeDefault),[i,a]=useState(""),[l,s]=useState(false),[c]=useDebouncedValue(i,500),u={report:er.value,dimension:er.value,variant:er.value,visible:false,noImage:false,limit:"10",paginationVariants:[]},[d,f]=useState(u),g=useMemo(()=>({report:Hy(r),dimension:Hy(r.filter(S=>d.report===er.value||d.report===`${S.id}`).reduce((S,v)=>S.concat(v.dimensions),[])),variant:Hy(r.filter(S=>d.report===er.value||d.report===`${S.id}`).reduce((S,v)=>(v.dimensions.filter(C=>d.dimension===er.value||d.dimension===`${C.id}`).forEach(C=>{S=S.concat(C.variants);}),S),[])),limit:[10,25,50,100].map(S=>({value:String(S),label:String(S)}))}),[r,d]),m=useCallback((S,v)=>{let C={...d,[S]:v};switch(S){case "report":C.dimension=er.value,C.variant=er.value;break;case "dimension":C.variant=er.value;break;}f(C);},[d]),h=()=>{a(""),f(u);},y=()=>{s(true),o(Z.searchRegenerate()).then(()=>{s(false),e(d);});};return useEffect(()=>{let S=[];if(d.variant!==er.value)S=[`${d.variant}`];else if(d.dimension!==er.value)r.forEach(v=>{let C=v.dimensions.find(b=>`${b.id}`===d.dimension);C&&(S=C.variants.map(b=>`${b.id}`));});else if(d.report!==er.value){let v=r.find(C=>`${C.id}`===d.report);v&&v.dimensions.forEach(C=>{S=[...S,...C.variants.map(b=>`${b.id}`)];});}e({...d,paginationVariants:S,query:c});},[d.report,d.dimension,d.variant,d.visible,d.limit,d.noImage,c]),jsxs("div",{children:[jsx(TextInput,{label:`Search item by name (${n.toUpperCase()})`,value:i,onChange:S=>a(S.currentTarget.value),disabled:t}),jsx(Select,{label:"Reports",data:g.report,value:d.report,onChange:S=>m("report",S),disabled:t}),jsx(Select,{label:"Dimensions",data:g.dimension,value:d.dimension,onChange:S=>m("dimension",S),disabled:t}),jsx(Select,{label:"Variants",data:g.variant,value:d.variant,onChange:S=>m("variant",S),disabled:t}),jsx(Select,{label:"Rows limit",data:g.limit,value:d.limit,onChange:S=>m("limit",S),disabled:t}),jsx(Space,{h:"md"}),jsx(Checkbox,{label:"Show visible members only",checked:d.visible,onChange:S=>m("visible",S.currentTarget.checked)}),jsx(Space,{h:"md"}),jsx(Checkbox,{label:"Show members with no image",checked:d.noImage,onChange:S=>m("noImage",S.currentTarget.checked)}),jsx(Space,{h:"md"}),jsx(Button,{fullWidth:true,disabled:t,leftIcon:jsx(IconCircleX,{}),onClick:h,children:"Clear filters"}),jsx(Space,{h:"md"}),jsx(Button,{fullWidth:true,disabled:t,leftIcon:jsx(IconRefresh,{}),onClick:y,variant:"light",loading:l,children:"Re-Index Search"})]})}p();se();p();var e7=e=>{let t=process.env.NEXT_PUBLIC_IMAGE_PROVIDERS?process.env.NEXT_PUBLIC_IMAGE_PROVIDERS.split(","):[];return typeof process.env.NEXT_PUBLIC_IMAGE_PROVIDERS>"u"||t.indexOf(e)>-1};function t7({member:e,onEditEnd:t}){let o=e.contentByLocale&&e.contentByLocale[0]?e.contentByLocale[0].name:"",r=useMemo(()=>({upload:{title:"Upload",key:"upload",input:"file",forceSearch:false,pagination:false,getAxiosSearchConfig:()=>({})},local:{title:"Gallery",key:"local",input:"text",forceSearch:true,pagination:false,getAxiosSearchConfig:(I,F,M)=>({url:"/api/cms/images/search/local",method:"get",params:{prompt:I,page:M}})},flickr:{title:"Flickr",key:"flickr",input:"text",forceSearch:true,pagination:true,getAxiosSearchConfig:(I,F,M)=>({url:"/api/cms/images/search/flickr",method:"get",params:{prompt:I,page:M}})},unsplash:{title:"Unsplash",key:"unsplash",input:"text",forceSearch:true,pagination:true,getAxiosSearchConfig:(I,F,M)=>({url:"/api/cms/images/search/unsplash",method:"get",params:{prompt:I,page:M}})},pixabay:{title:"Pixabay",key:"pixabay",input:"text",forceSearch:true,pagination:true,getAxiosSearchConfig:(I,F,M)=>({url:"/api/cms/images/search/pixabay",method:"get",params:{prompt:I,page:M}})}}),[]),n=useMemo(()=>Object.values(r).filter(I=>e7(I.key)).map(I=>({value:I.key,label:I.title})),[]),[i,a]=useState(false),[l,s]=useState(Object.values(r)[0]),[c,u]=useState(500),[d,f]=useState(o),[g,m]=useState(),[h,y]=useState([]),[S,v]=useState(),[C,b]=useState(false),[k,w]=useState(1),R=async(I=void 0)=>{if(I&&I!==k)w(1);else {b(false),a(true);let F=l.getAxiosSearchConfig(d,g,I||k),M=await Mu(F).then(N=>N.data.data&&N.data.data.results?N.data.data.results:[]).catch(N=>{console.error(N),b(true);});y(M),M.length>0&&v(M[0]),a(false);}},O=I=>{v(I);},A=async()=>{a(true);let I=new FormData;I.append("content_id",e.content_id),S&&g&&(I.append("file",g),delete S.file),S&&(I.append("image_id",S.id),I.append("image_source",S.source)),await Mu({method:"post",url:`/api/cms/images/save/${l.key}`,data:I}).then(()=>{t(true);}).catch(F=>{console.error(F),b(true);}),a(false);},B=I=>{b(false),s(r[I]),v(void 0),y([]),w(1);};useEffect(()=>{let{innerHeight:I}=window;u(I-280);},[]),useEffect(()=>{!i&&l.forceSearch&&R();},[k,l]);let _=h&&h.length===0&&!i&&l.key!=="upload",P=h&&h.length===0&&!i&&l.key==="upload";return jsx(Drawer,{opened:true,onClose:t,title:`Image selection for ${o} (${e.id}) `,padding:"lg",closeOnClickOutside:false,closeOnEscape:false,position:"left",size:"50%",lockScroll:true,withCloseButton:false,children:jsx("div",{style:{height:"100%"},children:jsxs(Stack,{spacing:"sm",children:[jsxs(Stack,{spacing:"xs",children:[jsx(SegmentedControl,{disabled:i,value:l.key,onChange:I=>B(I),data:n,fullWidth:true}),jsxs(Group,{position:"apart",grow:true,align:"flex-end",children:[l.input==="text"&&jsx(TextInput,{placeholder:"Search term",label:"Search term",value:d,onChange:I=>f(I.target.value),onKeyDown:getHotkeyHandler([["Enter",()=>R(1)]])}),l.input==="file"&&jsx(FileInput,{label:"Upload image",placeholder:"Choose an image from your computer (png, jpg, jpeg, webp)",accept:"image/png,image/jpeg,image/jpg,image/webp",value:g,onChange:I=>{if(v(void 0),I){let M={id:"custom",source:URL.createObjectURL(I),file:I};y([M]),m(I),v(M);}},icon:jsx(IconUpload,{size:14})}),l.forceSearch&&jsx(Button,{fullWidth:true,disabled:i||!d||d==="",onClick:()=>R(1),leftIcon:jsx(IconPlayerPlay,{}),children:"Search"})]})]}),jsx(Group,{mt:"xs",grow:true,children:jsxs(ScrollArea,{offsetScrollbars:true,type:"always",style:{height:c},children:[jsx(LoadingOverlay,{visible:i,overlayBlur:2,overlayOpacity:.5,overlayColor:"#fff"}),C&&jsx(Alert,{title:`${l.title}`,color:"red",children:"Error, please try again."}),_&&jsx(Alert,{title:`${l.title}`,color:"blue",children:"No results, for try another prompt or provider."}),P&&jsx(Alert,{icon:jsx(IconPhoto,{size:"1rem"}),title:"Welcome to image selector!",color:"blue",children:"Upload an image or select a provider."}),h&&h.length>0&&!i&&jsxs(Fragment,{children:[jsx(SimpleGrid,{cols:3,children:h.map(I=>jsx(Image,{alt:`${l.title}-image-${I.id}`,radius:"md",src:I.source,style:{cursor:"pointer",borderRadius:15,border:S&&S.id===I.id?"5px solid black":""},onClick:()=>O(I)},I.id))}),jsx(Space,{h:"md"}),l.pagination&&jsx(Button,{variant:"outline",fullWidth:true,onClick:()=>w(k+1),children:"Load more images"})]})]})}),jsxs(Group,{mt:"xs",grow:true,style:{height:45},children:[jsx(Button,{variant:"outline",disabled:i,onClick:()=>t(false),children:"Cancel"}),jsx(Button,{onClick:A,loading:i,disabled:i||!S,children:"Save"})]})]})})})}var MA=t7;rg();function VA({memberId:e,onEditEnd:t}){let o=H(z=>z.status.localeDefault),r=H(z=>z.status.locales),n=r.map(z=>({value:z,label:`${z.toUpperCase()}`})),i=!!e,[a,l]=useState(o),[s,c]=useState(null),[u,d]=useState(true),[f,g]=useState(false),[m,h]=useState(false),[y,S]=useState("member"),[v,C]=useState(false),[b,k]=useState([]),[w,R]=useState({}),O=useForm(),A=r.reduce((z,q)=>(z[q]=useForm({}),z),{}),B=useForm(),_=r.reduce((z,q)=>(z[q]=useForm({}),z),{}),P=ie(),I=async()=>{d(true),h(false);let z=await P(Z.readMember({locale:"all",content_ids:[e],all:true,mode:"content_ids",output:"full"})).then(q=>{let W;return q.results&&q.results[0]?(h(false),W=q.results[0]):h(true),W}).catch(q=>{console.error(q),h(true);});z&&(c(z),O.setValues(z),z.contentByLocale.forEach(q=>{A[q.locale].setValues({name:q.name,keywords:q.keywords?q.keywords:[],attributes:q.attributes?Object.keys(q.attributes).map(W=>({key:W,value:q.attributes[W]})):[]});}),z.image&&(B.setValues(z.image),z.image.contentByLocale.forEach(q=>{_[q.locale].setValues({meta:q.meta});}))),d(false);},F=async()=>{if(s&&s.contentByLocale){let z=s.contentByLocale.find(q=>q.locale===a);if(z){C(true);let q=Ju({q:z.name,limit:"10",locale:a,visible:"true",includes:"true",noImage:"false",format:"plain"});P(Z.searchMember(q)).then(W=>{if(W&&W.results){let U=W.results.filter(Y=>Y.content_id!==e);k(U);}C(false);}).catch(W=>{console.error(W),C(false);});}}};useEffect(()=>{e?I():c(null);},[e]),useEffect(()=>{s&&F();},[s,a]);let M=async z=>{z&&I(),g(false);},N=()=>{c({...s,image:null,image_id:null});},j=async()=>{d(true);let z={...O.values,contentByLocale:s.contentByLocale.map(U=>{let Y=A[U.locale]?{...A[U.locale].values}:{};return Y.keywords=Y.keywords&&Y.keywords.length>0?Y.keywords:null,{...U,...Y}}),image:s.image?{...B.values,contentByLocale:r.map(U=>{let Y=s.image.contentByLocale.find(re=>re.locale===U),ne=_[Y.locale]?_[Y.locale].values:{};return {...Y,...ne}})}:null,image_id:s.image_id},q=[Mu.post("/api/cms/update/member",z)],W=Object.keys(w);W.length>0&&W.forEach(U=>{q.push(Mu.post("/api/cms/update/member",{content_id:b[U].content_id,image_id:s.image_id}));}),Promise.all(q).then(()=>{t();}).catch(U=>{console.error(U),h(true);});},$=Object.keys(A[a].values).length>0,V={state:{rowSelection:w},onRowSelectionChange:R,enableRowSelection:z=>s.image_id&&z.original.image_id!==s.image_id};return jsxs(Fragment,{children:[jsx(Drawer,{opened:i,onClose:()=>t(),title:`Edit member ID ${e}`,padding:"lg",closeOnClickOutside:false,closeOnEscape:false,position:"right",size:"50%",lockScroll:true,withCloseButton:false,children:jsx(Ao,{content:jsxs(Fragment,{children:[jsx(LoadingOverlay,{visible:u,overlayBlur:2,overlayOpacity:.5}),m&&jsx(Alert,{title:"Member Form",color:"red",children:"Error, please try again."}),s&&!m&&jsxs(Tabs,{defaultValue:"member",value:y,onTabChange:S,children:[jsxs(Tabs.List,{grow:true,children:[jsx(Tabs.Tab,{value:"member",icon:jsx(IconListCheck,{}),children:"Member"}),jsx(Tabs.Tab,{value:"image",icon:jsx(IconPhoto,{}),children:"Image"})]}),jsx(Tabs.Panel,{value:"member",py:"md",children:jsxs(Stack,{justify:"space-between",children:[jsxs(Group,{position:"apart",grow:true,children:[jsx(TextInput,{mt:"xs",disabled:true,label:"Original ID",...O.getInputProps("id")}),jsx(TextInput,{mt:"xs",disabled:true,label:"Content ID",...O.getInputProps("content_id")})]}),jsxs(Group,{position:"apart",grow:true,children:[jsx(TextInput,{mt:"xs",icon:"/",disabled:true,label:"Variant Slug",...O.getInputProps("variant_slug")}),jsx(TextInput,{mt:"xs",icon:"/",disabled:true,label:"Member Slug",...O.getInputProps("slug")})]}),jsxs(Group,{position:"apart",grow:true,children:[jsx(TextInput,{mt:"xs",disabled:true,label:"Report",...O.getInputProps("report_name")}),jsx(TextInput,{mt:"xs",disabled:true,label:"Dimension",...O.getInputProps("dimension_name")}),jsx(TextInput,{mt:"xs",disabled:true,label:"Variant",...O.getInputProps("variant_name")})]}),jsxs(Group,{grow:true,children:[jsxs(Box,{onClick:()=>S("image"),style:{cursor:"pointer"},pos:"relative",children:[jsx(Overlay,{opacity:0,center:true,sx:{backdropFilter:"none","& button":{display:"none"},"&:hover":{backdropFilter:"blur(0.2375rem)",button:{display:"flex"}}},children:jsx(Button,{size:"xs",radius:"sm",variant:"filled",leftIcon:jsx(IconPhoto,{size:"0.9rem"}),children:"Edit"})}),jsx(Zl,{member:s,forceRefreshTimestamp:true})]}),jsx(Input.Wrapper,{label:"Search relevance",description:`
|
|
47
|
+
};`,testUrl:"",useProxy:true,order:0,access:["public"]}})).then(d=>{u(false),S(),d.ok&&o(d.data.id);});},variant:"light",loading:a,children:"New Data Source"})]})}function Oh({dataSourceId:e,onEditEnd:t}){va$1(P=>P.status.localeDefault);let n=a$1(),r=!!e,[i,s]=useState(),[l,a]=useState(""),[u,c]=useState(""),[p,f]=useState(true),[m,g]=useState(false),[S,v]=useState(true),[h,b]=useState(true),[C]=useState(false),[d,y]=useState(null),[x,k]=useState(null),[R,B]=useState(null),[N,$]=useState({}),K=ua(),T=Ja(e),M=p||m,I$2=X();useEffect(()=>{T.isLoading||(s(T.data),F(),f(false)),K(ta$1.readEnvSecrets()).then(P=>{$(P.secrets);});},[T.isLoading]);let O=P=>{try{return new RegExp(P,"gm"),!0}catch{return false}},G=(P,A)=>{i&&s({...i,[P]:A});},W=(P,A)=>{if(P!=="description"&&v(true),i){if(P==="pattern"){let _=O(A);y(_?null:"Invalid regular expression pattern"),b(_);}P==="order"&&(A=A===""?0:Math.floor(Number(A))),P==="useProxy"&&(A=A==="true"),s({...i,content:{...i.content,[P]:A}});}},F=async()=>{if(i){let P="",A={...I$2};try{let _;if(i.content.pattern.trim())_=I(i.content.pattern,{},{variables:A}),k(_);else throw new Error("Pattern cannot be empty");let Q;if(i.content.testUrl.trim())Q=I(i.content.testUrl,{},{variables:A}),B(Q);else throw new Error("Test URL cannot be empty");if(!O(_))throw new Error("Invalid regular expression pattern");if(!new RegExp(_,"gm").test(Q))throw new Error("Test URL doesn't match the pattern");if(i.content.useProxy)P=`Config will be processed in the server in /api/cms/url/proxy?url=${Q}`;else {let ce={envs:{...I$2},...n&&n.user?{session:n}:{}},ae=j$1({vars:["url","libs","session"],logic:i.content.logic},ce)(Q);P=typeof ae=="object"?JSON.stringify(ae,null,2):String(ae);}c(P);}catch(_){console.error(_),c(`ERROR: ${_.message}`);}}},L=async()=>{let P="";if(i&&u!==""){g(true);try{if(i.content.useProxy)await U(),P=await K(ta$1.urlProxy({url:`${R}`}));else {let A=JSON.parse(u).axiosConfig,_=await Gh(A).catch(Q=>{throw new Error("ERROR fetching "+A.url+": "+Q.message)});if(_.status===200)_.headers["content-type"]==="text/csv"?P=csvParse(_.data):P=_.data;else throw new Error("No valid response for "+A.url)}a(typeof P=="object"?JSON.stringify(P,null,2):String(P)),g(!1),b(!0),v(!1);}catch(A){console.error(A),b(false),g(false),a(`ERROR: ${A.message}`);}}},U=async(P=false)=>{g(true),h&&i&&await K(ta$1.updateEntity("datasource",i)).then(()=>{P&&(g(false),t());});};return jsx(Drawer,{opened:r,onClose:()=>t(),title:`Edit Data Source ID ${e}`,padding:"lg",closeOnClickOutside:false,closeOnEscape:false,position:"right",size:"90%",lockScroll:true,withCloseButton:false,children:jsx(bt,{content:jsxs(Fragment,{children:[jsx(LoadingOverlay,{visible:p,overlayBlur:2,overlayOpacity:.5}),C&&jsx(Alert,{title:"Formatter Form",color:"red",children:"Error, please try again."}),i&&!C&&jsxs(Stack,{justify:"space-between",children:[jsxs(Group,{grow:true,align:"top",children:[jsx(TextInput,{label:"Name",description:"Name of the Data Source",value:i.name,onChange:P=>G("name",P.target.value),style:{flex:2}}),jsx(NumberInput,{label:"Execution Order",description:"Lower numbers match first",min:0,defaultValue:0,value:i.content.order||0,onChange:P=>W("order",P),hideControls:false,style:{flex:1}}),jsx(Textarea,{label:"Description",value:i.description,onChange:P=>G("description",P.target.value)})]}),jsx(Divider,{my:"sm"}),jsxs(Group,{grow:true,align:"top",children:[jsx(Input.Wrapper,{label:"Public ENV VARS",description:"You can use them as templates in pattern, logic and testUrl. (Defined in next.config file.)",children:Object.keys(I$2).map(P=>jsx(j,{label:P,value:I$2[P]},P))}),jsx(Input.Wrapper,{label:"Secret ENV VARS",description:"If this datasource is using proxy you can use non-public secrets in the logic. (Defined as BESPOKE_SECRET_*)",children:i.content.useProxy?Object.keys(N).map(P=>jsx(j,{label:P,value:N[P]},P)):jsx(Text,{m:"xs",size:"sm",align:"center",c:"dimmed",children:"No secrets available if Use Proxy is NO"})})]}),jsxs(Group,{grow:true,align:"top",children:[jsxs(Stack,{children:[jsxs(Stack,{spacing:2,children:[jsx(TextInput,{label:jsxs(Text,{size:"sm",span:true,children:["Regex Pattern ",jsx("a",{href:"https://www.akto.io/tools/javascript-regex-tester",target:"_blank",rel:"noreferrer",children:jsx(IconHelpCircle,{size:"1rem"})})]}),value:i.content.pattern,icon:jsx(IconSlash,{size:"0.8rem"}),rightSection:jsx(Text,{size:"sm",c:"dimmed",span:true,children:"/gm"}),onChange:P=>W("pattern",P.target.value),error:d||i.content.pattern===""&&!h}),x&&jsxs(Text,{size:"xs",children:["Final Regex Pattern: ",`new RegExp(${x}, "gm")`]})]}),jsx(Input.Wrapper,{label:"Use proxy on Client Side",description:"If the datasource has secrets on its logic, set proxy to YES to avoid expose credentials.",children:jsx(SegmentedControl,{fullWidth:true,value:i.content.useProxy?.toString()||"false",onChange:P=>W("useProxy",P),data:[{label:"No",value:"false"},{label:"Yes",value:"true"}]})}),jsx(I$1,{value:i.content.access||["public"],onChange:P=>W("access",P),item:"Data Source"})]}),jsxs(Stack,{spacing:4,children:[jsx(Input.Wrapper,{label:"Client-Side Logic (Variables: url, envs, libs, session)",children:jsx(rn,{monacoOptions:{onChange:P=>W("logic",P),height:"30vh",value:i.content.logic}},"data-source-code-editor")}),jsx(Input.Wrapper,{label:"Server-Side Logic \u2014 SSR/Proxy (Variables: url, envs, libs, session)",description:"Optional. When set, overrides the client-side logic for server-side execution (SSR rendering and proxy requests).",children:jsx(rn,{monacoOptions:{onChange:P=>W("logic_ssr",P),height:"30vh",value:i.content.logic_ssr||""}},"data-source-ssr-code-editor")})]})]}),jsx(Divider,{my:"sm"}),jsxs(Stack,{spacing:2,children:[jsx(TextInput,{label:"Test URL",value:i.content.testUrl,onChange:P=>W("testUrl",P.target.value),error:i.content.testUrl===""&&!h}),R&&jsxs(Text,{size:"xs",children:["Final Test URL: ",R]})]}),jsx(Textarea,{readOnly:true,icon:u.includes("ERROR:")?jsx(IconAlertCircle,{}):jsx(IconCircleCheck,{}),label:"Test Config Results",minRows:7,value:u,error:u.includes("ERROR:")?"There is a problem in the function, pattern or test url. Please check and run again to be able to save it.":false}),jsx(Textarea,{readOnly:true,icon:h?jsx(IconCircleCheck,{}):jsx(IconAlertCircle,{}),label:"Test Response Results",minRows:7,value:l,error:l.includes("ERROR")&&!h?"There is a problem in the request, the server response is not ok. Please check and run again to be able to save it.":false})]})]}),buttons:jsxs(Fragment,{children:[jsx(Button,{variant:"outline",disabled:M,onClick:()=>t(),children:"Cancel"}),jsx(Button,{onClick:F,disabled:!S||M,color:S?"blue":h?"green":"red",leftIcon:jsx(IconPlayerPlay,{}),children:"Run Test Config"}),jsxs(Button,{onClick:L,disabled:!S||u.includes("ERROR:")||u===""||M,color:S?"blue":h?"green":"red",leftIcon:jsx(IconPlayerPlay,{}),loading:M,children:[i?.content.useProxy?"Save & ":"","Run Test Request"]}),jsx(Button,{onClick:()=>U(true),loading:M,disabled:M||!h||S,children:"Save"})]}),size:165})})}function Mh({filters:e,onClickEdit:t}){let[o,n]=useState([]),r=X(),i=Ca(),s=i.isSuccess?i.data.map(c=>{let p={...r};return {...c,patternSwapped:I(c.content.pattern,{},{variables:p})}}):[],l=useMemo(()=>s,[s]),a=()=>{let c=l.filter(p=>{let f=true;if(e.name&&(f=p.name.toLowerCase().indexOf(e.name.toLowerCase())>-1||p.description.indexOf(e.name)>-1),e.query)try{f=new RegExp(p.patternSwapped).test(e.query);}catch{f=false;}return f});n(c);};return useEffect(()=>{a();},[e,l]),jsx(MantineReactTable,{columns:[{header:"ID",accessorKey:"id",minSize:35,size:35,maxSize:35,mantineTableHeadCellProps:{align:"right"},mantineTableBodyCellProps:{align:"right"}},{header:"Name",accessorKey:"name"},{header:"Use Proxy",accessorKey:"content.useProxy",minSize:70,size:70,maxSize:70,Cell:({row:c})=>c.original.content.useProxy?"YES":"NO"},{header:"REGEX Pattern",accessorKey:"content.pattern"},{header:"REGEX Pattern Swapped",accessorKey:"patternSwapped"},{header:"Order",accessorKey:"content.order",minSize:50,size:50,maxSize:50,mantineTableHeadCellProps:{align:"right"},mantineTableBodyCellProps:{align:"right"}},{header:"Actions",accessorKey:"actions",Cell:({row:c})=>jsxs(Group,{position:"center",spacing:"xs",noWrap:true,children:[jsx(ActionIcon,{onClick:()=>t(c.original),children:jsx(IconPencil,{size:20})},"edit"),jsx(Bt,{id:c.original.id,type:"datasource",disabled:c.original.usageCount>0,warning:`Delete Data Source called "${c.original.name}" (id:${c.original.id}) ? It is not used in any block.`})]}),enableSorting:false,minSize:80,size:80,maxSize:80,mantineTableHeadCellProps:{align:"center"},mantineTableBodyCellProps:{align:"center"}}],data:o,enableBottomToolbar:false,enableColumnActions:false,enableColumnResizing:true,enablePagination:false,enableTopToolbar:false,initialState:{density:"xs",sorting:[{id:"content.order",desc:false}]},layoutMode:"grid",mantineTableContainerProps:{sx:{minHeight:150}},mantineTableProps:{striped:true}})}function Lh(){let[e,t]=useState(null),[o,n]=useState(true),r=a=>{n(a);},i=a=>{t(a);},s=a=>{a&&t(a.id);},l=()=>{t(null);};return jsxs(Container,{fluid:true,children:[jsxs(Grid,{children:[jsxs(Grid.Col,{span:2,children:[jsx(Text,{ml:"xl",my:"sm",weight:"bold",children:"Data Sources"}),jsx(wh,{onChange:r,onEditCreation:i,loading:false})]}),jsxs(Grid.Col,{span:10,style:{height:"100vh"},children:[jsx(Space,{h:"xs"}),jsx(Mh,{filters:o,onClickEdit:s})]})]}),e&&jsx(Oh,{dataSourceId:e,onEditEnd:l})]})}function zh(){let{user:e}=a$1();return jsxs(Flex,{mih:"100vh",gap:"md",justify:"center",align:"center",direction:"column",wrap:"wrap",children:[jsxs(Title,{children:["Hi, ",e?.name||e?.email,"!"]}),jsx(Text,{children:"Welcome to Bespoke CMS. Have fun creating some amazing automated reports here!"})]})}var At={value:"all",label:"All"},vu=e=>{if(!e)return [];let t=e.map(o=>({value:String(o.id),label:o.name}));return [At,...t]};function Fh({onChange:e,loading:t}){let o=ua(),n=va$1(h=>Object.values(h.records.entities.report).map(b=>({id:b.id,name:b.name,dimensions:b.dimensions.map(C=>{let d=h.records.entities.dimension[C];return {id:d.id,name:d.name,variants:d.variants.map(y=>{let x=h.records.entities.variant[y];return {id:x.id,name:x.name}})}})}))),r=va$1(h=>h.status.localeDefault),[i,s]=useState(""),[l,a]=useState(false),[u]=useDebouncedValue(i,500),c={report:At.value,dimension:At.value,variant:At.value,visible:false,noImage:false,limit:"10",paginationVariants:[]},[p,f]=useState(c),m=useMemo(()=>({report:vu(n),dimension:vu(n.filter(h=>p.report===At.value||p.report===`${h.id}`).reduce((h,b)=>h.concat(b.dimensions),[])),variant:vu(n.filter(h=>p.report===At.value||p.report===`${h.id}`).reduce((h,b)=>(b.dimensions.filter(C=>p.dimension===At.value||p.dimension===`${C.id}`).forEach(C=>{h=h.concat(C.variants);}),h),[])),limit:[10,25,50,100].map(h=>({value:String(h),label:String(h)}))}),[n,p]),g=useCallback((h,b)=>{let C={...p,[h]:b};switch(h){case "report":C.dimension=At.value,C.variant=At.value;break;case "dimension":C.variant=At.value;break;}f(C);},[p]),S=()=>{s(""),f(c);},v=()=>{a(true),o(ta$1.searchRegenerate()).then(()=>{a(false),e(p);});};return useEffect(()=>{let h=[];if(p.variant!==At.value)h=[`${p.variant}`];else if(p.dimension!==At.value)n.forEach(b=>{let C=b.dimensions.find(d=>`${d.id}`===p.dimension);C&&(h=C.variants.map(d=>`${d.id}`));});else if(p.report!==At.value){let b=n.find(C=>`${C.id}`===p.report);b&&b.dimensions.forEach(C=>{h=[...h,...C.variants.map(d=>`${d.id}`)];});}e({...p,paginationVariants:h,query:u});},[p.report,p.dimension,p.variant,p.visible,p.limit,p.noImage,u]),jsxs("div",{children:[jsx(TextInput,{label:`Search item by name (${r.toUpperCase()})`,value:i,onChange:h=>s(h.currentTarget.value),disabled:t}),jsx(Select,{label:"Reports",data:m.report,value:p.report,onChange:h=>g("report",h),disabled:t}),jsx(Select,{label:"Dimensions",data:m.dimension,value:p.dimension,onChange:h=>g("dimension",h),disabled:t}),jsx(Select,{label:"Variants",data:m.variant,value:p.variant,onChange:h=>g("variant",h),disabled:t}),jsx(Select,{label:"Rows limit",data:m.limit,value:p.limit,onChange:h=>g("limit",h),disabled:t}),jsx(Space,{h:"md"}),jsx(Checkbox,{label:"Show visible members only",checked:p.visible,onChange:h=>g("visible",h.currentTarget.checked)}),jsx(Space,{h:"md"}),jsx(Checkbox,{label:"Show members with no image",checked:p.noImage,onChange:h=>g("noImage",h.currentTarget.checked)}),jsx(Space,{h:"md"}),jsx(Button,{fullWidth:true,disabled:t,leftIcon:jsx(IconCircleX,{}),onClick:S,children:"Clear filters"}),jsx(Space,{h:"md"}),jsx(Button,{fullWidth:true,disabled:t,leftIcon:jsx(IconRefresh,{}),onClick:v,variant:"light",loading:l,children:"Re-Index Search"})]})}var $O=e=>{let t=process.env.NEXT_PUBLIC_IMAGE_PROVIDERS?process.env.NEXT_PUBLIC_IMAGE_PROVIDERS.split(","):[];return typeof process.env.NEXT_PUBLIC_IMAGE_PROVIDERS>"u"||t.indexOf(e)>-1};function GO({member:e,onEditEnd:t}){let o=e.contentByLocale&&e.contentByLocale[0]?e.contentByLocale[0].name:"",n=useMemo(()=>({upload:{title:"Upload",key:"upload",input:"file",forceSearch:false,pagination:false,getAxiosSearchConfig:()=>({})},local:{title:"Gallery",key:"local",input:"text",forceSearch:true,pagination:false,getAxiosSearchConfig:(T,M,I)=>({url:"/api/cms/images/search/local",method:"get",params:{prompt:T,page:I}})},flickr:{title:"Flickr",key:"flickr",input:"text",forceSearch:true,pagination:true,getAxiosSearchConfig:(T,M,I)=>({url:"/api/cms/images/search/flickr",method:"get",params:{prompt:T,page:I}})},unsplash:{title:"Unsplash",key:"unsplash",input:"text",forceSearch:true,pagination:true,getAxiosSearchConfig:(T,M,I)=>({url:"/api/cms/images/search/unsplash",method:"get",params:{prompt:T,page:I}})},pixabay:{title:"Pixabay",key:"pixabay",input:"text",forceSearch:true,pagination:true,getAxiosSearchConfig:(T,M,I)=>({url:"/api/cms/images/search/pixabay",method:"get",params:{prompt:T,page:I}})}}),[]),r=useMemo(()=>Object.values(n).filter(T=>$O(T.key)).map(T=>({value:T.key,label:T.title})),[]),[i,s]=useState(false),[l,a]=useState(Object.values(n)[0]),[u,c]=useState(500),[p,f]=useState(o),[m,g]=useState(),[S,v]=useState([]),[h,b]=useState(),[C,d]=useState(false),[y,x]=useState(1),k=async(T=void 0)=>{if(T&&T!==y)x(1);else {d(false),s(true);let M=l.getAxiosSearchConfig(p,m,T||y),I=await Gh(M).then(O=>O.data.data&&O.data.data.results?O.data.data.results:[]).catch(O=>{console.error(O),d(true);});v(I),I.length>0&&b(I[0]),s(false);}},R=T=>{b(T);},B=async()=>{s(true);let T=new FormData;T.append("content_id",e.content_id),h&&m&&(T.append("file",m),delete h.file),h&&(T.append("image_id",h.id),T.append("image_source",h.source)),await Gh({method:"post",url:`/api/cms/images/save/${l.key}`,data:T}).then(()=>{t(true);}).catch(M=>{console.error(M),d(true);}),s(false);},N=T=>{d(false),a(n[T]),b(void 0),v([]),x(1);};useEffect(()=>{let{innerHeight:T}=window;c(T-280);},[]),useEffect(()=>{!i&&l.forceSearch&&k();},[y,l]);let $=S&&S.length===0&&!i&&l.key!=="upload",K=S&&S.length===0&&!i&&l.key==="upload";return jsx(Drawer,{opened:true,onClose:t,title:`Image selection for ${o} (${e.id}) `,padding:"lg",closeOnClickOutside:false,closeOnEscape:false,position:"left",size:"50%",lockScroll:true,withCloseButton:false,children:jsx("div",{style:{height:"100%"},children:jsxs(Stack,{spacing:"sm",children:[jsxs(Stack,{spacing:"xs",children:[jsx(SegmentedControl,{disabled:i,value:l.key,onChange:T=>N(T),data:r,fullWidth:true}),jsxs(Group,{position:"apart",grow:true,align:"flex-end",children:[l.input==="text"&&jsx(TextInput,{placeholder:"Search term",label:"Search term",value:p,onChange:T=>f(T.target.value),onKeyDown:getHotkeyHandler([["Enter",()=>k(1)]])}),l.input==="file"&&jsx(FileInput,{label:"Upload image",placeholder:"Choose an image from your computer (png, jpg, jpeg, webp)",accept:"image/png,image/jpeg,image/jpg,image/webp",value:m,onChange:T=>{if(b(void 0),T){let I={id:"custom",source:URL.createObjectURL(T),file:T};v([I]),g(T),b(I);}},icon:jsx(IconUpload,{size:14})}),l.forceSearch&&jsx(Button,{fullWidth:true,disabled:i||!p||p==="",onClick:()=>k(1),leftIcon:jsx(IconPlayerPlay,{}),children:"Search"})]})]}),jsx(Group,{mt:"xs",grow:true,children:jsxs(ScrollArea,{offsetScrollbars:true,type:"always",style:{height:u},children:[jsx(LoadingOverlay,{visible:i,overlayBlur:2,overlayOpacity:.5,overlayColor:"#fff"}),C&&jsx(Alert,{title:`${l.title}`,color:"red",children:"Error, please try again."}),$&&jsx(Alert,{title:`${l.title}`,color:"blue",children:"No results, for try another prompt or provider."}),K&&jsx(Alert,{icon:jsx(IconPhoto,{size:"1rem"}),title:"Welcome to image selector!",color:"blue",children:"Upload an image or select a provider."}),S&&S.length>0&&!i&&jsxs(Fragment,{children:[jsx(SimpleGrid,{cols:3,children:S.map(T=>jsx(Image,{alt:`${l.title}-image-${T.id}`,radius:"md",src:T.source,style:{cursor:"pointer",borderRadius:15,border:h&&h.id===T.id?"5px solid black":""},onClick:()=>R(T)},T.id))}),jsx(Space,{h:"md"}),l.pagination&&jsx(Button,{variant:"outline",fullWidth:true,onClick:()=>x(y+1),children:"Load more images"})]})]})}),jsxs(Group,{mt:"xs",grow:true,style:{height:45},children:[jsx(Button,{variant:"outline",disabled:i,onClick:()=>t(false),children:"Cancel"}),jsx(Button,{onClick:B,loading:i,disabled:i||!h,children:"Save"})]})]})})})}var Hh=GO;function Jh({memberId:e,onEditEnd:t$1}){let o=va$1(L=>L.status.localeDefault),n=va$1(L=>L.status.locales),r=n.map(L=>({value:L,label:`${L.toUpperCase()}`})),i=!!e,[s,l]=useState(o),[a,u]=useState(null),[c,p]=useState(true),[f,m]=useState(false),[g,S]=useState(false),[v,h]=useState("member"),[b,C]=useState(false),[d,y]=useState([]),[x,k]=useState({}),R=useForm(),B=n.reduce((L,U)=>(L[U]=useForm({}),L),{}),N=useForm(),$=n.reduce((L,U)=>(L[U]=useForm({}),L),{}),K=ua(),T=async()=>{p(true),S(false);let L=await K(ta$1.readMember({locale:"all",content_ids:[e],all:true,mode:"content_ids",output:"full"})).then(U=>{let P;return U.results&&U.results[0]?(S(false),P=U.results[0]):S(true),P}).catch(U=>{console.error(U),S(true);});L&&(u(L),R.setValues(L),L.contentByLocale.forEach(U=>{B[U.locale].setValues({name:U.name,keywords:U.keywords?U.keywords:[],attributes:U.attributes?Object.keys(U.attributes).map(P=>({key:P,value:U.attributes[P]})):[]});}),L.image&&(N.setValues(L.image),L.image.contentByLocale.forEach(U=>{$[U.locale].setValues({meta:U.meta});}))),p(false);},M=async()=>{if(a&&a.contentByLocale){let L=a.contentByLocale.find(U=>U.locale===s);if(L){C(true);let U=f$1({q:L.name,limit:"10",locale:s,visible:"true",includes:"true",noImage:"false",format:"plain",all:"true"});K(ta$1.searchMember(U)).then(P=>{if(P&&P.results){let A=P.results.filter(_=>_.content_id!==e);y(A);}C(false);}).catch(P=>{console.error(P),C(false);});}}};useEffect(()=>{e?T():u(null);},[e]),useEffect(()=>{a&&M();},[a,s]);let I=async L=>{L&&T(),m(false);},O=()=>{u({...a,image:null,image_id:null});},G=async()=>{p(true);let L={...R.values,contentByLocale:a.contentByLocale.map(A=>{let _=B[A.locale]?{...B[A.locale].values}:{};return _.keywords=_.keywords&&_.keywords.length>0?_.keywords:null,{...A,..._}}),image:a.image?{...N.values,contentByLocale:n.map(A=>{let _=a.image.contentByLocale.find(Y=>Y.locale===A),Q=$[_.locale]?$[_.locale].values:{};return {..._,...Q}})}:null,image_id:a.image_id},U=[Gh.post("/api/cms/update/member",L)],P=Object.keys(x);P.length>0&&P.forEach(A=>{U.push(Gh.post("/api/cms/update/member",{content_id:d[A].content_id,image_id:a.image_id}));}),Promise.all(U).then(()=>{t$1();}).catch(A=>{console.error(A),S(true);});},W=Object.keys(B[s].values).length>0,F={state:{rowSelection:x},onRowSelectionChange:k,enableRowSelection:L=>a.image_id&&L.original.image_id!==a.image_id};return jsxs(Fragment,{children:[jsx(Drawer,{opened:i,onClose:()=>t$1(),title:`Edit member ID ${e}`,padding:"lg",closeOnClickOutside:false,closeOnEscape:false,position:"right",size:"50%",lockScroll:true,withCloseButton:false,children:jsx(bt,{content:jsxs(Fragment,{children:[jsx(LoadingOverlay,{visible:c,overlayBlur:2,overlayOpacity:.5}),g&&jsx(Alert,{title:"Member Form",color:"red",children:"Error, please try again."}),a&&!g&&jsxs(Tabs,{defaultValue:"member",value:v,onTabChange:h,children:[jsxs(Tabs.List,{grow:true,children:[jsx(Tabs.Tab,{value:"member",icon:jsx(IconListCheck,{}),children:"Member"}),jsx(Tabs.Tab,{value:"image",icon:jsx(IconPhoto,{}),children:"Image"})]}),jsx(Tabs.Panel,{value:"member",py:"md",children:jsxs(Stack,{justify:"space-between",children:[jsxs(Group,{position:"apart",grow:true,children:[jsx(TextInput,{mt:"xs",disabled:true,label:"Original ID",...R.getInputProps("id")}),jsx(TextInput,{mt:"xs",disabled:true,label:"Content ID",...R.getInputProps("content_id")})]}),jsxs(Group,{position:"apart",grow:true,children:[jsx(TextInput,{mt:"xs",icon:"/",disabled:true,label:"Variant Slug",...R.getInputProps("variant_slug")}),jsx(TextInput,{mt:"xs",icon:"/",disabled:true,label:"Member Slug",...R.getInputProps("slug")})]}),jsxs(Group,{position:"apart",grow:true,children:[jsx(TextInput,{mt:"xs",disabled:true,label:"Report",...R.getInputProps("report_name")}),jsx(TextInput,{mt:"xs",disabled:true,label:"Dimension",...R.getInputProps("dimension_name")}),jsx(TextInput,{mt:"xs",disabled:true,label:"Variant",...R.getInputProps("variant_name")})]}),jsxs(Group,{grow:true,children:[jsxs(Box,{onClick:()=>h("image"),style:{cursor:"pointer"},pos:"relative",children:[jsx(Overlay,{opacity:0,center:true,sx:{backdropFilter:"none","& button":{display:"none"},"&:hover":{backdropFilter:"blur(0.2375rem)",button:{display:"flex"}}},children:jsx(Button,{size:"xs",radius:"sm",variant:"filled",leftIcon:jsx(IconPhoto,{size:"0.9rem"}),children:"Edit"})}),jsx(Vr,{member:a,forceRefreshTimestamp:true})]}),jsx(Input.Wrapper,{label:"Search relevance",description:`
|
|
93
48
|
Relevance index to be used with search. Values from 0 (less relevant) to 1 (more relevant)
|
|
94
|
-
`,children:jsx(NumberInput,{disabled:!O.values.visible,type:"number",precision:4,step:1e-4,removeTrailingZeros:true,min:0,max:1,decimalSeparator:".",...O.getInputProps("zvalue")})}),jsx(Checkbox,{mt:"2.3rem",label:"Visible in search",...O.getInputProps("visible",{type:"checkbox"})})]}),jsx(Group,{mt:"xs",position:"apart",grow:true,children:jsx(SegmentedControl,{value:a,onChange:l,data:n})}),!$&&jsx(Alert,{title:"Unavailable locale",color:"blue",children:"This language was not ingested for the current member. Go to variant editor and provide the members there."}),$&&jsxs(Fragment,{children:[jsx(Group,{mt:"xs",position:"apart",grow:true,children:jsx(TextInput,{label:"Name",...A[a].getInputProps("name")})}),jsx(Group,{mt:"xs",position:"apart",align:"top",grow:true,children:jsx(MultiSelect,{label:"Keywords",data:A[a].values.keywords,placeholder:"Enter keywords",searchable:true,creatable:true,valueComponent:({label:z})=>jsxs(Badge,{onClick:()=>{let q=A[a].values.keywords;A[a].setFieldValue("keywords",q.filter(W=>W!==z));},children:[z," ","x"]}),getCreateLabel:z=>`+ Create ${z}`,value:A[a].values.keywords,onCreate:z=>{let q=A[a].values.keywords;return A[a].setFieldValue("keywords",[...q,z]),z}})}),jsx(Input.Wrapper,{label:"Attributes",children:jsx(bp,{data:A[a].values.attributes})})]})]})}),jsx(Tabs.Panel,{value:"image",py:"md",children:jsxs(Stack,{justify:"space-between",children:[jsxs(Group,{position:"apart",grow:true,children:[jsxs(Stack,{children:[jsx(Zl,{member:s,forceRefreshTimestamp:true}),jsx(Button,{variant:"outline",disabled:u,leftIcon:jsx(IconPolaroid,{}),onClick:()=>g(true),children:"Change image"}),s&&s.image&&jsx(Button,{variant:"outline",disabled:u,leftIcon:jsx(IconCircleMinus,{}),onClick:()=>N(),children:"Remove image"}),jsx(Space,{h:"md"})]}),jsxs(Stack,{justify:"flex-start",children:[jsx(TextInput,{disabled:!s||!s.image,label:"Source",...B.getInputProps("url")}),jsx(TextInput,{disabled:!s||!s.image,label:"Author",...B.getInputProps("author")}),jsx(TextInput,{disabled:!s||!s.image,label:"License",...B.getInputProps("license")}),jsx(SegmentedControl,{disabled:!s||!s.image,value:a,onChange:l,data:n}),jsx(TextInput,{disabled:!s||!s.image,label:"Alternative image text",..._[a].getInputProps("meta")})]})]}),v&&jsx(Loader,{}),!v&&b.length>0&&jsxs(Fragment,{children:[jsx(Text,{children:"Select the members you want to update with the same image."}),jsx(vs,{members:b,colsToRender:["id","report","name","slug","image"],dataTableProps:V})]})]})})]})]}),buttons:jsxs(Fragment,{children:[jsx(Button,{variant:"outline",disabled:u,onClick:()=>t(),children:"Cancel"}),jsx(Button,{onClick:j,loading:u,disabled:u,children:"Save Member"})]}),size:165})}),f&&jsx(MA,{member:s,onEditEnd:M})]})}function $A(){let[e,t]=useState(null),[o,r]=useState([]),[n,i]=useState(true),[a,l]=useState(true),[s,c]=useState(),[u,d]=useState(1),[f,g]=useState(0),m=C=>{l(C),d(1);},h=C=>{C&&C.length&&c(C[0]);},y=C=>{t(C.content_id);},S=()=>{t(null),v();},v=async()=>{i(true);let C=Object.keys({...a}).reduce((k,w)=>(a[w]!=="all"&&(k[w]=a[w]),k),{}),b=await Mu.get("/api/cms/search/members",{params:{...C,offset:(u-1)*parseInt(C.limit||"10",10),locale:"all",includes:true,sort:s?s.id:"zvalue",direction:s?s.desc?"desc":"asc":"desc",origin:"flexsearch"}}).then(k=>{let w=k.data&&k.data.data&&k.data.data.meta?Object.keys(k.data.data.meta.variantCount).reduce((R,O)=>{let A=k.data.data.meta.variantCount[O];return a.paginationVariants&&a.paginationVariants.length>0&&(a.paginationVariants.includes(O)||(A=0)),R+A},0):0;return g(w),k.data&&k.data.data&&k.data.data.results?k.data.data.results:[]});r(b),i(false);};return useEffect(()=>{a.limit&&v();},[a,s,u]),jsxs(Container,{fluid:true,children:[jsxs(Grid,{children:[jsxs(Grid.Col,{span:2,children:[jsx(Text,{ml:"xl",my:"sm",weight:"bold",children:"Metadata"}),jsx(IA,{onChange:m,loading:n})]}),jsxs(Grid.Col,{span:10,style:{height:"95vh",position:"relative"},children:[jsx(LoadingOverlay,{visible:n,overlayBlur:2,overlayOpacity:.5}),jsx(Space,{h:"xs"}),jsx(vs,{members:o,onClickEdit:y,onSort:h}),jsx(Group,{position:"center",children:jsx(Pagination,{value:u,onChange:d,total:Math.ceil(f/(a.limit||10)),size:"sm",py:"xs"})})]})]}),e&&jsx(VA,{memberId:e,onEditEnd:S})]})}p();Xe();function HA(){let{user:e}=we(),t={color:"#000"};return jsxs(Flex,{mih:"100vh",gap:"md",justify:"center",align:"center",direction:"column",wrap:"wrap",style:{background:"white"},children:[jsx(Title,{style:t,children:"Not found."}),jsxs(Title,{order:2,style:t,children:["Sorry, ",e?.name,"!"]}),jsx(Text,{style:t,children:"The page you are looking for is not here."}),jsx(Button,{component:"a",href:"/",children:"Back to homepage"})]})}p();p();st();se();function Yy(e){let{for:t,enabled:o}=e,r=useMantineTheme(),n=Xt(),i=r.colorScheme==="dark"?r.colors.dark[1]:r.colors.gray[7];return jsxs(Card,{shadow:"xs",p:"sm",w:"100%",children:[jsxs(Group,{position:"apart",children:[jsxs(Center,{mah:24,children:[jsx(IconFileAnalytics,{size:22}),jsx(Text,{mx:"xs",weight:"bold",children:t.name}),t.type==="report"&&t.settings?.hide&&jsx(Tooltip,{label:"Hidden in explore/search",position:"top",children:jsx(IconEyeOff,{size:16,style:{marginLeft:4,color:i}})})]}),jsx(Badge,{variant:"light",children:t.type})]}),jsxs(Text,{size:"sm",style:{color:i,lineHeight:2},children:["Order in explore/search: ",(t.type==="report"?t.settings?.order:void 0)??0]}),jsx(Space,{w:"xs"}),jsxs(Group,{position:"apart",children:[jsx(CP,{href:n.href("reports",t.id),passHref:true,children:jsx(Button,{leftIcon:jsx(IconPencil,{}),compact:true,children:"Edit"})}),jsx(ir,{type:"report",id:t.id,disabled:!o})]})]})}Yt(Yy,zt);se();ye();Xe();p();var KA=e=>(e&&e.bespoke_app_metadata&&e.bespoke_app_metadata.reports&&Array.isArray(e.bespoke_app_metadata.reports)?e.bespoke_app_metadata.reports:[]).map(o=>o.reportId);function JA(){let e=ie(),[t,o]=useState(false),{user:r}=we(),n=KA(r),i=Za(),a=useCallback(s=>{o(true),e(Z.createEntity("report",s)).then(c=>{c.ok&&n.length>0||o(false);});},[]),l=useMemo(()=>i.isUninitialized||i.isFetching?jsx(LoadingOverlay,{visible:true,overlayBlur:2}):i.isError?jsx(Alert,{icon:jsx(IconFileAnalytics,{size:22}),title:"Server Error",children:i.error.message}):i.data.length===0?jsx(Alert,{icon:jsx(IconFileAnalytics,{size:22}),title:"No Saved Reports",children:"Please use the button below to create your first report."}):jsx(Stack,{children:i.data.sort((s,c)=>{let u=(s.type==="report"?s.settings?.order:void 0)??0,d=(c.type==="report"?c.settings?.order:void 0)??0;return u-d}).map(s=>jsx(Yy,{for:s,enabled:!!(n.length===0||n.includes(s.id))},s.id))}),[i.data,i.error,i.status,n]);return jsxs(Container,{size:"xl",children:[jsx("h1",{children:"Reports"}),jsx(LoadingOverlay,{visible:t,overlayBlur:2,overlayOpacity:.5}),l,jsx(Space,{h:"xl",w:"xl"}),jsx(fs,{fields:[{type:"text",name:"name",label:"Report Name",initialValue:""}],onSubmit:a,target:jsx(ActionIcon,{size:"xl",radius:"xl",children:jsx(IconPlus,{size:30})})})]})}p();Xe();function eP(){let{user:e}=we(),t={color:"#000"};return jsxs(Flex,{mih:"100vh",gap:"md",justify:"center",align:"center",direction:"column",wrap:"wrap",style:{background:"white"},children:[jsx(Title,{style:t,children:"Unauthorize or forbidden access."}),jsxs(Title,{style:t,order:2,children:["Sorry, ",e?.name,"!"]}),jsx(Text,{style:t,children:"Your session or your user's roles doesn't satisfy the needs of the requested view. Please, ask your administrator to allow you."}),jsxs(Group,{children:[jsx(Button,{component:"a",href:"/",leftIcon:jsx(IconHome,{size:14}),variant:"outline",color:"dark",children:"Back to homepage"}),jsx(Button,{onClick:()=>signOut({callbackUrl:process.env.NEXT_PUBLIC_REPORTS_BASE_URL||"/"}),leftIcon:jsx(IconLogout,{size:14}),variant:"outline",color:"dark",children:"Disconnect"})]})]})}p();se();p();var tP={value:"all",label:"All"},u8=e=>{if(!e)return [];let t=e.map(o=>({value:String(o.id),label:`${o.name} (${o.type})`}));return [tP,...t]};function oP({onChange:e,loading:t,roles:o}){let r={role_id:tP.value,query:"",page:0},[n,i]=useState(r),[a]=useDebouncedValue(n.query,500),l=useMemo(()=>({roles:u8(o)}),[o]),s=useCallback((u,d)=>{let f={...n,[u]:d};i(f);},[n]),c=()=>{i(r);};return useEffect(()=>{e({...n,query:a});},[n.role_id,n.page,a]),jsxs("div",{children:[jsx(Select,{label:"Roles",data:l.roles,value:n.role_id,onChange:u=>s("role_id",u),disabled:t}),jsx(TextInput,{label:"Search by name or email",value:n.role_id!=="all"?"":n.query,onChange:u=>s("query",u.currentTarget.value),disabled:t||n.role_id!=="all"}),jsx(Space,{h:"md"}),jsx(Button,{fullWidth:true,disabled:t,leftIcon:jsx(IconCircleX,{}),onClick:c,children:"Clear filters"})]})}p();Xe();p();se();Sn();function rP({reportId:e,onSelectFavorites:t,onClickDelete:o}){let r=zt(e),n=cs(e),{data:i}=$l(),a=i?.reduce((f,g)=>(g.report_id===e&&(f[g.id]=g),f),{})||{},l=H(f=>f.status.localeDefault),s=r.data,[c,u]=useState(s?s.dimensions.map(()=>{}):[void 0]),d=(f,g)=>{let m=[...c];m[f]=g?{variantId:parseInt(g.variant_id,10),contentId:parseInt(g.content_id,10)}:void 0,u(m),m.some(h=>typeof h>"u")||t(e,m);};return useEffect(()=>{r.isError&&o(e);},[r.isError]),jsx(Stack,{children:s&&jsxs(Fragment,{children:[jsxs(Group,{spacing:"xl",align:"center",children:[jsxs(Text,{children:["Report: ",s.name]}),jsx(ActionIcon,{size:"md",color:"red",onClick:()=>o(e),children:jsx(IconTrash,{})})]}),s.dimensions.length===0&&jsx(Group,{children:jsxs(Text,{c:"dimmed",fz:"sm",children:["No dimensions created in report ",s.name," yet."]})}),s.dimensions.map((f,g)=>jsxs(Group,{children:[jsxs(Text,{tt:"uppercase",fz:"0.6rem",fw:700,color:"gray.6",children:[a[f].name,":"]}),jsx(ep,{dimensionId:f,value:n?{variantId:n[g].variantId,memberId:n[g].contentId}:void 0,onSelect:m=>d(g,m),locale:l},f)]},f))]})})}se();p();se();function nP({selectedReportId:e="",onChangeReport:t,exclude:o=[]}){let r=Za(),n=l=>{t(l);},a=useMemo(()=>r.isSuccess?r.data.map(l=>({value:`${l.id}`,label:l.name})):[],[r.status]).filter(l=>!o.includes(l.value));return jsx(Select,{style:{width:100},size:"xs",placeholder:"Choose a report",data:a,value:String(e),onChange:n,disabled:a.length===0})}var A8=e=>e?e.map(t=>({value:String(t.id),label:t.name,group:t.type})):[];function cP({userId:e,onEditEnd:t,roles:o}){let r=ie(),{user:n,update:i}=we(),[a,l]=useState(null),[s,c]=useState(true),[u,d]=useState(false),[f]=useState(""),[g,m]=useState(true),[h,y]=useState(""),S=useForm(),v=useMemo(()=>!!(n&&n.id===e),[n]),C=!!e,b=useMemo(()=>({roles:A8(o)}),[o]),k=a&&a.app_metadata&&a.app_metadata.reports?a.app_metadata.reports:[],w=k.map(M=>String(M.reportId)),R=async()=>{c(true),d(false);let M=await r(Z.readUser(e)).then(j=>j);l(M),S.setValues(M);let N=M&&M.app_metadata&&M.app_metadata.reports?M.app_metadata.reports:[];m(N.length===0),c(false);};useEffect(()=>{e?R():l(null);},[e]);let O=async()=>{if(c(true),a){let M={roles:a.roles,app_metadata:a.app_metadata};await r(Z.updateUser({user:{user_id:a.user_id,...M}})).then(()=>{v?(console.info("its YOU! Refreshing page to grab new change on session",M),i()):(c(false),t());});}},A=M=>{let N=M.map(z=>o.find(q=>q.id===z)).filter(z=>z),j=N.find(z=>z.name===Ir.EDITOR);N.find(z=>z.name===Ir.ADMIN);let V=a?a.app_metadata:{};j||(V={...V,reports:[]},m(true)),l({...a,roles:N,app_metadata:V});},B=M=>{y(M);},_=()=>{if(a&&h){let M=a.app_metadata&&a.app_metadata.reports?a.app_metadata.reports:[];M.push({reportId:parseInt(h,10),favorites:[]}),l({...a,app_metadata:{...a.app_metadata,reports:M}}),y("");}},P=M=>{if(a&&M){let N=a.app_metadata&&a.app_metadata.reports?a.app_metadata.reports:[];l({...a,app_metadata:{...a.app_metadata,reports:N.filter(j=>parseInt(`${j.reportId}`,10)!==parseInt(M,10))}});}},I=M=>{m(M.currentTarget.checked),a&&l({...a,app_metadata:{...a.app_metadata,reports:[]}});},F=(M,N)=>{if(a){let $=(a.app_metadata&&a.app_metadata.reports?[...a.app_metadata.reports]:[]).map(V=>(V.reportId===M&&(V.favorites=N),V));l({...a,app_metadata:{...a.app_metadata,reports:$}});}};return jsx(Fragment,{children:jsx(Drawer,{opened:C,onClose:()=>t(),title:jsxs(Fragment,{children:["Edit user ID ",e," ",v?jsx(Badge,{children:"YOU"}):""]}),padding:"lg",closeOnClickOutside:false,closeOnEscape:false,position:"right",size:"50%",lockScroll:true,withCloseButton:false,children:jsx(Ao,{content:jsxs(Fragment,{children:[jsx(LoadingOverlay,{visible:s,overlayBlur:2,overlayOpacity:.5}),u&&jsx(Alert,{title:"Member Form",color:"red",children:"Error, please try again."}),n&&!u&&jsxs(Stack,{justify:"space-between",children:[jsxs(Group,{position:"apart",grow:true,children:[jsx(TextInput,{mt:"xs",disabled:true,label:"Name",...S.getInputProps("name")}),jsx(TextInput,{mt:"xs",disabled:true,label:"email",...S.getInputProps("email")})]}),jsxs(Stack,{children:[jsx(Title,{order:2,children:"Roles:"}),jsx(MultiSelect,{data:b.roles,onChange:A,value:(a?.roles||[]).map(M=>M.id),error:f})]}),a&&(a.roles||[]).map(M=>M.name).includes(Ir.EDITOR)&&jsxs(Stack,{children:[jsx(Title,{order:4,children:"Editor settings:"}),jsxs(Group,{children:[jsx(Text,{children:"Edit selected reports only"}),jsx(Switch,{label:"",checked:g,onChange:I}),jsx(Text,{children:"Edit all reports"})]}),!g&&jsxs(Fragment,{children:[jsxs(Group,{grow:true,children:[jsx(nP,{selectedReportId:h,onChangeReport:B,exclude:w}),jsx(Button,{variant:"outline",disabled:s||!h&&h==="",onClick:_,children:"Add Report"})]}),k.map(M=>jsx(Stack,{children:jsx(rP,{reportId:M.reportId,initialFavorites:M.favorites,onSelectFavorites:F,onClickDelete:P})},M.reportId))]})]})]})]}),buttons:jsxs(Fragment,{children:[jsx(Button,{variant:"outline",disabled:s,onClick:()=>t(),children:"Cancel"}),jsx(Button,{onClick:O,loading:s,disabled:s,children:"Save User"})]}),size:165})})})}p();function uP({response:e,onClickEdit:t,onPageChange:o}){let[r,n]=useState([]),[i,a]=useState({pageIndex:0,pageSize:10}),[l,s]=useState(0);return useEffect(()=>{o(i.pageIndex+1);},[i.pageIndex]),useEffect(()=>{e&&(n(e.users),s(e.total));},[e]),useEffect(()=>{n(e);},[]),jsx(MantineReactTable,{columns:[{header:"",accessorKey:"image",Cell:({row:u})=>jsx(Avatar,{src:u.original.picture,alt:`${u.original.name}`,radius:20}),size:50,mantineTableBodyCellProps:{align:"center"}},{header:"Name",accessorKey:"name"},{header:"Email",accessorKey:"email"},{header:"Actions",accessorKey:"actions",Cell:({row:u})=>jsx(ActionIcon,{onClick:()=>t(u.original),children:jsx(IconPencil,{size:20})},"edit"),size:100,mantineTableHeadCellProps:{align:"center"},mantineTableBodyCellProps:{align:"center"}}],data:r,enableColumnActions:false,enablePagination:true,enableSorting:false,enableTopToolbar:false,initialState:{density:"xs"},layoutMode:"grid",mantineTableContainerProps:{sx:{minHeight:150}},manualPagination:true,onPaginationChange:a,paginationDisplayMode:"pages",rowCount:l,state:{pagination:{pageIndex:i.pageIndex,pageSize:i.pageSize}}})}function dP(){let[e,t]=useState(null),[o,r]=useState([]),[n,i]=useState([]),[a,l]=useState(true),[s,c]=useState({query:""}),u=ie(),d=y=>{c(y);},f=y=>{c({...s,page:y});},g=y=>{t(y.user_id);},m=()=>{t(null),h();},h=async()=>{l(true);let y={query:s.query};s.role_id&&s.role_id!=="all"&&(y.role_id=s.role_id),y.page=s.page?s.page-1:0,u(Z.searchUser(y)).then(S=>{r(S),l(false);});};return useEffect(()=>{l(true),u(Z.searchRole()).then(y=>{i(y.roles),l(false);});},[u]),useEffect(()=>{h();},[s]),jsxs(Container,{fluid:true,children:[jsxs(Grid,{children:[jsxs(Grid.Col,{span:2,children:[jsx(Text,{ml:"xl",my:"sm",weight:"bold",children:"Users Management"}),jsx(oP,{onChange:d,loading:a,roles:n})]}),jsxs(Grid.Col,{span:10,style:{height:"100vh",position:"relative"},children:[jsx(LoadingOverlay,{visible:a,overlayBlur:2,overlayOpacity:.5}),jsx(Space,{h:"xs"}),jsx(uP,{response:o,onClickEdit:g,onPageChange:f})]})]}),e&&jsx(cP,{userId:e,onEditEnd:m,roles:n})]})}Dp();Ml();qa();se();Xe();function a9(e){let{title:t="Bespoke CMS",pathSegment:o="bespoke",locale:r=kr,profilePrefix:n="/profilePathManager",previewPrefix:i=null}=e,a={position:"bottom-center",...e.notifications};return l;function l(s){let{bespokeVersion:c}=s;return jsxs(YS,{pathSegment:o,profilePrefix:n,previewPrefix:i,children:[jsx(Z8,{children:jsx("title",{children:t})}),jsxs(MantineProvider,{inherit:false,children:[jsx(Notifications,{...a}),jsx(mv,{children:jsx(Rn,{fallback:jsx("p",{children:"Client side error in Bespoke. Check the console for details."}),children:jsx(l9,{locale:r,version:c})})})]})]})}}var gP=[{icon:jsx(IconBallpen,{size:24}),color:"blue",label:"Reports Builder",href:"reports",roleRequired:Ir.EDITOR},{icon:jsx(IconDatabase,{size:24}),color:"teal",label:"Metadata Editor",href:"metadata",roleRequired:Ir.EDITOR},{icon:jsx(IconMathFunction,{size:24}),color:"violet",label:"Formatters List",href:"formatters",roleRequired:Ir.EDITOR},{icon:jsx(IconNetwork,{size:24}),color:"violet",label:"Data Sources",href:"datasources",roleRequired:Ir.EDITOR},{icon:jsx(IconUsers,{size:24}),color:"pink",label:"Users Management",href:"users",roleRequired:Ir.ADMIN}];function s9(){let e=ie(),{user:t,isLoading:o}=ss(),r=t.bespoke_user_metadata.preferredLocale,[n,i]=useState("idle"),{update:a}=we();return o?null:jsx(ql,{onChange:s=>{let c={user_metadata:{preferredLocale:s}};i("loading"),e(Z.updateMyData(c)).then(u=>{u.ok&&(e(Z.setPreferredLocale(s)),a(),i("idle"));});},defaultValue:r,loading:n==="loading",selectProps:{size:"xs",label:"User Locale",styles:{root:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}}})}function l9(e){let{locale:t,version:o}=e,r=useRef(null),[n,{open:i,close:a}]=useDisclosure(false),{user:l,isLoading:s}=ss(),c=Xt(),u=useCallback(m=>{let h=[];return gP.forEach(y=>{h.push(jsx(c9,{item:y,disabled:m&&Array.isArray(m.bespoke_roles)?!m.bespoke_roles.includes(y.roleRequired):false},y.label));}),h},[]),d=useMemo(()=>{let m=u(l),h=c.page==="welcome"||n;return jsx(Fragment,{children:jsx(Box,{w:h?240:50,sx:{zIndex:99,overflow:"hidden",transition:"width .3s",boxShadow:"0px 4px 15px 5px rgba(0, 0, 0, 0.05)"},h:"100%",top:0,bottom:0,left:0,pos:"fixed",bg:"#F6F6F6",p:0,children:jsxs(Navbar,{p:0,w:240,hiddenBreakpoint:1e5,pos:"relative",pt:40,top:0,pb:30,h:"100vh",width:{base:240},onMouseEnter:()=>{r.current="open",setTimeout(()=>{r.current==="open"&&i();},200);},onMouseLeave:()=>{r.current="close",setTimeout(()=>{r.current==="close"&&a();},350);},withBorder:false,children:[jsx(Navbar.Section,{style:{position:"relative"},children:jsx(sv,{href:c.href(""),onlyIcon:!h,version:o})}),jsx(Navbar.Section,{grow:true,component:ScrollArea,children:jsx(Stack,{spacing:0,children:m})}),jsx(Navbar.Section,{children:l&&!s&&jsx(Fragment,{children:jsxs(Stack,{px:13,children:[jsxs(Group,{align:"flex-start",children:[jsx("div",{children:jsx(Avatar,{src:l.picture,radius:"xl",size:"sm"})}),h&&jsxs(Stack,{sx:{flex:1},spacing:"xs",children:[jsxs(Box,{children:[jsx(Text,{size:"sm",weight:500,lh:1,sx:{flexGrow:1},children:l.name}),jsx(Text,{color:"dimmed",size:"xs",children:l.email})]}),jsx(s9,{})]})]}),h&&jsx(Stack,{children:jsx(Button,{px:13,onClick:()=>signOut({callbackUrl:process.env.NEXT_PUBLIC_REPORTS_BASE_URL||"/"}),compact:true,size:"xs",variant:"outline",leftIcon:jsx(IconLogout,{size:14}),children:"Disconnect"})})]})})})]})})})},[c,n,l]),f=useMemo(()=>{let m=gP.find(h=>h.href.includes(c.page));if(c.page==="welcome")return jsx(EA,{});if(l&&Array.isArray(l.bespoke_roles)&&l.bespoke_roles.includes(m?.roleRequired)){if(c.page==="metadata")return jsx($A,{});if(c.page==="formatters")return jsx(cA,{});if(c.page==="datasources")return jsx(CA,{});if(c.page==="reports"){if(c.params.length>0){let h=Number.parseInt(c.params[0]);return jsx(H0,{id:h,locale:t})}return jsx(JA,{})}if(c.page==="users")return jsx(dP,{})}else return jsx(eP,{});return jsx(HA,{})},[c,l]),g=ie();return useEffect(()=>{g(Ro.setStatus({isCMS:true}));},[]),jsx(AppShell,{styles:{main:{background:"#f8f9fa",paddingLeft:50,paddingTop:0}},fixed:true,padding:0,navbar:d,children:f})}function c9({item:e,disabled:t}){let{page:o}=Xt(),r=o&&o.includes(e.href);return jsx(CP,{href:e.href,passHref:true,children:jsx(UnstyledButton,{disabled:t,py:"sm",px:13,bg:r?"blue.1":"transparent",w:"100%",display:"block",sx:{display:"block",width:"100%","&:hover":{backgroundColor:"#f9f9f9"}},children:jsxs(Group,{spacing:24,children:[jsx(ThemeIcon,{size:24,color:r?"blue.5":"gray.6",bg:"transparent",variant:"light",sx:{flexShrink:0},children:e.icon}),jsx(Text,{size:"sm",fw:r?700:500,color:r?"blue.5":"gray.6",children:e.label})]})})},e.label)}/*! Bundled license information:
|
|
95
|
-
|
|
96
|
-
@tanstack/react-virtual/build/lib/_virtual/_rollupPluginBabelHelpers.mjs:
|
|
97
|
-
@tanstack/react-virtual/build/lib/index.mjs:
|
|
98
|
-
(**
|
|
99
|
-
* react-virtual
|
|
100
|
-
*
|
|
101
|
-
* Copyright (c) TanStack
|
|
102
|
-
*
|
|
103
|
-
* This source code is licensed under the MIT license found in the
|
|
104
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
105
|
-
*
|
|
106
|
-
* @license MIT
|
|
107
|
-
*)
|
|
108
|
-
|
|
109
|
-
@tanstack/virtual-core/build/lib/_virtual/_rollupPluginBabelHelpers.mjs:
|
|
110
|
-
@tanstack/virtual-core/build/lib/utils.mjs:
|
|
111
|
-
@tanstack/virtual-core/build/lib/index.mjs:
|
|
112
|
-
(**
|
|
113
|
-
* virtual-core
|
|
114
|
-
*
|
|
115
|
-
* Copyright (c) TanStack
|
|
116
|
-
*
|
|
117
|
-
* This source code is licensed under the MIT license found in the
|
|
118
|
-
* LICENSE.md file in the root directory of this source tree.
|
|
119
|
-
*
|
|
120
|
-
* @license MIT
|
|
121
|
-
*)
|
|
122
|
-
*/export{a9 as BespokeManager};
|
|
49
|
+
`,children:jsx(NumberInput,{disabled:!R.values.visible,type:"number",precision:4,step:1e-4,removeTrailingZeros:true,min:0,max:1,decimalSeparator:".",...R.getInputProps("zvalue")})}),jsx(Checkbox,{mt:"2.3rem",label:"Visible in search",...R.getInputProps("visible",{type:"checkbox"})})]}),jsx(Group,{mt:"xs",position:"apart",grow:true,children:jsx(SegmentedControl,{value:s,onChange:l,data:r})}),!W&&jsx(Alert,{title:"Unavailable locale",color:"blue",children:"This language was not ingested for the current member. Go to variant editor and provide the members there."}),W&&jsxs(Fragment,{children:[jsx(Group,{mt:"xs",position:"apart",grow:true,children:jsx(TextInput,{label:"Name",...B[s].getInputProps("name")})}),jsx(Group,{mt:"xs",position:"apart",align:"top",grow:true,children:jsx(MultiSelect,{label:"Keywords",data:B[s].values.keywords,placeholder:"Enter keywords",searchable:true,creatable:true,valueComponent:({label:L})=>jsxs(Badge,{onClick:()=>{let U=B[s].values.keywords;B[s].setFieldValue("keywords",U.filter(P=>P!==L));},children:[L," ","x"]}),getCreateLabel:L=>`+ Create ${L}`,value:B[s].values.keywords,onCreate:L=>{let U=B[s].values.keywords;return B[s].setFieldValue("keywords",[...U,L]),L}})}),jsx(Input.Wrapper,{label:"Attributes",children:jsx(t,{data:B[s].values.attributes})})]})]})}),jsx(Tabs.Panel,{value:"image",py:"md",children:jsxs(Stack,{justify:"space-between",children:[jsxs(Group,{position:"apart",grow:true,children:[jsxs(Stack,{children:[jsx(Vr,{member:a,forceRefreshTimestamp:true}),jsx(Button,{variant:"outline",disabled:c,leftIcon:jsx(IconPolaroid,{}),onClick:()=>m(true),children:"Change image"}),a&&a.image&&jsx(Button,{variant:"outline",disabled:c,leftIcon:jsx(IconCircleMinus,{}),onClick:()=>O(),children:"Remove image"}),jsx(Space,{h:"md"})]}),jsxs(Stack,{justify:"flex-start",children:[jsx(TextInput,{disabled:!a||!a.image,label:"Source",...N.getInputProps("url")}),jsx(TextInput,{disabled:!a||!a.image,label:"Author",...N.getInputProps("author")}),jsx(TextInput,{disabled:!a||!a.image,label:"License",...N.getInputProps("license")}),jsx(SegmentedControl,{disabled:!a||!a.image,value:s,onChange:l,data:r}),jsx(TextInput,{disabled:!a||!a.image,label:"Alternative image text",...$[s].getInputProps("meta")})]})]}),b&&jsx(Loader,{}),!b&&d.length>0&&jsxs(Fragment,{children:[jsx(Text,{children:"Select the members you want to update with the same image."}),jsx(Vn,{members:d,colsToRender:["id","report","name","slug","image"],dataTableProps:F})]})]})})]})]}),buttons:jsxs(Fragment,{children:[jsx(Button,{variant:"outline",disabled:c,onClick:()=>t$1(),children:"Cancel"}),jsx(Button,{onClick:G,loading:c,disabled:c,children:"Save Member"})]}),size:165})}),f&&jsx(Hh,{member:a,onEditEnd:I})]})}function Qh(){let[e,t]=useState(null),[o,n]=useState([]),[r,i]=useState(true),[s,l]=useState(true),[a,u]=useState(),[c,p]=useState(1),[f,m]=useState(0),g=C=>{l(C),p(1);},S=C=>{C&&C.length&&u(C[0]);},v=C=>{t(C.content_id);},h=()=>{t(null),b();},b=async()=>{i(true);let C=Object.keys({...s}).reduce((y,x)=>(s[x]!=="all"&&(y[x]=s[x]),y),{}),d=await Gh.get("/api/cms/search/members",{params:{...C,offset:(c-1)*parseInt(C.limit||"10",10),locale:"all",includes:true,sort:a?a.id:"zvalue",direction:a?a.desc?"desc":"asc":"desc",origin:"flexsearch"}}).then(y=>{let x=y.data&&y.data.data&&y.data.data.meta?Object.keys(y.data.data.meta.variantCount).reduce((k,R)=>{let B=y.data.data.meta.variantCount[R];return s.paginationVariants&&s.paginationVariants.length>0&&(s.paginationVariants.includes(R)||(B=0)),k+B},0):0;return m(x),y.data&&y.data.data&&y.data.data.results?y.data.data.results:[]});n(d),i(false);};return useEffect(()=>{s.limit&&b();},[s,a,c]),jsxs(Container,{fluid:true,children:[jsxs(Grid,{children:[jsxs(Grid.Col,{span:2,children:[jsx(Text,{ml:"xl",my:"sm",weight:"bold",children:"Metadata"}),jsx(Fh,{onChange:g,loading:r})]}),jsxs(Grid.Col,{span:10,style:{height:"95vh",position:"relative"},children:[jsx(LoadingOverlay,{visible:r,overlayBlur:2,overlayOpacity:.5}),jsx(Space,{h:"xs"}),jsx(Vn,{members:o,onClickEdit:v,onSort:S}),jsx(Group,{position:"center",children:jsx(Pagination,{value:c,onChange:p,total:Math.ceil(f/(s.limit||10)),size:"sm",py:"xs"})})]})]}),e&&jsx(Jh,{memberId:e,onEditEnd:h})]})}function tb(){let{user:e}=a$1(),t={color:"#000"};return jsxs(Flex,{mih:"100vh",gap:"md",justify:"center",align:"center",direction:"column",wrap:"wrap",style:{background:"white"},children:[jsx(Title,{style:t,children:"Not found."}),jsxs(Title,{order:2,style:t,children:["Sorry, ",e?.name,"!"]}),jsx(Text,{style:t,children:"The page you are looking for is not here."}),jsx(Button,{component:"a",href:"/",children:"Back to homepage"})]})}function Tu(e){let{for:t,enabled:o}=e,n=useMantineTheme(),r=a$2(),i=n.colorScheme==="dark"?n.colors.dark[1]:n.colors.gray[7];return jsxs(Card,{shadow:"xs",p:"sm",w:"100%",children:[jsxs(Group,{position:"apart",children:[jsxs(Center,{mah:24,children:[jsx(IconFileAnalytics,{size:22}),jsx(Text,{mx:"xs",weight:"bold",children:t.name}),t.type==="report"&&t.settings?.hide&&jsx(Tooltip,{label:"Hidden in explore/search",position:"top",children:jsx(IconEyeOff,{size:16,style:{marginLeft:4,color:i}})})]}),jsx(Badge,{variant:"light",children:t.type})]}),jsxs(Text,{size:"sm",style:{color:i,lineHeight:2},children:["Order in explore/search: ",(t.type==="report"?t.settings?.order:void 0)??0]}),jsx(Space,{w:"xs"}),jsxs(Group,{position:"apart",children:[jsx(Vb,{href:r.href("reports",t.id),passHref:true,children:jsx(Button,{leftIcon:jsx(IconPencil,{}),compact:true,children:"Edit"})}),jsx(Bt,{type:"report",id:t.id,disabled:!o})]})]})}cb(Tu,Da$1);var rb=e=>(e&&e.bespoke_app_metadata&&e.bespoke_app_metadata.reports&&Array.isArray(e.bespoke_app_metadata.reports)?e.bespoke_app_metadata.reports:[]).map(o=>o.reportId);function lb(){let e=ua(),[t,o]=useState(false),{user:n}=a$1(),r=rb(n),i=wa$1(),s=useCallback(a=>{o(true),e(ta$1.createEntity("report",a)).then(u=>{u.ok&&r.length>0||o(false);});},[]),l=useMemo(()=>i.isUninitialized||i.isFetching?jsx(LoadingOverlay,{visible:true,overlayBlur:2}):i.isError?jsx(Alert,{icon:jsx(IconFileAnalytics,{size:22}),title:"Server Error",children:i.error.message}):i.data.length===0?jsx(Alert,{icon:jsx(IconFileAnalytics,{size:22}),title:"No Saved Reports",children:"Please use the button below to create your first report."}):jsx(Stack,{children:i.data.sort((a,u)=>{let c=(a.type==="report"?a.settings?.order:void 0)??0,p=(u.type==="report"?u.settings?.order:void 0)??0;return c-p}).map(a=>jsx(Tu,{for:a,enabled:!!(r.length===0||r.includes(a.id))},a.id))}),[i.data,i.error,i.status,r]);return jsxs(Container,{size:"xl",children:[jsx("h1",{children:"Reports"}),jsx(LoadingOverlay,{visible:t,overlayBlur:2,overlayOpacity:.5}),l,jsx(Space,{h:"xl",w:"xl"}),jsx(zn,{fields:[{type:"text",name:"name",label:"Report Name",initialValue:""}],onSubmit:s,target:jsx(ActionIcon,{size:"xl",radius:"xl",children:jsx(IconPlus,{size:30})})})]})}function pb(){let{user:e}=a$1(),t={color:"#000"};return jsxs(Flex,{mih:"100vh",gap:"md",justify:"center",align:"center",direction:"column",wrap:"wrap",style:{background:"white"},children:[jsx(Title,{style:t,children:"Unauthorize or forbidden access."}),jsxs(Title,{style:t,order:2,children:["Sorry, ",e?.name,"!"]}),jsx(Text,{style:t,children:"Your session or your user's roles doesn't satisfy the needs of the requested view. Please, ask your administrator to allow you."}),jsxs(Group,{children:[jsx(Button,{component:"a",href:"/",leftIcon:jsx(IconHome,{size:14}),variant:"outline",color:"dark",children:"Back to homepage"}),jsx(Button,{onClick:()=>signOut({callbackUrl:process.env.NEXT_PUBLIC_REPORTS_BASE_URL||"/"}),leftIcon:jsx(IconLogout,{size:14}),variant:"outline",color:"dark",children:"Disconnect"})]})]})}var db={value:"all",label:"All"},JM=e=>{if(!e)return [];let t=e.map(o=>({value:String(o.id),label:`${o.name} (${o.type})`}));return [db,...t]};function fb({onChange:e,loading:t,roles:o}){let n={role_id:db.value,query:"",page:0},[r,i]=useState(n),[s]=useDebouncedValue(r.query,500),l=useMemo(()=>({roles:JM(o)}),[o]),a=useCallback((c,p)=>{let f={...r,[c]:p};i(f);},[r]),u=()=>{i(n);};return useEffect(()=>{e({...r,query:s});},[r.role_id,r.page,s]),jsxs("div",{children:[jsx(Select,{label:"Roles",data:l.roles,value:r.role_id,onChange:c=>a("role_id",c),disabled:t}),jsx(TextInput,{label:"Search by name or email",value:r.role_id!=="all"?"":r.query,onChange:c=>a("query",c.currentTarget.value),disabled:t||r.role_id!=="all"}),jsx(Space,{h:"md"}),jsx(Button,{fullWidth:true,disabled:t,leftIcon:jsx(IconCircleX,{}),onClick:u,children:"Clear filters"})]})}function mb({reportId:e,onSelectFavorites:t,onClickDelete:o}){let n=Da$1(e),r=g$2(e),{data:i}=xa(),s=i?.reduce((f,m)=>(m.report_id===e&&(f[m.id]=m),f),{})||{},l=va$1(f=>f.status.localeDefault),a=n.data,[u,c]=useState(a?a.dimensions.map(()=>{}):[void 0]),p=(f,m)=>{let g=[...u];g[f]=m?{variantId:parseInt(m.variant_id,10),contentId:parseInt(m.content_id,10)}:void 0,c(g),g.some(S=>typeof S>"u")||t(e,g);};return useEffect(()=>{n.isError&&o(e);},[n.isError]),jsx(Stack,{children:a&&jsxs(Fragment,{children:[jsxs(Group,{spacing:"xl",align:"center",children:[jsxs(Text,{children:["Report: ",a.name]}),jsx(ActionIcon,{size:"md",color:"red",onClick:()=>o(e),children:jsx(IconTrash,{})})]}),a.dimensions.length===0&&jsx(Group,{children:jsxs(Text,{c:"dimmed",fz:"sm",children:["No dimensions created in report ",a.name," yet."]})}),a.dimensions.map((f,m)=>jsxs(Group,{children:[jsxs(Text,{tt:"uppercase",fz:"0.6rem",fw:700,color:"gray.6",children:[s[f].name,":"]}),jsx(ta,{dimensionId:f,value:r?{variantId:r[m].variantId,memberId:r[m].contentId}:void 0,onSelect:g=>p(m,g),locale:l},f)]},f))]})})}function gb({selectedReportId:e="",onChangeReport:t,exclude:o=[]}){let n=wa$1(),r=l=>{t(l);},s=useMemo(()=>n.isSuccess?n.data.map(l=>({value:`${l.id}`,label:l.name})):[],[n.status]).filter(l=>!o.includes(l.value));return jsx(Select,{style:{width:100},size:"xs",placeholder:"Choose a report",data:s,value:String(e),onChange:r,disabled:s.length===0})}var hD=e=>e?e.map(t=>({value:String(t.id),label:t.name,group:t.type})):[];function Sb({userId:e,onEditEnd:t,roles:o}){let n=ua(),{user:r,update:i}=a$1(),[s,l]=useState(null),[a$2,u]=useState(true),[c,p]=useState(false),[f]=useState(""),[m,g]=useState(true),[S,v]=useState(""),h=useForm(),b=useMemo(()=>!!(r&&r.id===e),[r]),C=!!e,d=useMemo(()=>({roles:hD(o)}),[o]),y=s&&s.app_metadata&&s.app_metadata.reports?s.app_metadata.reports:[],x=y.map(I=>String(I.reportId)),k=async()=>{u(true),p(false);let I=await n(ta$1.readUser(e)).then(G=>G);l(I),h.setValues(I);let O=I&&I.app_metadata&&I.app_metadata.reports?I.app_metadata.reports:[];g(O.length===0),u(false);};useEffect(()=>{e?k():l(null);},[e]);let R=async()=>{if(u(true),s){let I={roles:s.roles,app_metadata:s.app_metadata};await n(ta$1.updateUser({user:{user_id:s.user_id,...I}})).then(()=>{b?(console.info("its YOU! Refreshing page to grab new change on session",I),i()):(u(false),t());});}},B=I=>{let O=I.map(L=>o.find(U=>U.id===L)).filter(L=>L),G=O.find(L=>L.name===a.EDITOR);O.find(L=>L.name===a.ADMIN);let F=s?s.app_metadata:{};G||(F={...F,reports:[]},g(true)),l({...s,roles:O,app_metadata:F});},N=I=>{v(I);},$=()=>{if(s&&S){let I=s.app_metadata&&s.app_metadata.reports?s.app_metadata.reports:[];I.push({reportId:parseInt(S,10),favorites:[]}),l({...s,app_metadata:{...s.app_metadata,reports:I}}),v("");}},K=I=>{if(s&&I){let O=s.app_metadata&&s.app_metadata.reports?s.app_metadata.reports:[];l({...s,app_metadata:{...s.app_metadata,reports:O.filter(G=>parseInt(`${G.reportId}`,10)!==parseInt(I,10))}});}},T=I=>{g(I.currentTarget.checked),s&&l({...s,app_metadata:{...s.app_metadata,reports:[]}});},M=(I,O)=>{if(s){let W=(s.app_metadata&&s.app_metadata.reports?[...s.app_metadata.reports]:[]).map(F=>(F.reportId===I&&(F.favorites=O),F));l({...s,app_metadata:{...s.app_metadata,reports:W}});}};return jsx(Fragment,{children:jsx(Drawer,{opened:C,onClose:()=>t(),title:jsxs(Fragment,{children:["Edit user ID ",e," ",b?jsx(Badge,{children:"YOU"}):""]}),padding:"lg",closeOnClickOutside:false,closeOnEscape:false,position:"right",size:"50%",lockScroll:true,withCloseButton:false,children:jsx(bt,{content:jsxs(Fragment,{children:[jsx(LoadingOverlay,{visible:a$2,overlayBlur:2,overlayOpacity:.5}),c&&jsx(Alert,{title:"Member Form",color:"red",children:"Error, please try again."}),r&&!c&&jsxs(Stack,{justify:"space-between",children:[jsxs(Group,{position:"apart",grow:true,children:[jsx(TextInput,{mt:"xs",disabled:true,label:"Name",...h.getInputProps("name")}),jsx(TextInput,{mt:"xs",disabled:true,label:"email",...h.getInputProps("email")})]}),jsxs(Stack,{children:[jsx(Title,{order:2,children:"Roles:"}),jsx(MultiSelect,{data:d.roles,onChange:B,value:(s?.roles||[]).map(I=>I.id),error:f})]}),s&&(s.roles||[]).map(I=>I.name).includes(a.EDITOR)&&jsxs(Stack,{children:[jsx(Title,{order:4,children:"Editor settings:"}),jsxs(Group,{children:[jsx(Text,{children:"Edit selected reports only"}),jsx(Switch,{label:"",checked:m,onChange:T}),jsx(Text,{children:"Edit all reports"})]}),!m&&jsxs(Fragment,{children:[jsxs(Group,{grow:true,children:[jsx(gb,{selectedReportId:S,onChangeReport:N,exclude:x}),jsx(Button,{variant:"outline",disabled:a$2||!S&&S==="",onClick:$,children:"Add Report"})]}),y.map(I=>jsx(Stack,{children:jsx(mb,{reportId:I.reportId,initialFavorites:I.favorites,onSelectFavorites:M,onClickDelete:K})},I.reportId))]})]})]})]}),buttons:jsxs(Fragment,{children:[jsx(Button,{variant:"outline",disabled:a$2,onClick:()=>t(),children:"Cancel"}),jsx(Button,{onClick:R,loading:a$2,disabled:a$2,children:"Save User"})]}),size:165})})})}function xb({response:e,onClickEdit:t,onPageChange:o}){let[n,r]=useState([]),[i,s]=useState({pageIndex:0,pageSize:10}),[l,a]=useState(0);return useEffect(()=>{o(i.pageIndex+1);},[i.pageIndex]),useEffect(()=>{e&&(r(e.users),a(e.total));},[e]),useEffect(()=>{r(e);},[]),jsx(MantineReactTable,{columns:[{header:"",accessorKey:"image",Cell:({row:c})=>jsx(Avatar,{src:c.original.picture,alt:`${c.original.name}`,radius:20}),size:50,mantineTableBodyCellProps:{align:"center"}},{header:"Name",accessorKey:"name"},{header:"Email",accessorKey:"email"},{header:"Actions",accessorKey:"actions",Cell:({row:c})=>jsx(ActionIcon,{onClick:()=>t(c.original),children:jsx(IconPencil,{size:20})},"edit"),size:100,mantineTableHeadCellProps:{align:"center"},mantineTableBodyCellProps:{align:"center"}}],data:n,enableColumnActions:false,enablePagination:true,enableSorting:false,enableTopToolbar:false,initialState:{density:"xs"},layoutMode:"grid",mantineTableContainerProps:{sx:{minHeight:150}},manualPagination:true,onPaginationChange:s,paginationDisplayMode:"pages",rowCount:l,state:{pagination:{pageIndex:i.pageIndex,pageSize:i.pageSize}}})}function kb(){let[e,t]=useState(null),[o,n]=useState([]),[r,i]=useState([]),[s,l]=useState(true),[a,u]=useState({query:""}),c=ua(),p=v=>{u(v);},f=v=>{u({...a,page:v});},m=v=>{t(v.user_id);},g=()=>{t(null),S();},S=async()=>{l(true);let v={query:a.query};a.role_id&&a.role_id!=="all"&&(v.role_id=a.role_id),v.page=a.page?a.page-1:0,c(ta$1.searchUser(v)).then(h=>{n(h),l(false);});};return useEffect(()=>{l(true),c(ta$1.searchRole()).then(v=>{i(v.roles),l(false);});},[c]),useEffect(()=>{S();},[a]),jsxs(Container,{fluid:true,children:[jsxs(Grid,{children:[jsxs(Grid.Col,{span:2,children:[jsx(Text,{ml:"xl",my:"sm",weight:"bold",children:"Users Management"}),jsx(fb,{onChange:p,loading:s,roles:r})]}),jsxs(Grid.Col,{span:10,style:{height:"100vh",position:"relative"},children:[jsx(LoadingOverlay,{visible:s,overlayBlur:2,overlayOpacity:.5}),jsx(Space,{h:"xs"}),jsx(xb,{response:o,onClickEdit:m,onPageChange:f})]})]}),e&&jsx(Sb,{userId:e,onEditEnd:g,roles:r})]})}function KD(e){let{title:t="Bespoke CMS",pathSegment:o="bespoke",locale:n=ea,profilePrefix:r="/profilePathManager",previewPrefix:i=null}=e,s={position:"bottom-center",...e.notifications};return l;function l(a){let{bespokeVersion:u}=a;return jsxs(eb,{pathSegment:o,profilePrefix:r,previewPrefix:i,children:[jsx(_D,{children:jsx("title",{children:t})}),jsxs(MantineProvider,{inherit:false,children:[jsx(Notifications,{...s}),jsx(a$3,{children:jsx(a$4,{fallback:jsx("p",{children:"Client side error in Bespoke. Check the console for details."}),children:jsx(YD,{locale:n,version:u})})})]})]})}}var Eb=[{icon:jsx(IconBallpen,{size:24}),color:"blue",label:"Reports Builder",href:"reports",roleRequired:a.EDITOR},{icon:jsx(IconDatabase,{size:24}),color:"teal",label:"Metadata Editor",href:"metadata",roleRequired:a.EDITOR},{icon:jsx(IconMathFunction,{size:24}),color:"violet",label:"Formatters List",href:"formatters",roleRequired:a.EDITOR},{icon:jsx(IconNetwork,{size:24}),color:"violet",label:"Data Sources",href:"datasources",roleRequired:a.EDITOR},{icon:jsx(IconUsers,{size:24}),color:"pink",label:"Users Management",href:"users",roleRequired:a.ADMIN}];function qD(){let e=ua(),{user:t,isLoading:o}=d$1(),n=t.bespoke_user_metadata.preferredLocale,[r,i]=useState("idle"),{update:s}=a$1();return o?null:jsx(Lr,{onChange:a=>{let u={user_metadata:{preferredLocale:a}};i("loading"),e(ta$1.updateMyData(u)).then(c=>{c.ok&&(e(ta$1.setPreferredLocale(a)),s(),i("idle"));});},defaultValue:n,loading:r==="loading",selectProps:{size:"xs",label:"User Locale",styles:{root:{display:"flex",flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}}})}function YD(e){let{locale:t,version:o}=e,n=useRef(null),[r,{open:i,close:s}]=useDisclosure(false),{user:l,isLoading:a}=d$1(),u=a$2(),c=useCallback(g=>{let S=[];return Eb.forEach(v=>{S.push(jsx(XD,{item:v,disabled:g&&Array.isArray(g.bespoke_roles)?!g.bespoke_roles.includes(v.roleRequired):false},v.label));}),S},[]),p=useMemo(()=>{let g=c(l),S=u.page==="welcome"||r;return jsx(Fragment,{children:jsx(Box,{w:S?240:50,sx:{zIndex:99,overflow:"hidden",transition:"width .3s",boxShadow:"0px 4px 15px 5px rgba(0, 0, 0, 0.05)"},h:"100%",top:0,bottom:0,left:0,pos:"fixed",bg:"#F6F6F6",p:0,children:jsxs(Navbar,{p:0,w:240,hiddenBreakpoint:1e5,pos:"relative",pt:40,top:0,pb:30,h:"100vh",width:{base:240},onMouseEnter:()=>{n.current="open",setTimeout(()=>{n.current==="open"&&i();},200);},onMouseLeave:()=>{n.current="close",setTimeout(()=>{n.current==="close"&&s();},350);},withBorder:false,children:[jsx(Navbar.Section,{style:{position:"relative"},children:jsx(Fp,{href:u.href(""),onlyIcon:!S,version:o})}),jsx(Navbar.Section,{grow:true,component:ScrollArea,children:jsx(Stack,{spacing:0,children:g})}),jsx(Navbar.Section,{children:l&&!a&&jsx(Fragment,{children:jsxs(Stack,{px:13,children:[jsxs(Group,{align:"flex-start",children:[jsx("div",{children:jsx(Avatar,{src:l.picture,radius:"xl",size:"sm"})}),S&&jsxs(Stack,{sx:{flex:1},spacing:"xs",children:[jsxs(Box,{children:[jsx(Text,{size:"sm",weight:500,lh:1,sx:{flexGrow:1},children:l.name}),jsx(Text,{color:"dimmed",size:"xs",children:l.email})]}),jsx(qD,{})]})]}),S&&jsx(Stack,{children:jsx(Button,{px:13,onClick:()=>signOut({callbackUrl:process.env.NEXT_PUBLIC_REPORTS_BASE_URL||"/"}),compact:true,size:"xs",variant:"outline",leftIcon:jsx(IconLogout,{size:14}),children:"Disconnect"})})]})})})]})})})},[u,r,l]),f=useMemo(()=>{let g=Eb.find(S=>S.href.includes(u.page));if(u.page==="welcome")return jsx(zh,{});if(l&&Array.isArray(l.bespoke_roles)&&l.bespoke_roles.includes(g?.roleRequired)){if(u.page==="metadata")return jsx(Qh,{});if(u.page==="formatters")return jsx(Sh,{});if(u.page==="datasources")return jsx(Lh,{});if(u.page==="reports"){if(u.params.length>0){let S=Number.parseInt(u.params[0]);return jsx(th,{id:S,locale:t})}return jsx(lb,{})}if(u.page==="users")return jsx(kb,{})}else return jsx(pb,{});return jsx(tb,{})},[u,l]),m=ua();return useEffect(()=>{m(fa$1.setStatus({isCMS:true}));},[]),jsx(AppShell,{styles:{main:{background:"#f8f9fa",paddingLeft:50,paddingTop:0}},fixed:true,padding:0,navbar:p,children:f})}function XD({item:e,disabled:t}){let{page:o}=a$2(),n=o&&o.includes(e.href);return jsx(Vb,{href:e.href,passHref:true,children:jsx(UnstyledButton,{disabled:t,py:"sm",px:13,bg:n?"blue.1":"transparent",w:"100%",display:"block",sx:{display:"block",width:"100%","&:hover":{backgroundColor:"#f9f9f9"}},children:jsxs(Group,{spacing:24,children:[jsx(ThemeIcon,{size:24,color:n?"blue.5":"gray.6",bg:"transparent",variant:"light",sx:{flexShrink:0},children:e.icon}),jsx(Text,{size:"sm",fw:n?700:500,color:n?"blue.5":"gray.6",children:e.label})]})})},e.label)}export{KD as BespokeManager};
|