@budibase/server 2.23.3 → 2.23.4

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.
@@ -1701,7 +1701,7 @@ Use Save As... to download, then click back to return to this page.`)&&(location
1701
1701
  </g>
1702
1702
  </g>
1703
1703
  </svg>
1704
- `,AppPreview_svelte_svelte_type_style_lang="";function create_if_block_1$X(Br){let zr,Dr,Nr;return Dr=new Layout$n({props:{justifyItems:"center",gap:"S",$$slots:{default:[create_default_slot_1$1S]},$$scope:{ctx:Br}}}),{c(){zr=element("div"),create_component(Dr.$$.fragment),attr(zr,"class","center error svelte-d65ule")},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},p(Hr,Vr){const Ur={};Vr[0]&64|Vr[1]&1&&(Ur.$$scope={dirty:Vr,ctx:Hr}),Dr.$set(Ur)},i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function create_if_block$1P(Br){var Vr;let zr,Dr,Nr,Hr;return Dr=new ClientAppSkeleton({props:{sideNav:((Vr=Br[1])==null?void 0:Vr.navigation)==="Left",hideFooter:!0,hideDevTools:!0}}),{c(){zr=element("div"),create_component(Dr.$$.fragment),attr(zr,"class",Nr=null_to_empty(`loading ${Br[3].baseTheme} ${Br[3].theme}`)+" svelte-d65ule"),toggle_class(zr,"tablet",Br[2].previewDevice==="tablet"),toggle_class(zr,"mobile",Br[2].previewDevice==="mobile")},m(Ur,jr){insert$1(Ur,zr,jr),mount_component(Dr,zr,null),Hr=!0},p(Ur,jr){var Gr;const Wr={};jr[0]&2&&(Wr.sideNav=((Gr=Ur[1])==null?void 0:Gr.navigation)==="Left"),Dr.$set(Wr),(!Hr||jr[0]&8&&Nr!==(Nr=null_to_empty(`loading ${Ur[3].baseTheme} ${Ur[3].theme}`)+" svelte-d65ule"))&&attr(zr,"class",Nr),(!Hr||jr[0]&12)&&toggle_class(zr,"tablet",Ur[2].previewDevice==="tablet"),(!Hr||jr[0]&12)&&toggle_class(zr,"mobile",Ur[2].previewDevice==="mobile")},i(Ur){Hr||(transition_in(Dr.$$.fragment,Ur),Hr=!0)},o(Ur){transition_out(Dr.$$.fragment,Ur),Hr=!1},d(Ur){Ur&&detach(zr),destroy_component(Dr)}}}function create_default_slot_3$19(Br){let zr;return{c(){zr=text("App preview failed to load")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_2$1r(Br){let zr;return{c(){zr=text(Br[6])},m(Dr,Nr){insert$1(Dr,zr,Nr)},p(Dr,Nr){Nr[0]&64&&set_data(zr,Dr[6])},d(Dr){Dr&&detach(zr)}}}function create_default_slot_1$1S(Br){let zr,Dr,Nr,Hr,Vr,Ur;return Nr=new Heading({props:{size:"L",$$slots:{default:[create_default_slot_3$19]},$$scope:{ctx:Br}}}),Vr=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1r]},$$scope:{ctx:Br}}}),{c(){zr=new HtmlTag(!1),Dr=space$1(),create_component(Nr.$$.fragment),Hr=space$1(),create_component(Vr.$$.fragment),zr.a=Dr},m(jr,Wr){zr.m(ErrorSVG$1,jr,Wr),insert$1(jr,Dr,Wr),mount_component(Nr,jr,Wr),insert$1(jr,Hr,Wr),mount_component(Vr,jr,Wr),Ur=!0},p(jr,Wr){const Gr={};Wr[1]&1&&(Gr.$$scope={dirty:Wr,ctx:jr}),Nr.$set(Gr);const Qr={};Wr[0]&64|Wr[1]&1&&(Qr.$$scope={dirty:Wr,ctx:jr}),Vr.$set(Qr)},i(jr){Ur||(transition_in(Nr.$$.fragment,jr),transition_in(Vr.$$.fragment,jr),Ur=!0)},o(jr){transition_out(Nr.$$.fragment,jr),transition_out(Vr.$$.fragment,jr),Ur=!1},d(jr){jr&&(zr.d(),detach(Dr),detach(Hr)),destroy_component(Nr,jr),destroy_component(Vr,jr)}}}function create_default_slot$2h(Br){let zr;return{c(){zr=text("Component")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_fragment$3k(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr,Xr,Zr,Kr;const Jr=[create_if_block$1P,create_if_block_1$X],eo=[];function no(so,ao){return so[5]?0:so[6]?1:-1}~(Dr=no(Br))&&(Nr=eo[Dr]=Jr[Dr](Br)),Gr=new Icon({props:{size:"XL",name:"Add",$$slots:{default:[create_default_slot$2h]},$$scope:{ctx:Br}}});let io={title:"Confirm Deletion",body:"Are you sure you want to delete this component?",okText:"Delete component",onOk:Br[8],onCancel:Br[9]};return Yr=new ConfirmDialog({props:io}),Br[22](Yr),{c(){zr=element("div"),Nr&&Nr.c(),Hr=space$1(),Vr=element("iframe"),jr=space$1(),Wr=element("div"),create_component(Gr.$$.fragment),Qr=space$1(),create_component(Yr.$$.fragment),attr(Vr,"title","componentPreview"),src_url_equal(Vr.src,Ur="/app/preview")||attr(Vr,"src",Ur),attr(Vr,"class","svelte-d65ule"),toggle_class(Vr,"hidden",Br[5]||Br[6]),attr(Wr,"class","add-component svelte-d65ule"),toggle_class(Wr,"active",Br[7]),attr(zr,"class","component-container svelte-d65ule")},m(so,ao){insert$1(so,zr,ao),~Dr&&eo[Dr].m(zr,null),append$2(zr,Hr),append$2(zr,Vr),Br[21](Vr),append$2(zr,jr),append$2(zr,Wr),mount_component(Gr,Wr,null),insert$1(so,Qr,ao),mount_component(Yr,so,ao),Xr=!0,Zr||(Kr=listen(Wr,"click",Br[10]),Zr=!0)},p(so,ao){let fo=Dr;Dr=no(so),Dr===fo?~Dr&&eo[Dr].p(so,ao):(Nr&&(group_outros(),transition_out(eo[fo],1,1,()=>{eo[fo]=null}),check_outros()),~Dr?(Nr=eo[Dr],Nr?Nr.p(so,ao):(Nr=eo[Dr]=Jr[Dr](so),Nr.c()),transition_in(Nr,1),Nr.m(zr,Hr)):Nr=null),(!Xr||ao[0]&96)&&toggle_class(Vr,"hidden",so[5]||so[6]);const po={};ao[1]&1&&(po.$$scope={dirty:ao,ctx:so}),Gr.$set(po),(!Xr||ao[0]&128)&&toggle_class(Wr,"active",so[7]);const go={};Yr.$set(go)},i(so){Xr||(transition_in(Nr),transition_in(Gr.$$.fragment,so),transition_in(Yr.$$.fragment,so),Xr=!0)},o(so){transition_out(Nr),transition_out(Gr.$$.fragment,so),transition_out(Yr.$$.fragment,so),Xr=!1},d(so){so&&(detach(zr),detach(Qr)),~Dr&&eo[Dr].d(),Br[21](null),destroy_component(Gr),Br[22](null),destroy_component(Yr,so),Zr=!1,Kr()}}}function instance$3r(Br,zr,Dr){let Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr,Xr,Zr,Kr,Jr,eo;component_subscribe(Br,goto,zo=>Dr(24,Wr=zo)),component_subscribe(Br,isActive,zo=>Dr(16,Gr=zo)),component_subscribe(Br,snippets$1,zo=>Dr(17,Qr=zo)),component_subscribe(Br,appStore,zo=>Dr(18,Yr=zo)),component_subscribe(Br,componentStore,zo=>Dr(19,Xr=zo)),component_subscribe(Br,navigationStore,zo=>Dr(1,Zr=zo)),component_subscribe(Br,previewStore,zo=>Dr(2,Kr=zo)),component_subscribe(Br,themeStore,zo=>Dr(3,Jr=zo)),component_subscribe(Br,selectedScreen,zo=>Dr(20,eo=zo));let no,io,so,ao,fo,po=!0,go;const $o={READY:"ready",ERROR:"error",BUDIBASE:"type"},vo=zo=>{no==null||no.contentWindow.postMessage(zo)},So=async zo=>{var Bo,Po,Uo;if((Bo=zo==null?void 0:zo.data)!=null&&Bo.type){try{await ko(zo)}catch(No){notifications.error(No||"Error handling event from app preview")}(Po=zo.data)!=null&&Po.id&&jr("event-completed",(Uo=zo.data)==null?void 0:Uo.id)}},ko=async zo=>{var Uo;const{type:Bo,data:Po}=zo.data;if(Bo===$o.READY){if(!po)return;vo(Vr)}else if(Bo===$o.ERROR)Dr(5,po=!1),Dr(6,go=zo.error||"An unknown error occurred");else if(Bo==="select-component"&&Po.id)componentStore.select(Po.id),componentTreeNodesStore.makeNodeVisible(Po.id);else if(Bo==="hover-component")hoverStore.hover(Po.id,!1);else if(Bo==="update-prop")await componentStore.updateSetting(Po.prop,Po.value);else if(Bo==="update-styles")await componentStore.updateStyles(Po.styles,Po.id);else if(Bo==="delete-component"&&Po.id)To(Po.id);else if(Bo==="key-down"){const{key:No,ctrlKey:Do}=Po;document.dispatchEvent(new KeyboardEvent("keydown",{key:No,ctrlKey:Do}))}else if(Bo==="duplicate-component"&&Po.id){const No=get_store_value(selectedScreen).props,Do=findComponent(No,Po.id);componentStore.copy(Do),await componentStore.paste(Do)}else if(Bo==="preview-loaded")Dr(5,po=!1);else if(Bo==="move-component"){const{componentId:No,destinationComponentId:Do}=Po,xo=get_store_value(selectedScreen).props,jo=findComponent(xo,No),Fo=findComponent(xo,Do);if(findComponentPath(jo,Do).map(Zo=>Zo._id).includes(Po.destinationComponentId))return;jo&&Fo&&(componentStore.copy(jo,!0,!1),await componentStore.paste(Fo,Po.mode))}else if(Bo==="request-add-component")yo();else if(Bo==="highlight-setting"){builderStore.highlightSetting(Po.setting,"error");const No=`#${Po.setting}-prop-control`,Do=(Uo=document.querySelector(No))==null?void 0:Uo.parentElement;Do&&Do.scrollIntoView({behavior:"smooth",block:"center"})}else if(Bo==="eject-block"){const{id:No,definition:Do}=Po;await componentStore.handleEjectBlock(No,Do)}else if(Bo==="reload-plugin")await componentStore.refreshDefinitions();else if(Bo==="drop-new-component"){const{component:No,parent:Do,index:xo}=Po;await componentStore.create(No,null,Do,xo)}else if(Bo==="add-parent-component"){const{componentId:No,parentType:Do}=Po;await componentStore.addParent(No,Do)}else if(Bo==="provide-context"){let No=Po==null?void 0:Po.context;if(No)try{No=JSON.parse(No)}catch{No=null}previewStore.setSelectedComponentContext(No)}else console.warn(`Client sent unknown event type: ${Bo}`)},To=zo=>{fo=zo,ao.show()},Eo=async()=>{try{await componentStore.delete({_id:fo})}catch{notifications.error("Error deleting component")}fo=null},Oo=()=>{fo=null},yo=()=>{Gr("./:componentId/new")?Wr("./:componentId"):Wr("./:componentId/new")};onMount(()=>{window.addEventListener("message",So)}),onDestroy(()=>{window.removeEventListener("message",So)});function Co(zo){binding_callbacks[zo?"unshift":"push"](()=>{no=zo,Dr(0,no)})}function Mo(zo){binding_callbacks[zo?"unshift":"push"](()=>{ao=zo,Dr(4,ao)})}return Br.$$.update=()=>{var zo,Bo,Po;Br.$$.dirty[0]&1048576&&Dr(11,so=eo),Br.$$.dirty[0]&524288&&Dr(14,Nr=Xr.selectedComponentId),Br.$$.dirty[0]&935950&&Dr(15,Hr={appId:Yr.appId,layout:io,screen:so,selectedComponentId:Nr,theme:Jr.theme,customTheme:Jr.customTheme,previewDevice:Kr.previewDevice,messagePassing:Yr.clientFeatures.messagePassing,navigation:Zr,hiddenComponentIds:(zo=Xr.componentToPaste)!=null&&zo._id&&((Bo=Xr.componentToPaste)!=null&&Bo.isCut)?[(Po=Xr.componentToPaste)==null?void 0:Po._id]:[],isBudibaseEvent:!0,usedPlugins:Yr.usedPlugins,location:{protocol:window.location.protocol,hostname:window.location.hostname,port:window.location.port},snippets:Qr}),Br.$$.dirty[0]&32768&&Dr(12,Vr=JSON.stringify(Hr)),Br.$$.dirty[0]&4096&&vo(Vr),Br.$$.dirty[0]&81920&&Dr(7,Ur=Gr(`./${Nr}/new`)),Br.$$.dirty[0]&1&&Dr(13,jr=(Uo,No)=>{no==null||no.contentWindow.postMessage(JSON.stringify({name:Uo,payload:No,isBudibaseEvent:!0,runtimeEvent:!0}))}),Br.$$.dirty[0]&8192&&previewStore.registerEventHandler((Uo,No)=>jr(Uo,No))},[no,Zr,Kr,Jr,ao,po,go,Ur,Eo,Oo,yo,so,Vr,jr,Nr,Hr,Gr,Qr,Yr,Xr,eo,Co,Mo]}class AppPreview extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3r,create_fragment$3k,safe_not_equal,{},null,[-1,-1])}}const UndoRedoControl_svelte_svelte_type_style_lang="";function create_fragment$3j(Br){let zr,Dr,Nr,Hr,Vr;return Dr=new Icon({props:{name:"Undo",hoverable:!0,disabled:!Br[1].canUndo}}),Dr.$on("click",function(){is_function(Br[0].undo)&&Br[0].undo.apply(this,arguments)}),Hr=new Icon({props:{name:"Redo",hoverable:!0,disabled:!Br[1].canRedo}}),Hr.$on("click",function(){is_function(Br[0].redo)&&Br[0].redo.apply(this,arguments)}),{c(){zr=element("div"),create_component(Dr.$$.fragment),Nr=space$1(),create_component(Hr.$$.fragment),attr(zr,"class","undo-redo svelte-1ykfm7c")},m(Ur,jr){insert$1(Ur,zr,jr),mount_component(Dr,zr,null),append$2(zr,Nr),mount_component(Hr,zr,null),Vr=!0},p(Ur,[jr]){Br=Ur;const Wr={};jr&2&&(Wr.disabled=!Br[1].canUndo),Dr.$set(Wr);const Gr={};jr&2&&(Gr.disabled=!Br[1].canRedo),Hr.$set(Gr)},i(Ur){Vr||(transition_in(Dr.$$.fragment,Ur),transition_in(Hr.$$.fragment,Ur),Vr=!0)},o(Ur){transition_out(Dr.$$.fragment,Ur),transition_out(Hr.$$.fragment,Ur),Vr=!1},d(Ur){Ur&&detach(zr),destroy_component(Dr),destroy_component(Hr)}}}function instance$3q(Br,zr,Dr){let Nr,Hr=noop$6,Vr=()=>(Hr(),Hr=subscribe(Ur,Wr=>Dr(1,Nr=Wr)),Ur);Br.$$.on_destroy.push(()=>Hr());let{store:Ur}=zr;Vr();const jr=Wr=>{if(!(Wr.ctrlKey||Wr.metaKey))return;let Gr=Wr.key.toLowerCase();isBuilderInputFocused(Wr)||(Wr.shiftKey&&Gr==="z"?Ur.redo():Gr==="z"&&Ur.undo())};return onMount(()=>(document.addEventListener("keydown",jr),()=>{document.removeEventListener("keydown",jr)})),Br.$$set=Wr=>{"store"in Wr&&Vr(Dr(0,Ur=Wr.store))},[Ur,Nr]}class UndoRedoControl extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3q,create_fragment$3j,safe_not_equal,{store:0})}}const AppPanel_svelte_svelte_type_style_lang="";function create_if_block$1O(Br){let zr,Dr;return zr=new DevicePreviewSelect({}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_key_block$3(Br){let zr,Dr;return zr=new AppPreview({}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p:noop$6,i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_fragment$3i(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr=Br[0].version,Xr;Ur=new UndoRedoControl({props:{store:screenStore.history}});let Zr=Br[0].clientFeatures.devicePreview&&create_if_block$1O(),Kr=create_key_block$3();return{c(){zr=element("div"),Dr=element("div"),Nr=space$1(),Hr=element("div"),Vr=element("div"),create_component(Ur.$$.fragment),jr=space$1(),Wr=element("div"),Zr&&Zr.c(),Gr=space$1(),Qr=element("div"),Kr.c(),attr(Dr,"class","drawer-container svelte-bxsmmv"),attr(Vr,"class","header-left svelte-bxsmmv"),attr(Wr,"class","header-right svelte-bxsmmv"),attr(Hr,"class","header svelte-bxsmmv"),attr(Qr,"class","content svelte-bxsmmv"),attr(zr,"class","app-panel svelte-bxsmmv")},m(Jr,eo){insert$1(Jr,zr,eo),append$2(zr,Dr),append$2(zr,Nr),append$2(zr,Hr),append$2(Hr,Vr),mount_component(Ur,Vr,null),append$2(Hr,jr),append$2(Hr,Wr),Zr&&Zr.m(Wr,null),append$2(zr,Gr),append$2(zr,Qr),Kr.m(Qr,null),Xr=!0},p(Jr,[eo]){Jr[0].clientFeatures.devicePreview?Zr?eo&1&&transition_in(Zr,1):(Zr=create_if_block$1O(),Zr.c(),transition_in(Zr,1),Zr.m(Wr,null)):Zr&&(group_outros(),transition_out(Zr,1,1,()=>{Zr=null}),check_outros()),eo&1&&safe_not_equal(Yr,Yr=Jr[0].version)?(group_outros(),transition_out(Kr,1,1,noop$6),check_outros(),Kr=create_key_block$3(),Kr.c(),transition_in(Kr,1),Kr.m(Qr,null)):Kr.p(Jr,eo)},i(Jr){Xr||(transition_in(Ur.$$.fragment,Jr),transition_in(Zr),transition_in(Kr),Xr=!0)},o(Jr){transition_out(Ur.$$.fragment,Jr),transition_out(Zr),transition_out(Kr),Xr=!1},d(Jr){Jr&&detach(zr),destroy_component(Ur),Zr&&Zr.d(),Kr.d(Jr)}}}function instance$3p(Br,zr,Dr){let Nr;return component_subscribe(Br,appStore,Hr=>Dr(0,Nr=Hr)),[Nr]}class AppPanel extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3p,create_fragment$3i,safe_not_equal,{})}}const RoleIndicator_svelte_svelte_type_style_lang="";function create_if_block$1N(Br){let zr,Dr,Nr;return Dr=new Tooltip$1({props:{textWrapping:!0,text:Br[1],direction:"right"}}),{c(){zr=element("div"),create_component(Dr.$$.fragment),attr(zr,"class","tooltip svelte-1vfibm3")},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},p(Hr,Vr){const Ur={};Vr&2&&(Ur.text=Hr[1]),Dr.$set(Ur)},i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function create_fragment$3h(Br){let zr,Dr,Nr,Hr,Vr,Ur;Dr=new StatusLight({props:{square:!0,color:Br[2]}});let jr=Br[0]&&create_if_block$1N(Br);return{c(){zr=element("div"),create_component(Dr.$$.fragment),Nr=space$1(),jr&&jr.c(),attr(zr,"class","container svelte-1vfibm3"),set_style(zr,"--color",Br[2])},m(Wr,Gr){insert$1(Wr,zr,Gr),mount_component(Dr,zr,null),append$2(zr,Nr),jr&&jr.m(zr,null),Hr=!0,Vr||(Ur=[listen(zr,"mouseover",Br[7]),listen(zr,"mouseleave",Br[8]),listen(zr,"focus",Br[6])],Vr=!0)},p(Wr,[Gr]){const Qr={};Gr&4&&(Qr.color=Wr[2]),Dr.$set(Qr),Wr[0]?jr?(jr.p(Wr,Gr),Gr&1&&transition_in(jr,1)):(jr=create_if_block$1N(Wr),jr.c(),transition_in(jr,1),jr.m(zr,null)):jr&&(group_outros(),transition_out(jr,1,1,()=>{jr=null}),check_outros()),(!Hr||Gr&4)&&set_style(zr,"--color",Wr[2])},i(Wr){Hr||(transition_in(Dr.$$.fragment,Wr),transition_in(jr),Hr=!0)},o(Wr){transition_out(Dr.$$.fragment,Wr),transition_out(jr),Hr=!1},d(Wr){Wr&&detach(zr),destroy_component(Dr),jr&&jr.d(),Vr=!1,run_all(Ur)}}}function instance$3o(Br,zr,Dr){let Nr,Hr,Vr,Ur;component_subscribe(Br,roles,Xr=>Dr(5,Ur=Xr));let{roleId:jr}=zr,Wr=!1;function Gr(Xr){bubble.call(this,Br,Xr)}const Qr=()=>Dr(0,Wr=!0),Yr=()=>Dr(0,Wr=!1);return Br.$$set=Xr=>{"roleId"in Xr&&Dr(3,jr=Xr.roleId)},Br.$$.update=()=>{Br.$$.dirty&8&&Dr(2,Nr=getRoleColour(jr)),Br.$$.dirty&40&&Dr(4,Hr=Ur.find(Xr=>Xr._id===jr)),Br.$$.dirty&24&&Dr(1,Vr=jr===Roles.PUBLIC?"Open to the public":`Requires ${Hr==null?void 0:Hr.name} access`)},[Wr,Vr,Nr,jr,Hr,Ur,Gr,Qr,Yr]}class RoleIndicator extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3o,create_fragment$3h,safe_not_equal,{roleId:3})}}const ScreenDetailsModal_svelte_svelte_type_style_lang="";function create_default_slot$2g(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr;function Qr(Xr){Br[11](Xr)}let Yr={label:"Enter a URL for the new screen",error:Br[4]};return Br[0]!==void 0&&(Yr.value=Br[0]),Dr=new Input$5({props:Yr}),binding_callbacks.push(()=>bind$2(Dr,"value",Qr)),Dr.$on("change",Br[7]),{c(){zr=element("form"),create_component(Dr.$$.fragment),Hr=space$1(),Vr=element("div"),Ur=text(Br[6]),attr(Vr,"class","app-server svelte-ygkcrb"),attr(Vr,"title",Br[6])},m(Xr,Zr){insert$1(Xr,zr,Zr),mount_component(Dr,zr,null),append$2(zr,Hr),append$2(zr,Vr),append$2(Vr,Ur),jr=!0,Wr||(Gr=listen(zr,"submit",prevent_default(Br[12])),Wr=!0)},p(Xr,Zr){const Kr={};Zr&16&&(Kr.error=Xr[4]),!Nr&&Zr&1&&(Nr=!0,Kr.value=Xr[0],add_flush_callback(()=>Nr=!1)),Dr.$set(Kr),(!jr||Zr&64)&&set_data(Ur,Xr[6]),(!jr||Zr&64)&&attr(Vr,"title",Xr[6])},i(Xr){jr||(transition_in(Dr.$$.fragment,Xr),jr=!0)},o(Xr){transition_out(Dr.$$.fragment,Xr),jr=!1},d(Xr){Xr&&detach(zr),destroy_component(Dr),Wr=!1,Gr()}}}function create_fragment$3g(Br){let zr,Dr,Nr={size:"M",title:"Screen details",confirmText:Br[2],onConfirm:Br[8],onCancel:Br[1],cancelText:"Back",disabled:!Br[0]||Br[4]||!Br[3],$$slots:{default:[create_default_slot$2g]},$$scope:{ctx:Br}};return zr=new ModalContent({props:Nr}),Br[13](zr),{c(){create_component(zr.$$.fragment)},m(Hr,Vr){mount_component(zr,Hr,Vr),Dr=!0},p(Hr,[Vr]){const Ur={};Vr&4&&(Ur.confirmText=Hr[2]),Vr&2&&(Ur.onCancel=Hr[1]),Vr&25&&(Ur.disabled=!Hr[0]||Hr[4]||!Hr[3]),Vr&32881&&(Ur.$$scope={dirty:Vr,ctx:Hr}),zr.$set(Ur)},i(Hr){Dr||(transition_in(zr.$$.fragment,Hr),Dr=!0)},o(Hr){transition_out(zr.$$.fragment,Hr),Dr=!1},d(Hr){Br[13](null),destroy_component(zr,Hr)}}}const appPrefix$2="/app";function instance$3n(Br,zr,Dr){let Nr,{onConfirm:Hr}=zr,{onCancel:Vr}=zr,{screenUrl:Ur}=zr,{screenRole:jr}=zr,{confirmText:Wr="Continue"}=zr,Gr=!1,Qr,Yr;const Xr=io=>{io.detail.startsWith("/")||Dr(0,Ur="/"+io.detail),Dr(3,Gr=!0),Dr(0,Ur=sanitizeUrl(Ur)),Zr(Ur)?Dr(4,Qr="This URL is already taken for this access role"):Dr(4,Qr=null)},Zr=io=>jr?get_store_value(screenStore).screens.some(so=>so.routing.route.toLowerCase()===io.toLowerCase()&&so.routing.roleId===jr):!1,Kr=async()=>{await Hr({screenUrl:Ur})};function Jr(io){Ur=io,Dr(0,Ur)}const eo=()=>Yr.confirm();function no(io){binding_callbacks[io?"unshift":"push"](()=>{Yr=io,Dr(5,Yr)})}return Br.$$set=io=>{"onConfirm"in io&&Dr(9,Hr=io.onConfirm),"onCancel"in io&&Dr(1,Vr=io.onCancel),"screenUrl"in io&&Dr(0,Ur=io.screenUrl),"screenRole"in io&&Dr(10,jr=io.screenRole),"confirmText"in io&&Dr(2,Wr=io.confirmText)},Br.$$.update=()=>{Br.$$.dirty&1&&Dr(6,Nr=Ur?`${window.location.origin}${appPrefix$2}${Ur}`:`${window.location.origin}${appPrefix$2}`)},[Ur,Vr,Wr,Gr,Qr,Yr,Nr,Xr,Kr,Hr,jr,Jr,eo,no]}class ScreenDetailsModal extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3n,create_fragment$3g,safe_not_equal,{onConfirm:9,onCancel:1,screenUrl:0,screenRole:10,confirmText:2})}}const DropdownMenu_svelte_svelte_type_style_lang="";function create_default_slot_4$W(Br){let zr;return{c(){zr=text("Paste inside")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_3$18(Br){let zr;return{c(){zr=text("Duplicate")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_2$1q(Br){let zr;return{c(){zr=text("Delete")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_1$1R(Br){let zr,Dr,Nr,Hr,Vr,Ur;return zr=new Item$1({props:{icon:"ShowOneLayer",disabled:Br[3],$$slots:{default:[create_default_slot_4$W]},$$scope:{ctx:Br}}}),zr.$on("click",Br[11]),Nr=new Item$1({props:{icon:"Duplicate",$$slots:{default:[create_default_slot_3$18]},$$scope:{ctx:Br}}}),Nr.$on("click",Br[5]),Vr=new Item$1({props:{icon:"Delete",$$slots:{default:[create_default_slot_2$1q]},$$scope:{ctx:Br}}}),Vr.$on("click",function(){is_function(Br[1].show)&&Br[1].show.apply(this,arguments)}),{c(){create_component(zr.$$.fragment),Dr=space$1(),create_component(Nr.$$.fragment),Hr=space$1(),create_component(Vr.$$.fragment)},m(jr,Wr){mount_component(zr,jr,Wr),insert$1(jr,Dr,Wr),mount_component(Nr,jr,Wr),insert$1(jr,Hr,Wr),mount_component(Vr,jr,Wr),Ur=!0},p(jr,Wr){Br=jr;const Gr={};Wr&8&&(Gr.disabled=Br[3]),Wr&16384&&(Gr.$$scope={dirty:Wr,ctx:Br}),zr.$set(Gr);const Qr={};Wr&16384&&(Qr.$$scope={dirty:Wr,ctx:Br}),Nr.$set(Qr);const Yr={};Wr&16384&&(Yr.$$scope={dirty:Wr,ctx:Br}),Vr.$set(Yr)},i(jr){Ur||(transition_in(zr.$$.fragment,jr),transition_in(Nr.$$.fragment,jr),transition_in(Vr.$$.fragment,jr),Ur=!0)},o(jr){transition_out(zr.$$.fragment,jr),transition_out(Nr.$$.fragment,jr),transition_out(Vr.$$.fragment,jr),Ur=!1},d(jr){jr&&(detach(Dr),detach(Hr)),destroy_component(zr,jr),destroy_component(Nr,jr),destroy_component(Vr,jr)}}}function create_control_slot$9(Br){let zr,Dr,Nr;return Dr=new Icon({props:{size:"S",hoverable:!0,name:"MoreSmallList"}}),{c(){zr=element("div"),create_component(Dr.$$.fragment),attr(zr,"slot","control"),attr(zr,"class","icon svelte-u6s22l")},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},p:noop$6,i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function create_default_slot$2f(Br){var Nr,Hr;let zr,Dr;return zr=new ScreenDetailsModal({props:{onConfirm:Br[6],screenUrl:(Nr=Br[0])==null?void 0:Nr.routing.route,screenRole:(Hr=Br[0])==null?void 0:Hr.routing.roleId,confirmText:"Duplicate"}}),{c(){create_component(zr.$$.fragment)},m(Vr,Ur){mount_component(zr,Vr,Ur),Dr=!0},p(Vr,Ur){var Wr,Gr;const jr={};Ur&1&&(jr.screenUrl=(Wr=Vr[0])==null?void 0:Wr.routing.route),Ur&1&&(jr.screenRole=(Gr=Vr[0])==null?void 0:Gr.routing.roleId),zr.$set(jr)},i(Vr){Dr||(transition_in(zr.$$.fragment,Vr),Dr=!0)},o(Vr){transition_out(zr.$$.fragment,Vr),Dr=!1},d(Vr){destroy_component(zr,Vr)}}}function create_fragment$3f(Br){let zr,Dr,Nr,Hr,Vr,Ur;zr=new ActionMenu({props:{$$slots:{control:[create_control_slot$9],default:[create_default_slot_1$1R]},$$scope:{ctx:Br}}});let jr={title:"Confirm Deletion",body:"Are you sure you wish to delete this screen?",okText:"Delete screen",onOk:Br[7]};Nr=new ConfirmDialog({props:jr}),Br[12](Nr);let Wr={$$slots:{default:[create_default_slot$2f]},$$scope:{ctx:Br}};return Vr=new Modal({props:Wr}),Br[13](Vr),{c(){create_component(zr.$$.fragment),Dr=space$1(),create_component(Nr.$$.fragment),Hr=space$1(),create_component(Vr.$$.fragment)},m(Gr,Qr){mount_component(zr,Gr,Qr),insert$1(Gr,Dr,Qr),mount_component(Nr,Gr,Qr),insert$1(Gr,Hr,Qr),mount_component(Vr,Gr,Qr),Ur=!0},p(Gr,[Qr]){const Yr={};Qr&16394&&(Yr.$$scope={dirty:Qr,ctx:Gr}),zr.$set(Yr);const Xr={};Nr.$set(Xr);const Zr={};Qr&16385&&(Zr.$$scope={dirty:Qr,ctx:Gr}),Vr.$set(Zr)},i(Gr){Ur||(transition_in(zr.$$.fragment,Gr),transition_in(Nr.$$.fragment,Gr),transition_in(Vr.$$.fragment,Gr),Ur=!0)},o(Gr){transition_out(zr.$$.fragment,Gr),transition_out(Nr.$$.fragment,Gr),transition_out(Vr.$$.fragment,Gr),Ur=!1},d(Gr){Gr&&(detach(Dr),detach(Hr)),destroy_component(zr,Gr),Br[12](null),destroy_component(Nr,Gr),Br[13](null),destroy_component(Vr,Gr)}}}function instance$3m(Br,zr,Dr){let Nr,Hr,Vr,Ur;component_subscribe(Br,componentStore,no=>Dr(9,Vr=no)),component_subscribe(Br,screenStore,no=>Dr(10,Ur=no));let{screenId:jr}=zr,Wr,Gr;const Qr=no=>{try{componentStore.paste(Nr.props,no,Nr)}catch{notifications.error("Error saving component")}},Yr=()=>{Gr.show()},Xr=async({screenName:no,screenUrl:io})=>{let so=cloneDeep$2(Nr);delete so._id,delete so._rev,so.props=makeComponentUnique(so.props),so.routing.route=sanitizeUrl(io),so.routing.homeScreen=!1,so.props._instanceName=no;try{await screenStore.save(so)}catch{notifications.error("Error duplicating screen")}},Zr=async()=>{try{await screenStore.delete(Nr),notifications.success("Deleted screen successfully")}catch{notifications.error("Error deleting screen")}},Kr=()=>Qr("inside");function Jr(no){binding_callbacks[no?"unshift":"push"](()=>{Wr=no,Dr(1,Wr)})}function eo(no){binding_callbacks[no?"unshift":"push"](()=>{Gr=no,Dr(2,Gr)})}return Br.$$set=no=>{"screenId"in no&&Dr(8,jr=no.screenId)},Br.$$.update=()=>{Br.$$.dirty&1280&&Dr(0,Nr=Ur.screens.find(no=>no._id===jr)),Br.$$.dirty&512&&Dr(3,Hr=!Vr.componentToPaste)},[Nr,Wr,Gr,Hr,Qr,Yr,Xr,Zr,jr,Vr,Ur,Kr,Jr,eo]}class DropdownMenu extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3m,create_fragment$3f,safe_not_equal,{screenId:8})}}const getResizeActions=(Br,zr,Dr,Nr,Hr=()=>{})=>{let Vr=null;return[Wr=>(Vr=Wr,Nr!=null&&(Vr.style[Br]=`${Nr}px`),{destroy(){Vr=null}}),Wr=>{let Gr=null,Qr=null;const Yr=Jr=>{Jr.preventDefault();const eo=Jr[zr]-Qr;Vr.style[Br]=`${Gr+eo}px`},Xr=Jr=>{Jr.preventDefault(),window.removeEventListener("mousemove",Yr),window.removeEventListener("mouseup",Xr),Vr.style.removeProperty("transition");for(let eo of document.getElementsByTagName("iframe"))eo.style.removeProperty("pointer-events");Hr(Vr[Dr])},Zr=Jr=>{if(Jr.detail>1&&Jr.preventDefault(),!(Jr.target.hasAttribute("disabled")&&Jr.target.getAttribute("disabled")!=="false")){Vr.style.transition=`${Br} 0ms`;for(let eo of document.getElementsByTagName("iframe"))eo.style.pointerEvents="none";Gr=Vr[Dr],Qr=Jr[zr],window.addEventListener("mousemove",Yr),window.addEventListener("mouseup",Xr)}},Kr=()=>{Vr.style.removeProperty(Br)};return Wr.addEventListener("mousedown",Zr),Wr.addEventListener("dblclick",Kr),{destroy(){Wr.removeEventListener("mousedown",Zr),Wr.removeEventListener("dblclick",Kr)}}}]},getVerticalResizeActions=(Br,zr=()=>{})=>getResizeActions("height","pageY","clientHeight",Br,zr),getHorizontalResizeActions=(Br,zr=()=>{})=>getResizeActions("width","pageX","clientWidth",Br,zr),index_svelte_svelte_type_style_lang$h="";function get_each_context$E(Br,zr,Dr){const Nr=Br.slice();return Nr[19]=zr[Dr],Nr}function create_else_block$D(Br){let zr,Dr;return zr=new Layout$n({props:{paddingY:"none",paddingX:"L",$$slots:{default:[create_default_slot_1$1Q]},$$scope:{ctx:Br}}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&4194304&&(Vr.$$scope={dirty:Hr,ctx:Nr}),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_if_block$1M(Br){let zr=[],Dr=new Map,Nr,Hr,Vr=ensure_array_like(Br[4]);const Ur=jr=>jr[19]._id;for(let jr=0;jr<Vr.length;jr+=1){let Wr=get_each_context$E(Br,Vr,jr),Gr=Ur(Wr);Dr.set(Gr,zr[jr]=create_each_block$E(Gr,Wr))}return{c(){for(let jr=0;jr<zr.length;jr+=1)zr[jr].c();Nr=empty$2()},m(jr,Wr){for(let Gr=0;Gr<zr.length;Gr+=1)zr[Gr]&&zr[Gr].m(jr,Wr);insert$1(jr,Nr,Wr),Hr=!0},p(jr,Wr){Wr&208&&(Vr=ensure_array_like(jr[4]),group_outros(),zr=update_keyed_each(zr,Wr,Ur,1,jr,Vr,Dr,Nr.parentNode,outro_and_destroy_block,create_each_block$E,Nr,get_each_context$E),check_outros())},i(jr){if(!Hr){for(let Wr=0;Wr<Vr.length;Wr+=1)transition_in(zr[Wr]);Hr=!0}},o(jr){for(let Wr=0;Wr<zr.length;Wr+=1)transition_out(zr[Wr]);Hr=!1},d(jr){jr&&detach(Nr);for(let Wr=0;Wr<zr.length;Wr+=1)zr[Wr].d(jr)}}}function create_default_slot_1$1Q(Br){let zr;return{c(){zr=element("div"),zr.textContent="There aren't any screens matching that route",attr(zr,"class","no-results svelte-ynsma1")},m(Dr,Nr){insert$1(Dr,zr,Nr)},p:noop$6,d(Dr){Dr&&detach(zr)}}}function create_default_slot$2e(Br){let zr,Dr,Nr;return zr=new DropdownMenu({props:{screenId:Br[19]._id}}),{c(){create_component(zr.$$.fragment),Dr=space$1()},m(Hr,Vr){mount_component(zr,Hr,Vr),insert$1(Hr,Dr,Vr),Nr=!0},p(Hr,Vr){const Ur={};Vr&16&&(Ur.screenId=Hr[19]._id),zr.$set(Ur)},i(Hr){Nr||(transition_in(zr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(zr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(Dr),destroy_component(zr,Hr)}}}function create_icon_slot(Br){let zr,Dr,Nr,Hr;return Dr=new RoleIndicator({props:{roleId:Br[19].routing.roleId}}),{c(){zr=element("div"),create_component(Dr.$$.fragment),Nr=space$1(),attr(zr,"slot","icon"),attr(zr,"class","icon svelte-ynsma1")},m(Vr,Ur){insert$1(Vr,zr,Ur),mount_component(Dr,zr,null),append$2(zr,Nr),Hr=!0},p(Vr,Ur){const jr={};Ur&16&&(jr.roleId=Vr[19].routing.roleId),Dr.$set(jr)},i(Vr){Hr||(transition_in(Dr.$$.fragment,Vr),Hr=!0)},o(Vr){transition_out(Dr.$$.fragment,Vr),Hr=!1},d(Vr){Vr&&detach(zr),destroy_component(Dr)}}}function create_each_block$E(Br,zr){let Dr,Nr,Hr;function Vr(){return zr[15](zr[19])}return Nr=new NavItem$1({props:{scrollable:!0,icon:zr[19].routing.homeScreen?"Home":null,indentLevel:0,selected:zr[6].selectedScreenId===zr[19]._id,text:zr[19].routing.route,rightAlignIcon:!0,showTooltip:!0,selectedBy:zr[7][zr[19]._id],$$slots:{icon:[create_icon_slot],default:[create_default_slot$2e]},$$scope:{ctx:zr}}}),Nr.$on("click",Vr),{key:Br,first:null,c(){Dr=empty$2(),create_component(Nr.$$.fragment),this.first=Dr},m(Ur,jr){insert$1(Ur,Dr,jr),mount_component(Nr,Ur,jr),Hr=!0},p(Ur,jr){zr=Ur;const Wr={};jr&16&&(Wr.icon=zr[19].routing.homeScreen?"Home":null),jr&80&&(Wr.selected=zr[6].selectedScreenId===zr[19]._id),jr&16&&(Wr.text=zr[19].routing.route),jr&144&&(Wr.selectedBy=zr[7][zr[19]._id]),jr&4194320&&(Wr.$$scope={dirty:jr,ctx:zr}),Nr.$set(Wr)},i(Ur){Hr||(transition_in(Nr.$$.fragment,Ur),Hr=!0)},o(Ur){transition_out(Nr.$$.fragment,Ur),Hr=!1},d(Ur){Ur&&detach(Dr),destroy_component(Nr,Ur)}}}function create_fragment$3e(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr,Xr,Zr,Kr;function Jr(fo){Br[13](fo)}function eo(fo){Br[14](fo)}let no={title:"Screens",placeholder:"Search for screens",onAdd:Br[12]};Br[1]!==void 0&&(no.value=Br[1]),Br[0]!==void 0&&(no.search=Br[0]),Nr=new NavHeader({props:no}),binding_callbacks.push(()=>bind$2(Nr,"value",Jr)),binding_callbacks.push(()=>bind$2(Nr,"search",eo));const io=[create_if_block$1M,create_else_block$D],so=[];function ao(fo,po){var go;return(go=fo[4])!=null&&go.length?0:1}return Wr=ao(Br),Gr=so[Wr]=io[Wr](Br),{c(){zr=element("div"),Dr=element("div"),create_component(Nr.$$.fragment),Ur=space$1(),jr=element("div"),Gr.c(),Qr=space$1(),Yr=element("div"),attr(Dr,"class","header svelte-ynsma1"),toggle_class(Dr,"scrolling",Br[3]),attr(jr,"class","content svelte-ynsma1"),attr(Yr,"role","separator"),attr(Yr,"disabled",Br[0]),attr(Yr,"class","divider svelte-ynsma1"),toggle_class(Yr,"disabled",Br[0]),attr(zr,"class","screens svelte-ynsma1"),toggle_class(zr,"searching",Br[0])},m(fo,po){insert$1(fo,zr,po),append$2(zr,Dr),mount_component(Nr,Dr,null),append$2(zr,Ur),append$2(zr,jr),so[Wr].m(jr,null),Br[16](jr),append$2(zr,Qr),append$2(zr,Yr),Xr=!0,Zr||(Kr=[listen(jr,"scroll",Br[10]),action_destroyer(Br[9].call(null,Yr)),action_destroyer(Br[8].call(null,zr))],Zr=!0)},p(fo,[po]){const go={};po&32&&(go.onAdd=fo[12]),!Hr&&po&2&&(Hr=!0,go.value=fo[1],add_flush_callback(()=>Hr=!1)),!Vr&&po&1&&(Vr=!0,go.search=fo[0],add_flush_callback(()=>Vr=!1)),Nr.$set(go),(!Xr||po&8)&&toggle_class(Dr,"scrolling",fo[3]);let $o=Wr;Wr=ao(fo),Wr===$o?so[Wr].p(fo,po):(group_outros(),transition_out(so[$o],1,1,()=>{so[$o]=null}),check_outros(),Gr=so[Wr],Gr?Gr.p(fo,po):(Gr=so[Wr]=io[Wr](fo),Gr.c()),transition_in(Gr,1),Gr.m(jr,null)),(!Xr||po&1)&&attr(Yr,"disabled",fo[0]),(!Xr||po&1)&&toggle_class(Yr,"disabled",fo[0]),(!Xr||po&1)&&toggle_class(zr,"searching",fo[0])},i(fo){Xr||(transition_in(Nr.$$.fragment,fo),transition_in(Gr),Xr=!0)},o(fo){transition_out(Nr.$$.fragment,fo),transition_out(Gr),Xr=!1},d(fo){fo&&detach(zr),destroy_component(Nr),so[Wr].d(),Br[16](null),Zr=!1,run_all(Kr)}}}function instance$3l(Br,zr,Dr){let Nr,Hr,Vr,Ur,jr;component_subscribe(Br,sortedScreens,po=>Dr(11,Hr=po)),component_subscribe(Br,goto,po=>Dr(5,Vr=po)),component_subscribe(Br,screenStore,po=>Dr(6,Ur=po)),component_subscribe(Br,userSelectedResourceMap,po=>Dr(7,jr=po));const[Wr,Gr]=getVerticalResizeActions();let Qr=!1,Yr="",Xr,Zr=!1;const Kr=async()=>{Xr.scroll({top:0,behavior:"smooth"})},Jr=(po,go)=>po.filter($o=>!go||$o.routing.route.includes(go)),eo=po=>{Dr(3,Zr=po.target.scrollTop!==0)},no=()=>Vr("../new");function io(po){Yr=po,Dr(1,Yr)}function so(po){Qr=po,Dr(0,Qr)}const ao=po=>screenStore.select(po._id);function fo(po){binding_callbacks[po?"unshift":"push"](()=>{Xr=po,Dr(2,Xr)})}return Br.$$.update=()=>{Br.$$.dirty&2050&&Dr(4,Nr=Jr(Hr,Yr)),Br.$$.dirty&1&&Qr&&Kr()},[Qr,Yr,Xr,Zr,Nr,Vr,Ur,jr,Wr,Gr,eo,Hr,no,io,so,ao,fo]}class ScreenList extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3l,create_fragment$3e,safe_not_equal,{})}}const ComponentDropdownMenu_svelte_svelte_type_style_lang="";function create_default_slot_12$e(Br){let zr;return{c(){zr=text("Delete")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_if_block_1$W(Br){let zr,Dr;return zr=new Item$1({props:{icon:"Export",keyBind:"Ctrl+E",$$slots:{default:[create_default_slot_11$k]},$$scope:{ctx:Br}}}),zr.$on("click",Br[9]),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&1048576&&(Vr.$$scope={dirty:Hr,ctx:Nr}),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_default_slot_11$k(Br){let zr;return{c(){zr=text("Eject block")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_10$m(Br){let zr;return{c(){zr=text("Move up")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_9$q(Br){let zr;return{c(){zr=text("Move down")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_8$q(Br){let zr;return{c(){zr=text("Duplicate")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_7$C(Br){let zr;return{c(){zr=text("Cut")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_6$I(Br){let zr;return{c(){zr=text("Copy")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_5$N(Br){let zr;return{c(){zr=text("Paste")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_if_block$1L(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr;return zr=new Item$1({props:{icon:"TreeExpand",keyBind:"!ArrowRight",disabled:Br[1],$$slots:{default:[create_default_slot_4$V]},$$scope:{ctx:Br}}}),zr.$on("click",Br[16]),Nr=new Item$1({props:{icon:"TreeCollapse",keyBind:"!ArrowLeft",disabled:!Br[1],$$slots:{default:[create_default_slot_3$17]},$$scope:{ctx:Br}}}),Nr.$on("click",Br[17]),Vr=new Item$1({props:{icon:"TreeExpandAll",keyBind:"Ctrl+!ArrowRight",$$slots:{default:[create_default_slot_2$1p]},$$scope:{ctx:Br}}}),Vr.$on("click",Br[18]),jr=new Item$1({props:{icon:"TreeCollapseAll",keyBind:"Ctrl+!ArrowLeft",$$slots:{default:[create_default_slot_1$1P]},$$scope:{ctx:Br}}}),jr.$on("click",Br[19]),{c(){create_component(zr.$$.fragment),Dr=space$1(),create_component(Nr.$$.fragment),Hr=space$1(),create_component(Vr.$$.fragment),Ur=space$1(),create_component(jr.$$.fragment)},m(Gr,Qr){mount_component(zr,Gr,Qr),insert$1(Gr,Dr,Qr),mount_component(Nr,Gr,Qr),insert$1(Gr,Hr,Qr),mount_component(Vr,Gr,Qr),insert$1(Gr,Ur,Qr),mount_component(jr,Gr,Qr),Wr=!0},p(Gr,Qr){const Yr={};Qr&2&&(Yr.disabled=Gr[1]),Qr&1048576&&(Yr.$$scope={dirty:Qr,ctx:Gr}),zr.$set(Yr);const Xr={};Qr&2&&(Xr.disabled=!Gr[1]),Qr&1048576&&(Xr.$$scope={dirty:Qr,ctx:Gr}),Nr.$set(Xr);const Zr={};Qr&1048576&&(Zr.$$scope={dirty:Qr,ctx:Gr}),Vr.$set(Zr);const Kr={};Qr&1048576&&(Kr.$$scope={dirty:Qr,ctx:Gr}),jr.$set(Kr)},i(Gr){Wr||(transition_in(zr.$$.fragment,Gr),transition_in(Nr.$$.fragment,Gr),transition_in(Vr.$$.fragment,Gr),transition_in(jr.$$.fragment,Gr),Wr=!0)},o(Gr){transition_out(zr.$$.fragment,Gr),transition_out(Nr.$$.fragment,Gr),transition_out(Vr.$$.fragment,Gr),transition_out(jr.$$.fragment,Gr),Wr=!1},d(Gr){Gr&&(detach(Dr),detach(Hr),detach(Ur)),destroy_component(zr,Gr),destroy_component(Nr,Gr),destroy_component(Vr,Gr),destroy_component(jr,Gr)}}}function create_default_slot_4$V(Br){let zr;return{c(){zr=text("Expand")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_3$17(Br){let zr;return{c(){zr=text("Collapse")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_2$1p(Br){let zr;return{c(){zr=text("Expand All")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_1$1P(Br){let zr;return{c(){zr=text("Collapse All")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot$2d(Br){var ao,fo;let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr,Xr,Zr,Kr,Jr,eo,no;zr=new Item$1({props:{icon:"Delete",keyBind:"!BackAndroid",$$slots:{default:[create_default_slot_12$e]},$$scope:{ctx:Br}}}),zr.$on("click",Br[8]);let io=Br[3]&&Br[2]&&create_if_block_1$W(Br);Hr=new Item$1({props:{icon:"ChevronUp",keyBind:"Ctrl+!ArrowUp",$$slots:{default:[create_default_slot_10$m]},$$scope:{ctx:Br}}}),Hr.$on("click",Br[10]),Ur=new Item$1({props:{icon:"ChevronDown",keyBind:"Ctrl+!ArrowDown",$$slots:{default:[create_default_slot_9$q]},$$scope:{ctx:Br}}}),Ur.$on("click",Br[11]),Wr=new Item$1({props:{icon:"Duplicate",keyBind:"Ctrl+D",$$slots:{default:[create_default_slot_8$q]},$$scope:{ctx:Br}}}),Wr.$on("click",Br[12]),Qr=new Item$1({props:{icon:"Cut",keyBind:"Ctrl+X",$$slots:{default:[create_default_slot_7$C]},$$scope:{ctx:Br}}}),Qr.$on("click",Br[13]),Xr=new Item$1({props:{icon:"Copy",keyBind:"Ctrl+C",$$slots:{default:[create_default_slot_6$I]},$$scope:{ctx:Br}}}),Xr.$on("click",Br[14]),Kr=new Item$1({props:{icon:"LayersSendToBack",keyBind:"Ctrl+V",disabled:Br[4],$$slots:{default:[create_default_slot_5$N]},$$scope:{ctx:Br}}}),Kr.$on("click",Br[15]);let so=((fo=(ao=Br[0])==null?void 0:ao._children)==null?void 0:fo.length)&&create_if_block$1L(Br);return{c(){create_component(zr.$$.fragment),Dr=space$1(),io&&io.c(),Nr=space$1(),create_component(Hr.$$.fragment),Vr=space$1(),create_component(Ur.$$.fragment),jr=space$1(),create_component(Wr.$$.fragment),Gr=space$1(),create_component(Qr.$$.fragment),Yr=space$1(),create_component(Xr.$$.fragment),Zr=space$1(),create_component(Kr.$$.fragment),Jr=space$1(),so&&so.c(),eo=empty$2()},m(po,go){mount_component(zr,po,go),insert$1(po,Dr,go),io&&io.m(po,go),insert$1(po,Nr,go),mount_component(Hr,po,go),insert$1(po,Vr,go),mount_component(Ur,po,go),insert$1(po,jr,go),mount_component(Wr,po,go),insert$1(po,Gr,go),mount_component(Qr,po,go),insert$1(po,Yr,go),mount_component(Xr,po,go),insert$1(po,Zr,go),mount_component(Kr,po,go),insert$1(po,Jr,go),so&&so.m(po,go),insert$1(po,eo,go),no=!0},p(po,go){var yo,Co;const $o={};go&1048576&&($o.$$scope={dirty:go,ctx:po}),zr.$set($o),po[3]&&po[2]?io?(io.p(po,go),go&12&&transition_in(io,1)):(io=create_if_block_1$W(po),io.c(),transition_in(io,1),io.m(Nr.parentNode,Nr)):io&&(group_outros(),transition_out(io,1,1,()=>{io=null}),check_outros());const vo={};go&1048576&&(vo.$$scope={dirty:go,ctx:po}),Hr.$set(vo);const So={};go&1048576&&(So.$$scope={dirty:go,ctx:po}),Ur.$set(So);const ko={};go&1048576&&(ko.$$scope={dirty:go,ctx:po}),Wr.$set(ko);const To={};go&1048576&&(To.$$scope={dirty:go,ctx:po}),Qr.$set(To);const Eo={};go&1048576&&(Eo.$$scope={dirty:go,ctx:po}),Xr.$set(Eo);const Oo={};go&16&&(Oo.disabled=po[4]),go&1048576&&(Oo.$$scope={dirty:go,ctx:po}),Kr.$set(Oo),(Co=(yo=po[0])==null?void 0:yo._children)!=null&&Co.length?so?(so.p(po,go),go&1&&transition_in(so,1)):(so=create_if_block$1L(po),so.c(),transition_in(so,1),so.m(eo.parentNode,eo)):so&&(group_outros(),transition_out(so,1,1,()=>{so=null}),check_outros())},i(po){no||(transition_in(zr.$$.fragment,po),transition_in(io),transition_in(Hr.$$.fragment,po),transition_in(Ur.$$.fragment,po),transition_in(Wr.$$.fragment,po),transition_in(Qr.$$.fragment,po),transition_in(Xr.$$.fragment,po),transition_in(Kr.$$.fragment,po),transition_in(so),no=!0)},o(po){transition_out(zr.$$.fragment,po),transition_out(io),transition_out(Hr.$$.fragment,po),transition_out(Ur.$$.fragment,po),transition_out(Wr.$$.fragment,po),transition_out(Qr.$$.fragment,po),transition_out(Xr.$$.fragment,po),transition_out(Kr.$$.fragment,po),transition_out(so),no=!1},d(po){po&&(detach(Dr),detach(Nr),detach(Vr),detach(jr),detach(Gr),detach(Yr),detach(Zr),detach(Jr),detach(eo)),destroy_component(zr,po),io&&io.d(po),destroy_component(Hr,po),destroy_component(Ur,po),destroy_component(Wr,po),destroy_component(Qr,po),destroy_component(Xr,po),destroy_component(Kr,po),so&&so.d(po)}}}function create_control_slot$8(Br){let zr,Dr,Nr;return Dr=new Icon({props:{size:"S",hoverable:!0,name:"MoreSmallList"}}),{c(){zr=element("div"),create_component(Dr.$$.fragment),attr(zr,"slot","control"),attr(zr,"class","icon svelte-u6s22l")},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},p:noop$6,i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function create_fragment$3d(Br){let zr,Dr;return zr=new ActionMenu({props:{$$slots:{control:[create_control_slot$8],default:[create_default_slot$2d]},$$scope:{ctx:Br}}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,[Hr]){const Vr={};Hr&1048607&&(Vr.$$scope={dirty:Hr,ctx:Nr}),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function instance$3k(Br,zr,Dr){let Nr,Hr,Vr,Ur,jr;component_subscribe(Br,componentStore,go=>Dr(7,jr=go));let{component:Wr}=zr,{opened:Gr}=zr;const Qr=(go,$o=!1)=>{document.dispatchEvent(new CustomEvent("component-menu",{detail:{key:go,ctrlKey:$o,id:Wr==null?void 0:Wr._id}}))},Yr=()=>Qr("Delete"),Xr=()=>Qr("e",!0),Zr=()=>Qr("ArrowUp",!0),Kr=()=>Qr("ArrowDown",!0),Jr=()=>Qr("d",!0),eo=()=>Qr("x",!0),no=()=>Qr("c",!0),io=()=>Qr("v",!0),so=()=>Qr("ArrowRight",!1),ao=()=>Qr("ArrowLeft",!1),fo=()=>Qr("ArrowRight",!0),po=()=>Qr("ArrowLeft",!0);return Br.$$set=go=>{"component"in go&&Dr(0,Wr=go.component),"opened"in go&&Dr(1,Gr=go.opened)},Br.$$.update=()=>{Br.$$.dirty&1&&Dr(6,Nr=componentStore.getDefinition(Wr==null?void 0:Wr._component)),Br.$$.dirty&128&&Dr(4,Hr=!jr.componentToPaste),Br.$$.dirty&64&&Dr(3,Vr=(Nr==null?void 0:Nr.block)===!0),Br.$$.dirty&64&&Dr(2,Ur=(Nr==null?void 0:Nr.ejectable)!==!1)},[Wr,Gr,Ur,Vr,Hr,Qr,Nr,jr,Yr,Xr,Zr,Kr,Jr,eo,no,io,so,ao,fo,po]}class ComponentDropdownMenu extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3k,create_fragment$3d,safe_not_equal,{component:0,opened:1})}}const DropPosition={ABOVE:"above",BELOW:"below",INSIDE:"inside"},initialState={source:null,target:null,targetParent:null,dropPosition:null,dragging:!1,valid:!1},createDNDStore=()=>{const Br=writable(initialState),zr={dragstart:Dr=>{Dr&&Br.set({source:Dr,target:null,dropPosition:null,dragging:!0,valid:!1})},dragover:({component:Dr,mousePosition:Nr})=>{var Yr,Xr;const Hr=componentStore.getDefinition(Dr._component),Vr=Hr==null?void 0:Hr.hasChildren,Ur=((Yr=Dr._children)==null?void 0:Yr.length)>0;let jr,Wr,Gr;Vr?Nr<=.33?jr=DropPosition.ABOVE:Nr>=.66?jr=DropPosition.BELOW:jr=DropPosition.INSIDE:jr=Nr>.5?DropPosition.BELOW:DropPosition.ABOVE,jr===DropPosition.BELOW&&Ur?(Wr=Dr._children[0],jr=DropPosition.ABOVE):Wr=Dr;const Qr=get_store_value(Br);jr===Qr.dropPosition&&(Wr==null?void 0:Wr._id)===((Xr=Qr.target)==null?void 0:Xr._id)||(Wr&&(Gr=findComponentParent(get_store_value(selectedScreen).props,Wr._id)),Br.update(Zr=>{var Kr;return{...Zr,dropPosition:jr,target:Wr,targetParent:Gr,valid:((Kr=findComponentPath(Zr.source,Wr._id))==null?void 0:Kr.length)===0}}))},reset:()=>{Br.set(initialState)},drop:async()=>{const Dr=get_store_value(Br);!Dr.valid||!Dr.source||!Dr.target||(zr.reset(),componentStore.copy(Dr.source,!0,!1),await componentStore.paste(Dr.target,Dr.dropPosition))}};return{subscribe:Br.subscribe,actions:zr}},dndStore=createDNDStore(),ComponentTree_svelte_svelte_type_style_lang="";function get_each_context$D(Br,zr,Dr){const Nr=Br.slice();Nr[23]=zr[Dr],Nr[26]=Dr;const Hr=Nr[10](Nr[23],Nr[3]);return Nr[24]=Hr,Nr}function create_default_slot$2c(Br){let zr,Dr;return zr=new ComponentDropdownMenu({props:{opened:Br[24],component:Br[23]}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&12&&(Vr.opened=Nr[24]),Hr&4&&(Vr.component=Nr[23]),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_if_block$1K(Br){let zr,Dr;return zr=new ComponentTree({props:{components:Br[23]._children,dndStore,level:Br[0]+1}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&4&&(Vr.components=Nr[23]._children),Hr&1&&(Vr.level=Nr[0]+1),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_each_block$D(Br,zr){let Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr;function Qr(){return zr[16](zr[23])}function Yr(){return zr[17](zr[23])}function Xr(){return zr[18](zr[23])}Nr=new NavItem$1({props:{compact:!0,scrollable:!0,draggable:!0,hovering:zr[4].componentId===zr[23]._id,text:getComponentText(zr[23]),icon:zr[7](zr[23]),iconTooltip:getComponentName(zr[23]),withArrow:zr[8](zr[23]),indentLevel:zr[0],selected:zr[1].selectedComponentId===zr[23]._id,opened:zr[24],highlighted:zr[11](zr[23]),selectedBy:zr[5][zr[23]._id],$$slots:{default:[create_default_slot$2c]},$$scope:{ctx:zr}}}),Nr.$on("dragend",dndStore.actions.reset),Nr.$on("dragstart",Qr),Nr.$on("dragover",function(){is_function(zr[6](zr[23],zr[26]))&&zr[6](zr[23],zr[26]).apply(this,arguments)}),Nr.$on("iconClick",Yr),Nr.$on("drop",zr[9]),Nr.$on("mouseenter",Xr),Nr.$on("mouseleave",zr[19]);let Zr=zr[24]&&create_if_block$1K(zr);function Kr(){return zr[20](zr[23])}return{key:Br,first:null,c(){Dr=element("li"),create_component(Nr.$$.fragment),Hr=space$1(),Zr&&Zr.c(),Vr=space$1(),attr(Dr,"id",Ur=`component-${zr[23]._id}`),attr(Dr,"class","svelte-76gs04"),this.first=Dr},m(Jr,eo){insert$1(Jr,Dr,eo),mount_component(Nr,Dr,null),append$2(Dr,Hr),Zr&&Zr.m(Dr,null),append$2(Dr,Vr),jr=!0,Wr||(Gr=listen(Dr,"click",stop_propagation(Kr)),Wr=!0)},p(Jr,eo){zr=Jr;const no={};eo&20&&(no.hovering=zr[4].componentId===zr[23]._id),eo&4&&(no.text=getComponentText(zr[23])),eo&4&&(no.icon=zr[7](zr[23])),eo&4&&(no.iconTooltip=getComponentName(zr[23])),eo&4&&(no.withArrow=zr[8](zr[23])),eo&1&&(no.indentLevel=zr[0]),eo&6&&(no.selected=zr[1].selectedComponentId===zr[23]._id),eo&12&&(no.opened=zr[24]),eo&4&&(no.highlighted=zr[11](zr[23])),eo&36&&(no.selectedBy=zr[5][zr[23]._id]),eo&134217740&&(no.$$scope={dirty:eo,ctx:zr}),Nr.$set(no),zr[24]?Zr?(Zr.p(zr,eo),eo&12&&transition_in(Zr,1)):(Zr=create_if_block$1K(zr),Zr.c(),transition_in(Zr,1),Zr.m(Dr,Vr)):Zr&&(group_outros(),transition_out(Zr,1,1,()=>{Zr=null}),check_outros()),(!jr||eo&4&&Ur!==(Ur=`component-${zr[23]._id}`))&&attr(Dr,"id",Ur)},i(Jr){jr||(transition_in(Nr.$$.fragment,Jr),transition_in(Zr),jr=!0)},o(Jr){transition_out(Nr.$$.fragment,Jr),transition_out(Zr),jr=!1},d(Jr){Jr&&detach(Dr),destroy_component(Nr),Zr&&Zr.d(),Wr=!1,Gr()}}}function create_fragment$3c(Br){let zr,Dr=[],Nr=new Map,Hr,Vr=ensure_array_like(Br[2]||[]);const Ur=jr=>jr[23]._id;for(let jr=0;jr<Vr.length;jr+=1){let Wr=get_each_context$D(Br,Vr,jr),Gr=Ur(Wr);Nr.set(Gr,Dr[jr]=create_each_block$D(Gr,Wr))}return{c(){zr=element("ul");for(let jr=0;jr<Dr.length;jr+=1)Dr[jr].c();attr(zr,"class","svelte-76gs04")},m(jr,Wr){insert$1(jr,zr,Wr);for(let Gr=0;Gr<Dr.length;Gr+=1)Dr[Gr]&&Dr[Gr].m(zr,null);Hr=!0},p(jr,[Wr]){Wr&16383&&(Vr=ensure_array_like(jr[2]||[]),group_outros(),Dr=update_keyed_each(Dr,Wr,Ur,1,jr,Vr,Nr,zr,outro_and_destroy_block,create_each_block$D,null,get_each_context$D),check_outros())},i(jr){if(!Hr){for(let Wr=0;Wr<Vr.length;Wr+=1)transition_in(Dr[Wr]);Hr=!0}},o(jr){for(let Wr=0;Wr<Dr.length;Wr+=1)transition_out(Dr[Wr]);Hr=!1},d(jr){jr&&detach(zr);for(let Wr=0;Wr<Dr.length;Wr+=1)Dr[Wr].d()}}}function instance$3j(Br,zr,Dr){let Nr,Hr,Vr,Ur,jr,Wr,Gr;component_subscribe(Br,selectedComponent,So=>Dr(21,Vr=So)),component_subscribe(Br,componentStore,So=>Dr(1,Ur=So)),component_subscribe(Br,componentTreeNodesStore,So=>Dr(15,jr=So)),component_subscribe(Br,hoverStore,So=>Dr(4,Wr=So)),component_subscribe(Br,userSelectedResourceMap,So=>Dr(5,Gr=So));let{components:Qr=[]}=zr,{level:Yr=0}=zr;const Xr=(So,ko)=>To=>{const Eo=To.offsetY/To.currentTarget.offsetHeight;return dndStore.actions.dragover({component:So,index:ko,mousePosition:Eo}),!1},Zr=So=>{const ko=componentStore.getDefinition(So==null?void 0:So._component);return ko==null?void 0:ko.icon},Kr=So=>{const ko=componentStore.getDefinition(So==null?void 0:So._component);return ko==null?void 0:ko.hasChildren},Jr=So=>{var ko;return Kr(So)&&((ko=So._children)==null?void 0:ko.length)},eo=async So=>{So.stopPropagation();try{await dndStore.actions.drop()}catch(ko){notifications.error(ko||"Error saving component")}},no=So=>{var ko;return(ko=So==null?void 0:So._children)!=null&&ko.length?componentTreeNodesStore.isNodeExpanded(So._id):!1},io=So=>{var Eo,Oo,yo;const ko=(Eo=get_store_value(selectedComponent))==null?void 0:Eo._id,To=(Oo=get_store_value(selectedScreen))==null?void 0:Oo.props._id;return!ko||ko===To?!1:((yo=findComponentPath(Vr,So._id))==null?void 0:yo.length)>0},so=So=>{componentStore.select(So),componentTreeNodesStore.toggleNode(So)},ao=hoverStore.hover,fo=So=>dndStore.actions.dragstart(So),po=So=>so(So._id),go=So=>ao(So._id),$o=()=>ao(null),vo=So=>{componentStore.select(So._id)};return Br.$$set=So=>{"components"in So&&Dr(14,Qr=So.components),"level"in So&&Dr(0,Yr=So.level)},Br.$$.update=()=>{Br.$$.dirty&32768&&Dr(3,Nr=jr),Br.$$.dirty&16386&&Dr(2,Hr=Qr==null?void 0:Qr.filter(So=>{var ko,To;return!((ko=Ur.componentToPaste)!=null&&ko.isCut)||So._id!==((To=Ur.componentToPaste)==null?void 0:To._id)}))},[Yr,Ur,Hr,Nr,Wr,Gr,Xr,Zr,Jr,eo,no,io,so,ao,Qr,jr,fo,po,go,$o,vo]}class ComponentTree extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3j,create_fragment$3c,safe_not_equal,{components:14,level:0})}}const ScreenslotDropdownMenu_svelte_svelte_type_style_lang="";function create_if_block$1J(Br){let zr,Dr;return zr=new ActionMenu({props:{$$slots:{control:[create_control_slot$7],default:[create_default_slot$2b]},$$scope:{ctx:Br}}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&514&&(Vr.$$scope={dirty:Hr,ctx:Nr}),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_default_slot_2$1o(Br){let zr;return{c(){zr=text("Copy")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_1$1O(Br){let zr;return{c(){zr=text("Paste")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot$2b(Br){let zr,Dr,Nr,Hr;return zr=new Item$1({props:{icon:"Copy",keyBind:"Ctrl+C",$$slots:{default:[create_default_slot_2$1o]},$$scope:{ctx:Br}}}),zr.$on("click",Br[7]),Nr=new Item$1({props:{icon:"LayersSendToBack",keyBind:"Ctrl+V",disabled:Br[1],$$slots:{default:[create_default_slot_1$1O]},$$scope:{ctx:Br}}}),Nr.$on("click",Br[8]),{c(){create_component(zr.$$.fragment),Dr=space$1(),create_component(Nr.$$.fragment)},m(Vr,Ur){mount_component(zr,Vr,Ur),insert$1(Vr,Dr,Ur),mount_component(Nr,Vr,Ur),Hr=!0},p(Vr,Ur){const jr={};Ur&512&&(jr.$$scope={dirty:Ur,ctx:Vr}),zr.$set(jr);const Wr={};Ur&2&&(Wr.disabled=Vr[1]),Ur&512&&(Wr.$$scope={dirty:Ur,ctx:Vr}),Nr.$set(Wr)},i(Vr){Hr||(transition_in(zr.$$.fragment,Vr),transition_in(Nr.$$.fragment,Vr),Hr=!0)},o(Vr){transition_out(zr.$$.fragment,Vr),transition_out(Nr.$$.fragment,Vr),Hr=!1},d(Vr){Vr&&detach(Dr),destroy_component(zr,Vr),destroy_component(Nr,Vr)}}}function create_control_slot$7(Br){let zr,Dr,Nr;return Dr=new Icon({props:{size:"S",hoverable:!0,name:"MoreSmallList"}}),{c(){zr=element("div"),create_component(Dr.$$.fragment),attr(zr,"slot","control"),attr(zr,"class","icon svelte-u6s22l")},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},p:noop$6,i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function create_fragment$3b(Br){let zr,Dr,Nr=Br[0]&&create_if_block$1J(Br);return{c(){Nr&&Nr.c(),zr=empty$2()},m(Hr,Vr){Nr&&Nr.m(Hr,Vr),insert$1(Hr,zr,Vr),Dr=!0},p(Hr,[Vr]){Hr[0]?Nr?(Nr.p(Hr,Vr),Vr&1&&transition_in(Nr,1)):(Nr=create_if_block$1J(Hr),Nr.c(),transition_in(Nr,1),Nr.m(zr.parentNode,zr)):Nr&&(group_outros(),transition_out(Nr,1,1,()=>{Nr=null}),check_outros())},i(Hr){Dr||(transition_in(Nr),Dr=!0)},o(Hr){transition_out(Nr),Dr=!1},d(Hr){Hr&&detach(zr),Nr&&Nr.d(Hr)}}}function instance$3i(Br,zr,Dr){let Nr,Hr,Vr,Ur;component_subscribe(Br,componentStore,Xr=>Dr(6,Ur=Xr));let{component:jr}=zr;const Wr=(Xr=!1)=>{componentStore.copy(jr,Xr)},Gr=Xr=>{try{componentStore.paste(jr,Xr)}catch{notifications.error("Error saving component")}},Qr=()=>Wr(!1),Yr=()=>Gr("inside");return Br.$$set=Xr=>{"component"in Xr&&Dr(4,jr=Xr.component)},Br.$$.update=()=>{Br.$$.dirty&16&&Dr(5,Nr=componentStore.getDefinition(jr==null?void 0:jr._component)),Br.$$.dirty&64&&Dr(1,Hr=!Ur.componentToPaste),Br.$$.dirty&32&&Dr(0,Vr=(Nr==null?void 0:Nr.editable)!==!1&&(Nr==null?void 0:Nr.static)!==!0)},[Vr,Hr,Wr,Gr,jr,Nr,Ur,Qr,Yr]}class ScreenslotDropdownMenu extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3i,create_fragment$3b,safe_not_equal,{component:4})}}const DNDPositionIndicator_svelte_svelte_type_style_lang="";function create_if_block$1I(Br){let zr,Dr;return{c(){zr=element("div"),attr(zr,"class","indicator svelte-9uy3y5"),set_style(zr,"--x",Br[2]+"px"),set_style(zr,"--y",Br[3]+"px"),set_style(zr,"--width",Br[4]+"px"),set_style(zr,"--height",Br[5]+"px"),toggle_class(zr,"above",Br[1]===DropPosition.ABOVE),toggle_class(zr,"below",Br[1]===DropPosition.BELOW),toggle_class(zr,"inside",Br[1]===DropPosition.INSIDE)},m(Nr,Hr){insert$1(Nr,zr,Hr)},p(Nr,Hr){Hr&4&&set_style(zr,"--x",Nr[2]+"px"),Hr&8&&set_style(zr,"--y",Nr[3]+"px"),Hr&16&&set_style(zr,"--width",Nr[4]+"px"),Hr&32&&set_style(zr,"--height",Nr[5]+"px"),Hr&2&&toggle_class(zr,"above",Nr[1]===DropPosition.ABOVE),Hr&2&&toggle_class(zr,"below",Nr[1]===DropPosition.BELOW),Hr&2&&toggle_class(zr,"inside",Nr[1]===DropPosition.INSIDE)},i(Nr){Nr&&(Dr||add_render_callback(()=>{Dr=create_in_transition(zr,fade,{duration:130}),Dr.start()}))},o:noop$6,d(Nr){Nr&&detach(zr)}}}function create_fragment$3a(Br){let zr,Dr=Br[0]&&Br[1]&&create_if_block$1I(Br);return{c(){Dr&&Dr.c(),zr=empty$2()},m(Nr,Hr){Dr&&Dr.m(Nr,Hr),insert$1(Nr,zr,Hr)},p(Nr,[Hr]){Nr[0]&&Nr[1]?Dr?(Dr.p(Nr,Hr),Hr&3&&transition_in(Dr,1)):(Dr=create_if_block$1I(Nr),Dr.c(),transition_in(Dr,1),Dr.m(zr.parentNode,zr)):Dr&&(Dr.d(1),Dr=null)},i(Nr){transition_in(Dr)},o:noop$6,d(Nr){Nr&&detach(zr),Dr&&Dr.d(Nr)}}}function instance$3h(Br,zr,Dr){let{component:Nr}=zr,{position:Hr}=zr,Vr,Ur,jr,Wr;const Gr=Qr=>{var Zr;const Yr=document.getElementById(`component-${Qr==null?void 0:Qr._id}`),Xr=(Zr=Yr==null?void 0:Yr.children[0])==null?void 0:Zr.children[0];Yr&&(Dr(2,Vr=Xr.offsetLeft),Dr(3,Ur=Xr.offsetTop),Dr(4,jr=Xr.clientWidth),Dr(5,Wr=Xr.clientHeight))};return Br.$$set=Qr=>{"component"in Qr&&Dr(0,Nr=Qr.component),"position"in Qr&&Dr(1,Hr=Qr.position)},Br.$$.update=()=>{Br.$$.dirty&1&&Gr(Nr)},[Nr,Hr,Vr,Ur,jr,Wr]}class DNDPositionIndicator extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3h,create_fragment$3a,safe_not_equal,{component:0,position:1})}}function create_fragment$39(Br){var jr,Wr;let zr,Dr,Nr,Hr,Vr={title:"Confirm Deletion",body:`Are you sure you want to delete "${(jr=Br[2])==null?void 0:jr._instanceName}"?`,okText:"Delete Component",onOk:Br[4]};zr=new ConfirmDialog({props:Vr}),Br[5](zr);let Ur={title:"Eject block",body:`Ejecting a block breaks it down into multiple components and cannot be undone. Are you sure you want to eject "${(Wr=Br[3])==null?void 0:Wr._instanceName}"?`,onOk:Br[6],okText:"Eject block"};return Nr=new ConfirmDialog({props:Ur}),Br[7](Nr),{c(){create_component(zr.$$.fragment),Dr=space$1(),create_component(Nr.$$.fragment)},m(Gr,Qr){mount_component(zr,Gr,Qr),insert$1(Gr,Dr,Qr),mount_component(Nr,Gr,Qr),Hr=!0},p(Gr,[Qr]){var Zr,Kr;const Yr={};Qr&4&&(Yr.body=`Are you sure you want to delete "${(Zr=Gr[2])==null?void 0:Zr._instanceName}"?`),Qr&4&&(Yr.onOk=Gr[4]),zr.$set(Yr);const Xr={};Qr&8&&(Xr.body=`Ejecting a block breaks it down into multiple components and cannot be undone. Are you sure you want to eject "${(Kr=Gr[3])==null?void 0:Kr._instanceName}"?`),Qr&8&&(Xr.onOk=Gr[6]),Nr.$set(Xr)},i(Gr){Hr||(transition_in(zr.$$.fragment,Gr),transition_in(Nr.$$.fragment,Gr),Hr=!0)},o(Gr){transition_out(zr.$$.fragment,Gr),transition_out(Nr.$$.fragment,Gr),Hr=!1},d(Gr){Gr&&detach(Dr),Br[5](null),destroy_component(zr,Gr),Br[7](null),destroy_component(Nr,Gr)}}}function instance$3g(Br,zr,Dr){let Nr,Hr,Vr,Ur,jr;component_subscribe(Br,selectedScreen,ao=>Dr(8,Nr=ao)),component_subscribe(Br,selectedComponent,ao=>Dr(9,Hr=ao)),component_subscribe(Br,componentStore,ao=>Dr(10,Vr=ao)),component_subscribe(Br,goto,ao=>Dr(11,Ur=ao)),component_subscribe(Br,isActive,ao=>Dr(12,jr=ao));let Wr,Gr,Qr,Yr;const Xr={"Ctrl+ArrowUp":async ao=>{await componentStore.moveUp(ao)},"Ctrl+ArrowDown":async ao=>{await componentStore.moveDown(ao)},"Ctrl+c":ao=>{componentStore.copy(ao,!1)},"Ctrl+x":ao=>{componentStore.copy(ao,!0)},"Ctrl+v":async ao=>{await componentStore.paste(ao,"inside")},"Ctrl+d":async ao=>{componentStore.copy(ao),await componentStore.paste(ao,"below")},"Ctrl+e":ao=>{const fo=componentStore.getDefinition(ao._component),po=(fo==null?void 0:fo.block)===!0,go=(fo==null?void 0:fo.ejectable)!==!1;po&&go&&(Dr(3,Yr=ao),Gr.show())},"Ctrl+Enter":()=>{Ur("./:componentId/new")},Delete:ao=>{if((ao==null?void 0:ao._id)===Nr.props._id)return!1;Dr(2,Qr=ao),Wr.show()},ArrowUp:()=>{componentStore.selectPrevious()},ArrowDown:()=>{componentStore.selectNext()},ArrowRight:ao=>{componentTreeNodesStore.expandNodes([ao._id])},ArrowLeft:ao=>{componentStore.select(ao._id),componentTreeNodesStore.collapseNodes([ao._id])},"Ctrl+ArrowRight":ao=>{const fo=getChildIdsForComponent(ao);componentTreeNodesStore.expandNodes(fo)},"Ctrl+ArrowLeft":ao=>{componentStore.select(ao._id);const fo=getChildIdsForComponent(ao);componentTreeNodesStore.collapseNodes(fo)},Escape:()=>{jr("./:componentId/new")&&Ur(`./${Vr.selectedComponentId}`)}},Zr=async({event:ao,component:fo,key:po,ctrlKey:go=!1,shiftKey:$o=!1})=>{if(!fo||!po)return!1;try{po==="Backspace"&&(po="Delete"),$o&&(po="Shift+"+po),go&&(po="Ctrl+"+po);const vo=Xr[po];return vo?(ao&&po!=="Escape"&&(ao.preventDefault(),ao.stopPropagation()),await vo(fo)):!1}catch(vo){notifications.error(vo||"Error handling key press")}},Kr=async ao=>{var go,$o,vo;if(ao.repeat)return;const fo=(go=document.activeElement)==null?void 0:go.tagName.toLowerCase();if(!(((vo=($o=document.activeElement)==null?void 0:$o.classList)!=null&&vo.contains("cm-content")||["input","textarea"].indexOf(fo)!==-1)&&ao.key!=="Escape"))return await Zr({event:ao,component:Hr,key:ao.key,ctrlKey:ao.ctrlKey||ao.metaKey,shiftKey:ao.shiftKey})},Jr=async ao=>{const{id:fo,key:po,ctrlKey:go,shiftKey:$o}=ao.detail,vo=findComponent(Nr.props,fo);return await Zr({event:null,component:vo,key:po,ctrlKey:go,shiftKey:$o})};onMount(()=>(document.addEventListener("keydown",Kr),document.addEventListener("component-menu",Jr),()=>{document.removeEventListener("keydown",Kr),document.removeEventListener("component-menu",Jr)}));const eo=()=>componentStore.delete(Qr);function no(ao){binding_callbacks[ao?"unshift":"push"](()=>{Wr=ao,Dr(0,Wr)})}const io=()=>componentStore.requestEjectBlock(Yr==null?void 0:Yr._id);function so(ao){binding_callbacks[ao?"unshift":"push"](()=>{Gr=ao,Dr(1,Gr)})}return[Wr,Gr,Qr,Yr,eo,no,io,so]}class ComponentKeyHandler extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3g,create_fragment$39,safe_not_equal,{})}}const ComponentScrollWrapper_svelte_svelte_type_style_lang="";function create_fragment$38(Br){let zr,Dr,Nr,Hr;const Vr=Br[3].default,Ur=create_slot(Vr,Br,Br[2],null);return{c(){zr=element("div"),Ur&&Ur.c(),attr(zr,"ondragover","return false"),attr(zr,"ondragenter","return false"),attr(zr,"class","svelte-i1q9g5")},m(jr,Wr){insert$1(jr,zr,Wr),Ur&&Ur.m(zr,null),Br[5](zr),Dr=!0,Nr||(Hr=[listen(zr,"scroll",Br[4]),listen(zr,"drop",Br[1])],Nr=!0)},p(jr,[Wr]){Ur&&Ur.p&&(!Dr||Wr&4)&&update_slot_base(Ur,Vr,jr,jr[2],Dr?get_slot_changes(Vr,jr[2],Wr,null):get_all_dirty_from_scope(jr[2]),null)},i(jr){Dr||(transition_in(Ur,jr),Dr=!0)},o(jr){transition_out(Ur,jr),Dr=!1},d(jr){jr&&detach(zr),Ur&&Ur.d(jr),Br[5](null),Nr=!1,run_all(Hr)}}}function instance$3f(Br,zr,Dr){let{$$slots:Nr={},$$scope:Hr}=zr,Vr;setContext("scroll",{scrollTo:Qr=>{if(!Qr)return;const Yr=310,Xr=32,{scrollLeft:Zr,scrollTop:Kr,offsetHeight:Jr}=Vr;let eo=Vr.getBoundingClientRect(),no={};const io=Qr.left+Qr.width+Zr+16;io>Yr?no.left=io-Yr:no.left=0,no.left===Zr&&delete no.left;const so=Qr.top-(eo==null?void 0:eo.top)+Kr;so>Kr+Jr-2*Xr?no.top=so-Jr+2*Xr:so<Kr+Xr?no.top=so-Xr:delete no.top,!(no.left==null&&no.top==null)&&Vr.scroll({...no,behavior:"smooth"})}});const jr=async()=>{try{await dndStore.actions.drop()}catch(Qr){console.error(Qr),notifications.error("Error saving component")}};function Wr(Qr){bubble.call(this,Br,Qr)}function Gr(Qr){binding_callbacks[Qr?"unshift":"push"](()=>{Vr=Qr,Dr(0,Vr)})}return Br.$$set=Qr=>{"$$scope"in Qr&&Dr(2,Hr=Qr.$$scope)},[Vr,jr,Hr,Nr,Wr,Gr]}class ComponentScrollWrapper extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3f,create_fragment$38,safe_not_equal,{})}}const index_svelte_svelte_type_style_lang$g="";function create_default_slot_2$1n(Br){let zr;return{c(){zr=text("Components")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_1$1N(Br){var Nr;let zr,Dr;return zr=new ScreenslotDropdownMenu({props:{component:(Nr=Br[7])==null?void 0:Nr.props}}),{c(){create_component(zr.$$.fragment)},m(Hr,Vr){mount_component(zr,Hr,Vr),Dr=!0},p(Hr,Vr){var jr;const Ur={};Vr&128&&(Ur.component=(jr=Hr[7])==null?void 0:jr.props),zr.$set(Ur)},i(Hr){Dr||(transition_in(zr.$$.fragment,Hr),Dr=!0)},o(Hr){transition_out(zr.$$.fragment,Hr),Dr=!1},d(Hr){destroy_component(zr,Hr)}}}function create_if_block$1H(Br){let zr,Dr,Nr,Hr;zr=new DNDPositionIndicator({props:{component:Br[8].target,position:Br[8].dropPosition}});let Vr=Br[8].dropPosition!==DropPosition.INSIDE&&create_if_block_1$V(Br);return{c(){create_component(zr.$$.fragment),Dr=space$1(),Vr&&Vr.c(),Nr=empty$2()},m(Ur,jr){mount_component(zr,Ur,jr),insert$1(Ur,Dr,jr),Vr&&Vr.m(Ur,jr),insert$1(Ur,Nr,jr),Hr=!0},p(Ur,jr){const Wr={};jr&256&&(Wr.component=Ur[8].target),jr&256&&(Wr.position=Ur[8].dropPosition),zr.$set(Wr),Ur[8].dropPosition!==DropPosition.INSIDE?Vr?(Vr.p(Ur,jr),jr&256&&transition_in(Vr,1)):(Vr=create_if_block_1$V(Ur),Vr.c(),transition_in(Vr,1),Vr.m(Nr.parentNode,Nr)):Vr&&(group_outros(),transition_out(Vr,1,1,()=>{Vr=null}),check_outros())},i(Ur){Hr||(transition_in(zr.$$.fragment,Ur),transition_in(Vr),Hr=!0)},o(Ur){transition_out(zr.$$.fragment,Ur),transition_out(Vr),Hr=!1},d(Ur){Ur&&(detach(Dr),detach(Nr)),destroy_component(zr,Ur),Vr&&Vr.d(Ur)}}}function create_if_block_1$V(Br){let zr,Dr;return zr=new DNDPositionIndicator({props:{component:Br[8].targetParent,position:DropPosition.INSIDE}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&256&&(Vr.component=Nr[8].targetParent),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_default_slot$2a(Br){var Yr,Xr;let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr;Nr=new NavItem$1({props:{text:"Screen",indentLevel:0,selected:Br[4].selectedComponentId===`${Br[0].selectedScreenId}-screen`,opened:!0,scrollable:!0,icon:"WebPage",hovering:Br[5].componentId===Br[3],id:"component-screen",selectedBy:Br[6][Br[3]],$$slots:{default:[create_default_slot_1$1N]},$$scope:{ctx:Br}}}),Nr.$on("drop",Br[10]),Nr.$on("click",Br[13]),Nr.$on("mouseenter",Br[14]),Nr.$on("mouseleave",Br[15]),Vr=new NavItem$1({props:{text:"Navigation",indentLevel:0,selected:Br[4].selectedComponentId===Br[2],opened:!0,scrollable:!0,icon:(Yr=Br[7])!=null&&Yr.showNavigation?"Visibility":"VisibilityOff",hovering:Br[5].componentId===Br[2],id:"component-nav",selectedBy:Br[6][Br[2]]}}),Vr.$on("drop",Br[10]),Vr.$on("click",Br[16]),Vr.$on("mouseenter",Br[17]),Vr.$on("mouseleave",Br[18]),jr=new ComponentTree({props:{level:0,components:(Xr=Br[7])==null?void 0:Xr.props._children}});let Qr=Br[8].dragging&&Br[8].valid&&create_if_block$1H(Br);return{c(){zr=element("ul"),Dr=element("li"),create_component(Nr.$$.fragment),Hr=space$1(),create_component(Vr.$$.fragment),Ur=space$1(),create_component(jr.$$.fragment),Wr=space$1(),Qr&&Qr.c(),attr(Dr,"class","svelte-2glawg"),attr(zr,"class","svelte-2glawg")},m(Zr,Kr){insert$1(Zr,zr,Kr),append$2(zr,Dr),mount_component(Nr,Dr,null),append$2(Dr,Hr),mount_component(Vr,Dr,null),append$2(Dr,Ur),mount_component(jr,Dr,null),append$2(Dr,Wr),Qr&&Qr.m(Dr,null),Gr=!0},p(Zr,Kr){var io,so;const Jr={};Kr&17&&(Jr.selected=Zr[4].selectedComponentId===`${Zr[0].selectedScreenId}-screen`),Kr&40&&(Jr.hovering=Zr[5].componentId===Zr[3]),Kr&72&&(Jr.selectedBy=Zr[6][Zr[3]]),Kr&2097280&&(Jr.$$scope={dirty:Kr,ctx:Zr}),Nr.$set(Jr);const eo={};Kr&20&&(eo.selected=Zr[4].selectedComponentId===Zr[2]),Kr&128&&(eo.icon=(io=Zr[7])!=null&&io.showNavigation?"Visibility":"VisibilityOff"),Kr&36&&(eo.hovering=Zr[5].componentId===Zr[2]),Kr&68&&(eo.selectedBy=Zr[6][Zr[2]]),Vr.$set(eo);const no={};Kr&128&&(no.components=(so=Zr[7])==null?void 0:so.props._children),jr.$set(no),Zr[8].dragging&&Zr[8].valid?Qr?(Qr.p(Zr,Kr),Kr&256&&transition_in(Qr,1)):(Qr=create_if_block$1H(Zr),Qr.c(),transition_in(Qr,1),Qr.m(Dr,null)):Qr&&(group_outros(),transition_out(Qr,1,1,()=>{Qr=null}),check_outros())},i(Zr){Gr||(transition_in(Nr.$$.fragment,Zr),transition_in(Vr.$$.fragment,Zr),transition_in(jr.$$.fragment,Zr),transition_in(Qr),Gr=!0)},o(Zr){transition_out(Nr.$$.fragment,Zr),transition_out(Vr.$$.fragment,Zr),transition_out(jr.$$.fragment,Zr),transition_out(Qr),Gr=!1},d(Zr){Zr&&detach(zr),destroy_component(Nr),destroy_component(Vr),destroy_component(jr),Qr&&Qr.d()}}}function create_fragment$37(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr,Xr,Zr,Kr;return Nr=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1n]},$$scope:{ctx:Br}}}),Ur=new Icon({props:{name:"Add"}}),Gr=new ComponentScrollWrapper({props:{$$slots:{default:[create_default_slot$2a]},$$scope:{ctx:Br}}}),Gr.$on("scroll",Br[11]),Yr=new ComponentKeyHandler({}),{c(){zr=element("div"),Dr=element("div"),create_component(Nr.$$.fragment),Hr=space$1(),Vr=element("div"),create_component(Ur.$$.fragment),jr=space$1(),Wr=element("div"),create_component(Gr.$$.fragment),Qr=space$1(),create_component(Yr.$$.fragment),attr(Vr,"class","addButton svelte-2glawg"),attr(Dr,"class","header svelte-2glawg"),toggle_class(Dr,"scrolling",Br[1]),attr(Wr,"class","list-panel svelte-2glawg"),attr(zr,"class","components svelte-2glawg")},m(Jr,eo){insert$1(Jr,zr,eo),append$2(zr,Dr),mount_component(Nr,Dr,null),append$2(Dr,Hr),append$2(Dr,Vr),mount_component(Ur,Vr,null),append$2(zr,jr),append$2(zr,Wr),mount_component(Gr,Wr,null),append$2(zr,Qr),mount_component(Yr,zr,null),Xr=!0,Zr||(Kr=listen(Vr,"click",Br[9]),Zr=!0)},p(Jr,[eo]){const no={};eo&2097152&&(no.$$scope={dirty:eo,ctx:Jr}),Nr.$set(no),(!Xr||eo&2)&&toggle_class(Dr,"scrolling",Jr[1]);const io={};eo&2097661&&(io.$$scope={dirty:eo,ctx:Jr}),Gr.$set(io)},i(Jr){Xr||(transition_in(Nr.$$.fragment,Jr),transition_in(Ur.$$.fragment,Jr),transition_in(Gr.$$.fragment,Jr),transition_in(Yr.$$.fragment,Jr),Xr=!0)},o(Jr){transition_out(Nr.$$.fragment,Jr),transition_out(Ur.$$.fragment,Jr),transition_out(Gr.$$.fragment,Jr),transition_out(Yr.$$.fragment,Jr),Xr=!1},d(Jr){Jr&&detach(zr),destroy_component(Nr),destroy_component(Ur),destroy_component(Gr),destroy_component(Yr),Zr=!1,Kr()}}}function instance$3e(Br,zr,Dr){let Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr,Xr;component_subscribe(Br,goto,$o=>Dr(19,Vr=$o)),component_subscribe(Br,isActive,$o=>Dr(20,Ur=$o)),component_subscribe(Br,screenStore,$o=>Dr(0,jr=$o)),component_subscribe(Br,componentStore,$o=>Dr(4,Wr=$o)),component_subscribe(Br,hoverStore,$o=>Dr(5,Gr=$o)),component_subscribe(Br,userSelectedResourceMap,$o=>Dr(6,Qr=$o)),component_subscribe(Br,selectedScreen,$o=>Dr(7,Yr=$o)),component_subscribe(Br,dndStore,$o=>Dr(8,Xr=$o));let Zr=!1;const Kr=()=>{Ur("./:componentId/new")?Vr("./:componentId"):Vr("./:componentId/new")},Jr=async()=>{try{await dndStore.actions.drop()}catch($o){console.error($o),notifications.error("Error saving component")}},eo=$o=>{Dr(1,Zr=$o.target.scrollTop!==0)},no=hoverStore.hover,io=()=>{componentStore.select(`${jr.selectedScreenId}-screen`)},so=()=>no(Nr),ao=()=>no(null),fo=()=>{componentStore.select(`${jr.selectedScreenId}-navigation`)},po=()=>no(Hr),go=()=>no(null);return Br.$$.update=()=>{Br.$$.dirty&1&&Dr(3,Nr=`${jr.selectedScreenId}-screen`),Br.$$.dirty&1&&Dr(2,Hr=`${jr.selectedScreenId}-navigation`)},[jr,Zr,Hr,Nr,Wr,Gr,Qr,Yr,Xr,Kr,Jr,eo,no,io,so,ao,fo,po,go]}class ComponentList extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3e,create_fragment$37,safe_not_equal,{})}}const LeftPanel_svelte_svelte_type_style_lang="";function create_fragment$36(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr;return Nr=new ScreenList({}),Vr=new ComponentList({}),{c(){zr=element("div"),Dr=element("div"),create_component(Nr.$$.fragment),Hr=space$1(),create_component(Vr.$$.fragment),Ur=space$1(),jr=element("div"),Wr=element("div"),attr(Dr,"class","content svelte-16o68d1"),attr(Wr,"class","dividerClickExtender svelte-16o68d1"),attr(Wr,"role","separator"),attr(jr,"class","divider svelte-16o68d1"),attr(zr,"class","panel svelte-16o68d1")},m(Xr,Zr){insert$1(Xr,zr,Zr),append$2(zr,Dr),mount_component(Nr,Dr,null),append$2(Dr,Hr),mount_component(Vr,Dr,null),append$2(zr,Ur),append$2(zr,jr),append$2(jr,Wr),Gr=!0,Qr||(Yr=[action_destroyer(Br[1].call(null,Wr)),action_destroyer(Br[0].call(null,zr))],Qr=!0)},p:noop$6,i(Xr){Gr||(transition_in(Nr.$$.fragment,Xr),transition_in(Vr.$$.fragment,Xr),Gr=!0)},o(Xr){transition_out(Nr.$$.fragment,Xr),transition_out(Vr.$$.fragment,Xr),Gr=!1},d(Xr){Xr&&detach(zr),destroy_component(Nr),destroy_component(Vr),Qr=!1,run_all(Yr)}}}function instance$3d(Br){const[zr,Dr]=getHorizontalResizeActions();return[zr,Dr]}class LeftPanel extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3d,create_fragment$36,safe_not_equal,{})}}const _layout_svelte_svelte_type_style_lang$5="";function create_if_block$1G(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr;Nr=new LeftPanel({}),Vr=new AppPanel({});const Wr=Br[2].default,Gr=create_slot(Wr,Br,Br[1],null);return{c(){zr=element("div"),Dr=element("div"),create_component(Nr.$$.fragment),Hr=space$1(),create_component(Vr.$$.fragment),Ur=space$1(),Gr&&Gr.c(),attr(Dr,"class","content svelte-10lfz3d"),attr(zr,"class","design svelte-10lfz3d")},m(Qr,Yr){insert$1(Qr,zr,Yr),append$2(zr,Dr),mount_component(Nr,Dr,null),append$2(Dr,Hr),mount_component(Vr,Dr,null),append$2(Dr,Ur),Gr&&Gr.m(Dr,null),jr=!0},p(Qr,Yr){Gr&&Gr.p&&(!jr||Yr&2)&&update_slot_base(Gr,Wr,Qr,Qr[1],jr?get_slot_changes(Wr,Qr[1],Yr,null):get_all_dirty_from_scope(Qr[1]),null)},i(Qr){jr||(transition_in(Nr.$$.fragment,Qr),transition_in(Vr.$$.fragment,Qr),transition_in(Gr,Qr),jr=!0)},o(Qr){transition_out(Nr.$$.fragment,Qr),transition_out(Vr.$$.fragment,Qr),transition_out(Gr,Qr),jr=!1},d(Qr){Qr&&detach(zr),destroy_component(Nr),destroy_component(Vr),Gr&&Gr.d(Qr)}}}function create_fragment$35(Br){let zr,Dr,Nr=Br[0]&&create_if_block$1G(Br);return{c(){Nr&&Nr.c(),zr=empty$2()},m(Hr,Vr){Nr&&Nr.m(Hr,Vr),insert$1(Hr,zr,Vr),Dr=!0},p(Hr,[Vr]){Hr[0]?Nr?(Nr.p(Hr,Vr),Vr&1&&transition_in(Nr,1)):(Nr=create_if_block$1G(Hr),Nr.c(),transition_in(Nr,1),Nr.m(zr.parentNode,zr)):Nr&&(group_outros(),transition_out(Nr,1,1,()=>{Nr=null}),check_outros())},i(Hr){Dr||(transition_in(Nr),Dr=!0)},o(Hr){transition_out(Nr),Dr=!1},d(Hr){Hr&&detach(zr),Nr&&Nr.d(Hr)}}}function instance$3c(Br,zr,Dr){let Nr,Hr;component_subscribe(Br,screenStore,Wr=>Dr(3,Nr=Wr)),component_subscribe(Br,selectedScreen,Wr=>Dr(0,Hr=Wr));let{$$slots:Vr={},$$scope:Ur}=zr;const jr=syncURLToState({urlParam:"screenId",stateKey:"selectedScreenId",validate:Wr=>Nr.screens.some(Gr=>Gr._id===Wr),fallbackUrl:"../../design",routify:routify$1,update:screenStore.select,store:screenStore});return onDestroy(jr),Br.$$set=Wr=>{"$$scope"in Wr&&Dr(1,Ur=Wr.$$scope)},[Hr,Ur,Vr]}let Layout$e=class extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3c,create_fragment$35,safe_not_equal,{})}};function instance$3b(Br,zr,Dr){let Nr,Hr;return component_subscribe(Br,redirect,Vr=>Dr(0,Nr=Vr)),component_subscribe(Br,screenStore,Vr=>Dr(1,Hr=Vr)),Br.$$.update=()=>{Br.$$.dirty&3&&(Hr.screens.length>0?Nr(`./${Hr.screens[0]._id}`):Nr("./new"))},[Nr,Hr]}class Design extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3b,null,safe_not_equal,{})}}const blankImage="/builder/assets/blank-2f241fb9.png",tableInline="/builder/assets/tableInline-1dc23483.png",tableDetails="/builder/assets/tableDetails-dbebe46b.png",formImage="/builder/assets/form-83c4d923.png",DatasourceTemplateRow_svelte_svelte_type_style_lang="";function create_if_block$1F(Br){let zr,Dr,Nr;return Dr=new Icon({props:{size:"S",name:"CheckmarkCircle"}}),{c(){zr=element("span"),create_component(Dr.$$.fragment),attr(zr,"class","data-source-check svelte-7abi2p")},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function create_fragment$34(Br){let zr,Dr,Nr,Hr=Br[0].label+"",Vr,Ur,jr,Wr,Gr;Dr=new Icon({props:{name:Br[2],color:"var(--spectrum-global-color-gray-600)"}});let Qr=Br[1]&&create_if_block$1F();return{c(){zr=element("div"),create_component(Dr.$$.fragment),Nr=space$1(),Vr=text(Hr),Ur=space$1(),Qr&&Qr.c(),attr(zr,"class","data-source-entry svelte-7abi2p"),toggle_class(zr,"selected",Br[1])},m(Yr,Xr){insert$1(Yr,zr,Xr),mount_component(Dr,zr,null),append$2(zr,Nr),append$2(zr,Vr),append$2(zr,Ur),Qr&&Qr.m(zr,null),jr=!0,Wr||(Gr=listen(zr,"click",Br[3]),Wr=!0)},p(Yr,[Xr]){const Zr={};Xr&4&&(Zr.name=Yr[2]),Dr.$set(Zr),(!jr||Xr&1)&&Hr!==(Hr=Yr[0].label+"")&&set_data(Vr,Hr),Yr[1]?Qr?Xr&2&&transition_in(Qr,1):(Qr=create_if_block$1F(),Qr.c(),transition_in(Qr,1),Qr.m(zr,null)):Qr&&(group_outros(),transition_out(Qr,1,1,()=>{Qr=null}),check_outros()),(!jr||Xr&2)&&toggle_class(zr,"selected",Yr[1])},i(Yr){jr||(transition_in(Dr.$$.fragment,Yr),transition_in(Qr),jr=!0)},o(Yr){transition_out(Dr.$$.fragment,Yr),transition_out(Qr),jr=!1},d(Yr){Yr&&detach(zr),destroy_component(Dr),Qr&&Qr.d(),Wr=!1,Gr()}}}function instance$3a(Br,zr,Dr){let Nr,{datasource:Hr}=zr,{selected:Vr=!1}=zr;function Ur(jr){bubble.call(this,Br,jr)}return Br.$$set=jr=>{"datasource"in jr&&Dr(0,Hr=jr.datasource),"selected"in jr&&Dr(1,Vr=jr.selected)},Br.$$.update=()=>{Br.$$.dirty&1&&Dr(2,Nr=Hr.type==="viewV2"?"Remove":"Table")},[Hr,Vr,Nr,Ur]}class DatasourceTemplateRow extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3a,create_fragment$34,safe_not_equal,{datasource:0,selected:1})}}const DatasourceModal_svelte_svelte_type_style_lang="";function get_each_context$C(Br,zr,Dr){const Nr=Br.slice();Nr[11]=zr[Dr];const Hr=Array.isArray(Nr[11].entities)?Nr[11].entities:Object.values(Nr[11].entities||{});return Nr[12]=Hr,Nr}function get_each_context_1$9(Br,zr,Dr){const Nr=Br.slice();Nr[15]=zr[Dr];const Hr=Object.values(Nr[15].views||{}).filter(jr=>jr.version===2);Nr[16]=Hr;const Vr={tableId:Nr[15]._id,label:Nr[15].name,resourceId:Nr[15]._id,type:"table"};Nr[17]=Vr;const Ur=Nr[1].find(function(...Wr){return Br[10](Nr[17],...Wr)});return Nr[18]=Ur,Nr}function get_each_context_2$4(Br,zr,Dr){const Nr=Br.slice();Nr[21]=zr[Dr];const Hr={label:Nr[21].name,id:Nr[21].id,resourceId:Nr[21].id,tableId:Nr[21].tableId,type:"viewV2"};Nr[22]=Hr;const Vr=Nr[1].find(function(...jr){return Br[9](Nr[22],...jr)});return Nr[18]=Vr,Nr}function create_default_slot_2$1m(Br){let zr;return{c(){zr=text("Select which datasources you would like to use to create your screens")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_each_block_2$4(Br){let zr,Dr;function Nr(){return Br[8](Br[22])}return zr=new DatasourceTemplateRow({props:{selected:Br[18],datasource:Br[22]}}),zr.$on("click",Nr),{c(){create_component(zr.$$.fragment)},m(Hr,Vr){mount_component(zr,Hr,Vr),Dr=!0},p(Hr,Vr){Br=Hr;const Ur={};Vr&6&&(Ur.selected=Br[18]),Vr&4&&(Ur.datasource=Br[22]),zr.$set(Ur)},i(Hr){Dr||(transition_in(zr.$$.fragment,Hr),Dr=!0)},o(Hr){transition_out(zr.$$.fragment,Hr),Dr=!1},d(Hr){destroy_component(zr,Hr)}}}function create_each_block_1$9(Br){let zr,Dr,Nr,Hr;function Vr(){return Br[7](Br[17])}zr=new DatasourceTemplateRow({props:{selected:Br[18],datasource:Br[17]}}),zr.$on("click",Vr);let Ur=ensure_array_like(Br[16]),jr=[];for(let Gr=0;Gr<Ur.length;Gr+=1)jr[Gr]=create_each_block_2$4(get_each_context_2$4(Br,Ur,Gr));const Wr=Gr=>transition_out(jr[Gr],1,1,()=>{jr[Gr]=null});return{c(){create_component(zr.$$.fragment),Dr=space$1();for(let Gr=0;Gr<jr.length;Gr+=1)jr[Gr].c();Nr=empty$2()},m(Gr,Qr){mount_component(zr,Gr,Qr),insert$1(Gr,Dr,Qr);for(let Yr=0;Yr<jr.length;Yr+=1)jr[Yr]&&jr[Yr].m(Gr,Qr);insert$1(Gr,Nr,Qr),Hr=!0},p(Gr,Qr){Br=Gr;const Yr={};if(Qr&6&&(Yr.selected=Br[18]),Qr&4&&(Yr.datasource=Br[17]),zr.$set(Yr),Qr&14){Ur=ensure_array_like(Br[16]);let Xr;for(Xr=0;Xr<Ur.length;Xr+=1){const Zr=get_each_context_2$4(Br,Ur,Xr);jr[Xr]?(jr[Xr].p(Zr,Qr),transition_in(jr[Xr],1)):(jr[Xr]=create_each_block_2$4(Zr),jr[Xr].c(),transition_in(jr[Xr],1),jr[Xr].m(Nr.parentNode,Nr))}for(group_outros(),Xr=Ur.length;Xr<jr.length;Xr+=1)Wr(Xr);check_outros()}},i(Gr){if(!Hr){transition_in(zr.$$.fragment,Gr);for(let Qr=0;Qr<Ur.length;Qr+=1)transition_in(jr[Qr]);Hr=!0}},o(Gr){transition_out(zr.$$.fragment,Gr),jr=jr.filter(Boolean);for(let Qr=0;Qr<jr.length;Qr+=1)transition_out(jr[Qr]);Hr=!1},d(Gr){Gr&&(detach(Dr),detach(Nr)),destroy_component(zr,Gr),destroy_each(jr,Gr)}}}function create_each_block$C(Br){let zr,Dr,Nr,Hr,Vr,Ur=Br[11].name+"",jr,Wr,Gr,Qr;var Yr=ICONS[Br[11].source];function Xr(eo,no){return{props:{height:"24",width:"24"}}}Yr&&(Nr=construct_svelte_component(Yr,Xr()));let Zr=ensure_array_like(Br[12].filter(func$b)),Kr=[];for(let eo=0;eo<Zr.length;eo+=1)Kr[eo]=create_each_block_1$9(get_each_context_1$9(Br,Zr,eo));const Jr=eo=>transition_out(Kr[eo],1,1,()=>{Kr[eo]=null});return{c(){zr=element("div"),Dr=element("div"),Nr&&create_component(Nr.$$.fragment),Hr=space$1(),Vr=element("div"),jr=text(Ur),Wr=space$1();for(let eo=0;eo<Kr.length;eo+=1)Kr[eo].c();Gr=space$1(),attr(Vr,"class","data-source-name"),attr(Dr,"class","data-source-header svelte-1tsbsfb"),attr(zr,"class","data-source-wrap svelte-1tsbsfb")},m(eo,no){insert$1(eo,zr,no),append$2(zr,Dr),Nr&&mount_component(Nr,Dr,null),append$2(Dr,Hr),append$2(Dr,Vr),append$2(Vr,jr),append$2(zr,Wr);for(let io=0;io<Kr.length;io+=1)Kr[io]&&Kr[io].m(zr,null);append$2(zr,Gr),Qr=!0},p(eo,no){if(no&4&&Yr!==(Yr=ICONS[eo[11].source])){if(Nr){group_outros();const io=Nr;transition_out(io.$$.fragment,1,0,()=>{destroy_component(io,1)}),check_outros()}Yr?(Nr=construct_svelte_component(Yr,Xr()),create_component(Nr.$$.fragment),transition_in(Nr.$$.fragment,1),mount_component(Nr,Dr,Hr)):Nr=null}if((!Qr||no&4)&&Ur!==(Ur=eo[11].name+"")&&set_data(jr,Ur),no&14){Zr=ensure_array_like(eo[12].filter(func$b));let io;for(io=0;io<Zr.length;io+=1){const so=get_each_context_1$9(eo,Zr,io);Kr[io]?(Kr[io].p(so,no),transition_in(Kr[io],1)):(Kr[io]=create_each_block_1$9(so),Kr[io].c(),transition_in(Kr[io],1),Kr[io].m(zr,Gr))}for(group_outros(),io=Zr.length;io<Kr.length;io+=1)Jr(io);check_outros()}},i(eo){if(!Qr){Nr&&transition_in(Nr.$$.fragment,eo);for(let no=0;no<Zr.length;no+=1)transition_in(Kr[no]);Qr=!0}},o(eo){Nr&&transition_out(Nr.$$.fragment,eo),Kr=Kr.filter(Boolean);for(let no=0;no<Kr.length;no+=1)transition_out(Kr[no]);Qr=!1},d(eo){eo&&detach(zr),Nr&&destroy_component(Nr),destroy_each(Kr,eo)}}}function create_default_slot_1$1M(Br){let zr,Dr,Nr=ensure_array_like(Br[2]),Hr=[];for(let Ur=0;Ur<Nr.length;Ur+=1)Hr[Ur]=create_each_block$C(get_each_context$C(Br,Nr,Ur));const Vr=Ur=>transition_out(Hr[Ur],1,1,()=>{Hr[Ur]=null});return{c(){for(let Ur=0;Ur<Hr.length;Ur+=1)Hr[Ur].c();zr=empty$2()},m(Ur,jr){for(let Wr=0;Wr<Hr.length;Wr+=1)Hr[Wr]&&Hr[Wr].m(Ur,jr);insert$1(Ur,zr,jr),Dr=!0},p(Ur,jr){if(jr&14){Nr=ensure_array_like(Ur[2]);let Wr;for(Wr=0;Wr<Nr.length;Wr+=1){const Gr=get_each_context$C(Ur,Nr,Wr);Hr[Wr]?(Hr[Wr].p(Gr,jr),transition_in(Hr[Wr],1)):(Hr[Wr]=create_each_block$C(Gr),Hr[Wr].c(),transition_in(Hr[Wr],1),Hr[Wr].m(zr.parentNode,zr))}for(group_outros(),Wr=Nr.length;Wr<Hr.length;Wr+=1)Vr(Wr);check_outros()}},i(Ur){if(!Dr){for(let jr=0;jr<Nr.length;jr+=1)transition_in(Hr[jr]);Dr=!0}},o(Ur){Hr=Hr.filter(Boolean);for(let jr=0;jr<Hr.length;jr+=1)transition_out(Hr[jr]);Dr=!1},d(Ur){Ur&&detach(zr),destroy_each(Hr,Ur)}}}function create_default_slot$29(Br){let zr,Dr,Nr,Hr;return zr=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1m]},$$scope:{ctx:Br}}}),Nr=new Layout$n({props:{noPadding:!0,gap:"S",$$slots:{default:[create_default_slot_1$1M]},$$scope:{ctx:Br}}}),{c(){create_component(zr.$$.fragment),Dr=space$1(),create_component(Nr.$$.fragment)},m(Vr,Ur){mount_component(zr,Vr,Ur),insert$1(Vr,Dr,Ur),mount_component(Nr,Vr,Ur),Hr=!0},p(Vr,Ur){const jr={};Ur&33554432&&(jr.$$scope={dirty:Ur,ctx:Vr}),zr.$set(jr);const Wr={};Ur&33554438&&(Wr.$$scope={dirty:Ur,ctx:Vr}),Nr.$set(Wr)},i(Vr){Hr||(transition_in(zr.$$.fragment,Vr),transition_in(Nr.$$.fragment,Vr),Hr=!0)},o(Vr){transition_out(zr.$$.fragment,Vr),transition_out(Nr.$$.fragment,Vr),Hr=!1},d(Vr){Vr&&detach(Dr),destroy_component(zr,Vr),destroy_component(Nr,Vr)}}}function create_fragment$33(Br){let zr,Dr,Nr;return Dr=new ModalContent({props:{title:"Autogenerated screens",confirmText:"Confirm",cancelText:"Back",onConfirm:Br[4],onCancel:Br[0],disabled:!Br[1].length,size:"L",$$slots:{default:[create_default_slot$29]},$$scope:{ctx:Br}}}),{c(){zr=element("span"),create_component(Dr.$$.fragment)},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},p(Hr,[Vr]){const Ur={};Vr&1&&(Ur.onCancel=Hr[0]),Vr&2&&(Ur.disabled=!Hr[1].length),Vr&33554438&&(Ur.$$scope={dirty:Vr,ctx:Hr}),Dr.$set(Ur)},i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}const func$b=Br=>Br._id!=="ta_users";function instance$39(Br,zr,Dr){let Nr,Hr;component_subscribe(Br,datasources,Kr=>Dr(6,Hr=Kr));let{onCancel:Vr}=zr,{onConfirm:Ur}=zr,jr=[];const Wr=Kr=>{jr.find(eo=>eo.resourceId===Kr.resourceId)?Dr(1,jr=jr.filter(eo=>eo.resourceId===Kr.resourceId)):Dr(1,jr=[...jr,Kr])},Gr=async()=>{await Ur({datasources:jr})};onMount(async()=>{try{await datasources.fetch()}catch{notifications.error("Error fetching datasources")}});const Qr=Kr=>Wr(Kr),Yr=Kr=>Wr(Kr),Xr=(Kr,Jr)=>Jr.resourceId===Kr.resourceId,Zr=(Kr,Jr)=>Jr.resourceId===Kr.resourceId;return Br.$$set=Kr=>{"onCancel"in Kr&&Dr(0,Vr=Kr.onCancel),"onConfirm"in Kr&&Dr(5,Ur=Kr.onConfirm)},Br.$$.update=()=>{var Kr;Br.$$.dirty&64&&Dr(2,Nr=(Kr=Hr.list)==null?void 0:Kr.filter(Jr=>Jr.source!==IntegrationNames.REST&&Jr.entities))},[Vr,jr,Nr,Wr,Gr,Ur,Hr,Qr,Yr,Xr,Zr]}class DatasourceModal extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$39,create_fragment$33,safe_not_equal,{onCancel:0,onConfirm:5})}}function create_default_slot$28(Br){let zr,Dr,Nr,Hr;function Vr(jr){Br[9](jr)}let Ur={label:"Access",error:Br[4],getOptionLabel:func$a,getOptionValue:func_1$9,getOptionColour:Br[8],options:Br[5],placeholder:null};return Br[0]!==void 0&&(Ur.value=Br[0]),Dr=new Select_1$1({props:Ur}),binding_callbacks.push(()=>bind$2(Dr,"value",Vr)),Dr.$on("change",Br[6]),{c(){zr=text(`Select the level of access required to see these screens
1704
+ `,AppPreview_svelte_svelte_type_style_lang="";function create_if_block_1$X(Br){let zr,Dr,Nr;return Dr=new Layout$n({props:{justifyItems:"center",gap:"S",$$slots:{default:[create_default_slot_1$1S]},$$scope:{ctx:Br}}}),{c(){zr=element("div"),create_component(Dr.$$.fragment),attr(zr,"class","center error svelte-d65ule")},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},p(Hr,Vr){const Ur={};Vr[0]&64|Vr[1]&1&&(Ur.$$scope={dirty:Vr,ctx:Hr}),Dr.$set(Ur)},i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function create_if_block$1P(Br){var Vr;let zr,Dr,Nr,Hr;return Dr=new ClientAppSkeleton({props:{sideNav:((Vr=Br[1])==null?void 0:Vr.navigation)==="Left",hideFooter:!0,hideDevTools:!0}}),{c(){zr=element("div"),create_component(Dr.$$.fragment),attr(zr,"class",Nr=null_to_empty(`loading ${Br[3].baseTheme} ${Br[3].theme}`)+" svelte-d65ule"),toggle_class(zr,"tablet",Br[2].previewDevice==="tablet"),toggle_class(zr,"mobile",Br[2].previewDevice==="mobile")},m(Ur,jr){insert$1(Ur,zr,jr),mount_component(Dr,zr,null),Hr=!0},p(Ur,jr){var Gr;const Wr={};jr[0]&2&&(Wr.sideNav=((Gr=Ur[1])==null?void 0:Gr.navigation)==="Left"),Dr.$set(Wr),(!Hr||jr[0]&8&&Nr!==(Nr=null_to_empty(`loading ${Ur[3].baseTheme} ${Ur[3].theme}`)+" svelte-d65ule"))&&attr(zr,"class",Nr),(!Hr||jr[0]&12)&&toggle_class(zr,"tablet",Ur[2].previewDevice==="tablet"),(!Hr||jr[0]&12)&&toggle_class(zr,"mobile",Ur[2].previewDevice==="mobile")},i(Ur){Hr||(transition_in(Dr.$$.fragment,Ur),Hr=!0)},o(Ur){transition_out(Dr.$$.fragment,Ur),Hr=!1},d(Ur){Ur&&detach(zr),destroy_component(Dr)}}}function create_default_slot_3$19(Br){let zr;return{c(){zr=text("App preview failed to load")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_2$1r(Br){let zr;return{c(){zr=text(Br[6])},m(Dr,Nr){insert$1(Dr,zr,Nr)},p(Dr,Nr){Nr[0]&64&&set_data(zr,Dr[6])},d(Dr){Dr&&detach(zr)}}}function create_default_slot_1$1S(Br){let zr,Dr,Nr,Hr,Vr,Ur;return Nr=new Heading({props:{size:"L",$$slots:{default:[create_default_slot_3$19]},$$scope:{ctx:Br}}}),Vr=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1r]},$$scope:{ctx:Br}}}),{c(){zr=new HtmlTag(!1),Dr=space$1(),create_component(Nr.$$.fragment),Hr=space$1(),create_component(Vr.$$.fragment),zr.a=Dr},m(jr,Wr){zr.m(ErrorSVG$1,jr,Wr),insert$1(jr,Dr,Wr),mount_component(Nr,jr,Wr),insert$1(jr,Hr,Wr),mount_component(Vr,jr,Wr),Ur=!0},p(jr,Wr){const Gr={};Wr[1]&1&&(Gr.$$scope={dirty:Wr,ctx:jr}),Nr.$set(Gr);const Qr={};Wr[0]&64|Wr[1]&1&&(Qr.$$scope={dirty:Wr,ctx:jr}),Vr.$set(Qr)},i(jr){Ur||(transition_in(Nr.$$.fragment,jr),transition_in(Vr.$$.fragment,jr),Ur=!0)},o(jr){transition_out(Nr.$$.fragment,jr),transition_out(Vr.$$.fragment,jr),Ur=!1},d(jr){jr&&(zr.d(),detach(Dr),detach(Hr)),destroy_component(Nr,jr),destroy_component(Vr,jr)}}}function create_default_slot$2h(Br){let zr;return{c(){zr=text("Component")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_fragment$3k(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr,Xr,Zr,Kr;const Jr=[create_if_block$1P,create_if_block_1$X],eo=[];function no(so,ao){return so[5]?0:so[6]?1:-1}~(Dr=no(Br))&&(Nr=eo[Dr]=Jr[Dr](Br)),Gr=new Icon({props:{size:"XL",name:"Add",$$slots:{default:[create_default_slot$2h]},$$scope:{ctx:Br}}});let io={title:"Confirm Deletion",body:"Are you sure you want to delete this component?",okText:"Delete component",onOk:Br[8],onCancel:Br[9]};return Yr=new ConfirmDialog({props:io}),Br[22](Yr),{c(){zr=element("div"),Nr&&Nr.c(),Hr=space$1(),Vr=element("iframe"),jr=space$1(),Wr=element("div"),create_component(Gr.$$.fragment),Qr=space$1(),create_component(Yr.$$.fragment),attr(Vr,"title","componentPreview"),src_url_equal(Vr.src,Ur="/app/preview")||attr(Vr,"src",Ur),attr(Vr,"class","svelte-d65ule"),toggle_class(Vr,"hidden",Br[5]||Br[6]),attr(Wr,"class","add-component svelte-d65ule"),toggle_class(Wr,"active",Br[7]),attr(zr,"class","component-container svelte-d65ule")},m(so,ao){insert$1(so,zr,ao),~Dr&&eo[Dr].m(zr,null),append$2(zr,Hr),append$2(zr,Vr),Br[21](Vr),append$2(zr,jr),append$2(zr,Wr),mount_component(Gr,Wr,null),insert$1(so,Qr,ao),mount_component(Yr,so,ao),Xr=!0,Zr||(Kr=listen(Wr,"click",Br[10]),Zr=!0)},p(so,ao){let fo=Dr;Dr=no(so),Dr===fo?~Dr&&eo[Dr].p(so,ao):(Nr&&(group_outros(),transition_out(eo[fo],1,1,()=>{eo[fo]=null}),check_outros()),~Dr?(Nr=eo[Dr],Nr?Nr.p(so,ao):(Nr=eo[Dr]=Jr[Dr](so),Nr.c()),transition_in(Nr,1),Nr.m(zr,Hr)):Nr=null),(!Xr||ao[0]&96)&&toggle_class(Vr,"hidden",so[5]||so[6]);const po={};ao[1]&1&&(po.$$scope={dirty:ao,ctx:so}),Gr.$set(po),(!Xr||ao[0]&128)&&toggle_class(Wr,"active",so[7]);const go={};Yr.$set(go)},i(so){Xr||(transition_in(Nr),transition_in(Gr.$$.fragment,so),transition_in(Yr.$$.fragment,so),Xr=!0)},o(so){transition_out(Nr),transition_out(Gr.$$.fragment,so),transition_out(Yr.$$.fragment,so),Xr=!1},d(so){so&&(detach(zr),detach(Qr)),~Dr&&eo[Dr].d(),Br[21](null),destroy_component(Gr),Br[22](null),destroy_component(Yr,so),Zr=!1,Kr()}}}function instance$3r(Br,zr,Dr){let Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr,Xr,Zr,Kr,Jr,eo;component_subscribe(Br,goto,zo=>Dr(24,Wr=zo)),component_subscribe(Br,isActive,zo=>Dr(16,Gr=zo)),component_subscribe(Br,snippets$1,zo=>Dr(17,Qr=zo)),component_subscribe(Br,appStore,zo=>Dr(18,Yr=zo)),component_subscribe(Br,componentStore,zo=>Dr(19,Xr=zo)),component_subscribe(Br,navigationStore,zo=>Dr(1,Zr=zo)),component_subscribe(Br,previewStore,zo=>Dr(2,Kr=zo)),component_subscribe(Br,themeStore,zo=>Dr(3,Jr=zo)),component_subscribe(Br,selectedScreen,zo=>Dr(20,eo=zo));let no,io,so,ao,fo,po=!0,go;const $o={READY:"ready",ERROR:"error",BUDIBASE:"type"},vo=zo=>{no==null||no.contentWindow.postMessage(zo)},So=async zo=>{var Bo,Po,Uo;if((Bo=zo==null?void 0:zo.data)!=null&&Bo.type){try{await ko(zo)}catch(No){notifications.error(No||"Error handling event from app preview")}(Po=zo.data)!=null&&Po.id&&jr("event-completed",(Uo=zo.data)==null?void 0:Uo.id)}},ko=async zo=>{var Uo;const{type:Bo,data:Po}=zo.data;if(Bo===$o.READY){if(!po)return;vo(Vr)}else if(Bo===$o.ERROR)Dr(5,po=!1),Dr(6,go=zo.error||"An unknown error occurred");else if(Bo==="select-component"&&Po.id)componentStore.select(Po.id),componentTreeNodesStore.makeNodeVisible(Po.id);else if(Bo==="hover-component")hoverStore.hover(Po.id,!1);else if(Bo==="update-prop")await componentStore.updateSetting(Po.prop,Po.value);else if(Bo==="update-styles")await componentStore.updateStyles(Po.styles,Po.id);else if(Bo==="delete-component"&&Po.id)To(Po.id);else if(Bo==="key-down"){const{key:No,ctrlKey:Do}=Po;document.dispatchEvent(new KeyboardEvent("keydown",{key:No,ctrlKey:Do}))}else if(Bo==="duplicate-component"&&Po.id){const No=get_store_value(selectedScreen).props,Do=findComponent(No,Po.id);componentStore.copy(Do),await componentStore.paste(Do)}else if(Bo==="preview-loaded")Dr(5,po=!1);else if(Bo==="move-component"){const{componentId:No,destinationComponentId:Do}=Po,xo=get_store_value(selectedScreen).props,jo=findComponent(xo,No),Fo=findComponent(xo,Do);if(findComponentPath(jo,Do).map(Zo=>Zo._id).includes(Po.destinationComponentId))return;jo&&Fo&&(componentStore.copy(jo,!0,!1),await componentStore.paste(Fo,Po.mode))}else if(Bo==="request-add-component")yo();else if(Bo==="highlight-setting"){builderStore.highlightSetting(Po.setting,"error");const No=`#${Po.setting}-prop-control`,Do=(Uo=document.querySelector(No))==null?void 0:Uo.parentElement;Do&&Do.scrollIntoView({behavior:"smooth",block:"center"})}else if(Bo==="eject-block"){const{id:No,definition:Do}=Po;await componentStore.handleEjectBlock(No,Do)}else if(Bo==="reload-plugin")await componentStore.refreshDefinitions();else if(Bo==="drop-new-component"){const{component:No,parent:Do,index:xo}=Po;await componentStore.create(No,null,Do,xo)}else if(Bo==="add-parent-component"){const{componentId:No,parentType:Do}=Po;await componentStore.addParent(No,Do)}else if(Bo==="provide-context"){let No=Po==null?void 0:Po.context;if(No)try{No=JSON.parse(No)}catch{No=null}previewStore.setSelectedComponentContext(No)}else console.warn(`Client sent unknown event type: ${Bo}`)},To=zo=>{fo=zo,ao.show()},Eo=async()=>{try{await componentStore.delete({_id:fo})}catch{notifications.error("Error deleting component")}fo=null},Oo=()=>{fo=null},yo=()=>{Gr("./:componentId/new")?Wr("./:componentId"):Wr("./:componentId/new")};onMount(()=>{window.addEventListener("message",So)}),onDestroy(()=>{window.removeEventListener("message",So)});function Co(zo){binding_callbacks[zo?"unshift":"push"](()=>{no=zo,Dr(0,no)})}function Mo(zo){binding_callbacks[zo?"unshift":"push"](()=>{ao=zo,Dr(4,ao)})}return Br.$$.update=()=>{var zo,Bo,Po;Br.$$.dirty[0]&1048576&&Dr(11,so=eo),Br.$$.dirty[0]&524288&&Dr(14,Nr=Xr.selectedComponentId),Br.$$.dirty[0]&935950&&Dr(15,Hr={appId:Yr.appId,layout:io,screen:so,selectedComponentId:Nr,theme:Jr.theme,customTheme:Jr.customTheme,previewDevice:Kr.previewDevice,messagePassing:Yr.clientFeatures.messagePassing,navigation:Zr,hiddenComponentIds:(zo=Xr.componentToPaste)!=null&&zo._id&&((Bo=Xr.componentToPaste)!=null&&Bo.isCut)?[(Po=Xr.componentToPaste)==null?void 0:Po._id]:[],isBudibaseEvent:!0,usedPlugins:Yr.usedPlugins,location:{protocol:window.location.protocol,hostname:window.location.hostname,port:window.location.port},snippets:Qr}),Br.$$.dirty[0]&32768&&Dr(12,Vr=JSON.stringify(Hr)),Br.$$.dirty[0]&4096&&vo(Vr),Br.$$.dirty[0]&81920&&Dr(7,Ur=Gr(`./${Nr}/new`)),Br.$$.dirty[0]&1&&Dr(13,jr=(Uo,No)=>{no==null||no.contentWindow.postMessage(JSON.stringify({name:Uo,payload:No,isBudibaseEvent:!0,runtimeEvent:!0}))}),Br.$$.dirty[0]&8192&&previewStore.registerEventHandler((Uo,No)=>jr(Uo,No))},[no,Zr,Kr,Jr,ao,po,go,Ur,Eo,Oo,yo,so,Vr,jr,Nr,Hr,Gr,Qr,Yr,Xr,eo,Co,Mo]}class AppPreview extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3r,create_fragment$3k,safe_not_equal,{},null,[-1,-1])}}const UndoRedoControl_svelte_svelte_type_style_lang="";function create_fragment$3j(Br){let zr,Dr,Nr,Hr,Vr;return Dr=new Icon({props:{name:"Undo",hoverable:!0,disabled:!Br[1].canUndo}}),Dr.$on("click",function(){is_function(Br[0].undo)&&Br[0].undo.apply(this,arguments)}),Hr=new Icon({props:{name:"Redo",hoverable:!0,disabled:!Br[1].canRedo}}),Hr.$on("click",function(){is_function(Br[0].redo)&&Br[0].redo.apply(this,arguments)}),{c(){zr=element("div"),create_component(Dr.$$.fragment),Nr=space$1(),create_component(Hr.$$.fragment),attr(zr,"class","undo-redo svelte-1ykfm7c")},m(Ur,jr){insert$1(Ur,zr,jr),mount_component(Dr,zr,null),append$2(zr,Nr),mount_component(Hr,zr,null),Vr=!0},p(Ur,[jr]){Br=Ur;const Wr={};jr&2&&(Wr.disabled=!Br[1].canUndo),Dr.$set(Wr);const Gr={};jr&2&&(Gr.disabled=!Br[1].canRedo),Hr.$set(Gr)},i(Ur){Vr||(transition_in(Dr.$$.fragment,Ur),transition_in(Hr.$$.fragment,Ur),Vr=!0)},o(Ur){transition_out(Dr.$$.fragment,Ur),transition_out(Hr.$$.fragment,Ur),Vr=!1},d(Ur){Ur&&detach(zr),destroy_component(Dr),destroy_component(Hr)}}}function instance$3q(Br,zr,Dr){let Nr,Hr=noop$6,Vr=()=>(Hr(),Hr=subscribe(Ur,Wr=>Dr(1,Nr=Wr)),Ur);Br.$$.on_destroy.push(()=>Hr());let{store:Ur}=zr;Vr();const jr=Wr=>{if(!(Wr.ctrlKey||Wr.metaKey))return;let Gr=Wr.key.toLowerCase();isBuilderInputFocused(Wr)||(Wr.shiftKey&&Gr==="z"?Ur.redo():Gr==="z"&&Ur.undo())};return onMount(()=>(document.addEventListener("keydown",jr),()=>{document.removeEventListener("keydown",jr)})),Br.$$set=Wr=>{"store"in Wr&&Vr(Dr(0,Ur=Wr.store))},[Ur,Nr]}class UndoRedoControl extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3q,create_fragment$3j,safe_not_equal,{store:0})}}const AppPanel_svelte_svelte_type_style_lang="";function create_if_block$1O(Br){let zr,Dr;return zr=new DevicePreviewSelect({}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_key_block$3(Br){let zr,Dr;return zr=new AppPreview({}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p:noop$6,i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_fragment$3i(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr=Br[0].version,Xr;Ur=new UndoRedoControl({props:{store:screenStore.history}});let Zr=Br[0].clientFeatures.devicePreview&&create_if_block$1O(),Kr=create_key_block$3();return{c(){zr=element("div"),Dr=element("div"),Nr=space$1(),Hr=element("div"),Vr=element("div"),create_component(Ur.$$.fragment),jr=space$1(),Wr=element("div"),Zr&&Zr.c(),Gr=space$1(),Qr=element("div"),Kr.c(),attr(Dr,"class","drawer-container svelte-bxsmmv"),attr(Vr,"class","header-left svelte-bxsmmv"),attr(Wr,"class","header-right svelte-bxsmmv"),attr(Hr,"class","header svelte-bxsmmv"),attr(Qr,"class","content svelte-bxsmmv"),attr(zr,"class","app-panel svelte-bxsmmv")},m(Jr,eo){insert$1(Jr,zr,eo),append$2(zr,Dr),append$2(zr,Nr),append$2(zr,Hr),append$2(Hr,Vr),mount_component(Ur,Vr,null),append$2(Hr,jr),append$2(Hr,Wr),Zr&&Zr.m(Wr,null),append$2(zr,Gr),append$2(zr,Qr),Kr.m(Qr,null),Xr=!0},p(Jr,[eo]){Jr[0].clientFeatures.devicePreview?Zr?eo&1&&transition_in(Zr,1):(Zr=create_if_block$1O(),Zr.c(),transition_in(Zr,1),Zr.m(Wr,null)):Zr&&(group_outros(),transition_out(Zr,1,1,()=>{Zr=null}),check_outros()),eo&1&&safe_not_equal(Yr,Yr=Jr[0].version)?(group_outros(),transition_out(Kr,1,1,noop$6),check_outros(),Kr=create_key_block$3(),Kr.c(),transition_in(Kr,1),Kr.m(Qr,null)):Kr.p(Jr,eo)},i(Jr){Xr||(transition_in(Ur.$$.fragment,Jr),transition_in(Zr),transition_in(Kr),Xr=!0)},o(Jr){transition_out(Ur.$$.fragment,Jr),transition_out(Zr),transition_out(Kr),Xr=!1},d(Jr){Jr&&detach(zr),destroy_component(Ur),Zr&&Zr.d(),Kr.d(Jr)}}}function instance$3p(Br,zr,Dr){let Nr;return component_subscribe(Br,appStore,Hr=>Dr(0,Nr=Hr)),[Nr]}class AppPanel extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3p,create_fragment$3i,safe_not_equal,{})}}const RoleIndicator_svelte_svelte_type_style_lang="";function create_if_block$1N(Br){let zr,Dr,Nr;return Dr=new Tooltip$1({props:{textWrapping:!0,text:Br[1],direction:"right"}}),{c(){zr=element("div"),create_component(Dr.$$.fragment),attr(zr,"class","tooltip svelte-1vfibm3")},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},p(Hr,Vr){const Ur={};Vr&2&&(Ur.text=Hr[1]),Dr.$set(Ur)},i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function create_fragment$3h(Br){let zr,Dr,Nr,Hr,Vr,Ur;Dr=new StatusLight({props:{square:!0,color:Br[2]}});let jr=Br[0]&&create_if_block$1N(Br);return{c(){zr=element("div"),create_component(Dr.$$.fragment),Nr=space$1(),jr&&jr.c(),attr(zr,"class","container svelte-1vfibm3"),set_style(zr,"--color",Br[2])},m(Wr,Gr){insert$1(Wr,zr,Gr),mount_component(Dr,zr,null),append$2(zr,Nr),jr&&jr.m(zr,null),Hr=!0,Vr||(Ur=[listen(zr,"mouseover",Br[7]),listen(zr,"mouseleave",Br[8]),listen(zr,"focus",Br[6])],Vr=!0)},p(Wr,[Gr]){const Qr={};Gr&4&&(Qr.color=Wr[2]),Dr.$set(Qr),Wr[0]?jr?(jr.p(Wr,Gr),Gr&1&&transition_in(jr,1)):(jr=create_if_block$1N(Wr),jr.c(),transition_in(jr,1),jr.m(zr,null)):jr&&(group_outros(),transition_out(jr,1,1,()=>{jr=null}),check_outros()),(!Hr||Gr&4)&&set_style(zr,"--color",Wr[2])},i(Wr){Hr||(transition_in(Dr.$$.fragment,Wr),transition_in(jr),Hr=!0)},o(Wr){transition_out(Dr.$$.fragment,Wr),transition_out(jr),Hr=!1},d(Wr){Wr&&detach(zr),destroy_component(Dr),jr&&jr.d(),Vr=!1,run_all(Ur)}}}function instance$3o(Br,zr,Dr){let Nr,Hr,Vr,Ur;component_subscribe(Br,roles,Xr=>Dr(5,Ur=Xr));let{roleId:jr}=zr,Wr=!1;function Gr(Xr){bubble.call(this,Br,Xr)}const Qr=()=>Dr(0,Wr=!0),Yr=()=>Dr(0,Wr=!1);return Br.$$set=Xr=>{"roleId"in Xr&&Dr(3,jr=Xr.roleId)},Br.$$.update=()=>{Br.$$.dirty&8&&Dr(2,Nr=getRoleColour(jr)),Br.$$.dirty&40&&Dr(4,Hr=Ur.find(Xr=>Xr._id===jr)),Br.$$.dirty&24&&Dr(1,Vr=jr===Roles.PUBLIC?"Open to the public":`Requires ${Hr==null?void 0:Hr.name} access`)},[Wr,Vr,Nr,jr,Hr,Ur,Gr,Qr,Yr]}class RoleIndicator extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3o,create_fragment$3h,safe_not_equal,{roleId:3})}}const ScreenDetailsModal_svelte_svelte_type_style_lang="";function create_default_slot$2g(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr;function Qr(Xr){Br[11](Xr)}let Yr={label:"Enter a URL for the new screen",error:Br[4]};return Br[0]!==void 0&&(Yr.value=Br[0]),Dr=new Input$5({props:Yr}),binding_callbacks.push(()=>bind$2(Dr,"value",Qr)),Dr.$on("change",Br[7]),{c(){zr=element("form"),create_component(Dr.$$.fragment),Hr=space$1(),Vr=element("div"),Ur=text(Br[6]),attr(Vr,"class","app-server svelte-ygkcrb"),attr(Vr,"title",Br[6])},m(Xr,Zr){insert$1(Xr,zr,Zr),mount_component(Dr,zr,null),append$2(zr,Hr),append$2(zr,Vr),append$2(Vr,Ur),jr=!0,Wr||(Gr=listen(zr,"submit",prevent_default(Br[12])),Wr=!0)},p(Xr,Zr){const Kr={};Zr&16&&(Kr.error=Xr[4]),!Nr&&Zr&1&&(Nr=!0,Kr.value=Xr[0],add_flush_callback(()=>Nr=!1)),Dr.$set(Kr),(!jr||Zr&64)&&set_data(Ur,Xr[6]),(!jr||Zr&64)&&attr(Vr,"title",Xr[6])},i(Xr){jr||(transition_in(Dr.$$.fragment,Xr),jr=!0)},o(Xr){transition_out(Dr.$$.fragment,Xr),jr=!1},d(Xr){Xr&&detach(zr),destroy_component(Dr),Wr=!1,Gr()}}}function create_fragment$3g(Br){let zr,Dr,Nr={size:"M",title:"Screen details",confirmText:Br[2],onConfirm:Br[8],onCancel:Br[1],cancelText:"Back",disabled:!Br[0]||Br[4]||!Br[3],$$slots:{default:[create_default_slot$2g]},$$scope:{ctx:Br}};return zr=new ModalContent({props:Nr}),Br[13](zr),{c(){create_component(zr.$$.fragment)},m(Hr,Vr){mount_component(zr,Hr,Vr),Dr=!0},p(Hr,[Vr]){const Ur={};Vr&4&&(Ur.confirmText=Hr[2]),Vr&2&&(Ur.onCancel=Hr[1]),Vr&25&&(Ur.disabled=!Hr[0]||Hr[4]||!Hr[3]),Vr&32881&&(Ur.$$scope={dirty:Vr,ctx:Hr}),zr.$set(Ur)},i(Hr){Dr||(transition_in(zr.$$.fragment,Hr),Dr=!0)},o(Hr){transition_out(zr.$$.fragment,Hr),Dr=!1},d(Hr){Br[13](null),destroy_component(zr,Hr)}}}const appPrefix$2="/app";function instance$3n(Br,zr,Dr){let Nr,{onConfirm:Hr}=zr,{onCancel:Vr}=zr,{screenUrl:Ur}=zr,{screenRole:jr}=zr,{confirmText:Wr="Continue"}=zr,Gr=!1,Qr,Yr;const Xr=io=>{io.detail.startsWith("/")||Dr(0,Ur="/"+io.detail),Dr(3,Gr=!0),Dr(0,Ur=sanitizeUrl(Ur)),Zr(Ur)?Dr(4,Qr="This URL is already taken for this access role"):Dr(4,Qr=null)},Zr=io=>jr?get_store_value(screenStore).screens.some(so=>so.routing.route.toLowerCase()===io.toLowerCase()&&so.routing.roleId===jr):!1,Kr=async()=>{await Hr({screenUrl:Ur})};function Jr(io){Ur=io,Dr(0,Ur)}const eo=()=>Yr.confirm();function no(io){binding_callbacks[io?"unshift":"push"](()=>{Yr=io,Dr(5,Yr)})}return Br.$$set=io=>{"onConfirm"in io&&Dr(9,Hr=io.onConfirm),"onCancel"in io&&Dr(1,Vr=io.onCancel),"screenUrl"in io&&Dr(0,Ur=io.screenUrl),"screenRole"in io&&Dr(10,jr=io.screenRole),"confirmText"in io&&Dr(2,Wr=io.confirmText)},Br.$$.update=()=>{Br.$$.dirty&1&&Dr(6,Nr=Ur?`${window.location.origin}${appPrefix$2}${Ur}`:`${window.location.origin}${appPrefix$2}`)},[Ur,Vr,Wr,Gr,Qr,Yr,Nr,Xr,Kr,Hr,jr,Jr,eo,no]}class ScreenDetailsModal extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3n,create_fragment$3g,safe_not_equal,{onConfirm:9,onCancel:1,screenUrl:0,screenRole:10,confirmText:2})}}const DropdownMenu_svelte_svelte_type_style_lang="";function create_default_slot_4$W(Br){let zr;return{c(){zr=text("Paste inside")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_3$18(Br){let zr;return{c(){zr=text("Duplicate")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_2$1q(Br){let zr;return{c(){zr=text("Delete")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_1$1R(Br){let zr,Dr,Nr,Hr,Vr,Ur;return zr=new Item$1({props:{icon:"ShowOneLayer",disabled:Br[3],$$slots:{default:[create_default_slot_4$W]},$$scope:{ctx:Br}}}),zr.$on("click",Br[11]),Nr=new Item$1({props:{icon:"Duplicate",$$slots:{default:[create_default_slot_3$18]},$$scope:{ctx:Br}}}),Nr.$on("click",Br[5]),Vr=new Item$1({props:{icon:"Delete",$$slots:{default:[create_default_slot_2$1q]},$$scope:{ctx:Br}}}),Vr.$on("click",function(){is_function(Br[1].show)&&Br[1].show.apply(this,arguments)}),{c(){create_component(zr.$$.fragment),Dr=space$1(),create_component(Nr.$$.fragment),Hr=space$1(),create_component(Vr.$$.fragment)},m(jr,Wr){mount_component(zr,jr,Wr),insert$1(jr,Dr,Wr),mount_component(Nr,jr,Wr),insert$1(jr,Hr,Wr),mount_component(Vr,jr,Wr),Ur=!0},p(jr,Wr){Br=jr;const Gr={};Wr&8&&(Gr.disabled=Br[3]),Wr&16384&&(Gr.$$scope={dirty:Wr,ctx:Br}),zr.$set(Gr);const Qr={};Wr&16384&&(Qr.$$scope={dirty:Wr,ctx:Br}),Nr.$set(Qr);const Yr={};Wr&16384&&(Yr.$$scope={dirty:Wr,ctx:Br}),Vr.$set(Yr)},i(jr){Ur||(transition_in(zr.$$.fragment,jr),transition_in(Nr.$$.fragment,jr),transition_in(Vr.$$.fragment,jr),Ur=!0)},o(jr){transition_out(zr.$$.fragment,jr),transition_out(Nr.$$.fragment,jr),transition_out(Vr.$$.fragment,jr),Ur=!1},d(jr){jr&&(detach(Dr),detach(Hr)),destroy_component(zr,jr),destroy_component(Nr,jr),destroy_component(Vr,jr)}}}function create_control_slot$9(Br){let zr,Dr,Nr;return Dr=new Icon({props:{size:"S",hoverable:!0,name:"MoreSmallList"}}),{c(){zr=element("div"),create_component(Dr.$$.fragment),attr(zr,"slot","control"),attr(zr,"class","icon svelte-u6s22l")},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},p:noop$6,i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function create_default_slot$2f(Br){var Nr,Hr;let zr,Dr;return zr=new ScreenDetailsModal({props:{onConfirm:Br[6],screenUrl:(Nr=Br[0])==null?void 0:Nr.routing.route,screenRole:(Hr=Br[0])==null?void 0:Hr.routing.roleId,confirmText:"Duplicate"}}),{c(){create_component(zr.$$.fragment)},m(Vr,Ur){mount_component(zr,Vr,Ur),Dr=!0},p(Vr,Ur){var Wr,Gr;const jr={};Ur&1&&(jr.screenUrl=(Wr=Vr[0])==null?void 0:Wr.routing.route),Ur&1&&(jr.screenRole=(Gr=Vr[0])==null?void 0:Gr.routing.roleId),zr.$set(jr)},i(Vr){Dr||(transition_in(zr.$$.fragment,Vr),Dr=!0)},o(Vr){transition_out(zr.$$.fragment,Vr),Dr=!1},d(Vr){destroy_component(zr,Vr)}}}function create_fragment$3f(Br){let zr,Dr,Nr,Hr,Vr,Ur;zr=new ActionMenu({props:{$$slots:{control:[create_control_slot$9],default:[create_default_slot_1$1R]},$$scope:{ctx:Br}}});let jr={title:"Confirm Deletion",body:"Are you sure you wish to delete this screen?",okText:"Delete screen",onOk:Br[7]};Nr=new ConfirmDialog({props:jr}),Br[12](Nr);let Wr={$$slots:{default:[create_default_slot$2f]},$$scope:{ctx:Br}};return Vr=new Modal({props:Wr}),Br[13](Vr),{c(){create_component(zr.$$.fragment),Dr=space$1(),create_component(Nr.$$.fragment),Hr=space$1(),create_component(Vr.$$.fragment)},m(Gr,Qr){mount_component(zr,Gr,Qr),insert$1(Gr,Dr,Qr),mount_component(Nr,Gr,Qr),insert$1(Gr,Hr,Qr),mount_component(Vr,Gr,Qr),Ur=!0},p(Gr,[Qr]){const Yr={};Qr&16394&&(Yr.$$scope={dirty:Qr,ctx:Gr}),zr.$set(Yr);const Xr={};Nr.$set(Xr);const Zr={};Qr&16385&&(Zr.$$scope={dirty:Qr,ctx:Gr}),Vr.$set(Zr)},i(Gr){Ur||(transition_in(zr.$$.fragment,Gr),transition_in(Nr.$$.fragment,Gr),transition_in(Vr.$$.fragment,Gr),Ur=!0)},o(Gr){transition_out(zr.$$.fragment,Gr),transition_out(Nr.$$.fragment,Gr),transition_out(Vr.$$.fragment,Gr),Ur=!1},d(Gr){Gr&&(detach(Dr),detach(Hr)),destroy_component(zr,Gr),Br[12](null),destroy_component(Nr,Gr),Br[13](null),destroy_component(Vr,Gr)}}}function instance$3m(Br,zr,Dr){let Nr,Hr,Vr,Ur;component_subscribe(Br,componentStore,no=>Dr(9,Vr=no)),component_subscribe(Br,screenStore,no=>Dr(10,Ur=no));let{screenId:jr}=zr,Wr,Gr;const Qr=no=>{try{componentStore.paste(Nr.props,no,Nr)}catch{notifications.error("Error saving component")}},Yr=()=>{Gr.show()},Xr=async({screenName:no,screenUrl:io})=>{let so=cloneDeep$2(Nr);delete so._id,delete so._rev,so.props=makeComponentUnique(so.props),so.routing.route=sanitizeUrl(io),so.routing.homeScreen=!1,so.props._instanceName=no;try{await screenStore.save(so)}catch{notifications.error("Error duplicating screen")}},Zr=async()=>{try{await screenStore.delete(Nr),notifications.success("Deleted screen successfully")}catch{notifications.error("Error deleting screen")}},Kr=()=>Qr("inside");function Jr(no){binding_callbacks[no?"unshift":"push"](()=>{Wr=no,Dr(1,Wr)})}function eo(no){binding_callbacks[no?"unshift":"push"](()=>{Gr=no,Dr(2,Gr)})}return Br.$$set=no=>{"screenId"in no&&Dr(8,jr=no.screenId)},Br.$$.update=()=>{Br.$$.dirty&1280&&Dr(0,Nr=Ur.screens.find(no=>no._id===jr)),Br.$$.dirty&512&&Dr(3,Hr=!Vr.componentToPaste)},[Nr,Wr,Gr,Hr,Qr,Yr,Xr,Zr,jr,Vr,Ur,Kr,Jr,eo]}class DropdownMenu extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3m,create_fragment$3f,safe_not_equal,{screenId:8})}}const getResizeActions=(Br,zr,Dr,Nr,Hr=()=>{})=>{let Vr=null;return[Wr=>(Vr=Wr,Nr!=null&&(Vr.style[Br]=`${Nr}px`),{destroy(){Vr=null}}),Wr=>{let Gr=null,Qr=null;const Yr=Jr=>{Jr.preventDefault();const eo=Jr[zr]-Qr;Vr.style[Br]=`${Gr+eo}px`},Xr=Jr=>{Jr.preventDefault(),window.removeEventListener("mousemove",Yr),window.removeEventListener("mouseup",Xr),Vr.style.removeProperty("transition");for(let eo of document.getElementsByTagName("iframe"))eo.style.removeProperty("pointer-events");Hr(Vr[Dr])},Zr=Jr=>{if(Jr.detail>1&&Jr.preventDefault(),!(Jr.target.hasAttribute("disabled")&&Jr.target.getAttribute("disabled")!=="false")){Vr.style.transition=`${Br} 0ms`;for(let eo of document.getElementsByTagName("iframe"))eo.style.pointerEvents="none";Gr=Vr[Dr],Qr=Jr[zr],window.addEventListener("mousemove",Yr),window.addEventListener("mouseup",Xr)}},Kr=()=>{Vr.style.removeProperty(Br)};return Wr.addEventListener("mousedown",Zr),Wr.addEventListener("dblclick",Kr),{destroy(){Wr.removeEventListener("mousedown",Zr),Wr.removeEventListener("dblclick",Kr)}}}]},getVerticalResizeActions=(Br,zr=()=>{})=>getResizeActions("height","pageY","clientHeight",Br,zr),getHorizontalResizeActions=(Br,zr=()=>{})=>getResizeActions("width","pageX","clientWidth",Br,zr),index_svelte_svelte_type_style_lang$h="";function get_each_context$E(Br,zr,Dr){const Nr=Br.slice();return Nr[19]=zr[Dr],Nr}function create_else_block$D(Br){let zr,Dr;return zr=new Layout$n({props:{paddingY:"none",paddingX:"L",$$slots:{default:[create_default_slot_1$1Q]},$$scope:{ctx:Br}}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&4194304&&(Vr.$$scope={dirty:Hr,ctx:Nr}),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_if_block$1M(Br){let zr=[],Dr=new Map,Nr,Hr,Vr=ensure_array_like(Br[4]);const Ur=jr=>jr[19]._id;for(let jr=0;jr<Vr.length;jr+=1){let Wr=get_each_context$E(Br,Vr,jr),Gr=Ur(Wr);Dr.set(Gr,zr[jr]=create_each_block$E(Gr,Wr))}return{c(){for(let jr=0;jr<zr.length;jr+=1)zr[jr].c();Nr=empty$2()},m(jr,Wr){for(let Gr=0;Gr<zr.length;Gr+=1)zr[Gr]&&zr[Gr].m(jr,Wr);insert$1(jr,Nr,Wr),Hr=!0},p(jr,Wr){Wr&208&&(Vr=ensure_array_like(jr[4]),group_outros(),zr=update_keyed_each(zr,Wr,Ur,1,jr,Vr,Dr,Nr.parentNode,outro_and_destroy_block,create_each_block$E,Nr,get_each_context$E),check_outros())},i(jr){if(!Hr){for(let Wr=0;Wr<Vr.length;Wr+=1)transition_in(zr[Wr]);Hr=!0}},o(jr){for(let Wr=0;Wr<zr.length;Wr+=1)transition_out(zr[Wr]);Hr=!1},d(jr){jr&&detach(Nr);for(let Wr=0;Wr<zr.length;Wr+=1)zr[Wr].d(jr)}}}function create_default_slot_1$1Q(Br){let zr;return{c(){zr=element("div"),zr.textContent="There aren't any screens matching that route",attr(zr,"class","no-results svelte-ynsma1")},m(Dr,Nr){insert$1(Dr,zr,Nr)},p:noop$6,d(Dr){Dr&&detach(zr)}}}function create_default_slot$2e(Br){let zr,Dr,Nr;return zr=new DropdownMenu({props:{screenId:Br[19]._id}}),{c(){create_component(zr.$$.fragment),Dr=space$1()},m(Hr,Vr){mount_component(zr,Hr,Vr),insert$1(Hr,Dr,Vr),Nr=!0},p(Hr,Vr){const Ur={};Vr&16&&(Ur.screenId=Hr[19]._id),zr.$set(Ur)},i(Hr){Nr||(transition_in(zr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(zr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(Dr),destroy_component(zr,Hr)}}}function create_icon_slot(Br){let zr,Dr,Nr,Hr;return Dr=new RoleIndicator({props:{roleId:Br[19].routing.roleId}}),{c(){zr=element("div"),create_component(Dr.$$.fragment),Nr=space$1(),attr(zr,"slot","icon"),attr(zr,"class","icon svelte-ynsma1")},m(Vr,Ur){insert$1(Vr,zr,Ur),mount_component(Dr,zr,null),append$2(zr,Nr),Hr=!0},p(Vr,Ur){const jr={};Ur&16&&(jr.roleId=Vr[19].routing.roleId),Dr.$set(jr)},i(Vr){Hr||(transition_in(Dr.$$.fragment,Vr),Hr=!0)},o(Vr){transition_out(Dr.$$.fragment,Vr),Hr=!1},d(Vr){Vr&&detach(zr),destroy_component(Dr)}}}function create_each_block$E(Br,zr){let Dr,Nr,Hr;function Vr(){return zr[15](zr[19])}return Nr=new NavItem$1({props:{scrollable:!0,icon:zr[19].routing.homeScreen?"Home":null,indentLevel:0,selected:zr[6].selectedScreenId===zr[19]._id,text:zr[19].routing.route,rightAlignIcon:!0,showTooltip:!0,selectedBy:zr[7][zr[19]._id],$$slots:{icon:[create_icon_slot],default:[create_default_slot$2e]},$$scope:{ctx:zr}}}),Nr.$on("click",Vr),{key:Br,first:null,c(){Dr=empty$2(),create_component(Nr.$$.fragment),this.first=Dr},m(Ur,jr){insert$1(Ur,Dr,jr),mount_component(Nr,Ur,jr),Hr=!0},p(Ur,jr){zr=Ur;const Wr={};jr&16&&(Wr.icon=zr[19].routing.homeScreen?"Home":null),jr&80&&(Wr.selected=zr[6].selectedScreenId===zr[19]._id),jr&16&&(Wr.text=zr[19].routing.route),jr&144&&(Wr.selectedBy=zr[7][zr[19]._id]),jr&4194320&&(Wr.$$scope={dirty:jr,ctx:zr}),Nr.$set(Wr)},i(Ur){Hr||(transition_in(Nr.$$.fragment,Ur),Hr=!0)},o(Ur){transition_out(Nr.$$.fragment,Ur),Hr=!1},d(Ur){Ur&&detach(Dr),destroy_component(Nr,Ur)}}}function create_fragment$3e(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr,Xr,Zr,Kr;function Jr(fo){Br[13](fo)}function eo(fo){Br[14](fo)}let no={title:"Screens",placeholder:"Search for screens",onAdd:Br[12]};Br[1]!==void 0&&(no.value=Br[1]),Br[0]!==void 0&&(no.search=Br[0]),Nr=new NavHeader({props:no}),binding_callbacks.push(()=>bind$2(Nr,"value",Jr)),binding_callbacks.push(()=>bind$2(Nr,"search",eo));const io=[create_if_block$1M,create_else_block$D],so=[];function ao(fo,po){var go;return(go=fo[4])!=null&&go.length?0:1}return Wr=ao(Br),Gr=so[Wr]=io[Wr](Br),{c(){zr=element("div"),Dr=element("div"),create_component(Nr.$$.fragment),Ur=space$1(),jr=element("div"),Gr.c(),Qr=space$1(),Yr=element("div"),attr(Dr,"class","header svelte-ynsma1"),toggle_class(Dr,"scrolling",Br[3]),attr(jr,"class","content svelte-ynsma1"),attr(Yr,"role","separator"),attr(Yr,"disabled",Br[0]),attr(Yr,"class","divider svelte-ynsma1"),toggle_class(Yr,"disabled",Br[0]),attr(zr,"class","screens svelte-ynsma1"),toggle_class(zr,"searching",Br[0])},m(fo,po){insert$1(fo,zr,po),append$2(zr,Dr),mount_component(Nr,Dr,null),append$2(zr,Ur),append$2(zr,jr),so[Wr].m(jr,null),Br[16](jr),append$2(zr,Qr),append$2(zr,Yr),Xr=!0,Zr||(Kr=[listen(jr,"scroll",Br[10]),action_destroyer(Br[9].call(null,Yr)),action_destroyer(Br[8].call(null,zr))],Zr=!0)},p(fo,[po]){const go={};po&32&&(go.onAdd=fo[12]),!Hr&&po&2&&(Hr=!0,go.value=fo[1],add_flush_callback(()=>Hr=!1)),!Vr&&po&1&&(Vr=!0,go.search=fo[0],add_flush_callback(()=>Vr=!1)),Nr.$set(go),(!Xr||po&8)&&toggle_class(Dr,"scrolling",fo[3]);let $o=Wr;Wr=ao(fo),Wr===$o?so[Wr].p(fo,po):(group_outros(),transition_out(so[$o],1,1,()=>{so[$o]=null}),check_outros(),Gr=so[Wr],Gr?Gr.p(fo,po):(Gr=so[Wr]=io[Wr](fo),Gr.c()),transition_in(Gr,1),Gr.m(jr,null)),(!Xr||po&1)&&attr(Yr,"disabled",fo[0]),(!Xr||po&1)&&toggle_class(Yr,"disabled",fo[0]),(!Xr||po&1)&&toggle_class(zr,"searching",fo[0])},i(fo){Xr||(transition_in(Nr.$$.fragment,fo),transition_in(Gr),Xr=!0)},o(fo){transition_out(Nr.$$.fragment,fo),transition_out(Gr),Xr=!1},d(fo){fo&&detach(zr),destroy_component(Nr),so[Wr].d(),Br[16](null),Zr=!1,run_all(Kr)}}}function instance$3l(Br,zr,Dr){let Nr,Hr,Vr,Ur,jr;component_subscribe(Br,sortedScreens,po=>Dr(11,Hr=po)),component_subscribe(Br,goto,po=>Dr(5,Vr=po)),component_subscribe(Br,screenStore,po=>Dr(6,Ur=po)),component_subscribe(Br,userSelectedResourceMap,po=>Dr(7,jr=po));const[Wr,Gr]=getVerticalResizeActions();let Qr=!1,Yr="",Xr,Zr=!1;const Kr=async()=>{Xr.scroll({top:0,behavior:"smooth"})},Jr=(po,go)=>po.filter($o=>!go||$o.routing.route.includes(go)),eo=po=>{Dr(3,Zr=po.target.scrollTop!==0)},no=()=>Vr("../new");function io(po){Yr=po,Dr(1,Yr)}function so(po){Qr=po,Dr(0,Qr)}const ao=po=>screenStore.select(po._id);function fo(po){binding_callbacks[po?"unshift":"push"](()=>{Xr=po,Dr(2,Xr)})}return Br.$$.update=()=>{Br.$$.dirty&2050&&Dr(4,Nr=Jr(Hr,Yr)),Br.$$.dirty&1&&Qr&&Kr()},[Qr,Yr,Xr,Zr,Nr,Vr,Ur,jr,Wr,Gr,eo,Hr,no,io,so,ao,fo]}class ScreenList extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3l,create_fragment$3e,safe_not_equal,{})}}const ComponentDropdownMenu_svelte_svelte_type_style_lang="";function create_default_slot_12$e(Br){let zr;return{c(){zr=text("Delete")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_if_block_1$W(Br){let zr,Dr;return zr=new Item$1({props:{icon:"Export",keyBind:"Ctrl+E",$$slots:{default:[create_default_slot_11$k]},$$scope:{ctx:Br}}}),zr.$on("click",Br[9]),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&1048576&&(Vr.$$scope={dirty:Hr,ctx:Nr}),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_default_slot_11$k(Br){let zr;return{c(){zr=text("Eject block")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_10$m(Br){let zr;return{c(){zr=text("Move up")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_9$q(Br){let zr;return{c(){zr=text("Move down")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_8$q(Br){let zr;return{c(){zr=text("Duplicate")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_7$C(Br){let zr;return{c(){zr=text("Cut")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_6$I(Br){let zr;return{c(){zr=text("Copy")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_5$N(Br){let zr;return{c(){zr=text("Paste")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_if_block$1L(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr;return zr=new Item$1({props:{icon:"TreeExpand",keyBind:"!ArrowRight",disabled:Br[1],$$slots:{default:[create_default_slot_4$V]},$$scope:{ctx:Br}}}),zr.$on("click",Br[16]),Nr=new Item$1({props:{icon:"TreeCollapse",keyBind:"!ArrowLeft",disabled:!Br[1],$$slots:{default:[create_default_slot_3$17]},$$scope:{ctx:Br}}}),Nr.$on("click",Br[17]),Vr=new Item$1({props:{icon:"TreeExpandAll",keyBind:"Ctrl+!ArrowRight",$$slots:{default:[create_default_slot_2$1p]},$$scope:{ctx:Br}}}),Vr.$on("click",Br[18]),jr=new Item$1({props:{icon:"TreeCollapseAll",keyBind:"Ctrl+!ArrowLeft",$$slots:{default:[create_default_slot_1$1P]},$$scope:{ctx:Br}}}),jr.$on("click",Br[19]),{c(){create_component(zr.$$.fragment),Dr=space$1(),create_component(Nr.$$.fragment),Hr=space$1(),create_component(Vr.$$.fragment),Ur=space$1(),create_component(jr.$$.fragment)},m(Gr,Qr){mount_component(zr,Gr,Qr),insert$1(Gr,Dr,Qr),mount_component(Nr,Gr,Qr),insert$1(Gr,Hr,Qr),mount_component(Vr,Gr,Qr),insert$1(Gr,Ur,Qr),mount_component(jr,Gr,Qr),Wr=!0},p(Gr,Qr){const Yr={};Qr&2&&(Yr.disabled=Gr[1]),Qr&1048576&&(Yr.$$scope={dirty:Qr,ctx:Gr}),zr.$set(Yr);const Xr={};Qr&2&&(Xr.disabled=!Gr[1]),Qr&1048576&&(Xr.$$scope={dirty:Qr,ctx:Gr}),Nr.$set(Xr);const Zr={};Qr&1048576&&(Zr.$$scope={dirty:Qr,ctx:Gr}),Vr.$set(Zr);const Kr={};Qr&1048576&&(Kr.$$scope={dirty:Qr,ctx:Gr}),jr.$set(Kr)},i(Gr){Wr||(transition_in(zr.$$.fragment,Gr),transition_in(Nr.$$.fragment,Gr),transition_in(Vr.$$.fragment,Gr),transition_in(jr.$$.fragment,Gr),Wr=!0)},o(Gr){transition_out(zr.$$.fragment,Gr),transition_out(Nr.$$.fragment,Gr),transition_out(Vr.$$.fragment,Gr),transition_out(jr.$$.fragment,Gr),Wr=!1},d(Gr){Gr&&(detach(Dr),detach(Hr),detach(Ur)),destroy_component(zr,Gr),destroy_component(Nr,Gr),destroy_component(Vr,Gr),destroy_component(jr,Gr)}}}function create_default_slot_4$V(Br){let zr;return{c(){zr=text("Expand")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_3$17(Br){let zr;return{c(){zr=text("Collapse")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_2$1p(Br){let zr;return{c(){zr=text("Expand All")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_1$1P(Br){let zr;return{c(){zr=text("Collapse All")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot$2d(Br){var ao,fo;let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr,Xr,Zr,Kr,Jr,eo,no;zr=new Item$1({props:{icon:"Delete",keyBind:"!BackAndroid",$$slots:{default:[create_default_slot_12$e]},$$scope:{ctx:Br}}}),zr.$on("click",Br[8]);let io=Br[3]&&Br[2]&&create_if_block_1$W(Br);Hr=new Item$1({props:{icon:"ChevronUp",keyBind:"Ctrl+!ArrowUp",$$slots:{default:[create_default_slot_10$m]},$$scope:{ctx:Br}}}),Hr.$on("click",Br[10]),Ur=new Item$1({props:{icon:"ChevronDown",keyBind:"Ctrl+!ArrowDown",$$slots:{default:[create_default_slot_9$q]},$$scope:{ctx:Br}}}),Ur.$on("click",Br[11]),Wr=new Item$1({props:{icon:"Duplicate",keyBind:"Ctrl+D",$$slots:{default:[create_default_slot_8$q]},$$scope:{ctx:Br}}}),Wr.$on("click",Br[12]),Qr=new Item$1({props:{icon:"Cut",keyBind:"Ctrl+X",$$slots:{default:[create_default_slot_7$C]},$$scope:{ctx:Br}}}),Qr.$on("click",Br[13]),Xr=new Item$1({props:{icon:"Copy",keyBind:"Ctrl+C",$$slots:{default:[create_default_slot_6$I]},$$scope:{ctx:Br}}}),Xr.$on("click",Br[14]),Kr=new Item$1({props:{icon:"LayersSendToBack",keyBind:"Ctrl+V",disabled:Br[4],$$slots:{default:[create_default_slot_5$N]},$$scope:{ctx:Br}}}),Kr.$on("click",Br[15]);let so=((fo=(ao=Br[0])==null?void 0:ao._children)==null?void 0:fo.length)&&create_if_block$1L(Br);return{c(){create_component(zr.$$.fragment),Dr=space$1(),io&&io.c(),Nr=space$1(),create_component(Hr.$$.fragment),Vr=space$1(),create_component(Ur.$$.fragment),jr=space$1(),create_component(Wr.$$.fragment),Gr=space$1(),create_component(Qr.$$.fragment),Yr=space$1(),create_component(Xr.$$.fragment),Zr=space$1(),create_component(Kr.$$.fragment),Jr=space$1(),so&&so.c(),eo=empty$2()},m(po,go){mount_component(zr,po,go),insert$1(po,Dr,go),io&&io.m(po,go),insert$1(po,Nr,go),mount_component(Hr,po,go),insert$1(po,Vr,go),mount_component(Ur,po,go),insert$1(po,jr,go),mount_component(Wr,po,go),insert$1(po,Gr,go),mount_component(Qr,po,go),insert$1(po,Yr,go),mount_component(Xr,po,go),insert$1(po,Zr,go),mount_component(Kr,po,go),insert$1(po,Jr,go),so&&so.m(po,go),insert$1(po,eo,go),no=!0},p(po,go){var yo,Co;const $o={};go&1048576&&($o.$$scope={dirty:go,ctx:po}),zr.$set($o),po[3]&&po[2]?io?(io.p(po,go),go&12&&transition_in(io,1)):(io=create_if_block_1$W(po),io.c(),transition_in(io,1),io.m(Nr.parentNode,Nr)):io&&(group_outros(),transition_out(io,1,1,()=>{io=null}),check_outros());const vo={};go&1048576&&(vo.$$scope={dirty:go,ctx:po}),Hr.$set(vo);const So={};go&1048576&&(So.$$scope={dirty:go,ctx:po}),Ur.$set(So);const ko={};go&1048576&&(ko.$$scope={dirty:go,ctx:po}),Wr.$set(ko);const To={};go&1048576&&(To.$$scope={dirty:go,ctx:po}),Qr.$set(To);const Eo={};go&1048576&&(Eo.$$scope={dirty:go,ctx:po}),Xr.$set(Eo);const Oo={};go&16&&(Oo.disabled=po[4]),go&1048576&&(Oo.$$scope={dirty:go,ctx:po}),Kr.$set(Oo),(Co=(yo=po[0])==null?void 0:yo._children)!=null&&Co.length?so?(so.p(po,go),go&1&&transition_in(so,1)):(so=create_if_block$1L(po),so.c(),transition_in(so,1),so.m(eo.parentNode,eo)):so&&(group_outros(),transition_out(so,1,1,()=>{so=null}),check_outros())},i(po){no||(transition_in(zr.$$.fragment,po),transition_in(io),transition_in(Hr.$$.fragment,po),transition_in(Ur.$$.fragment,po),transition_in(Wr.$$.fragment,po),transition_in(Qr.$$.fragment,po),transition_in(Xr.$$.fragment,po),transition_in(Kr.$$.fragment,po),transition_in(so),no=!0)},o(po){transition_out(zr.$$.fragment,po),transition_out(io),transition_out(Hr.$$.fragment,po),transition_out(Ur.$$.fragment,po),transition_out(Wr.$$.fragment,po),transition_out(Qr.$$.fragment,po),transition_out(Xr.$$.fragment,po),transition_out(Kr.$$.fragment,po),transition_out(so),no=!1},d(po){po&&(detach(Dr),detach(Nr),detach(Vr),detach(jr),detach(Gr),detach(Yr),detach(Zr),detach(Jr),detach(eo)),destroy_component(zr,po),io&&io.d(po),destroy_component(Hr,po),destroy_component(Ur,po),destroy_component(Wr,po),destroy_component(Qr,po),destroy_component(Xr,po),destroy_component(Kr,po),so&&so.d(po)}}}function create_control_slot$8(Br){let zr,Dr,Nr;return Dr=new Icon({props:{size:"S",hoverable:!0,name:"MoreSmallList"}}),{c(){zr=element("div"),create_component(Dr.$$.fragment),attr(zr,"slot","control"),attr(zr,"class","icon svelte-u6s22l")},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},p:noop$6,i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function create_fragment$3d(Br){let zr,Dr;return zr=new ActionMenu({props:{$$slots:{control:[create_control_slot$8],default:[create_default_slot$2d]},$$scope:{ctx:Br}}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,[Hr]){const Vr={};Hr&1048607&&(Vr.$$scope={dirty:Hr,ctx:Nr}),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function instance$3k(Br,zr,Dr){let Nr,Hr,Vr,Ur,jr;component_subscribe(Br,componentStore,go=>Dr(7,jr=go));let{component:Wr}=zr,{opened:Gr}=zr;const Qr=(go,$o=!1)=>{document.dispatchEvent(new CustomEvent("component-menu",{detail:{key:go,ctrlKey:$o,id:Wr==null?void 0:Wr._id}}))},Yr=()=>Qr("Delete"),Xr=()=>Qr("e",!0),Zr=()=>Qr("ArrowUp",!0),Kr=()=>Qr("ArrowDown",!0),Jr=()=>Qr("d",!0),eo=()=>Qr("x",!0),no=()=>Qr("c",!0),io=()=>Qr("v",!0),so=()=>Qr("ArrowRight",!1),ao=()=>Qr("ArrowLeft",!1),fo=()=>Qr("ArrowRight",!0),po=()=>Qr("ArrowLeft",!0);return Br.$$set=go=>{"component"in go&&Dr(0,Wr=go.component),"opened"in go&&Dr(1,Gr=go.opened)},Br.$$.update=()=>{Br.$$.dirty&1&&Dr(6,Nr=componentStore.getDefinition(Wr==null?void 0:Wr._component)),Br.$$.dirty&128&&Dr(4,Hr=!jr.componentToPaste),Br.$$.dirty&64&&Dr(3,Vr=(Nr==null?void 0:Nr.block)===!0),Br.$$.dirty&64&&Dr(2,Ur=(Nr==null?void 0:Nr.ejectable)!==!1)},[Wr,Gr,Ur,Vr,Hr,Qr,Nr,jr,Yr,Xr,Zr,Kr,Jr,eo,no,io,so,ao,fo,po]}class ComponentDropdownMenu extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3k,create_fragment$3d,safe_not_equal,{component:0,opened:1})}}const DropPosition={ABOVE:"above",BELOW:"below",INSIDE:"inside"},initialState={source:null,target:null,targetParent:null,dropPosition:null,dragging:!1,valid:!1},createDNDStore=()=>{const Br=writable(initialState),zr={dragstart:Dr=>{Dr&&Br.set({source:Dr,target:null,dropPosition:null,dragging:!0,valid:!1})},dragover:({component:Dr,mousePosition:Nr})=>{var Yr,Xr;const Hr=componentStore.getDefinition(Dr._component),Vr=Hr==null?void 0:Hr.hasChildren,Ur=((Yr=Dr._children)==null?void 0:Yr.length)>0;let jr,Wr,Gr;Vr?Nr<=.33?jr=DropPosition.ABOVE:Nr>=.66?jr=DropPosition.BELOW:jr=DropPosition.INSIDE:jr=Nr>.5?DropPosition.BELOW:DropPosition.ABOVE,jr===DropPosition.BELOW&&Ur?(Wr=Dr._children[0],jr=DropPosition.ABOVE):Wr=Dr;const Qr=get_store_value(Br);jr===Qr.dropPosition&&(Wr==null?void 0:Wr._id)===((Xr=Qr.target)==null?void 0:Xr._id)||(Wr&&(Gr=findComponentParent(get_store_value(selectedScreen).props,Wr._id)),Br.update(Zr=>{var Kr;return{...Zr,dropPosition:jr,target:Wr,targetParent:Gr,valid:((Kr=findComponentPath(Zr.source,Wr._id))==null?void 0:Kr.length)===0}}))},reset:()=>{Br.set(initialState)},drop:async()=>{const Dr=get_store_value(Br);!Dr.valid||!Dr.source||!Dr.target||(zr.reset(),componentStore.copy(Dr.source,!0,!1),await componentStore.paste(Dr.target,Dr.dropPosition))}};return{subscribe:Br.subscribe,actions:zr}},dndStore=createDNDStore(),ComponentTree_svelte_svelte_type_style_lang="";function get_each_context$D(Br,zr,Dr){const Nr=Br.slice();Nr[23]=zr[Dr],Nr[26]=Dr;const Hr=Nr[10](Nr[23],Nr[3]);return Nr[24]=Hr,Nr}function create_default_slot$2c(Br){let zr,Dr;return zr=new ComponentDropdownMenu({props:{opened:Br[24],component:Br[23]}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&12&&(Vr.opened=Nr[24]),Hr&4&&(Vr.component=Nr[23]),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_if_block$1K(Br){let zr,Dr;return zr=new ComponentTree({props:{components:Br[23]._children,dndStore,level:Br[0]+1}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&4&&(Vr.components=Nr[23]._children),Hr&1&&(Vr.level=Nr[0]+1),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_each_block$D(Br,zr){let Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr;function Qr(){return zr[16](zr[23])}function Yr(){return zr[17](zr[23])}function Xr(){return zr[18](zr[23])}Nr=new NavItem$1({props:{compact:!0,scrollable:!0,draggable:!0,hovering:zr[4].componentId===zr[23]._id,text:getComponentText(zr[23]),icon:zr[7](zr[23]),iconTooltip:getComponentName(zr[23]),withArrow:zr[8](zr[23]),indentLevel:zr[0],selected:zr[1].selectedComponentId===zr[23]._id,opened:zr[24],highlighted:zr[11](zr[23]),selectedBy:zr[5][zr[23]._id],$$slots:{default:[create_default_slot$2c]},$$scope:{ctx:zr}}}),Nr.$on("dragend",dndStore.actions.reset),Nr.$on("dragstart",Qr),Nr.$on("dragover",function(){is_function(zr[6](zr[23],zr[26]))&&zr[6](zr[23],zr[26]).apply(this,arguments)}),Nr.$on("iconClick",Yr),Nr.$on("drop",zr[9]),Nr.$on("mouseenter",Xr),Nr.$on("mouseleave",zr[19]);let Zr=zr[24]&&create_if_block$1K(zr);function Kr(){return zr[20](zr[23])}return{key:Br,first:null,c(){Dr=element("li"),create_component(Nr.$$.fragment),Hr=space$1(),Zr&&Zr.c(),Vr=space$1(),attr(Dr,"id",Ur=`component-${zr[23]._id}`),attr(Dr,"class","svelte-76gs04"),this.first=Dr},m(Jr,eo){insert$1(Jr,Dr,eo),mount_component(Nr,Dr,null),append$2(Dr,Hr),Zr&&Zr.m(Dr,null),append$2(Dr,Vr),jr=!0,Wr||(Gr=listen(Dr,"click",stop_propagation(Kr)),Wr=!0)},p(Jr,eo){zr=Jr;const no={};eo&20&&(no.hovering=zr[4].componentId===zr[23]._id),eo&4&&(no.text=getComponentText(zr[23])),eo&4&&(no.icon=zr[7](zr[23])),eo&4&&(no.iconTooltip=getComponentName(zr[23])),eo&4&&(no.withArrow=zr[8](zr[23])),eo&1&&(no.indentLevel=zr[0]),eo&6&&(no.selected=zr[1].selectedComponentId===zr[23]._id),eo&12&&(no.opened=zr[24]),eo&4&&(no.highlighted=zr[11](zr[23])),eo&36&&(no.selectedBy=zr[5][zr[23]._id]),eo&134217740&&(no.$$scope={dirty:eo,ctx:zr}),Nr.$set(no),zr[24]?Zr?(Zr.p(zr,eo),eo&12&&transition_in(Zr,1)):(Zr=create_if_block$1K(zr),Zr.c(),transition_in(Zr,1),Zr.m(Dr,Vr)):Zr&&(group_outros(),transition_out(Zr,1,1,()=>{Zr=null}),check_outros()),(!jr||eo&4&&Ur!==(Ur=`component-${zr[23]._id}`))&&attr(Dr,"id",Ur)},i(Jr){jr||(transition_in(Nr.$$.fragment,Jr),transition_in(Zr),jr=!0)},o(Jr){transition_out(Nr.$$.fragment,Jr),transition_out(Zr),jr=!1},d(Jr){Jr&&detach(Dr),destroy_component(Nr),Zr&&Zr.d(),Wr=!1,Gr()}}}function create_fragment$3c(Br){let zr,Dr=[],Nr=new Map,Hr,Vr=ensure_array_like(Br[2]||[]);const Ur=jr=>jr[23]._id;for(let jr=0;jr<Vr.length;jr+=1){let Wr=get_each_context$D(Br,Vr,jr),Gr=Ur(Wr);Nr.set(Gr,Dr[jr]=create_each_block$D(Gr,Wr))}return{c(){zr=element("ul");for(let jr=0;jr<Dr.length;jr+=1)Dr[jr].c();attr(zr,"class","svelte-76gs04")},m(jr,Wr){insert$1(jr,zr,Wr);for(let Gr=0;Gr<Dr.length;Gr+=1)Dr[Gr]&&Dr[Gr].m(zr,null);Hr=!0},p(jr,[Wr]){Wr&16383&&(Vr=ensure_array_like(jr[2]||[]),group_outros(),Dr=update_keyed_each(Dr,Wr,Ur,1,jr,Vr,Nr,zr,outro_and_destroy_block,create_each_block$D,null,get_each_context$D),check_outros())},i(jr){if(!Hr){for(let Wr=0;Wr<Vr.length;Wr+=1)transition_in(Dr[Wr]);Hr=!0}},o(jr){for(let Wr=0;Wr<Dr.length;Wr+=1)transition_out(Dr[Wr]);Hr=!1},d(jr){jr&&detach(zr);for(let Wr=0;Wr<Dr.length;Wr+=1)Dr[Wr].d()}}}function instance$3j(Br,zr,Dr){let Nr,Hr,Vr,Ur,jr,Wr,Gr;component_subscribe(Br,selectedComponent,So=>Dr(21,Vr=So)),component_subscribe(Br,componentStore,So=>Dr(1,Ur=So)),component_subscribe(Br,componentTreeNodesStore,So=>Dr(15,jr=So)),component_subscribe(Br,hoverStore,So=>Dr(4,Wr=So)),component_subscribe(Br,userSelectedResourceMap,So=>Dr(5,Gr=So));let{components:Qr=[]}=zr,{level:Yr=0}=zr;const Xr=(So,ko)=>To=>{const Eo=To.offsetY/To.currentTarget.offsetHeight;return dndStore.actions.dragover({component:So,index:ko,mousePosition:Eo}),!1},Zr=So=>{const ko=componentStore.getDefinition(So==null?void 0:So._component);return ko==null?void 0:ko.icon},Kr=So=>{const ko=componentStore.getDefinition(So==null?void 0:So._component);return ko==null?void 0:ko.hasChildren},Jr=So=>{var ko;return Kr(So)&&((ko=So._children)==null?void 0:ko.length)},eo=async So=>{So.stopPropagation();try{await dndStore.actions.drop()}catch(ko){notifications.error(ko||"Error saving component")}},no=So=>{var ko;return(ko=So==null?void 0:So._children)!=null&&ko.length?componentTreeNodesStore.isNodeExpanded(So._id):!1},io=So=>{var Eo,Oo,yo;const ko=(Eo=get_store_value(selectedComponent))==null?void 0:Eo._id,To=(Oo=get_store_value(selectedScreen))==null?void 0:Oo.props._id;return!ko||ko===To?!1:((yo=findComponentPath(Vr,So._id))==null?void 0:yo.length)>0},so=So=>{componentStore.select(So),componentTreeNodesStore.toggleNode(So)},ao=hoverStore.hover,fo=So=>dndStore.actions.dragstart(So),po=So=>so(So._id),go=So=>ao(So._id),$o=()=>ao(null),vo=So=>{componentStore.select(So._id)};return Br.$$set=So=>{"components"in So&&Dr(14,Qr=So.components),"level"in So&&Dr(0,Yr=So.level)},Br.$$.update=()=>{Br.$$.dirty&32768&&Dr(3,Nr=jr),Br.$$.dirty&16386&&Dr(2,Hr=Qr==null?void 0:Qr.filter(So=>{var ko,To;return!((ko=Ur.componentToPaste)!=null&&ko.isCut)||So._id!==((To=Ur.componentToPaste)==null?void 0:To._id)}))},[Yr,Ur,Hr,Nr,Wr,Gr,Xr,Zr,Jr,eo,no,io,so,ao,Qr,jr,fo,po,go,$o,vo]}class ComponentTree extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3j,create_fragment$3c,safe_not_equal,{components:14,level:0})}}const ScreenslotDropdownMenu_svelte_svelte_type_style_lang="";function create_if_block$1J(Br){let zr,Dr;return zr=new ActionMenu({props:{$$slots:{control:[create_control_slot$7],default:[create_default_slot$2b]},$$scope:{ctx:Br}}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&514&&(Vr.$$scope={dirty:Hr,ctx:Nr}),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_default_slot_2$1o(Br){let zr;return{c(){zr=text("Copy")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_1$1O(Br){let zr;return{c(){zr=text("Paste")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot$2b(Br){let zr,Dr,Nr,Hr;return zr=new Item$1({props:{icon:"Copy",keyBind:"Ctrl+C",$$slots:{default:[create_default_slot_2$1o]},$$scope:{ctx:Br}}}),zr.$on("click",Br[7]),Nr=new Item$1({props:{icon:"LayersSendToBack",keyBind:"Ctrl+V",disabled:Br[1],$$slots:{default:[create_default_slot_1$1O]},$$scope:{ctx:Br}}}),Nr.$on("click",Br[8]),{c(){create_component(zr.$$.fragment),Dr=space$1(),create_component(Nr.$$.fragment)},m(Vr,Ur){mount_component(zr,Vr,Ur),insert$1(Vr,Dr,Ur),mount_component(Nr,Vr,Ur),Hr=!0},p(Vr,Ur){const jr={};Ur&512&&(jr.$$scope={dirty:Ur,ctx:Vr}),zr.$set(jr);const Wr={};Ur&2&&(Wr.disabled=Vr[1]),Ur&512&&(Wr.$$scope={dirty:Ur,ctx:Vr}),Nr.$set(Wr)},i(Vr){Hr||(transition_in(zr.$$.fragment,Vr),transition_in(Nr.$$.fragment,Vr),Hr=!0)},o(Vr){transition_out(zr.$$.fragment,Vr),transition_out(Nr.$$.fragment,Vr),Hr=!1},d(Vr){Vr&&detach(Dr),destroy_component(zr,Vr),destroy_component(Nr,Vr)}}}function create_control_slot$7(Br){let zr,Dr,Nr;return Dr=new Icon({props:{size:"S",hoverable:!0,name:"MoreSmallList"}}),{c(){zr=element("div"),create_component(Dr.$$.fragment),attr(zr,"slot","control"),attr(zr,"class","icon svelte-u6s22l")},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},p:noop$6,i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function create_fragment$3b(Br){let zr,Dr,Nr=Br[0]&&create_if_block$1J(Br);return{c(){Nr&&Nr.c(),zr=empty$2()},m(Hr,Vr){Nr&&Nr.m(Hr,Vr),insert$1(Hr,zr,Vr),Dr=!0},p(Hr,[Vr]){Hr[0]?Nr?(Nr.p(Hr,Vr),Vr&1&&transition_in(Nr,1)):(Nr=create_if_block$1J(Hr),Nr.c(),transition_in(Nr,1),Nr.m(zr.parentNode,zr)):Nr&&(group_outros(),transition_out(Nr,1,1,()=>{Nr=null}),check_outros())},i(Hr){Dr||(transition_in(Nr),Dr=!0)},o(Hr){transition_out(Nr),Dr=!1},d(Hr){Hr&&detach(zr),Nr&&Nr.d(Hr)}}}function instance$3i(Br,zr,Dr){let Nr,Hr,Vr,Ur;component_subscribe(Br,componentStore,Xr=>Dr(6,Ur=Xr));let{component:jr}=zr;const Wr=(Xr=!1)=>{componentStore.copy(jr,Xr)},Gr=Xr=>{try{componentStore.paste(jr,Xr)}catch{notifications.error("Error saving component")}},Qr=()=>Wr(!1),Yr=()=>Gr("inside");return Br.$$set=Xr=>{"component"in Xr&&Dr(4,jr=Xr.component)},Br.$$.update=()=>{Br.$$.dirty&16&&Dr(5,Nr=componentStore.getDefinition(jr==null?void 0:jr._component)),Br.$$.dirty&64&&Dr(1,Hr=!Ur.componentToPaste),Br.$$.dirty&32&&Dr(0,Vr=(Nr==null?void 0:Nr.editable)!==!1&&(Nr==null?void 0:Nr.static)!==!0)},[Vr,Hr,Wr,Gr,jr,Nr,Ur,Qr,Yr]}class ScreenslotDropdownMenu extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3i,create_fragment$3b,safe_not_equal,{component:4})}}const DNDPositionIndicator_svelte_svelte_type_style_lang="";function create_if_block$1I(Br){let zr,Dr;return{c(){zr=element("div"),attr(zr,"class","indicator svelte-9uy3y5"),set_style(zr,"--x",Br[2]+"px"),set_style(zr,"--y",Br[3]+"px"),set_style(zr,"--width",Br[4]+"px"),set_style(zr,"--height",Br[5]+"px"),toggle_class(zr,"above",Br[1]===DropPosition.ABOVE),toggle_class(zr,"below",Br[1]===DropPosition.BELOW),toggle_class(zr,"inside",Br[1]===DropPosition.INSIDE)},m(Nr,Hr){insert$1(Nr,zr,Hr)},p(Nr,Hr){Hr&4&&set_style(zr,"--x",Nr[2]+"px"),Hr&8&&set_style(zr,"--y",Nr[3]+"px"),Hr&16&&set_style(zr,"--width",Nr[4]+"px"),Hr&32&&set_style(zr,"--height",Nr[5]+"px"),Hr&2&&toggle_class(zr,"above",Nr[1]===DropPosition.ABOVE),Hr&2&&toggle_class(zr,"below",Nr[1]===DropPosition.BELOW),Hr&2&&toggle_class(zr,"inside",Nr[1]===DropPosition.INSIDE)},i(Nr){Nr&&(Dr||add_render_callback(()=>{Dr=create_in_transition(zr,fade,{duration:130}),Dr.start()}))},o:noop$6,d(Nr){Nr&&detach(zr)}}}function create_fragment$3a(Br){let zr,Dr=Br[0]&&Br[1]&&create_if_block$1I(Br);return{c(){Dr&&Dr.c(),zr=empty$2()},m(Nr,Hr){Dr&&Dr.m(Nr,Hr),insert$1(Nr,zr,Hr)},p(Nr,[Hr]){Nr[0]&&Nr[1]?Dr?(Dr.p(Nr,Hr),Hr&3&&transition_in(Dr,1)):(Dr=create_if_block$1I(Nr),Dr.c(),transition_in(Dr,1),Dr.m(zr.parentNode,zr)):Dr&&(Dr.d(1),Dr=null)},i(Nr){transition_in(Dr)},o:noop$6,d(Nr){Nr&&detach(zr),Dr&&Dr.d(Nr)}}}function instance$3h(Br,zr,Dr){let{component:Nr}=zr,{position:Hr}=zr,Vr,Ur,jr,Wr;const Gr=Qr=>{var Zr;const Yr=document.getElementById(`component-${Qr==null?void 0:Qr._id}`),Xr=(Zr=Yr==null?void 0:Yr.children[0])==null?void 0:Zr.children[0];Yr&&(Dr(2,Vr=Xr.offsetLeft),Dr(3,Ur=Xr.offsetTop),Dr(4,jr=Xr.clientWidth),Dr(5,Wr=Xr.clientHeight))};return Br.$$set=Qr=>{"component"in Qr&&Dr(0,Nr=Qr.component),"position"in Qr&&Dr(1,Hr=Qr.position)},Br.$$.update=()=>{Br.$$.dirty&1&&Gr(Nr)},[Nr,Hr,Vr,Ur,jr,Wr]}class DNDPositionIndicator extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3h,create_fragment$3a,safe_not_equal,{component:0,position:1})}}function create_fragment$39(Br){var jr,Wr;let zr,Dr,Nr,Hr,Vr={title:"Confirm Deletion",body:`Are you sure you want to delete "${(jr=Br[2])==null?void 0:jr._instanceName}"?`,okText:"Delete Component",onOk:Br[4]};zr=new ConfirmDialog({props:Vr}),Br[5](zr);let Ur={title:"Eject block",body:`Ejecting a block breaks it down into multiple components and cannot be undone. Are you sure you want to eject "${(Wr=Br[3])==null?void 0:Wr._instanceName}"?`,onOk:Br[6],okText:"Eject block"};return Nr=new ConfirmDialog({props:Ur}),Br[7](Nr),{c(){create_component(zr.$$.fragment),Dr=space$1(),create_component(Nr.$$.fragment)},m(Gr,Qr){mount_component(zr,Gr,Qr),insert$1(Gr,Dr,Qr),mount_component(Nr,Gr,Qr),Hr=!0},p(Gr,[Qr]){var Zr,Kr;const Yr={};Qr&4&&(Yr.body=`Are you sure you want to delete "${(Zr=Gr[2])==null?void 0:Zr._instanceName}"?`),Qr&4&&(Yr.onOk=Gr[4]),zr.$set(Yr);const Xr={};Qr&8&&(Xr.body=`Ejecting a block breaks it down into multiple components and cannot be undone. Are you sure you want to eject "${(Kr=Gr[3])==null?void 0:Kr._instanceName}"?`),Qr&8&&(Xr.onOk=Gr[6]),Nr.$set(Xr)},i(Gr){Hr||(transition_in(zr.$$.fragment,Gr),transition_in(Nr.$$.fragment,Gr),Hr=!0)},o(Gr){transition_out(zr.$$.fragment,Gr),transition_out(Nr.$$.fragment,Gr),Hr=!1},d(Gr){Gr&&detach(Dr),Br[5](null),destroy_component(zr,Gr),Br[7](null),destroy_component(Nr,Gr)}}}function instance$3g(Br,zr,Dr){let Nr,Hr,Vr,Ur,jr;component_subscribe(Br,selectedScreen,ao=>Dr(8,Nr=ao)),component_subscribe(Br,selectedComponent,ao=>Dr(9,Hr=ao)),component_subscribe(Br,componentStore,ao=>Dr(10,Vr=ao)),component_subscribe(Br,goto,ao=>Dr(11,Ur=ao)),component_subscribe(Br,isActive,ao=>Dr(12,jr=ao));let Wr,Gr,Qr,Yr;const Xr={"Ctrl+ArrowUp":async ao=>{await componentStore.moveUp(ao)},"Ctrl+ArrowDown":async ao=>{await componentStore.moveDown(ao)},"Ctrl+c":ao=>{componentStore.copy(ao,!1)},"Ctrl+x":ao=>{componentStore.copy(ao,!0)},"Ctrl+v":async ao=>{await componentStore.paste(ao,"inside")},"Ctrl+d":async ao=>{componentStore.copy(ao),await componentStore.paste(ao,"below")},"Ctrl+e":ao=>{const fo=componentStore.getDefinition(ao._component),po=(fo==null?void 0:fo.block)===!0,go=(fo==null?void 0:fo.ejectable)!==!1;po&&go&&(Dr(3,Yr=ao),Gr.show())},"Ctrl+Enter":()=>{Ur("./:componentId/new")},Delete:ao=>{if((ao==null?void 0:ao._id)===Nr.props._id)return!1;Dr(2,Qr=ao),Wr.show()},ArrowUp:()=>{componentStore.selectPrevious()},ArrowDown:()=>{componentStore.selectNext()},ArrowRight:ao=>{componentTreeNodesStore.expandNodes([ao._id])},ArrowLeft:ao=>{componentStore.select(ao._id),componentTreeNodesStore.collapseNodes([ao._id])},"Ctrl+ArrowRight":ao=>{const fo=getChildIdsForComponent(ao);componentTreeNodesStore.expandNodes(fo)},"Ctrl+ArrowLeft":ao=>{componentStore.select(ao._id);const fo=getChildIdsForComponent(ao);componentTreeNodesStore.collapseNodes(fo)},Escape:()=>{jr("./:componentId/new")&&Ur(`./${Vr.selectedComponentId}`)}},Zr=async({event:ao,component:fo,key:po,ctrlKey:go=!1,shiftKey:$o=!1})=>{if(!fo||!po)return!1;try{po==="Backspace"&&(po="Delete"),$o&&(po="Shift+"+po),go&&(po="Ctrl+"+po);const vo=Xr[po];return vo?(ao&&po!=="Escape"&&(ao.preventDefault(),ao.stopPropagation()),await vo(fo)):!1}catch(vo){notifications.error(vo||"Error handling key press")}},Kr=async ao=>{var $o,vo,So,ko,To,Eo;if(ao.repeat)return;const fo=($o=document.activeElement)==null?void 0:$o.tagName.toLowerCase(),po=(So=(vo=document.activeElement)==null?void 0:vo.classList)==null?void 0:So.contains("cm-content"),go=(Eo=(To=(ko=document.activeElement)==null?void 0:ko.classList)==null?void 0:To[0])==null?void 0:Eo.startsWith("PostHogSurvey");if(!((po||go||["input","textarea"].indexOf(fo)!==-1)&&ao.key!=="Escape"))return await Zr({event:ao,component:Hr,key:ao.key,ctrlKey:ao.ctrlKey||ao.metaKey,shiftKey:ao.shiftKey})},Jr=async ao=>{const{id:fo,key:po,ctrlKey:go,shiftKey:$o}=ao.detail,vo=findComponent(Nr.props,fo);return await Zr({event:null,component:vo,key:po,ctrlKey:go,shiftKey:$o})};onMount(()=>(document.addEventListener("keydown",Kr),document.addEventListener("component-menu",Jr),()=>{document.removeEventListener("keydown",Kr),document.removeEventListener("component-menu",Jr)}));const eo=()=>componentStore.delete(Qr);function no(ao){binding_callbacks[ao?"unshift":"push"](()=>{Wr=ao,Dr(0,Wr)})}const io=()=>componentStore.requestEjectBlock(Yr==null?void 0:Yr._id);function so(ao){binding_callbacks[ao?"unshift":"push"](()=>{Gr=ao,Dr(1,Gr)})}return[Wr,Gr,Qr,Yr,eo,no,io,so]}class ComponentKeyHandler extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3g,create_fragment$39,safe_not_equal,{})}}const ComponentScrollWrapper_svelte_svelte_type_style_lang="";function create_fragment$38(Br){let zr,Dr,Nr,Hr;const Vr=Br[3].default,Ur=create_slot(Vr,Br,Br[2],null);return{c(){zr=element("div"),Ur&&Ur.c(),attr(zr,"ondragover","return false"),attr(zr,"ondragenter","return false"),attr(zr,"class","svelte-i1q9g5")},m(jr,Wr){insert$1(jr,zr,Wr),Ur&&Ur.m(zr,null),Br[5](zr),Dr=!0,Nr||(Hr=[listen(zr,"scroll",Br[4]),listen(zr,"drop",Br[1])],Nr=!0)},p(jr,[Wr]){Ur&&Ur.p&&(!Dr||Wr&4)&&update_slot_base(Ur,Vr,jr,jr[2],Dr?get_slot_changes(Vr,jr[2],Wr,null):get_all_dirty_from_scope(jr[2]),null)},i(jr){Dr||(transition_in(Ur,jr),Dr=!0)},o(jr){transition_out(Ur,jr),Dr=!1},d(jr){jr&&detach(zr),Ur&&Ur.d(jr),Br[5](null),Nr=!1,run_all(Hr)}}}function instance$3f(Br,zr,Dr){let{$$slots:Nr={},$$scope:Hr}=zr,Vr;setContext("scroll",{scrollTo:Qr=>{if(!Qr)return;const Yr=310,Xr=32,{scrollLeft:Zr,scrollTop:Kr,offsetHeight:Jr}=Vr;let eo=Vr.getBoundingClientRect(),no={};const io=Qr.left+Qr.width+Zr+16;io>Yr?no.left=io-Yr:no.left=0,no.left===Zr&&delete no.left;const so=Qr.top-(eo==null?void 0:eo.top)+Kr;so>Kr+Jr-2*Xr?no.top=so-Jr+2*Xr:so<Kr+Xr?no.top=so-Xr:delete no.top,!(no.left==null&&no.top==null)&&Vr.scroll({...no,behavior:"smooth"})}});const jr=async()=>{try{await dndStore.actions.drop()}catch(Qr){console.error(Qr),notifications.error("Error saving component")}};function Wr(Qr){bubble.call(this,Br,Qr)}function Gr(Qr){binding_callbacks[Qr?"unshift":"push"](()=>{Vr=Qr,Dr(0,Vr)})}return Br.$$set=Qr=>{"$$scope"in Qr&&Dr(2,Hr=Qr.$$scope)},[Vr,jr,Hr,Nr,Wr,Gr]}class ComponentScrollWrapper extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3f,create_fragment$38,safe_not_equal,{})}}const index_svelte_svelte_type_style_lang$g="";function create_default_slot_2$1n(Br){let zr;return{c(){zr=text("Components")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_1$1N(Br){var Nr;let zr,Dr;return zr=new ScreenslotDropdownMenu({props:{component:(Nr=Br[7])==null?void 0:Nr.props}}),{c(){create_component(zr.$$.fragment)},m(Hr,Vr){mount_component(zr,Hr,Vr),Dr=!0},p(Hr,Vr){var jr;const Ur={};Vr&128&&(Ur.component=(jr=Hr[7])==null?void 0:jr.props),zr.$set(Ur)},i(Hr){Dr||(transition_in(zr.$$.fragment,Hr),Dr=!0)},o(Hr){transition_out(zr.$$.fragment,Hr),Dr=!1},d(Hr){destroy_component(zr,Hr)}}}function create_if_block$1H(Br){let zr,Dr,Nr,Hr;zr=new DNDPositionIndicator({props:{component:Br[8].target,position:Br[8].dropPosition}});let Vr=Br[8].dropPosition!==DropPosition.INSIDE&&create_if_block_1$V(Br);return{c(){create_component(zr.$$.fragment),Dr=space$1(),Vr&&Vr.c(),Nr=empty$2()},m(Ur,jr){mount_component(zr,Ur,jr),insert$1(Ur,Dr,jr),Vr&&Vr.m(Ur,jr),insert$1(Ur,Nr,jr),Hr=!0},p(Ur,jr){const Wr={};jr&256&&(Wr.component=Ur[8].target),jr&256&&(Wr.position=Ur[8].dropPosition),zr.$set(Wr),Ur[8].dropPosition!==DropPosition.INSIDE?Vr?(Vr.p(Ur,jr),jr&256&&transition_in(Vr,1)):(Vr=create_if_block_1$V(Ur),Vr.c(),transition_in(Vr,1),Vr.m(Nr.parentNode,Nr)):Vr&&(group_outros(),transition_out(Vr,1,1,()=>{Vr=null}),check_outros())},i(Ur){Hr||(transition_in(zr.$$.fragment,Ur),transition_in(Vr),Hr=!0)},o(Ur){transition_out(zr.$$.fragment,Ur),transition_out(Vr),Hr=!1},d(Ur){Ur&&(detach(Dr),detach(Nr)),destroy_component(zr,Ur),Vr&&Vr.d(Ur)}}}function create_if_block_1$V(Br){let zr,Dr;return zr=new DNDPositionIndicator({props:{component:Br[8].targetParent,position:DropPosition.INSIDE}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&256&&(Vr.component=Nr[8].targetParent),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_default_slot$2a(Br){var Yr,Xr;let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr;Nr=new NavItem$1({props:{text:"Screen",indentLevel:0,selected:Br[4].selectedComponentId===`${Br[0].selectedScreenId}-screen`,opened:!0,scrollable:!0,icon:"WebPage",hovering:Br[5].componentId===Br[3],id:"component-screen",selectedBy:Br[6][Br[3]],$$slots:{default:[create_default_slot_1$1N]},$$scope:{ctx:Br}}}),Nr.$on("drop",Br[10]),Nr.$on("click",Br[13]),Nr.$on("mouseenter",Br[14]),Nr.$on("mouseleave",Br[15]),Vr=new NavItem$1({props:{text:"Navigation",indentLevel:0,selected:Br[4].selectedComponentId===Br[2],opened:!0,scrollable:!0,icon:(Yr=Br[7])!=null&&Yr.showNavigation?"Visibility":"VisibilityOff",hovering:Br[5].componentId===Br[2],id:"component-nav",selectedBy:Br[6][Br[2]]}}),Vr.$on("drop",Br[10]),Vr.$on("click",Br[16]),Vr.$on("mouseenter",Br[17]),Vr.$on("mouseleave",Br[18]),jr=new ComponentTree({props:{level:0,components:(Xr=Br[7])==null?void 0:Xr.props._children}});let Qr=Br[8].dragging&&Br[8].valid&&create_if_block$1H(Br);return{c(){zr=element("ul"),Dr=element("li"),create_component(Nr.$$.fragment),Hr=space$1(),create_component(Vr.$$.fragment),Ur=space$1(),create_component(jr.$$.fragment),Wr=space$1(),Qr&&Qr.c(),attr(Dr,"class","svelte-2glawg"),attr(zr,"class","svelte-2glawg")},m(Zr,Kr){insert$1(Zr,zr,Kr),append$2(zr,Dr),mount_component(Nr,Dr,null),append$2(Dr,Hr),mount_component(Vr,Dr,null),append$2(Dr,Ur),mount_component(jr,Dr,null),append$2(Dr,Wr),Qr&&Qr.m(Dr,null),Gr=!0},p(Zr,Kr){var io,so;const Jr={};Kr&17&&(Jr.selected=Zr[4].selectedComponentId===`${Zr[0].selectedScreenId}-screen`),Kr&40&&(Jr.hovering=Zr[5].componentId===Zr[3]),Kr&72&&(Jr.selectedBy=Zr[6][Zr[3]]),Kr&2097280&&(Jr.$$scope={dirty:Kr,ctx:Zr}),Nr.$set(Jr);const eo={};Kr&20&&(eo.selected=Zr[4].selectedComponentId===Zr[2]),Kr&128&&(eo.icon=(io=Zr[7])!=null&&io.showNavigation?"Visibility":"VisibilityOff"),Kr&36&&(eo.hovering=Zr[5].componentId===Zr[2]),Kr&68&&(eo.selectedBy=Zr[6][Zr[2]]),Vr.$set(eo);const no={};Kr&128&&(no.components=(so=Zr[7])==null?void 0:so.props._children),jr.$set(no),Zr[8].dragging&&Zr[8].valid?Qr?(Qr.p(Zr,Kr),Kr&256&&transition_in(Qr,1)):(Qr=create_if_block$1H(Zr),Qr.c(),transition_in(Qr,1),Qr.m(Dr,null)):Qr&&(group_outros(),transition_out(Qr,1,1,()=>{Qr=null}),check_outros())},i(Zr){Gr||(transition_in(Nr.$$.fragment,Zr),transition_in(Vr.$$.fragment,Zr),transition_in(jr.$$.fragment,Zr),transition_in(Qr),Gr=!0)},o(Zr){transition_out(Nr.$$.fragment,Zr),transition_out(Vr.$$.fragment,Zr),transition_out(jr.$$.fragment,Zr),transition_out(Qr),Gr=!1},d(Zr){Zr&&detach(zr),destroy_component(Nr),destroy_component(Vr),destroy_component(jr),Qr&&Qr.d()}}}function create_fragment$37(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr,Xr,Zr,Kr;return Nr=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1n]},$$scope:{ctx:Br}}}),Ur=new Icon({props:{name:"Add"}}),Gr=new ComponentScrollWrapper({props:{$$slots:{default:[create_default_slot$2a]},$$scope:{ctx:Br}}}),Gr.$on("scroll",Br[11]),Yr=new ComponentKeyHandler({}),{c(){zr=element("div"),Dr=element("div"),create_component(Nr.$$.fragment),Hr=space$1(),Vr=element("div"),create_component(Ur.$$.fragment),jr=space$1(),Wr=element("div"),create_component(Gr.$$.fragment),Qr=space$1(),create_component(Yr.$$.fragment),attr(Vr,"class","addButton svelte-2glawg"),attr(Dr,"class","header svelte-2glawg"),toggle_class(Dr,"scrolling",Br[1]),attr(Wr,"class","list-panel svelte-2glawg"),attr(zr,"class","components svelte-2glawg")},m(Jr,eo){insert$1(Jr,zr,eo),append$2(zr,Dr),mount_component(Nr,Dr,null),append$2(Dr,Hr),append$2(Dr,Vr),mount_component(Ur,Vr,null),append$2(zr,jr),append$2(zr,Wr),mount_component(Gr,Wr,null),append$2(zr,Qr),mount_component(Yr,zr,null),Xr=!0,Zr||(Kr=listen(Vr,"click",Br[9]),Zr=!0)},p(Jr,[eo]){const no={};eo&2097152&&(no.$$scope={dirty:eo,ctx:Jr}),Nr.$set(no),(!Xr||eo&2)&&toggle_class(Dr,"scrolling",Jr[1]);const io={};eo&2097661&&(io.$$scope={dirty:eo,ctx:Jr}),Gr.$set(io)},i(Jr){Xr||(transition_in(Nr.$$.fragment,Jr),transition_in(Ur.$$.fragment,Jr),transition_in(Gr.$$.fragment,Jr),transition_in(Yr.$$.fragment,Jr),Xr=!0)},o(Jr){transition_out(Nr.$$.fragment,Jr),transition_out(Ur.$$.fragment,Jr),transition_out(Gr.$$.fragment,Jr),transition_out(Yr.$$.fragment,Jr),Xr=!1},d(Jr){Jr&&detach(zr),destroy_component(Nr),destroy_component(Ur),destroy_component(Gr),destroy_component(Yr),Zr=!1,Kr()}}}function instance$3e(Br,zr,Dr){let Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr,Xr;component_subscribe(Br,goto,$o=>Dr(19,Vr=$o)),component_subscribe(Br,isActive,$o=>Dr(20,Ur=$o)),component_subscribe(Br,screenStore,$o=>Dr(0,jr=$o)),component_subscribe(Br,componentStore,$o=>Dr(4,Wr=$o)),component_subscribe(Br,hoverStore,$o=>Dr(5,Gr=$o)),component_subscribe(Br,userSelectedResourceMap,$o=>Dr(6,Qr=$o)),component_subscribe(Br,selectedScreen,$o=>Dr(7,Yr=$o)),component_subscribe(Br,dndStore,$o=>Dr(8,Xr=$o));let Zr=!1;const Kr=()=>{Ur("./:componentId/new")?Vr("./:componentId"):Vr("./:componentId/new")},Jr=async()=>{try{await dndStore.actions.drop()}catch($o){console.error($o),notifications.error("Error saving component")}},eo=$o=>{Dr(1,Zr=$o.target.scrollTop!==0)},no=hoverStore.hover,io=()=>{componentStore.select(`${jr.selectedScreenId}-screen`)},so=()=>no(Nr),ao=()=>no(null),fo=()=>{componentStore.select(`${jr.selectedScreenId}-navigation`)},po=()=>no(Hr),go=()=>no(null);return Br.$$.update=()=>{Br.$$.dirty&1&&Dr(3,Nr=`${jr.selectedScreenId}-screen`),Br.$$.dirty&1&&Dr(2,Hr=`${jr.selectedScreenId}-navigation`)},[jr,Zr,Hr,Nr,Wr,Gr,Qr,Yr,Xr,Kr,Jr,eo,no,io,so,ao,fo,po,go]}class ComponentList extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3e,create_fragment$37,safe_not_equal,{})}}const LeftPanel_svelte_svelte_type_style_lang="";function create_fragment$36(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr;return Nr=new ScreenList({}),Vr=new ComponentList({}),{c(){zr=element("div"),Dr=element("div"),create_component(Nr.$$.fragment),Hr=space$1(),create_component(Vr.$$.fragment),Ur=space$1(),jr=element("div"),Wr=element("div"),attr(Dr,"class","content svelte-16o68d1"),attr(Wr,"class","dividerClickExtender svelte-16o68d1"),attr(Wr,"role","separator"),attr(jr,"class","divider svelte-16o68d1"),attr(zr,"class","panel svelte-16o68d1")},m(Xr,Zr){insert$1(Xr,zr,Zr),append$2(zr,Dr),mount_component(Nr,Dr,null),append$2(Dr,Hr),mount_component(Vr,Dr,null),append$2(zr,Ur),append$2(zr,jr),append$2(jr,Wr),Gr=!0,Qr||(Yr=[action_destroyer(Br[1].call(null,Wr)),action_destroyer(Br[0].call(null,zr))],Qr=!0)},p:noop$6,i(Xr){Gr||(transition_in(Nr.$$.fragment,Xr),transition_in(Vr.$$.fragment,Xr),Gr=!0)},o(Xr){transition_out(Nr.$$.fragment,Xr),transition_out(Vr.$$.fragment,Xr),Gr=!1},d(Xr){Xr&&detach(zr),destroy_component(Nr),destroy_component(Vr),Qr=!1,run_all(Yr)}}}function instance$3d(Br){const[zr,Dr]=getHorizontalResizeActions();return[zr,Dr]}class LeftPanel extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3d,create_fragment$36,safe_not_equal,{})}}const _layout_svelte_svelte_type_style_lang$5="";function create_if_block$1G(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr;Nr=new LeftPanel({}),Vr=new AppPanel({});const Wr=Br[2].default,Gr=create_slot(Wr,Br,Br[1],null);return{c(){zr=element("div"),Dr=element("div"),create_component(Nr.$$.fragment),Hr=space$1(),create_component(Vr.$$.fragment),Ur=space$1(),Gr&&Gr.c(),attr(Dr,"class","content svelte-10lfz3d"),attr(zr,"class","design svelte-10lfz3d")},m(Qr,Yr){insert$1(Qr,zr,Yr),append$2(zr,Dr),mount_component(Nr,Dr,null),append$2(Dr,Hr),mount_component(Vr,Dr,null),append$2(Dr,Ur),Gr&&Gr.m(Dr,null),jr=!0},p(Qr,Yr){Gr&&Gr.p&&(!jr||Yr&2)&&update_slot_base(Gr,Wr,Qr,Qr[1],jr?get_slot_changes(Wr,Qr[1],Yr,null):get_all_dirty_from_scope(Qr[1]),null)},i(Qr){jr||(transition_in(Nr.$$.fragment,Qr),transition_in(Vr.$$.fragment,Qr),transition_in(Gr,Qr),jr=!0)},o(Qr){transition_out(Nr.$$.fragment,Qr),transition_out(Vr.$$.fragment,Qr),transition_out(Gr,Qr),jr=!1},d(Qr){Qr&&detach(zr),destroy_component(Nr),destroy_component(Vr),Gr&&Gr.d(Qr)}}}function create_fragment$35(Br){let zr,Dr,Nr=Br[0]&&create_if_block$1G(Br);return{c(){Nr&&Nr.c(),zr=empty$2()},m(Hr,Vr){Nr&&Nr.m(Hr,Vr),insert$1(Hr,zr,Vr),Dr=!0},p(Hr,[Vr]){Hr[0]?Nr?(Nr.p(Hr,Vr),Vr&1&&transition_in(Nr,1)):(Nr=create_if_block$1G(Hr),Nr.c(),transition_in(Nr,1),Nr.m(zr.parentNode,zr)):Nr&&(group_outros(),transition_out(Nr,1,1,()=>{Nr=null}),check_outros())},i(Hr){Dr||(transition_in(Nr),Dr=!0)},o(Hr){transition_out(Nr),Dr=!1},d(Hr){Hr&&detach(zr),Nr&&Nr.d(Hr)}}}function instance$3c(Br,zr,Dr){let Nr,Hr;component_subscribe(Br,screenStore,Wr=>Dr(3,Nr=Wr)),component_subscribe(Br,selectedScreen,Wr=>Dr(0,Hr=Wr));let{$$slots:Vr={},$$scope:Ur}=zr;const jr=syncURLToState({urlParam:"screenId",stateKey:"selectedScreenId",validate:Wr=>Nr.screens.some(Gr=>Gr._id===Wr),fallbackUrl:"../../design",routify:routify$1,update:screenStore.select,store:screenStore});return onDestroy(jr),Br.$$set=Wr=>{"$$scope"in Wr&&Dr(1,Ur=Wr.$$scope)},[Hr,Ur,Vr]}let Layout$e=class extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3c,create_fragment$35,safe_not_equal,{})}};function instance$3b(Br,zr,Dr){let Nr,Hr;return component_subscribe(Br,redirect,Vr=>Dr(0,Nr=Vr)),component_subscribe(Br,screenStore,Vr=>Dr(1,Hr=Vr)),Br.$$.update=()=>{Br.$$.dirty&3&&(Hr.screens.length>0?Nr(`./${Hr.screens[0]._id}`):Nr("./new"))},[Nr,Hr]}class Design extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3b,null,safe_not_equal,{})}}const blankImage="/builder/assets/blank-2f241fb9.png",tableInline="/builder/assets/tableInline-1dc23483.png",tableDetails="/builder/assets/tableDetails-dbebe46b.png",formImage="/builder/assets/form-83c4d923.png",DatasourceTemplateRow_svelte_svelte_type_style_lang="";function create_if_block$1F(Br){let zr,Dr,Nr;return Dr=new Icon({props:{size:"S",name:"CheckmarkCircle"}}),{c(){zr=element("span"),create_component(Dr.$$.fragment),attr(zr,"class","data-source-check svelte-7abi2p")},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function create_fragment$34(Br){let zr,Dr,Nr,Hr=Br[0].label+"",Vr,Ur,jr,Wr,Gr;Dr=new Icon({props:{name:Br[2],color:"var(--spectrum-global-color-gray-600)"}});let Qr=Br[1]&&create_if_block$1F();return{c(){zr=element("div"),create_component(Dr.$$.fragment),Nr=space$1(),Vr=text(Hr),Ur=space$1(),Qr&&Qr.c(),attr(zr,"class","data-source-entry svelte-7abi2p"),toggle_class(zr,"selected",Br[1])},m(Yr,Xr){insert$1(Yr,zr,Xr),mount_component(Dr,zr,null),append$2(zr,Nr),append$2(zr,Vr),append$2(zr,Ur),Qr&&Qr.m(zr,null),jr=!0,Wr||(Gr=listen(zr,"click",Br[3]),Wr=!0)},p(Yr,[Xr]){const Zr={};Xr&4&&(Zr.name=Yr[2]),Dr.$set(Zr),(!jr||Xr&1)&&Hr!==(Hr=Yr[0].label+"")&&set_data(Vr,Hr),Yr[1]?Qr?Xr&2&&transition_in(Qr,1):(Qr=create_if_block$1F(),Qr.c(),transition_in(Qr,1),Qr.m(zr,null)):Qr&&(group_outros(),transition_out(Qr,1,1,()=>{Qr=null}),check_outros()),(!jr||Xr&2)&&toggle_class(zr,"selected",Yr[1])},i(Yr){jr||(transition_in(Dr.$$.fragment,Yr),transition_in(Qr),jr=!0)},o(Yr){transition_out(Dr.$$.fragment,Yr),transition_out(Qr),jr=!1},d(Yr){Yr&&detach(zr),destroy_component(Dr),Qr&&Qr.d(),Wr=!1,Gr()}}}function instance$3a(Br,zr,Dr){let Nr,{datasource:Hr}=zr,{selected:Vr=!1}=zr;function Ur(jr){bubble.call(this,Br,jr)}return Br.$$set=jr=>{"datasource"in jr&&Dr(0,Hr=jr.datasource),"selected"in jr&&Dr(1,Vr=jr.selected)},Br.$$.update=()=>{Br.$$.dirty&1&&Dr(2,Nr=Hr.type==="viewV2"?"Remove":"Table")},[Hr,Vr,Nr,Ur]}class DatasourceTemplateRow extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$3a,create_fragment$34,safe_not_equal,{datasource:0,selected:1})}}const DatasourceModal_svelte_svelte_type_style_lang="";function get_each_context$C(Br,zr,Dr){const Nr=Br.slice();Nr[11]=zr[Dr];const Hr=Array.isArray(Nr[11].entities)?Nr[11].entities:Object.values(Nr[11].entities||{});return Nr[12]=Hr,Nr}function get_each_context_1$9(Br,zr,Dr){const Nr=Br.slice();Nr[15]=zr[Dr];const Hr=Object.values(Nr[15].views||{}).filter(jr=>jr.version===2);Nr[16]=Hr;const Vr={tableId:Nr[15]._id,label:Nr[15].name,resourceId:Nr[15]._id,type:"table"};Nr[17]=Vr;const Ur=Nr[1].find(function(...Wr){return Br[10](Nr[17],...Wr)});return Nr[18]=Ur,Nr}function get_each_context_2$4(Br,zr,Dr){const Nr=Br.slice();Nr[21]=zr[Dr];const Hr={label:Nr[21].name,id:Nr[21].id,resourceId:Nr[21].id,tableId:Nr[21].tableId,type:"viewV2"};Nr[22]=Hr;const Vr=Nr[1].find(function(...jr){return Br[9](Nr[22],...jr)});return Nr[18]=Vr,Nr}function create_default_slot_2$1m(Br){let zr;return{c(){zr=text("Select which datasources you would like to use to create your screens")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_each_block_2$4(Br){let zr,Dr;function Nr(){return Br[8](Br[22])}return zr=new DatasourceTemplateRow({props:{selected:Br[18],datasource:Br[22]}}),zr.$on("click",Nr),{c(){create_component(zr.$$.fragment)},m(Hr,Vr){mount_component(zr,Hr,Vr),Dr=!0},p(Hr,Vr){Br=Hr;const Ur={};Vr&6&&(Ur.selected=Br[18]),Vr&4&&(Ur.datasource=Br[22]),zr.$set(Ur)},i(Hr){Dr||(transition_in(zr.$$.fragment,Hr),Dr=!0)},o(Hr){transition_out(zr.$$.fragment,Hr),Dr=!1},d(Hr){destroy_component(zr,Hr)}}}function create_each_block_1$9(Br){let zr,Dr,Nr,Hr;function Vr(){return Br[7](Br[17])}zr=new DatasourceTemplateRow({props:{selected:Br[18],datasource:Br[17]}}),zr.$on("click",Vr);let Ur=ensure_array_like(Br[16]),jr=[];for(let Gr=0;Gr<Ur.length;Gr+=1)jr[Gr]=create_each_block_2$4(get_each_context_2$4(Br,Ur,Gr));const Wr=Gr=>transition_out(jr[Gr],1,1,()=>{jr[Gr]=null});return{c(){create_component(zr.$$.fragment),Dr=space$1();for(let Gr=0;Gr<jr.length;Gr+=1)jr[Gr].c();Nr=empty$2()},m(Gr,Qr){mount_component(zr,Gr,Qr),insert$1(Gr,Dr,Qr);for(let Yr=0;Yr<jr.length;Yr+=1)jr[Yr]&&jr[Yr].m(Gr,Qr);insert$1(Gr,Nr,Qr),Hr=!0},p(Gr,Qr){Br=Gr;const Yr={};if(Qr&6&&(Yr.selected=Br[18]),Qr&4&&(Yr.datasource=Br[17]),zr.$set(Yr),Qr&14){Ur=ensure_array_like(Br[16]);let Xr;for(Xr=0;Xr<Ur.length;Xr+=1){const Zr=get_each_context_2$4(Br,Ur,Xr);jr[Xr]?(jr[Xr].p(Zr,Qr),transition_in(jr[Xr],1)):(jr[Xr]=create_each_block_2$4(Zr),jr[Xr].c(),transition_in(jr[Xr],1),jr[Xr].m(Nr.parentNode,Nr))}for(group_outros(),Xr=Ur.length;Xr<jr.length;Xr+=1)Wr(Xr);check_outros()}},i(Gr){if(!Hr){transition_in(zr.$$.fragment,Gr);for(let Qr=0;Qr<Ur.length;Qr+=1)transition_in(jr[Qr]);Hr=!0}},o(Gr){transition_out(zr.$$.fragment,Gr),jr=jr.filter(Boolean);for(let Qr=0;Qr<jr.length;Qr+=1)transition_out(jr[Qr]);Hr=!1},d(Gr){Gr&&(detach(Dr),detach(Nr)),destroy_component(zr,Gr),destroy_each(jr,Gr)}}}function create_each_block$C(Br){let zr,Dr,Nr,Hr,Vr,Ur=Br[11].name+"",jr,Wr,Gr,Qr;var Yr=ICONS[Br[11].source];function Xr(eo,no){return{props:{height:"24",width:"24"}}}Yr&&(Nr=construct_svelte_component(Yr,Xr()));let Zr=ensure_array_like(Br[12].filter(func$b)),Kr=[];for(let eo=0;eo<Zr.length;eo+=1)Kr[eo]=create_each_block_1$9(get_each_context_1$9(Br,Zr,eo));const Jr=eo=>transition_out(Kr[eo],1,1,()=>{Kr[eo]=null});return{c(){zr=element("div"),Dr=element("div"),Nr&&create_component(Nr.$$.fragment),Hr=space$1(),Vr=element("div"),jr=text(Ur),Wr=space$1();for(let eo=0;eo<Kr.length;eo+=1)Kr[eo].c();Gr=space$1(),attr(Vr,"class","data-source-name"),attr(Dr,"class","data-source-header svelte-1tsbsfb"),attr(zr,"class","data-source-wrap svelte-1tsbsfb")},m(eo,no){insert$1(eo,zr,no),append$2(zr,Dr),Nr&&mount_component(Nr,Dr,null),append$2(Dr,Hr),append$2(Dr,Vr),append$2(Vr,jr),append$2(zr,Wr);for(let io=0;io<Kr.length;io+=1)Kr[io]&&Kr[io].m(zr,null);append$2(zr,Gr),Qr=!0},p(eo,no){if(no&4&&Yr!==(Yr=ICONS[eo[11].source])){if(Nr){group_outros();const io=Nr;transition_out(io.$$.fragment,1,0,()=>{destroy_component(io,1)}),check_outros()}Yr?(Nr=construct_svelte_component(Yr,Xr()),create_component(Nr.$$.fragment),transition_in(Nr.$$.fragment,1),mount_component(Nr,Dr,Hr)):Nr=null}if((!Qr||no&4)&&Ur!==(Ur=eo[11].name+"")&&set_data(jr,Ur),no&14){Zr=ensure_array_like(eo[12].filter(func$b));let io;for(io=0;io<Zr.length;io+=1){const so=get_each_context_1$9(eo,Zr,io);Kr[io]?(Kr[io].p(so,no),transition_in(Kr[io],1)):(Kr[io]=create_each_block_1$9(so),Kr[io].c(),transition_in(Kr[io],1),Kr[io].m(zr,Gr))}for(group_outros(),io=Zr.length;io<Kr.length;io+=1)Jr(io);check_outros()}},i(eo){if(!Qr){Nr&&transition_in(Nr.$$.fragment,eo);for(let no=0;no<Zr.length;no+=1)transition_in(Kr[no]);Qr=!0}},o(eo){Nr&&transition_out(Nr.$$.fragment,eo),Kr=Kr.filter(Boolean);for(let no=0;no<Kr.length;no+=1)transition_out(Kr[no]);Qr=!1},d(eo){eo&&detach(zr),Nr&&destroy_component(Nr),destroy_each(Kr,eo)}}}function create_default_slot_1$1M(Br){let zr,Dr,Nr=ensure_array_like(Br[2]),Hr=[];for(let Ur=0;Ur<Nr.length;Ur+=1)Hr[Ur]=create_each_block$C(get_each_context$C(Br,Nr,Ur));const Vr=Ur=>transition_out(Hr[Ur],1,1,()=>{Hr[Ur]=null});return{c(){for(let Ur=0;Ur<Hr.length;Ur+=1)Hr[Ur].c();zr=empty$2()},m(Ur,jr){for(let Wr=0;Wr<Hr.length;Wr+=1)Hr[Wr]&&Hr[Wr].m(Ur,jr);insert$1(Ur,zr,jr),Dr=!0},p(Ur,jr){if(jr&14){Nr=ensure_array_like(Ur[2]);let Wr;for(Wr=0;Wr<Nr.length;Wr+=1){const Gr=get_each_context$C(Ur,Nr,Wr);Hr[Wr]?(Hr[Wr].p(Gr,jr),transition_in(Hr[Wr],1)):(Hr[Wr]=create_each_block$C(Gr),Hr[Wr].c(),transition_in(Hr[Wr],1),Hr[Wr].m(zr.parentNode,zr))}for(group_outros(),Wr=Nr.length;Wr<Hr.length;Wr+=1)Vr(Wr);check_outros()}},i(Ur){if(!Dr){for(let jr=0;jr<Nr.length;jr+=1)transition_in(Hr[jr]);Dr=!0}},o(Ur){Hr=Hr.filter(Boolean);for(let jr=0;jr<Hr.length;jr+=1)transition_out(Hr[jr]);Dr=!1},d(Ur){Ur&&detach(zr),destroy_each(Hr,Ur)}}}function create_default_slot$29(Br){let zr,Dr,Nr,Hr;return zr=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1m]},$$scope:{ctx:Br}}}),Nr=new Layout$n({props:{noPadding:!0,gap:"S",$$slots:{default:[create_default_slot_1$1M]},$$scope:{ctx:Br}}}),{c(){create_component(zr.$$.fragment),Dr=space$1(),create_component(Nr.$$.fragment)},m(Vr,Ur){mount_component(zr,Vr,Ur),insert$1(Vr,Dr,Ur),mount_component(Nr,Vr,Ur),Hr=!0},p(Vr,Ur){const jr={};Ur&33554432&&(jr.$$scope={dirty:Ur,ctx:Vr}),zr.$set(jr);const Wr={};Ur&33554438&&(Wr.$$scope={dirty:Ur,ctx:Vr}),Nr.$set(Wr)},i(Vr){Hr||(transition_in(zr.$$.fragment,Vr),transition_in(Nr.$$.fragment,Vr),Hr=!0)},o(Vr){transition_out(zr.$$.fragment,Vr),transition_out(Nr.$$.fragment,Vr),Hr=!1},d(Vr){Vr&&detach(Dr),destroy_component(zr,Vr),destroy_component(Nr,Vr)}}}function create_fragment$33(Br){let zr,Dr,Nr;return Dr=new ModalContent({props:{title:"Autogenerated screens",confirmText:"Confirm",cancelText:"Back",onConfirm:Br[4],onCancel:Br[0],disabled:!Br[1].length,size:"L",$$slots:{default:[create_default_slot$29]},$$scope:{ctx:Br}}}),{c(){zr=element("span"),create_component(Dr.$$.fragment)},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},p(Hr,[Vr]){const Ur={};Vr&1&&(Ur.onCancel=Hr[0]),Vr&2&&(Ur.disabled=!Hr[1].length),Vr&33554438&&(Ur.$$scope={dirty:Vr,ctx:Hr}),Dr.$set(Ur)},i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}const func$b=Br=>Br._id!=="ta_users";function instance$39(Br,zr,Dr){let Nr,Hr;component_subscribe(Br,datasources,Kr=>Dr(6,Hr=Kr));let{onCancel:Vr}=zr,{onConfirm:Ur}=zr,jr=[];const Wr=Kr=>{jr.find(eo=>eo.resourceId===Kr.resourceId)?Dr(1,jr=jr.filter(eo=>eo.resourceId===Kr.resourceId)):Dr(1,jr=[...jr,Kr])},Gr=async()=>{await Ur({datasources:jr})};onMount(async()=>{try{await datasources.fetch()}catch{notifications.error("Error fetching datasources")}});const Qr=Kr=>Wr(Kr),Yr=Kr=>Wr(Kr),Xr=(Kr,Jr)=>Jr.resourceId===Kr.resourceId,Zr=(Kr,Jr)=>Jr.resourceId===Kr.resourceId;return Br.$$set=Kr=>{"onCancel"in Kr&&Dr(0,Vr=Kr.onCancel),"onConfirm"in Kr&&Dr(5,Ur=Kr.onConfirm)},Br.$$.update=()=>{var Kr;Br.$$.dirty&64&&Dr(2,Nr=(Kr=Hr.list)==null?void 0:Kr.filter(Jr=>Jr.source!==IntegrationNames.REST&&Jr.entities))},[Vr,jr,Nr,Wr,Gr,Ur,Hr,Qr,Yr,Xr,Zr]}class DatasourceModal extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$39,create_fragment$33,safe_not_equal,{onCancel:0,onConfirm:5})}}function create_default_slot$28(Br){let zr,Dr,Nr,Hr;function Vr(jr){Br[9](jr)}let Ur={label:"Access",error:Br[4],getOptionLabel:func$a,getOptionValue:func_1$9,getOptionColour:Br[8],options:Br[5],placeholder:null};return Br[0]!==void 0&&(Ur.value=Br[0]),Dr=new Select_1$1({props:Ur}),binding_callbacks.push(()=>bind$2(Dr,"value",Vr)),Dr.$on("change",Br[6]),{c(){zr=text(`Select the level of access required to see these screens
1705
1705
  `),create_component(Dr.$$.fragment)},m(jr,Wr){insert$1(jr,zr,Wr),mount_component(Dr,jr,Wr),Hr=!0},p(jr,Wr){const Gr={};Wr&16&&(Gr.error=jr[4]),Wr&32&&(Gr.options=jr[5]),!Nr&&Wr&1&&(Nr=!0,Gr.value=jr[0],add_flush_callback(()=>Nr=!1)),Dr.$set(Gr)},i(jr){Hr||(transition_in(Dr.$$.fragment,jr),Hr=!0)},o(jr){transition_out(Dr.$$.fragment,jr),Hr=!1},d(jr){jr&&detach(zr),destroy_component(Dr,jr)}}}function create_fragment$32(Br){let zr,Dr;return zr=new ModalContent({props:{title:"Access",confirmText:Br[3],cancelText:"Back",onConfirm:Br[1],onCancel:Br[2],disabled:!!Br[4],$$slots:{default:[create_default_slot$28]},$$scope:{ctx:Br}}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,[Hr]){const Vr={};Hr&8&&(Vr.confirmText=Nr[3]),Hr&2&&(Vr.onConfirm=Nr[1]),Hr&4&&(Vr.onCancel=Nr[2]),Hr&16&&(Vr.disabled=!!Nr[4]),Hr&2097&&(Vr.$$scope={dirty:Hr,ctx:Nr}),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}const func$a=Br=>Br.name,func_1$9=Br=>Br._id;function instance$38(Br,zr,Dr){let Nr;component_subscribe(Br,roles,Kr=>Dr(5,Nr=Kr));let{onConfirm:Hr}=zr,{onCancel:Vr}=zr,{screenUrl:Ur}=zr,{screenAccessRole:jr}=zr,{confirmText:Wr="Done"}=zr,Gr;const Qr=Kr=>{const Jr=Kr.detail;Yr(Ur,Jr)?Dr(4,Gr="This URL is already taken for this access role"):Dr(4,Gr=null)},Yr=(Kr,Jr)=>!Kr||!Jr?!1:get_store_value(screenStore).screens.some(eo=>eo.routing.route.toLowerCase()===Kr.toLowerCase()&&eo.routing.roleId===Jr);onMount(()=>{Qr({detail:jr})});const Xr=Kr=>getRoleColour(Kr._id);function Zr(Kr){jr=Kr,Dr(0,jr)}return Br.$$set=Kr=>{"onConfirm"in Kr&&Dr(1,Hr=Kr.onConfirm),"onCancel"in Kr&&Dr(2,Vr=Kr.onCancel),"screenUrl"in Kr&&Dr(7,Ur=Kr.screenUrl),"screenAccessRole"in Kr&&Dr(0,jr=Kr.screenAccessRole),"confirmText"in Kr&&Dr(3,Wr=Kr.confirmText)},[jr,Hr,Vr,Wr,Gr,Nr,Qr,Ur,Xr,Zr]}class ScreenRoleModal extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$38,create_fragment$32,safe_not_equal,{onConfirm:1,onCancel:2,screenUrl:7,screenAccessRole:0,confirmText:3})}}const FormTypeModal_svelte_svelte_type_style_lang="";function create_default_slot_7$B(Br){let zr;return{c(){zr=text("Create a new row")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_6$H(Br){let zr;return{c(){zr=text("For capturing and storing new data from your users")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_if_block_2$y(Br){let zr,Dr,Nr;return Dr=new Icon({props:{size:"S",name:"CheckmarkCircle"}}),{c(){zr=element("span"),create_component(Dr.$$.fragment),attr(zr,"class","form-type-check svelte-t1djej")},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function create_default_slot_5$M(Br){let zr;return{c(){zr=text("Update an existing row")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_4$U(Br){let zr;return{c(){zr=text("For viewing and updating existing data")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_if_block_1$U(Br){let zr,Dr,Nr;return Dr=new Icon({props:{size:"S",name:"CheckmarkCircle"}}),{c(){zr=element("span"),create_component(Dr.$$.fragment),attr(zr,"class","form-type-check svelte-t1djej")},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function create_default_slot_3$16(Br){let zr;return{c(){zr=text("View an existing row")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_2$1l(Br){let zr;return{c(){zr=text("For a read only view of your data")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_if_block$1E(Br){let zr,Dr,Nr;return Dr=new Icon({props:{size:"S",name:"CheckmarkCircle"}}),{c(){zr=element("span"),create_component(Dr.$$.fragment),attr(zr,"class","form-type-check svelte-t1djej")},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function create_default_slot_1$1L(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr,Xr,Zr,Kr,Jr,eo,no,io,so,ao,fo,po,go,$o,vo,So;Hr=new Body({props:{noPadding:!0,$$slots:{default:[create_default_slot_7$B]},$$scope:{ctx:Br}}}),Ur=new Body({props:{size:"S",$$slots:{default:[create_default_slot_6$H]},$$scope:{ctx:Br}}});let ko=Br[2]==="Create"&&create_if_block_2$y();Xr=new Body({props:{noPadding:!0,$$slots:{default:[create_default_slot_5$M]},$$scope:{ctx:Br}}}),Kr=new Body({props:{size:"S",$$slots:{default:[create_default_slot_4$U]},$$scope:{ctx:Br}}});let To=Br[2]==="Update"&&create_if_block_1$U();ao=new Body({props:{noPadding:!0,$$slots:{default:[create_default_slot_3$16]},$$scope:{ctx:Br}}}),po=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1l]},$$scope:{ctx:Br}}});let Eo=Br[2]==="View"&&create_if_block$1E();return{c(){zr=element("div"),Dr=element("div"),Nr=element("div"),create_component(Hr.$$.fragment),Vr=space$1(),create_component(Ur.$$.fragment),jr=space$1(),ko&&ko.c(),Wr=space$1(),Gr=element("div"),Qr=element("div"),Yr=element("div"),create_component(Xr.$$.fragment),Zr=space$1(),create_component(Kr.$$.fragment),Jr=space$1(),To&&To.c(),eo=space$1(),no=element("div"),io=element("div"),so=element("div"),create_component(ao.$$.fragment),fo=space$1(),create_component(po.$$.fragment),go=space$1(),Eo&&Eo.c(),attr(Nr,"class","form-type-content svelte-t1djej"),attr(Dr,"class","form-type-wrap svelte-t1djej"),attr(zr,"class","form-type svelte-t1djej"),toggle_class(zr,"selected",Br[2]==="Create"),attr(Yr,"class","form-type-content svelte-t1djej"),attr(Qr,"class","form-type-wrap svelte-t1djej"),attr(Gr,"class","form-type svelte-t1djej"),toggle_class(Gr,"selected",Br[2]==="Update"),attr(so,"class","form-type-content svelte-t1djej"),attr(io,"class","form-type-wrap svelte-t1djej"),attr(no,"class","form-type svelte-t1djej"),toggle_class(no,"selected",Br[2]==="View")},m(Oo,yo){insert$1(Oo,zr,yo),append$2(zr,Dr),append$2(Dr,Nr),mount_component(Hr,Nr,null),append$2(Nr,Vr),mount_component(Ur,Nr,null),append$2(Dr,jr),ko&&ko.m(Dr,null),insert$1(Oo,Wr,yo),insert$1(Oo,Gr,yo),append$2(Gr,Qr),append$2(Qr,Yr),mount_component(Xr,Yr,null),append$2(Yr,Zr),mount_component(Kr,Yr,null),append$2(Qr,Jr),To&&To.m(Qr,null),insert$1(Oo,eo,yo),insert$1(Oo,no,yo),append$2(no,io),append$2(io,so),mount_component(ao,so,null),append$2(so,fo),mount_component(po,so,null),append$2(io,go),Eo&&Eo.m(io,null),$o=!0,vo||(So=[listen(zr,"click",Br[4]),listen(Gr,"click",Br[5]),listen(no,"click",Br[6])],vo=!0)},p(Oo,yo){const Co={};yo&128&&(Co.$$scope={dirty:yo,ctx:Oo}),Hr.$set(Co);const Mo={};yo&128&&(Mo.$$scope={dirty:yo,ctx:Oo}),Ur.$set(Mo),Oo[2]==="Create"?ko?yo&4&&transition_in(ko,1):(ko=create_if_block_2$y(),ko.c(),transition_in(ko,1),ko.m(Dr,null)):ko&&(group_outros(),transition_out(ko,1,1,()=>{ko=null}),check_outros()),(!$o||yo&4)&&toggle_class(zr,"selected",Oo[2]==="Create");const zo={};yo&128&&(zo.$$scope={dirty:yo,ctx:Oo}),Xr.$set(zo);const Bo={};yo&128&&(Bo.$$scope={dirty:yo,ctx:Oo}),Kr.$set(Bo),Oo[2]==="Update"?To?yo&4&&transition_in(To,1):(To=create_if_block_1$U(),To.c(),transition_in(To,1),To.m(Qr,null)):To&&(group_outros(),transition_out(To,1,1,()=>{To=null}),check_outros()),(!$o||yo&4)&&toggle_class(Gr,"selected",Oo[2]==="Update");const Po={};yo&128&&(Po.$$scope={dirty:yo,ctx:Oo}),ao.$set(Po);const Uo={};yo&128&&(Uo.$$scope={dirty:yo,ctx:Oo}),po.$set(Uo),Oo[2]==="View"?Eo?yo&4&&transition_in(Eo,1):(Eo=create_if_block$1E(),Eo.c(),transition_in(Eo,1),Eo.m(io,null)):Eo&&(group_outros(),transition_out(Eo,1,1,()=>{Eo=null}),check_outros()),(!$o||yo&4)&&toggle_class(no,"selected",Oo[2]==="View")},i(Oo){$o||(transition_in(Hr.$$.fragment,Oo),transition_in(Ur.$$.fragment,Oo),transition_in(ko),transition_in(Xr.$$.fragment,Oo),transition_in(Kr.$$.fragment,Oo),transition_in(To),transition_in(ao.$$.fragment,Oo),transition_in(po.$$.fragment,Oo),transition_in(Eo),$o=!0)},o(Oo){transition_out(Hr.$$.fragment,Oo),transition_out(Ur.$$.fragment,Oo),transition_out(ko),transition_out(Xr.$$.fragment,Oo),transition_out(Kr.$$.fragment,Oo),transition_out(To),transition_out(ao.$$.fragment,Oo),transition_out(po.$$.fragment,Oo),transition_out(Eo),$o=!1},d(Oo){Oo&&(detach(zr),detach(Wr),detach(Gr),detach(eo),detach(no)),destroy_component(Hr),destroy_component(Ur),ko&&ko.d(),destroy_component(Xr),destroy_component(Kr),To&&To.d(),destroy_component(ao),destroy_component(po),Eo&&Eo.d(),vo=!1,run_all(So)}}}function create_default_slot$27(Br){let zr,Dr;return zr=new Layout$n({props:{noPadding:!0,gap:"S",$$slots:{default:[create_default_slot_1$1L]},$$scope:{ctx:Br}}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&132&&(Vr.$$scope={dirty:Hr,ctx:Nr}),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_fragment$31(Br){let zr,Dr,Nr;return Dr=new ModalContent({props:{title:"Select form type",confirmText:"Done",cancelText:"Back",onConfirm:Br[1],onCancel:Br[0],disabled:!Br[2],size:"L",$$slots:{default:[create_default_slot$27]},$$scope:{ctx:Br}}}),{c(){zr=element("span"),create_component(Dr.$$.fragment)},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},p(Hr,[Vr]){const Ur={};Vr&2&&(Ur.onConfirm=Hr[1]),Vr&1&&(Ur.onCancel=Hr[0]),Vr&4&&(Ur.disabled=!Hr[2]),Vr&132&&(Ur.$$scope={dirty:Vr,ctx:Hr}),Dr.$set(Ur)},i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function instance$37(Br,zr,Dr){let{onCancel:Nr=()=>{}}=zr,{onConfirm:Hr=()=>{}}=zr,{type:Vr}=zr;const Ur=createEventDispatcher(),jr=()=>{Ur("select","Create")},Wr=()=>{Ur("select","Update")},Gr=()=>{Ur("select","View")};return Br.$$set=Qr=>{"onCancel"in Qr&&Dr(0,Nr=Qr.onCancel),"onConfirm"in Qr&&Dr(1,Hr=Qr.onConfirm),"type"in Qr&&Dr(2,Vr=Qr.type)},[Nr,Hr,Vr,Ur,jr,Wr,Gr]}class FormTypeModal extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$37,create_fragment$31,safe_not_equal,{onCancel:0,onConfirm:1,type:2})}}class Screen extends BaseStructure{constructor(){super(!0),this._json={showNavigation:!0,width:"Large",props:{_id:uuid$2(),_component:"@budibase/standard-components/container",_styles:{normal:{},hover:{},active:{},selected:{}},_children:[],_instanceName:"",direction:"column",hAlign:"stretch",vAlign:"top",size:"grow",gap:"M"},routing:{route:"",roleId:"BASIC",homeScreen:!1},name:"screen-id"}}role(zr){return this._json.routing.roleId=zr,this}normalStyle(zr){return this._json.props._styles.normal=zr,this}component(zr){return this._json.props._component=zr,this}table(zr){return this._json.props.table=zr,this}route(zr){return this._json.routing.route=zr,this}name(zr){return this._json.name=zr,this}instanceName(zr){return this._json.props._instanceName=zr,this}customProps(zr){for(let Dr of Object.keys(zr))this._json.props[Dr]=zr[Dr];return this}}function gridListScreen(Br){return Array.isArray(Br)?Br.map(zr=>({name:`${zr.label} - List`,create:()=>createScreen$3(zr),id:GRID_LIST_TEMPLATE,resourceId:zr.resourceId})):[]}const GRID_LIST_TEMPLATE="GRID_LIST_TEMPLATE",gridListUrl=Br=>sanitizeUrl(`/${Br.label}`),createScreen$3=Br=>{const zr=new Component("@budibase/standard-components/heading").instanceName("Table heading").customProps({text:Br==null?void 0:Br.label}),Dr=new Component("@budibase/standard-components/gridblock").instanceName(`${Br.label} - Table`).customProps({table:Br});return new Screen().route(gridListUrl(Br)).instanceName(`${Br.label} - List`).addChild(zr).addChild(Dr).json()};function gridDetailsScreen(Br){return Array.isArray(Br)?Br.map(zr=>({name:`${zr.label} - List with panel`,create:()=>createScreen$2(zr),id:GRID_DETAILS_TEMPLATE,resourceId:zr.resourceId})):[]}const GRID_DETAILS_TEMPLATE="GRID_DETAILS_TEMPLATE",gridDetailsUrl=Br=>sanitizeUrl(`/${Br.label}`),createScreen$2=Br=>{const zr=new Component("@budibase/standard-components/sidepanel").instanceName("New row side panel"),Dr=new Component("@budibase/standard-components/buttongroup"),Nr=new Component("@budibase/standard-components/button");Nr.customProps({onClick:[{id:0,"##eventHandlerType":"Open Side Panel",parameters:{id:zr._json._id}}],text:"Create row",type:"cta"}),Dr.instanceName(`${Br.label} - Create`).customProps({hAlign:"right",buttons:[Nr.json()]});const Hr=new Component("@budibase/standard-components/container").instanceName("Heading container").customProps({direction:"row",hAlign:"stretch"}),Vr=new Component("@budibase/standard-components/heading").instanceName("Table heading").customProps({text:Br==null?void 0:Br.label});Hr.addChild(Vr),Hr.addChild(Dr);const Ur=new Component("@budibase/standard-components/formblock");Ur.instanceName("Create row form block").customProps({dataSource:Br,labelPosition:"left",buttonPosition:"top",actionType:"Create",title:"Create row",buttons:buildFormBlockButtonConfig({_id:Ur._json._id,showDeleteButton:!1,showSaveButton:!0,saveButtonLabel:"Save",actionType:"Create",dataSource:Br})}),zr.addChild(Ur);const jr=`ID_${shortid.generate()}`,Wr=new Component("@budibase/standard-components/sidepanel").instanceName("Edit row side panel"),Gr=new Component("@budibase/standard-components/formblock");Gr.instanceName("Edit row form block").customProps({dataSource:Br,labelPosition:"left",buttonPosition:"top",actionType:"Update",title:"Edit",rowId:`{{ ${makePropSafe("state")}.${makePropSafe(jr)} }}`,buttons:buildFormBlockButtonConfig({_id:Gr._json._id,showDeleteButton:!0,showSaveButton:!0,saveButtonLabel:"Save",deleteButtonLabel:"Delete",actionType:"Update",dataSource:Br})}),Wr.addChild(Gr);const Qr=new Component("@budibase/standard-components/gridblock");return Qr.customProps({table:Br,allowAddRows:!1,allowEditRows:!1,allowDeleteRows:!1,onRowClick:[{id:0,"##eventHandlerType":"Update State",parameters:{key:jr,type:"set",persist:!1,value:`{{ ${makePropSafe("eventContext")}.${makePropSafe("row")}._id }}`}},{id:1,"##eventHandlerType":"Open Side Panel",parameters:{id:Wr._json._id}}]}).instanceName(`${Br.label} - Table`),new Screen().route(gridDetailsUrl(Br)).instanceName(`${Br.label} - List and details`).addChild(Hr).addChild(Qr).addChild(zr).addChild(Wr).json()},createFromScratchScreen={name:"Create from scratch",id:"createFromScratch",create:()=>createScreen$1(),table:"Create from scratch"},createScreen$1=()=>new Screen().instanceName("New Screen").json(),FORM_TEMPLATE="FORM_TEMPLATE",formUrl=Br=>sanitizeUrl(`/${Br.label}-form`);function formScreen(Br,zr){return Array.isArray(Br)?Br.map(Dr=>({name:`${Dr.label} - Form`,create:()=>createScreen(Dr,zr),id:FORM_TEMPLATE,resourceId:Dr.resourceId})):[]}const generateMultistepFormBlock=(Br,{actionType:zr}={})=>{const Dr=new Component("@budibase/standard-components/multistepformblock");return Dr.customProps({actionType:zr,dataSource:Br,steps:[{}]}).instanceName(`${Br.label} - Multistep Form block`),Dr},createScreen=(Br,zr)=>new Screen().route(formUrl(Br)).instanceName(`${Br.label} - Form`).addChild(generateMultistepFormBlock(Br,zr)).json(),allTemplates=Br=>[...gridListScreen(Br),...gridDetailsScreen(Br),...formScreen(Br)],createTemplateOverride=Br=>()=>{const zr=Br.create();return zr.name=zr.props._id,zr.routing.route=zr.routing.route.toLowerCase(),zr.template=Br.id,zr},getTemplates=Br=>{const zr=Hr=>({...Hr,create:createTemplateOverride(Hr)}),Dr=zr(createFromScratchScreen),Nr=allTemplates(Br).map(zr);return[Dr,...Nr.sort((Hr,Vr)=>Hr.name>Vr.name?1:-1)]};function create_default_slot_3$15(Br){let zr,Dr;return zr=new DatasourceModal({props:{mode:Br[0],onConfirm:Br[9]}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr[0]&1&&(Vr.mode=Nr[0]),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_default_slot_2$1k(Br){let zr,Dr,Nr;function Hr(Ur){Br[17](Ur)}let Vr={onConfirm:Br[16],onCancel:Br[13],screenUrl:Br[6],confirmText:Br[7]==="form"?"Confirm":"Done"};return Br[5]!==void 0&&(Vr.screenAccessRole=Br[5]),zr=new ScreenRoleModal({props:Vr}),binding_callbacks.push(()=>bind$2(zr,"screenAccessRole",Hr)),{c(){create_component(zr.$$.fragment)},m(Ur,jr){mount_component(zr,Ur,jr),Nr=!0},p(Ur,jr){const Wr={};jr[0]&64&&(Wr.screenUrl=Ur[6]),jr[0]&128&&(Wr.confirmText=Ur[7]==="form"?"Confirm":"Done"),!Dr&&jr[0]&32&&(Dr=!0,Wr.screenAccessRole=Ur[5],add_flush_callback(()=>Dr=!1)),zr.$set(Wr)},i(Ur){Nr||(transition_in(zr.$$.fragment,Ur),Nr=!0)},o(Ur){transition_out(zr.$$.fragment,Ur),Nr=!1},d(Ur){destroy_component(zr,Ur)}}}function create_default_slot_1$1K(Br){let zr,Dr;return zr=new ScreenDetailsModal({props:{onConfirm:Br[10],initialUrl:Br[6]}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr[0]&64&&(Vr.initialUrl=Nr[6]),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_default_slot$26(Br){let zr,Dr;return zr=new FormTypeModal({props:{onConfirm:Br[11],onCancel:Br[20],type:Br[8]}}),zr.$on("select",Br[21]),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr[0]&20&&(Vr.onCancel=Nr[20]),Hr[0]&256&&(Vr.type=Nr[8]),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_fragment$30(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr={autoFocus:!1,$$slots:{default:[create_default_slot_3$15]},$$scope:{ctx:Br}};zr=new Modal({props:Gr}),Br[15](zr);let Qr={$$slots:{default:[create_default_slot_2$1k]},$$scope:{ctx:Br}};Nr=new Modal({props:Qr}),Br[18](Nr);let Yr={$$slots:{default:[create_default_slot_1$1K]},$$scope:{ctx:Br}};Vr=new Modal({props:Yr}),Br[19](Vr);let Xr={$$slots:{default:[create_default_slot$26]},$$scope:{ctx:Br}};return jr=new Modal({props:Xr}),Br[22](jr),{c(){create_component(zr.$$.fragment),Dr=space$1(),create_component(Nr.$$.fragment),Hr=space$1(),create_component(Vr.$$.fragment),Ur=space$1(),create_component(jr.$$.fragment)},m(Zr,Kr){mount_component(zr,Zr,Kr),insert$1(Zr,Dr,Kr),mount_component(Nr,Zr,Kr),insert$1(Zr,Hr,Kr),mount_component(Vr,Zr,Kr),insert$1(Zr,Ur,Kr),mount_component(jr,Zr,Kr),Wr=!0},p(Zr,Kr){const Jr={};Kr[0]&1|Kr[1]&64&&(Jr.$$scope={dirty:Kr,ctx:Zr}),zr.$set(Jr);const eo={};Kr[0]&224|Kr[1]&64&&(eo.$$scope={dirty:Kr,ctx:Zr}),Nr.$set(eo);const no={};Kr[0]&64|Kr[1]&64&&(no.$$scope={dirty:Kr,ctx:Zr}),Vr.$set(no);const io={};Kr[0]&276|Kr[1]&64&&(io.$$scope={dirty:Kr,ctx:Zr}),jr.$set(io)},i(Zr){Wr||(transition_in(zr.$$.fragment,Zr),transition_in(Nr.$$.fragment,Zr),transition_in(Vr.$$.fragment,Zr),transition_in(jr.$$.fragment,Zr),Wr=!0)},o(Zr){transition_out(zr.$$.fragment,Zr),transition_out(Nr.$$.fragment,Zr),transition_out(Vr.$$.fragment,Zr),transition_out(jr.$$.fragment,Zr),Wr=!1},d(Zr){Zr&&(detach(Dr),detach(Hr),detach(Ur)),Br[15](null),destroy_component(zr,Zr),Br[18](null),destroy_component(Nr,Zr),Br[19](null),destroy_component(Vr,Zr),Br[22](null),destroy_component(jr,Zr)}}}function instance$36(Br,zr,Dr){let Nr,Hr,Vr;component_subscribe(Br,auth,xo=>Dr(27,Nr=xo)),component_subscribe(Br,goto,xo=>Dr(28,Hr=xo)),component_subscribe(Br,tables,xo=>Dr(29,Vr=xo));let Ur,jr,Wr,Gr,Qr,Yr,Xr=Roles.BASIC,Zr=null,Kr=null,Jr=null,eo=null,no=null,io=null;const so=async({screens:xo,screenAccessRole:jo})=>{if(xo!=null&&xo.length)try{let Fo=[];for(let Qo of xo){if(ao(Qo.routing.route)){let Zo=2,wa=fo(Qo,Zo);for(;ao(wa);)wa=fo(Qo,++Zo);Qo.routing.route=wa}if(Qo.routing.route=sanitizeUrl(Qo.routing.route),!jo)return;Qo.routing.roleId=jo;const Xo=await screenStore.save(Qo);Fo.push(Xo),await navigationStore.saveLink(Qo.routing.route,capitalise(Qo.routing.route.split("/")[1]),jo)}return Fo}catch(Fo){console.error(Fo),notifications.error("Error creating screens")}},ao=xo=>{const jo=Xr;return!!get_store_value(screenStore).screens.filter(Qo=>Qo.routing.roleId===jo).find(Qo=>{var Xo;return((Xo=Qo.routing)==null?void 0:Xo.route)===xo})},fo=(xo,jo)=>{var Qo;let Fo=((Qo=xo.routing)==null?void 0:Qo.route)||"";if(Fo.startsWith("/")&&(Fo=Fo.slice(1)),Fo.includes("/")){const Xo=Fo.split("/");return`/${Xo[0]}-${jo}/${Xo.slice(1).join("/")}`}else return`/${Fo}-${jo}`},po=xo=>{if(Dr(0,Ur=xo),Zr=null,Kr=null,Jr=null,Dr(6,eo=null),Dr(7,no=Ur),jr=null,Dr(5,Xr=Roles.BASIC),Dr(8,io=null),Ur==="grid"||Ur==="gridDetails"||Ur==="form")Gr.show();else if(Ur==="blank")jr=getTemplates(Vr.list).find(Qo=>Qo.id==="createFromScratch").create(),Wr.show();else throw new Error("Invalid mode provided")},go=async({datasources:xo})=>{Jr=xo,no==="form"?Yr.show():Qr.show()},$o=async()=>{Zr=Ur==="grid"?gridListScreen(Jr):gridDetailsScreen(Jr);const xo=Zr.map(Fo=>{let Qo=Fo.create();return Qo.autoTableId=Fo.resourceId,Qo}),jo=await so({screens:xo,screenAccessRole:Xr});To(jo)},vo=async({screenUrl:xo})=>{Dr(6,eo=xo),Qr.show()},So=async({screenUrl:xo,screenAccessRole:jo})=>{if(!jr)return;jr.routing.route=xo;const Fo=await so({screens:[jr],screenAccessRole:jo});To(Fo)},ko=()=>{Qr.show()},To=xo=>{var Fo,Qo,Xo;const jo=xo.slice(-1)[0];if((Fo=jo==null?void 0:jo.props)!=null&&Fo._children.length){const Zo=(Xo=(Qo=jo==null?void 0:jo.props)==null?void 0:Qo._children)==null?void 0:Xo[0]._id;Hr(`./${jo._id}/${Zo}`)}else Hr(`./${jo._id}`);screenStore.select(jo._id)},Eo=async()=>{var jo,Fo;Zr=formScreen(Jr,{actionType:io}),Kr=Zr.map(Qo=>Qo.create());const xo=await so({screens:Kr,screenAccessRole:Xr});if(io==="Update"||io==="Create"){const Qo=io==="Update"?TOUR_KEYS.BUILDER_FORM_VIEW_UPDATE:TOUR_KEYS.BUILDER_FORM_CREATE;!((Fo=(jo=Nr==null?void 0:Nr.user)==null?void 0:jo.tours)!=null&&Fo[Qo])&&builderStore.setTour(Qo)}To(xo)},Oo=async()=>{no==="blank"?So({screenUrl:eo,screenAccessRole:Xr}):no==="form"?Eo():$o()},yo=()=>{no==="blank"?Wr.show():Gr.show()};function Co(xo){binding_callbacks[xo?"unshift":"push"](()=>{Gr=xo,Dr(2,Gr)})}const Mo=()=>{Oo()};function zo(xo){Xr=xo,Dr(5,Xr)}function Bo(xo){binding_callbacks[xo?"unshift":"push"](()=>{Qr=xo,Dr(3,Qr)})}function Po(xo){binding_callbacks[xo?"unshift":"push"](()=>{Wr=xo,Dr(1,Wr)})}const Uo=()=>{Yr.hide(),Gr.show()},No=xo=>{Dr(8,io=xo.detail)};function Do(xo){binding_callbacks[xo?"unshift":"push"](()=>{Yr=xo,Dr(4,Yr)})}return[Ur,Wr,Gr,Qr,Yr,Xr,eo,no,io,go,vo,ko,Oo,yo,po,Co,Mo,zo,Bo,Po,Uo,No,Do]}class CreateScreenModal extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$36,create_fragment$30,safe_not_equal,{show:14},null,[-1,-1])}get show(){return this.$$.ctx[14]}}const index_svelte_svelte_type_style_lang$f="";function create_default_slot_9$p(Br){let zr;return{c(){zr=text("Start from scratch or create screens from your data")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_8$p(Br){let zr;return{c(){zr=text("Blank screen")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_7$A(Br){let zr;return{c(){zr=text("Add an empty blank screen")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_6$G(Br){let zr;return{c(){zr=text("Table with inline editing")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_5$L(Br){let zr;return{c(){zr=text("View, edit and delete rows inline")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_4$T(Br){let zr;return{c(){zr=text("Table with details panel")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_3$14(Br){let zr;return{c(){zr=text("Manage your row details in a side panel")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_2$1j(Br){let zr;return{c(){zr=text("Form")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot_1$1J(Br){let zr;return{c(){zr=text("Capture data from your users")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_default_slot$25(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr,Qr,Yr,Xr,Zr,Kr,Jr,eo,no,io,so,ao,fo,po,go,$o,vo,So,ko,To,Eo,Oo,yo,Co,Mo,zo,Bo,Po,Uo,No;return Dr=new Body({props:{$$slots:{default:[create_default_slot_9$p]},$$scope:{ctx:Br}}}),Gr=new Body({props:{size:"S",$$slots:{default:[create_default_slot_8$p]},$$scope:{ctx:Br}}}),Yr=new Body({props:{size:"XS",$$slots:{default:[create_default_slot_7$A]},$$scope:{ctx:Br}}}),no=new Body({props:{size:"S",$$slots:{default:[create_default_slot_6$G]},$$scope:{ctx:Br}}}),so=new Body({props:{size:"XS",$$slots:{default:[create_default_slot_5$L]},$$scope:{ctx:Br}}}),vo=new Body({props:{size:"S",$$slots:{default:[create_default_slot_4$T]},$$scope:{ctx:Br}}}),ko=new Body({props:{size:"XS",$$slots:{default:[create_default_slot_3$14]},$$scope:{ctx:Br}}}),Mo=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1j]},$$scope:{ctx:Br}}}),Bo=new Body({props:{size:"XS",$$slots:{default:[create_default_slot_1$1J]},$$scope:{ctx:Br}}}),{c(){zr=element("div"),create_component(Dr.$$.fragment),Nr=space$1(),Hr=element("div"),Vr=element("div"),Ur=element("div"),Ur.innerHTML=`<img alt="" src="${blankImage}" class="svelte-1ul5ifk"/>`,jr=space$1(),Wr=element("div"),create_component(Gr.$$.fragment),Qr=space$1(),create_component(Yr.$$.fragment),Xr=space$1(),Zr=element("div"),Kr=element("div"),Kr.innerHTML=`<img alt="" src="${tableInline}" class="svelte-1ul5ifk"/>`,Jr=space$1(),eo=element("div"),create_component(no.$$.fragment),io=space$1(),create_component(so.$$.fragment),ao=space$1(),fo=element("div"),po=element("div"),po.innerHTML=`<img alt="" src="${tableDetails}" class="svelte-1ul5ifk"/>`,go=space$1(),$o=element("div"),create_component(vo.$$.fragment),So=space$1(),create_component(ko.$$.fragment),To=space$1(),Eo=element("div"),Oo=element("div"),Oo.innerHTML=`<img alt="" src="${formImage}" class="svelte-1ul5ifk"/>`,yo=space$1(),Co=element("div"),create_component(Mo.$$.fragment),zo=space$1(),create_component(Bo.$$.fragment),attr(zr,"class","subHeading svelte-1ul5ifk"),attr(Ur,"class","image svelte-1ul5ifk"),attr(Wr,"class","text svelte-1ul5ifk"),attr(Vr,"class","card svelte-1ul5ifk"),attr(Kr,"class","image svelte-1ul5ifk"),attr(eo,"class","text svelte-1ul5ifk"),attr(Zr,"class","card svelte-1ul5ifk"),attr(po,"class","image svelte-1ul5ifk"),attr($o,"class","text svelte-1ul5ifk"),attr(fo,"class","card svelte-1ul5ifk"),attr(Oo,"class","image svelte-1ul5ifk"),attr(Co,"class","text svelte-1ul5ifk"),attr(Eo,"class","card svelte-1ul5ifk"),attr(Hr,"class","cards svelte-1ul5ifk")},m(Do,xo){insert$1(Do,zr,xo),mount_component(Dr,zr,null),insert$1(Do,Nr,xo),insert$1(Do,Hr,xo),append$2(Hr,Vr),append$2(Vr,Ur),append$2(Vr,jr),append$2(Vr,Wr),mount_component(Gr,Wr,null),append$2(Wr,Qr),mount_component(Yr,Wr,null),append$2(Hr,Xr),append$2(Hr,Zr),append$2(Zr,Kr),append$2(Zr,Jr),append$2(Zr,eo),mount_component(no,eo,null),append$2(eo,io),mount_component(so,eo,null),append$2(Hr,ao),append$2(Hr,fo),append$2(fo,po),append$2(fo,go),append$2(fo,$o),mount_component(vo,$o,null),append$2($o,So),mount_component(ko,$o,null),append$2(Hr,To),append$2(Hr,Eo),append$2(Eo,Oo),append$2(Eo,yo),append$2(Eo,Co),mount_component(Mo,Co,null),append$2(Co,zo),mount_component(Bo,Co,null),Po=!0,Uo||(No=[listen(Vr,"click",Br[4]),listen(Zr,"click",Br[5]),listen(fo,"click",Br[6]),listen(Eo,"click",Br[7])],Uo=!0)},p(Do,xo){const jo={};xo&512&&(jo.$$scope={dirty:xo,ctx:Do}),Dr.$set(jo);const Fo={};xo&512&&(Fo.$$scope={dirty:xo,ctx:Do}),Gr.$set(Fo);const Qo={};xo&512&&(Qo.$$scope={dirty:xo,ctx:Do}),Yr.$set(Qo);const Xo={};xo&512&&(Xo.$$scope={dirty:xo,ctx:Do}),no.$set(Xo);const Zo={};xo&512&&(Zo.$$scope={dirty:xo,ctx:Do}),so.$set(Zo);const wa={};xo&512&&(wa.$$scope={dirty:xo,ctx:Do}),vo.$set(wa);const aa={};xo&512&&(aa.$$scope={dirty:xo,ctx:Do}),ko.$set(aa);const ca={};xo&512&&(ca.$$scope={dirty:xo,ctx:Do}),Mo.$set(ca);const ga={};xo&512&&(ga.$$scope={dirty:xo,ctx:Do}),Bo.$set(ga)},i(Do){Po||(transition_in(Dr.$$.fragment,Do),transition_in(Gr.$$.fragment,Do),transition_in(Yr.$$.fragment,Do),transition_in(no.$$.fragment,Do),transition_in(so.$$.fragment,Do),transition_in(vo.$$.fragment,Do),transition_in(ko.$$.fragment,Do),transition_in(Mo.$$.fragment,Do),transition_in(Bo.$$.fragment,Do),Po=!0)},o(Do){transition_out(Dr.$$.fragment,Do),transition_out(Gr.$$.fragment,Do),transition_out(Yr.$$.fragment,Do),transition_out(no.$$.fragment,Do),transition_out(so.$$.fragment,Do),transition_out(vo.$$.fragment,Do),transition_out(ko.$$.fragment,Do),transition_out(Mo.$$.fragment,Do),transition_out(Bo.$$.fragment,Do),Po=!1},d(Do){Do&&(detach(zr),detach(Nr),detach(Hr)),destroy_component(Dr),destroy_component(Gr),destroy_component(Yr),destroy_component(no),destroy_component(so),destroy_component(vo),destroy_component(ko),destroy_component(Mo),destroy_component(Bo),Uo=!1,run_all(No)}}}function create_fragment$2$(Br){let zr,Dr,Nr,Hr,Vr;Dr=new CreationPage({props:{showClose:!!Br[0],onClose:Br[0],heading:Br[2]?"Create new screen":"Create your first screen",$$slots:{default:[create_default_slot$25]},$$scope:{ctx:Br}}});let Ur={};return Hr=new CreateScreenModal({props:Ur}),Br[8](Hr),{c(){zr=element("div"),create_component(Dr.$$.fragment),Nr=space$1(),create_component(Hr.$$.fragment),attr(zr,"class","page svelte-1ul5ifk")},m(jr,Wr){insert$1(jr,zr,Wr),mount_component(Dr,zr,null),insert$1(jr,Nr,Wr),mount_component(Hr,jr,Wr),Vr=!0},p(jr,[Wr]){const Gr={};Wr&1&&(Gr.showClose=!!jr[0]),Wr&1&&(Gr.onClose=jr[0]),Wr&4&&(Gr.heading=jr[2]?"Create new screen":"Create your first screen"),Wr&514&&(Gr.$$scope={dirty:Wr,ctx:jr}),Dr.$set(Gr);const Qr={};Hr.$set(Qr)},i(jr){Vr||(transition_in(Dr.$$.fragment,jr),transition_in(Hr.$$.fragment,jr),Vr=!0)},o(jr){transition_out(Dr.$$.fragment,jr),transition_out(Hr.$$.fragment,jr),Vr=!1},d(jr){jr&&(detach(zr),detach(Nr)),destroy_component(Dr),Br[8](null),destroy_component(Hr,jr)}}}function instance$35(Br,zr,Dr){let Nr,Hr;component_subscribe(Br,screenStore,Xr=>Dr(3,Hr=Xr));let{onClose:Vr=null}=zr,Ur;const jr=()=>Ur.show("blank"),Wr=()=>Ur.show("grid"),Gr=()=>Ur.show("gridDetails"),Qr=()=>Ur.show("form");function Yr(Xr){binding_callbacks[Xr?"unshift":"push"](()=>{Ur=Xr,Dr(1,Ur)})}return Br.$$set=Xr=>{"onClose"in Xr&&Dr(0,Vr=Xr.onClose)},Br.$$.update=()=>{var Xr;Br.$$.dirty&8&&Dr(2,Nr=(Xr=Hr.screens)==null?void 0:Xr.length)},[Vr,Ur,Nr,Hr,jr,Wr,Gr,Qr,Yr]}class NewScreen extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$35,create_fragment$2$,safe_not_equal,{onClose:0})}}function create_fragment$2_(Br){let zr,Dr;return zr=new NewScreen({props:{onClose:Br[0]}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,[Hr]){const Vr={};Hr&1&&(Vr.onClose=Nr[0]),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function instance$34(Br,zr,Dr){let Nr,Hr,Vr;component_subscribe(Br,goto,jr=>Dr(2,Hr=jr)),component_subscribe(Br,screenStore,jr=>Dr(1,Vr=jr));const Ur=({screens:jr,selectedScreenId:Wr})=>jr!=null&&jr.length?Wr?()=>{Hr(`./${Wr}`)}:()=>{Hr(`./${jr[0]._id}`)}:null;return Br.$$.update=()=>{Br.$$.dirty&2&&Dr(0,Nr=Ur(Vr))},[Nr,Vr]}class New extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$34,create_fragment$2_,safe_not_equal,{})}}function create_fragment$2Z(Br){let zr;const Dr=Br[1].default,Nr=create_slot(Dr,Br,Br[0],null);return{c(){Nr&&Nr.c()},m(Hr,Vr){Nr&&Nr.m(Hr,Vr),zr=!0},p(Hr,[Vr]){Nr&&Nr.p&&(!zr||Vr&1)&&update_slot_base(Nr,Dr,Hr,Hr[0],zr?get_slot_changes(Dr,Hr[0],Vr,null):get_all_dirty_from_scope(Hr[0]),null)},i(Hr){zr||(transition_in(Nr,Hr),zr=!0)},o(Hr){transition_out(Nr,Hr),zr=!1},d(Hr){Nr&&Nr.d(Hr)}}}function instance$33(Br,zr,Dr){let{$$slots:Nr={},$$scope:Hr}=zr;return Br.$$set=Vr=>{"$$scope"in Vr&&Dr(0,Hr=Vr.$$scope)},[Hr,Nr]}let Layout$d=class extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$33,create_fragment$2Z,safe_not_equal,{})}};function create_fragment$2Y(Br){let zr,Dr,Nr;function Hr(Ur){Br[5](Ur)}let Vr={options:Br[1],getOptionLabel:func$9,getOptionValue:func_1$8};return Br[0]!==void 0&&(Vr.value=Br[0]),zr=new Select_1$1({props:Vr}),binding_callbacks.push(()=>bind$2(zr,"value",Hr)),zr.$on("change",Br[2]),{c(){create_component(zr.$$.fragment)},m(Ur,jr){mount_component(zr,Ur,jr),Nr=!0},p(Ur,[jr]){const Wr={};jr&2&&(Wr.options=Ur[1]),!Dr&&jr&1&&(Dr=!0,Wr.value=Ur[0],add_flush_callback(()=>Dr=!1)),zr.$set(Wr)},i(Ur){Nr||(transition_in(zr.$$.fragment,Ur),Nr=!0)},o(Ur){transition_out(zr.$$.fragment,Ur),Nr=!1},d(Ur){destroy_component(zr,Ur)}}}const func$9=Br=>Br.name,func_1$8=Br=>Br._id;function instance$32(Br,zr,Dr){let Nr,Hr;component_subscribe(Br,tables,Qr=>Dr(4,Hr=Qr));const Vr=createEventDispatcher();let{value:Ur}=zr,{isTrigger:jr}=zr;const Wr=Qr=>{Dr(0,Ur=Qr.detail),Vr("change",Qr.detail)};function Gr(Qr){Ur=Qr,Dr(0,Ur)}return Br.$$set=Qr=>{"value"in Qr&&Dr(0,Ur=Qr.value),"isTrigger"in Qr&&Dr(3,jr=Qr.isTrigger)},Br.$$.update=()=>{Br.$$.dirty&24&&Dr(1,Nr=Hr.list.filter(Qr=>!jr||Qr._id!==TableNames.USERS))},[Ur,Nr,Wr,jr,Hr,Gr]}class TableSelector extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$32,create_fragment$2Y,safe_not_equal,{value:0,isTrigger:3})}}function create_if_block_8$4(Br){let zr,Dr,Nr;var Hr=Br[4]?ModalBindableInput:DrawerBindableInput;function Vr(Ur,jr){return{props:{panel:ServerBindingPanel,value:Ur[0][Ur[2]],type:"string",bindings:Ur[5],allowJS:!0,updateOnChange:!1,title:Ur[3].name}}}return Hr&&(zr=construct_svelte_component(Hr,Vr(Br)),zr.$on("change",Br[17])),{c(){zr&&create_component(zr.$$.fragment),Dr=empty$2()},m(Ur,jr){zr&&mount_component(zr,Ur,jr),insert$1(Ur,Dr,jr),Nr=!0},p(Ur,jr){if(jr&16&&Hr!==(Hr=Ur[4]?ModalBindableInput:DrawerBindableInput)){if(zr){group_outros();const Wr=zr;transition_out(Wr.$$.fragment,1,0,()=>{destroy_component(Wr,1)}),check_outros()}Hr?(zr=construct_svelte_component(Hr,Vr(Ur)),zr.$on("change",Ur[17]),create_component(zr.$$.fragment),transition_in(zr.$$.fragment,1),mount_component(zr,Dr.parentNode,Dr)):zr=null}else if(Hr){const Wr={};jr&5&&(Wr.value=Ur[0][Ur[2]]),jr&32&&(Wr.bindings=Ur[5]),jr&8&&(Wr.title=Ur[3].name),zr.$set(Wr)}},i(Ur){Nr||(zr&&transition_in(zr.$$.fragment,Ur),Nr=!0)},o(Ur){zr&&transition_out(zr.$$.fragment,Ur),Nr=!1},d(Ur){Ur&&detach(Dr),zr&&destroy_component(zr,Ur)}}}function create_if_block_7$5(Br){let zr,Dr;return zr=new LinkedRowSelector({props:{linkedRows:Br[0][Br[2]],schema:Br[3],linkedTableId:"ta_users",useLabel:!1}}),zr.$on("change",Br[16]),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&5&&(Vr.linkedRows=Nr[0][Nr[2]]),Hr&8&&(Vr.schema=Nr[3]),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_if_block_6$6(Br){let zr,Dr;return zr=new LinkedRowSelector({props:{linkedRows:Br[0][Br[2]],schema:Br[3],useLabel:!1}}),zr.$on("change",Br[15]),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&5&&(Vr.linkedRows=Nr[0][Nr[2]]),Hr&8&&(Vr.schema=Nr[3]),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_if_block_5$9(Br){let zr,Dr,Nr;return Dr=new QueryEditor({props:{editorHeight:"150",mode:"json",value:Br[0][Br[2]]}}),Dr.$on("change",Br[14]),{c(){zr=element("span"),create_component(Dr.$$.fragment)},m(Hr,Vr){insert$1(Hr,zr,Vr),mount_component(Dr,zr,null),Nr=!0},p(Hr,Vr){const Ur={};Vr&5&&(Ur.value=Hr[0][Hr[2]]),Dr.$set(Ur)},i(Hr){Nr||(transition_in(Dr.$$.fragment,Hr),Nr=!0)},o(Hr){transition_out(Dr.$$.fragment,Hr),Nr=!1},d(Hr){Hr&&detach(zr),destroy_component(Dr)}}}function create_if_block_4$h(Br){let zr,Dr,Nr;function Hr(Ur){Br[12](Ur)}let Vr={};return Br[0][Br[2]]!==void 0&&(Vr.value=Br[0][Br[2]]),zr=new TextArea_1({props:Vr}),binding_callbacks.push(()=>bind$2(zr,"value",Hr)),zr.$on("change",Br[13]),{c(){create_component(zr.$$.fragment)},m(Ur,jr){mount_component(zr,Ur,jr),Nr=!0},p(Ur,jr){const Wr={};!Dr&&jr&5&&(Dr=!0,Wr.value=Ur[0][Ur[2]],add_flush_callback(()=>Dr=!1)),zr.$set(Wr)},i(Ur){Nr||(transition_in(zr.$$.fragment,Ur),Nr=!0)},o(Ur){transition_out(zr.$$.fragment,Ur),Nr=!1},d(Ur){destroy_component(zr,Ur)}}}function create_if_block_3$m(Br){let zr,Dr,Nr;function Hr(Ur){Br[10](Ur)}let Vr={options:Br[3].constraints.inclusion};return Br[0][Br[2]]!==void 0&&(Vr.value=Br[0][Br[2]]),zr=new Multiselect_1({props:Vr}),binding_callbacks.push(()=>bind$2(zr,"value",Hr)),zr.$on("change",Br[11]),{c(){create_component(zr.$$.fragment)},m(Ur,jr){mount_component(zr,Ur,jr),Nr=!0},p(Ur,jr){const Wr={};jr&8&&(Wr.options=Ur[3].constraints.inclusion),!Dr&&jr&5&&(Dr=!0,Wr.value=Ur[0][Ur[2]],add_flush_callback(()=>Dr=!1)),zr.$set(Wr)},i(Ur){Nr||(transition_in(zr.$$.fragment,Ur),Nr=!0)},o(Ur){transition_out(zr.$$.fragment,Ur),Nr=!1},d(Ur){destroy_component(zr,Ur)}}}function create_if_block_2$x(Br){let zr,Dr;return zr=new Select_1$1({props:{value:Br[0][Br[2]],options:[{label:"True",value:"true"},{label:"False",value:"false"}]}}),zr.$on("change",Br[9]),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&5&&(Vr.value=Nr[0][Nr[2]]),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_if_block_1$T(Br){let zr,Dr;return zr=new DatePicker_1({props:{value:Br[0][Br[2]]}}),zr.$on("change",Br[8]),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&5&&(Vr.value=Nr[0][Nr[2]]),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_if_block$1D(Br){let zr,Dr;return zr=new Select_1$1({props:{value:Br[0][Br[2]],options:Br[3].constraints.inclusion}}),zr.$on("change",Br[7]),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&5&&(Vr.value=Nr[0][Nr[2]]),Hr&8&&(Vr.options=Nr[3].constraints.inclusion),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_fragment$2X(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr;const Wr=[create_if_block$1D,create_if_block_1$T,create_if_block_2$x,create_if_block_3$m,create_if_block_4$h,create_if_block_5$9,create_if_block_6$6,create_if_block_7$5,create_if_block_8$4],Gr=[];function Qr(Yr,Xr){return Xr&8&&(zr=null),Xr&8&&(Dr=null),Xr&8&&(Nr=null),zr==null&&(zr=!!(schemaHasOptions(Yr[3])&&Yr[3].type!=="array")),zr?0:Yr[3].type==="datetime"?1:Yr[3].type==="boolean"?2:(Dr==null&&(Dr=!!(schemaHasOptions(Yr[3])&&Yr[3].type==="array")),Dr?3:Yr[3].type==="longform"?4:Yr[3].type==="json"?5:Yr[3].type==="link"?6:Yr[3].type==="bb_reference"?7:(Nr==null&&(Nr=!!["string","number","bigint","barcodeqr","array"].includes(Yr[3].type)),Nr?8:-1))}return~(Hr=Qr(Br,-1))&&(Vr=Gr[Hr]=Wr[Hr](Br)),{c(){Vr&&Vr.c(),Ur=empty$2()},m(Yr,Xr){~Hr&&Gr[Hr].m(Yr,Xr),insert$1(Yr,Ur,Xr),jr=!0},p(Yr,[Xr]){let Zr=Hr;Hr=Qr(Yr,Xr),Hr===Zr?~Hr&&Gr[Hr].p(Yr,Xr):(Vr&&(group_outros(),transition_out(Gr[Zr],1,1,()=>{Gr[Zr]=null}),check_outros()),~Hr?(Vr=Gr[Hr],Vr?Vr.p(Yr,Xr):(Vr=Gr[Hr]=Wr[Hr](Yr),Vr.c()),transition_in(Vr,1),Vr.m(Ur.parentNode,Ur)):Vr=null)},i(Yr){jr||(transition_in(Vr),jr=!0)},o(Yr){transition_out(Vr),jr=!1},d(Yr){Yr&&detach(Ur),~Hr&&Gr[Hr].d(Yr)}}}function schemaHasOptions(Br){var zr,Dr;return!!((Dr=(zr=Br.constraints)==null?void 0:zr.inclusion)!=null&&Dr.length)}function instance$31(Br,zr,Dr){let Nr,{onChange:Hr}=zr,{field:Vr}=zr,{schema:Ur}=zr,{value:jr}=zr,{bindings:Wr}=zr,{isTestModal:Gr}=zr;const Qr=fo=>Hr(fo,Vr),Yr=fo=>Hr(fo,Vr),Xr=fo=>Hr(fo,Vr);function Zr(fo){Br.$$.not_equal(jr[Vr],fo)&&(jr[Vr]=fo,Dr(0,jr))}const Kr=fo=>Hr(fo,Vr);function Jr(fo){Br.$$.not_equal(jr[Vr],fo)&&(jr[Vr]=fo,Dr(0,jr))}const eo=fo=>Hr(fo,Vr),no=fo=>{var po;((po=fo.detail)==null?void 0:po.value)!==jr[Vr]&&Hr(fo,Vr,Ur.type)},io=fo=>Hr(fo,Vr),so=fo=>Hr(fo,Vr),ao=fo=>Hr(fo,Vr);return Br.$$set=fo=>{"onChange"in fo&&Dr(1,Hr=fo.onChange),"field"in fo&&Dr(2,Vr=fo.field),"schema"in fo&&Dr(3,Ur=fo.schema),"value"in fo&&Dr(0,jr=fo.value),"bindings"in fo&&Dr(6,Wr=fo.bindings),"isTestModal"in fo&&Dr(4,Gr=fo.isTestModal)},Br.$$.update=()=>{Br.$$.dirty&64&&Dr(5,Nr=Wr.map(fo=>{let po=Object.assign({},fo);return po.icon="ShareAndroid",po}))},[jr,Hr,Vr,Ur,Gr,Nr,Wr,Qr,Yr,Xr,Zr,Kr,Jr,eo,no,io,so,ao]}class RowSelectorTypes extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$31,create_fragment$2X,safe_not_equal,{onChange:1,field:2,schema:3,value:0,bindings:6,isTestModal:4})}}const DrawerBindableSlot_svelte_svelte_type_style_lang="",get_default_slot_changes=Br=>({label:Br[0]&32,disabled:Br[0]&64,readonly:Br[0]&32768,value:Br[0]&36864,placeholder:Br[0]&16,updateOnChange:Br[0]&512}),get_default_slot_context=Br=>({label:Br[5],disabled:Br[6],readonly:Br[15],value:Br[15]?"(JavaScript function)":Br[12],placeholder:Br[4],updateOnChange:Br[9]});function create_else_block$C(Br){let zr;const Dr=Br[23].default,Nr=create_slot(Dr,Br,Br[31],get_default_slot_context);return{c(){Nr&&Nr.c()},m(Hr,Vr){Nr&&Nr.m(Hr,Vr),zr=!0},p(Hr,Vr){Nr&&Nr.p&&(!zr||Vr[0]&37488|Vr[1]&1)&&update_slot_base(Nr,Dr,Hr,Hr[31],zr?get_slot_changes(Dr,Hr[31],Vr,get_default_slot_changes):get_all_dirty_from_scope(Hr[31]),get_default_slot_context)},i(Hr){zr||(transition_in(Nr,Hr),zr=!0)},o(Hr){transition_out(Nr,Hr),zr=!1},d(Hr){Nr&&Nr.d(Hr)}}}function create_if_block_1$S(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr;return zr=new Input$5({props:{label:Br[5],disabled:Br[6],readonly:Br[15],value:Br[15]?"(JavaScript function)":Br[12],placeholder:Br[4],updateOnChange:Br[9]}}),zr.$on("change",Br[24]),zr.$on("blur",Br[19]),Hr=new Icon({props:{disabled:Br[15],size:"S",name:"Close"}}),{c(){create_component(zr.$$.fragment),Dr=space$1(),Nr=element("div"),create_component(Hr.$$.fragment),attr(Nr,"class","icon svelte-1b8z1pm")},m(Wr,Gr){mount_component(zr,Wr,Gr),insert$1(Wr,Dr,Gr),insert$1(Wr,Nr,Gr),mount_component(Hr,Nr,null),Vr=!0,Ur||(jr=listen(Nr,"click",Br[25]),Ur=!0)},p(Wr,Gr){const Qr={};Gr[0]&32&&(Qr.label=Wr[5]),Gr[0]&64&&(Qr.disabled=Wr[6]),Gr[0]&32768&&(Qr.readonly=Wr[15]),Gr[0]&36864&&(Qr.value=Wr[15]?"(JavaScript function)":Wr[12]),Gr[0]&16&&(Qr.placeholder=Wr[4]),Gr[0]&512&&(Qr.updateOnChange=Wr[9]),zr.$set(Qr);const Yr={};Gr[0]&32768&&(Yr.disabled=Wr[15]),Hr.$set(Yr)},i(Wr){Vr||(transition_in(zr.$$.fragment,Wr),transition_in(Hr.$$.fragment,Wr),Vr=!0)},o(Wr){transition_out(zr.$$.fragment,Wr),transition_out(Hr.$$.fragment,Wr),Vr=!1},d(Wr){Wr&&(detach(Dr),detach(Nr)),destroy_component(zr,Wr),destroy_component(Hr),Ur=!1,jr()}}}function create_if_block$1C(Br){let zr,Dr,Nr,Hr,Vr,Ur;return Dr=new Icon({props:{size:"S",name:"FlashOn"}}),{c(){zr=element("div"),create_component(Dr.$$.fragment),attr(zr,"class",Nr=null_to_empty(`icon ${Br[21](Br[1],Br[11])}`)+" svelte-1b8z1pm")},m(jr,Wr){insert$1(jr,zr,Wr),mount_component(Dr,zr,null),Hr=!0,Vr||(Ur=listen(zr,"click",Br[26]),Vr=!0)},p(jr,Wr){(!Hr||Wr[0]&2050&&Nr!==(Nr=null_to_empty(`icon ${jr[21](jr[1],jr[11])}`)+" svelte-1b8z1pm"))&&attr(zr,"class",Nr)},i(jr){Hr||(transition_in(Dr.$$.fragment,jr),Hr=!0)},o(jr){transition_out(Dr.$$.fragment,jr),Hr=!1},d(jr){jr&&detach(zr),destroy_component(Dr),Vr=!1,Ur()}}}function create_default_slot$24(Br){let zr;return{c(){zr=text("Save")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_buttons_slot$2(Br){let zr,Dr;return zr=new Button({props:{cta:!0,slot:"buttons",$$slots:{default:[create_default_slot$24]},$$scope:{ctx:Br}}}),zr.$on("click",Br[17]),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr[1]&1&&(Vr.$$scope={dirty:Hr,ctx:Nr}),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_body_slot$1(Br){let zr,Dr,Nr;var Hr=Br[0];function Vr(Ur,jr){return{props:{slot:"body",value:Ur[12],bindings:Ur[2],allowJS:Ur[7],allowHelpers:Ur[8]}}}return Hr&&(zr=construct_svelte_component(Hr,Vr(Br)),zr.$on("change",Br[27])),{c(){zr&&create_component(zr.$$.fragment),Dr=empty$2()},m(Ur,jr){zr&&mount_component(zr,Ur,jr),insert$1(Ur,Dr,jr),Nr=!0},p(Ur,jr){if(jr[0]&1&&Hr!==(Hr=Ur[0])){if(zr){group_outros();const Wr=zr;transition_out(Wr.$$.fragment,1,0,()=>{destroy_component(Wr,1)}),check_outros()}Hr?(zr=construct_svelte_component(Hr,Vr(Ur)),zr.$on("change",Ur[27]),create_component(zr.$$.fragment),transition_in(zr.$$.fragment,1),mount_component(zr,Dr.parentNode,Dr)):zr=null}else if(Hr){const Wr={};jr[0]&4096&&(Wr.value=Ur[12]),jr[0]&4&&(Wr.bindings=Ur[2]),jr[0]&128&&(Wr.allowJS=Ur[7]),jr[0]&256&&(Wr.allowHelpers=Ur[8]),zr.$set(Wr)}},i(Ur){Nr||(zr&&transition_in(zr.$$.fragment,Ur),Nr=!0)},o(Ur){zr&&transition_out(zr.$$.fragment,Ur),Nr=!1},d(Ur){Ur&&detach(Dr),zr&&destroy_component(zr,Ur)}}}function create_fragment$2W(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr;const Gr=[create_if_block_1$S,create_else_block$C],Qr=[];function Yr(Kr,Jr){return Jr[0]&2&&(Dr=null),Dr==null&&(Dr=!Kr[20](Kr[1])),Dr?0:1}Nr=Yr(Br,[-1,-1]),Hr=Qr[Nr]=Gr[Nr](Br);let Xr=!Br[6]&&Br[11]!=="formula"&&create_if_block$1C(Br),Zr={title:Br[3]??Br[4]??"Bindings",left:Br[10],$$slots:{body:[create_body_slot$1],buttons:[create_buttons_slot$2]},$$scope:{ctx:Br}};return jr=new Drawer({props:Zr}),Br[28](jr),jr.$on("drawerHide",Br[29]),jr.$on("drawerShow",Br[30]),{c(){zr=element("div"),Hr.c(),Vr=space$1(),Xr&&Xr.c(),Ur=space$1(),create_component(jr.$$.fragment),attr(zr,"class","control svelte-1b8z1pm"),toggle_class(zr,"disabled",Br[6])},m(Kr,Jr){insert$1(Kr,zr,Jr),Qr[Nr].m(zr,null),append$2(zr,Vr),Xr&&Xr.m(zr,null),insert$1(Kr,Ur,Jr),mount_component(jr,Kr,Jr),Wr=!0},p(Kr,Jr){let eo=Nr;Nr=Yr(Kr,Jr),Nr===eo?Qr[Nr].p(Kr,Jr):(group_outros(),transition_out(Qr[eo],1,1,()=>{Qr[eo]=null}),check_outros(),Hr=Qr[Nr],Hr?Hr.p(Kr,Jr):(Hr=Qr[Nr]=Gr[Nr](Kr),Hr.c()),transition_in(Hr,1),Hr.m(zr,Vr)),!Kr[6]&&Kr[11]!=="formula"?Xr?(Xr.p(Kr,Jr),Jr[0]&2112&&transition_in(Xr,1)):(Xr=create_if_block$1C(Kr),Xr.c(),transition_in(Xr,1),Xr.m(zr,null)):Xr&&(group_outros(),transition_out(Xr,1,1,()=>{Xr=null}),check_outros()),(!Wr||Jr[0]&64)&&toggle_class(zr,"disabled",Kr[6]);const no={};Jr[0]&24&&(no.title=Kr[3]??Kr[4]??"Bindings"),Jr[0]&1024&&(no.left=Kr[10]),Jr[0]&20869|Jr[1]&1&&(no.$$scope={dirty:Jr,ctx:Kr}),jr.$set(no)},i(Kr){Wr||(transition_in(Hr),transition_in(Xr),transition_in(jr.$$.fragment,Kr),Wr=!0)},o(Kr){transition_out(Hr),transition_out(Xr),transition_out(jr.$$.fragment,Kr),Wr=!1},d(Kr){Kr&&(detach(zr),detach(Ur)),Qr[Nr].d(),Xr&&Xr.d(),Br[28](null),destroy_component(jr,Kr)}}}function instance$30(Br,zr,Dr){let Nr,Hr,Vr,{$$slots:Ur={},$$scope:jr}=zr,{panel:Wr=ClientBindingPanel}=zr,{value:Gr=""}=zr,{bindings:Qr=[]}=zr,{title:Yr="Bindings"}=zr,{placeholder:Xr}=zr,{label:Zr}=zr,{disabled:Kr=!1}=zr,{allowJS:Jr=!0}=zr,{allowHelpers:eo=!0}=zr,{updateOnChange:no=!0}=zr,{drawerLeft:io}=zr,{type:so}=zr,{schema:ao}=zr;const fo=createEventDispatcher();let po,go=Gr;const $o=()=>{vo(Hr),So(),po.hide()};setContext("binding-drawer-actions",{save:$o});const vo=jo=>{(so==="link"||so==="bb_reference")&&jo&&To(jo)||so==="array"&&jo&&Eo(jo)?go=jo.split(","):go=readableToRuntimeBinding(Qr,jo),fo("change",go)},So=()=>{fo("blur",go)},ko=jo=>!jo||!isNaN(new Date(jo).valueOf()),To=jo=>{let Fo=[];if(Array.isArray(jo))Fo=jo;else if(jo&&typeof jo=="string")Fo=jo.split(",");else return!jo;return Fo.every(Qo=>Qo.startsWith("ro_"))},Eo=jo=>{let Fo=[];if(Array.isArray(jo))Fo=jo;else if(jo&&typeof jo=="string")Fo=jo.split(",");else return!jo;return Fo.every(Qo=>{var Xo,Zo;return(Zo=(Xo=ao==null?void 0:ao.constraints)==null?void 0:Xo.inclusion)==null?void 0:Zo.includes(Qo)})},yo={date:ko,datetime:ko,link:To,bb_reference:To,array:Eo,longform:jo=>!isJSBinding(jo),json:jo=>!isJSBinding(jo),boolean:jo=>jo==="false"||jo==="true"||jo==""},Co=jo=>{const Fo=yo[so];return Fo?Fo(jo):!0},Mo=(jo,Fo)=>Fo==="longform"&&!isJSBinding(jo)?"text-area-slot-icon":Fo==="json"&&!isJSBinding(jo)?"json-slot-icon":["string","number","bigint","barcodeqr"].includes(Fo)?"":"slot-icon",zo=jo=>vo(jo.detail),Bo=()=>{Vr||fo("change","")},Po=()=>{po.show()},Uo=jo=>Dr(14,Hr=jo.detail);function No(jo){binding_callbacks[jo?"unshift":"push"](()=>{po=jo,Dr(13,po)})}function Do(jo){bubble.call(this,Br,jo)}function xo(jo){bubble.call(this,Br,jo)}return Br.$$set=jo=>{"panel"in jo&&Dr(0,Wr=jo.panel),"value"in jo&&Dr(1,Gr=jo.value),"bindings"in jo&&Dr(2,Qr=jo.bindings),"title"in jo&&Dr(3,Yr=jo.title),"placeholder"in jo&&Dr(4,Xr=jo.placeholder),"label"in jo&&Dr(5,Zr=jo.label),"disabled"in jo&&Dr(6,Kr=jo.disabled),"allowJS"in jo&&Dr(7,Jr=jo.allowJS),"allowHelpers"in jo&&Dr(8,eo=jo.allowHelpers),"updateOnChange"in jo&&Dr(9,no=jo.updateOnChange),"drawerLeft"in jo&&Dr(10,io=jo.drawerLeft),"type"in jo&&Dr(11,so=jo.type),"schema"in jo&&Dr(22,ao=jo.schema),"$$scope"in jo&&Dr(31,jr=jo.$$scope)},Br.$$.update=()=>{Br.$$.dirty[0]&6&&Dr(12,Nr=runtimeToReadableBinding(Qr,Gr)),Br.$$.dirty[0]&4096&&Dr(14,Hr=Nr),Br.$$.dirty[0]&2&&Dr(15,Vr=isJSBinding(Gr))},[Wr,Gr,Qr,Yr,Xr,Zr,Kr,Jr,eo,no,io,so,Nr,po,Hr,Vr,fo,$o,vo,So,Co,Mo,ao,Ur,zo,Bo,Po,Uo,No,Do,xo,jr]}class DrawerBindableSlot extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$30,create_fragment$2W,safe_not_equal,{panel:0,value:1,bindings:2,title:3,placeholder:4,label:5,disabled:6,allowJS:7,allowHelpers:8,updateOnChange:9,drawerLeft:10,type:11,schema:22},null,[-1,-1])}}const RowSelector_svelte_svelte_type_style_lang="";function get_each_context$B(Br,zr,Dr){const Nr=Br.slice();return Nr[17]=zr[Dr][0],Nr[18]=zr[Dr][1],Nr}function create_default_slot_2$1i(Br){let zr;return{c(){zr=text("Table")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_if_block$1B(Br){let zr,Dr,Nr=ensure_array_like(Br[5]),Hr=[];for(let Ur=0;Ur<Nr.length;Ur+=1)Hr[Ur]=create_each_block$B(get_each_context$B(Br,Nr,Ur));const Vr=Ur=>transition_out(Hr[Ur],1,1,()=>{Hr[Ur]=null});return{c(){for(let Ur=0;Ur<Hr.length;Ur+=1)Hr[Ur].c();zr=empty$2()},m(Ur,jr){for(let Wr=0;Wr<Hr.length;Wr+=1)Hr[Wr]&&Hr[Wr].m(Ur,jr);insert$1(Ur,zr,jr),Dr=!0},p(Ur,jr){if(jr&1727){Nr=ensure_array_like(Ur[5]);let Wr;for(Wr=0;Wr<Nr.length;Wr+=1){const Gr=get_each_context$B(Ur,Nr,Wr);Hr[Wr]?(Hr[Wr].p(Gr,jr),transition_in(Hr[Wr],1)):(Hr[Wr]=create_each_block$B(Gr),Hr[Wr].c(),transition_in(Hr[Wr],1),Hr[Wr].m(zr.parentNode,zr))}for(group_outros(),Wr=Nr.length;Wr<Hr.length;Wr+=1)Vr(Wr);check_outros()}},i(Ur){if(!Dr){for(let jr=0;jr<Nr.length;jr+=1)transition_in(Hr[jr]);Dr=!0}},o(Ur){Hr=Hr.filter(Boolean);for(let jr=0;jr<Hr.length;jr+=1)transition_out(Hr[jr]);Dr=!1},d(Ur){Ur&&detach(zr),destroy_each(Hr,Ur)}}}function create_if_block_1$R(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr;Dr=new Label({props:{$$slots:{default:[create_default_slot_1$1I]},$$scope:{ctx:Br}}});const Qr=[create_if_block_3$l,create_else_block$B],Yr=[];function Xr(Kr,Jr){return Kr[3]?0:1}Vr=Xr(Br),Ur=Yr[Vr]=Qr[Vr](Br);let Zr=Br[4]&&Br[18].type==="link"&&create_if_block_2$w(Br);return{c(){zr=element("div"),create_component(Dr.$$.fragment),Nr=space$1(),Hr=element("div"),Ur.c(),jr=space$1(),Zr&&Zr.c(),Wr=space$1(),attr(Hr,"class","field-width svelte-js6fie"),attr(zr,"class","schema-fields svelte-js6fie")},m(Kr,Jr){insert$1(Kr,zr,Jr),mount_component(Dr,zr,null),append$2(zr,Nr),append$2(zr,Hr),Yr[Vr].m(Hr,null),append$2(Hr,jr),Zr&&Zr.m(Hr,null),append$2(zr,Wr),Gr=!0},p(Kr,Jr){const eo={};Jr&2097184&&(eo.$$scope={dirty:Jr,ctx:Kr}),Dr.$set(eo);let no=Vr;Vr=Xr(Kr),Vr===no?Yr[Vr].p(Kr,Jr):(group_outros(),transition_out(Yr[no],1,1,()=>{Yr[no]=null}),check_outros(),Ur=Yr[Vr],Ur?Ur.p(Kr,Jr):(Ur=Yr[Vr]=Qr[Vr](Kr),Ur.c()),transition_in(Ur,1),Ur.m(Hr,jr)),Kr[4]&&Kr[18].type==="link"?Zr?(Zr.p(Kr,Jr),Jr&48&&transition_in(Zr,1)):(Zr=create_if_block_2$w(Kr),Zr.c(),transition_in(Zr,1),Zr.m(Hr,null)):Zr&&(group_outros(),transition_out(Zr,1,1,()=>{Zr=null}),check_outros())},i(Kr){Gr||(transition_in(Dr.$$.fragment,Kr),transition_in(Ur),transition_in(Zr),Gr=!0)},o(Kr){transition_out(Dr.$$.fragment,Kr),transition_out(Ur),transition_out(Zr),Gr=!1},d(Kr){Kr&&detach(zr),destroy_component(Dr),Yr[Vr].d(),Zr&&Zr.d()}}}function create_default_slot_1$1I(Br){let zr=Br[17]+"",Dr;return{c(){Dr=text(zr)},m(Nr,Hr){insert$1(Nr,Dr,Hr)},p(Nr,Hr){Hr&32&&zr!==(zr=Nr[17]+"")&&set_data(Dr,zr)},d(Nr){Nr&&detach(Dr)}}}function create_else_block$B(Br){let zr,Dr;function Nr(...Hr){return Br[13](Br[17],...Hr)}return zr=new DrawerBindableSlot({props:{title:Br[0].title||Br[17],panel:ServerBindingPanel,type:Br[18].type,schema:Br[18],value:Br[0][Br[17]],bindings:Br[2],allowJS:!0,updateOnChange:!1,drawerLeft:"260px",$$slots:{default:[create_default_slot$23]},$$scope:{ctx:Br}}}),zr.$on("change",Nr),{c(){create_component(zr.$$.fragment)},m(Hr,Vr){mount_component(zr,Hr,Vr),Dr=!0},p(Hr,Vr){Br=Hr;const Ur={};Vr&33&&(Ur.title=Br[0].title||Br[17]),Vr&32&&(Ur.type=Br[18].type),Vr&32&&(Ur.schema=Br[18]),Vr&33&&(Ur.value=Br[0][Br[17]]),Vr&4&&(Ur.bindings=Br[2]),Vr&2097321&&(Ur.$$scope={dirty:Vr,ctx:Br}),zr.$set(Ur)},i(Hr){Dr||(transition_in(zr.$$.fragment,Hr),Dr=!0)},o(Hr){transition_out(zr.$$.fragment,Hr),Dr=!1},d(Hr){destroy_component(zr,Hr)}}}function create_if_block_3$l(Br){let zr,Dr;return zr=new RowSelectorTypes({props:{isTestModal:Br[3],field:Br[17],schema:Br[18],bindings:Br[7],value:Br[0],onChange:Br[9]}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&8&&(Vr.isTestModal=Nr[3]),Hr&32&&(Vr.field=Nr[17]),Hr&32&&(Vr.schema=Nr[18]),Hr&128&&(Vr.bindings=Nr[7]),Hr&1&&(Vr.value=Nr[0]),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_default_slot$23(Br){let zr,Dr;return zr=new RowSelectorTypes({props:{isTestModal:Br[3],field:Br[17],schema:Br[18],bindings:Br[7],value:Br[0],onChange:Br[9]}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&8&&(Vr.isTestModal=Nr[3]),Hr&32&&(Vr.field=Nr[17]),Hr&32&&(Vr.schema=Nr[18]),Hr&128&&(Vr.bindings=Nr[7]),Hr&1&&(Vr.value=Nr[0]),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_if_block_2$w(Br){var Vr,Ur;let zr,Dr,Nr;function Hr(...jr){return Br[14](Br[17],...jr)}return Dr=new Checkbox_1({props:{value:(Ur=(Vr=Br[1].fields)==null?void 0:Vr[Br[17]])==null?void 0:Ur.clearRelationships,text:"Clear relationships if empty?",size:"S"}}),Dr.$on("change",Hr),{c(){zr=element("div"),create_component(Dr.$$.fragment),attr(zr,"class","checkbox-field svelte-js6fie")},m(jr,Wr){insert$1(jr,zr,Wr),mount_component(Dr,zr,null),Nr=!0},p(jr,Wr){var Qr,Yr;Br=jr;const Gr={};Wr&34&&(Gr.value=(Yr=(Qr=Br[1].fields)==null?void 0:Qr[Br[17]])==null?void 0:Yr.clearRelationships),Dr.$set(Gr)},i(jr){Nr||(transition_in(Dr.$$.fragment,jr),Nr=!0)},o(jr){transition_out(Dr.$$.fragment,jr),Nr=!1},d(jr){jr&&detach(zr),destroy_component(Dr)}}}function create_each_block$B(Br){let zr,Dr,Nr=!Br[18].autocolumn&&Br[18].type!=="attachment"&&create_if_block_1$R(Br);return{c(){Nr&&Nr.c(),zr=empty$2()},m(Hr,Vr){Nr&&Nr.m(Hr,Vr),insert$1(Hr,zr,Vr),Dr=!0},p(Hr,Vr){!Hr[18].autocolumn&&Hr[18].type!=="attachment"?Nr?(Nr.p(Hr,Vr),Vr&32&&transition_in(Nr,1)):(Nr=create_if_block_1$R(Hr),Nr.c(),transition_in(Nr,1),Nr.m(zr.parentNode,zr)):Nr&&(group_outros(),transition_out(Nr,1,1,()=>{Nr=null}),check_outros())},i(Hr){Dr||(transition_in(Nr),Dr=!0)},o(Hr){transition_out(Nr),Dr=!1},d(Hr){Hr&&detach(zr),Nr&&Nr.d(Hr)}}}function create_fragment$2V(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr;Dr=new Label({props:{$$slots:{default:[create_default_slot_2$1i]},$$scope:{ctx:Br}}}),Vr=new Select_1$1({props:{value:Br[0].tableId,options:Br[6].list.filter(Br[12]),getOptionLabel:func_1$7,getOptionValue:func_2$1}}),Vr.$on("change",Br[8]);let Gr=Br[5].length&&create_if_block$1B(Br);return{c(){zr=element("div"),create_component(Dr.$$.fragment),Nr=space$1(),Hr=element("div"),create_component(Vr.$$.fragment),Ur=space$1(),Gr&&Gr.c(),jr=empty$2(),attr(Hr,"class","field-width svelte-js6fie"),attr(zr,"class","schema-fields svelte-js6fie")},m(Qr,Yr){insert$1(Qr,zr,Yr),mount_component(Dr,zr,null),append$2(zr,Nr),append$2(zr,Hr),mount_component(Vr,Hr,null),insert$1(Qr,Ur,Yr),Gr&&Gr.m(Qr,Yr),insert$1(Qr,jr,Yr),Wr=!0},p(Qr,[Yr]){const Xr={};Yr&2097152&&(Xr.$$scope={dirty:Yr,ctx:Qr}),Dr.$set(Xr);const Zr={};Yr&1&&(Zr.value=Qr[0].tableId),Yr&64&&(Zr.options=Qr[6].list.filter(Qr[12])),Vr.$set(Zr),Qr[5].length?Gr?(Gr.p(Qr,Yr),Yr&32&&transition_in(Gr,1)):(Gr=create_if_block$1B(Qr),Gr.c(),transition_in(Gr,1),Gr.m(jr.parentNode,jr)):Gr&&(group_outros(),transition_out(Gr,1,1,()=>{Gr=null}),check_outros())},i(Qr){Wr||(transition_in(Dr.$$.fragment,Qr),transition_in(Vr.$$.fragment,Qr),transition_in(Gr),Wr=!0)},o(Qr){transition_out(Dr.$$.fragment,Qr),transition_out(Vr.$$.fragment,Qr),transition_out(Gr),Wr=!1},d(Qr){Qr&&(detach(zr),detach(Ur),detach(jr)),destroy_component(Dr),destroy_component(Vr),Gr&&Gr.d(Qr)}}}const func_1$7=Br=>Br.name,func_2$1=Br=>Br._id;function instance$2$(Br,zr,Dr){let Nr,Hr;component_subscribe(Br,tables,ao=>Dr(6,Hr=ao));const Vr=createEventDispatcher();let{value:Ur}=zr,{meta:jr}=zr,{bindings:Wr}=zr,{isTestModal:Gr}=zr,{isUpdateRow:Qr}=zr,Yr,Xr;const Zr=ao=>{Dr(0,Ur.tableId=ao.detail,Ur),Vr("change",Ur)},Kr=(ao,fo)=>new RegExp(/{{([^{].*?)}}/g).test(ao)?ao:fo==="number"?typeof ao=="number"?ao:Number(ao):fo==="options"||fo==="boolean"?ao:fo==="array"?Array.isArray(ao)?ao:ao.split(",").map(go=>go.trim()):fo==="link"?Array.isArray(ao)?ao:ao.split(",").map(go=>go.trim()):fo==="json"?ao.value:ao,Jr=(ao,fo,po)=>{let go={...Ur,[fo]:Kr(ao.detail,po)};Vr("change",go)},eo=(ao,fo)=>{let po={};po[fo]={clearRelationships:ao.detail},Vr("change",{key:"meta",fields:po})},no=ao=>ao._id!==TableNames.USERS,io=(ao,fo)=>Jr(fo,ao),so=(ao,fo)=>eo(fo,ao);return Br.$$set=ao=>{"value"in ao&&Dr(0,Ur=ao.value),"meta"in ao&&Dr(1,jr=ao.meta),"bindings"in ao&&Dr(2,Wr=ao.bindings),"isTestModal"in ao&&Dr(3,Gr=ao.isTestModal),"isUpdateRow"in ao&&Dr(4,Qr=ao.isUpdateRow)},Br.$$.update=()=>{Br.$$.dirty&4&&Dr(7,Nr=Wr.map(ao=>{let fo=Object.assign({},ao);return fo.icon="ShareAndroid",fo})),Br.$$.dirty&2145&&(Dr(11,Yr=Hr.list.find(ao=>ao._id===(Ur==null?void 0:Ur.tableId))),Dr(5,Xr=Object.entries((Yr==null?void 0:Yr.schema)??{})),Xr.map(([,ao])=>{!ao.autocolumn&&!Ur[ao.name]&&Dr(0,Ur[ao.name]="",Ur)})),Br.$$.dirty&1&&(Ur==null?void 0:Ur.tableId)==null&&Dr(0,Ur={tableId:""})},[Ur,jr,Wr,Gr,Qr,Xr,Hr,Nr,Zr,Jr,eo,Yr,no,io,so]}class RowSelector extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$2$,create_fragment$2V,safe_not_equal,{value:0,meta:1,bindings:2,isTestModal:3,isUpdateRow:4})}}const FieldSelector_svelte_svelte_type_style_lang="";function get_each_context$A(Br,zr,Dr){const Nr=Br.slice();return Nr[9]=zr[Dr][0],Nr[10]=zr[Dr][1],Nr}function create_if_block$1A(Br){let zr,Dr,Nr=ensure_array_like(Br[3]),Hr=[];for(let Ur=0;Ur<Nr.length;Ur+=1)Hr[Ur]=create_each_block$A(get_each_context$A(Br,Nr,Ur));const Vr=Ur=>transition_out(Hr[Ur],1,1,()=>{Hr[Ur]=null});return{c(){zr=element("div");for(let Ur=0;Ur<Hr.length;Ur+=1)Hr[Ur].c();attr(zr,"class","schema-fields svelte-qnw5bo")},m(Ur,jr){insert$1(Ur,zr,jr);for(let Wr=0;Wr<Hr.length;Wr+=1)Hr[Wr]&&Hr[Wr].m(zr,null);Dr=!0},p(Ur,jr){if(jr&31){Nr=ensure_array_like(Ur[3]);let Wr;for(Wr=0;Wr<Nr.length;Wr+=1){const Gr=get_each_context$A(Ur,Nr,Wr);Hr[Wr]?(Hr[Wr].p(Gr,jr),transition_in(Hr[Wr],1)):(Hr[Wr]=create_each_block$A(Gr),Hr[Wr].c(),transition_in(Hr[Wr],1),Hr[Wr].m(zr,null))}for(group_outros(),Wr=Nr.length;Wr<Hr.length;Wr+=1)Vr(Wr);check_outros()}},i(Ur){if(!Dr){for(let jr=0;jr<Nr.length;jr+=1)transition_in(Hr[jr]);Dr=!0}},o(Ur){Hr=Hr.filter(Boolean);for(let jr=0;jr<Hr.length;jr+=1)transition_out(Hr[jr]);Dr=!1},d(Ur){Ur&&detach(zr),destroy_each(Hr,Ur)}}}function create_each_block$A(Br){let zr,Dr;return zr=new RowSelectorTypes({props:{isTestModal:Br[2],field:Br[9],schema:Br[10],bindings:Br[1],value:Br[0],onChange:Br[4]}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,Hr){const Vr={};Hr&4&&(Vr.isTestModal=Nr[2]),Hr&8&&(Vr.field=Nr[9]),Hr&8&&(Vr.schema=Nr[10]),Hr&2&&(Vr.bindings=Nr[1]),Hr&1&&(Vr.value=Nr[0]),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function create_fragment$2U(Br){let zr,Dr,Nr=Br[3].length&&Br[2]&&create_if_block$1A(Br);return{c(){Nr&&Nr.c(),zr=empty$2()},m(Hr,Vr){Nr&&Nr.m(Hr,Vr),insert$1(Hr,zr,Vr),Dr=!0},p(Hr,[Vr]){Hr[3].length&&Hr[2]?Nr?(Nr.p(Hr,Vr),Vr&12&&transition_in(Nr,1)):(Nr=create_if_block$1A(Hr),Nr.c(),transition_in(Nr,1),Nr.m(zr.parentNode,zr)):Nr&&(group_outros(),transition_out(Nr,1,1,()=>{Nr=null}),check_outros())},i(Hr){Dr||(transition_in(Nr),Dr=!0)},o(Hr){transition_out(Nr),Dr=!1},d(Hr){Hr&&detach(zr),Nr&&Nr.d(Hr)}}}function instance$2_(Br,zr,Dr){const Nr=createEventDispatcher();let{value:Hr}=zr,{bindings:Vr}=zr,{block:Ur}=zr,{isTestModal:jr}=zr,Wr;const Gr={BOOLEAN:null,NUMBER:null,DATETIME:null,STRING:"",OPTIONS:[],ARRAY:[]},Qr=(Xr,Zr)=>new RegExp(/{{([^{].*?)}}/g).test(Xr)?Xr:Zr==="boolean"?typeof Xr=="boolean"?Xr:Xr==="true":Zr==="number"?typeof Xr=="number"?Xr:Number(Xr):Zr==="options"?[Xr]:Zr==="array"?Array.isArray(Xr)?Xr:Xr.split(",").map(Jr=>Jr.trim()):Zr==="link"?Array.isArray(Xr)?Xr:[Xr]:Xr,Yr=(Xr,Zr,Kr)=>{Dr(0,Hr[Zr]=Qr(Xr.detail,Kr),Hr),Nr("change",Hr)};return Br.$$set=Xr=>{"value"in Xr&&Dr(0,Hr=Xr.value),"bindings"in Xr&&Dr(1,Vr=Xr.bindings),"block"in Xr&&Dr(5,Ur=Xr.block),"isTestModal"in Xr&&Dr(2,jr=Xr.isTestModal)},Br.$$.update=()=>{var Xr;if(Br.$$.dirty&33){let Zr={};for(const[Kr,Jr]of Object.entries(((Xr=Ur==null?void 0:Ur.inputs)==null?void 0:Xr.fields)??{}))Zr={...Zr,[Kr]:{type:Jr,name:Kr,fieldName:Kr,constraints:{type:Jr}}},Hr[Kr]===Jr&&Dr(0,Hr[Kr]=Gr[Jr.toUpperCase()],Hr);Dr(3,Wr=Object.entries(Zr))}},[Hr,Vr,jr,Wr,Yr,Ur]}class FieldSelector extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$2_,create_fragment$2U,safe_not_equal,{value:0,bindings:1,block:5,isTestModal:2})}}const SchemaSetup_svelte_svelte_type_style_lang="";function get_each_context$z(Br,zr,Dr){const Nr=Br.slice();return Nr[9]=zr[Dr],Nr}function create_each_block$z(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr,Wr,Gr;Dr=new Input$5({props:{value:Br[9].name,secondary:!0,placeholder:"Enter field name",updateOnChange:!1}}),Dr.$on("change",function(){is_function(Br[6](Br[9].name))&&Br[6](Br[9].name).apply(this,arguments)});function Qr(...Xr){return Br[7](Br[9],...Xr)}Hr=new Select_1$1({props:{value:Br[9].type,options:Br[3]}}),Hr.$on("change",Qr);function Yr(){return Br[8](Br[9])}return{c(){zr=element("div"),create_component(Dr.$$.fragment),Nr=space$1(),create_component(Hr.$$.fragment),Vr=space$1(),Ur=element("i"),attr(Ur,"class","remove-field ri-delete-bin-line"),attr(zr,"class","field svelte-12q6c1o")},m(Xr,Zr){insert$1(Xr,zr,Zr),mount_component(Dr,zr,null),append$2(zr,Nr),mount_component(Hr,zr,null),append$2(zr,Vr),append$2(zr,Ur),jr=!0,Wr||(Gr=listen(Ur,"click",Yr),Wr=!0)},p(Xr,Zr){Br=Xr;const Kr={};Zr&2&&(Kr.value=Br[9].name),Dr.$set(Kr);const Jr={};Zr&2&&(Jr.value=Br[9].type),Hr.$set(Jr)},i(Xr){jr||(transition_in(Dr.$$.fragment,Xr),transition_in(Hr.$$.fragment,Xr),jr=!0)},o(Xr){transition_out(Dr.$$.fragment,Xr),transition_out(Hr.$$.fragment,Xr),jr=!1},d(Xr){Xr&&detach(zr),destroy_component(Dr),destroy_component(Hr),Wr=!1,Gr()}}}function create_default_slot$22(Br){let zr;return{c(){zr=text("Add field")},m(Dr,Nr){insert$1(Dr,zr,Nr)},d(Dr){Dr&&detach(zr)}}}function create_fragment$2T(Br){let zr,Dr,Nr,Hr,Vr,Ur,jr=ensure_array_like(Br[1]),Wr=[];for(let Qr=0;Qr<jr.length;Qr+=1)Wr[Qr]=create_each_block$z(get_each_context$z(Br,jr,Qr));const Gr=Qr=>transition_out(Wr[Qr],1,1,()=>{Wr[Qr]=null});return Vr=new Button({props:{quiet:!0,secondary:!0,icon:"Add",$$slots:{default:[create_default_slot$22]},$$scope:{ctx:Br}}}),Vr.$on("click",Br[4]),{c(){zr=element("div"),Dr=element("div"),Nr=space$1();for(let Qr=0;Qr<Wr.length;Qr+=1)Wr[Qr].c();Hr=space$1(),create_component(Vr.$$.fragment),attr(Dr,"class","spacer svelte-12q6c1o"),attr(zr,"class","root svelte-12q6c1o")},m(Qr,Yr){insert$1(Qr,zr,Yr),append$2(zr,Dr),append$2(zr,Nr);for(let Xr=0;Xr<Wr.length;Xr+=1)Wr[Xr]&&Wr[Xr].m(zr,null);append$2(zr,Hr),mount_component(Vr,zr,null),Ur=!0},p(Qr,[Yr]){if(Yr&111){jr=ensure_array_like(Qr[1]);let Zr;for(Zr=0;Zr<jr.length;Zr+=1){const Kr=get_each_context$z(Qr,jr,Zr);Wr[Zr]?(Wr[Zr].p(Kr,Yr),transition_in(Wr[Zr],1)):(Wr[Zr]=create_each_block$z(Kr),Wr[Zr].c(),transition_in(Wr[Zr],1),Wr[Zr].m(zr,Hr))}for(group_outros(),Zr=jr.length;Zr<Wr.length;Zr+=1)Gr(Zr);check_outros()}const Xr={};Yr&4096&&(Xr.$$scope={dirty:Yr,ctx:Qr}),Vr.$set(Xr)},i(Qr){if(!Ur){for(let Yr=0;Yr<jr.length;Yr+=1)transition_in(Wr[Yr]);transition_in(Vr.$$.fragment,Qr),Ur=!0}},o(Qr){Wr=Wr.filter(Boolean);for(let Yr=0;Yr<Wr.length;Yr+=1)transition_out(Wr[Yr]);transition_out(Vr.$$.fragment,Qr),Ur=!1},d(Qr){Qr&&detach(zr),destroy_each(Wr,Qr),destroy_component(Vr)}}}function instance$2Z(Br,zr,Dr){let Nr;const Hr=createEventDispatcher();let{value:Vr={}}=zr;const Ur=[{label:"Text",value:"string"},{label:"Number",value:"number"},{label:"Boolean",value:"boolean"},{label:"DateTime",value:"datetime"},{label:"Array",value:"array"}];function jr(){const Xr={...Vr};Xr[""]="string",Hr("change",Xr)}function Wr(Xr){const Zr={...Vr};delete Zr[Xr],Hr("change",Zr)}const Gr=Xr=>Zr=>{let Kr=[...Nr];const Jr=Zr.detail;Jr?Kr.find(eo=>eo.name===Xr).name=Jr:Kr=Kr.filter(eo=>eo.name!==Xr),Dr(0,Vr=Kr.reduce((eo,no)=>(eo[no.name.trim()]=no.type,eo),{})),Hr("change",Vr)},Qr=(Xr,Zr)=>{Dr(0,Vr[Xr.name]=Zr.detail,Vr),Hr("change",Vr)},Yr=Xr=>Wr(Xr.name);return Br.$$set=Xr=>{"value"in Xr&&Dr(0,Vr=Xr.value)},Br.$$.update=()=>{Br.$$.dirty&1&&Dr(1,Nr=Vr?Object.entries(Vr).map(([Xr,Zr])=>({name:Xr,type:Zr})):[])},[Vr,Nr,Hr,Ur,jr,Wr,Gr,Qr,Yr]}class SchemaSetup extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$2Z,create_fragment$2T,safe_not_equal,{value:0})}}function create_fragment$2S(Br){let zr,Dr;return zr=new CopyInput({props:{value:fullWebhookURL(Br[0])}}),{c(){create_component(zr.$$.fragment)},m(Nr,Hr){mount_component(zr,Nr,Hr),Dr=!0},p(Nr,[Hr]){const Vr={};Hr&1&&(Vr.value=fullWebhookURL(Nr[0])),zr.$set(Vr)},i(Nr){Dr||(transition_in(zr.$$.fragment,Nr),Dr=!0)},o(Nr){transition_out(zr.$$.fragment,Nr),Dr=!1},d(Nr){destroy_component(zr,Nr)}}}function fullWebhookURL(Br){return Br?`${window.location.origin}/${Br}`:""}function instance$2Y(Br,zr,Dr){let{value:Nr}=zr;return Br.$$set=Hr=>{"value"in Hr&&Dr(0,Nr=Hr.value)},[Nr]}class WebhookDisplay extends SvelteComponent{constructor(zr){super(),init$2(this,zr,instance$2Y,create_fragment$2S,safe_not_equal,{value:0})}}const CreateWebhookModal_svelte_svelte_type_style_lang="";function create_if_block$1z(Br){let zr,Dr,Nr,Hr,Vr=Br[2]>1?"s":"",Ur,jr;return{c(){zr=element("p"),Dr=text(`Request received! We found
1706
1706
  `),Nr=text(Br[2]),Hr=text(`
1707
1707
  bindable value`),Ur=text(Vr),jr=text("."),attr(zr,"class","finished-text svelte-12gur68")},m(Wr,Gr){insert$1(Wr,zr,Gr),append$2(zr,Dr),append$2(zr,Nr),append$2(zr,Hr),append$2(zr,Ur),append$2(zr,jr)},p(Wr,Gr){Gr&4&&set_data(Nr,Wr[2]),Gr&4&&Vr!==(Vr=Wr[2]>1?"s":"")&&set_data(Ur,Vr)},d(Wr){Wr&&detach(zr)}}}function create_default_slot$21(Br){let zr,Dr,Nr,Hr,Vr,Ur;Nr=new WebhookDisplay({props:{value:Br[1]}});let jr=Br[0]&&create_if_block$1z(Br);return{c(){zr=element("p"),zr.innerHTML=`Webhooks are for receiving data. To make them easier please use the URL
@@ -9,7 +9,7 @@
9
9
  <link href="/builder/fonts/source-sans-pro/600.css" rel="stylesheet" />
10
10
  <link href="/builder/fonts/source-sans-pro/700.css" rel="stylesheet" />
11
11
  <link href="/builder/fonts/remixicon.css" rel="stylesheet" />
12
- <script type="module" crossorigin src="/builder/assets/index-187e6b3c.js"></script>
12
+ <script type="module" crossorigin src="/builder/assets/index-705fed0c.js"></script>
13
13
  <link rel="stylesheet" href="/builder/assets/index-e3ab212b.css">
14
14
  </head>
15
15
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@budibase/server",
3
3
  "email": "hi@budibase.com",
4
- "version": "2.23.3",
4
+ "version": "2.23.4",
5
5
  "description": "Budibase Web Server",
6
6
  "main": "src/index.ts",
7
7
  "repository": {
@@ -48,13 +48,13 @@
48
48
  "license": "GPL-3.0",
49
49
  "dependencies": {
50
50
  "@apidevtools/swagger-parser": "10.0.3",
51
- "@budibase/backend-core": "2.23.3",
52
- "@budibase/client": "2.23.3",
53
- "@budibase/frontend-core": "2.23.3",
54
- "@budibase/pro": "2.23.3",
55
- "@budibase/shared-core": "2.23.3",
56
- "@budibase/string-templates": "2.23.3",
57
- "@budibase/types": "2.23.3",
51
+ "@budibase/backend-core": "2.23.4",
52
+ "@budibase/client": "2.23.4",
53
+ "@budibase/frontend-core": "2.23.4",
54
+ "@budibase/pro": "2.23.4",
55
+ "@budibase/shared-core": "2.23.4",
56
+ "@budibase/string-templates": "2.23.4",
57
+ "@budibase/types": "2.23.4",
58
58
  "@bull-board/api": "5.10.2",
59
59
  "@bull-board/koa": "5.10.2",
60
60
  "@elastic/elasticsearch": "7.10.0",
@@ -198,5 +198,5 @@
198
198
  }
199
199
  }
200
200
  },
201
- "gitHead": "6fffbdc2179f20ca927d0ae9b7cefb3fb0450e1a"
201
+ "gitHead": "8a3a415c5f998d40ec0e96e73ccd171fa1bc2226"
202
202
  }