@budibase/server 2.10.12-alpha.6 → 2.10.12-alpha.8

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.
@@ -1735,7 +1735,7 @@ Use Save As... to download, then click back to return to this page.`)&&(location
1735
1735
  </g>
1736
1736
  </g>
1737
1737
  </svg>
1738
- `,AppPreview_svelte_svelte_type_style_lang="";function create_if_block_1$Q(n1){let e1,t1,r1;return t1=new Layout$m({props:{justifyItems:"center",gap:"S",$$slots:{default:[create_default_slot_1$1K]},$$scope:{ctx:n1}}}),{c(){e1=element("div"),create_component(t1.$$.fragment),attr(e1,"class","center error svelte-ogzj7")},m(o1,i1){insert$1(o1,e1,i1),mount_component(t1,e1,null),r1=!0},p(o1,i1){const a1={};i1&67108880&&(a1.$$scope={dirty:i1,ctx:o1}),t1.$set(a1)},i(o1){r1||(transition_in(t1.$$.fragment,o1),r1=!0)},o(o1){transition_out(t1.$$.fragment,o1),r1=!1},d(o1){o1&&detach(e1),destroy_component(t1)}}}function create_if_block$1E(n1){let e1,t1,r1;return t1=new ProgressCircle({}),{c(){e1=element("div"),create_component(t1.$$.fragment),attr(e1,"class","center svelte-ogzj7")},m(o1,i1){insert$1(o1,e1,i1),mount_component(t1,e1,null),r1=!0},p:noop$5,i(o1){r1||(transition_in(t1.$$.fragment,o1),r1=!0)},o(o1){transition_out(t1.$$.fragment,o1),r1=!1},d(o1){o1&&detach(e1),destroy_component(t1)}}}function create_default_slot_3$17(n1){let e1;return{c(){e1=text("App preview failed to load")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_2$1n(n1){let e1;return{c(){e1=text(n1[4])},m(t1,r1){insert$1(t1,e1,r1)},p(t1,r1){r1&16&&set_data(e1,t1[4])},d(t1){t1&&detach(e1)}}}function create_default_slot_1$1K(n1){let e1,t1,r1,o1,i1,a1;return r1=new Heading({props:{size:"L",$$slots:{default:[create_default_slot_3$17]},$$scope:{ctx:n1}}}),i1=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1n]},$$scope:{ctx:n1}}}),{c(){e1=new HtmlTag(!1),t1=space$1(),create_component(r1.$$.fragment),o1=space$1(),create_component(i1.$$.fragment),e1.a=t1},m(s1,l1){e1.m(ErrorSVG,s1,l1),insert$1(s1,t1,l1),mount_component(r1,s1,l1),insert$1(s1,o1,l1),mount_component(i1,s1,l1),a1=!0},p(s1,l1){const c1={};l1&67108864&&(c1.$$scope={dirty:l1,ctx:s1}),r1.$set(c1);const u1={};l1&67108880&&(u1.$$scope={dirty:l1,ctx:s1}),i1.$set(u1)},i(s1){a1||(transition_in(r1.$$.fragment,s1),transition_in(i1.$$.fragment,s1),a1=!0)},o(s1){transition_out(r1.$$.fragment,s1),transition_out(i1.$$.fragment,s1),a1=!1},d(s1){s1&&e1.d(),s1&&detach(t1),destroy_component(r1,s1),s1&&detach(o1),destroy_component(i1,s1)}}}function create_default_slot$29(n1){let e1;return{c(){e1=text("Component")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_fragment$3a(n1){let e1,t1,r1,o1,i1,a1,s1,l1,c1,u1,f1,p1,d1,m1;const _1=[create_if_block$1E,create_if_block_1$Q],h1=[];function g1(y1,w1){return y1[3]?0:y1[4]?1:-1}~(t1=g1(n1))&&(r1=h1[t1]=_1[t1](n1)),c1=new Icon({props:{size:"XL",name:"Add",$$slots:{default:[create_default_slot$29]},$$scope:{ctx:n1}}});let $1={title:"Confirm Deletion",body:"Are you sure you want to delete this component?",okText:"Delete component",onOk:n1[6],onCancel:n1[7]};return f1=new ConfirmDialog({props:$1}),n1[17](f1),{c(){e1=element("div"),r1&&r1.c(),o1=space$1(),i1=element("iframe"),s1=space$1(),l1=element("div"),create_component(c1.$$.fragment),u1=space$1(),create_component(f1.$$.fragment),attr(i1,"title","componentPreview"),src_url_equal(i1.src,a1="/app/preview")||attr(i1,"src",a1),attr(i1,"class","svelte-ogzj7"),toggle_class(i1,"hidden",n1[3]||n1[4]),toggle_class(i1,"tablet",n1[1].previewDevice==="tablet"),toggle_class(i1,"mobile",n1[1].previewDevice==="mobile"),attr(l1,"class","add-component svelte-ogzj7"),toggle_class(l1,"active",n1[5]),attr(e1,"class","component-container svelte-ogzj7")},m(y1,w1){insert$1(y1,e1,w1),~t1&&h1[t1].m(e1,null),append$1(e1,o1),append$1(e1,i1),n1[16](i1),append$1(e1,s1),append$1(e1,l1),mount_component(c1,l1,null),insert$1(y1,u1,w1),mount_component(f1,y1,w1),p1=!0,d1||(m1=listen(l1,"click",n1[8]),d1=!0)},p(y1,[w1]){let S1=t1;t1=g1(y1),t1===S1?~t1&&h1[t1].p(y1,w1):(r1&&(group_outros(),transition_out(h1[S1],1,1,()=>{h1[S1]=null}),check_outros()),~t1?(r1=h1[t1],r1?r1.p(y1,w1):(r1=h1[t1]=_1[t1](y1),r1.c()),transition_in(r1,1),r1.m(e1,o1)):r1=null),(!p1||w1&24)&&toggle_class(i1,"hidden",y1[3]||y1[4]),(!p1||w1&2)&&toggle_class(i1,"tablet",y1[1].previewDevice==="tablet"),(!p1||w1&2)&&toggle_class(i1,"mobile",y1[1].previewDevice==="mobile");const O1={};w1&67108864&&(O1.$$scope={dirty:w1,ctx:y1}),c1.$set(O1),(!p1||w1&32)&&toggle_class(l1,"active",y1[5]);const C1={};f1.$set(C1)},i(y1){p1||(transition_in(r1),transition_in(c1.$$.fragment,y1),transition_in(f1.$$.fragment,y1),p1=!0)},o(y1){transition_out(r1),transition_out(c1.$$.fragment,y1),transition_out(f1.$$.fragment,y1),p1=!1},d(y1){y1&&detach(e1),~t1&&h1[t1].d(),n1[16](null),destroy_component(c1),y1&&detach(u1),n1[17](null),destroy_component(f1,y1),d1=!1,m1()}}}function instance$3d(n1,e1,t1){let r1,o1,i1,a1,s1,l1,c1,u1,f1;component_subscribe(n1,goto,q1=>t1(19,l1=q1)),component_subscribe(n1,isActive,q1=>t1(14,c1=q1)),component_subscribe(n1,store,q1=>t1(1,u1=q1)),component_subscribe(n1,selectedScreen,q1=>t1(15,f1=q1));let p1,d1,m1,_1,h1,g1=!0,$1;const y1={READY:"ready",ERROR:"error",BUDIBASE:"type"},w1=q1=>{p1==null||p1.contentWindow.postMessage(q1)},S1=async q1=>{var R1,I1,F1;if(!!((R1=q1==null?void 0:q1.data)!=null&&R1.type)){try{await O1(q1)}catch(j1){notifications.error(j1||"Error handling event from app preview")}(I1=q1.data)!=null&&I1.id&&s1("event-completed",(F1=q1.data)==null?void 0:F1.id)}},O1=async q1=>{var F1;const{type:R1,data:I1}=q1.data;if(R1===y1.READY){if(!g1)return;w1(i1)}else if(R1===y1.ERROR)t1(3,g1=!1),t1(4,$1=q1.error||"An unknown error occurred");else if(R1==="select-component"&&I1.id)set_store_value(store,u1.selectedComponentId=I1.id,u1);else if(R1==="update-prop")await store.actions.components.updateSetting(I1.prop,I1.value);else if(R1==="update-styles")await store.actions.components.updateStyles(I1.styles,I1.id);else if(R1==="delete-component"&&I1.id)C1(I1.id);else if(R1==="key-down"){const{key:j1,ctrlKey:X1}=I1;document.dispatchEvent(new KeyboardEvent("keydown",{key:j1,ctrlKey:X1}))}else if(R1==="duplicate-component"&&I1.id){const j1=get_store_value(currentAsset).props,X1=findComponent(j1,I1.id);store.actions.components.copy(X1),await store.actions.components.paste(X1)}else if(R1==="preview-loaded")t1(3,g1=!1);else if(R1==="move-component"){const{componentId:j1,destinationComponentId:X1}=I1,Y1=get_store_value(currentAsset).props,Q1=findComponent(Y1,j1),e0=findComponent(Y1,X1);if(findComponentPath(Q1,X1).map(r0=>r0._id).includes(I1.destinationComponentId))return;Q1&&e0&&(store.actions.components.copy(Q1,!0,!1),await store.actions.components.paste(e0,I1.mode))}else if(R1==="request-add-component")D1();else if(R1==="highlight-setting"){store.actions.settings.highlight(I1.setting);const j1=`#${I1.setting}-prop-control`,X1=(F1=document.querySelector(j1))==null?void 0:F1.parentElement;X1&&X1.scrollIntoView({behavior:"smooth",block:"center"})}else if(R1==="eject-block"){const{id:j1,definition:X1}=I1;await store.actions.components.handleEjectBlock(j1,X1)}else if(R1==="reload-plugin")await store.actions.components.refreshDefinitions();else if(R1==="drop-new-component"){const{component:j1,parent:X1,index:Y1}=I1;await store.actions.components.create(j1,null,X1,Y1)}else if(R1==="add-parent-component"){const{componentId:j1,parentType:X1}=I1;await store.actions.components.addParent(j1,X1)}else console.warn(`Client sent unknown event type: ${R1}`)},C1=q1=>{h1=q1,_1.show()},M1=async()=>{try{await store.actions.components.delete({_id:h1})}catch{notifications.error("Error deleting component")}h1=null},z1=()=>{h1=null},D1=()=>{c1("./:componentId/new")?l1("./:componentId"):l1("./:componentId/new")};onMount(()=>{window.addEventListener("message",S1)}),onDestroy(()=>{window.removeEventListener("message",S1)});function H1(q1){binding_callbacks[q1?"unshift":"push"](()=>{p1=q1,t1(0,p1)})}function B1(q1){binding_callbacks[q1?"unshift":"push"](()=>{_1=q1,t1(2,_1)})}return n1.$$.update=()=>{var q1,R1,I1;n1.$$.dirty&32768&&t1(9,m1=f1),n1.$$.dirty&2&&t1(12,r1=u1.selectedComponentId),n1.$$.dirty&4610&&t1(13,o1={appId:u1.appId,layout:d1,screen:m1,selectedComponentId:r1,theme:u1.theme,customTheme:u1.customTheme,previewDevice:u1.previewDevice,messagePassing:u1.clientFeatures.messagePassing,navigation:u1.navigation,hiddenComponentIds:((q1=u1.componentToPaste)==null?void 0:q1._id)&&((R1=u1.componentToPaste)==null?void 0:R1.isCut)?[(I1=u1.componentToPaste)==null?void 0:I1._id]:[],isBudibaseEvent:!0,usedPlugins:u1.usedPlugins,location:{protocol:window.location.protocol,hostname:window.location.hostname,port:window.location.port}}),n1.$$.dirty&8192&&t1(10,i1=JSON.stringify(o1)),n1.$$.dirty&1024&&w1(i1),n1.$$.dirty&20480&&t1(5,a1=c1(`./${r1}/new`)),n1.$$.dirty&1&&t1(11,s1=(F1,j1)=>{p1==null||p1.contentWindow.postMessage(JSON.stringify({name:F1,payload:j1,isBudibaseEvent:!0,runtimeEvent:!0}))}),n1.$$.dirty&2048&&store.actions.preview.registerEventHandler(s1)},[p1,u1,_1,g1,$1,a1,M1,z1,D1,m1,i1,s1,r1,o1,c1,f1,H1,B1]}class AppPreview extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$3d,create_fragment$3a,safe_not_equal,{})}}const UndoRedoControl_svelte_svelte_type_style_lang="";function create_fragment$39(n1){let e1,t1,r1,o1,i1;return t1=new Icon({props:{name:"Undo",hoverable:!0,disabled:!n1[1].canUndo,tooltip:"Undo latest change"}}),t1.$on("click",function(){is_function(n1[0].undo)&&n1[0].undo.apply(this,arguments)}),o1=new Icon({props:{name:"Redo",hoverable:!0,disabled:!n1[1].canRedo,tooltip:"Redo latest undo"}}),o1.$on("click",function(){is_function(n1[0].redo)&&n1[0].redo.apply(this,arguments)}),{c(){e1=element("div"),create_component(t1.$$.fragment),r1=space$1(),create_component(o1.$$.fragment),attr(e1,"class","undo-redo svelte-1ykfm7c")},m(a1,s1){insert$1(a1,e1,s1),mount_component(t1,e1,null),append$1(e1,r1),mount_component(o1,e1,null),i1=!0},p(a1,[s1]){n1=a1;const l1={};s1&2&&(l1.disabled=!n1[1].canUndo),t1.$set(l1);const c1={};s1&2&&(c1.disabled=!n1[1].canRedo),o1.$set(c1)},i(a1){i1||(transition_in(t1.$$.fragment,a1),transition_in(o1.$$.fragment,a1),i1=!0)},o(a1){transition_out(t1.$$.fragment,a1),transition_out(o1.$$.fragment,a1),i1=!1},d(a1){a1&&detach(e1),destroy_component(t1),destroy_component(o1)}}}function instance$3c(n1,e1,t1){let r1,o1=noop$5,i1=()=>(o1(),o1=subscribe(a1,l1=>t1(1,r1=l1)),a1);n1.$$.on_destroy.push(()=>o1());let{store:a1}=e1;i1();const s1=l1=>{if(!(l1.ctrlKey||l1.metaKey))return;let c1=l1.key.toLowerCase();isBuilderInputFocused(l1)||(l1.shiftKey&&c1==="z"?a1.redo():c1==="z"&&a1.undo())};return onMount(()=>(document.addEventListener("keydown",s1),()=>{document.removeEventListener("keydown",s1)})),n1.$$set=l1=>{"store"in l1&&i1(t1(0,a1=l1.store))},[a1,r1]}class UndoRedoControl extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$3c,create_fragment$39,safe_not_equal,{store:0})}}const AppPanel_svelte_svelte_type_style_lang="";function create_if_block$1D(n1){let e1,t1;return e1=new DevicePreviewSelect({}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_key_block$3(n1){let e1,t1;return e1=new AppPreview({}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p:noop$5,i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_fragment$38(n1){let e1,t1,r1,o1,i1,a1,s1,l1,c1=n1[0].version,u1;o1=new UndoRedoControl({props:{store:screenHistoryStore}});let f1=n1[0].clientFeatures.devicePreview&&create_if_block$1D(),p1=create_key_block$3();return{c(){e1=element("div"),t1=element("div"),r1=element("div"),create_component(o1.$$.fragment),i1=space$1(),a1=element("div"),f1&&f1.c(),s1=space$1(),l1=element("div"),p1.c(),attr(r1,"class","header-left svelte-1lqfjei"),attr(a1,"class","header-right svelte-1lqfjei"),attr(t1,"class","header svelte-1lqfjei"),attr(l1,"class","content svelte-1lqfjei"),attr(e1,"class","app-panel svelte-1lqfjei")},m(d1,m1){insert$1(d1,e1,m1),append$1(e1,t1),append$1(t1,r1),mount_component(o1,r1,null),append$1(t1,i1),append$1(t1,a1),f1&&f1.m(a1,null),append$1(e1,s1),append$1(e1,l1),p1.m(l1,null),u1=!0},p(d1,[m1]){d1[0].clientFeatures.devicePreview?f1?m1&1&&transition_in(f1,1):(f1=create_if_block$1D(),f1.c(),transition_in(f1,1),f1.m(a1,null)):f1&&(group_outros(),transition_out(f1,1,1,()=>{f1=null}),check_outros()),m1&1&&safe_not_equal(c1,c1=d1[0].version)?(group_outros(),transition_out(p1,1,1,noop$5),check_outros(),p1=create_key_block$3(),p1.c(),transition_in(p1,1),p1.m(l1,null)):p1.p(d1,m1)},i(d1){u1||(transition_in(o1.$$.fragment,d1),transition_in(f1),transition_in(p1),u1=!0)},o(d1){transition_out(o1.$$.fragment,d1),transition_out(f1),transition_out(p1),u1=!1},d(d1){d1&&detach(e1),destroy_component(o1),f1&&f1.d(),p1.d(d1)}}}function instance$3b(n1,e1,t1){let r1;return component_subscribe(n1,store,o1=>t1(0,r1=o1)),[r1]}class AppPanel extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$3b,create_fragment$38,safe_not_equal,{})}}const RoleIndicator_svelte_svelte_type_style_lang="";function create_if_block$1C(n1){let e1,t1,r1;return t1=new Tooltip$1({props:{textWrapping:!0,text:n1[1],direction:"right"}}),{c(){e1=element("div"),create_component(t1.$$.fragment),attr(e1,"class","tooltip svelte-1vfibm3")},m(o1,i1){insert$1(o1,e1,i1),mount_component(t1,e1,null),r1=!0},p(o1,i1){const a1={};i1&2&&(a1.text=o1[1]),t1.$set(a1)},i(o1){r1||(transition_in(t1.$$.fragment,o1),r1=!0)},o(o1){transition_out(t1.$$.fragment,o1),r1=!1},d(o1){o1&&detach(e1),destroy_component(t1)}}}function create_fragment$37(n1){let e1,t1,r1,o1,i1,a1;t1=new StatusLight({props:{square:!0,color:n1[2]}});let s1=n1[0]&&create_if_block$1C(n1);return{c(){e1=element("div"),create_component(t1.$$.fragment),r1=space$1(),s1&&s1.c(),attr(e1,"class","container svelte-1vfibm3"),set_style(e1,"--color",n1[2])},m(l1,c1){insert$1(l1,e1,c1),mount_component(t1,e1,null),append$1(e1,r1),s1&&s1.m(e1,null),o1=!0,i1||(a1=[listen(e1,"mouseover",n1[7]),listen(e1,"mouseleave",n1[8]),listen(e1,"focus",n1[6])],i1=!0)},p(l1,[c1]){const u1={};c1&4&&(u1.color=l1[2]),t1.$set(u1),l1[0]?s1?(s1.p(l1,c1),c1&1&&transition_in(s1,1)):(s1=create_if_block$1C(l1),s1.c(),transition_in(s1,1),s1.m(e1,null)):s1&&(group_outros(),transition_out(s1,1,1,()=>{s1=null}),check_outros()),(!o1||c1&4)&&set_style(e1,"--color",l1[2])},i(l1){o1||(transition_in(t1.$$.fragment,l1),transition_in(s1),o1=!0)},o(l1){transition_out(t1.$$.fragment,l1),transition_out(s1),o1=!1},d(l1){l1&&detach(e1),destroy_component(t1),s1&&s1.d(),i1=!1,run_all(a1)}}}function instance$3a(n1,e1,t1){let r1,o1,i1,a1;component_subscribe(n1,roles,p1=>t1(5,a1=p1));let{roleId:s1}=e1,l1=!1;function c1(p1){bubble.call(this,n1,p1)}const u1=()=>t1(0,l1=!0),f1=()=>t1(0,l1=!1);return n1.$$set=p1=>{"roleId"in p1&&t1(3,s1=p1.roleId)},n1.$$.update=()=>{n1.$$.dirty&8&&t1(2,r1=getRoleColour(s1)),n1.$$.dirty&40&&t1(4,o1=a1.find(p1=>p1._id===s1)),n1.$$.dirty&24&&t1(1,i1=s1===Roles.PUBLIC?"Open to the public":`Requires ${o1==null?void 0:o1.name} access`)},[l1,i1,r1,s1,o1,a1,c1,u1,f1]}class RoleIndicator extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$3a,create_fragment$37,safe_not_equal,{roleId:3})}}const ScreenDetailsModal_svelte_svelte_type_style_lang="";function create_default_slot$28(n1){let e1,t1,r1,o1,i1,a1;function s1(c1){n1[10](c1)}let l1={label:"Enter a URL for the new screen",error:n1[4]};return n1[0]!==void 0&&(l1.value=n1[0]),e1=new Input$5({props:l1}),binding_callbacks.push(()=>bind$3(e1,"value",s1)),e1.$on("change",n1[6]),{c(){create_component(e1.$$.fragment),r1=space$1(),o1=element("div"),i1=text(n1[5]),attr(o1,"class","app-server svelte-ygkcrb"),attr(o1,"title",n1[5])},m(c1,u1){mount_component(e1,c1,u1),insert$1(c1,r1,u1),insert$1(c1,o1,u1),append$1(o1,i1),a1=!0},p(c1,u1){const f1={};u1&16&&(f1.error=c1[4]),!t1&&u1&1&&(t1=!0,f1.value=c1[0],add_flush_callback(()=>t1=!1)),e1.$set(f1),(!a1||u1&32)&&set_data(i1,c1[5]),(!a1||u1&32)&&attr(o1,"title",c1[5])},i(c1){a1||(transition_in(e1.$$.fragment,c1),a1=!0)},o(c1){transition_out(e1.$$.fragment,c1),a1=!1},d(c1){destroy_component(e1,c1),c1&&detach(r1),c1&&detach(o1)}}}function create_fragment$36(n1){let e1,t1;return e1=new ModalContent({props:{size:"M",title:"Screen details",confirmText:n1[2],onConfirm:n1[7],onCancel:n1[1],cancelText:"Back",disabled:!n1[0]||n1[4]||!n1[3],$$slots:{default:[create_default_slot$28]},$$scope:{ctx:n1}}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,[o1]){const i1={};o1&4&&(i1.confirmText=r1[2]),o1&2&&(i1.onCancel=r1[1]),o1&25&&(i1.disabled=!r1[0]||r1[4]||!r1[3]),o1&4145&&(i1.$$scope={dirty:o1,ctx:r1}),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}const appPrefix$1="/app";function instance$39(n1,e1,t1){let r1,{onConfirm:o1}=e1,{onCancel:i1}=e1,{screenUrl:a1}=e1,{screenRole:s1}=e1,{confirmText:l1="Continue"}=e1,c1=!1,u1;const f1=_1=>{_1.detail.startsWith("/")||t1(0,a1="/"+_1.detail),t1(3,c1=!0),t1(0,a1=sanitizeUrl(a1)),p1(a1)?t1(4,u1="This URL is already taken for this access role"):t1(4,u1=null)},p1=_1=>s1?get_store_value(store).screens.some(h1=>h1.routing.route.toLowerCase()===_1.toLowerCase()&&h1.routing.roleId===s1):!1,d1=async()=>{await o1({screenUrl:a1})};function m1(_1){a1=_1,t1(0,a1)}return n1.$$set=_1=>{"onConfirm"in _1&&t1(8,o1=_1.onConfirm),"onCancel"in _1&&t1(1,i1=_1.onCancel),"screenUrl"in _1&&t1(0,a1=_1.screenUrl),"screenRole"in _1&&t1(9,s1=_1.screenRole),"confirmText"in _1&&t1(2,l1=_1.confirmText)},n1.$$.update=()=>{n1.$$.dirty&1&&t1(5,r1=a1?`${window.location.origin}${appPrefix$1}${a1}`:`${window.location.origin}${appPrefix$1}`)},[a1,i1,l1,c1,u1,r1,f1,d1,o1,s1,m1]}class ScreenDetailsModal extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$39,create_fragment$36,safe_not_equal,{onConfirm:8,onCancel:1,screenUrl:0,screenRole:9,confirmText:2})}}const DropdownMenu_svelte_svelte_type_style_lang="";function create_default_slot_4$W(n1){let e1;return{c(){e1=text("Paste inside")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_3$16(n1){let e1;return{c(){e1=text("Duplicate")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_2$1m(n1){let e1;return{c(){e1=text("Delete")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_1$1J(n1){let e1,t1,r1,o1,i1,a1;return e1=new Item({props:{icon:"ShowOneLayer",disabled:n1[3],$$slots:{default:[create_default_slot_4$W]},$$scope:{ctx:n1}}}),e1.$on("click",n1[10]),r1=new Item({props:{icon:"Duplicate",$$slots:{default:[create_default_slot_3$16]},$$scope:{ctx:n1}}}),r1.$on("click",n1[5]),i1=new Item({props:{icon:"Delete",$$slots:{default:[create_default_slot_2$1m]},$$scope:{ctx:n1}}}),i1.$on("click",function(){is_function(n1[1].show)&&n1[1].show.apply(this,arguments)}),{c(){create_component(e1.$$.fragment),t1=space$1(),create_component(r1.$$.fragment),o1=space$1(),create_component(i1.$$.fragment)},m(s1,l1){mount_component(e1,s1,l1),insert$1(s1,t1,l1),mount_component(r1,s1,l1),insert$1(s1,o1,l1),mount_component(i1,s1,l1),a1=!0},p(s1,l1){n1=s1;const c1={};l1&8&&(c1.disabled=n1[3]),l1&8192&&(c1.$$scope={dirty:l1,ctx:n1}),e1.$set(c1);const u1={};l1&8192&&(u1.$$scope={dirty:l1,ctx:n1}),r1.$set(u1);const f1={};l1&8192&&(f1.$$scope={dirty:l1,ctx:n1}),i1.$set(f1)},i(s1){a1||(transition_in(e1.$$.fragment,s1),transition_in(r1.$$.fragment,s1),transition_in(i1.$$.fragment,s1),a1=!0)},o(s1){transition_out(e1.$$.fragment,s1),transition_out(r1.$$.fragment,s1),transition_out(i1.$$.fragment,s1),a1=!1},d(s1){destroy_component(e1,s1),s1&&detach(t1),destroy_component(r1,s1),s1&&detach(o1),destroy_component(i1,s1)}}}function create_control_slot$8(n1){let e1,t1,r1;return t1=new Icon({props:{size:"S",hoverable:!0,name:"MoreSmallList"}}),{c(){e1=element("div"),create_component(t1.$$.fragment),attr(e1,"slot","control"),attr(e1,"class","icon svelte-u6s22l")},m(o1,i1){insert$1(o1,e1,i1),mount_component(t1,e1,null),r1=!0},p:noop$5,i(o1){r1||(transition_in(t1.$$.fragment,o1),r1=!0)},o(o1){transition_out(t1.$$.fragment,o1),r1=!1},d(o1){o1&&detach(e1),destroy_component(t1)}}}function create_default_slot$27(n1){var r1,o1;let e1,t1;return e1=new ScreenDetailsModal({props:{onConfirm:n1[6],screenUrl:(r1=n1[0])==null?void 0:r1.routing.route,screenRole:(o1=n1[0])==null?void 0:o1.routing.roleId,confirmText:"Duplicate"}}),{c(){create_component(e1.$$.fragment)},m(i1,a1){mount_component(e1,i1,a1),t1=!0},p(i1,a1){var l1,c1;const s1={};a1&1&&(s1.screenUrl=(l1=i1[0])==null?void 0:l1.routing.route),a1&1&&(s1.screenRole=(c1=i1[0])==null?void 0:c1.routing.roleId),e1.$set(s1)},i(i1){t1||(transition_in(e1.$$.fragment,i1),t1=!0)},o(i1){transition_out(e1.$$.fragment,i1),t1=!1},d(i1){destroy_component(e1,i1)}}}function create_fragment$35(n1){let e1,t1,r1,o1,i1,a1;e1=new ActionMenu({props:{$$slots:{control:[create_control_slot$8],default:[create_default_slot_1$1J]},$$scope:{ctx:n1}}});let s1={title:"Confirm Deletion",body:"Are you sure you wish to delete this screen?",okText:"Delete screen",onOk:n1[7]};r1=new ConfirmDialog({props:s1}),n1[11](r1);let l1={$$slots:{default:[create_default_slot$27]},$$scope:{ctx:n1}};return i1=new Modal({props:l1}),n1[12](i1),{c(){create_component(e1.$$.fragment),t1=space$1(),create_component(r1.$$.fragment),o1=space$1(),create_component(i1.$$.fragment)},m(c1,u1){mount_component(e1,c1,u1),insert$1(c1,t1,u1),mount_component(r1,c1,u1),insert$1(c1,o1,u1),mount_component(i1,c1,u1),a1=!0},p(c1,[u1]){const f1={};u1&8202&&(f1.$$scope={dirty:u1,ctx:c1}),e1.$set(f1);const p1={};r1.$set(p1);const d1={};u1&8193&&(d1.$$scope={dirty:u1,ctx:c1}),i1.$set(d1)},i(c1){a1||(transition_in(e1.$$.fragment,c1),transition_in(r1.$$.fragment,c1),transition_in(i1.$$.fragment,c1),a1=!0)},o(c1){transition_out(e1.$$.fragment,c1),transition_out(r1.$$.fragment,c1),transition_out(i1.$$.fragment,c1),a1=!1},d(c1){destroy_component(e1,c1),c1&&detach(t1),n1[11](null),destroy_component(r1,c1),c1&&detach(o1),n1[12](null),destroy_component(i1,c1)}}}function instance$38(n1,e1,t1){let r1,o1,i1;component_subscribe(n1,store,h1=>t1(9,i1=h1));let{screenId:a1}=e1,s1,l1;const c1=h1=>{try{store.actions.components.paste(r1.props,h1,r1)}catch{notifications.error("Error saving component")}},u1=()=>{l1.show()},f1=async({screenName:h1,screenUrl:g1})=>{let $1=cloneDeep(r1);delete $1._id,delete $1._rev,$1.props=makeComponentUnique($1.props),$1.routing.route=sanitizeUrl(g1),$1.routing.homeScreen=!1,$1.props._instanceName=h1;try{await store.actions.screens.save($1)}catch{notifications.error("Error duplicating screen")}},p1=async()=>{try{await store.actions.screens.delete(r1),notifications.success("Deleted screen successfully")}catch{notifications.error("Error deleting screen")}},d1=()=>c1("inside");function m1(h1){binding_callbacks[h1?"unshift":"push"](()=>{s1=h1,t1(1,s1)})}function _1(h1){binding_callbacks[h1?"unshift":"push"](()=>{l1=h1,t1(2,l1)})}return n1.$$set=h1=>{"screenId"in h1&&t1(8,a1=h1.screenId)},n1.$$.update=()=>{n1.$$.dirty&768&&t1(0,r1=i1.screens.find(h1=>h1._id===a1)),n1.$$.dirty&512&&t1(3,o1=!i1.componentToPaste)},[r1,s1,l1,o1,c1,u1,f1,p1,a1,i1,d1,m1,_1]}class DropdownMenu extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$38,create_fragment$35,safe_not_equal,{screenId:8})}}const index_svelte_svelte_type_style_lang$f="";function get_each_context$z(n1,e1,t1){const r1=n1.slice();return r1[31]=e1[t1],r1}function create_default_slot_2$1l(n1){let e1;return{c(){e1=text("Screens")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_else_block$B(n1){let e1,t1;return e1=new Layout$m({props:{paddingY:"none",paddingX:"L",$$slots:{default:[create_default_slot_1$1I]},$$scope:{ctx:n1}}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1[1]&8&&(i1.$$scope={dirty:o1,ctx:r1}),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_if_block$1B(n1){let e1=[],t1=new Map,r1,o1,i1=n1[7];const a1=s1=>s1[31]._id;for(let s1=0;s1<i1.length;s1+=1){let l1=get_each_context$z(n1,i1,s1),c1=a1(l1);t1.set(c1,e1[s1]=create_each_block$z(c1,l1))}return{c(){for(let s1=0;s1<e1.length;s1+=1)e1[s1].c();r1=empty$1()},m(s1,l1){for(let c1=0;c1<e1.length;c1+=1)e1[c1].m(s1,l1);insert$1(s1,r1,l1),o1=!0},p(s1,l1){l1[0]&1664&&(i1=s1[7],group_outros(),e1=update_keyed_each(e1,l1,a1,1,s1,i1,t1,r1.parentNode,outro_and_destroy_block,create_each_block$z,r1,get_each_context$z),check_outros())},i(s1){if(!o1){for(let l1=0;l1<i1.length;l1+=1)transition_in(e1[l1]);o1=!0}},o(s1){for(let l1=0;l1<e1.length;l1+=1)transition_out(e1[l1]);o1=!1},d(s1){for(let l1=0;l1<e1.length;l1+=1)e1[l1].d(s1);s1&&detach(r1)}}}function create_default_slot_1$1I(n1){let e1;return{c(){e1=element("div"),e1.textContent="There aren't any screens matching that route",attr(e1,"class","no-results svelte-1vqjoqt")},m(t1,r1){insert$1(t1,e1,r1)},p:noop$5,d(t1){t1&&detach(e1)}}}function create_default_slot$26(n1){let e1,t1,r1;return e1=new DropdownMenu({props:{screenId:n1[31]._id}}),{c(){create_component(e1.$$.fragment),t1=space$1()},m(o1,i1){mount_component(e1,o1,i1),insert$1(o1,t1,i1),r1=!0},p(o1,i1){const a1={};i1[0]&128&&(a1.screenId=o1[31]._id),e1.$set(a1)},i(o1){r1||(transition_in(e1.$$.fragment,o1),r1=!0)},o(o1){transition_out(e1.$$.fragment,o1),r1=!1},d(o1){destroy_component(e1,o1),o1&&detach(t1)}}}function create_icon_slot(n1){let e1,t1,r1,o1;return t1=new RoleIndicator({props:{roleId:n1[31].routing.roleId}}),{c(){e1=element("div"),create_component(t1.$$.fragment),r1=space$1(),attr(e1,"slot","icon"),attr(e1,"class","icon svelte-1vqjoqt")},m(i1,a1){insert$1(i1,e1,a1),mount_component(t1,e1,null),append$1(e1,r1),o1=!0},p(i1,a1){const s1={};a1[0]&128&&(s1.roleId=i1[31].routing.roleId),t1.$set(s1)},i(i1){o1||(transition_in(t1.$$.fragment,i1),o1=!0)},o(i1){transition_out(t1.$$.fragment,i1),o1=!1},d(i1){i1&&detach(e1),destroy_component(t1)}}}function create_each_block$z(n1,e1){let t1,r1,o1;function i1(){return e1[19](e1[31])}return r1=new NavItem({props:{icon:e1[31].routing.homeScreen?"Home":null,indentLevel:0,selected:e1[9].selectedScreenId===e1[31]._id,text:e1[31].routing.route,rightAlignIcon:!0,showTooltip:!0,selectedBy:e1[10][e1[31]._id],$$slots:{icon:[create_icon_slot],default:[create_default_slot$26]},$$scope:{ctx:e1}}}),r1.$on("click",i1),{key:n1,first:null,c(){t1=empty$1(),create_component(r1.$$.fragment),this.first=t1},m(a1,s1){insert$1(a1,t1,s1),mount_component(r1,a1,s1),o1=!0},p(a1,s1){e1=a1;const l1={};s1[0]&128&&(l1.icon=e1[31].routing.homeScreen?"Home":null),s1[0]&640&&(l1.selected=e1[9].selectedScreenId===e1[31]._id),s1[0]&128&&(l1.text=e1[31].routing.route),s1[0]&1152&&(l1.selectedBy=e1[10][e1[31]._id]),s1[0]&128|s1[1]&8&&(l1.$$scope={dirty:s1,ctx:e1}),r1.$set(l1)},i(a1){o1||(transition_in(r1.$$.fragment,a1),o1=!0)},o(a1){transition_out(r1.$$.fragment,a1),o1=!1},d(a1){a1&&detach(t1),destroy_component(r1,a1)}}}function create_fragment$34(n1){let e1,t1,r1,o1,i1,a1,s1,l1,c1,u1,f1,p1,d1,m1,_1,h1,g1,$1,y1,w1,S1,O1,C1;s1=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1l]},$$scope:{ctx:n1}}}),u1=new Icon({props:{size:"S",name:"Search"}}),d1=new Icon({props:{name:"Add"}});const M1=[create_if_block$1B,create_else_block$B],z1=[];function D1(H1,B1){var q1;return(q1=H1[7])!=null&&q1.length?0:1}return h1=D1(n1),g1=z1[h1]=M1[h1](n1),{c(){e1=element("div"),t1=element("div"),r1=element("input"),i1=space$1(),a1=element("div"),create_component(s1.$$.fragment),l1=space$1(),c1=element("div"),create_component(u1.$$.fragment),f1=space$1(),p1=element("div"),create_component(d1.$$.fragment),m1=space$1(),_1=element("div"),g1.c(),$1=space$1(),y1=element("div"),r1.readOnly=o1=!n1[1],attr(r1,"class","input svelte-1vqjoqt"),attr(r1,"placeholder","Search for screens"),attr(a1,"class","title svelte-1vqjoqt"),toggle_class(a1,"hide",n1[1]),attr(c1,"class","searchButton svelte-1vqjoqt"),toggle_class(c1,"hide",n1[1]),attr(p1,"class","addButton svelte-1vqjoqt"),toggle_class(p1,"closeButton",n1[1]),attr(t1,"class","header svelte-1vqjoqt"),toggle_class(t1,"scrolling",n1[6]),attr(_1,"class","content svelte-1vqjoqt"),attr(y1,"class","divider svelte-1vqjoqt"),attr(e1,"class","screens svelte-1vqjoqt"),attr(e1,"style",w1=`height:${n1[8]};`),toggle_class(e1,"search",n1[1]),toggle_class(e1,"resizing",n1[2])},m(H1,B1){insert$1(H1,e1,B1),append$1(e1,t1),append$1(t1,r1),set_input_value(r1,n1[0]),n1[18](r1),append$1(t1,i1),append$1(t1,a1),mount_component(s1,a1,null),append$1(t1,l1),append$1(t1,c1),mount_component(u1,c1,null),append$1(t1,f1),append$1(t1,p1),mount_component(d1,p1,null),append$1(e1,m1),append$1(e1,_1),z1[h1].m(_1,null),n1[20](_1),append$1(e1,$1),append$1(e1,y1),n1[22](e1),S1=!0,O1||(C1=[listen(window,"keydown",n1[13]),listen(r1,"input",n1[17]),listen(c1,"click",n1[11]),listen(p1,"click",n1[12]),listen(_1,"scroll",n1[14]),listen(y1,"mousedown",n1[15]),listen(y1,"dblclick",n1[21])],O1=!0)},p(H1,B1){(!S1||B1[0]&2&&o1!==(o1=!H1[1]))&&(r1.readOnly=o1),B1[0]&1&&r1.value!==H1[0]&&set_input_value(r1,H1[0]);const q1={};B1[1]&8&&(q1.$$scope={dirty:B1,ctx:H1}),s1.$set(q1),(!S1||B1[0]&2)&&toggle_class(a1,"hide",H1[1]),(!S1||B1[0]&2)&&toggle_class(c1,"hide",H1[1]),(!S1||B1[0]&2)&&toggle_class(p1,"closeButton",H1[1]),(!S1||B1[0]&64)&&toggle_class(t1,"scrolling",H1[6]);let R1=h1;h1=D1(H1),h1===R1?z1[h1].p(H1,B1):(group_outros(),transition_out(z1[R1],1,1,()=>{z1[R1]=null}),check_outros(),g1=z1[h1],g1?g1.p(H1,B1):(g1=z1[h1]=M1[h1](H1),g1.c()),transition_in(g1,1),g1.m(_1,null)),(!S1||B1[0]&256&&w1!==(w1=`height:${H1[8]};`))&&attr(e1,"style",w1),(!S1||B1[0]&2)&&toggle_class(e1,"search",H1[1]),(!S1||B1[0]&4)&&toggle_class(e1,"resizing",H1[2])},i(H1){S1||(transition_in(s1.$$.fragment,H1),transition_in(u1.$$.fragment,H1),transition_in(d1.$$.fragment,H1),transition_in(g1),S1=!0)},o(H1){transition_out(s1.$$.fragment,H1),transition_out(u1.$$.fragment,H1),transition_out(d1.$$.fragment,H1),transition_out(g1),S1=!1},d(H1){H1&&detach(e1),n1[18](null),destroy_component(s1),destroy_component(u1),destroy_component(d1),z1[h1].d(),n1[20](null),n1[22](null),O1=!1,run_all(C1)}}}function instance$37(n1,e1,t1){let r1,o1,i1,a1,s1,l1;component_subscribe(n1,screensHeight,X1=>t1(8,o1=X1)),component_subscribe(n1,goto,X1=>t1(25,i1=X1)),component_subscribe(n1,sortedScreens,X1=>t1(16,a1=X1)),component_subscribe(n1,store,X1=>t1(9,s1=X1)),component_subscribe(n1,userSelectedResourceMap,X1=>t1(10,l1=X1));let c1=!1,u1=!1,f1="",p1,d1,m1,_1=!1,h1=null,g1;const $1=X1=>new Promise(Y1=>setTimeout(Y1,X1)),y1=async()=>{t1(1,c1=!0),await tick(),p1.focus(),m1.scroll({top:0,behavior:"smooth"}),h1=o1,set_store_value(screensHeight,o1="calc(100% + 1px)",o1)},w1=async()=>{h1&&(set_store_value(screensHeight,o1=h1,o1),h1=null,await $1(300)),t1(1,c1=!1),t1(0,f1="")},S1=(X1,Y1)=>X1.filter(Q1=>!Y1||Q1.routing.route.includes(Y1)),O1=()=>{c1?w1():i1("../new")},C1=X1=>{X1.key==="Escape"&&w1()},M1=X1=>{t1(6,_1=X1.target.scrollTop!==0)},z1=X1=>{set_store_value(screensHeight,o1=`${d1.getBoundingClientRect().height}px`,o1),g1=parseInt(o1)-X1.clientY,t1(2,u1=!0),document.addEventListener("mousemove",D1),document.addEventListener("mouseup",H1)},D1=X1=>{const Y1=Math.max(0,X1.clientY+g1);Y1==null||isNaN(Y1)||set_store_value(screensHeight,o1=`${Y1}px`,o1)},H1=()=>{t1(2,u1=!1),document.removeEventListener("mousemove",D1)};onMount(()=>{(o1==null||isNaN(parseInt(o1)))&&set_store_value(screensHeight,o1="210px",o1)});function B1(){f1=this.value,t1(0,f1)}function q1(X1){binding_callbacks[X1?"unshift":"push"](()=>{p1=X1,t1(3,p1)})}const R1=X1=>store.actions.screens.select(X1._id);function I1(X1){binding_callbacks[X1?"unshift":"push"](()=>{m1=X1,t1(5,m1)})}const F1=()=>screensHeight.set("210px");function j1(X1){binding_callbacks[X1?"unshift":"push"](()=>{d1=X1,t1(4,d1)})}return n1.$$.update=()=>{n1.$$.dirty[0]&65537&&t1(7,r1=S1(a1,f1))},[f1,c1,u1,p1,d1,m1,_1,r1,o1,s1,l1,y1,O1,C1,M1,z1,a1,B1,q1,R1,I1,F1,j1]}class ScreenList extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$37,create_fragment$34,safe_not_equal,{},null,[-1,-1])}}const ComponentDropdownMenu_svelte_svelte_type_style_lang="";function create_default_slot_8$n(n1){let e1;return{c(){e1=text("Delete")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_if_block$1A(n1){let e1,t1;return e1=new Item({props:{icon:"Export",keyBind:"Ctrl+E",$$slots:{default:[create_default_slot_7$z]},$$scope:{ctx:n1}}}),e1.$on("click",n1[7]),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&16384&&(i1.$$scope={dirty:o1,ctx:r1}),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_default_slot_7$z(n1){let e1;return{c(){e1=text("Eject block")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_6$F(n1){let e1;return{c(){e1=text("Move up")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_5$M(n1){let e1;return{c(){e1=text("Move down")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_4$V(n1){let e1;return{c(){e1=text("Duplicate")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_3$15(n1){let e1;return{c(){e1=text("Cut")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_2$1k(n1){let e1;return{c(){e1=text("Copy")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_1$1H(n1){let e1;return{c(){e1=text("Paste")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot$25(n1){let e1,t1,r1,o1,i1,a1,s1,l1,c1,u1,f1,p1,d1,m1,_1;e1=new Item({props:{icon:"Delete",keyBind:"!BackAndroid",$$slots:{default:[create_default_slot_8$n]},$$scope:{ctx:n1}}}),e1.$on("click",n1[6]);let h1=n1[0]&&create_if_block$1A(n1);return o1=new Item({props:{icon:"ChevronUp",keyBind:"Ctrl+!ArrowUp",$$slots:{default:[create_default_slot_6$F]},$$scope:{ctx:n1}}}),o1.$on("click",n1[8]),a1=new Item({props:{icon:"ChevronDown",keyBind:"Ctrl+!ArrowDown",$$slots:{default:[create_default_slot_5$M]},$$scope:{ctx:n1}}}),a1.$on("click",n1[9]),l1=new Item({props:{icon:"Duplicate",keyBind:"Ctrl+D",$$slots:{default:[create_default_slot_4$V]},$$scope:{ctx:n1}}}),l1.$on("click",n1[10]),u1=new Item({props:{icon:"Cut",keyBind:"Ctrl+X",$$slots:{default:[create_default_slot_3$15]},$$scope:{ctx:n1}}}),u1.$on("click",n1[11]),p1=new Item({props:{icon:"Copy",keyBind:"Ctrl+C",$$slots:{default:[create_default_slot_2$1k]},$$scope:{ctx:n1}}}),p1.$on("click",n1[12]),m1=new Item({props:{icon:"LayersSendToBack",keyBind:"Ctrl+V",disabled:n1[1],$$slots:{default:[create_default_slot_1$1H]},$$scope:{ctx:n1}}}),m1.$on("click",n1[13]),{c(){create_component(e1.$$.fragment),t1=space$1(),h1&&h1.c(),r1=space$1(),create_component(o1.$$.fragment),i1=space$1(),create_component(a1.$$.fragment),s1=space$1(),create_component(l1.$$.fragment),c1=space$1(),create_component(u1.$$.fragment),f1=space$1(),create_component(p1.$$.fragment),d1=space$1(),create_component(m1.$$.fragment)},m(g1,$1){mount_component(e1,g1,$1),insert$1(g1,t1,$1),h1&&h1.m(g1,$1),insert$1(g1,r1,$1),mount_component(o1,g1,$1),insert$1(g1,i1,$1),mount_component(a1,g1,$1),insert$1(g1,s1,$1),mount_component(l1,g1,$1),insert$1(g1,c1,$1),mount_component(u1,g1,$1),insert$1(g1,f1,$1),mount_component(p1,g1,$1),insert$1(g1,d1,$1),mount_component(m1,g1,$1),_1=!0},p(g1,$1){const y1={};$1&16384&&(y1.$$scope={dirty:$1,ctx:g1}),e1.$set(y1),g1[0]?h1?(h1.p(g1,$1),$1&1&&transition_in(h1,1)):(h1=create_if_block$1A(g1),h1.c(),transition_in(h1,1),h1.m(r1.parentNode,r1)):h1&&(group_outros(),transition_out(h1,1,1,()=>{h1=null}),check_outros());const w1={};$1&16384&&(w1.$$scope={dirty:$1,ctx:g1}),o1.$set(w1);const S1={};$1&16384&&(S1.$$scope={dirty:$1,ctx:g1}),a1.$set(S1);const O1={};$1&16384&&(O1.$$scope={dirty:$1,ctx:g1}),l1.$set(O1);const C1={};$1&16384&&(C1.$$scope={dirty:$1,ctx:g1}),u1.$set(C1);const M1={};$1&16384&&(M1.$$scope={dirty:$1,ctx:g1}),p1.$set(M1);const z1={};$1&2&&(z1.disabled=g1[1]),$1&16384&&(z1.$$scope={dirty:$1,ctx:g1}),m1.$set(z1)},i(g1){_1||(transition_in(e1.$$.fragment,g1),transition_in(h1),transition_in(o1.$$.fragment,g1),transition_in(a1.$$.fragment,g1),transition_in(l1.$$.fragment,g1),transition_in(u1.$$.fragment,g1),transition_in(p1.$$.fragment,g1),transition_in(m1.$$.fragment,g1),_1=!0)},o(g1){transition_out(e1.$$.fragment,g1),transition_out(h1),transition_out(o1.$$.fragment,g1),transition_out(a1.$$.fragment,g1),transition_out(l1.$$.fragment,g1),transition_out(u1.$$.fragment,g1),transition_out(p1.$$.fragment,g1),transition_out(m1.$$.fragment,g1),_1=!1},d(g1){destroy_component(e1,g1),g1&&detach(t1),h1&&h1.d(g1),g1&&detach(r1),destroy_component(o1,g1),g1&&detach(i1),destroy_component(a1,g1),g1&&detach(s1),destroy_component(l1,g1),g1&&detach(c1),destroy_component(u1,g1),g1&&detach(f1),destroy_component(p1,g1),g1&&detach(d1),destroy_component(m1,g1)}}}function create_control_slot$7(n1){let e1,t1,r1;return t1=new Icon({props:{size:"S",hoverable:!0,name:"MoreSmallList"}}),{c(){e1=element("div"),create_component(t1.$$.fragment),attr(e1,"slot","control"),attr(e1,"class","icon svelte-u6s22l")},m(o1,i1){insert$1(o1,e1,i1),mount_component(t1,e1,null),r1=!0},p:noop$5,i(o1){r1||(transition_in(t1.$$.fragment,o1),r1=!0)},o(o1){transition_out(t1.$$.fragment,o1),r1=!1},d(o1){o1&&detach(e1),destroy_component(t1)}}}function create_fragment$33(n1){let e1,t1;return e1=new ActionMenu({props:{$$slots:{control:[create_control_slot$7],default:[create_default_slot$25]},$$scope:{ctx:n1}}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,[o1]){const i1={};o1&16387&&(i1.$$scope={dirty:o1,ctx:r1}),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function instance$36(n1,e1,t1){let r1,o1,i1,a1;component_subscribe(n1,store,g1=>t1(5,a1=g1));let{component:s1}=e1;const l1=(g1,$1=!1)=>{document.dispatchEvent(new CustomEvent("component-menu",{detail:{key:g1,ctrlKey:$1,id:s1==null?void 0:s1._id}}))},c1=()=>l1("Delete"),u1=()=>l1("e",!0),f1=()=>l1("ArrowUp",!0),p1=()=>l1("ArrowDown",!0),d1=()=>l1("d",!0),m1=()=>l1("x",!0),_1=()=>l1("c",!0),h1=()=>l1("v",!0);return n1.$$set=g1=>{"component"in g1&&t1(3,s1=g1.component)},n1.$$.update=()=>{n1.$$.dirty&8&&t1(4,r1=store.actions.components.getDefinition(s1==null?void 0:s1._component)),n1.$$.dirty&32&&t1(1,o1=!a1.componentToPaste),n1.$$.dirty&16&&t1(0,i1=(r1==null?void 0:r1.block)===!0)},[i1,o1,l1,s1,r1,a1,c1,u1,f1,p1,d1,m1,_1,h1]}class ComponentDropdownMenu extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$36,create_fragment$33,safe_not_equal,{component:3})}}const DropPosition={ABOVE:"above",BELOW:"below",INSIDE:"inside"},initialState={source:null,target:null,targetParent:null,dropPosition:null,dragging:!1,valid:!1},createDNDStore=()=>{const n1=writable(initialState),e1={dragstart:t1=>{!t1||n1.set({source:t1,target:null,dropPosition:null,dragging:!0,valid:!1})},dragover:({component:t1,mousePosition:r1})=>{var f1,p1;const o1=store.actions.components.getDefinition(t1._component),i1=o1==null?void 0:o1.hasChildren,a1=((f1=t1._children)==null?void 0:f1.length)>0;let s1,l1,c1;i1?r1<=.33?s1=DropPosition.ABOVE:r1>=.66?s1=DropPosition.BELOW:s1=DropPosition.INSIDE:s1=r1>.5?DropPosition.BELOW:DropPosition.ABOVE,s1===DropPosition.BELOW&&a1?(l1=t1._children[0],s1=DropPosition.ABOVE):l1=t1;const u1=get_store_value(n1);s1===u1.dropPosition&&(l1==null?void 0:l1._id)===((p1=u1.target)==null?void 0:p1._id)||(l1&&(c1=findComponentParent(get_store_value(selectedScreen).props,l1._id)),n1.update(d1=>{var m1;return{...d1,dropPosition:s1,target:l1,targetParent:c1,valid:((m1=findComponentPath(d1.source,l1._id))==null?void 0:m1.length)===0}}))},reset:()=>{n1.set(initialState)},drop:async()=>{const t1=get_store_value(n1);!t1.valid||!t1.source||!t1.target||(e1.reset(),store.actions.components.copy(t1.source,!0,!1),await store.actions.components.paste(t1.target,t1.dropPosition))}};return{subscribe:n1.subscribe,actions:e1}},dndStore=createDNDStore(),ComponentTree_svelte_svelte_type_style_lang="";function get_each_context$y(n1,e1,t1){const r1=n1.slice();r1[20]=e1[t1],r1[23]=t1;const o1=r1[12](r1[20],r1[4],r1[2]);return r1[21]=o1,r1}function create_default_slot$24(n1){let e1,t1;return e1=new ComponentDropdownMenu({props:{component:n1[20]}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&8&&(i1.component=r1[20]),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_if_block$1z(n1){let e1,t1;return e1=new ComponentTree({props:{components:n1[20]._children,dndStore,level:n1[0]+1}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&8&&(i1.components=r1[20]._children),o1&1&&(i1.level=r1[0]+1),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_each_block$y(n1,e1){let t1,r1,o1,i1,a1,s1,l1,c1;function u1(){return e1[15](e1[20])}function f1(){return e1[16](e1[20])}r1=new NavItem({props:{compact:!0,scrollable:!0,draggable:!0,text:e1[7](e1[20]),icon:e1[8](e1[20]),withArrow:e1[9](e1[20]),indentLevel:e1[0],selected:e1[1].selectedComponentId===e1[20]._id,opened:e1[21],highlighted:e1[13](e1[20]),selectedBy:e1[5][e1[20]._id],$$slots:{default:[create_default_slot$24]},$$scope:{ctx:e1}}}),r1.$on("dragend",dndStore.actions.reset),r1.$on("dragstart",u1),r1.$on("dragover",function(){is_function(e1[6](e1[20],e1[23]))&&e1[6](e1[20],e1[23]).apply(this,arguments)}),r1.$on("iconClick",f1),r1.$on("drop",e1[11]);let p1=e1[21]&&create_if_block$1z(e1);function d1(){return e1[17](e1[20])}return{key:n1,first:null,c(){t1=element("li"),create_component(r1.$$.fragment),o1=space$1(),p1&&p1.c(),i1=space$1(),attr(t1,"id",a1=`component-${e1[20]._id}`),attr(t1,"class","svelte-kv7hxn"),this.first=t1},m(m1,_1){insert$1(m1,t1,_1),mount_component(r1,t1,null),append$1(t1,o1),p1&&p1.m(t1,null),append$1(t1,i1),s1=!0,l1||(c1=listen(t1,"click",stop_propagation(d1)),l1=!0)},p(m1,_1){e1=m1;const h1={};_1&8&&(h1.text=e1[7](e1[20])),_1&8&&(h1.icon=e1[8](e1[20])),_1&8&&(h1.withArrow=e1[9](e1[20])),_1&1&&(h1.indentLevel=e1[0]),_1&10&&(h1.selected=e1[1].selectedComponentId===e1[20]._id),_1&28&&(h1.opened=e1[21]),_1&8&&(h1.highlighted=e1[13](e1[20])),_1&40&&(h1.selectedBy=e1[5][e1[20]._id]),_1&16777224&&(h1.$$scope={dirty:_1,ctx:e1}),r1.$set(h1),e1[21]?p1?(p1.p(e1,_1),_1&28&&transition_in(p1,1)):(p1=create_if_block$1z(e1),p1.c(),transition_in(p1,1),p1.m(t1,i1)):p1&&(group_outros(),transition_out(p1,1,1,()=>{p1=null}),check_outros()),(!s1||_1&8&&a1!==(a1=`component-${e1[20]._id}`))&&attr(t1,"id",a1)},i(m1){s1||(transition_in(r1.$$.fragment,m1),transition_in(p1),s1=!0)},o(m1){transition_out(r1.$$.fragment,m1),transition_out(p1),s1=!1},d(m1){m1&&detach(t1),destroy_component(r1),p1&&p1.d(),l1=!1,c1()}}}function create_fragment$32(n1){let e1,t1=[],r1=new Map,o1,i1=n1[3]||[];const a1=s1=>s1[20]._id;for(let s1=0;s1<i1.length;s1+=1){let l1=get_each_context$y(n1,i1,s1),c1=a1(l1);r1.set(c1,t1[s1]=create_each_block$y(c1,l1))}return{c(){e1=element("ul");for(let s1=0;s1<t1.length;s1+=1)t1[s1].c();attr(e1,"class","svelte-kv7hxn")},m(s1,l1){insert$1(s1,e1,l1);for(let c1=0;c1<t1.length;c1+=1)t1[c1].m(e1,null);o1=!0},p(s1,[l1]){l1&16383&&(i1=s1[3]||[],group_outros(),t1=update_keyed_each(t1,l1,a1,1,s1,i1,r1,e1,outro_and_destroy_block,create_each_block$y,null,get_each_context$y),check_outros())},i(s1){if(!o1){for(let l1=0;l1<i1.length;l1+=1)transition_in(t1[l1]);o1=!0}},o(s1){for(let l1=0;l1<t1.length;l1+=1)transition_out(t1[l1]);o1=!1},d(s1){s1&&detach(e1);for(let l1=0;l1<t1.length;l1+=1)t1[l1].d()}}}function instance$35(n1,e1,t1){let r1,o1,i1,a1,s1;component_subscribe(n1,selectedComponent,C1=>t1(18,o1=C1)),component_subscribe(n1,store,C1=>t1(1,i1=C1)),component_subscribe(n1,selectedComponentPath,C1=>t1(4,a1=C1)),component_subscribe(n1,userSelectedResourceMap,C1=>t1(5,s1=C1));let{components:l1=[]}=e1,{level:c1=0}=e1,u1={};const f1=(C1,M1)=>z1=>{const D1=z1.offsetY/z1.currentTarget.offsetHeight;return dndStore.actions.dragover({component:C1,index:M1,mousePosition:D1}),!1},p1=C1=>{if(C1._instanceName)return C1._instanceName;const M1=C1._component.replace("@budibase/standard-components/","")||"component";return capitalise(M1)},d1=C1=>{const M1=store.actions.components.getDefinition(C1==null?void 0:C1._component);return M1==null?void 0:M1.icon},m1=C1=>{const M1=store.actions.components.getDefinition(C1==null?void 0:C1._component);return M1==null?void 0:M1.hasChildren},_1=C1=>{var M1;return m1(C1)&&((M1=C1._children)==null?void 0:M1.length)};function h1(C1){u1[C1]?delete u1[C1]:t1(2,u1[C1]=!0,u1),t1(2,u1)}const g1=async C1=>{C1.stopPropagation();try{await dndStore.actions.drop()}catch(M1){notifications.error(M1||"Error saving component")}},$1=(C1,M1,z1)=>{var D1;return(D1=C1==null?void 0:C1._children)!=null&&D1.length?M1.includes(C1._id)?!0:!z1[C1._id]:!1},y1=C1=>{var D1,H1,B1;const M1=(D1=get_store_value(selectedComponent))==null?void 0:D1._id,z1=(H1=get_store_value(selectedScreen))==null?void 0:H1.props._id;return!M1||M1===z1?!1:((B1=findComponentPath(o1,C1._id))==null?void 0:B1.length)>0},w1=C1=>dndStore.actions.dragstart(C1),S1=C1=>h1(C1._id),O1=C1=>{set_store_value(store,i1.selectedComponentId=C1._id,i1)};return n1.$$set=C1=>{"components"in C1&&t1(14,l1=C1.components),"level"in C1&&t1(0,c1=C1.level)},n1.$$.update=()=>{n1.$$.dirty&16386&&t1(3,r1=l1==null?void 0:l1.filter(C1=>{var M1,z1;return!((M1=i1.componentToPaste)!=null&&M1.isCut)||C1._id!==((z1=i1.componentToPaste)==null?void 0:z1._id)}))},[c1,i1,u1,r1,a1,s1,f1,p1,d1,_1,h1,g1,$1,y1,l1,w1,S1,O1]}class ComponentTree extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$35,create_fragment$32,safe_not_equal,{components:14,level:0})}}const ScreenslotDropdownMenu_svelte_svelte_type_style_lang="";function create_if_block$1y(n1){let e1,t1;return e1=new ActionMenu({props:{$$slots:{control:[create_control_slot$6],default:[create_default_slot$23]},$$scope:{ctx:n1}}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&514&&(i1.$$scope={dirty:o1,ctx:r1}),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_default_slot_2$1j(n1){let e1;return{c(){e1=text("Copy")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_1$1G(n1){let e1;return{c(){e1=text("Paste")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot$23(n1){let e1,t1,r1,o1;return e1=new Item({props:{icon:"Copy",keyBind:"Ctrl+C",$$slots:{default:[create_default_slot_2$1j]},$$scope:{ctx:n1}}}),e1.$on("click",n1[7]),r1=new Item({props:{icon:"LayersSendToBack",keyBind:"Ctrl+V",disabled:n1[1],$$slots:{default:[create_default_slot_1$1G]},$$scope:{ctx:n1}}}),r1.$on("click",n1[8]),{c(){create_component(e1.$$.fragment),t1=space$1(),create_component(r1.$$.fragment)},m(i1,a1){mount_component(e1,i1,a1),insert$1(i1,t1,a1),mount_component(r1,i1,a1),o1=!0},p(i1,a1){const s1={};a1&512&&(s1.$$scope={dirty:a1,ctx:i1}),e1.$set(s1);const l1={};a1&2&&(l1.disabled=i1[1]),a1&512&&(l1.$$scope={dirty:a1,ctx:i1}),r1.$set(l1)},i(i1){o1||(transition_in(e1.$$.fragment,i1),transition_in(r1.$$.fragment,i1),o1=!0)},o(i1){transition_out(e1.$$.fragment,i1),transition_out(r1.$$.fragment,i1),o1=!1},d(i1){destroy_component(e1,i1),i1&&detach(t1),destroy_component(r1,i1)}}}function create_control_slot$6(n1){let e1,t1,r1;return t1=new Icon({props:{size:"S",hoverable:!0,name:"MoreSmallList"}}),{c(){e1=element("div"),create_component(t1.$$.fragment),attr(e1,"slot","control"),attr(e1,"class","icon svelte-u6s22l")},m(o1,i1){insert$1(o1,e1,i1),mount_component(t1,e1,null),r1=!0},p:noop$5,i(o1){r1||(transition_in(t1.$$.fragment,o1),r1=!0)},o(o1){transition_out(t1.$$.fragment,o1),r1=!1},d(o1){o1&&detach(e1),destroy_component(t1)}}}function create_fragment$31(n1){let e1,t1,r1=n1[0]&&create_if_block$1y(n1);return{c(){r1&&r1.c(),e1=empty$1()},m(o1,i1){r1&&r1.m(o1,i1),insert$1(o1,e1,i1),t1=!0},p(o1,[i1]){o1[0]?r1?(r1.p(o1,i1),i1&1&&transition_in(r1,1)):(r1=create_if_block$1y(o1),r1.c(),transition_in(r1,1),r1.m(e1.parentNode,e1)):r1&&(group_outros(),transition_out(r1,1,1,()=>{r1=null}),check_outros())},i(o1){t1||(transition_in(r1),t1=!0)},o(o1){transition_out(r1),t1=!1},d(o1){r1&&r1.d(o1),o1&&detach(e1)}}}function instance$34(n1,e1,t1){let r1,o1,i1,a1;component_subscribe(n1,store,p1=>t1(6,a1=p1));let{component:s1}=e1;const l1=(p1=!1)=>{store.actions.components.copy(s1,p1)},c1=p1=>{try{store.actions.components.paste(s1,p1)}catch{notifications.error("Error saving component")}},u1=()=>l1(!1),f1=()=>c1("inside");return n1.$$set=p1=>{"component"in p1&&t1(4,s1=p1.component)},n1.$$.update=()=>{n1.$$.dirty&16&&t1(5,r1=store.actions.components.getDefinition(s1==null?void 0:s1._component)),n1.$$.dirty&64&&t1(1,o1=!a1.componentToPaste),n1.$$.dirty&32&&t1(0,i1=(r1==null?void 0:r1.editable)!==!1&&(r1==null?void 0:r1.static)!==!0)},[i1,o1,l1,c1,s1,r1,a1,u1,f1]}class ScreenslotDropdownMenu extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$34,create_fragment$31,safe_not_equal,{component:4})}}const DNDPositionIndicator_svelte_svelte_type_style_lang="";function create_if_block$1x(n1){let e1,t1;return{c(){e1=element("div"),attr(e1,"class","indicator svelte-9uy3y5"),set_style(e1,"--x",n1[2]+"px"),set_style(e1,"--y",n1[3]+"px"),set_style(e1,"--width",n1[4]+"px"),set_style(e1,"--height",n1[5]+"px"),toggle_class(e1,"above",n1[1]===DropPosition.ABOVE),toggle_class(e1,"below",n1[1]===DropPosition.BELOW),toggle_class(e1,"inside",n1[1]===DropPosition.INSIDE)},m(r1,o1){insert$1(r1,e1,o1)},p(r1,o1){o1&4&&set_style(e1,"--x",r1[2]+"px"),o1&8&&set_style(e1,"--y",r1[3]+"px"),o1&16&&set_style(e1,"--width",r1[4]+"px"),o1&32&&set_style(e1,"--height",r1[5]+"px"),o1&2&&toggle_class(e1,"above",r1[1]===DropPosition.ABOVE),o1&2&&toggle_class(e1,"below",r1[1]===DropPosition.BELOW),o1&2&&toggle_class(e1,"inside",r1[1]===DropPosition.INSIDE)},i(r1){t1||add_render_callback(()=>{t1=create_in_transition(e1,fade,{duration:130}),t1.start()})},o:noop$5,d(r1){r1&&detach(e1)}}}function create_fragment$30(n1){let e1,t1=n1[0]&&n1[1]&&create_if_block$1x(n1);return{c(){t1&&t1.c(),e1=empty$1()},m(r1,o1){t1&&t1.m(r1,o1),insert$1(r1,e1,o1)},p(r1,[o1]){r1[0]&&r1[1]?t1?(t1.p(r1,o1),o1&3&&transition_in(t1,1)):(t1=create_if_block$1x(r1),t1.c(),transition_in(t1,1),t1.m(e1.parentNode,e1)):t1&&(t1.d(1),t1=null)},i(r1){transition_in(t1)},o:noop$5,d(r1){t1&&t1.d(r1),r1&&detach(e1)}}}function instance$33(n1,e1,t1){let{component:r1}=e1,{position:o1}=e1,i1,a1,s1,l1;const c1=u1=>{var d1;const f1=document.getElementById(`component-${u1==null?void 0:u1._id}`),p1=(d1=f1==null?void 0:f1.children[0])==null?void 0:d1.children[0];!f1||(t1(2,i1=p1.offsetLeft),t1(3,a1=p1.offsetTop),t1(4,s1=p1.clientWidth),t1(5,l1=p1.clientHeight))};return n1.$$set=u1=>{"component"in u1&&t1(0,r1=u1.component),"position"in u1&&t1(1,o1=u1.position)},n1.$$.update=()=>{n1.$$.dirty&1&&c1(r1)},[r1,o1,i1,a1,s1,l1]}class DNDPositionIndicator extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$33,create_fragment$30,safe_not_equal,{component:0,position:1})}}function create_fragment$2$(n1){var s1,l1;let e1,t1,r1,o1,i1={title:"Confirm Deletion",body:`Are you sure you want to delete "${(s1=n1[2])==null?void 0:s1._instanceName}"?`,okText:"Delete Component",onOk:n1[4]};e1=new ConfirmDialog({props:i1}),n1[5](e1);let a1={title:"Eject block",body:`Ejecting a block breaks it down into multiple components and cannot be undone. Are you sure you want to eject "${(l1=n1[3])==null?void 0:l1._instanceName}"?`,onOk:n1[6],okText:"Eject block"};return r1=new ConfirmDialog({props:a1}),n1[7](r1),{c(){create_component(e1.$$.fragment),t1=space$1(),create_component(r1.$$.fragment)},m(c1,u1){mount_component(e1,c1,u1),insert$1(c1,t1,u1),mount_component(r1,c1,u1),o1=!0},p(c1,[u1]){var d1,m1;const f1={};u1&4&&(f1.body=`Are you sure you want to delete "${(d1=c1[2])==null?void 0:d1._instanceName}"?`),u1&4&&(f1.onOk=c1[4]),e1.$set(f1);const p1={};u1&8&&(p1.body=`Ejecting a block breaks it down into multiple components and cannot be undone. Are you sure you want to eject "${(m1=c1[3])==null?void 0:m1._instanceName}"?`),u1&8&&(p1.onOk=c1[6]),r1.$set(p1)},i(c1){o1||(transition_in(e1.$$.fragment,c1),transition_in(r1.$$.fragment,c1),o1=!0)},o(c1){transition_out(e1.$$.fragment,c1),transition_out(r1.$$.fragment,c1),o1=!1},d(c1){n1[5](null),destroy_component(e1,c1),c1&&detach(t1),n1[7](null),destroy_component(r1,c1)}}}function instance$32(n1,e1,t1){let r1,o1,i1,a1,s1;component_subscribe(n1,selectedScreen,w1=>t1(8,r1=w1)),component_subscribe(n1,selectedComponent,w1=>t1(9,o1=w1)),component_subscribe(n1,store,w1=>t1(10,i1=w1)),component_subscribe(n1,goto,w1=>t1(11,a1=w1)),component_subscribe(n1,isActive,w1=>t1(12,s1=w1));let l1,c1,u1,f1;const p1={["Ctrl+ArrowUp"]:async w1=>{await store.actions.components.moveUp(w1)},["Ctrl+ArrowDown"]:async w1=>{await store.actions.components.moveDown(w1)},["Ctrl+c"]:w1=>{store.actions.components.copy(w1,!1)},["Ctrl+x"]:w1=>{store.actions.components.copy(w1,!0)},["Ctrl+v"]:async w1=>{await store.actions.components.paste(w1,"inside")},["Ctrl+d"]:async w1=>{store.actions.components.copy(w1),await store.actions.components.paste(w1,"below")},["Ctrl+e"]:w1=>{t1(3,f1=w1),c1.show()},["Ctrl+Enter"]:()=>{a1("./:componentId/new")},Delete:w1=>{if((w1==null?void 0:w1._id)===r1.props._id)return!1;t1(2,u1=w1),l1.show()},ArrowUp:()=>{store.actions.components.selectPrevious()},ArrowDown:()=>{store.actions.components.selectNext()},Escape:()=>{s1("./:componentId/new")&&a1(`./${i1.selectedComponentId}`)}},d1=async({event:w1,component:S1,key:O1,ctrlKey:C1=!1,shiftKey:M1=!1})=>{if(!S1||!O1)return!1;try{O1==="Backspace"&&(O1="Delete"),M1&&(O1="Shift+"+O1),C1&&(O1="Ctrl+"+O1);const z1=p1[O1];return z1?(w1&&O1!=="Escape"&&(w1.preventDefault(),w1.stopPropagation()),await z1(S1)):!1}catch(z1){notifications.error(z1||"Error handling key press")}},m1=async w1=>{var C1,M1,z1;if(w1.repeat)return;const S1=(C1=document.activeElement)==null?void 0:C1.tagName.toLowerCase();if(!((((z1=(M1=document.activeElement)==null?void 0:M1.classList)==null?void 0:z1.contains("cm-content"))||["input","textarea"].indexOf(S1)!==-1)&&w1.key!=="Escape"))return await d1({event:w1,component:o1,key:w1.key,ctrlKey:w1.ctrlKey||w1.metaKey,shiftKey:w1.shiftKey})},_1=async w1=>{const{id:S1,key:O1,ctrlKey:C1,shiftKey:M1}=w1.detail,z1=findComponent(r1.props,S1);return await d1({event:null,component:z1,key:O1,ctrlKey:C1,shiftKey:M1})};onMount(()=>(document.addEventListener("keydown",m1),document.addEventListener("component-menu",_1),()=>{document.removeEventListener("keydown",m1),document.removeEventListener("component-menu",_1)}));const h1=()=>store.actions.components.delete(u1);function g1(w1){binding_callbacks[w1?"unshift":"push"](()=>{l1=w1,t1(0,l1)})}const $1=()=>store.actions.components.requestEjectBlock(f1==null?void 0:f1._id);function y1(w1){binding_callbacks[w1?"unshift":"push"](()=>{c1=w1,t1(1,c1)})}return[l1,c1,u1,f1,h1,g1,$1,y1]}class ComponentKeyHandler extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$32,create_fragment$2$,safe_not_equal,{})}}const ComponentScrollWrapper_svelte_svelte_type_style_lang="";function create_fragment$2_(n1){let e1,t1,r1,o1;const i1=n1[3].default,a1=create_slot(i1,n1,n1[2],null);return{c(){e1=element("div"),a1&&a1.c(),attr(e1,"ondragover","return false"),attr(e1,"ondragenter","return false"),attr(e1,"class","svelte-i1q9g5")},m(s1,l1){insert$1(s1,e1,l1),a1&&a1.m(e1,null),n1[5](e1),t1=!0,r1||(o1=[listen(e1,"scroll",n1[4]),listen(e1,"drop",n1[1])],r1=!0)},p(s1,[l1]){a1&&a1.p&&(!t1||l1&4)&&update_slot_base(a1,i1,s1,s1[2],t1?get_slot_changes(i1,s1[2],l1,null):get_all_dirty_from_scope(s1[2]),null)},i(s1){t1||(transition_in(a1,s1),t1=!0)},o(s1){transition_out(a1,s1),t1=!1},d(s1){s1&&detach(e1),a1&&a1.d(s1),n1[5](null),r1=!1,run_all(o1)}}}function instance$31(n1,e1,t1){let{$$slots:r1={},$$scope:o1}=e1,i1;setContext("scroll",{scrollTo:u1=>{if(!u1)return;const f1=310,p1=32,{scrollLeft:d1,scrollTop:m1,offsetHeight:_1}=i1;let h1=i1.getBoundingClientRect(),g1={};const $1=u1.left+u1.width+d1+16;$1>f1?g1.left=$1-f1:g1.left=0,g1.left===d1&&delete g1.left;const y1=u1.top-(h1==null?void 0:h1.top)+m1;y1>m1+_1-2*p1?g1.top=y1-_1+2*p1:y1<m1+p1?g1.top=y1-p1:delete g1.top,!(g1.left==null&&g1.top==null)&&i1.scroll({...g1,behavior:"smooth"})}});const s1=async()=>{try{await dndStore.actions.drop()}catch(u1){console.error(u1),notifications.error("Error saving component")}};function l1(u1){bubble.call(this,n1,u1)}function c1(u1){binding_callbacks[u1?"unshift":"push"](()=>{i1=u1,t1(0,i1)})}return n1.$$set=u1=>{"$$scope"in u1&&t1(2,o1=u1.$$scope)},[i1,s1,o1,r1,l1,c1]}class ComponentScrollWrapper extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$31,create_fragment$2_,safe_not_equal,{})}}const index_svelte_svelte_type_style_lang$e="";function create_default_slot_2$1i(n1){let e1;return{c(){e1=text("Components")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_1$1F(n1){var r1;let e1,t1;return e1=new ScreenslotDropdownMenu({props:{component:(r1=n1[3])==null?void 0:r1.props}}),{c(){create_component(e1.$$.fragment)},m(o1,i1){mount_component(e1,o1,i1),t1=!0},p(o1,i1){var s1;const a1={};i1&8&&(a1.component=(s1=o1[3])==null?void 0:s1.props),e1.$set(a1)},i(o1){t1||(transition_in(e1.$$.fragment,o1),t1=!0)},o(o1){transition_out(e1.$$.fragment,o1),t1=!1},d(o1){destroy_component(e1,o1)}}}function create_if_block$1w(n1){let e1,t1,r1,o1;e1=new DNDPositionIndicator({props:{component:n1[4].target,position:n1[4].dropPosition}});let i1=n1[4].dropPosition!==DropPosition.INSIDE&&create_if_block_1$P(n1);return{c(){create_component(e1.$$.fragment),t1=space$1(),i1&&i1.c(),r1=empty$1()},m(a1,s1){mount_component(e1,a1,s1),insert$1(a1,t1,s1),i1&&i1.m(a1,s1),insert$1(a1,r1,s1),o1=!0},p(a1,s1){const l1={};s1&16&&(l1.component=a1[4].target),s1&16&&(l1.position=a1[4].dropPosition),e1.$set(l1),a1[4].dropPosition!==DropPosition.INSIDE?i1?(i1.p(a1,s1),s1&16&&transition_in(i1,1)):(i1=create_if_block_1$P(a1),i1.c(),transition_in(i1,1),i1.m(r1.parentNode,r1)):i1&&(group_outros(),transition_out(i1,1,1,()=>{i1=null}),check_outros())},i(a1){o1||(transition_in(e1.$$.fragment,a1),transition_in(i1),o1=!0)},o(a1){transition_out(e1.$$.fragment,a1),transition_out(i1),o1=!1},d(a1){destroy_component(e1,a1),a1&&detach(t1),i1&&i1.d(a1),a1&&detach(r1)}}}function create_if_block_1$P(n1){let e1,t1;return e1=new DNDPositionIndicator({props:{component:n1[4].targetParent,position:DropPosition.INSIDE}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&16&&(i1.component=r1[4].targetParent),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_default_slot$22(n1){var f1;let e1,t1,r1,o1,i1,a1,s1,l1,c1;r1=new NavItem({props:{text:"Screen",indentLevel:0,selected:n1[1].selectedComponentId===`${n1[1].selectedScreenId}-screen`,opened:!0,scrollable:!0,icon:"WebPage",id:"component-screen",selectedBy:n1[2][`${n1[1].selectedScreenId}-screen`],$$slots:{default:[create_default_slot_1$1F]},$$scope:{ctx:n1}}}),r1.$on("drop",n1[6]),r1.$on("click",n1[8]),i1=new NavItem({props:{text:"Navigation",indentLevel:0,selected:n1[1].selectedComponentId===`${n1[1].selectedScreenId}-navigation`,opened:!0,scrollable:!0,icon:n1[3].showNavigation?"Visibility":"VisibilityOff",id:"component-nav",selectedBy:n1[2][`${n1[1].selectedScreenId}-navigation`]}}),i1.$on("drop",n1[6]),i1.$on("click",n1[9]),s1=new ComponentTree({props:{level:0,components:(f1=n1[3])==null?void 0:f1.props._children}});let u1=n1[4].dragging&&n1[4].valid&&create_if_block$1w(n1);return{c(){e1=element("ul"),t1=element("li"),create_component(r1.$$.fragment),o1=space$1(),create_component(i1.$$.fragment),a1=space$1(),create_component(s1.$$.fragment),l1=space$1(),u1&&u1.c(),attr(t1,"class","svelte-2glawg"),attr(e1,"class","svelte-2glawg")},m(p1,d1){insert$1(p1,e1,d1),append$1(e1,t1),mount_component(r1,t1,null),append$1(t1,o1),mount_component(i1,t1,null),append$1(t1,a1),mount_component(s1,t1,null),append$1(t1,l1),u1&&u1.m(t1,null),c1=!0},p(p1,d1){var g1;const m1={};d1&2&&(m1.selected=p1[1].selectedComponentId===`${p1[1].selectedScreenId}-screen`),d1&6&&(m1.selectedBy=p1[2][`${p1[1].selectedScreenId}-screen`]),d1&4104&&(m1.$$scope={dirty:d1,ctx:p1}),r1.$set(m1);const _1={};d1&2&&(_1.selected=p1[1].selectedComponentId===`${p1[1].selectedScreenId}-navigation`),d1&8&&(_1.icon=p1[3].showNavigation?"Visibility":"VisibilityOff"),d1&6&&(_1.selectedBy=p1[2][`${p1[1].selectedScreenId}-navigation`]),i1.$set(_1);const h1={};d1&8&&(h1.components=(g1=p1[3])==null?void 0:g1.props._children),s1.$set(h1),p1[4].dragging&&p1[4].valid?u1?(u1.p(p1,d1),d1&16&&transition_in(u1,1)):(u1=create_if_block$1w(p1),u1.c(),transition_in(u1,1),u1.m(t1,null)):u1&&(group_outros(),transition_out(u1,1,1,()=>{u1=null}),check_outros())},i(p1){c1||(transition_in(r1.$$.fragment,p1),transition_in(i1.$$.fragment,p1),transition_in(s1.$$.fragment,p1),transition_in(u1),c1=!0)},o(p1){transition_out(r1.$$.fragment,p1),transition_out(i1.$$.fragment,p1),transition_out(s1.$$.fragment,p1),transition_out(u1),c1=!1},d(p1){p1&&detach(e1),destroy_component(r1),destroy_component(i1),destroy_component(s1),u1&&u1.d()}}}function create_fragment$2Z(n1){let e1,t1,r1,o1,i1,a1,s1,l1,c1,u1,f1,p1,d1,m1;return r1=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1i]},$$scope:{ctx:n1}}}),a1=new Icon({props:{name:"Add"}}),c1=new ComponentScrollWrapper({props:{$$slots:{default:[create_default_slot$22]},$$scope:{ctx:n1}}}),c1.$on("scroll",n1[7]),f1=new ComponentKeyHandler({}),{c(){e1=element("div"),t1=element("div"),create_component(r1.$$.fragment),o1=space$1(),i1=element("div"),create_component(a1.$$.fragment),s1=space$1(),l1=element("div"),create_component(c1.$$.fragment),u1=space$1(),create_component(f1.$$.fragment),attr(i1,"class","addButton svelte-2glawg"),attr(t1,"class","header svelte-2glawg"),toggle_class(t1,"scrolling",n1[0]),attr(l1,"class","list-panel svelte-2glawg"),attr(e1,"class","components svelte-2glawg")},m(_1,h1){insert$1(_1,e1,h1),append$1(e1,t1),mount_component(r1,t1,null),append$1(t1,o1),append$1(t1,i1),mount_component(a1,i1,null),append$1(e1,s1),append$1(e1,l1),mount_component(c1,l1,null),append$1(e1,u1),mount_component(f1,e1,null),p1=!0,d1||(m1=listen(i1,"click",n1[5]),d1=!0)},p(_1,[h1]){const g1={};h1&4096&&(g1.$$scope={dirty:h1,ctx:_1}),r1.$set(g1),(!p1||h1&1)&&toggle_class(t1,"scrolling",_1[0]);const $1={};h1&4126&&($1.$$scope={dirty:h1,ctx:_1}),c1.$set($1)},i(_1){p1||(transition_in(r1.$$.fragment,_1),transition_in(a1.$$.fragment,_1),transition_in(c1.$$.fragment,_1),transition_in(f1.$$.fragment,_1),p1=!0)},o(_1){transition_out(r1.$$.fragment,_1),transition_out(a1.$$.fragment,_1),transition_out(c1.$$.fragment,_1),transition_out(f1.$$.fragment,_1),p1=!1},d(_1){_1&&detach(e1),destroy_component(r1),destroy_component(a1),destroy_component(c1),destroy_component(f1),d1=!1,m1()}}}function instance$30(n1,e1,t1){let r1,o1,i1,a1,s1,l1;component_subscribe(n1,goto,_1=>t1(10,r1=_1)),component_subscribe(n1,isActive,_1=>t1(11,o1=_1)),component_subscribe(n1,store,_1=>t1(1,i1=_1)),component_subscribe(n1,userSelectedResourceMap,_1=>t1(2,a1=_1)),component_subscribe(n1,selectedScreen,_1=>t1(3,s1=_1)),component_subscribe(n1,dndStore,_1=>t1(4,l1=_1));let c1=!1;return[c1,i1,a1,s1,l1,()=>{o1("./:componentId/new")?r1("./:componentId"):r1("./:componentId/new")},async()=>{try{await dndStore.actions.drop()}catch(_1){console.error(_1),notifications.error("Error saving component")}},_1=>{t1(0,c1=_1.target.scrollTop!==0)},()=>{set_store_value(store,i1.selectedComponentId=`${i1.selectedScreenId}-screen`,i1)},()=>{set_store_value(store,i1.selectedComponentId=`${i1.selectedScreenId}-navigation`,i1)}]}class ComponentList extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$30,create_fragment$2Z,safe_not_equal,{})}}const LeftPanel_svelte_svelte_type_style_lang="";function create_fragment$2Y(n1){let e1,t1,r1,o1,i1;return t1=new ScreenList({}),o1=new ComponentList({}),{c(){e1=element("div"),create_component(t1.$$.fragment),r1=space$1(),create_component(o1.$$.fragment),attr(e1,"class","panel svelte-1hjh5aa")},m(a1,s1){insert$1(a1,e1,s1),mount_component(t1,e1,null),append$1(e1,r1),mount_component(o1,e1,null),i1=!0},p:noop$5,i(a1){i1||(transition_in(t1.$$.fragment,a1),transition_in(o1.$$.fragment,a1),i1=!0)},o(a1){transition_out(t1.$$.fragment,a1),transition_out(o1.$$.fragment,a1),i1=!1},d(a1){a1&&detach(e1),destroy_component(t1),destroy_component(o1)}}}class LeftPanel extends SvelteComponent{constructor(e1){super(),init$2(this,e1,null,create_fragment$2Y,safe_not_equal,{})}}const _layout_svelte_svelte_type_style_lang$4="";function create_if_block$1v(n1){let e1,t1,r1,o1,i1,a1,s1;r1=new LeftPanel({}),i1=new AppPanel({});const l1=n1[2].default,c1=create_slot(l1,n1,n1[1],null);return{c(){e1=element("div"),t1=element("div"),create_component(r1.$$.fragment),o1=space$1(),create_component(i1.$$.fragment),a1=space$1(),c1&&c1.c(),attr(t1,"class","content svelte-vfl1cc"),attr(e1,"class","design svelte-vfl1cc")},m(u1,f1){insert$1(u1,e1,f1),append$1(e1,t1),mount_component(r1,t1,null),append$1(t1,o1),mount_component(i1,t1,null),append$1(t1,a1),c1&&c1.m(t1,null),s1=!0},p(u1,f1){c1&&c1.p&&(!s1||f1&2)&&update_slot_base(c1,l1,u1,u1[1],s1?get_slot_changes(l1,u1[1],f1,null):get_all_dirty_from_scope(u1[1]),null)},i(u1){s1||(transition_in(r1.$$.fragment,u1),transition_in(i1.$$.fragment,u1),transition_in(c1,u1),s1=!0)},o(u1){transition_out(r1.$$.fragment,u1),transition_out(i1.$$.fragment,u1),transition_out(c1,u1),s1=!1},d(u1){u1&&detach(e1),destroy_component(r1),destroy_component(i1),c1&&c1.d(u1)}}}function create_fragment$2X(n1){let e1,t1,r1=n1[0]&&create_if_block$1v(n1);return{c(){r1&&r1.c(),e1=empty$1()},m(o1,i1){r1&&r1.m(o1,i1),insert$1(o1,e1,i1),t1=!0},p(o1,[i1]){o1[0]?r1?(r1.p(o1,i1),i1&1&&transition_in(r1,1)):(r1=create_if_block$1v(o1),r1.c(),transition_in(r1,1),r1.m(e1.parentNode,e1)):r1&&(group_outros(),transition_out(r1,1,1,()=>{r1=null}),check_outros())},i(o1){t1||(transition_in(r1),t1=!0)},o(o1){transition_out(r1),t1=!1},d(o1){r1&&r1.d(o1),o1&&detach(e1)}}}function instance$2$(n1,e1,t1){let r1,o1;component_subscribe(n1,store,l1=>t1(3,r1=l1)),component_subscribe(n1,selectedScreen,l1=>t1(0,o1=l1));let{$$slots:i1={},$$scope:a1}=e1;const s1=syncURLToState({urlParam:"screenId",stateKey:"selectedScreenId",validate:l1=>r1.screens.some(c1=>c1._id===l1),fallbackUrl:"../../design",store,routify:routify$1});return onDestroy(s1),n1.$$set=l1=>{"$$scope"in l1&&t1(1,a1=l1.$$scope)},[o1,a1,i1]}class Layout$d extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2$,create_fragment$2X,safe_not_equal,{})}}function instance$2_(n1,e1,t1){let r1,o1;return component_subscribe(n1,redirect,i1=>t1(0,r1=i1)),component_subscribe(n1,store,i1=>t1(1,o1=i1)),n1.$$.update=()=>{n1.$$.dirty&3&&(o1.screens.length>0?r1(`./${o1.screens[0]._id}`):r1("./new"))},[r1,o1]}class Design extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2_,null,safe_not_equal,{})}}const blankImage="/builder/assets/blank.2f241fb9.png",tableImage="/builder/assets/table.b7a718ad.png";class Screen extends BaseStructure{constructor(){super(!0),this._json={showNavigation:!0,width:"Large",props:{_id:uuid(),_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"}}normalStyle(e1){return this._json.props._styles.normal=e1,this}component(e1){return this._json.props._component=e1,this}table(e1){return this._json.props.table=e1,this}route(e1){return this._json.routing.route=e1,this}name(e1){return this._json.name=e1,this}instanceName(e1){return this._json.props._instanceName=e1,this}customProps(e1){for(let t1 of Object.keys(e1))this._json.props[t1]=e1[t1];return this}}function rowListScreen(n1){return Array.isArray(n1)?n1.map(e1=>({name:`${e1.label} - List`,create:()=>createScreen$1(e1),id:ROW_LIST_TEMPLATE,resourceId:e1.resourceId})):[]}const ROW_LIST_TEMPLATE="ROW_LIST_TEMPLATE",rowListUrl=n1=>sanitizeUrl(`/${n1.label}`),generateTableBlock=n1=>{const e1=new Component("@budibase/standard-components/tableblock");return e1.customProps({title:n1.label,dataSource:n1,sortOrder:"Ascending",size:"spectrum--medium",paginate:!0,rowCount:8,clickBehaviour:"details",showTitleButton:!0,titleButtonText:"Create row",titleButtonClickBehaviour:"new"}).instanceName(`${n1.label} - Table block`),e1},createScreen$1=n1=>new Screen().route(rowListUrl(n1)).instanceName(`${n1.label} - List`).addChild(generateTableBlock(n1)).json(),DatasourceTemplateRow_svelte_svelte_type_style_lang="";function create_if_block$1u(n1){let e1,t1,r1;return t1=new Icon({props:{size:"S",name:"CheckmarkCircle"}}),{c(){e1=element("span"),create_component(t1.$$.fragment),attr(e1,"class","data-source-check svelte-7abi2p")},m(o1,i1){insert$1(o1,e1,i1),mount_component(t1,e1,null),r1=!0},i(o1){r1||(transition_in(t1.$$.fragment,o1),r1=!0)},o(o1){transition_out(t1.$$.fragment,o1),r1=!1},d(o1){o1&&detach(e1),destroy_component(t1)}}}function create_fragment$2W(n1){let e1,t1,r1,o1=n1[0].label+"",i1,a1,s1,l1,c1;t1=new Icon({props:{name:n1[2],color:"var(--spectrum-global-color-gray-600)"}});let u1=n1[1]&&create_if_block$1u();return{c(){e1=element("div"),create_component(t1.$$.fragment),r1=space$1(),i1=text(o1),a1=space$1(),u1&&u1.c(),attr(e1,"class","data-source-entry svelte-7abi2p"),toggle_class(e1,"selected",n1[1])},m(f1,p1){insert$1(f1,e1,p1),mount_component(t1,e1,null),append$1(e1,r1),append$1(e1,i1),append$1(e1,a1),u1&&u1.m(e1,null),s1=!0,l1||(c1=listen(e1,"click",n1[3]),l1=!0)},p(f1,[p1]){const d1={};p1&4&&(d1.name=f1[2]),t1.$set(d1),(!s1||p1&1)&&o1!==(o1=f1[0].label+"")&&set_data(i1,o1),f1[1]?u1?p1&2&&transition_in(u1,1):(u1=create_if_block$1u(),u1.c(),transition_in(u1,1),u1.m(e1,null)):u1&&(group_outros(),transition_out(u1,1,1,()=>{u1=null}),check_outros()),(!s1||p1&2)&&toggle_class(e1,"selected",f1[1])},i(f1){s1||(transition_in(t1.$$.fragment,f1),transition_in(u1),s1=!0)},o(f1){transition_out(t1.$$.fragment,f1),transition_out(u1),s1=!1},d(f1){f1&&detach(e1),destroy_component(t1),u1&&u1.d(),l1=!1,c1()}}}function instance$2Z(n1,e1,t1){let r1,{datasource:o1}=e1,{selected:i1=!1}=e1;function a1(s1){bubble.call(this,n1,s1)}return n1.$$set=s1=>{"datasource"in s1&&t1(0,o1=s1.datasource),"selected"in s1&&t1(1,i1=s1.selected)},n1.$$.update=()=>{n1.$$.dirty&1&&t1(2,r1=o1.type==="viewV2"?"Remove":"Table")},[o1,i1,r1,a1]}class DatasourceTemplateRow extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2Z,create_fragment$2W,safe_not_equal,{datasource:0,selected:1})}}const DatasourceModal_svelte_svelte_type_style_lang="";function get_each_context$x(n1,e1,t1){const r1=n1.slice();r1[12]=e1[t1];const o1=Array.isArray(r1[12].entities)?r1[12].entities:Object.values(r1[12].entities||{});return r1[13]=o1,r1}function get_each_context_1$9(n1,e1,t1){const r1=n1.slice();r1[16]=e1[t1];const o1=Object.values(r1[16].views||{}).filter(s1=>s1.version===2);r1[17]=o1;const i1={tableId:r1[16]._id,label:r1[16].name,resourceId:r1[16]._id,type:"table"};r1[18]=i1;const a1=r1[1].find(function(...l1){return n1[11](r1[18],...l1)});return r1[19]=a1,r1}function get_each_context_2$4(n1,e1,t1){const r1=n1.slice();r1[22]=e1[t1];const o1={label:r1[22].name,id:r1[22].id,resourceId:r1[22].id,tableId:r1[22].tableId,type:"viewV2"};r1[23]=o1;const i1=r1[1].find(function(...s1){return n1[10](r1[23],...s1)});return r1[19]=i1,r1}function create_default_slot_2$1h(n1){let e1;return{c(){e1=text("Select which datasources you would like to use to create your screens")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_each_block_2$4(n1){let e1,t1;function r1(){return n1[9](n1[23])}return e1=new DatasourceTemplateRow({props:{selected:n1[19],datasource:n1[23]}}),e1.$on("click",r1),{c(){create_component(e1.$$.fragment)},m(o1,i1){mount_component(e1,o1,i1),t1=!0},p(o1,i1){n1=o1;const a1={};i1&6&&(a1.selected=n1[19]),i1&4&&(a1.datasource=n1[23]),e1.$set(a1)},i(o1){t1||(transition_in(e1.$$.fragment,o1),t1=!0)},o(o1){transition_out(e1.$$.fragment,o1),t1=!1},d(o1){destroy_component(e1,o1)}}}function create_each_block_1$9(n1){let e1,t1,r1,o1;function i1(){return n1[8](n1[18])}e1=new DatasourceTemplateRow({props:{selected:n1[19],datasource:n1[18]}}),e1.$on("click",i1);let a1=n1[17],s1=[];for(let c1=0;c1<a1.length;c1+=1)s1[c1]=create_each_block_2$4(get_each_context_2$4(n1,a1,c1));const l1=c1=>transition_out(s1[c1],1,1,()=>{s1[c1]=null});return{c(){create_component(e1.$$.fragment),t1=space$1();for(let c1=0;c1<s1.length;c1+=1)s1[c1].c();r1=empty$1()},m(c1,u1){mount_component(e1,c1,u1),insert$1(c1,t1,u1);for(let f1=0;f1<s1.length;f1+=1)s1[f1].m(c1,u1);insert$1(c1,r1,u1),o1=!0},p(c1,u1){n1=c1;const f1={};if(u1&6&&(f1.selected=n1[19]),u1&4&&(f1.datasource=n1[18]),e1.$set(f1),u1&14){a1=n1[17];let p1;for(p1=0;p1<a1.length;p1+=1){const d1=get_each_context_2$4(n1,a1,p1);s1[p1]?(s1[p1].p(d1,u1),transition_in(s1[p1],1)):(s1[p1]=create_each_block_2$4(d1),s1[p1].c(),transition_in(s1[p1],1),s1[p1].m(r1.parentNode,r1))}for(group_outros(),p1=a1.length;p1<s1.length;p1+=1)l1(p1);check_outros()}},i(c1){if(!o1){transition_in(e1.$$.fragment,c1);for(let u1=0;u1<a1.length;u1+=1)transition_in(s1[u1]);o1=!0}},o(c1){transition_out(e1.$$.fragment,c1),s1=s1.filter(Boolean);for(let u1=0;u1<s1.length;u1+=1)transition_out(s1[u1]);o1=!1},d(c1){destroy_component(e1,c1),c1&&detach(t1),destroy_each(s1,c1),c1&&detach(r1)}}}function create_each_block$x(n1){let e1,t1,r1,o1,i1,a1=n1[12].name+"",s1,l1,c1,u1;var f1=ICONS[n1[12].source];function p1(h1){return{props:{height:"24",width:"24"}}}f1&&(r1=construct_svelte_component(f1,p1()));let d1=n1[13].filter(func$d),m1=[];for(let h1=0;h1<d1.length;h1+=1)m1[h1]=create_each_block_1$9(get_each_context_1$9(n1,d1,h1));const _1=h1=>transition_out(m1[h1],1,1,()=>{m1[h1]=null});return{c(){e1=element("div"),t1=element("div"),r1&&create_component(r1.$$.fragment),o1=space$1(),i1=element("div"),s1=text(a1),l1=space$1();for(let h1=0;h1<m1.length;h1+=1)m1[h1].c();c1=space$1(),attr(i1,"class","data-source-name"),attr(t1,"class","data-source-header svelte-1tsbsfb"),attr(e1,"class","data-source-wrap svelte-1tsbsfb")},m(h1,g1){insert$1(h1,e1,g1),append$1(e1,t1),r1&&mount_component(r1,t1,null),append$1(t1,o1),append$1(t1,i1),append$1(i1,s1),append$1(e1,l1);for(let $1=0;$1<m1.length;$1+=1)m1[$1].m(e1,null);append$1(e1,c1),u1=!0},p(h1,g1){if(f1!==(f1=ICONS[h1[12].source])){if(r1){group_outros();const $1=r1;transition_out($1.$$.fragment,1,0,()=>{destroy_component($1,1)}),check_outros()}f1?(r1=construct_svelte_component(f1,p1()),create_component(r1.$$.fragment),transition_in(r1.$$.fragment,1),mount_component(r1,t1,o1)):r1=null}if((!u1||g1&4)&&a1!==(a1=h1[12].name+"")&&set_data(s1,a1),g1&14){d1=h1[13].filter(func$d);let $1;for($1=0;$1<d1.length;$1+=1){const y1=get_each_context_1$9(h1,d1,$1);m1[$1]?(m1[$1].p(y1,g1),transition_in(m1[$1],1)):(m1[$1]=create_each_block_1$9(y1),m1[$1].c(),transition_in(m1[$1],1),m1[$1].m(e1,c1))}for(group_outros(),$1=d1.length;$1<m1.length;$1+=1)_1($1);check_outros()}},i(h1){if(!u1){r1&&transition_in(r1.$$.fragment,h1);for(let g1=0;g1<d1.length;g1+=1)transition_in(m1[g1]);u1=!0}},o(h1){r1&&transition_out(r1.$$.fragment,h1),m1=m1.filter(Boolean);for(let g1=0;g1<m1.length;g1+=1)transition_out(m1[g1]);u1=!1},d(h1){h1&&detach(e1),r1&&destroy_component(r1),destroy_each(m1,h1)}}}function create_default_slot_1$1E(n1){let e1,t1,r1=n1[2],o1=[];for(let a1=0;a1<r1.length;a1+=1)o1[a1]=create_each_block$x(get_each_context$x(n1,r1,a1));const i1=a1=>transition_out(o1[a1],1,1,()=>{o1[a1]=null});return{c(){for(let a1=0;a1<o1.length;a1+=1)o1[a1].c();e1=empty$1()},m(a1,s1){for(let l1=0;l1<o1.length;l1+=1)o1[l1].m(a1,s1);insert$1(a1,e1,s1),t1=!0},p(a1,s1){if(s1&14){r1=a1[2];let l1;for(l1=0;l1<r1.length;l1+=1){const c1=get_each_context$x(a1,r1,l1);o1[l1]?(o1[l1].p(c1,s1),transition_in(o1[l1],1)):(o1[l1]=create_each_block$x(c1),o1[l1].c(),transition_in(o1[l1],1),o1[l1].m(e1.parentNode,e1))}for(group_outros(),l1=r1.length;l1<o1.length;l1+=1)i1(l1);check_outros()}},i(a1){if(!t1){for(let s1=0;s1<r1.length;s1+=1)transition_in(o1[s1]);t1=!0}},o(a1){o1=o1.filter(Boolean);for(let s1=0;s1<o1.length;s1+=1)transition_out(o1[s1]);t1=!1},d(a1){destroy_each(o1,a1),a1&&detach(e1)}}}function create_default_slot$21(n1){let e1,t1,r1,o1;return e1=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1h]},$$scope:{ctx:n1}}}),r1=new Layout$m({props:{noPadding:!0,gap:"S",$$slots:{default:[create_default_slot_1$1E]},$$scope:{ctx:n1}}}),{c(){create_component(e1.$$.fragment),t1=space$1(),create_component(r1.$$.fragment)},m(i1,a1){mount_component(e1,i1,a1),insert$1(i1,t1,a1),mount_component(r1,i1,a1),o1=!0},p(i1,a1){const s1={};a1&67108864&&(s1.$$scope={dirty:a1,ctx:i1}),e1.$set(s1);const l1={};a1&67108870&&(l1.$$scope={dirty:a1,ctx:i1}),r1.$set(l1)},i(i1){o1||(transition_in(e1.$$.fragment,i1),transition_in(r1.$$.fragment,i1),o1=!0)},o(i1){transition_out(e1.$$.fragment,i1),transition_out(r1.$$.fragment,i1),o1=!1},d(i1){destroy_component(e1,i1),i1&&detach(t1),destroy_component(r1,i1)}}}function create_fragment$2V(n1){let e1,t1,r1;return t1=new ModalContent({props:{title:"Autogenerated screens",confirmText:"Confirm",cancelText:"Back",onConfirm:n1[4],onCancel:n1[0],disabled:!n1[1].length,size:"L",$$slots:{default:[create_default_slot$21]},$$scope:{ctx:n1}}}),{c(){e1=element("span"),create_component(t1.$$.fragment)},m(o1,i1){insert$1(o1,e1,i1),mount_component(t1,e1,null),r1=!0},p(o1,[i1]){const a1={};i1&1&&(a1.onCancel=o1[0]),i1&2&&(a1.disabled=!o1[1].length),i1&67108870&&(a1.$$scope={dirty:i1,ctx:o1}),t1.$set(a1)},i(o1){r1||(transition_in(t1.$$.fragment,o1),r1=!0)},o(o1){transition_out(t1.$$.fragment,o1),r1=!1},d(o1){o1&&detach(e1),destroy_component(t1)}}}const func$d=n1=>n1._id!=="ta_users";function instance$2Y(n1,e1,t1){let r1,o1;component_subscribe(n1,datasources,_1=>t1(7,o1=_1));let{onCancel:i1}=e1,{onConfirm:a1}=e1,{initialScreens:s1=[]}=e1,l1=[...s1];const c1=_1=>{const{resourceId:h1}=_1;l1.find(g1=>g1.resourceId===h1)?t1(1,l1=l1.filter(g1=>g1.resourceId!==h1)):t1(1,l1=[...l1,rowListScreen([_1])[0]])},u1=async()=>{await a1({templates:l1})};onMount(async()=>{try{await datasources.fetch()}catch{notifications.error("Error fetching datasources")}});const f1=_1=>c1(_1),p1=_1=>c1(_1),d1=(_1,h1)=>h1.resourceId===_1.resourceId,m1=(_1,h1)=>h1.resourceId===_1.resourceId;return n1.$$set=_1=>{"onCancel"in _1&&t1(0,i1=_1.onCancel),"onConfirm"in _1&&t1(5,a1=_1.onConfirm),"initialScreens"in _1&&t1(6,s1=_1.initialScreens)},n1.$$.update=()=>{var _1;n1.$$.dirty&128&&t1(2,r1=(_1=o1.list)==null?void 0:_1.filter(h1=>h1.source!==IntegrationNames.REST&&h1.entities))},[i1,l1,r1,c1,u1,a1,s1,o1,f1,p1,d1,m1]}class DatasourceModal extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2Y,create_fragment$2V,safe_not_equal,{onCancel:0,onConfirm:5,initialScreens:6})}}function create_default_slot$20(n1){let e1,t1,r1,o1;function i1(s1){n1[8](s1)}let a1={label:"Access",error:n1[3],getOptionLabel:func$c,getOptionValue:func_1$9,getOptionColour:n1[7],options:n1[4],placeholder:null};return n1[0]!==void 0&&(a1.value=n1[0]),t1=new Select_1$1({props:a1}),binding_callbacks.push(()=>bind$3(t1,"value",i1)),t1.$on("change",n1[5]),{c(){e1=text(`Select the level of access required to see these screens
1738
+ `,AppPreview_svelte_svelte_type_style_lang="";function create_if_block_1$Q(n1){let e1,t1,r1;return t1=new Layout$m({props:{justifyItems:"center",gap:"S",$$slots:{default:[create_default_slot_1$1K]},$$scope:{ctx:n1}}}),{c(){e1=element("div"),create_component(t1.$$.fragment),attr(e1,"class","center error svelte-ogzj7")},m(o1,i1){insert$1(o1,e1,i1),mount_component(t1,e1,null),r1=!0},p(o1,i1){const a1={};i1&67108880&&(a1.$$scope={dirty:i1,ctx:o1}),t1.$set(a1)},i(o1){r1||(transition_in(t1.$$.fragment,o1),r1=!0)},o(o1){transition_out(t1.$$.fragment,o1),r1=!1},d(o1){o1&&detach(e1),destroy_component(t1)}}}function create_if_block$1E(n1){let e1,t1,r1;return t1=new ProgressCircle({}),{c(){e1=element("div"),create_component(t1.$$.fragment),attr(e1,"class","center svelte-ogzj7")},m(o1,i1){insert$1(o1,e1,i1),mount_component(t1,e1,null),r1=!0},p:noop$5,i(o1){r1||(transition_in(t1.$$.fragment,o1),r1=!0)},o(o1){transition_out(t1.$$.fragment,o1),r1=!1},d(o1){o1&&detach(e1),destroy_component(t1)}}}function create_default_slot_3$17(n1){let e1;return{c(){e1=text("App preview failed to load")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_2$1n(n1){let e1;return{c(){e1=text(n1[4])},m(t1,r1){insert$1(t1,e1,r1)},p(t1,r1){r1&16&&set_data(e1,t1[4])},d(t1){t1&&detach(e1)}}}function create_default_slot_1$1K(n1){let e1,t1,r1,o1,i1,a1;return r1=new Heading({props:{size:"L",$$slots:{default:[create_default_slot_3$17]},$$scope:{ctx:n1}}}),i1=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1n]},$$scope:{ctx:n1}}}),{c(){e1=new HtmlTag(!1),t1=space$1(),create_component(r1.$$.fragment),o1=space$1(),create_component(i1.$$.fragment),e1.a=t1},m(s1,l1){e1.m(ErrorSVG,s1,l1),insert$1(s1,t1,l1),mount_component(r1,s1,l1),insert$1(s1,o1,l1),mount_component(i1,s1,l1),a1=!0},p(s1,l1){const c1={};l1&67108864&&(c1.$$scope={dirty:l1,ctx:s1}),r1.$set(c1);const u1={};l1&67108880&&(u1.$$scope={dirty:l1,ctx:s1}),i1.$set(u1)},i(s1){a1||(transition_in(r1.$$.fragment,s1),transition_in(i1.$$.fragment,s1),a1=!0)},o(s1){transition_out(r1.$$.fragment,s1),transition_out(i1.$$.fragment,s1),a1=!1},d(s1){s1&&e1.d(),s1&&detach(t1),destroy_component(r1,s1),s1&&detach(o1),destroy_component(i1,s1)}}}function create_default_slot$29(n1){let e1;return{c(){e1=text("Component")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_fragment$3a(n1){let e1,t1,r1,o1,i1,a1,s1,l1,c1,u1,f1,p1,d1,m1;const _1=[create_if_block$1E,create_if_block_1$Q],h1=[];function g1(y1,w1){return y1[3]?0:y1[4]?1:-1}~(t1=g1(n1))&&(r1=h1[t1]=_1[t1](n1)),c1=new Icon({props:{size:"XL",name:"Add",$$slots:{default:[create_default_slot$29]},$$scope:{ctx:n1}}});let $1={title:"Confirm Deletion",body:"Are you sure you want to delete this component?",okText:"Delete component",onOk:n1[6],onCancel:n1[7]};return f1=new ConfirmDialog({props:$1}),n1[17](f1),{c(){e1=element("div"),r1&&r1.c(),o1=space$1(),i1=element("iframe"),s1=space$1(),l1=element("div"),create_component(c1.$$.fragment),u1=space$1(),create_component(f1.$$.fragment),attr(i1,"title","componentPreview"),src_url_equal(i1.src,a1="/app/preview")||attr(i1,"src",a1),attr(i1,"class","svelte-ogzj7"),toggle_class(i1,"hidden",n1[3]||n1[4]),toggle_class(i1,"tablet",n1[1].previewDevice==="tablet"),toggle_class(i1,"mobile",n1[1].previewDevice==="mobile"),attr(l1,"class","add-component svelte-ogzj7"),toggle_class(l1,"active",n1[5]),attr(e1,"class","component-container svelte-ogzj7")},m(y1,w1){insert$1(y1,e1,w1),~t1&&h1[t1].m(e1,null),append$1(e1,o1),append$1(e1,i1),n1[16](i1),append$1(e1,s1),append$1(e1,l1),mount_component(c1,l1,null),insert$1(y1,u1,w1),mount_component(f1,y1,w1),p1=!0,d1||(m1=listen(l1,"click",n1[8]),d1=!0)},p(y1,[w1]){let S1=t1;t1=g1(y1),t1===S1?~t1&&h1[t1].p(y1,w1):(r1&&(group_outros(),transition_out(h1[S1],1,1,()=>{h1[S1]=null}),check_outros()),~t1?(r1=h1[t1],r1?r1.p(y1,w1):(r1=h1[t1]=_1[t1](y1),r1.c()),transition_in(r1,1),r1.m(e1,o1)):r1=null),(!p1||w1&24)&&toggle_class(i1,"hidden",y1[3]||y1[4]),(!p1||w1&2)&&toggle_class(i1,"tablet",y1[1].previewDevice==="tablet"),(!p1||w1&2)&&toggle_class(i1,"mobile",y1[1].previewDevice==="mobile");const O1={};w1&67108864&&(O1.$$scope={dirty:w1,ctx:y1}),c1.$set(O1),(!p1||w1&32)&&toggle_class(l1,"active",y1[5]);const C1={};f1.$set(C1)},i(y1){p1||(transition_in(r1),transition_in(c1.$$.fragment,y1),transition_in(f1.$$.fragment,y1),p1=!0)},o(y1){transition_out(r1),transition_out(c1.$$.fragment,y1),transition_out(f1.$$.fragment,y1),p1=!1},d(y1){y1&&detach(e1),~t1&&h1[t1].d(),n1[16](null),destroy_component(c1),y1&&detach(u1),n1[17](null),destroy_component(f1,y1),d1=!1,m1()}}}function instance$3d(n1,e1,t1){let r1,o1,i1,a1,s1,l1,c1,u1,f1;component_subscribe(n1,goto,q1=>t1(19,l1=q1)),component_subscribe(n1,isActive,q1=>t1(14,c1=q1)),component_subscribe(n1,store,q1=>t1(1,u1=q1)),component_subscribe(n1,selectedScreen,q1=>t1(15,f1=q1));let p1,d1,m1,_1,h1,g1=!0,$1;const y1={READY:"ready",ERROR:"error",BUDIBASE:"type"},w1=q1=>{p1==null||p1.contentWindow.postMessage(q1)},S1=async q1=>{var R1,I1,F1;if(!!((R1=q1==null?void 0:q1.data)!=null&&R1.type)){try{await O1(q1)}catch(j1){notifications.error(j1||"Error handling event from app preview")}(I1=q1.data)!=null&&I1.id&&s1("event-completed",(F1=q1.data)==null?void 0:F1.id)}},O1=async q1=>{var F1;const{type:R1,data:I1}=q1.data;if(R1===y1.READY){if(!g1)return;w1(i1)}else if(R1===y1.ERROR)t1(3,g1=!1),t1(4,$1=q1.error||"An unknown error occurred");else if(R1==="select-component"&&I1.id)set_store_value(store,u1.selectedComponentId=I1.id,u1);else if(R1==="update-prop")await store.actions.components.updateSetting(I1.prop,I1.value);else if(R1==="update-styles")await store.actions.components.updateStyles(I1.styles,I1.id);else if(R1==="delete-component"&&I1.id)C1(I1.id);else if(R1==="key-down"){const{key:j1,ctrlKey:X1}=I1;document.dispatchEvent(new KeyboardEvent("keydown",{key:j1,ctrlKey:X1}))}else if(R1==="duplicate-component"&&I1.id){const j1=get_store_value(currentAsset).props,X1=findComponent(j1,I1.id);store.actions.components.copy(X1),await store.actions.components.paste(X1)}else if(R1==="preview-loaded")t1(3,g1=!1);else if(R1==="move-component"){const{componentId:j1,destinationComponentId:X1}=I1,Y1=get_store_value(currentAsset).props,Q1=findComponent(Y1,j1),e0=findComponent(Y1,X1);if(findComponentPath(Q1,X1).map(r0=>r0._id).includes(I1.destinationComponentId))return;Q1&&e0&&(store.actions.components.copy(Q1,!0,!1),await store.actions.components.paste(e0,I1.mode))}else if(R1==="request-add-component")D1();else if(R1==="highlight-setting"){store.actions.settings.highlight(I1.setting);const j1=`#${I1.setting}-prop-control`,X1=(F1=document.querySelector(j1))==null?void 0:F1.parentElement;X1&&X1.scrollIntoView({behavior:"smooth",block:"center"})}else if(R1==="eject-block"){const{id:j1,definition:X1}=I1;await store.actions.components.handleEjectBlock(j1,X1)}else if(R1==="reload-plugin")await store.actions.components.refreshDefinitions();else if(R1==="drop-new-component"){const{component:j1,parent:X1,index:Y1}=I1;await store.actions.components.create(j1,null,X1,Y1)}else if(R1==="add-parent-component"){const{componentId:j1,parentType:X1}=I1;await store.actions.components.addParent(j1,X1)}else console.warn(`Client sent unknown event type: ${R1}`)},C1=q1=>{h1=q1,_1.show()},M1=async()=>{try{await store.actions.components.delete({_id:h1})}catch{notifications.error("Error deleting component")}h1=null},z1=()=>{h1=null},D1=()=>{c1("./:componentId/new")?l1("./:componentId"):l1("./:componentId/new")};onMount(()=>{window.addEventListener("message",S1)}),onDestroy(()=>{window.removeEventListener("message",S1)});function H1(q1){binding_callbacks[q1?"unshift":"push"](()=>{p1=q1,t1(0,p1)})}function B1(q1){binding_callbacks[q1?"unshift":"push"](()=>{_1=q1,t1(2,_1)})}return n1.$$.update=()=>{var q1,R1,I1;n1.$$.dirty&32768&&t1(9,m1=f1),n1.$$.dirty&2&&t1(12,r1=u1.selectedComponentId),n1.$$.dirty&4610&&t1(13,o1={appId:u1.appId,layout:d1,screen:m1,selectedComponentId:r1,theme:u1.theme,customTheme:u1.customTheme,previewDevice:u1.previewDevice,messagePassing:u1.clientFeatures.messagePassing,navigation:u1.navigation,hiddenComponentIds:((q1=u1.componentToPaste)==null?void 0:q1._id)&&((R1=u1.componentToPaste)==null?void 0:R1.isCut)?[(I1=u1.componentToPaste)==null?void 0:I1._id]:[],isBudibaseEvent:!0,usedPlugins:u1.usedPlugins,location:{protocol:window.location.protocol,hostname:window.location.hostname,port:window.location.port}}),n1.$$.dirty&8192&&t1(10,i1=JSON.stringify(o1)),n1.$$.dirty&1024&&w1(i1),n1.$$.dirty&20480&&t1(5,a1=c1(`./${r1}/new`)),n1.$$.dirty&1&&t1(11,s1=(F1,j1)=>{p1==null||p1.contentWindow.postMessage(JSON.stringify({name:F1,payload:j1,isBudibaseEvent:!0,runtimeEvent:!0}))}),n1.$$.dirty&2048&&store.actions.preview.registerEventHandler(s1)},[p1,u1,_1,g1,$1,a1,M1,z1,D1,m1,i1,s1,r1,o1,c1,f1,H1,B1]}class AppPreview extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$3d,create_fragment$3a,safe_not_equal,{})}}const UndoRedoControl_svelte_svelte_type_style_lang="";function create_fragment$39(n1){let e1,t1,r1,o1,i1;return t1=new Icon({props:{name:"Undo",hoverable:!0,disabled:!n1[1].canUndo}}),t1.$on("click",function(){is_function(n1[0].undo)&&n1[0].undo.apply(this,arguments)}),o1=new Icon({props:{name:"Redo",hoverable:!0,disabled:!n1[1].canRedo}}),o1.$on("click",function(){is_function(n1[0].redo)&&n1[0].redo.apply(this,arguments)}),{c(){e1=element("div"),create_component(t1.$$.fragment),r1=space$1(),create_component(o1.$$.fragment),attr(e1,"class","undo-redo svelte-1ykfm7c")},m(a1,s1){insert$1(a1,e1,s1),mount_component(t1,e1,null),append$1(e1,r1),mount_component(o1,e1,null),i1=!0},p(a1,[s1]){n1=a1;const l1={};s1&2&&(l1.disabled=!n1[1].canUndo),t1.$set(l1);const c1={};s1&2&&(c1.disabled=!n1[1].canRedo),o1.$set(c1)},i(a1){i1||(transition_in(t1.$$.fragment,a1),transition_in(o1.$$.fragment,a1),i1=!0)},o(a1){transition_out(t1.$$.fragment,a1),transition_out(o1.$$.fragment,a1),i1=!1},d(a1){a1&&detach(e1),destroy_component(t1),destroy_component(o1)}}}function instance$3c(n1,e1,t1){let r1,o1=noop$5,i1=()=>(o1(),o1=subscribe(a1,l1=>t1(1,r1=l1)),a1);n1.$$.on_destroy.push(()=>o1());let{store:a1}=e1;i1();const s1=l1=>{if(!(l1.ctrlKey||l1.metaKey))return;let c1=l1.key.toLowerCase();isBuilderInputFocused(l1)||(l1.shiftKey&&c1==="z"?a1.redo():c1==="z"&&a1.undo())};return onMount(()=>(document.addEventListener("keydown",s1),()=>{document.removeEventListener("keydown",s1)})),n1.$$set=l1=>{"store"in l1&&i1(t1(0,a1=l1.store))},[a1,r1]}class UndoRedoControl extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$3c,create_fragment$39,safe_not_equal,{store:0})}}const AppPanel_svelte_svelte_type_style_lang="";function create_if_block$1D(n1){let e1,t1;return e1=new DevicePreviewSelect({}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_key_block$3(n1){let e1,t1;return e1=new AppPreview({}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p:noop$5,i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_fragment$38(n1){let e1,t1,r1,o1,i1,a1,s1,l1,c1=n1[0].version,u1;o1=new UndoRedoControl({props:{store:screenHistoryStore}});let f1=n1[0].clientFeatures.devicePreview&&create_if_block$1D(),p1=create_key_block$3();return{c(){e1=element("div"),t1=element("div"),r1=element("div"),create_component(o1.$$.fragment),i1=space$1(),a1=element("div"),f1&&f1.c(),s1=space$1(),l1=element("div"),p1.c(),attr(r1,"class","header-left svelte-1lqfjei"),attr(a1,"class","header-right svelte-1lqfjei"),attr(t1,"class","header svelte-1lqfjei"),attr(l1,"class","content svelte-1lqfjei"),attr(e1,"class","app-panel svelte-1lqfjei")},m(d1,m1){insert$1(d1,e1,m1),append$1(e1,t1),append$1(t1,r1),mount_component(o1,r1,null),append$1(t1,i1),append$1(t1,a1),f1&&f1.m(a1,null),append$1(e1,s1),append$1(e1,l1),p1.m(l1,null),u1=!0},p(d1,[m1]){d1[0].clientFeatures.devicePreview?f1?m1&1&&transition_in(f1,1):(f1=create_if_block$1D(),f1.c(),transition_in(f1,1),f1.m(a1,null)):f1&&(group_outros(),transition_out(f1,1,1,()=>{f1=null}),check_outros()),m1&1&&safe_not_equal(c1,c1=d1[0].version)?(group_outros(),transition_out(p1,1,1,noop$5),check_outros(),p1=create_key_block$3(),p1.c(),transition_in(p1,1),p1.m(l1,null)):p1.p(d1,m1)},i(d1){u1||(transition_in(o1.$$.fragment,d1),transition_in(f1),transition_in(p1),u1=!0)},o(d1){transition_out(o1.$$.fragment,d1),transition_out(f1),transition_out(p1),u1=!1},d(d1){d1&&detach(e1),destroy_component(o1),f1&&f1.d(),p1.d(d1)}}}function instance$3b(n1,e1,t1){let r1;return component_subscribe(n1,store,o1=>t1(0,r1=o1)),[r1]}class AppPanel extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$3b,create_fragment$38,safe_not_equal,{})}}const RoleIndicator_svelte_svelte_type_style_lang="";function create_if_block$1C(n1){let e1,t1,r1;return t1=new Tooltip$1({props:{textWrapping:!0,text:n1[1],direction:"right"}}),{c(){e1=element("div"),create_component(t1.$$.fragment),attr(e1,"class","tooltip svelte-1vfibm3")},m(o1,i1){insert$1(o1,e1,i1),mount_component(t1,e1,null),r1=!0},p(o1,i1){const a1={};i1&2&&(a1.text=o1[1]),t1.$set(a1)},i(o1){r1||(transition_in(t1.$$.fragment,o1),r1=!0)},o(o1){transition_out(t1.$$.fragment,o1),r1=!1},d(o1){o1&&detach(e1),destroy_component(t1)}}}function create_fragment$37(n1){let e1,t1,r1,o1,i1,a1;t1=new StatusLight({props:{square:!0,color:n1[2]}});let s1=n1[0]&&create_if_block$1C(n1);return{c(){e1=element("div"),create_component(t1.$$.fragment),r1=space$1(),s1&&s1.c(),attr(e1,"class","container svelte-1vfibm3"),set_style(e1,"--color",n1[2])},m(l1,c1){insert$1(l1,e1,c1),mount_component(t1,e1,null),append$1(e1,r1),s1&&s1.m(e1,null),o1=!0,i1||(a1=[listen(e1,"mouseover",n1[7]),listen(e1,"mouseleave",n1[8]),listen(e1,"focus",n1[6])],i1=!0)},p(l1,[c1]){const u1={};c1&4&&(u1.color=l1[2]),t1.$set(u1),l1[0]?s1?(s1.p(l1,c1),c1&1&&transition_in(s1,1)):(s1=create_if_block$1C(l1),s1.c(),transition_in(s1,1),s1.m(e1,null)):s1&&(group_outros(),transition_out(s1,1,1,()=>{s1=null}),check_outros()),(!o1||c1&4)&&set_style(e1,"--color",l1[2])},i(l1){o1||(transition_in(t1.$$.fragment,l1),transition_in(s1),o1=!0)},o(l1){transition_out(t1.$$.fragment,l1),transition_out(s1),o1=!1},d(l1){l1&&detach(e1),destroy_component(t1),s1&&s1.d(),i1=!1,run_all(a1)}}}function instance$3a(n1,e1,t1){let r1,o1,i1,a1;component_subscribe(n1,roles,p1=>t1(5,a1=p1));let{roleId:s1}=e1,l1=!1;function c1(p1){bubble.call(this,n1,p1)}const u1=()=>t1(0,l1=!0),f1=()=>t1(0,l1=!1);return n1.$$set=p1=>{"roleId"in p1&&t1(3,s1=p1.roleId)},n1.$$.update=()=>{n1.$$.dirty&8&&t1(2,r1=getRoleColour(s1)),n1.$$.dirty&40&&t1(4,o1=a1.find(p1=>p1._id===s1)),n1.$$.dirty&24&&t1(1,i1=s1===Roles.PUBLIC?"Open to the public":`Requires ${o1==null?void 0:o1.name} access`)},[l1,i1,r1,s1,o1,a1,c1,u1,f1]}class RoleIndicator extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$3a,create_fragment$37,safe_not_equal,{roleId:3})}}const ScreenDetailsModal_svelte_svelte_type_style_lang="";function create_default_slot$28(n1){let e1,t1,r1,o1,i1,a1;function s1(c1){n1[10](c1)}let l1={label:"Enter a URL for the new screen",error:n1[4]};return n1[0]!==void 0&&(l1.value=n1[0]),e1=new Input$5({props:l1}),binding_callbacks.push(()=>bind$3(e1,"value",s1)),e1.$on("change",n1[6]),{c(){create_component(e1.$$.fragment),r1=space$1(),o1=element("div"),i1=text(n1[5]),attr(o1,"class","app-server svelte-ygkcrb"),attr(o1,"title",n1[5])},m(c1,u1){mount_component(e1,c1,u1),insert$1(c1,r1,u1),insert$1(c1,o1,u1),append$1(o1,i1),a1=!0},p(c1,u1){const f1={};u1&16&&(f1.error=c1[4]),!t1&&u1&1&&(t1=!0,f1.value=c1[0],add_flush_callback(()=>t1=!1)),e1.$set(f1),(!a1||u1&32)&&set_data(i1,c1[5]),(!a1||u1&32)&&attr(o1,"title",c1[5])},i(c1){a1||(transition_in(e1.$$.fragment,c1),a1=!0)},o(c1){transition_out(e1.$$.fragment,c1),a1=!1},d(c1){destroy_component(e1,c1),c1&&detach(r1),c1&&detach(o1)}}}function create_fragment$36(n1){let e1,t1;return e1=new ModalContent({props:{size:"M",title:"Screen details",confirmText:n1[2],onConfirm:n1[7],onCancel:n1[1],cancelText:"Back",disabled:!n1[0]||n1[4]||!n1[3],$$slots:{default:[create_default_slot$28]},$$scope:{ctx:n1}}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,[o1]){const i1={};o1&4&&(i1.confirmText=r1[2]),o1&2&&(i1.onCancel=r1[1]),o1&25&&(i1.disabled=!r1[0]||r1[4]||!r1[3]),o1&4145&&(i1.$$scope={dirty:o1,ctx:r1}),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}const appPrefix$1="/app";function instance$39(n1,e1,t1){let r1,{onConfirm:o1}=e1,{onCancel:i1}=e1,{screenUrl:a1}=e1,{screenRole:s1}=e1,{confirmText:l1="Continue"}=e1,c1=!1,u1;const f1=_1=>{_1.detail.startsWith("/")||t1(0,a1="/"+_1.detail),t1(3,c1=!0),t1(0,a1=sanitizeUrl(a1)),p1(a1)?t1(4,u1="This URL is already taken for this access role"):t1(4,u1=null)},p1=_1=>s1?get_store_value(store).screens.some(h1=>h1.routing.route.toLowerCase()===_1.toLowerCase()&&h1.routing.roleId===s1):!1,d1=async()=>{await o1({screenUrl:a1})};function m1(_1){a1=_1,t1(0,a1)}return n1.$$set=_1=>{"onConfirm"in _1&&t1(8,o1=_1.onConfirm),"onCancel"in _1&&t1(1,i1=_1.onCancel),"screenUrl"in _1&&t1(0,a1=_1.screenUrl),"screenRole"in _1&&t1(9,s1=_1.screenRole),"confirmText"in _1&&t1(2,l1=_1.confirmText)},n1.$$.update=()=>{n1.$$.dirty&1&&t1(5,r1=a1?`${window.location.origin}${appPrefix$1}${a1}`:`${window.location.origin}${appPrefix$1}`)},[a1,i1,l1,c1,u1,r1,f1,d1,o1,s1,m1]}class ScreenDetailsModal extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$39,create_fragment$36,safe_not_equal,{onConfirm:8,onCancel:1,screenUrl:0,screenRole:9,confirmText:2})}}const DropdownMenu_svelte_svelte_type_style_lang="";function create_default_slot_4$W(n1){let e1;return{c(){e1=text("Paste inside")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_3$16(n1){let e1;return{c(){e1=text("Duplicate")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_2$1m(n1){let e1;return{c(){e1=text("Delete")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_1$1J(n1){let e1,t1,r1,o1,i1,a1;return e1=new Item({props:{icon:"ShowOneLayer",disabled:n1[3],$$slots:{default:[create_default_slot_4$W]},$$scope:{ctx:n1}}}),e1.$on("click",n1[10]),r1=new Item({props:{icon:"Duplicate",$$slots:{default:[create_default_slot_3$16]},$$scope:{ctx:n1}}}),r1.$on("click",n1[5]),i1=new Item({props:{icon:"Delete",$$slots:{default:[create_default_slot_2$1m]},$$scope:{ctx:n1}}}),i1.$on("click",function(){is_function(n1[1].show)&&n1[1].show.apply(this,arguments)}),{c(){create_component(e1.$$.fragment),t1=space$1(),create_component(r1.$$.fragment),o1=space$1(),create_component(i1.$$.fragment)},m(s1,l1){mount_component(e1,s1,l1),insert$1(s1,t1,l1),mount_component(r1,s1,l1),insert$1(s1,o1,l1),mount_component(i1,s1,l1),a1=!0},p(s1,l1){n1=s1;const c1={};l1&8&&(c1.disabled=n1[3]),l1&8192&&(c1.$$scope={dirty:l1,ctx:n1}),e1.$set(c1);const u1={};l1&8192&&(u1.$$scope={dirty:l1,ctx:n1}),r1.$set(u1);const f1={};l1&8192&&(f1.$$scope={dirty:l1,ctx:n1}),i1.$set(f1)},i(s1){a1||(transition_in(e1.$$.fragment,s1),transition_in(r1.$$.fragment,s1),transition_in(i1.$$.fragment,s1),a1=!0)},o(s1){transition_out(e1.$$.fragment,s1),transition_out(r1.$$.fragment,s1),transition_out(i1.$$.fragment,s1),a1=!1},d(s1){destroy_component(e1,s1),s1&&detach(t1),destroy_component(r1,s1),s1&&detach(o1),destroy_component(i1,s1)}}}function create_control_slot$8(n1){let e1,t1,r1;return t1=new Icon({props:{size:"S",hoverable:!0,name:"MoreSmallList"}}),{c(){e1=element("div"),create_component(t1.$$.fragment),attr(e1,"slot","control"),attr(e1,"class","icon svelte-u6s22l")},m(o1,i1){insert$1(o1,e1,i1),mount_component(t1,e1,null),r1=!0},p:noop$5,i(o1){r1||(transition_in(t1.$$.fragment,o1),r1=!0)},o(o1){transition_out(t1.$$.fragment,o1),r1=!1},d(o1){o1&&detach(e1),destroy_component(t1)}}}function create_default_slot$27(n1){var r1,o1;let e1,t1;return e1=new ScreenDetailsModal({props:{onConfirm:n1[6],screenUrl:(r1=n1[0])==null?void 0:r1.routing.route,screenRole:(o1=n1[0])==null?void 0:o1.routing.roleId,confirmText:"Duplicate"}}),{c(){create_component(e1.$$.fragment)},m(i1,a1){mount_component(e1,i1,a1),t1=!0},p(i1,a1){var l1,c1;const s1={};a1&1&&(s1.screenUrl=(l1=i1[0])==null?void 0:l1.routing.route),a1&1&&(s1.screenRole=(c1=i1[0])==null?void 0:c1.routing.roleId),e1.$set(s1)},i(i1){t1||(transition_in(e1.$$.fragment,i1),t1=!0)},o(i1){transition_out(e1.$$.fragment,i1),t1=!1},d(i1){destroy_component(e1,i1)}}}function create_fragment$35(n1){let e1,t1,r1,o1,i1,a1;e1=new ActionMenu({props:{$$slots:{control:[create_control_slot$8],default:[create_default_slot_1$1J]},$$scope:{ctx:n1}}});let s1={title:"Confirm Deletion",body:"Are you sure you wish to delete this screen?",okText:"Delete screen",onOk:n1[7]};r1=new ConfirmDialog({props:s1}),n1[11](r1);let l1={$$slots:{default:[create_default_slot$27]},$$scope:{ctx:n1}};return i1=new Modal({props:l1}),n1[12](i1),{c(){create_component(e1.$$.fragment),t1=space$1(),create_component(r1.$$.fragment),o1=space$1(),create_component(i1.$$.fragment)},m(c1,u1){mount_component(e1,c1,u1),insert$1(c1,t1,u1),mount_component(r1,c1,u1),insert$1(c1,o1,u1),mount_component(i1,c1,u1),a1=!0},p(c1,[u1]){const f1={};u1&8202&&(f1.$$scope={dirty:u1,ctx:c1}),e1.$set(f1);const p1={};r1.$set(p1);const d1={};u1&8193&&(d1.$$scope={dirty:u1,ctx:c1}),i1.$set(d1)},i(c1){a1||(transition_in(e1.$$.fragment,c1),transition_in(r1.$$.fragment,c1),transition_in(i1.$$.fragment,c1),a1=!0)},o(c1){transition_out(e1.$$.fragment,c1),transition_out(r1.$$.fragment,c1),transition_out(i1.$$.fragment,c1),a1=!1},d(c1){destroy_component(e1,c1),c1&&detach(t1),n1[11](null),destroy_component(r1,c1),c1&&detach(o1),n1[12](null),destroy_component(i1,c1)}}}function instance$38(n1,e1,t1){let r1,o1,i1;component_subscribe(n1,store,h1=>t1(9,i1=h1));let{screenId:a1}=e1,s1,l1;const c1=h1=>{try{store.actions.components.paste(r1.props,h1,r1)}catch{notifications.error("Error saving component")}},u1=()=>{l1.show()},f1=async({screenName:h1,screenUrl:g1})=>{let $1=cloneDeep(r1);delete $1._id,delete $1._rev,$1.props=makeComponentUnique($1.props),$1.routing.route=sanitizeUrl(g1),$1.routing.homeScreen=!1,$1.props._instanceName=h1;try{await store.actions.screens.save($1)}catch{notifications.error("Error duplicating screen")}},p1=async()=>{try{await store.actions.screens.delete(r1),notifications.success("Deleted screen successfully")}catch{notifications.error("Error deleting screen")}},d1=()=>c1("inside");function m1(h1){binding_callbacks[h1?"unshift":"push"](()=>{s1=h1,t1(1,s1)})}function _1(h1){binding_callbacks[h1?"unshift":"push"](()=>{l1=h1,t1(2,l1)})}return n1.$$set=h1=>{"screenId"in h1&&t1(8,a1=h1.screenId)},n1.$$.update=()=>{n1.$$.dirty&768&&t1(0,r1=i1.screens.find(h1=>h1._id===a1)),n1.$$.dirty&512&&t1(3,o1=!i1.componentToPaste)},[r1,s1,l1,o1,c1,u1,f1,p1,a1,i1,d1,m1,_1]}class DropdownMenu extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$38,create_fragment$35,safe_not_equal,{screenId:8})}}const index_svelte_svelte_type_style_lang$f="";function get_each_context$z(n1,e1,t1){const r1=n1.slice();return r1[31]=e1[t1],r1}function create_default_slot_2$1l(n1){let e1;return{c(){e1=text("Screens")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_else_block$B(n1){let e1,t1;return e1=new Layout$m({props:{paddingY:"none",paddingX:"L",$$slots:{default:[create_default_slot_1$1I]},$$scope:{ctx:n1}}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1[1]&8&&(i1.$$scope={dirty:o1,ctx:r1}),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_if_block$1B(n1){let e1=[],t1=new Map,r1,o1,i1=n1[7];const a1=s1=>s1[31]._id;for(let s1=0;s1<i1.length;s1+=1){let l1=get_each_context$z(n1,i1,s1),c1=a1(l1);t1.set(c1,e1[s1]=create_each_block$z(c1,l1))}return{c(){for(let s1=0;s1<e1.length;s1+=1)e1[s1].c();r1=empty$1()},m(s1,l1){for(let c1=0;c1<e1.length;c1+=1)e1[c1].m(s1,l1);insert$1(s1,r1,l1),o1=!0},p(s1,l1){l1[0]&1664&&(i1=s1[7],group_outros(),e1=update_keyed_each(e1,l1,a1,1,s1,i1,t1,r1.parentNode,outro_and_destroy_block,create_each_block$z,r1,get_each_context$z),check_outros())},i(s1){if(!o1){for(let l1=0;l1<i1.length;l1+=1)transition_in(e1[l1]);o1=!0}},o(s1){for(let l1=0;l1<e1.length;l1+=1)transition_out(e1[l1]);o1=!1},d(s1){for(let l1=0;l1<e1.length;l1+=1)e1[l1].d(s1);s1&&detach(r1)}}}function create_default_slot_1$1I(n1){let e1;return{c(){e1=element("div"),e1.textContent="There aren't any screens matching that route",attr(e1,"class","no-results svelte-1vqjoqt")},m(t1,r1){insert$1(t1,e1,r1)},p:noop$5,d(t1){t1&&detach(e1)}}}function create_default_slot$26(n1){let e1,t1,r1;return e1=new DropdownMenu({props:{screenId:n1[31]._id}}),{c(){create_component(e1.$$.fragment),t1=space$1()},m(o1,i1){mount_component(e1,o1,i1),insert$1(o1,t1,i1),r1=!0},p(o1,i1){const a1={};i1[0]&128&&(a1.screenId=o1[31]._id),e1.$set(a1)},i(o1){r1||(transition_in(e1.$$.fragment,o1),r1=!0)},o(o1){transition_out(e1.$$.fragment,o1),r1=!1},d(o1){destroy_component(e1,o1),o1&&detach(t1)}}}function create_icon_slot(n1){let e1,t1,r1,o1;return t1=new RoleIndicator({props:{roleId:n1[31].routing.roleId}}),{c(){e1=element("div"),create_component(t1.$$.fragment),r1=space$1(),attr(e1,"slot","icon"),attr(e1,"class","icon svelte-1vqjoqt")},m(i1,a1){insert$1(i1,e1,a1),mount_component(t1,e1,null),append$1(e1,r1),o1=!0},p(i1,a1){const s1={};a1[0]&128&&(s1.roleId=i1[31].routing.roleId),t1.$set(s1)},i(i1){o1||(transition_in(t1.$$.fragment,i1),o1=!0)},o(i1){transition_out(t1.$$.fragment,i1),o1=!1},d(i1){i1&&detach(e1),destroy_component(t1)}}}function create_each_block$z(n1,e1){let t1,r1,o1;function i1(){return e1[19](e1[31])}return r1=new NavItem({props:{icon:e1[31].routing.homeScreen?"Home":null,indentLevel:0,selected:e1[9].selectedScreenId===e1[31]._id,text:e1[31].routing.route,rightAlignIcon:!0,showTooltip:!0,selectedBy:e1[10][e1[31]._id],$$slots:{icon:[create_icon_slot],default:[create_default_slot$26]},$$scope:{ctx:e1}}}),r1.$on("click",i1),{key:n1,first:null,c(){t1=empty$1(),create_component(r1.$$.fragment),this.first=t1},m(a1,s1){insert$1(a1,t1,s1),mount_component(r1,a1,s1),o1=!0},p(a1,s1){e1=a1;const l1={};s1[0]&128&&(l1.icon=e1[31].routing.homeScreen?"Home":null),s1[0]&640&&(l1.selected=e1[9].selectedScreenId===e1[31]._id),s1[0]&128&&(l1.text=e1[31].routing.route),s1[0]&1152&&(l1.selectedBy=e1[10][e1[31]._id]),s1[0]&128|s1[1]&8&&(l1.$$scope={dirty:s1,ctx:e1}),r1.$set(l1)},i(a1){o1||(transition_in(r1.$$.fragment,a1),o1=!0)},o(a1){transition_out(r1.$$.fragment,a1),o1=!1},d(a1){a1&&detach(t1),destroy_component(r1,a1)}}}function create_fragment$34(n1){let e1,t1,r1,o1,i1,a1,s1,l1,c1,u1,f1,p1,d1,m1,_1,h1,g1,$1,y1,w1,S1,O1,C1;s1=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1l]},$$scope:{ctx:n1}}}),u1=new Icon({props:{size:"S",name:"Search"}}),d1=new Icon({props:{name:"Add"}});const M1=[create_if_block$1B,create_else_block$B],z1=[];function D1(H1,B1){var q1;return(q1=H1[7])!=null&&q1.length?0:1}return h1=D1(n1),g1=z1[h1]=M1[h1](n1),{c(){e1=element("div"),t1=element("div"),r1=element("input"),i1=space$1(),a1=element("div"),create_component(s1.$$.fragment),l1=space$1(),c1=element("div"),create_component(u1.$$.fragment),f1=space$1(),p1=element("div"),create_component(d1.$$.fragment),m1=space$1(),_1=element("div"),g1.c(),$1=space$1(),y1=element("div"),r1.readOnly=o1=!n1[1],attr(r1,"class","input svelte-1vqjoqt"),attr(r1,"placeholder","Search for screens"),attr(a1,"class","title svelte-1vqjoqt"),toggle_class(a1,"hide",n1[1]),attr(c1,"class","searchButton svelte-1vqjoqt"),toggle_class(c1,"hide",n1[1]),attr(p1,"class","addButton svelte-1vqjoqt"),toggle_class(p1,"closeButton",n1[1]),attr(t1,"class","header svelte-1vqjoqt"),toggle_class(t1,"scrolling",n1[6]),attr(_1,"class","content svelte-1vqjoqt"),attr(y1,"class","divider svelte-1vqjoqt"),attr(e1,"class","screens svelte-1vqjoqt"),attr(e1,"style",w1=`height:${n1[8]};`),toggle_class(e1,"search",n1[1]),toggle_class(e1,"resizing",n1[2])},m(H1,B1){insert$1(H1,e1,B1),append$1(e1,t1),append$1(t1,r1),set_input_value(r1,n1[0]),n1[18](r1),append$1(t1,i1),append$1(t1,a1),mount_component(s1,a1,null),append$1(t1,l1),append$1(t1,c1),mount_component(u1,c1,null),append$1(t1,f1),append$1(t1,p1),mount_component(d1,p1,null),append$1(e1,m1),append$1(e1,_1),z1[h1].m(_1,null),n1[20](_1),append$1(e1,$1),append$1(e1,y1),n1[22](e1),S1=!0,O1||(C1=[listen(window,"keydown",n1[13]),listen(r1,"input",n1[17]),listen(c1,"click",n1[11]),listen(p1,"click",n1[12]),listen(_1,"scroll",n1[14]),listen(y1,"mousedown",n1[15]),listen(y1,"dblclick",n1[21])],O1=!0)},p(H1,B1){(!S1||B1[0]&2&&o1!==(o1=!H1[1]))&&(r1.readOnly=o1),B1[0]&1&&r1.value!==H1[0]&&set_input_value(r1,H1[0]);const q1={};B1[1]&8&&(q1.$$scope={dirty:B1,ctx:H1}),s1.$set(q1),(!S1||B1[0]&2)&&toggle_class(a1,"hide",H1[1]),(!S1||B1[0]&2)&&toggle_class(c1,"hide",H1[1]),(!S1||B1[0]&2)&&toggle_class(p1,"closeButton",H1[1]),(!S1||B1[0]&64)&&toggle_class(t1,"scrolling",H1[6]);let R1=h1;h1=D1(H1),h1===R1?z1[h1].p(H1,B1):(group_outros(),transition_out(z1[R1],1,1,()=>{z1[R1]=null}),check_outros(),g1=z1[h1],g1?g1.p(H1,B1):(g1=z1[h1]=M1[h1](H1),g1.c()),transition_in(g1,1),g1.m(_1,null)),(!S1||B1[0]&256&&w1!==(w1=`height:${H1[8]};`))&&attr(e1,"style",w1),(!S1||B1[0]&2)&&toggle_class(e1,"search",H1[1]),(!S1||B1[0]&4)&&toggle_class(e1,"resizing",H1[2])},i(H1){S1||(transition_in(s1.$$.fragment,H1),transition_in(u1.$$.fragment,H1),transition_in(d1.$$.fragment,H1),transition_in(g1),S1=!0)},o(H1){transition_out(s1.$$.fragment,H1),transition_out(u1.$$.fragment,H1),transition_out(d1.$$.fragment,H1),transition_out(g1),S1=!1},d(H1){H1&&detach(e1),n1[18](null),destroy_component(s1),destroy_component(u1),destroy_component(d1),z1[h1].d(),n1[20](null),n1[22](null),O1=!1,run_all(C1)}}}function instance$37(n1,e1,t1){let r1,o1,i1,a1,s1,l1;component_subscribe(n1,screensHeight,X1=>t1(8,o1=X1)),component_subscribe(n1,goto,X1=>t1(25,i1=X1)),component_subscribe(n1,sortedScreens,X1=>t1(16,a1=X1)),component_subscribe(n1,store,X1=>t1(9,s1=X1)),component_subscribe(n1,userSelectedResourceMap,X1=>t1(10,l1=X1));let c1=!1,u1=!1,f1="",p1,d1,m1,_1=!1,h1=null,g1;const $1=X1=>new Promise(Y1=>setTimeout(Y1,X1)),y1=async()=>{t1(1,c1=!0),await tick(),p1.focus(),m1.scroll({top:0,behavior:"smooth"}),h1=o1,set_store_value(screensHeight,o1="calc(100% + 1px)",o1)},w1=async()=>{h1&&(set_store_value(screensHeight,o1=h1,o1),h1=null,await $1(300)),t1(1,c1=!1),t1(0,f1="")},S1=(X1,Y1)=>X1.filter(Q1=>!Y1||Q1.routing.route.includes(Y1)),O1=()=>{c1?w1():i1("../new")},C1=X1=>{X1.key==="Escape"&&w1()},M1=X1=>{t1(6,_1=X1.target.scrollTop!==0)},z1=X1=>{set_store_value(screensHeight,o1=`${d1.getBoundingClientRect().height}px`,o1),g1=parseInt(o1)-X1.clientY,t1(2,u1=!0),document.addEventListener("mousemove",D1),document.addEventListener("mouseup",H1)},D1=X1=>{const Y1=Math.max(0,X1.clientY+g1);Y1==null||isNaN(Y1)||set_store_value(screensHeight,o1=`${Y1}px`,o1)},H1=()=>{t1(2,u1=!1),document.removeEventListener("mousemove",D1)};onMount(()=>{(o1==null||isNaN(parseInt(o1)))&&set_store_value(screensHeight,o1="210px",o1)});function B1(){f1=this.value,t1(0,f1)}function q1(X1){binding_callbacks[X1?"unshift":"push"](()=>{p1=X1,t1(3,p1)})}const R1=X1=>store.actions.screens.select(X1._id);function I1(X1){binding_callbacks[X1?"unshift":"push"](()=>{m1=X1,t1(5,m1)})}const F1=()=>screensHeight.set("210px");function j1(X1){binding_callbacks[X1?"unshift":"push"](()=>{d1=X1,t1(4,d1)})}return n1.$$.update=()=>{n1.$$.dirty[0]&65537&&t1(7,r1=S1(a1,f1))},[f1,c1,u1,p1,d1,m1,_1,r1,o1,s1,l1,y1,O1,C1,M1,z1,a1,B1,q1,R1,I1,F1,j1]}class ScreenList extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$37,create_fragment$34,safe_not_equal,{},null,[-1,-1])}}const ComponentDropdownMenu_svelte_svelte_type_style_lang="";function create_default_slot_8$n(n1){let e1;return{c(){e1=text("Delete")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_if_block$1A(n1){let e1,t1;return e1=new Item({props:{icon:"Export",keyBind:"Ctrl+E",$$slots:{default:[create_default_slot_7$z]},$$scope:{ctx:n1}}}),e1.$on("click",n1[7]),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&16384&&(i1.$$scope={dirty:o1,ctx:r1}),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_default_slot_7$z(n1){let e1;return{c(){e1=text("Eject block")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_6$F(n1){let e1;return{c(){e1=text("Move up")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_5$M(n1){let e1;return{c(){e1=text("Move down")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_4$V(n1){let e1;return{c(){e1=text("Duplicate")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_3$15(n1){let e1;return{c(){e1=text("Cut")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_2$1k(n1){let e1;return{c(){e1=text("Copy")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_1$1H(n1){let e1;return{c(){e1=text("Paste")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot$25(n1){let e1,t1,r1,o1,i1,a1,s1,l1,c1,u1,f1,p1,d1,m1,_1;e1=new Item({props:{icon:"Delete",keyBind:"!BackAndroid",$$slots:{default:[create_default_slot_8$n]},$$scope:{ctx:n1}}}),e1.$on("click",n1[6]);let h1=n1[0]&&create_if_block$1A(n1);return o1=new Item({props:{icon:"ChevronUp",keyBind:"Ctrl+!ArrowUp",$$slots:{default:[create_default_slot_6$F]},$$scope:{ctx:n1}}}),o1.$on("click",n1[8]),a1=new Item({props:{icon:"ChevronDown",keyBind:"Ctrl+!ArrowDown",$$slots:{default:[create_default_slot_5$M]},$$scope:{ctx:n1}}}),a1.$on("click",n1[9]),l1=new Item({props:{icon:"Duplicate",keyBind:"Ctrl+D",$$slots:{default:[create_default_slot_4$V]},$$scope:{ctx:n1}}}),l1.$on("click",n1[10]),u1=new Item({props:{icon:"Cut",keyBind:"Ctrl+X",$$slots:{default:[create_default_slot_3$15]},$$scope:{ctx:n1}}}),u1.$on("click",n1[11]),p1=new Item({props:{icon:"Copy",keyBind:"Ctrl+C",$$slots:{default:[create_default_slot_2$1k]},$$scope:{ctx:n1}}}),p1.$on("click",n1[12]),m1=new Item({props:{icon:"LayersSendToBack",keyBind:"Ctrl+V",disabled:n1[1],$$slots:{default:[create_default_slot_1$1H]},$$scope:{ctx:n1}}}),m1.$on("click",n1[13]),{c(){create_component(e1.$$.fragment),t1=space$1(),h1&&h1.c(),r1=space$1(),create_component(o1.$$.fragment),i1=space$1(),create_component(a1.$$.fragment),s1=space$1(),create_component(l1.$$.fragment),c1=space$1(),create_component(u1.$$.fragment),f1=space$1(),create_component(p1.$$.fragment),d1=space$1(),create_component(m1.$$.fragment)},m(g1,$1){mount_component(e1,g1,$1),insert$1(g1,t1,$1),h1&&h1.m(g1,$1),insert$1(g1,r1,$1),mount_component(o1,g1,$1),insert$1(g1,i1,$1),mount_component(a1,g1,$1),insert$1(g1,s1,$1),mount_component(l1,g1,$1),insert$1(g1,c1,$1),mount_component(u1,g1,$1),insert$1(g1,f1,$1),mount_component(p1,g1,$1),insert$1(g1,d1,$1),mount_component(m1,g1,$1),_1=!0},p(g1,$1){const y1={};$1&16384&&(y1.$$scope={dirty:$1,ctx:g1}),e1.$set(y1),g1[0]?h1?(h1.p(g1,$1),$1&1&&transition_in(h1,1)):(h1=create_if_block$1A(g1),h1.c(),transition_in(h1,1),h1.m(r1.parentNode,r1)):h1&&(group_outros(),transition_out(h1,1,1,()=>{h1=null}),check_outros());const w1={};$1&16384&&(w1.$$scope={dirty:$1,ctx:g1}),o1.$set(w1);const S1={};$1&16384&&(S1.$$scope={dirty:$1,ctx:g1}),a1.$set(S1);const O1={};$1&16384&&(O1.$$scope={dirty:$1,ctx:g1}),l1.$set(O1);const C1={};$1&16384&&(C1.$$scope={dirty:$1,ctx:g1}),u1.$set(C1);const M1={};$1&16384&&(M1.$$scope={dirty:$1,ctx:g1}),p1.$set(M1);const z1={};$1&2&&(z1.disabled=g1[1]),$1&16384&&(z1.$$scope={dirty:$1,ctx:g1}),m1.$set(z1)},i(g1){_1||(transition_in(e1.$$.fragment,g1),transition_in(h1),transition_in(o1.$$.fragment,g1),transition_in(a1.$$.fragment,g1),transition_in(l1.$$.fragment,g1),transition_in(u1.$$.fragment,g1),transition_in(p1.$$.fragment,g1),transition_in(m1.$$.fragment,g1),_1=!0)},o(g1){transition_out(e1.$$.fragment,g1),transition_out(h1),transition_out(o1.$$.fragment,g1),transition_out(a1.$$.fragment,g1),transition_out(l1.$$.fragment,g1),transition_out(u1.$$.fragment,g1),transition_out(p1.$$.fragment,g1),transition_out(m1.$$.fragment,g1),_1=!1},d(g1){destroy_component(e1,g1),g1&&detach(t1),h1&&h1.d(g1),g1&&detach(r1),destroy_component(o1,g1),g1&&detach(i1),destroy_component(a1,g1),g1&&detach(s1),destroy_component(l1,g1),g1&&detach(c1),destroy_component(u1,g1),g1&&detach(f1),destroy_component(p1,g1),g1&&detach(d1),destroy_component(m1,g1)}}}function create_control_slot$7(n1){let e1,t1,r1;return t1=new Icon({props:{size:"S",hoverable:!0,name:"MoreSmallList"}}),{c(){e1=element("div"),create_component(t1.$$.fragment),attr(e1,"slot","control"),attr(e1,"class","icon svelte-u6s22l")},m(o1,i1){insert$1(o1,e1,i1),mount_component(t1,e1,null),r1=!0},p:noop$5,i(o1){r1||(transition_in(t1.$$.fragment,o1),r1=!0)},o(o1){transition_out(t1.$$.fragment,o1),r1=!1},d(o1){o1&&detach(e1),destroy_component(t1)}}}function create_fragment$33(n1){let e1,t1;return e1=new ActionMenu({props:{$$slots:{control:[create_control_slot$7],default:[create_default_slot$25]},$$scope:{ctx:n1}}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,[o1]){const i1={};o1&16387&&(i1.$$scope={dirty:o1,ctx:r1}),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function instance$36(n1,e1,t1){let r1,o1,i1,a1;component_subscribe(n1,store,g1=>t1(5,a1=g1));let{component:s1}=e1;const l1=(g1,$1=!1)=>{document.dispatchEvent(new CustomEvent("component-menu",{detail:{key:g1,ctrlKey:$1,id:s1==null?void 0:s1._id}}))},c1=()=>l1("Delete"),u1=()=>l1("e",!0),f1=()=>l1("ArrowUp",!0),p1=()=>l1("ArrowDown",!0),d1=()=>l1("d",!0),m1=()=>l1("x",!0),_1=()=>l1("c",!0),h1=()=>l1("v",!0);return n1.$$set=g1=>{"component"in g1&&t1(3,s1=g1.component)},n1.$$.update=()=>{n1.$$.dirty&8&&t1(4,r1=store.actions.components.getDefinition(s1==null?void 0:s1._component)),n1.$$.dirty&32&&t1(1,o1=!a1.componentToPaste),n1.$$.dirty&16&&t1(0,i1=(r1==null?void 0:r1.block)===!0)},[i1,o1,l1,s1,r1,a1,c1,u1,f1,p1,d1,m1,_1,h1]}class ComponentDropdownMenu extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$36,create_fragment$33,safe_not_equal,{component:3})}}const DropPosition={ABOVE:"above",BELOW:"below",INSIDE:"inside"},initialState={source:null,target:null,targetParent:null,dropPosition:null,dragging:!1,valid:!1},createDNDStore=()=>{const n1=writable(initialState),e1={dragstart:t1=>{!t1||n1.set({source:t1,target:null,dropPosition:null,dragging:!0,valid:!1})},dragover:({component:t1,mousePosition:r1})=>{var f1,p1;const o1=store.actions.components.getDefinition(t1._component),i1=o1==null?void 0:o1.hasChildren,a1=((f1=t1._children)==null?void 0:f1.length)>0;let s1,l1,c1;i1?r1<=.33?s1=DropPosition.ABOVE:r1>=.66?s1=DropPosition.BELOW:s1=DropPosition.INSIDE:s1=r1>.5?DropPosition.BELOW:DropPosition.ABOVE,s1===DropPosition.BELOW&&a1?(l1=t1._children[0],s1=DropPosition.ABOVE):l1=t1;const u1=get_store_value(n1);s1===u1.dropPosition&&(l1==null?void 0:l1._id)===((p1=u1.target)==null?void 0:p1._id)||(l1&&(c1=findComponentParent(get_store_value(selectedScreen).props,l1._id)),n1.update(d1=>{var m1;return{...d1,dropPosition:s1,target:l1,targetParent:c1,valid:((m1=findComponentPath(d1.source,l1._id))==null?void 0:m1.length)===0}}))},reset:()=>{n1.set(initialState)},drop:async()=>{const t1=get_store_value(n1);!t1.valid||!t1.source||!t1.target||(e1.reset(),store.actions.components.copy(t1.source,!0,!1),await store.actions.components.paste(t1.target,t1.dropPosition))}};return{subscribe:n1.subscribe,actions:e1}},dndStore=createDNDStore(),ComponentTree_svelte_svelte_type_style_lang="";function get_each_context$y(n1,e1,t1){const r1=n1.slice();r1[20]=e1[t1],r1[23]=t1;const o1=r1[12](r1[20],r1[4],r1[2]);return r1[21]=o1,r1}function create_default_slot$24(n1){let e1,t1;return e1=new ComponentDropdownMenu({props:{component:n1[20]}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&8&&(i1.component=r1[20]),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_if_block$1z(n1){let e1,t1;return e1=new ComponentTree({props:{components:n1[20]._children,dndStore,level:n1[0]+1}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&8&&(i1.components=r1[20]._children),o1&1&&(i1.level=r1[0]+1),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_each_block$y(n1,e1){let t1,r1,o1,i1,a1,s1,l1,c1;function u1(){return e1[15](e1[20])}function f1(){return e1[16](e1[20])}r1=new NavItem({props:{compact:!0,scrollable:!0,draggable:!0,text:e1[7](e1[20]),icon:e1[8](e1[20]),withArrow:e1[9](e1[20]),indentLevel:e1[0],selected:e1[1].selectedComponentId===e1[20]._id,opened:e1[21],highlighted:e1[13](e1[20]),selectedBy:e1[5][e1[20]._id],$$slots:{default:[create_default_slot$24]},$$scope:{ctx:e1}}}),r1.$on("dragend",dndStore.actions.reset),r1.$on("dragstart",u1),r1.$on("dragover",function(){is_function(e1[6](e1[20],e1[23]))&&e1[6](e1[20],e1[23]).apply(this,arguments)}),r1.$on("iconClick",f1),r1.$on("drop",e1[11]);let p1=e1[21]&&create_if_block$1z(e1);function d1(){return e1[17](e1[20])}return{key:n1,first:null,c(){t1=element("li"),create_component(r1.$$.fragment),o1=space$1(),p1&&p1.c(),i1=space$1(),attr(t1,"id",a1=`component-${e1[20]._id}`),attr(t1,"class","svelte-kv7hxn"),this.first=t1},m(m1,_1){insert$1(m1,t1,_1),mount_component(r1,t1,null),append$1(t1,o1),p1&&p1.m(t1,null),append$1(t1,i1),s1=!0,l1||(c1=listen(t1,"click",stop_propagation(d1)),l1=!0)},p(m1,_1){e1=m1;const h1={};_1&8&&(h1.text=e1[7](e1[20])),_1&8&&(h1.icon=e1[8](e1[20])),_1&8&&(h1.withArrow=e1[9](e1[20])),_1&1&&(h1.indentLevel=e1[0]),_1&10&&(h1.selected=e1[1].selectedComponentId===e1[20]._id),_1&28&&(h1.opened=e1[21]),_1&8&&(h1.highlighted=e1[13](e1[20])),_1&40&&(h1.selectedBy=e1[5][e1[20]._id]),_1&16777224&&(h1.$$scope={dirty:_1,ctx:e1}),r1.$set(h1),e1[21]?p1?(p1.p(e1,_1),_1&28&&transition_in(p1,1)):(p1=create_if_block$1z(e1),p1.c(),transition_in(p1,1),p1.m(t1,i1)):p1&&(group_outros(),transition_out(p1,1,1,()=>{p1=null}),check_outros()),(!s1||_1&8&&a1!==(a1=`component-${e1[20]._id}`))&&attr(t1,"id",a1)},i(m1){s1||(transition_in(r1.$$.fragment,m1),transition_in(p1),s1=!0)},o(m1){transition_out(r1.$$.fragment,m1),transition_out(p1),s1=!1},d(m1){m1&&detach(t1),destroy_component(r1),p1&&p1.d(),l1=!1,c1()}}}function create_fragment$32(n1){let e1,t1=[],r1=new Map,o1,i1=n1[3]||[];const a1=s1=>s1[20]._id;for(let s1=0;s1<i1.length;s1+=1){let l1=get_each_context$y(n1,i1,s1),c1=a1(l1);r1.set(c1,t1[s1]=create_each_block$y(c1,l1))}return{c(){e1=element("ul");for(let s1=0;s1<t1.length;s1+=1)t1[s1].c();attr(e1,"class","svelte-kv7hxn")},m(s1,l1){insert$1(s1,e1,l1);for(let c1=0;c1<t1.length;c1+=1)t1[c1].m(e1,null);o1=!0},p(s1,[l1]){l1&16383&&(i1=s1[3]||[],group_outros(),t1=update_keyed_each(t1,l1,a1,1,s1,i1,r1,e1,outro_and_destroy_block,create_each_block$y,null,get_each_context$y),check_outros())},i(s1){if(!o1){for(let l1=0;l1<i1.length;l1+=1)transition_in(t1[l1]);o1=!0}},o(s1){for(let l1=0;l1<t1.length;l1+=1)transition_out(t1[l1]);o1=!1},d(s1){s1&&detach(e1);for(let l1=0;l1<t1.length;l1+=1)t1[l1].d()}}}function instance$35(n1,e1,t1){let r1,o1,i1,a1,s1;component_subscribe(n1,selectedComponent,C1=>t1(18,o1=C1)),component_subscribe(n1,store,C1=>t1(1,i1=C1)),component_subscribe(n1,selectedComponentPath,C1=>t1(4,a1=C1)),component_subscribe(n1,userSelectedResourceMap,C1=>t1(5,s1=C1));let{components:l1=[]}=e1,{level:c1=0}=e1,u1={};const f1=(C1,M1)=>z1=>{const D1=z1.offsetY/z1.currentTarget.offsetHeight;return dndStore.actions.dragover({component:C1,index:M1,mousePosition:D1}),!1},p1=C1=>{if(C1._instanceName)return C1._instanceName;const M1=C1._component.replace("@budibase/standard-components/","")||"component";return capitalise(M1)},d1=C1=>{const M1=store.actions.components.getDefinition(C1==null?void 0:C1._component);return M1==null?void 0:M1.icon},m1=C1=>{const M1=store.actions.components.getDefinition(C1==null?void 0:C1._component);return M1==null?void 0:M1.hasChildren},_1=C1=>{var M1;return m1(C1)&&((M1=C1._children)==null?void 0:M1.length)};function h1(C1){u1[C1]?delete u1[C1]:t1(2,u1[C1]=!0,u1),t1(2,u1)}const g1=async C1=>{C1.stopPropagation();try{await dndStore.actions.drop()}catch(M1){notifications.error(M1||"Error saving component")}},$1=(C1,M1,z1)=>{var D1;return(D1=C1==null?void 0:C1._children)!=null&&D1.length?M1.includes(C1._id)?!0:!z1[C1._id]:!1},y1=C1=>{var D1,H1,B1;const M1=(D1=get_store_value(selectedComponent))==null?void 0:D1._id,z1=(H1=get_store_value(selectedScreen))==null?void 0:H1.props._id;return!M1||M1===z1?!1:((B1=findComponentPath(o1,C1._id))==null?void 0:B1.length)>0},w1=C1=>dndStore.actions.dragstart(C1),S1=C1=>h1(C1._id),O1=C1=>{set_store_value(store,i1.selectedComponentId=C1._id,i1)};return n1.$$set=C1=>{"components"in C1&&t1(14,l1=C1.components),"level"in C1&&t1(0,c1=C1.level)},n1.$$.update=()=>{n1.$$.dirty&16386&&t1(3,r1=l1==null?void 0:l1.filter(C1=>{var M1,z1;return!((M1=i1.componentToPaste)!=null&&M1.isCut)||C1._id!==((z1=i1.componentToPaste)==null?void 0:z1._id)}))},[c1,i1,u1,r1,a1,s1,f1,p1,d1,_1,h1,g1,$1,y1,l1,w1,S1,O1]}class ComponentTree extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$35,create_fragment$32,safe_not_equal,{components:14,level:0})}}const ScreenslotDropdownMenu_svelte_svelte_type_style_lang="";function create_if_block$1y(n1){let e1,t1;return e1=new ActionMenu({props:{$$slots:{control:[create_control_slot$6],default:[create_default_slot$23]},$$scope:{ctx:n1}}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&514&&(i1.$$scope={dirty:o1,ctx:r1}),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_default_slot_2$1j(n1){let e1;return{c(){e1=text("Copy")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_1$1G(n1){let e1;return{c(){e1=text("Paste")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot$23(n1){let e1,t1,r1,o1;return e1=new Item({props:{icon:"Copy",keyBind:"Ctrl+C",$$slots:{default:[create_default_slot_2$1j]},$$scope:{ctx:n1}}}),e1.$on("click",n1[7]),r1=new Item({props:{icon:"LayersSendToBack",keyBind:"Ctrl+V",disabled:n1[1],$$slots:{default:[create_default_slot_1$1G]},$$scope:{ctx:n1}}}),r1.$on("click",n1[8]),{c(){create_component(e1.$$.fragment),t1=space$1(),create_component(r1.$$.fragment)},m(i1,a1){mount_component(e1,i1,a1),insert$1(i1,t1,a1),mount_component(r1,i1,a1),o1=!0},p(i1,a1){const s1={};a1&512&&(s1.$$scope={dirty:a1,ctx:i1}),e1.$set(s1);const l1={};a1&2&&(l1.disabled=i1[1]),a1&512&&(l1.$$scope={dirty:a1,ctx:i1}),r1.$set(l1)},i(i1){o1||(transition_in(e1.$$.fragment,i1),transition_in(r1.$$.fragment,i1),o1=!0)},o(i1){transition_out(e1.$$.fragment,i1),transition_out(r1.$$.fragment,i1),o1=!1},d(i1){destroy_component(e1,i1),i1&&detach(t1),destroy_component(r1,i1)}}}function create_control_slot$6(n1){let e1,t1,r1;return t1=new Icon({props:{size:"S",hoverable:!0,name:"MoreSmallList"}}),{c(){e1=element("div"),create_component(t1.$$.fragment),attr(e1,"slot","control"),attr(e1,"class","icon svelte-u6s22l")},m(o1,i1){insert$1(o1,e1,i1),mount_component(t1,e1,null),r1=!0},p:noop$5,i(o1){r1||(transition_in(t1.$$.fragment,o1),r1=!0)},o(o1){transition_out(t1.$$.fragment,o1),r1=!1},d(o1){o1&&detach(e1),destroy_component(t1)}}}function create_fragment$31(n1){let e1,t1,r1=n1[0]&&create_if_block$1y(n1);return{c(){r1&&r1.c(),e1=empty$1()},m(o1,i1){r1&&r1.m(o1,i1),insert$1(o1,e1,i1),t1=!0},p(o1,[i1]){o1[0]?r1?(r1.p(o1,i1),i1&1&&transition_in(r1,1)):(r1=create_if_block$1y(o1),r1.c(),transition_in(r1,1),r1.m(e1.parentNode,e1)):r1&&(group_outros(),transition_out(r1,1,1,()=>{r1=null}),check_outros())},i(o1){t1||(transition_in(r1),t1=!0)},o(o1){transition_out(r1),t1=!1},d(o1){r1&&r1.d(o1),o1&&detach(e1)}}}function instance$34(n1,e1,t1){let r1,o1,i1,a1;component_subscribe(n1,store,p1=>t1(6,a1=p1));let{component:s1}=e1;const l1=(p1=!1)=>{store.actions.components.copy(s1,p1)},c1=p1=>{try{store.actions.components.paste(s1,p1)}catch{notifications.error("Error saving component")}},u1=()=>l1(!1),f1=()=>c1("inside");return n1.$$set=p1=>{"component"in p1&&t1(4,s1=p1.component)},n1.$$.update=()=>{n1.$$.dirty&16&&t1(5,r1=store.actions.components.getDefinition(s1==null?void 0:s1._component)),n1.$$.dirty&64&&t1(1,o1=!a1.componentToPaste),n1.$$.dirty&32&&t1(0,i1=(r1==null?void 0:r1.editable)!==!1&&(r1==null?void 0:r1.static)!==!0)},[i1,o1,l1,c1,s1,r1,a1,u1,f1]}class ScreenslotDropdownMenu extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$34,create_fragment$31,safe_not_equal,{component:4})}}const DNDPositionIndicator_svelte_svelte_type_style_lang="";function create_if_block$1x(n1){let e1,t1;return{c(){e1=element("div"),attr(e1,"class","indicator svelte-9uy3y5"),set_style(e1,"--x",n1[2]+"px"),set_style(e1,"--y",n1[3]+"px"),set_style(e1,"--width",n1[4]+"px"),set_style(e1,"--height",n1[5]+"px"),toggle_class(e1,"above",n1[1]===DropPosition.ABOVE),toggle_class(e1,"below",n1[1]===DropPosition.BELOW),toggle_class(e1,"inside",n1[1]===DropPosition.INSIDE)},m(r1,o1){insert$1(r1,e1,o1)},p(r1,o1){o1&4&&set_style(e1,"--x",r1[2]+"px"),o1&8&&set_style(e1,"--y",r1[3]+"px"),o1&16&&set_style(e1,"--width",r1[4]+"px"),o1&32&&set_style(e1,"--height",r1[5]+"px"),o1&2&&toggle_class(e1,"above",r1[1]===DropPosition.ABOVE),o1&2&&toggle_class(e1,"below",r1[1]===DropPosition.BELOW),o1&2&&toggle_class(e1,"inside",r1[1]===DropPosition.INSIDE)},i(r1){t1||add_render_callback(()=>{t1=create_in_transition(e1,fade,{duration:130}),t1.start()})},o:noop$5,d(r1){r1&&detach(e1)}}}function create_fragment$30(n1){let e1,t1=n1[0]&&n1[1]&&create_if_block$1x(n1);return{c(){t1&&t1.c(),e1=empty$1()},m(r1,o1){t1&&t1.m(r1,o1),insert$1(r1,e1,o1)},p(r1,[o1]){r1[0]&&r1[1]?t1?(t1.p(r1,o1),o1&3&&transition_in(t1,1)):(t1=create_if_block$1x(r1),t1.c(),transition_in(t1,1),t1.m(e1.parentNode,e1)):t1&&(t1.d(1),t1=null)},i(r1){transition_in(t1)},o:noop$5,d(r1){t1&&t1.d(r1),r1&&detach(e1)}}}function instance$33(n1,e1,t1){let{component:r1}=e1,{position:o1}=e1,i1,a1,s1,l1;const c1=u1=>{var d1;const f1=document.getElementById(`component-${u1==null?void 0:u1._id}`),p1=(d1=f1==null?void 0:f1.children[0])==null?void 0:d1.children[0];!f1||(t1(2,i1=p1.offsetLeft),t1(3,a1=p1.offsetTop),t1(4,s1=p1.clientWidth),t1(5,l1=p1.clientHeight))};return n1.$$set=u1=>{"component"in u1&&t1(0,r1=u1.component),"position"in u1&&t1(1,o1=u1.position)},n1.$$.update=()=>{n1.$$.dirty&1&&c1(r1)},[r1,o1,i1,a1,s1,l1]}class DNDPositionIndicator extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$33,create_fragment$30,safe_not_equal,{component:0,position:1})}}function create_fragment$2$(n1){var s1,l1;let e1,t1,r1,o1,i1={title:"Confirm Deletion",body:`Are you sure you want to delete "${(s1=n1[2])==null?void 0:s1._instanceName}"?`,okText:"Delete Component",onOk:n1[4]};e1=new ConfirmDialog({props:i1}),n1[5](e1);let a1={title:"Eject block",body:`Ejecting a block breaks it down into multiple components and cannot be undone. Are you sure you want to eject "${(l1=n1[3])==null?void 0:l1._instanceName}"?`,onOk:n1[6],okText:"Eject block"};return r1=new ConfirmDialog({props:a1}),n1[7](r1),{c(){create_component(e1.$$.fragment),t1=space$1(),create_component(r1.$$.fragment)},m(c1,u1){mount_component(e1,c1,u1),insert$1(c1,t1,u1),mount_component(r1,c1,u1),o1=!0},p(c1,[u1]){var d1,m1;const f1={};u1&4&&(f1.body=`Are you sure you want to delete "${(d1=c1[2])==null?void 0:d1._instanceName}"?`),u1&4&&(f1.onOk=c1[4]),e1.$set(f1);const p1={};u1&8&&(p1.body=`Ejecting a block breaks it down into multiple components and cannot be undone. Are you sure you want to eject "${(m1=c1[3])==null?void 0:m1._instanceName}"?`),u1&8&&(p1.onOk=c1[6]),r1.$set(p1)},i(c1){o1||(transition_in(e1.$$.fragment,c1),transition_in(r1.$$.fragment,c1),o1=!0)},o(c1){transition_out(e1.$$.fragment,c1),transition_out(r1.$$.fragment,c1),o1=!1},d(c1){n1[5](null),destroy_component(e1,c1),c1&&detach(t1),n1[7](null),destroy_component(r1,c1)}}}function instance$32(n1,e1,t1){let r1,o1,i1,a1,s1;component_subscribe(n1,selectedScreen,w1=>t1(8,r1=w1)),component_subscribe(n1,selectedComponent,w1=>t1(9,o1=w1)),component_subscribe(n1,store,w1=>t1(10,i1=w1)),component_subscribe(n1,goto,w1=>t1(11,a1=w1)),component_subscribe(n1,isActive,w1=>t1(12,s1=w1));let l1,c1,u1,f1;const p1={["Ctrl+ArrowUp"]:async w1=>{await store.actions.components.moveUp(w1)},["Ctrl+ArrowDown"]:async w1=>{await store.actions.components.moveDown(w1)},["Ctrl+c"]:w1=>{store.actions.components.copy(w1,!1)},["Ctrl+x"]:w1=>{store.actions.components.copy(w1,!0)},["Ctrl+v"]:async w1=>{await store.actions.components.paste(w1,"inside")},["Ctrl+d"]:async w1=>{store.actions.components.copy(w1),await store.actions.components.paste(w1,"below")},["Ctrl+e"]:w1=>{t1(3,f1=w1),c1.show()},["Ctrl+Enter"]:()=>{a1("./:componentId/new")},Delete:w1=>{if((w1==null?void 0:w1._id)===r1.props._id)return!1;t1(2,u1=w1),l1.show()},ArrowUp:()=>{store.actions.components.selectPrevious()},ArrowDown:()=>{store.actions.components.selectNext()},Escape:()=>{s1("./:componentId/new")&&a1(`./${i1.selectedComponentId}`)}},d1=async({event:w1,component:S1,key:O1,ctrlKey:C1=!1,shiftKey:M1=!1})=>{if(!S1||!O1)return!1;try{O1==="Backspace"&&(O1="Delete"),M1&&(O1="Shift+"+O1),C1&&(O1="Ctrl+"+O1);const z1=p1[O1];return z1?(w1&&O1!=="Escape"&&(w1.preventDefault(),w1.stopPropagation()),await z1(S1)):!1}catch(z1){notifications.error(z1||"Error handling key press")}},m1=async w1=>{var C1,M1,z1;if(w1.repeat)return;const S1=(C1=document.activeElement)==null?void 0:C1.tagName.toLowerCase();if(!((((z1=(M1=document.activeElement)==null?void 0:M1.classList)==null?void 0:z1.contains("cm-content"))||["input","textarea"].indexOf(S1)!==-1)&&w1.key!=="Escape"))return await d1({event:w1,component:o1,key:w1.key,ctrlKey:w1.ctrlKey||w1.metaKey,shiftKey:w1.shiftKey})},_1=async w1=>{const{id:S1,key:O1,ctrlKey:C1,shiftKey:M1}=w1.detail,z1=findComponent(r1.props,S1);return await d1({event:null,component:z1,key:O1,ctrlKey:C1,shiftKey:M1})};onMount(()=>(document.addEventListener("keydown",m1),document.addEventListener("component-menu",_1),()=>{document.removeEventListener("keydown",m1),document.removeEventListener("component-menu",_1)}));const h1=()=>store.actions.components.delete(u1);function g1(w1){binding_callbacks[w1?"unshift":"push"](()=>{l1=w1,t1(0,l1)})}const $1=()=>store.actions.components.requestEjectBlock(f1==null?void 0:f1._id);function y1(w1){binding_callbacks[w1?"unshift":"push"](()=>{c1=w1,t1(1,c1)})}return[l1,c1,u1,f1,h1,g1,$1,y1]}class ComponentKeyHandler extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$32,create_fragment$2$,safe_not_equal,{})}}const ComponentScrollWrapper_svelte_svelte_type_style_lang="";function create_fragment$2_(n1){let e1,t1,r1,o1;const i1=n1[3].default,a1=create_slot(i1,n1,n1[2],null);return{c(){e1=element("div"),a1&&a1.c(),attr(e1,"ondragover","return false"),attr(e1,"ondragenter","return false"),attr(e1,"class","svelte-i1q9g5")},m(s1,l1){insert$1(s1,e1,l1),a1&&a1.m(e1,null),n1[5](e1),t1=!0,r1||(o1=[listen(e1,"scroll",n1[4]),listen(e1,"drop",n1[1])],r1=!0)},p(s1,[l1]){a1&&a1.p&&(!t1||l1&4)&&update_slot_base(a1,i1,s1,s1[2],t1?get_slot_changes(i1,s1[2],l1,null):get_all_dirty_from_scope(s1[2]),null)},i(s1){t1||(transition_in(a1,s1),t1=!0)},o(s1){transition_out(a1,s1),t1=!1},d(s1){s1&&detach(e1),a1&&a1.d(s1),n1[5](null),r1=!1,run_all(o1)}}}function instance$31(n1,e1,t1){let{$$slots:r1={},$$scope:o1}=e1,i1;setContext("scroll",{scrollTo:u1=>{if(!u1)return;const f1=310,p1=32,{scrollLeft:d1,scrollTop:m1,offsetHeight:_1}=i1;let h1=i1.getBoundingClientRect(),g1={};const $1=u1.left+u1.width+d1+16;$1>f1?g1.left=$1-f1:g1.left=0,g1.left===d1&&delete g1.left;const y1=u1.top-(h1==null?void 0:h1.top)+m1;y1>m1+_1-2*p1?g1.top=y1-_1+2*p1:y1<m1+p1?g1.top=y1-p1:delete g1.top,!(g1.left==null&&g1.top==null)&&i1.scroll({...g1,behavior:"smooth"})}});const s1=async()=>{try{await dndStore.actions.drop()}catch(u1){console.error(u1),notifications.error("Error saving component")}};function l1(u1){bubble.call(this,n1,u1)}function c1(u1){binding_callbacks[u1?"unshift":"push"](()=>{i1=u1,t1(0,i1)})}return n1.$$set=u1=>{"$$scope"in u1&&t1(2,o1=u1.$$scope)},[i1,s1,o1,r1,l1,c1]}class ComponentScrollWrapper extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$31,create_fragment$2_,safe_not_equal,{})}}const index_svelte_svelte_type_style_lang$e="";function create_default_slot_2$1i(n1){let e1;return{c(){e1=text("Components")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_1$1F(n1){var r1;let e1,t1;return e1=new ScreenslotDropdownMenu({props:{component:(r1=n1[3])==null?void 0:r1.props}}),{c(){create_component(e1.$$.fragment)},m(o1,i1){mount_component(e1,o1,i1),t1=!0},p(o1,i1){var s1;const a1={};i1&8&&(a1.component=(s1=o1[3])==null?void 0:s1.props),e1.$set(a1)},i(o1){t1||(transition_in(e1.$$.fragment,o1),t1=!0)},o(o1){transition_out(e1.$$.fragment,o1),t1=!1},d(o1){destroy_component(e1,o1)}}}function create_if_block$1w(n1){let e1,t1,r1,o1;e1=new DNDPositionIndicator({props:{component:n1[4].target,position:n1[4].dropPosition}});let i1=n1[4].dropPosition!==DropPosition.INSIDE&&create_if_block_1$P(n1);return{c(){create_component(e1.$$.fragment),t1=space$1(),i1&&i1.c(),r1=empty$1()},m(a1,s1){mount_component(e1,a1,s1),insert$1(a1,t1,s1),i1&&i1.m(a1,s1),insert$1(a1,r1,s1),o1=!0},p(a1,s1){const l1={};s1&16&&(l1.component=a1[4].target),s1&16&&(l1.position=a1[4].dropPosition),e1.$set(l1),a1[4].dropPosition!==DropPosition.INSIDE?i1?(i1.p(a1,s1),s1&16&&transition_in(i1,1)):(i1=create_if_block_1$P(a1),i1.c(),transition_in(i1,1),i1.m(r1.parentNode,r1)):i1&&(group_outros(),transition_out(i1,1,1,()=>{i1=null}),check_outros())},i(a1){o1||(transition_in(e1.$$.fragment,a1),transition_in(i1),o1=!0)},o(a1){transition_out(e1.$$.fragment,a1),transition_out(i1),o1=!1},d(a1){destroy_component(e1,a1),a1&&detach(t1),i1&&i1.d(a1),a1&&detach(r1)}}}function create_if_block_1$P(n1){let e1,t1;return e1=new DNDPositionIndicator({props:{component:n1[4].targetParent,position:DropPosition.INSIDE}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&16&&(i1.component=r1[4].targetParent),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_default_slot$22(n1){var f1;let e1,t1,r1,o1,i1,a1,s1,l1,c1;r1=new NavItem({props:{text:"Screen",indentLevel:0,selected:n1[1].selectedComponentId===`${n1[1].selectedScreenId}-screen`,opened:!0,scrollable:!0,icon:"WebPage",id:"component-screen",selectedBy:n1[2][`${n1[1].selectedScreenId}-screen`],$$slots:{default:[create_default_slot_1$1F]},$$scope:{ctx:n1}}}),r1.$on("drop",n1[6]),r1.$on("click",n1[8]),i1=new NavItem({props:{text:"Navigation",indentLevel:0,selected:n1[1].selectedComponentId===`${n1[1].selectedScreenId}-navigation`,opened:!0,scrollable:!0,icon:n1[3].showNavigation?"Visibility":"VisibilityOff",id:"component-nav",selectedBy:n1[2][`${n1[1].selectedScreenId}-navigation`]}}),i1.$on("drop",n1[6]),i1.$on("click",n1[9]),s1=new ComponentTree({props:{level:0,components:(f1=n1[3])==null?void 0:f1.props._children}});let u1=n1[4].dragging&&n1[4].valid&&create_if_block$1w(n1);return{c(){e1=element("ul"),t1=element("li"),create_component(r1.$$.fragment),o1=space$1(),create_component(i1.$$.fragment),a1=space$1(),create_component(s1.$$.fragment),l1=space$1(),u1&&u1.c(),attr(t1,"class","svelte-2glawg"),attr(e1,"class","svelte-2glawg")},m(p1,d1){insert$1(p1,e1,d1),append$1(e1,t1),mount_component(r1,t1,null),append$1(t1,o1),mount_component(i1,t1,null),append$1(t1,a1),mount_component(s1,t1,null),append$1(t1,l1),u1&&u1.m(t1,null),c1=!0},p(p1,d1){var g1;const m1={};d1&2&&(m1.selected=p1[1].selectedComponentId===`${p1[1].selectedScreenId}-screen`),d1&6&&(m1.selectedBy=p1[2][`${p1[1].selectedScreenId}-screen`]),d1&4104&&(m1.$$scope={dirty:d1,ctx:p1}),r1.$set(m1);const _1={};d1&2&&(_1.selected=p1[1].selectedComponentId===`${p1[1].selectedScreenId}-navigation`),d1&8&&(_1.icon=p1[3].showNavigation?"Visibility":"VisibilityOff"),d1&6&&(_1.selectedBy=p1[2][`${p1[1].selectedScreenId}-navigation`]),i1.$set(_1);const h1={};d1&8&&(h1.components=(g1=p1[3])==null?void 0:g1.props._children),s1.$set(h1),p1[4].dragging&&p1[4].valid?u1?(u1.p(p1,d1),d1&16&&transition_in(u1,1)):(u1=create_if_block$1w(p1),u1.c(),transition_in(u1,1),u1.m(t1,null)):u1&&(group_outros(),transition_out(u1,1,1,()=>{u1=null}),check_outros())},i(p1){c1||(transition_in(r1.$$.fragment,p1),transition_in(i1.$$.fragment,p1),transition_in(s1.$$.fragment,p1),transition_in(u1),c1=!0)},o(p1){transition_out(r1.$$.fragment,p1),transition_out(i1.$$.fragment,p1),transition_out(s1.$$.fragment,p1),transition_out(u1),c1=!1},d(p1){p1&&detach(e1),destroy_component(r1),destroy_component(i1),destroy_component(s1),u1&&u1.d()}}}function create_fragment$2Z(n1){let e1,t1,r1,o1,i1,a1,s1,l1,c1,u1,f1,p1,d1,m1;return r1=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1i]},$$scope:{ctx:n1}}}),a1=new Icon({props:{name:"Add"}}),c1=new ComponentScrollWrapper({props:{$$slots:{default:[create_default_slot$22]},$$scope:{ctx:n1}}}),c1.$on("scroll",n1[7]),f1=new ComponentKeyHandler({}),{c(){e1=element("div"),t1=element("div"),create_component(r1.$$.fragment),o1=space$1(),i1=element("div"),create_component(a1.$$.fragment),s1=space$1(),l1=element("div"),create_component(c1.$$.fragment),u1=space$1(),create_component(f1.$$.fragment),attr(i1,"class","addButton svelte-2glawg"),attr(t1,"class","header svelte-2glawg"),toggle_class(t1,"scrolling",n1[0]),attr(l1,"class","list-panel svelte-2glawg"),attr(e1,"class","components svelte-2glawg")},m(_1,h1){insert$1(_1,e1,h1),append$1(e1,t1),mount_component(r1,t1,null),append$1(t1,o1),append$1(t1,i1),mount_component(a1,i1,null),append$1(e1,s1),append$1(e1,l1),mount_component(c1,l1,null),append$1(e1,u1),mount_component(f1,e1,null),p1=!0,d1||(m1=listen(i1,"click",n1[5]),d1=!0)},p(_1,[h1]){const g1={};h1&4096&&(g1.$$scope={dirty:h1,ctx:_1}),r1.$set(g1),(!p1||h1&1)&&toggle_class(t1,"scrolling",_1[0]);const $1={};h1&4126&&($1.$$scope={dirty:h1,ctx:_1}),c1.$set($1)},i(_1){p1||(transition_in(r1.$$.fragment,_1),transition_in(a1.$$.fragment,_1),transition_in(c1.$$.fragment,_1),transition_in(f1.$$.fragment,_1),p1=!0)},o(_1){transition_out(r1.$$.fragment,_1),transition_out(a1.$$.fragment,_1),transition_out(c1.$$.fragment,_1),transition_out(f1.$$.fragment,_1),p1=!1},d(_1){_1&&detach(e1),destroy_component(r1),destroy_component(a1),destroy_component(c1),destroy_component(f1),d1=!1,m1()}}}function instance$30(n1,e1,t1){let r1,o1,i1,a1,s1,l1;component_subscribe(n1,goto,_1=>t1(10,r1=_1)),component_subscribe(n1,isActive,_1=>t1(11,o1=_1)),component_subscribe(n1,store,_1=>t1(1,i1=_1)),component_subscribe(n1,userSelectedResourceMap,_1=>t1(2,a1=_1)),component_subscribe(n1,selectedScreen,_1=>t1(3,s1=_1)),component_subscribe(n1,dndStore,_1=>t1(4,l1=_1));let c1=!1;return[c1,i1,a1,s1,l1,()=>{o1("./:componentId/new")?r1("./:componentId"):r1("./:componentId/new")},async()=>{try{await dndStore.actions.drop()}catch(_1){console.error(_1),notifications.error("Error saving component")}},_1=>{t1(0,c1=_1.target.scrollTop!==0)},()=>{set_store_value(store,i1.selectedComponentId=`${i1.selectedScreenId}-screen`,i1)},()=>{set_store_value(store,i1.selectedComponentId=`${i1.selectedScreenId}-navigation`,i1)}]}class ComponentList extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$30,create_fragment$2Z,safe_not_equal,{})}}const LeftPanel_svelte_svelte_type_style_lang="";function create_fragment$2Y(n1){let e1,t1,r1,o1,i1;return t1=new ScreenList({}),o1=new ComponentList({}),{c(){e1=element("div"),create_component(t1.$$.fragment),r1=space$1(),create_component(o1.$$.fragment),attr(e1,"class","panel svelte-1hjh5aa")},m(a1,s1){insert$1(a1,e1,s1),mount_component(t1,e1,null),append$1(e1,r1),mount_component(o1,e1,null),i1=!0},p:noop$5,i(a1){i1||(transition_in(t1.$$.fragment,a1),transition_in(o1.$$.fragment,a1),i1=!0)},o(a1){transition_out(t1.$$.fragment,a1),transition_out(o1.$$.fragment,a1),i1=!1},d(a1){a1&&detach(e1),destroy_component(t1),destroy_component(o1)}}}class LeftPanel extends SvelteComponent{constructor(e1){super(),init$2(this,e1,null,create_fragment$2Y,safe_not_equal,{})}}const _layout_svelte_svelte_type_style_lang$4="";function create_if_block$1v(n1){let e1,t1,r1,o1,i1,a1,s1;r1=new LeftPanel({}),i1=new AppPanel({});const l1=n1[2].default,c1=create_slot(l1,n1,n1[1],null);return{c(){e1=element("div"),t1=element("div"),create_component(r1.$$.fragment),o1=space$1(),create_component(i1.$$.fragment),a1=space$1(),c1&&c1.c(),attr(t1,"class","content svelte-vfl1cc"),attr(e1,"class","design svelte-vfl1cc")},m(u1,f1){insert$1(u1,e1,f1),append$1(e1,t1),mount_component(r1,t1,null),append$1(t1,o1),mount_component(i1,t1,null),append$1(t1,a1),c1&&c1.m(t1,null),s1=!0},p(u1,f1){c1&&c1.p&&(!s1||f1&2)&&update_slot_base(c1,l1,u1,u1[1],s1?get_slot_changes(l1,u1[1],f1,null):get_all_dirty_from_scope(u1[1]),null)},i(u1){s1||(transition_in(r1.$$.fragment,u1),transition_in(i1.$$.fragment,u1),transition_in(c1,u1),s1=!0)},o(u1){transition_out(r1.$$.fragment,u1),transition_out(i1.$$.fragment,u1),transition_out(c1,u1),s1=!1},d(u1){u1&&detach(e1),destroy_component(r1),destroy_component(i1),c1&&c1.d(u1)}}}function create_fragment$2X(n1){let e1,t1,r1=n1[0]&&create_if_block$1v(n1);return{c(){r1&&r1.c(),e1=empty$1()},m(o1,i1){r1&&r1.m(o1,i1),insert$1(o1,e1,i1),t1=!0},p(o1,[i1]){o1[0]?r1?(r1.p(o1,i1),i1&1&&transition_in(r1,1)):(r1=create_if_block$1v(o1),r1.c(),transition_in(r1,1),r1.m(e1.parentNode,e1)):r1&&(group_outros(),transition_out(r1,1,1,()=>{r1=null}),check_outros())},i(o1){t1||(transition_in(r1),t1=!0)},o(o1){transition_out(r1),t1=!1},d(o1){r1&&r1.d(o1),o1&&detach(e1)}}}function instance$2$(n1,e1,t1){let r1,o1;component_subscribe(n1,store,l1=>t1(3,r1=l1)),component_subscribe(n1,selectedScreen,l1=>t1(0,o1=l1));let{$$slots:i1={},$$scope:a1}=e1;const s1=syncURLToState({urlParam:"screenId",stateKey:"selectedScreenId",validate:l1=>r1.screens.some(c1=>c1._id===l1),fallbackUrl:"../../design",store,routify:routify$1});return onDestroy(s1),n1.$$set=l1=>{"$$scope"in l1&&t1(1,a1=l1.$$scope)},[o1,a1,i1]}class Layout$d extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2$,create_fragment$2X,safe_not_equal,{})}}function instance$2_(n1,e1,t1){let r1,o1;return component_subscribe(n1,redirect,i1=>t1(0,r1=i1)),component_subscribe(n1,store,i1=>t1(1,o1=i1)),n1.$$.update=()=>{n1.$$.dirty&3&&(o1.screens.length>0?r1(`./${o1.screens[0]._id}`):r1("./new"))},[r1,o1]}class Design extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2_,null,safe_not_equal,{})}}const blankImage="/builder/assets/blank.2f241fb9.png",tableImage="/builder/assets/table.b7a718ad.png";class Screen extends BaseStructure{constructor(){super(!0),this._json={showNavigation:!0,width:"Large",props:{_id:uuid(),_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"}}normalStyle(e1){return this._json.props._styles.normal=e1,this}component(e1){return this._json.props._component=e1,this}table(e1){return this._json.props.table=e1,this}route(e1){return this._json.routing.route=e1,this}name(e1){return this._json.name=e1,this}instanceName(e1){return this._json.props._instanceName=e1,this}customProps(e1){for(let t1 of Object.keys(e1))this._json.props[t1]=e1[t1];return this}}function rowListScreen(n1){return Array.isArray(n1)?n1.map(e1=>({name:`${e1.label} - List`,create:()=>createScreen$1(e1),id:ROW_LIST_TEMPLATE,resourceId:e1.resourceId})):[]}const ROW_LIST_TEMPLATE="ROW_LIST_TEMPLATE",rowListUrl=n1=>sanitizeUrl(`/${n1.label}`),generateTableBlock=n1=>{const e1=new Component("@budibase/standard-components/tableblock");return e1.customProps({title:n1.label,dataSource:n1,sortOrder:"Ascending",size:"spectrum--medium",paginate:!0,rowCount:8,clickBehaviour:"details",showTitleButton:!0,titleButtonText:"Create row",titleButtonClickBehaviour:"new"}).instanceName(`${n1.label} - Table block`),e1},createScreen$1=n1=>new Screen().route(rowListUrl(n1)).instanceName(`${n1.label} - List`).addChild(generateTableBlock(n1)).json(),DatasourceTemplateRow_svelte_svelte_type_style_lang="";function create_if_block$1u(n1){let e1,t1,r1;return t1=new Icon({props:{size:"S",name:"CheckmarkCircle"}}),{c(){e1=element("span"),create_component(t1.$$.fragment),attr(e1,"class","data-source-check svelte-7abi2p")},m(o1,i1){insert$1(o1,e1,i1),mount_component(t1,e1,null),r1=!0},i(o1){r1||(transition_in(t1.$$.fragment,o1),r1=!0)},o(o1){transition_out(t1.$$.fragment,o1),r1=!1},d(o1){o1&&detach(e1),destroy_component(t1)}}}function create_fragment$2W(n1){let e1,t1,r1,o1=n1[0].label+"",i1,a1,s1,l1,c1;t1=new Icon({props:{name:n1[2],color:"var(--spectrum-global-color-gray-600)"}});let u1=n1[1]&&create_if_block$1u();return{c(){e1=element("div"),create_component(t1.$$.fragment),r1=space$1(),i1=text(o1),a1=space$1(),u1&&u1.c(),attr(e1,"class","data-source-entry svelte-7abi2p"),toggle_class(e1,"selected",n1[1])},m(f1,p1){insert$1(f1,e1,p1),mount_component(t1,e1,null),append$1(e1,r1),append$1(e1,i1),append$1(e1,a1),u1&&u1.m(e1,null),s1=!0,l1||(c1=listen(e1,"click",n1[3]),l1=!0)},p(f1,[p1]){const d1={};p1&4&&(d1.name=f1[2]),t1.$set(d1),(!s1||p1&1)&&o1!==(o1=f1[0].label+"")&&set_data(i1,o1),f1[1]?u1?p1&2&&transition_in(u1,1):(u1=create_if_block$1u(),u1.c(),transition_in(u1,1),u1.m(e1,null)):u1&&(group_outros(),transition_out(u1,1,1,()=>{u1=null}),check_outros()),(!s1||p1&2)&&toggle_class(e1,"selected",f1[1])},i(f1){s1||(transition_in(t1.$$.fragment,f1),transition_in(u1),s1=!0)},o(f1){transition_out(t1.$$.fragment,f1),transition_out(u1),s1=!1},d(f1){f1&&detach(e1),destroy_component(t1),u1&&u1.d(),l1=!1,c1()}}}function instance$2Z(n1,e1,t1){let r1,{datasource:o1}=e1,{selected:i1=!1}=e1;function a1(s1){bubble.call(this,n1,s1)}return n1.$$set=s1=>{"datasource"in s1&&t1(0,o1=s1.datasource),"selected"in s1&&t1(1,i1=s1.selected)},n1.$$.update=()=>{n1.$$.dirty&1&&t1(2,r1=o1.type==="viewV2"?"Remove":"Table")},[o1,i1,r1,a1]}class DatasourceTemplateRow extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2Z,create_fragment$2W,safe_not_equal,{datasource:0,selected:1})}}const DatasourceModal_svelte_svelte_type_style_lang="";function get_each_context$x(n1,e1,t1){const r1=n1.slice();r1[12]=e1[t1];const o1=Array.isArray(r1[12].entities)?r1[12].entities:Object.values(r1[12].entities||{});return r1[13]=o1,r1}function get_each_context_1$9(n1,e1,t1){const r1=n1.slice();r1[16]=e1[t1];const o1=Object.values(r1[16].views||{}).filter(s1=>s1.version===2);r1[17]=o1;const i1={tableId:r1[16]._id,label:r1[16].name,resourceId:r1[16]._id,type:"table"};r1[18]=i1;const a1=r1[1].find(function(...l1){return n1[11](r1[18],...l1)});return r1[19]=a1,r1}function get_each_context_2$4(n1,e1,t1){const r1=n1.slice();r1[22]=e1[t1];const o1={label:r1[22].name,id:r1[22].id,resourceId:r1[22].id,tableId:r1[22].tableId,type:"viewV2"};r1[23]=o1;const i1=r1[1].find(function(...s1){return n1[10](r1[23],...s1)});return r1[19]=i1,r1}function create_default_slot_2$1h(n1){let e1;return{c(){e1=text("Select which datasources you would like to use to create your screens")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_each_block_2$4(n1){let e1,t1;function r1(){return n1[9](n1[23])}return e1=new DatasourceTemplateRow({props:{selected:n1[19],datasource:n1[23]}}),e1.$on("click",r1),{c(){create_component(e1.$$.fragment)},m(o1,i1){mount_component(e1,o1,i1),t1=!0},p(o1,i1){n1=o1;const a1={};i1&6&&(a1.selected=n1[19]),i1&4&&(a1.datasource=n1[23]),e1.$set(a1)},i(o1){t1||(transition_in(e1.$$.fragment,o1),t1=!0)},o(o1){transition_out(e1.$$.fragment,o1),t1=!1},d(o1){destroy_component(e1,o1)}}}function create_each_block_1$9(n1){let e1,t1,r1,o1;function i1(){return n1[8](n1[18])}e1=new DatasourceTemplateRow({props:{selected:n1[19],datasource:n1[18]}}),e1.$on("click",i1);let a1=n1[17],s1=[];for(let c1=0;c1<a1.length;c1+=1)s1[c1]=create_each_block_2$4(get_each_context_2$4(n1,a1,c1));const l1=c1=>transition_out(s1[c1],1,1,()=>{s1[c1]=null});return{c(){create_component(e1.$$.fragment),t1=space$1();for(let c1=0;c1<s1.length;c1+=1)s1[c1].c();r1=empty$1()},m(c1,u1){mount_component(e1,c1,u1),insert$1(c1,t1,u1);for(let f1=0;f1<s1.length;f1+=1)s1[f1].m(c1,u1);insert$1(c1,r1,u1),o1=!0},p(c1,u1){n1=c1;const f1={};if(u1&6&&(f1.selected=n1[19]),u1&4&&(f1.datasource=n1[18]),e1.$set(f1),u1&14){a1=n1[17];let p1;for(p1=0;p1<a1.length;p1+=1){const d1=get_each_context_2$4(n1,a1,p1);s1[p1]?(s1[p1].p(d1,u1),transition_in(s1[p1],1)):(s1[p1]=create_each_block_2$4(d1),s1[p1].c(),transition_in(s1[p1],1),s1[p1].m(r1.parentNode,r1))}for(group_outros(),p1=a1.length;p1<s1.length;p1+=1)l1(p1);check_outros()}},i(c1){if(!o1){transition_in(e1.$$.fragment,c1);for(let u1=0;u1<a1.length;u1+=1)transition_in(s1[u1]);o1=!0}},o(c1){transition_out(e1.$$.fragment,c1),s1=s1.filter(Boolean);for(let u1=0;u1<s1.length;u1+=1)transition_out(s1[u1]);o1=!1},d(c1){destroy_component(e1,c1),c1&&detach(t1),destroy_each(s1,c1),c1&&detach(r1)}}}function create_each_block$x(n1){let e1,t1,r1,o1,i1,a1=n1[12].name+"",s1,l1,c1,u1;var f1=ICONS[n1[12].source];function p1(h1){return{props:{height:"24",width:"24"}}}f1&&(r1=construct_svelte_component(f1,p1()));let d1=n1[13].filter(func$d),m1=[];for(let h1=0;h1<d1.length;h1+=1)m1[h1]=create_each_block_1$9(get_each_context_1$9(n1,d1,h1));const _1=h1=>transition_out(m1[h1],1,1,()=>{m1[h1]=null});return{c(){e1=element("div"),t1=element("div"),r1&&create_component(r1.$$.fragment),o1=space$1(),i1=element("div"),s1=text(a1),l1=space$1();for(let h1=0;h1<m1.length;h1+=1)m1[h1].c();c1=space$1(),attr(i1,"class","data-source-name"),attr(t1,"class","data-source-header svelte-1tsbsfb"),attr(e1,"class","data-source-wrap svelte-1tsbsfb")},m(h1,g1){insert$1(h1,e1,g1),append$1(e1,t1),r1&&mount_component(r1,t1,null),append$1(t1,o1),append$1(t1,i1),append$1(i1,s1),append$1(e1,l1);for(let $1=0;$1<m1.length;$1+=1)m1[$1].m(e1,null);append$1(e1,c1),u1=!0},p(h1,g1){if(f1!==(f1=ICONS[h1[12].source])){if(r1){group_outros();const $1=r1;transition_out($1.$$.fragment,1,0,()=>{destroy_component($1,1)}),check_outros()}f1?(r1=construct_svelte_component(f1,p1()),create_component(r1.$$.fragment),transition_in(r1.$$.fragment,1),mount_component(r1,t1,o1)):r1=null}if((!u1||g1&4)&&a1!==(a1=h1[12].name+"")&&set_data(s1,a1),g1&14){d1=h1[13].filter(func$d);let $1;for($1=0;$1<d1.length;$1+=1){const y1=get_each_context_1$9(h1,d1,$1);m1[$1]?(m1[$1].p(y1,g1),transition_in(m1[$1],1)):(m1[$1]=create_each_block_1$9(y1),m1[$1].c(),transition_in(m1[$1],1),m1[$1].m(e1,c1))}for(group_outros(),$1=d1.length;$1<m1.length;$1+=1)_1($1);check_outros()}},i(h1){if(!u1){r1&&transition_in(r1.$$.fragment,h1);for(let g1=0;g1<d1.length;g1+=1)transition_in(m1[g1]);u1=!0}},o(h1){r1&&transition_out(r1.$$.fragment,h1),m1=m1.filter(Boolean);for(let g1=0;g1<m1.length;g1+=1)transition_out(m1[g1]);u1=!1},d(h1){h1&&detach(e1),r1&&destroy_component(r1),destroy_each(m1,h1)}}}function create_default_slot_1$1E(n1){let e1,t1,r1=n1[2],o1=[];for(let a1=0;a1<r1.length;a1+=1)o1[a1]=create_each_block$x(get_each_context$x(n1,r1,a1));const i1=a1=>transition_out(o1[a1],1,1,()=>{o1[a1]=null});return{c(){for(let a1=0;a1<o1.length;a1+=1)o1[a1].c();e1=empty$1()},m(a1,s1){for(let l1=0;l1<o1.length;l1+=1)o1[l1].m(a1,s1);insert$1(a1,e1,s1),t1=!0},p(a1,s1){if(s1&14){r1=a1[2];let l1;for(l1=0;l1<r1.length;l1+=1){const c1=get_each_context$x(a1,r1,l1);o1[l1]?(o1[l1].p(c1,s1),transition_in(o1[l1],1)):(o1[l1]=create_each_block$x(c1),o1[l1].c(),transition_in(o1[l1],1),o1[l1].m(e1.parentNode,e1))}for(group_outros(),l1=r1.length;l1<o1.length;l1+=1)i1(l1);check_outros()}},i(a1){if(!t1){for(let s1=0;s1<r1.length;s1+=1)transition_in(o1[s1]);t1=!0}},o(a1){o1=o1.filter(Boolean);for(let s1=0;s1<o1.length;s1+=1)transition_out(o1[s1]);t1=!1},d(a1){destroy_each(o1,a1),a1&&detach(e1)}}}function create_default_slot$21(n1){let e1,t1,r1,o1;return e1=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1h]},$$scope:{ctx:n1}}}),r1=new Layout$m({props:{noPadding:!0,gap:"S",$$slots:{default:[create_default_slot_1$1E]},$$scope:{ctx:n1}}}),{c(){create_component(e1.$$.fragment),t1=space$1(),create_component(r1.$$.fragment)},m(i1,a1){mount_component(e1,i1,a1),insert$1(i1,t1,a1),mount_component(r1,i1,a1),o1=!0},p(i1,a1){const s1={};a1&67108864&&(s1.$$scope={dirty:a1,ctx:i1}),e1.$set(s1);const l1={};a1&67108870&&(l1.$$scope={dirty:a1,ctx:i1}),r1.$set(l1)},i(i1){o1||(transition_in(e1.$$.fragment,i1),transition_in(r1.$$.fragment,i1),o1=!0)},o(i1){transition_out(e1.$$.fragment,i1),transition_out(r1.$$.fragment,i1),o1=!1},d(i1){destroy_component(e1,i1),i1&&detach(t1),destroy_component(r1,i1)}}}function create_fragment$2V(n1){let e1,t1,r1;return t1=new ModalContent({props:{title:"Autogenerated screens",confirmText:"Confirm",cancelText:"Back",onConfirm:n1[4],onCancel:n1[0],disabled:!n1[1].length,size:"L",$$slots:{default:[create_default_slot$21]},$$scope:{ctx:n1}}}),{c(){e1=element("span"),create_component(t1.$$.fragment)},m(o1,i1){insert$1(o1,e1,i1),mount_component(t1,e1,null),r1=!0},p(o1,[i1]){const a1={};i1&1&&(a1.onCancel=o1[0]),i1&2&&(a1.disabled=!o1[1].length),i1&67108870&&(a1.$$scope={dirty:i1,ctx:o1}),t1.$set(a1)},i(o1){r1||(transition_in(t1.$$.fragment,o1),r1=!0)},o(o1){transition_out(t1.$$.fragment,o1),r1=!1},d(o1){o1&&detach(e1),destroy_component(t1)}}}const func$d=n1=>n1._id!=="ta_users";function instance$2Y(n1,e1,t1){let r1,o1;component_subscribe(n1,datasources,_1=>t1(7,o1=_1));let{onCancel:i1}=e1,{onConfirm:a1}=e1,{initialScreens:s1=[]}=e1,l1=[...s1];const c1=_1=>{const{resourceId:h1}=_1;l1.find(g1=>g1.resourceId===h1)?t1(1,l1=l1.filter(g1=>g1.resourceId!==h1)):t1(1,l1=[...l1,rowListScreen([_1])[0]])},u1=async()=>{await a1({templates:l1})};onMount(async()=>{try{await datasources.fetch()}catch{notifications.error("Error fetching datasources")}});const f1=_1=>c1(_1),p1=_1=>c1(_1),d1=(_1,h1)=>h1.resourceId===_1.resourceId,m1=(_1,h1)=>h1.resourceId===_1.resourceId;return n1.$$set=_1=>{"onCancel"in _1&&t1(0,i1=_1.onCancel),"onConfirm"in _1&&t1(5,a1=_1.onConfirm),"initialScreens"in _1&&t1(6,s1=_1.initialScreens)},n1.$$.update=()=>{var _1;n1.$$.dirty&128&&t1(2,r1=(_1=o1.list)==null?void 0:_1.filter(h1=>h1.source!==IntegrationNames.REST&&h1.entities))},[i1,l1,r1,c1,u1,a1,s1,o1,f1,p1,d1,m1]}class DatasourceModal extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2Y,create_fragment$2V,safe_not_equal,{onCancel:0,onConfirm:5,initialScreens:6})}}function create_default_slot$20(n1){let e1,t1,r1,o1;function i1(s1){n1[8](s1)}let a1={label:"Access",error:n1[3],getOptionLabel:func$c,getOptionValue:func_1$9,getOptionColour:n1[7],options:n1[4],placeholder:null};return n1[0]!==void 0&&(a1.value=n1[0]),t1=new Select_1$1({props:a1}),binding_callbacks.push(()=>bind$3(t1,"value",i1)),t1.$on("change",n1[5]),{c(){e1=text(`Select the level of access required to see these screens
1739
1739
  `),create_component(t1.$$.fragment)},m(s1,l1){insert$1(s1,e1,l1),mount_component(t1,s1,l1),o1=!0},p(s1,l1){const c1={};l1&8&&(c1.error=s1[3]),l1&16&&(c1.options=s1[4]),!r1&&l1&1&&(r1=!0,c1.value=s1[0],add_flush_callback(()=>r1=!1)),t1.$set(c1)},i(s1){o1||(transition_in(t1.$$.fragment,s1),o1=!0)},o(s1){transition_out(t1.$$.fragment,s1),o1=!1},d(s1){s1&&detach(e1),destroy_component(t1,s1)}}}function create_fragment$2U(n1){let e1,t1;return e1=new ModalContent({props:{title:"Access",confirmText:"Done",cancelText:"Back",onConfirm:n1[1],onCancel:n1[2],disabled:!!n1[3],$$slots:{default:[create_default_slot$20]},$$scope:{ctx:n1}}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,[o1]){const i1={};o1&2&&(i1.onConfirm=r1[1]),o1&4&&(i1.onCancel=r1[2]),o1&8&&(i1.disabled=!!r1[3]),o1&1049&&(i1.$$scope={dirty:o1,ctx:r1}),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}const func$c=n1=>n1.name,func_1$9=n1=>n1._id;function instance$2X(n1,e1,t1){let r1;component_subscribe(n1,roles,d1=>t1(4,r1=d1));let{onConfirm:o1}=e1,{onCancel:i1}=e1,{screenUrl:a1}=e1,{screenAccessRole:s1}=e1,l1;const c1=d1=>{const m1=d1.detail;u1(a1,m1)?t1(3,l1="This URL is already taken for this access role"):t1(3,l1=null)},u1=(d1,m1)=>!d1||!m1?!1:get_store_value(store).screens.some(_1=>_1.routing.route.toLowerCase()===d1.toLowerCase()&&_1.routing.roleId===m1);onMount(()=>{c1({detail:s1})});const f1=d1=>getRoleColour(d1._id);function p1(d1){s1=d1,t1(0,s1)}return n1.$$set=d1=>{"onConfirm"in d1&&t1(1,o1=d1.onConfirm),"onCancel"in d1&&t1(2,i1=d1.onCancel),"screenUrl"in d1&&t1(6,a1=d1.screenUrl),"screenAccessRole"in d1&&t1(0,s1=d1.screenAccessRole)},[s1,o1,i1,l1,r1,c1,a1,f1,p1]}class ScreenRoleModal extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2X,create_fragment$2U,safe_not_equal,{onConfirm:1,onCancel:2,screenUrl:6,screenAccessRole:0})}}const createFromScratchScreen={name:"Create from scratch",id:"createFromScratch",create:()=>createScreen(),table:"Create from scratch"},createScreen=()=>new Screen().instanceName("New Screen").json(),allTemplates=n1=>[...rowListScreen(n1)],createTemplateOverride=n1=>()=>{const e1=n1.create();return e1.name=e1.props._id,e1.routing.route=e1.routing.route.toLowerCase(),e1.template=n1.id,e1},getTemplates=n1=>{const e1=o1=>({...o1,create:createTemplateOverride(o1)}),t1=e1(createFromScratchScreen),r1=allTemplates(n1).map(e1);return[t1,...r1.sort((o1,i1)=>o1.name>i1.name?1:-1)]};function create_default_slot_2$1g(n1){let e1,t1;return e1=new DatasourceModal({props:{onConfirm:n1[6],initialScreens:n1[4]?[...n1[4]]:[]}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&16&&(i1.initialScreens=r1[4]?[...r1[4]]:[]),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_default_slot_1$1D(n1){let e1,t1,r1;function o1(a1){n1[12](a1)}let i1={onConfirm:n1[8],onCancel:n1[9],screenUrl:n1[5]};return n1[3]!==void 0&&(i1.screenAccessRole=n1[3]),e1=new ScreenRoleModal({props:i1}),binding_callbacks.push(()=>bind$3(e1,"screenAccessRole",o1)),{c(){create_component(e1.$$.fragment)},m(a1,s1){mount_component(e1,a1,s1),r1=!0},p(a1,s1){const l1={};s1&32&&(l1.screenUrl=a1[5]),!t1&&s1&8&&(t1=!0,l1.screenAccessRole=a1[3],add_flush_callback(()=>t1=!1)),e1.$set(l1)},i(a1){r1||(transition_in(e1.$$.fragment,a1),r1=!0)},o(a1){transition_out(e1.$$.fragment,a1),r1=!1},d(a1){destroy_component(e1,a1)}}}function create_default_slot$1$(n1){let e1,t1;return e1=new ScreenDetailsModal({props:{onConfirm:n1[7],initialUrl:n1[5]}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&32&&(i1.initialUrl=r1[5]),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_fragment$2T(n1){let e1,t1,r1,o1,i1,a1,s1={autoFocus:!1,$$slots:{default:[create_default_slot_2$1g]},$$scope:{ctx:n1}};e1=new Modal({props:s1}),n1[11](e1);let l1={$$slots:{default:[create_default_slot_1$1D]},$$scope:{ctx:n1}};r1=new Modal({props:l1}),n1[13](r1);let c1={$$slots:{default:[create_default_slot$1$]},$$scope:{ctx:n1}};return i1=new Modal({props:c1}),n1[14](i1),{c(){create_component(e1.$$.fragment),t1=space$1(),create_component(r1.$$.fragment),o1=space$1(),create_component(i1.$$.fragment)},m(u1,f1){mount_component(e1,u1,f1),insert$1(u1,t1,f1),mount_component(r1,u1,f1),insert$1(u1,o1,f1),mount_component(i1,u1,f1),a1=!0},p(u1,[f1]){const p1={};f1&16777232&&(p1.$$scope={dirty:f1,ctx:u1}),e1.$set(p1);const d1={};f1&16777256&&(d1.$$scope={dirty:f1,ctx:u1}),r1.$set(d1);const m1={};f1&16777248&&(m1.$$scope={dirty:f1,ctx:u1}),i1.$set(m1)},i(u1){a1||(transition_in(e1.$$.fragment,u1),transition_in(r1.$$.fragment,u1),transition_in(i1.$$.fragment,u1),a1=!0)},o(u1){transition_out(e1.$$.fragment,u1),transition_out(r1.$$.fragment,u1),transition_out(i1.$$.fragment,u1),a1=!1},d(u1){n1[11](null),destroy_component(e1,u1),u1&&detach(t1),n1[13](null),destroy_component(r1,u1),u1&&detach(o1),n1[14](null),destroy_component(i1,u1)}}}function instance$2W(n1,e1,t1){let r1,o1;component_subscribe(n1,tables,H1=>t1(17,r1=H1)),component_subscribe(n1,goto,H1=>t1(18,o1=H1));let i1,a1,s1,l1,c1=Roles.BASIC,u1=null,f1=null,p1=null;const d1=async({screens:H1,screenAccessRole:B1})=>{if(!!(H1!=null&&H1.length))try{let q1;for(let R1 of H1){if(m1(R1.routing.route)){let F1=2,j1=_1(R1,F1);for(;m1(j1);)j1=_1(R1,++F1);R1.routing.route=j1}if(R1.routing.route=sanitizeUrl(R1.routing.route),!B1)return;R1.routing.roleId=B1,q1=(await store.actions.screens.save(R1))._id,await store.actions.links.save(R1.routing.route,capitalise(R1.routing.route.split("/")[1]))}o1(`./${q1}`),store.actions.screens.select(q1)}catch(q1){console.log(q1),notifications.error("Error creating screens")}},m1=H1=>{const B1=c1;return!!get_store_value(store).screens.filter(R1=>R1.routing.roleId===B1).find(R1=>{var I1;return((I1=R1.routing)==null?void 0:I1.route)===H1})},_1=(H1,B1)=>{var R1;let q1=((R1=H1.routing)==null?void 0:R1.route)||"";if(q1.startsWith("/")&&(q1=q1.slice(1)),q1.includes("/")){const I1=q1.split("/");return`/${I1[0]}-${B1}/${I1.slice(1).join("/")}`}else return`/${q1}-${B1}`},h1=H1=>{if(t1(4,u1=null),t1(5,f1=null),p1=H1,i1=null,t1(3,c1=Roles.BASIC),H1==="table")s1.show();else if(H1==="blank")i1=getTemplates(r1.list).find(R1=>R1.id==="createFromScratch").create(),a1.show();else throw new Error("Invalid mode provided")},g1=async({templates:H1})=>{t1(4,u1=H1),l1.show()},$1=async()=>{const H1=u1.map(B1=>{let q1=B1.create();return q1.autoTableId=B1.resourceId,q1});await d1({screens:H1,screenAccessRole:c1})},y1=async({screenUrl:H1})=>{t1(5,f1=H1),l1.show()},w1=async({screenUrl:H1,screenAccessRole:B1})=>{!i1||(i1.routing.route=H1,await d1({screens:[i1],screenAccessRole:B1}))},S1=async()=>{p1==="blank"?w1({screenUrl:f1,screenAccessRole:c1}):$1()},O1=()=>{p1==="blank"?a1.show():s1.show()};function C1(H1){binding_callbacks[H1?"unshift":"push"](()=>{s1=H1,t1(1,s1)})}function M1(H1){c1=H1,t1(3,c1)}function z1(H1){binding_callbacks[H1?"unshift":"push"](()=>{l1=H1,t1(2,l1)})}function D1(H1){binding_callbacks[H1?"unshift":"push"](()=>{a1=H1,t1(0,a1)})}return[a1,s1,l1,c1,u1,f1,g1,y1,S1,O1,h1,C1,M1,z1,D1]}class CreateScreenModal extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2W,create_fragment$2T,safe_not_equal,{show:10})}get show(){return this.$$.ctx[10]}}const index_svelte_svelte_type_style_lang$d="";function create_default_slot_5$L(n1){let e1;return{c(){e1=text("Start from scratch or create screens from your data")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_4$U(n1){let e1;return{c(){e1=text("Blank screen")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_3$14(n1){let e1;return{c(){e1=text("Add an empty blank screen")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_2$1f(n1){let e1;return{c(){e1=text("Table")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot_1$1C(n1){let e1;return{c(){e1=text("View, edit and delete rows on a table")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_default_slot$1_(n1){let e1,t1,r1,o1,i1,a1,s1,l1,c1,u1,f1,p1,d1,m1,_1,h1,g1,$1,y1,w1,S1,O1,C1,M1,z1,D1;return t1=new Body({props:{$$slots:{default:[create_default_slot_5$L]},$$scope:{ctx:n1}}}),f1=new Body({props:{size:"S",$$slots:{default:[create_default_slot_4$U]},$$scope:{ctx:n1}}}),d1=new Body({props:{size:"XS",$$slots:{default:[create_default_slot_3$14]},$$scope:{ctx:n1}}}),S1=new Body({props:{size:"S",$$slots:{default:[create_default_slot_2$1f]},$$scope:{ctx:n1}}}),C1=new Body({props:{size:"XS",$$slots:{default:[create_default_slot_1$1C]},$$scope:{ctx:n1}}}),{c(){e1=element("div"),create_component(t1.$$.fragment),r1=space$1(),o1=element("div"),i1=element("div"),a1=element("div"),s1=element("img"),c1=space$1(),u1=element("div"),create_component(f1.$$.fragment),p1=space$1(),create_component(d1.$$.fragment),m1=space$1(),_1=element("div"),h1=element("div"),g1=element("img"),y1=space$1(),w1=element("div"),create_component(S1.$$.fragment),O1=space$1(),create_component(C1.$$.fragment),attr(e1,"class","subHeading svelte-qf5yhq"),attr(s1,"alt",""),src_url_equal(s1.src,l1=blankImage)||attr(s1,"src",l1),attr(s1,"class","svelte-qf5yhq"),attr(a1,"class","image svelte-qf5yhq"),attr(u1,"class","text svelte-qf5yhq"),attr(i1,"class","card svelte-qf5yhq"),attr(g1,"alt",""),src_url_equal(g1.src,$1=tableImage)||attr(g1,"src",$1),attr(g1,"class","svelte-qf5yhq"),attr(h1,"class","image svelte-qf5yhq"),attr(w1,"class","text svelte-qf5yhq"),attr(_1,"class","card svelte-qf5yhq"),attr(o1,"class","cards svelte-qf5yhq")},m(H1,B1){insert$1(H1,e1,B1),mount_component(t1,e1,null),insert$1(H1,r1,B1),insert$1(H1,o1,B1),append$1(o1,i1),append$1(i1,a1),append$1(a1,s1),append$1(i1,c1),append$1(i1,u1),mount_component(f1,u1,null),append$1(u1,p1),mount_component(d1,u1,null),append$1(o1,m1),append$1(o1,_1),append$1(_1,h1),append$1(h1,g1),append$1(_1,y1),append$1(_1,w1),mount_component(S1,w1,null),append$1(w1,O1),mount_component(C1,w1,null),M1=!0,z1||(D1=[listen(i1,"click",n1[4]),listen(_1,"click",n1[5])],z1=!0)},p(H1,B1){const q1={};B1&128&&(q1.$$scope={dirty:B1,ctx:H1}),t1.$set(q1);const R1={};B1&128&&(R1.$$scope={dirty:B1,ctx:H1}),f1.$set(R1);const I1={};B1&128&&(I1.$$scope={dirty:B1,ctx:H1}),d1.$set(I1);const F1={};B1&128&&(F1.$$scope={dirty:B1,ctx:H1}),S1.$set(F1);const j1={};B1&128&&(j1.$$scope={dirty:B1,ctx:H1}),C1.$set(j1)},i(H1){M1||(transition_in(t1.$$.fragment,H1),transition_in(f1.$$.fragment,H1),transition_in(d1.$$.fragment,H1),transition_in(S1.$$.fragment,H1),transition_in(C1.$$.fragment,H1),M1=!0)},o(H1){transition_out(t1.$$.fragment,H1),transition_out(f1.$$.fragment,H1),transition_out(d1.$$.fragment,H1),transition_out(S1.$$.fragment,H1),transition_out(C1.$$.fragment,H1),M1=!1},d(H1){H1&&detach(e1),destroy_component(t1),H1&&detach(r1),H1&&detach(o1),destroy_component(f1),destroy_component(d1),destroy_component(S1),destroy_component(C1),z1=!1,run_all(D1)}}}function create_fragment$2S(n1){let e1,t1,r1,o1,i1;t1=new CreationPage({props:{showClose:!!n1[0],onClose:n1[0],heading:n1[2]?"Create new screen":"Create your first screen",$$slots:{default:[create_default_slot$1_]},$$scope:{ctx:n1}}});let a1={};return o1=new CreateScreenModal({props:a1}),n1[6](o1),{c(){e1=element("div"),create_component(t1.$$.fragment),r1=space$1(),create_component(o1.$$.fragment),attr(e1,"class","page svelte-qf5yhq")},m(s1,l1){insert$1(s1,e1,l1),mount_component(t1,e1,null),insert$1(s1,r1,l1),mount_component(o1,s1,l1),i1=!0},p(s1,[l1]){const c1={};l1&1&&(c1.showClose=!!s1[0]),l1&1&&(c1.onClose=s1[0]),l1&4&&(c1.heading=s1[2]?"Create new screen":"Create your first screen"),l1&130&&(c1.$$scope={dirty:l1,ctx:s1}),t1.$set(c1);const u1={};o1.$set(u1)},i(s1){i1||(transition_in(t1.$$.fragment,s1),transition_in(o1.$$.fragment,s1),i1=!0)},o(s1){transition_out(t1.$$.fragment,s1),transition_out(o1.$$.fragment,s1),i1=!1},d(s1){s1&&detach(e1),destroy_component(t1),s1&&detach(r1),n1[6](null),destroy_component(o1,s1)}}}function instance$2V(n1,e1,t1){let r1,o1;component_subscribe(n1,store,u1=>t1(3,o1=u1));let{onClose:i1=null}=e1,a1;const s1=()=>a1.show("blank"),l1=()=>a1.show("table");function c1(u1){binding_callbacks[u1?"unshift":"push"](()=>{a1=u1,t1(1,a1)})}return n1.$$set=u1=>{"onClose"in u1&&t1(0,i1=u1.onClose)},n1.$$.update=()=>{var u1;n1.$$.dirty&8&&t1(2,r1=(u1=o1.screens)==null?void 0:u1.length)},[i1,a1,r1,o1,s1,l1,c1]}class NewScreen extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2V,create_fragment$2S,safe_not_equal,{onClose:0})}}function create_fragment$2R(n1){let e1,t1;return e1=new NewScreen({props:{onClose:n1[0]}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,[o1]){const i1={};o1&1&&(i1.onClose=r1[0]),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function instance$2U(n1,e1,t1){let r1,o1,i1;component_subscribe(n1,goto,s1=>t1(2,o1=s1)),component_subscribe(n1,store,s1=>t1(1,i1=s1));const a1=({screens:s1,selectedScreenId:l1})=>s1!=null&&s1.length?l1?()=>{o1(`./${l1}`)}:()=>{o1(`./${s1[0]._id}`)}:null;return n1.$$.update=()=>{n1.$$.dirty&2&&t1(0,r1=a1(i1))},[r1,i1]}class New extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2U,create_fragment$2R,safe_not_equal,{})}}function create_fragment$2Q(n1){let e1;const t1=n1[1].default,r1=create_slot(t1,n1,n1[0],null);return{c(){r1&&r1.c()},m(o1,i1){r1&&r1.m(o1,i1),e1=!0},p(o1,[i1]){r1&&r1.p&&(!e1||i1&1)&&update_slot_base(r1,t1,o1,o1[0],e1?get_slot_changes(t1,o1[0],i1,null):get_all_dirty_from_scope(o1[0]),null)},i(o1){e1||(transition_in(r1,o1),e1=!0)},o(o1){transition_out(r1,o1),e1=!1},d(o1){r1&&r1.d(o1)}}}function instance$2T(n1,e1,t1){let{$$slots:r1={},$$scope:o1}=e1;return n1.$$set=i1=>{"$$scope"in i1&&t1(0,o1=i1.$$scope)},[o1,r1]}class Layout$c extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2T,create_fragment$2Q,safe_not_equal,{})}}function create_fragment$2P(n1){let e1,t1,r1;function o1(a1){n1[5](a1)}let i1={options:n1[1],getOptionLabel:func$b,getOptionValue:func_1$8};return n1[0]!==void 0&&(i1.value=n1[0]),e1=new Select_1$1({props:i1}),binding_callbacks.push(()=>bind$3(e1,"value",o1)),e1.$on("change",n1[2]),{c(){create_component(e1.$$.fragment)},m(a1,s1){mount_component(e1,a1,s1),r1=!0},p(a1,[s1]){const l1={};s1&2&&(l1.options=a1[1]),!t1&&s1&1&&(t1=!0,l1.value=a1[0],add_flush_callback(()=>t1=!1)),e1.$set(l1)},i(a1){r1||(transition_in(e1.$$.fragment,a1),r1=!0)},o(a1){transition_out(e1.$$.fragment,a1),r1=!1},d(a1){destroy_component(e1,a1)}}}const func$b=n1=>n1.name,func_1$8=n1=>n1._id;function instance$2S(n1,e1,t1){let r1,o1;component_subscribe(n1,tables,u1=>t1(4,o1=u1));const i1=createEventDispatcher();let{value:a1}=e1,{isTrigger:s1}=e1;const l1=u1=>{t1(0,a1=u1.detail),i1("change",u1.detail)};function c1(u1){a1=u1,t1(0,a1)}return n1.$$set=u1=>{"value"in u1&&t1(0,a1=u1.value),"isTrigger"in u1&&t1(3,s1=u1.isTrigger)},n1.$$.update=()=>{n1.$$.dirty&24&&t1(1,r1=o1.list.filter(u1=>!s1||u1._id!==TableNames.USERS))},[a1,r1,l1,s1,o1,c1]}class TableSelector extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2S,create_fragment$2P,safe_not_equal,{value:0,isTrigger:3})}}function create_if_block_7$4(n1){let e1,t1,r1;var o1=n1[4]?ModalBindableInput:DrawerBindableInput;function i1(a1){return{props:{panel:ServerBindingPanel,value:a1[0][a1[2]],label:a1[2],type:"string",bindings:a1[5],fillWidth:!0,allowJS:!0,updateOnChange:!1}}}return o1&&(e1=construct_svelte_component(o1,i1(n1)),e1.$on("change",n1[17])),{c(){e1&&create_component(e1.$$.fragment),t1=empty$1()},m(a1,s1){e1&&mount_component(e1,a1,s1),insert$1(a1,t1,s1),r1=!0},p(a1,s1){const l1={};if(s1&5&&(l1.value=a1[0][a1[2]]),s1&4&&(l1.label=a1[2]),s1&32&&(l1.bindings=a1[5]),o1!==(o1=a1[4]?ModalBindableInput:DrawerBindableInput)){if(e1){group_outros();const c1=e1;transition_out(c1.$$.fragment,1,0,()=>{destroy_component(c1,1)}),check_outros()}o1?(e1=construct_svelte_component(o1,i1(a1)),e1.$on("change",a1[17]),create_component(e1.$$.fragment),transition_in(e1.$$.fragment,1),mount_component(e1,t1.parentNode,t1)):e1=null}else o1&&e1.$set(l1)},i(a1){r1||(e1&&transition_in(e1.$$.fragment,a1),r1=!0)},o(a1){e1&&transition_out(e1.$$.fragment,a1),r1=!1},d(a1){a1&&detach(t1),e1&&destroy_component(e1,a1)}}}function create_if_block_6$4(n1){let e1,t1,r1;function o1(a1){n1[15](a1)}let i1={schema:n1[3]};return n1[0][n1[2]]!==void 0&&(i1.linkedRows=n1[0][n1[2]]),e1=new LinkedRowSelector({props:i1}),binding_callbacks.push(()=>bind$3(e1,"linkedRows",o1)),e1.$on("change",n1[16]),{c(){create_component(e1.$$.fragment)},m(a1,s1){mount_component(e1,a1,s1),r1=!0},p(a1,s1){const l1={};s1&8&&(l1.schema=a1[3]),!t1&&s1&5&&(t1=!0,l1.linkedRows=a1[0][a1[2]],add_flush_callback(()=>t1=!1)),e1.$set(l1)},i(a1){r1||(transition_in(e1.$$.fragment,a1),r1=!0)},o(a1){transition_out(e1.$$.fragment,a1),r1=!1},d(a1){destroy_component(e1,a1)}}}function create_if_block_5$7(n1){let e1,t1,r1,o1,i1;return t1=new Label({props:{$$slots:{default:[create_default_slot$1Z]},$$scope:{ctx:n1}}}),o1=new QueryEditor({props:{editorHeight:"150",mode:"json",value:n1[0][n1[2]]}}),o1.$on("change",n1[14]),{c(){e1=element("span"),create_component(t1.$$.fragment),r1=space$1(),create_component(o1.$$.fragment)},m(a1,s1){insert$1(a1,e1,s1),mount_component(t1,e1,null),append$1(e1,r1),mount_component(o1,e1,null),i1=!0},p(a1,s1){const l1={};s1&262148&&(l1.$$scope={dirty:s1,ctx:a1}),t1.$set(l1);const c1={};s1&5&&(c1.value=a1[0][a1[2]]),o1.$set(c1)},i(a1){i1||(transition_in(t1.$$.fragment,a1),transition_in(o1.$$.fragment,a1),i1=!0)},o(a1){transition_out(t1.$$.fragment,a1),transition_out(o1.$$.fragment,a1),i1=!1},d(a1){a1&&detach(e1),destroy_component(t1),destroy_component(o1)}}}function create_if_block_4$d(n1){let e1,t1,r1;function o1(a1){n1[12](a1)}let i1={label:n1[2]};return n1[0][n1[2]]!==void 0&&(i1.value=n1[0][n1[2]]),e1=new TextArea_1({props:i1}),binding_callbacks.push(()=>bind$3(e1,"value",o1)),e1.$on("change",n1[13]),{c(){create_component(e1.$$.fragment)},m(a1,s1){mount_component(e1,a1,s1),r1=!0},p(a1,s1){const l1={};s1&4&&(l1.label=a1[2]),!t1&&s1&5&&(t1=!0,l1.value=a1[0][a1[2]],add_flush_callback(()=>t1=!1)),e1.$set(l1)},i(a1){r1||(transition_in(e1.$$.fragment,a1),r1=!0)},o(a1){transition_out(e1.$$.fragment,a1),r1=!1},d(a1){destroy_component(e1,a1)}}}function create_if_block_3$k(n1){let e1,t1,r1;function o1(a1){n1[10](a1)}let i1={label:n1[2],options:n1[3].constraints.inclusion};return n1[0][n1[2]]!==void 0&&(i1.value=n1[0][n1[2]]),e1=new Multiselect_1({props:i1}),binding_callbacks.push(()=>bind$3(e1,"value",o1)),e1.$on("change",n1[11]),{c(){create_component(e1.$$.fragment)},m(a1,s1){mount_component(e1,a1,s1),r1=!0},p(a1,s1){const l1={};s1&4&&(l1.label=a1[2]),s1&8&&(l1.options=a1[3].constraints.inclusion),!t1&&s1&5&&(t1=!0,l1.value=a1[0][a1[2]],add_flush_callback(()=>t1=!1)),e1.$set(l1)},i(a1){r1||(transition_in(e1.$$.fragment,a1),r1=!0)},o(a1){transition_out(e1.$$.fragment,a1),r1=!1},d(a1){destroy_component(e1,a1)}}}function create_if_block_2$x(n1){let e1,t1;return e1=new Toggle({props:{text:n1[2],value:n1[0][n1[2]]}}),e1.$on("change",n1[9]),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&4&&(i1.text=r1[2]),o1&5&&(i1.value=r1[0][r1[2]]),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_if_block_1$O(n1){let e1,t1;return e1=new DatePicker_1({props:{label:n1[2],value:n1[0][n1[2]]}}),e1.$on("change",n1[8]),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&4&&(i1.label=r1[2]),o1&5&&(i1.value=r1[0][r1[2]]),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_if_block$1t(n1){let e1,t1;return e1=new Select_1$1({props:{label:n1[2],value:n1[0][n1[2]],options:n1[3].constraints.inclusion}}),e1.$on("change",n1[7]),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&4&&(i1.label=r1[2]),o1&5&&(i1.value=r1[0][r1[2]]),o1&8&&(i1.options=r1[3].constraints.inclusion),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_default_slot$1Z(n1){let e1;return{c(){e1=text(n1[2])},m(t1,r1){insert$1(t1,e1,r1)},p(t1,r1){r1&4&&set_data(e1,t1[2])},d(t1){t1&&detach(e1)}}}function create_fragment$2O(n1){let e1,t1,r1,o1,i1;const a1=[create_if_block$1t,create_if_block_1$O,create_if_block_2$x,create_if_block_3$k,create_if_block_4$d,create_if_block_5$7,create_if_block_6$4,create_if_block_7$4],s1=[];function l1(c1,u1){return u1&8&&(e1=null),e1==null&&(e1=!!(schemaHasOptions(c1[3])&&c1[3].type!=="array")),e1?0:c1[3].type==="datetime"?1:c1[3].type==="boolean"?2:c1[3].type==="array"?3:c1[3].type==="longform"?4:c1[3].type==="json"?5:c1[3].type==="link"?6:c1[3].type==="string"||c1[3].type==="number"?7:-1}return~(t1=l1(n1,-1))&&(r1=s1[t1]=a1[t1](n1)),{c(){r1&&r1.c(),o1=empty$1()},m(c1,u1){~t1&&s1[t1].m(c1,u1),insert$1(c1,o1,u1),i1=!0},p(c1,[u1]){let f1=t1;t1=l1(c1,u1),t1===f1?~t1&&s1[t1].p(c1,u1):(r1&&(group_outros(),transition_out(s1[f1],1,1,()=>{s1[f1]=null}),check_outros()),~t1?(r1=s1[t1],r1?r1.p(c1,u1):(r1=s1[t1]=a1[t1](c1),r1.c()),transition_in(r1,1),r1.m(o1.parentNode,o1)):r1=null)},i(c1){i1||(transition_in(r1),i1=!0)},o(c1){transition_out(r1),i1=!1},d(c1){~t1&&s1[t1].d(c1),c1&&detach(o1)}}}function schemaHasOptions(n1){var e1,t1;return!!((t1=(e1=n1.constraints)==null?void 0:e1.inclusion)!=null&&t1.length)}function instance$2R(n1,e1,t1){let r1,{onChange:o1}=e1,{field:i1}=e1,{schema:a1}=e1,{value:s1}=e1,{bindings:l1}=e1,{isTestModal:c1}=e1;const u1=S1=>o1(S1,i1),f1=S1=>o1(S1,i1),p1=S1=>o1(S1,i1);function d1(S1){n1.$$.not_equal(s1[i1],S1)&&(s1[i1]=S1,t1(0,s1))}const m1=S1=>o1(S1,i1);function _1(S1){n1.$$.not_equal(s1[i1],S1)&&(s1[i1]=S1,t1(0,s1))}const h1=S1=>o1(S1,i1),g1=S1=>{var O1;((O1=S1.detail)==null?void 0:O1.value)!==s1[i1]&&o1(S1,i1,a1.type)};function $1(S1){n1.$$.not_equal(s1[i1],S1)&&(s1[i1]=S1,t1(0,s1))}const y1=S1=>o1(S1,i1),w1=S1=>o1(S1,i1);return n1.$$set=S1=>{"onChange"in S1&&t1(1,o1=S1.onChange),"field"in S1&&t1(2,i1=S1.field),"schema"in S1&&t1(3,a1=S1.schema),"value"in S1&&t1(0,s1=S1.value),"bindings"in S1&&t1(6,l1=S1.bindings),"isTestModal"in S1&&t1(4,c1=S1.isTestModal)},n1.$$.update=()=>{n1.$$.dirty&64&&t1(5,r1=l1.map(S1=>{let O1=Object.assign({},S1);return O1.icon="ShareAndroid",O1}))},[s1,o1,i1,a1,c1,r1,l1,u1,f1,p1,d1,m1,_1,h1,g1,$1,y1,w1]}class RowSelectorTypes extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2R,create_fragment$2O,safe_not_equal,{onChange:1,field:2,schema:3,value:0,bindings:6,isTestModal:4})}}const RowSelector_svelte_svelte_type_style_lang="";function get_each_context$w(n1,e1,t1){const r1=n1.slice();return r1[19]=e1[t1][0],r1[20]=e1[t1][1],r1}function create_if_block$1s(n1){let e1,t1,r1=n1[4],o1=[];for(let a1=0;a1<r1.length;a1+=1)o1[a1]=create_each_block$w(get_each_context$w(n1,r1,a1));const i1=a1=>transition_out(o1[a1],1,1,()=>{o1[a1]=null});return{c(){e1=element("div");for(let a1=0;a1<o1.length;a1+=1)o1[a1].c();attr(e1,"class","schema-fields svelte-wmc004")},m(a1,s1){insert$1(a1,e1,s1);for(let l1=0;l1<o1.length;l1+=1)o1[l1].m(e1,null);t1=!0},p(a1,s1){if(s1&3551){r1=a1[4];let l1;for(l1=0;l1<r1.length;l1+=1){const c1=get_each_context$w(a1,r1,l1);o1[l1]?(o1[l1].p(c1,s1),transition_in(o1[l1],1)):(o1[l1]=create_each_block$w(c1),o1[l1].c(),transition_in(o1[l1],1),o1[l1].m(e1,null))}for(group_outros(),l1=r1.length;l1<o1.length;l1+=1)i1(l1);check_outros()}},i(a1){if(!t1){for(let s1=0;s1<r1.length;s1+=1)transition_in(o1[s1]);t1=!0}},o(a1){o1=o1.filter(Boolean);for(let s1=0;s1<o1.length;s1+=1)transition_out(o1[s1]);t1=!1},d(a1){a1&&detach(e1),destroy_each(o1,a1)}}}function create_if_block_1$N(n1){let e1,t1,r1=n1[20].type!=="attachment"&&create_if_block_2$w(n1);return{c(){r1&&r1.c(),e1=empty$1()},m(o1,i1){r1&&r1.m(o1,i1),insert$1(o1,e1,i1),t1=!0},p(o1,i1){o1[20].type!=="attachment"?r1?(r1.p(o1,i1),i1&16&&transition_in(r1,1)):(r1=create_if_block_2$w(o1),r1.c(),transition_in(r1,1),r1.m(e1.parentNode,e1)):r1&&(group_outros(),transition_out(r1,1,1,()=>{r1=null}),check_outros())},i(o1){t1||(transition_in(r1),t1=!0)},o(o1){transition_out(r1),t1=!1},d(o1){r1&&r1.d(o1),o1&&detach(e1)}}}function create_if_block_2$w(n1){let e1,t1,r1,o1;const i1=[create_if_block_3$j,create_else_block$A],a1=[];function s1(l1,c1){return l1[6]?1:0}return e1=s1(n1),t1=a1[e1]=i1[e1](n1),{c(){t1.c(),r1=empty$1()},m(l1,c1){a1[e1].m(l1,c1),insert$1(l1,r1,c1),o1=!0},p(l1,c1){let u1=e1;e1=s1(l1),e1===u1?a1[e1].p(l1,c1):(group_outros(),transition_out(a1[u1],1,1,()=>{a1[u1]=null}),check_outros(),t1=a1[e1],t1?t1.p(l1,c1):(t1=a1[e1]=i1[e1](l1),t1.c()),transition_in(t1,1),t1.m(r1.parentNode,r1))},i(l1){o1||(transition_in(t1),o1=!0)},o(l1){transition_out(t1),o1=!1},d(l1){a1[e1].d(l1),l1&&detach(r1)}}}function create_else_block$A(n1){let e1,t1,r1,o1,i1;function a1(...u1){return n1[15](n1[19],n1[20],...u1)}var s1=n1[2]?ModalBindableInput:DrawerBindableInput;function l1(u1){return{props:{placeholder:u1[8][u1[20].type],panel:ServerBindingPanel,value:Array.isArray(u1[0][u1[19]])?u1[0][u1[19]].join(","):u1[0][u1[19]],label:u1[19],type:"string",bindings:u1[7],fillWidth:!0,allowJS:!0,updateOnChange:!1}}}s1&&(t1=construct_svelte_component(s1,l1(n1)),t1.$on("change",a1));let c1=n1[3]&&n1[20].type==="link"&&create_if_block_4$c(n1);return{c(){e1=element("div"),t1&&create_component(t1.$$.fragment),r1=space$1(),c1&&c1.c(),o1=space$1()},m(u1,f1){insert$1(u1,e1,f1),t1&&mount_component(t1,e1,null),append$1(e1,r1),c1&&c1.m(e1,null),append$1(e1,o1),i1=!0},p(u1,f1){n1=u1;const p1={};if(f1&16&&(p1.placeholder=n1[8][n1[20].type]),f1&17&&(p1.value=Array.isArray(n1[0][n1[19]])?n1[0][n1[19]].join(","):n1[0][n1[19]]),f1&16&&(p1.label=n1[19]),f1&128&&(p1.bindings=n1[7]),s1!==(s1=n1[2]?ModalBindableInput:DrawerBindableInput)){if(t1){group_outros();const d1=t1;transition_out(d1.$$.fragment,1,0,()=>{destroy_component(d1,1)}),check_outros()}s1?(t1=construct_svelte_component(s1,l1(n1)),t1.$on("change",a1),create_component(t1.$$.fragment),transition_in(t1.$$.fragment,1),mount_component(t1,e1,r1)):t1=null}else s1&&t1.$set(p1);n1[3]&&n1[20].type==="link"?c1?(c1.p(n1,f1),f1&24&&transition_in(c1,1)):(c1=create_if_block_4$c(n1),c1.c(),transition_in(c1,1),c1.m(e1,o1)):c1&&(group_outros(),transition_out(c1,1,1,()=>{c1=null}),check_outros())},i(u1){i1||(t1&&transition_in(t1.$$.fragment,u1),transition_in(c1),i1=!0)},o(u1){t1&&transition_out(t1.$$.fragment,u1),transition_out(c1),i1=!1},d(u1){u1&&detach(e1),t1&&destroy_component(t1),c1&&c1.d()}}}function create_if_block_3$j(n1){let e1,t1;return e1=new RowSelectorTypes({props:{isTestModal:n1[2],field:n1[19],schema:n1[20],bindings:n1[7],value:n1[0],onChange:n1[10]}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&4&&(i1.isTestModal=r1[2]),o1&16&&(i1.field=r1[19]),o1&16&&(i1.schema=r1[20]),o1&128&&(i1.bindings=r1[7]),o1&1&&(i1.value=r1[0]),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_if_block_4$c(n1){var i1,a1;let e1,t1,r1;function o1(...s1){return n1[16](n1[19],...s1)}return t1=new Checkbox_1({props:{value:(a1=(i1=n1[1].fields)==null?void 0:i1[n1[19]])==null?void 0:a1.clearRelationships,text:"Clear relationships if empty?",size:"S"}}),t1.$on("change",o1),{c(){e1=element("div"),create_component(t1.$$.fragment),attr(e1,"class","checkbox-field svelte-wmc004")},m(s1,l1){insert$1(s1,e1,l1),mount_component(t1,e1,null),r1=!0},p(s1,l1){var u1,f1;n1=s1;const c1={};l1&18&&(c1.value=(f1=(u1=n1[1].fields)==null?void 0:u1[n1[19]])==null?void 0:f1.clearRelationships),t1.$set(c1)},i(s1){r1||(transition_in(t1.$$.fragment,s1),r1=!0)},o(s1){transition_out(t1.$$.fragment,s1),r1=!1},d(s1){s1&&detach(e1),destroy_component(t1)}}}function create_each_block$w(n1){let e1,t1,r1=!n1[20].autocolumn&&create_if_block_1$N(n1);return{c(){r1&&r1.c(),e1=empty$1()},m(o1,i1){r1&&r1.m(o1,i1),insert$1(o1,e1,i1),t1=!0},p(o1,i1){o1[20].autocolumn?r1&&(group_outros(),transition_out(r1,1,1,()=>{r1=null}),check_outros()):r1?(r1.p(o1,i1),i1&16&&transition_in(r1,1)):(r1=create_if_block_1$N(o1),r1.c(),transition_in(r1,1),r1.m(e1.parentNode,e1))},i(o1){t1||(transition_in(r1),t1=!0)},o(o1){transition_out(r1),t1=!1},d(o1){r1&&r1.d(o1),o1&&detach(e1)}}}function create_fragment$2N(n1){let e1,t1,r1,o1;e1=new Select_1$1({props:{value:n1[0].tableId,options:n1[5].list,getOptionLabel:func$a,getOptionValue:func_1$7}}),e1.$on("change",n1[9]);let i1=n1[4].length&&create_if_block$1s(n1);return{c(){create_component(e1.$$.fragment),t1=space$1(),i1&&i1.c(),r1=empty$1()},m(a1,s1){mount_component(e1,a1,s1),insert$1(a1,t1,s1),i1&&i1.m(a1,s1),insert$1(a1,r1,s1),o1=!0},p(a1,[s1]){const l1={};s1&1&&(l1.value=a1[0].tableId),s1&32&&(l1.options=a1[5].list),e1.$set(l1),a1[4].length?i1?(i1.p(a1,s1),s1&16&&transition_in(i1,1)):(i1=create_if_block$1s(a1),i1.c(),transition_in(i1,1),i1.m(r1.parentNode,r1)):i1&&(group_outros(),transition_out(i1,1,1,()=>{i1=null}),check_outros())},i(a1){o1||(transition_in(e1.$$.fragment,a1),transition_in(i1),o1=!0)},o(a1){transition_out(e1.$$.fragment,a1),transition_out(i1),o1=!1},d(a1){destroy_component(e1,a1),a1&&detach(t1),i1&&i1.d(a1),a1&&detach(r1)}}}const func$a=n1=>n1.name,func_1$7=n1=>n1._id;function instance$2Q(n1,e1,t1){let r1,o1,i1;component_subscribe(n1,tables,O1=>t1(5,i1=O1));const a1=createEventDispatcher();let{value:s1}=e1,{meta:l1}=e1,{bindings:c1}=e1,{block:u1}=e1,{isTestModal:f1}=e1,{isUpdateRow:p1}=e1,d1,m1,_1={number:10,boolean:"true",datetime:"2022-02-16T12:00:00.000Z ",options:"1",array:"1 2 3 4",link:"ro_ta_123_456",longform:"long form text"};const h1=O1=>{t1(0,s1.tableId=O1.detail,s1),a1("change",s1)},g1=(O1,C1)=>new RegExp(/{{([^{].*?)}}/g).test(O1)?O1:C1==="boolean"?typeof O1=="boolean"?O1:O1==="true":C1==="number"?typeof O1=="number"?O1:Number(O1):C1==="options"?O1:C1==="array"?Array.isArray(O1)?O1:O1.split(",").map(z1=>z1.trim()):C1==="link"?Array.isArray(O1)?O1:O1.split(",").map(z1=>z1.trim()):C1==="json"?O1.value:O1,$1=(O1,C1,M1)=>{let z1={...s1,[C1]:g1(O1.detail,M1)};a1("change",z1)},y1=(O1,C1)=>{let M1={};M1[C1]={clearRelationships:O1.detail},a1("change",{key:"meta",fields:M1})},w1=(O1,C1,M1)=>$1(M1,O1,C1.type),S1=(O1,C1)=>y1(C1,O1);return n1.$$set=O1=>{"value"in O1&&t1(0,s1=O1.value),"meta"in O1&&t1(1,l1=O1.meta),"bindings"in O1&&t1(12,c1=O1.bindings),"block"in O1&&t1(13,u1=O1.block),"isTestModal"in O1&&t1(2,f1=O1.isTestModal),"isUpdateRow"in O1&&t1(3,p1=O1.isUpdateRow)},n1.$$.update=()=>{var O1;n1.$$.dirty&4096&&t1(7,r1=c1.map(C1=>{let M1=Object.assign({},C1);return M1.icon="ShareAndroid",M1})),n1.$$.dirty&8192&&t1(6,o1=u1.rowControl),n1.$$.dirty&16433&&(t1(14,d1=i1.list.find(C1=>C1._id===(s1==null?void 0:s1.tableId))),t1(4,m1=Object.entries((O1=d1==null?void 0:d1.schema)!=null?O1:{})),m1.map(([,C1])=>{!C1.autocolumn&&!s1[C1.name]&&t1(0,s1[C1.name]="",s1)})),n1.$$.dirty&1&&(s1==null?void 0:s1.tableId)==null&&t1(0,s1={tableId:""})},[s1,l1,f1,p1,m1,i1,o1,r1,_1,h1,$1,y1,c1,u1,d1,w1,S1]}class RowSelector extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2Q,create_fragment$2N,safe_not_equal,{value:0,meta:1,bindings:12,block:13,isTestModal:2,isUpdateRow:3})}}const FieldSelector_svelte_svelte_type_style_lang="";function get_each_context$v(n1,e1,t1){const r1=n1.slice();return r1[9]=e1[t1][0],r1[10]=e1[t1][1],r1}function create_if_block$1r(n1){let e1,t1,r1=n1[3],o1=[];for(let a1=0;a1<r1.length;a1+=1)o1[a1]=create_each_block$v(get_each_context$v(n1,r1,a1));const i1=a1=>transition_out(o1[a1],1,1,()=>{o1[a1]=null});return{c(){e1=element("div");for(let a1=0;a1<o1.length;a1+=1)o1[a1].c();attr(e1,"class","schema-fields svelte-qnw5bo")},m(a1,s1){insert$1(a1,e1,s1);for(let l1=0;l1<o1.length;l1+=1)o1[l1].m(e1,null);t1=!0},p(a1,s1){if(s1&31){r1=a1[3];let l1;for(l1=0;l1<r1.length;l1+=1){const c1=get_each_context$v(a1,r1,l1);o1[l1]?(o1[l1].p(c1,s1),transition_in(o1[l1],1)):(o1[l1]=create_each_block$v(c1),o1[l1].c(),transition_in(o1[l1],1),o1[l1].m(e1,null))}for(group_outros(),l1=r1.length;l1<o1.length;l1+=1)i1(l1);check_outros()}},i(a1){if(!t1){for(let s1=0;s1<r1.length;s1+=1)transition_in(o1[s1]);t1=!0}},o(a1){o1=o1.filter(Boolean);for(let s1=0;s1<o1.length;s1+=1)transition_out(o1[s1]);t1=!1},d(a1){a1&&detach(e1),destroy_each(o1,a1)}}}function create_each_block$v(n1){let e1,t1;return e1=new RowSelectorTypes({props:{isTestModal:n1[2],field:n1[9],schema:n1[10],bindings:n1[1],value:n1[0],onChange:n1[4]}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,o1){const i1={};o1&4&&(i1.isTestModal=r1[2]),o1&8&&(i1.field=r1[9]),o1&8&&(i1.schema=r1[10]),o1&2&&(i1.bindings=r1[1]),o1&1&&(i1.value=r1[0]),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function create_fragment$2M(n1){let e1,t1,r1=n1[3].length&&n1[2]&&create_if_block$1r(n1);return{c(){r1&&r1.c(),e1=empty$1()},m(o1,i1){r1&&r1.m(o1,i1),insert$1(o1,e1,i1),t1=!0},p(o1,[i1]){o1[3].length&&o1[2]?r1?(r1.p(o1,i1),i1&12&&transition_in(r1,1)):(r1=create_if_block$1r(o1),r1.c(),transition_in(r1,1),r1.m(e1.parentNode,e1)):r1&&(group_outros(),transition_out(r1,1,1,()=>{r1=null}),check_outros())},i(o1){t1||(transition_in(r1),t1=!0)},o(o1){transition_out(r1),t1=!1},d(o1){r1&&r1.d(o1),o1&&detach(e1)}}}function instance$2P(n1,e1,t1){const r1=createEventDispatcher();let{value:o1}=e1,{bindings:i1}=e1,{block:a1}=e1,{isTestModal:s1}=e1,l1;const c1={BOOLEAN:null,NUMBER:null,DATETIME:null,STRING:"",OPTIONS:[],ARRAY:[]},u1=(p1,d1)=>new RegExp(/{{([^{].*?)}}/g).test(p1)?p1:d1==="boolean"?typeof p1=="boolean"?p1:p1==="true":d1==="number"?typeof p1=="number"?p1:Number(p1):d1==="options"?[p1]:d1==="array"?Array.isArray(p1)?p1:p1.split(",").map(_1=>_1.trim()):d1==="link"?Array.isArray(p1)?p1:[p1]:p1,f1=(p1,d1,m1)=>{t1(0,o1[d1]=u1(p1.detail,m1),o1),r1("change",o1)};return n1.$$set=p1=>{"value"in p1&&t1(0,o1=p1.value),"bindings"in p1&&t1(1,i1=p1.bindings),"block"in p1&&t1(5,a1=p1.block),"isTestModal"in p1&&t1(2,s1=p1.isTestModal)},n1.$$.update=()=>{var p1,d1;if(n1.$$.dirty&33){let m1={};for(const[_1,h1]of Object.entries((d1=(p1=a1==null?void 0:a1.inputs)==null?void 0:p1.fields)!=null?d1:{}))m1={...m1,[_1]:{type:h1,name:_1,fieldName:_1,constraints:{type:h1}}},o1[_1]===h1&&t1(0,o1[_1]=c1[h1.toUpperCase()],o1);t1(3,l1=Object.entries(m1))}},[o1,i1,s1,l1,f1,a1]}class FieldSelector extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2P,create_fragment$2M,safe_not_equal,{value:0,bindings:1,block:5,isTestModal:2})}}const SchemaSetup_svelte_svelte_type_style_lang="";function get_each_context$u(n1,e1,t1){const r1=n1.slice();return r1[9]=e1[t1],r1}function create_each_block$u(n1){let e1,t1,r1,o1,i1,a1,s1,l1,c1;t1=new Input$5({props:{value:n1[9].name,secondary:!0,placeholder:"Enter field name",updateOnChange:!1}}),t1.$on("change",function(){is_function(n1[6](n1[9].name))&&n1[6](n1[9].name).apply(this,arguments)});function u1(...p1){return n1[7](n1[9],...p1)}o1=new Select_1$1({props:{value:n1[9].type,options:n1[3]}}),o1.$on("change",u1);function f1(){return n1[8](n1[9])}return{c(){e1=element("div"),create_component(t1.$$.fragment),r1=space$1(),create_component(o1.$$.fragment),i1=space$1(),a1=element("i"),attr(a1,"class","remove-field ri-delete-bin-line"),attr(e1,"class","field svelte-12q6c1o")},m(p1,d1){insert$1(p1,e1,d1),mount_component(t1,e1,null),append$1(e1,r1),mount_component(o1,e1,null),append$1(e1,i1),append$1(e1,a1),s1=!0,l1||(c1=listen(a1,"click",f1),l1=!0)},p(p1,d1){n1=p1;const m1={};d1&2&&(m1.value=n1[9].name),t1.$set(m1);const _1={};d1&2&&(_1.value=n1[9].type),o1.$set(_1)},i(p1){s1||(transition_in(t1.$$.fragment,p1),transition_in(o1.$$.fragment,p1),s1=!0)},o(p1){transition_out(t1.$$.fragment,p1),transition_out(o1.$$.fragment,p1),s1=!1},d(p1){p1&&detach(e1),destroy_component(t1),destroy_component(o1),l1=!1,c1()}}}function create_default_slot$1Y(n1){let e1;return{c(){e1=text("Add field")},m(t1,r1){insert$1(t1,e1,r1)},d(t1){t1&&detach(e1)}}}function create_fragment$2L(n1){let e1,t1,r1,o1,i1,a1,s1=n1[1],l1=[];for(let u1=0;u1<s1.length;u1+=1)l1[u1]=create_each_block$u(get_each_context$u(n1,s1,u1));const c1=u1=>transition_out(l1[u1],1,1,()=>{l1[u1]=null});return i1=new Button({props:{quiet:!0,secondary:!0,icon:"Add",$$slots:{default:[create_default_slot$1Y]},$$scope:{ctx:n1}}}),i1.$on("click",n1[4]),{c(){e1=element("div"),t1=element("div"),r1=space$1();for(let u1=0;u1<l1.length;u1+=1)l1[u1].c();o1=space$1(),create_component(i1.$$.fragment),attr(t1,"class","spacer svelte-12q6c1o"),attr(e1,"class","root svelte-12q6c1o")},m(u1,f1){insert$1(u1,e1,f1),append$1(e1,t1),append$1(e1,r1);for(let p1=0;p1<l1.length;p1+=1)l1[p1].m(e1,null);append$1(e1,o1),mount_component(i1,e1,null),a1=!0},p(u1,[f1]){if(f1&111){s1=u1[1];let d1;for(d1=0;d1<s1.length;d1+=1){const m1=get_each_context$u(u1,s1,d1);l1[d1]?(l1[d1].p(m1,f1),transition_in(l1[d1],1)):(l1[d1]=create_each_block$u(m1),l1[d1].c(),transition_in(l1[d1],1),l1[d1].m(e1,o1))}for(group_outros(),d1=s1.length;d1<l1.length;d1+=1)c1(d1);check_outros()}const p1={};f1&4096&&(p1.$$scope={dirty:f1,ctx:u1}),i1.$set(p1)},i(u1){if(!a1){for(let f1=0;f1<s1.length;f1+=1)transition_in(l1[f1]);transition_in(i1.$$.fragment,u1),a1=!0}},o(u1){l1=l1.filter(Boolean);for(let f1=0;f1<l1.length;f1+=1)transition_out(l1[f1]);transition_out(i1.$$.fragment,u1),a1=!1},d(u1){u1&&detach(e1),destroy_each(l1,u1),destroy_component(i1)}}}function instance$2O(n1,e1,t1){let r1;const o1=createEventDispatcher();let{value:i1={}}=e1;const a1=[{label:"Text",value:"string"},{label:"Number",value:"number"},{label:"Boolean",value:"boolean"},{label:"DateTime",value:"datetime"},{label:"Array",value:"array"}];function s1(){const p1={...i1};p1[""]="string",o1("change",p1)}function l1(p1){const d1={...i1};delete d1[p1],o1("change",d1)}const c1=p1=>d1=>{let m1=[...r1];const _1=d1.detail;_1?m1.find(h1=>h1.name===p1).name=_1:m1=m1.filter(h1=>h1.name!==p1),t1(0,i1=m1.reduce((h1,g1)=>(h1[g1.name.trim()]=g1.type,h1),{})),o1("change",i1)},u1=(p1,d1)=>{t1(0,i1[p1.name]=d1.detail,i1),o1("change",i1)},f1=p1=>l1(p1.name);return n1.$$set=p1=>{"value"in p1&&t1(0,i1=p1.value)},n1.$$.update=()=>{n1.$$.dirty&1&&t1(1,r1=i1?Object.entries(i1).map(([p1,d1])=>({name:p1,type:d1})):[])},[i1,r1,o1,a1,s1,l1,c1,u1,f1]}class SchemaSetup extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2O,create_fragment$2L,safe_not_equal,{value:0})}}function create_fragment$2K(n1){let e1,t1;return e1=new CopyInput({props:{value:fullWebhookURL(n1[0])}}),{c(){create_component(e1.$$.fragment)},m(r1,o1){mount_component(e1,r1,o1),t1=!0},p(r1,[o1]){const i1={};o1&1&&(i1.value=fullWebhookURL(r1[0])),e1.$set(i1)},i(r1){t1||(transition_in(e1.$$.fragment,r1),t1=!0)},o(r1){transition_out(e1.$$.fragment,r1),t1=!1},d(r1){destroy_component(e1,r1)}}}function fullWebhookURL(n1){return n1?`${window.location.origin}/${n1}`:""}function instance$2N(n1,e1,t1){let{value:r1}=e1;return n1.$$set=o1=>{"value"in o1&&t1(0,r1=o1.value)},[r1]}class WebhookDisplay extends SvelteComponent{constructor(e1){super(),init$2(this,e1,instance$2N,create_fragment$2K,safe_not_equal,{value:0})}}const CreateWebhookModal_svelte_svelte_type_style_lang="";function create_if_block$1q(n1){let e1,t1,r1,o1,i1=n1[2]>1?"s":"",a1,s1;return{c(){e1=element("p"),t1=text(`Request received! We found
1740
1740
  `),r1=text(n1[2]),o1=text(`
1741
1741
  bindable value`),a1=text(i1),s1=text("."),attr(e1,"class","finished-text svelte-12gur68")},m(l1,c1){insert$1(l1,e1,c1),append$1(e1,t1),append$1(e1,r1),append$1(e1,o1),append$1(e1,a1),append$1(e1,s1)},p(l1,c1){c1&4&&set_data(r1,l1[2]),c1&4&&i1!==(i1=l1[2]>1?"s":"")&&set_data(a1,i1)},d(l1){l1&&detach(e1)}}}function create_default_slot$1X(n1){let e1,t1,r1,o1,i1,a1;r1=new WebhookDisplay({props:{value:n1[1]}});let s1=n1[0]&&create_if_block$1q(n1);return{c(){e1=element("p"),e1.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.c54b3361.js"></script>
12
+ <script type="module" crossorigin src="/builder/assets/index.a6d08aaa.js"></script>
13
13
  <link rel="stylesheet" href="/builder/assets/index.22c4876c.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.10.12-alpha.6",
4
+ "version": "2.10.12-alpha.8",
5
5
  "description": "Budibase Web Server",
6
6
  "main": "src/index.ts",
7
7
  "repository": {
@@ -46,12 +46,12 @@
46
46
  "license": "GPL-3.0",
47
47
  "dependencies": {
48
48
  "@apidevtools/swagger-parser": "10.0.3",
49
- "@budibase/backend-core": "2.10.12-alpha.6",
50
- "@budibase/client": "2.10.12-alpha.6",
51
- "@budibase/pro": "2.10.12-alpha.6",
52
- "@budibase/shared-core": "2.10.12-alpha.6",
53
- "@budibase/string-templates": "2.10.12-alpha.6",
54
- "@budibase/types": "2.10.12-alpha.6",
49
+ "@budibase/backend-core": "2.10.12-alpha.8",
50
+ "@budibase/client": "2.10.12-alpha.8",
51
+ "@budibase/pro": "2.10.12-alpha.8",
52
+ "@budibase/shared-core": "2.10.12-alpha.8",
53
+ "@budibase/string-templates": "2.10.12-alpha.8",
54
+ "@budibase/types": "2.10.12-alpha.8",
55
55
  "@bull-board/api": "3.7.0",
56
56
  "@bull-board/koa": "3.9.4",
57
57
  "@elastic/elasticsearch": "7.10.0",
@@ -195,5 +195,5 @@
195
195
  }
196
196
  }
197
197
  },
198
- "gitHead": "67ec5de5941834dbedd4896bf027d87fe1434bf7"
198
+ "gitHead": "ab70891aa49e55dedeb775de826ceace17b9538a"
199
199
  }