@budibase/server 3.3.3 → 3.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/builder/assets/{index-5fd1bf1c.js → index-3199ca61.js} +4 -4
- package/builder/assets/{index-5c106eca.css → index-fae37678.css} +1 -1
- package/builder/index.html +2 -2
- package/client/budibase-client.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/yarn.lock +3 -3
- package/package.json +2 -2
- package/src/api/routes/tests/automation.spec.ts +215 -231
- package/src/api/routes/tests/utilities/TestFunctions.ts +0 -9
- package/src/tests/utilities/TestConfiguration.ts +5 -1
- package/src/tests/utilities/api/automation.ts +86 -5
- package/src/tests/utilities/api/index.ts +24 -24
- package/src/tests/utilities/structures.ts +35 -29
|
@@ -472,7 +472,7 @@ function print() { __p += __j.call(arguments, '') }
|
|
|
472
472
|
${ao[2]?`font-weight:${ao[2]};`:""}
|
|
473
473
|
${ao[3]?`text-align:${ao[3]};`:""}
|
|
474
474
|
${ao[4]?`color:${ao[4]};`:""}
|
|
475
|
-
`))&&attr(ue,"style",eo),(!ro||so&1&&no!==(no="spectrum-Body spectrum-Body--size"+ao[0]+" svelte-10a30y"))&&attr(ue,"class",no),(!ro||so&3)&&toggle_class(ue,"spectrum-Body--serif",ao[1])},i(ao){ro||(transition_in(io,ao),ro=!0)},o(ao){transition_out(io,ao),ro=!1},d(ao){ao&&detach(ue),io&&io.d(ao)}}}function instance$a4(to,ue,eo){let{$$slots:no={},$$scope:ro}=ue,{size:oo="M"}=ue,{serif:io=!1}=ue,{weight:ao=null}=ue,{textAlign:so=null}=ue,{color:lo=null}=ue;return to.$$set=co=>{"size"in co&&eo(0,oo=co.size),"serif"in co&&eo(1,io=co.serif),"weight"in co&&eo(2,ao=co.weight),"textAlign"in co&&eo(3,so=co.textAlign),"color"in co&&eo(4,lo=co.color),"$$scope"in co&&eo(5,ro=co.$$scope)},[oo,io,ao,so,lo,ro,no]}class Body extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$a4,create_fragment$a7,safe_not_equal,{size:0,serif:1,weight:2,textAlign:3,color:4})}}const Heading_svelte_svelte_type_style_lang="";function create_fragment$a6(to){let ue,eo,no,ro;const oo=to[5].default,io=create_slot(oo,to,to[4],null);return{c(){ue=element("h1"),io&&io.c(),attr(ue,"data-testid","typography-heading"),attr(ue,"style",eo=to[1]?`text-align:${to[1]}`:""),attr(ue,"class",no="spectrum-Heading spectrum-Heading--size"+to[0]+" spectrum-Heading--"+to[3]+" svelte-3sm8u5"),toggle_class(ue,"noPadding",to[2])},m(ao,so){insert$1(ao,ue,so),io&&io.m(ue,null),ro=!0},p(ao,[so]){io&&io.p&&(!ro||so&16)&&update_slot_base(io,oo,ao,ao[4],ro?get_slot_changes(oo,ao[4],so,null):get_all_dirty_from_scope(ao[4]),null),(!ro||so&2&&eo!==(eo=ao[1]?`text-align:${ao[1]}`:""))&&attr(ue,"style",eo),(!ro||so&9&&no!==(no="spectrum-Heading spectrum-Heading--size"+ao[0]+" spectrum-Heading--"+ao[3]+" svelte-3sm8u5"))&&attr(ue,"class",no),(!ro||so&13)&&toggle_class(ue,"noPadding",ao[2])},i(ao){ro||(transition_in(io,ao),ro=!0)},o(ao){transition_out(io,ao),ro=!1},d(ao){ao&&detach(ue),io&&io.d(ao)}}}function instance$a3(to,ue,eo){let{$$slots:no={},$$scope:ro}=ue,{size:oo="M"}=ue,{textAlign:io=void 0}=ue,{noPadding:ao=!1}=ue,{weight:so="default"}=ue;return to.$$set=lo=>{"size"in lo&&eo(0,oo=lo.size),"textAlign"in lo&&eo(1,io=lo.textAlign),"noPadding"in lo&&eo(2,ao=lo.noPadding),"weight"in lo&&eo(3,so=lo.weight),"$$scope"in lo&&eo(4,ro=lo.$$scope)},[oo,io,ao,so,ro,no]}class Heading extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$a3,create_fragment$a6,safe_not_equal,{size:0,textAlign:1,noPadding:2,weight:3})}}var HTTPMethod=(to=>(to.POST="POST",to.PATCH="PATCH",to.GET="GET",to.PUT="PUT",to.DELETE="DELETE",to))(HTTPMethod||{});const BannedSearchTypes=[FieldType.LINK,FieldType.ATTACHMENT_SINGLE,FieldType.ATTACHMENTS,FieldType.FORMULA,FieldType.JSON,FieldType.ATTACHMENT_SINGLE,FieldType.SIGNATURE_SINGLE,"jsonarray","queryarray"],Cookies={Auth:"budibase:auth",CurrentApp:"budibase:currentapp",ReturnUrl:"budibase:returnurl",AccountReturnUrl:"budibase:account:returnurl",OnboardingProcessCorrelationKey:BpmCorrelationKey.ONBOARDING};var TableNames$1=(to=>(to.USERS="ta_users",to))(TableNames$1||{});const BudibaseRoles={AppUser:"appUser",Developer:"developer",Creator:"creator",Admin:"admin",Owner:"owner"},BudibaseRoleOptionsOld=[{label:"Developer",value:BudibaseRoles.Developer}],BudibaseRoleOptions=[{label:"Account admin",value:BudibaseRoles.Admin,subtitle:"Has full access to all apps and settings in your account",sortOrder:1},{label:"Creator",value:BudibaseRoles.Creator,subtitle:"Can create and edit apps they have access to",sortOrder:2},{label:"App user",value:BudibaseRoles.AppUser,subtitle:"Can only use published apps they have access to",sortOrder:3}],ExtendedBudibaseRoleOptions=[{label:"Account holder",value:BudibaseRoles.Owner,sortOrder:0},...BudibaseRoleOptions,...BudibaseRoleOptionsOld],PlanType={FREE:"free",TEAM:"team",PRO:"pro",BUSINESS:"business",PREMIUM:"premium",ENTERPRISE:"enterprise",ENTERPRISE_BASIC_TRIAL:"enterprise_basic_trial"},ApiVersion="1",Roles$2={ADMIN:"ADMIN",POWER:"POWER",BASIC:"BASIC",PUBLIC:"PUBLIC",BUILDER:"BUILDER",CREATOR:"CREATOR"},EventPublishType={ENV_VAR_UPGRADE_PANEL_OPENED:"environment_variable_upgrade_panel_opened"},ContextScopes$2={Local:"local",Global:"global"},TypeIconMap$1={[FieldType.STRING]:"Text",[FieldType.OPTIONS]:"Dropdown",[FieldType.DATETIME]:"Calendar",[FieldType.BARCODEQR]:"Camera",[FieldType.SIGNATURE_SINGLE]:"AnnotatePen",[FieldType.LONGFORM]:"TextAlignLeft",[FieldType.ARRAY]:"Duplicate",[FieldType.NUMBER]:"123",[FieldType.BOOLEAN]:"Boolean",[FieldType.ATTACHMENTS]:"DocumentFragmentGroup",[FieldType.ATTACHMENT_SINGLE]:"DocumentFragment",[FieldType.LINK]:"DataCorrelated",[FieldType.FORMULA]:"Calculator",[FieldType.AI]:"MagicWand",[FieldType.JSON]:"Brackets",[FieldType.BIGINT]:"TagBold",[FieldType.AUTO]:"Shapes",[FieldType.BB_REFERENCE]:{[BBReferenceFieldSubType.USER]:"UserGroup",[BBReferenceFieldSubType.USERS]:"UserGroup"},[FieldType.BB_REFERENCE_SINGLE]:{[BBReferenceFieldSubType.USER]:"User"}},OptionColours=[...new Array(12).keys()].map(to=>`hsla(${(to+1)*222%360}, 90%, 75%, 0.3)`),FilterOperator={ANY:"any",ALL:"all"},OnEmptyFilter={RETURN_ALL:"all",RETURN_NONE:"none"},FilterValueType={BINDING:"Binding",VALUE:"Value"},FieldPermissions$1={WRITABLE:"writable",READONLY:"readonly",HIDDEN:"hidden"},Constants$1=Object.freeze(Object.defineProperty({__proto__:null,ApiVersion,BannedSearchTypes,BudibaseRoleOptions,BudibaseRoleOptionsOld,BudibaseRoles,ContextScopes:ContextScopes$2,Cookies,DEFAULT_BB_DATASOURCE_ID:DEFAULT_BB_DATASOURCE_ID$1,EventPublishType,ExtendedBudibaseRoleOptions,Features:Feature,FieldPermissions:FieldPermissions$1,FilterOperator,FilterValueType,OnEmptyFilter,OperatorOptions,OptionColours,PlanType,Roles:Roles$2,SqlNumberTypeRangeMap,TableNames:TableNames$1,TypeIconMap:TypeIconMap$1},Symbol.toStringTag,{value:"Module"})),buildAnalyticsEndpoints=to=>({getAnalyticsStatus:async()=>await to.get({url:"/api/bbtel"}),analyticsPing:async ue=>await to.post({url:"/api/bbtel/ping",body:{...ue,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone}})}),buildAIEndpoints=to=>({generateCronExpression:async ue=>await to.post({url:"/api/ai/cron",body:{prompt:ue}})}),buildAppEndpoints=to=>({fetchAppPackage:async ue=>await to.get({url:`/api/applications/${ue}/appPackage`}),saveAppMetadata:async(ue,eo)=>await to.put({url:`/api/applications/${ue}`,body:eo}),publishAppChanges:async ue=>await to.post({url:`/api/applications/${ue}/publish`}),revertAppChanges:async ue=>await to.post({url:`/api/dev/${ue}/revert`}),updateAppClientVersion:async ue=>await to.post({url:`/api/applications/${ue}/client/update`}),revertAppClientVersion:async ue=>await to.post({url:`/api/applications/${ue}/client/revert`}),getAppDeployments:async()=>await to.get({url:"/api/deployments"}),createApp:async ue=>await to.post({url:"/api/applications",body:ue,json:!1}),duplicateApp:async(ue,eo)=>await to.post({url:`/api/applications/${ue}/duplicate`,body:eo,json:!1}),updateAppFromExport:async(ue,eo)=>{const no=getDevAppID(ue);return await to.post({url:`/api/applications/${no}/import`,body:eo,json:!1})},importApps:async ue=>await to.post({url:"/api/cloud/import",body:ue,json:!1}),unpublishApp:async ue=>await to.post({url:`/api/applications/${ue}/unpublish`}),deleteApp:async ue=>await to.delete({url:`/api/applications/${ue}`}),releaseAppLock:async ue=>await to.delete({url:`/api/dev/${ue}/lock`}),fetchSystemDebugInfo:async()=>await to.get({url:"/api/debug/diagnostics"}),syncApp:async ue=>await to.post({url:`/api/applications/${ue}/sync`}),getApps:async()=>await to.get({url:"/api/applications?status=all"}),fetchComponentLibDefinitions:async ue=>await to.get({url:`/api/${ue}/components/definitions`}),addSampleData:async ue=>await to.post({url:`/api/applications/${ue}/sample`}),setRevertableVersion:async(ue,eo)=>await to.post({url:`/api/applications/${ue}/setRevertableVersion`,body:{revertableVersion:eo}})}),buildAttachmentEndpoints=to=>{const ue={getSignedDatasourceURL:async(eo,no,ro)=>await to.post({url:`/api/attachments/${eo}/url`,body:{bucket:no,key:ro}})};return{...ue,uploadAttachment:async(eo,no)=>await to.post({url:`/api/attachments/${eo}/upload`,body:no,json:!1}),uploadBuilderAttachment:async eo=>await to.post({url:"/api/attachments/process",body:eo,json:!1}),externalUpload:async(eo,no,ro,oo)=>{const{signedUrl:io,publicUrl:ao}=await ue.getSignedDatasourceURL(eo,no,ro);return io?(await to.put({url:io,body:oo,json:!1,external:!0,parseResponse:so=>so}),{publicUrl:ao}):{publicUrl:void 0}},downloadAttachment:async(eo,no,ro)=>await to.get({url:`/api/${eo}/rows/${no}/attachment/${ro}`,parseResponse:oo=>oo,suppressErrors:!0})}},buildAuthEndpoints=to=>({logIn:async(ue,eo,no)=>await to.post({url:`/api/global/auth/${ue}/login`,body:{username:eo,password:no}}),logOut:async()=>await to.post({url:"/api/global/auth/logout"}),setInitInfo:async ue=>await to.post({url:"/api/global/auth/init",body:ue}),getInitInfo:async()=>await to.get({url:"/api/global/auth/init"}),requestForgotPassword:async(ue,eo)=>await to.post({url:`/api/global/auth/${ue}/reset`,body:{email:eo}}),resetPassword:async(ue,eo,no)=>await to.post({url:`/api/global/auth/${ue}/reset/update`,body:{password:eo,resetCode:no}})}),buildAutomationEndpoints=to=>({triggerAutomation:async(ue,eo,no)=>await to.post({url:`/api/automations/${ue}/trigger`,body:{fields:eo,timeout:no}}),testAutomation:async(ue,eo)=>await to.post({url:`/api/automations/${ue}/test`,body:eo}),getAutomations:async()=>await to.get({url:"/api/automations"}),getAutomationDefinitions:async()=>await to.get({url:"/api/automations/definitions/list"}),createAutomation:async ue=>await to.post({url:"/api/automations",body:ue}),updateAutomation:async ue=>await to.put({url:"/api/automations",body:ue}),deleteAutomation:async(ue,eo)=>await to.delete({url:`/api/automations/${ue}/${eo}`}),getAutomationLogs:async ue=>await to.post({url:"/api/automations/logs/search",body:ue}),clearAutomationLogErrors:async(ue,eo)=>await to.delete({url:"/api/automations/logs",body:{appId:eo,automationId:ue}})}),buildConfigEndpoints=to=>({saveConfig:async ue=>await to.post({url:"/api/global/configs",body:ue}),getConfig:async ue=>await to.get({url:`/api/global/configs/${ue}`}),deleteConfig:async(ue,eo)=>await to.delete({url:`/api/global/configs/${ue}/${eo}`}),getTenantConfig:async ue=>await to.get({url:`/api/global/configs/public?tenantId=${ue}`}),getOIDCConfigs:async ue=>await to.get({url:`/api/global/configs/public/oidc?tenantId=${ue}`}),getChecklist:async ue=>await to.get({url:`/api/global/configs/checklist?tenantId=${ue}`}),uploadLogo:async ue=>await to.post({url:"/api/global/configs/upload/settings/logoUrl",body:ue,json:!1}),uploadFavicon:async ue=>await to.post({url:"/api/global/configs/upload/settings/faviconUrl",body:ue,json:!1}),uploadOIDCLogo:async(ue,eo)=>await to.post({url:`/api/global/configs/upload/logos_oidc/${ue}`,body:eo,json:!1}),getOIDCLogos:async()=>await to.get({url:"/api/global/configs/logos_oidc"})}),buildDatasourceEndpoints=to=>({getDatasources:async()=>await to.get({url:"/api/datasources"}),buildDatasourceSchema:async(ue,eo)=>await to.post({url:`/api/datasources/${ue}/schema`,body:{tablesFilter:eo}}),createDatasource:async ue=>await to.post({url:"/api/datasources",body:ue}),updateDatasource:async ue=>await to.put({url:`/api/datasources/${ue._id}`,body:ue}),deleteDatasource:async(ue,eo)=>await to.delete({url:`/api/datasources/${ue}/${eo}`}),validateDatasource:async ue=>await to.post({url:"/api/datasources/verify",body:{datasource:ue}}),fetchInfoForDatasource:async ue=>await to.post({url:"/api/datasources/info",body:{datasource:ue}}),fetchExternalSchema:async ue=>await to.get({url:`/api/datasources/${ue}/schema/external`})}),buildFlagEndpoints=to=>({getFlags:async()=>await to.get({url:"/api/users/flags"}),updateFlag:async(ue,eo)=>await to.post({url:"/api/users/flags",body:{flag:ue,value:eo}}),toggleUiFeature:async ue=>await to.post({url:`/api/beta/${ue}`})}),buildLayoutEndpoints=to=>({saveLayout:async ue=>await to.post({url:"/api/layouts",body:ue}),deleteLayout:async(ue,eo)=>await to.delete({url:`/api/layouts/${ue}/${eo}`})}),buildOtherEndpoints=to=>({getEnvironment:async()=>await to.get({url:"/api/system/environment"}),getSystemStatus:async()=>await to.get({url:"/api/system/status"}),getIntegrations:async()=>await to.get({url:"/api/integrations"}),getBudibaseVersion:async()=>(await to.get({url:"/api/dev/version"})).version,getBasePermissions:async()=>await to.get({url:"/api/permission/builtin"})}),buildPermissionsEndpoints=to=>({getPermissionForResource:async ue=>await to.get({url:`/api/permission/${ue}`}),updatePermissionForResource:async(ue,eo,no)=>await to.post({url:`/api/permission/${eo}/${ue}/${no}`}),removePermissionFromResource:async(ue,eo,no)=>await to.delete({url:`/api/permission/${eo}/${ue}/${no}`}),getDependants:async ue=>await to.get({url:`/api/permission/${ue}/dependants`})}),buildQueryEndpoints=to=>({executeQuery:async(ue,{pagination:eo,parameters:no}={})=>await to.post({url:`/api/v2/queries/${ue}`,body:{parameters:no,pagination:eo}}),fetchQueryDefinition:async ue=>await to.get({url:`/api/queries/${ue}`,cache:!0}),getQueries:async()=>await to.get({url:"/api/queries"}),saveQuery:async ue=>await to.post({url:"/api/queries",body:ue}),deleteQuery:async(ue,eo)=>await to.delete({url:`/api/queries/${ue}/${eo}`}),importQueries:async ue=>await to.post({url:"/api/queries/import",body:ue}),previewQuery:async ue=>await to.post({url:"/api/queries/preview",body:ue})}),buildRelationshipEndpoints=to=>({fetchRelationshipData:async(ue,eo,no)=>{const ro=await to.get({url:`/api/${ue}/${eo}/enrich?field=${no}`});return no?ro[no]||[]:[ro]}}),buildRoleEndpoints=to=>({deleteRole:async(ue,eo)=>await to.delete({url:`/api/roles/${ue}/${eo}`}),saveRole:async ue=>await to.post({url:"/api/roles",body:ue}),getRoles:async()=>await to.get({url:"/api/roles"}),getRolesForApp:async ue=>await to.get({url:`/api/global/roles/${ue}`}),getAccessibleRoles:async()=>await to.get({url:"/api/roles/accessible"})}),buildRouteEndpoints=to=>({fetchClientAppRoutes:async()=>await to.get({url:"/api/routing/client"}),fetchAppRoutes:async()=>await to.get({url:"/api/routing"})}),buildRowEndpoints=to=>({fetchRow:async(ue,eo)=>await to.get({url:`/api/${ue}/rows/${eo}`}),saveRow:async(ue,eo=!1)=>{const no=ue._viewId||ue.tableId;return await to.post({url:`/api/${no}/rows`,body:ue,suppressErrors:eo})},patchRow:async(ue,eo=!1)=>{const no=ue._viewId||ue.tableId;return await to.patch({url:`/api/${no}/rows`,body:ue,suppressErrors:eo})},deleteRow:async(ue,eo)=>await to.delete({url:`/api/${ue}/rows`,body:{_id:eo}}),deleteRows:async(ue,eo)=>(eo.forEach(no=>{typeof no=="object"&&(no==null||delete no._viewId)}),await to.delete({url:`/api/${ue}/rows`,body:{rows:eo}})),exportRows:async(ue,eo,no)=>await to.post({url:`/api/${ue}/rows/exportRows?format=${eo}`,body:no,parseResponse:async ro=>await ro.text()})}),buildScreenEndpoints=to=>({saveScreen:async ue=>await to.post({url:"/api/screens",body:ue}),deleteScreen:async(ue,eo)=>await to.delete({url:`/api/screens/${ue}/${eo}`})}),buildTableEndpoints=to=>({fetchTableDefinition:async ue=>await to.get({url:`/api/tables/${ue}`,cache:!0}),fetchTableData:async ue=>await to.get({url:`/api/${ue}/rows`}),searchTable:async(ue,eo)=>await to.post({url:`/api/${ue}/search`,body:eo}),importTableData:async(ue,eo,no)=>await to.post({url:`/api/tables/${ue}/import`,body:{rows:eo,identifierFields:no}}),csvToJson:async ue=>await to.post({url:"/api/convert/csvToJson",body:{csvString:ue}}),getTables:async()=>await to.get({url:"/api/tables"}),getTable:async ue=>await to.get({url:`/api/tables/${ue}`}),saveTable:async ue=>await to.post({url:"/api/tables",body:ue}),deleteTable:async(ue,eo)=>await to.delete({url:`/api/tables/${ue}/${eo}`}),validateNewTableImport:async(ue,eo)=>await to.post({url:"/api/tables/validateNewTableImport",body:{rows:ue,schema:eo}}),validateExistingTableImport:async(ue,eo)=>await to.post({url:"/api/tables/validateExistingTableImport",body:{rows:ue,tableId:eo}}),migrateColumn:async(ue,eo,no)=>await to.post({url:`/api/tables/${ue}/migrate`,body:{oldColumn:eo,newColumn:no}})}),buildTemplateEndpoints=to=>({getEmailTemplateDefinitions:async()=>await to.get({url:"/api/global/template/definitions"}),getEmailTemplates:async()=>await to.get({url:"/api/global/template/email"}),saveEmailTemplate:async ue=>await to.post({url:"/api/global/template",body:ue}),getAppTemplates:async()=>await to.get({url:"/api/templates"})}),buildUserEndpoints=to=>({getUsers:async()=>await to.get({url:"/api/global/users"}),searchUsers:async ue=>await to.post({url:"/api/global/users/search",body:ue}),getUser:async ue=>await to.get({url:`/api/global/users/${ue}`}),updateOwnMetadata:async ue=>await to.post({url:"/api/users/metadata/self",body:ue}),createAdminUser:async ue=>await to.post({url:"/api/global/users/init",body:ue}),saveUser:async ue=>await to.post({url:"/api/global/users",body:ue}),createUsers:async(ue,eo)=>(await to.post({url:"/api/global/users/bulk",body:{create:{users:ue,groups:eo}}})).created,deleteUser:async ue=>await to.delete({url:`/api/global/users/${ue}`}),deleteUsers:async ue=>(await to.post({url:"/api/global/users/bulk",body:{delete:{users:ue}}})).deleted,onboardUsers:async ue=>await to.post({url:"/api/global/users/onboard",body:ue}),updateUserInvite:async(ue,eo)=>await to.post({url:`/api/global/users/invite/update/${ue}`,body:eo}),getUserInvite:async ue=>await to.get({url:`/api/global/users/invite/${ue}`}),getUserInvites:async()=>await to.get({url:"/api/global/users/invites"}),inviteUsers:async ue=>await to.post({url:"/api/global/users/multi/invite",body:ue}),removeUserInvites:async ue=>await to.post({url:"/api/global/users/multi/invite/delete",body:ue}),acceptInvite:async ue=>await to.post({url:"/api/global/users/invite/accept",body:ue}),getUserCountByApp:async ue=>(await to.get({url:`/api/global/users/count/${ue}`})).userCount,addAppBuilder:async(ue,eo)=>await to.post({url:`/api/global/users/${ue}/app/${eo}/builder`}),removeAppBuilder:async(ue,eo)=>await to.delete({url:`/api/global/users/${ue}/app/${eo}/builder`}),getAccountHolder:async()=>await to.get({url:"/api/global/users/accountholder"})}),buildSelfEndpoints=to=>({generateAPIKey:async()=>{const ue=await to.post({url:"/api/global/self/api_key"});return ue==null?void 0:ue.apiKey},fetchDeveloperInfo:async()=>to.get({url:"/api/global/self/api_key"}),fetchSelf:async()=>await to.get({url:"/api/self"}),fetchBuilderSelf:async()=>await to.get({url:"/api/global/self"}),updateSelf:async ue=>await to.post({url:"/api/global/self",body:ue})}),buildViewEndpoints=to=>({fetchViewData:async(ue,{field:eo,groupBy:no,calculation:ro})=>{const oo=new URLSearchParams;ro&&(eo&&oo.set("field",eo),oo.set("calculation",ro)),no&&oo.set("group",no);const io=eo?`/api/views/${encodeURIComponent(ue)}?${oo}`:`/api/views/${encodeURIComponent(ue)}`;return await to.get({url:io})},exportView:async(ue,eo)=>{const no=encodeURIComponent(ue);return await to.get({url:`/api/views/export?view=${no}&format=${eo}`,parseResponse:async ro=>await ro.text()})},saveView:async ue=>await to.post({url:"/api/views",body:ue}),deleteView:async ue=>await to.delete({url:`/api/views/${encodeURIComponent(ue)}`})}),buildViewV2Endpoints=to=>({fetchDefinition:async ue=>await to.get({url:`/api/v2/views/${encodeURIComponent(ue)}`,cache:!0}),create:async ue=>await to.post({url:"/api/v2/views",body:ue}),update:async ue=>await to.put({url:`/api/v2/views/${encodeURIComponent(ue.id)}`,body:ue}),fetch:async(ue,eo)=>await to.post({url:`/api/v2/views/${encodeURIComponent(ue)}/search`,body:eo}),delete:async ue=>await to.delete({url:`/api/v2/views/${encodeURIComponent(ue)}`})}),buildLicensingEndpoints=to=>({activateLicenseKey:async ue=>to.post({url:"/api/global/license/key",body:{licenseKey:ue}}),deleteLicenseKey:async()=>to.delete({url:"/api/global/license/key"}),getLicenseKey:async()=>{try{return await to.get({url:"/api/global/license/key"})}catch(ue){if(ue.status!==404)throw ue}},activateOfflineLicense:async ue=>to.post({url:"/api/global/license/offline",body:{offlineLicenseToken:ue}}),deleteOfflineLicense:async()=>to.delete({url:"/api/global/license/offline"}),getOfflineLicense:async()=>{try{return await to.get({url:"/api/global/license/offline"})}catch(ue){if(ue.status!==404)throw ue}},getOfflineLicenseIdentifier:async()=>await to.get({url:"/api/global/license/offline/identifier"}),refreshLicense:async()=>to.post({url:"/api/global/license/refresh"}),getQuotaUsage:async()=>to.get({url:"/api/global/license/usage"})}),buildGroupsEndpoints=to=>{async function ue(eo,no,ro,oo){return await to.post({url:`/api/global/groups/${eo}/${no}`,body:{[ro]:oo}})}return{saveGroup:async eo=>await to.post({url:"/api/global/groups",body:eo}),getGroups:async()=>(await to.get({url:"/api/global/groups"})).data,getGroup:async eo=>await to.get({url:`/api/global/groups/${eo}`}),deleteGroup:async(eo,no)=>await to.delete({url:`/api/global/groups/${eo}/${no}`}),getGroupUsers:async({id:eo,bookmark:no,emailSearch:ro})=>{let oo=`/api/global/groups/${eo}/users?`;return no&&(oo+=`bookmark=${no}&`),ro&&(oo+=`emailSearch=${ro}`),await to.get({url:oo})},addUsersToGroup:async(eo,no)=>ue(eo,"users","add",no),removeUsersFromGroup:async(eo,no)=>ue(eo,"users","remove",no),addAppsToGroup:async(eo,no)=>ue(eo,"apps","add",no),removeAppsFromGroup:async(eo,no)=>ue(eo,"apps","remove",no),addGroupAppBuilder:async(eo,no)=>await to.post({url:`/api/global/groups/${eo}/app/${no}/builder`}),removeGroupAppBuilder:async(eo,no)=>await to.delete({url:`/api/global/groups/${eo}/app/${no}/builder`})}},buildPluginEndpoints=to=>({uploadPlugin:async ue=>await to.post({url:"/api/plugin/upload",body:ue,json:!1}),createPlugin:async ue=>await to.post({url:"/api/plugin",body:ue}),getPlugins:async()=>await to.get({url:"/api/plugin"}),deletePlugin:async ue=>await to.delete({url:`/api/plugin/${ue}`})}),buildBackupEndpoints=to=>({createManualBackup:async ue=>await to.post({url:`/api/apps/${ue}/backups`}),searchBackups:async(ue,eo)=>await to.post({url:`/api/apps/${ue}/backups/search`,body:eo}),deleteBackup:async(ue,eo)=>await to.delete({url:`/api/apps/${ue}/backups/${eo}`}),restoreBackup:async(ue,eo,no)=>await to.post({url:`/api/apps/${ue}/backups/${eo}/import`,body:{name:no}})}),buildEnvironmentVariableEndpoints=to=>({checkEnvironmentVariableStatus:async()=>await to.get({url:"/api/env/variables/status"}),fetchEnvironmentVariables:async()=>await to.get({url:"/api/env/variables",json:!1}),createEnvironmentVariable:async ue=>await to.post({url:"/api/env/variables",body:ue}),deleteEnvironmentVariable:async ue=>await to.delete({url:`/api/env/variables/${ue}`}),updateEnvironmentVariable:async(ue,eo)=>await to.patch({url:`/api/env/variables/${ue}`,body:eo})}),buildEventEndpoints=to=>({publishEvent:async ue=>await to.post({url:"/api/global/event/publish",body:{type:ue}})}),buildAuditLogEndpoints=to=>({searchAuditLogs:async ue=>await to.post({url:"/api/global/auditlogs/search",body:ue}),getEventDefinitions:async()=>await to.get({url:"/api/global/auditlogs/definitions"}),getDownloadUrl:ue=>`/api/global/auditlogs/download?query=${encodeURIComponent(JSON.stringify(ue))}`}),buildLogsEndpoints=to=>({getSystemLogs:async()=>await to.get({url:"/api/system/logs",json:!1,parseResponse:async ue=>ue})}),buildMigrationEndpoints=to=>({getMigrationStatus:async()=>await to.get({url:"/api/migrations/status"})}),buildRowActionEndpoints=to=>({fetch:async ue=>(await to.get({url:`/api/tables/${ue}/actions`})).actions,create:async(ue,eo)=>await to.post({url:`/api/tables/${ue}/actions`,body:{name:eo}}),delete:async(ue,eo)=>await to.delete({url:`/api/tables/${ue}/actions/${eo}`}),enableView:async(ue,eo,no)=>await to.post({url:`/api/tables/${ue}/actions/${eo}/permissions/${no}`}),disableView:async(ue,eo,no)=>await to.delete({url:`/api/tables/${ue}/actions/${eo}/permissions/${no}`}),trigger:async(ue,eo,no)=>await to.post({url:`/api/tables/${ue}/actions/${eo}/trigger`,body:{rowId:no}})}),APISessionID=uuid$2(),createAPIClient=(to={})=>{let ue={};const eo=async(lo,co,uo=!1)=>{let fo=lo.statusText,po=null;try{po=await lo.json(),po!=null&&po.message?fo=po.message:po!=null&&po.error&&(fo=JSON.stringify(po.error))}catch{}return{message:fo,json:po,status:lo.status,url:lo.url,method:co,handled:!0,suppressErrors:uo}},no=(lo,co,uo)=>({message:lo,json:null,status:400,url:co,method:uo,handled:!0,suppressErrors:!1}),ro=async lo=>{let{json:co,method:uo,external:fo,body:po,url:ho,parseResponse:_o,suppressErrors:go}=lo;co=co&&uo!==HTTPMethod.GET;let bo={Accept:"application/json"};bo[Header$1.SESSION_ID]=APISessionID,fo||(bo[Header$1.API_VER]=ApiVersion),co&&(bo["Content-Type"]="application/json"),to!=null&&to.attachHeaders&&to.attachHeaders(bo);let vo=po;if(co)try{vo=JSON.stringify(po)}catch{throw no("Invalid JSON body",ho,uo)}let yo;try{yo=await fetch(ho,{method:uo,headers:bo,body:vo,credentials:"same-origin"})}catch{throw delete ue[ho],no("Failed to send request",ho,uo)}if(yo.status>=200&&yo.status<400){oo(yo);try{return yo.status===204?void 0:_o?await _o(yo):await yo.json()}catch(wo){throw delete ue[ho],`Failed to parse response: ${wo}`}}else throw delete ue[ho],await eo(yo,uo,go)},oo=lo=>{if(!to.onMigrationDetected)return;const co=lo.headers.get(Header$1.MIGRATING_APP);co&&to.onMigrationDetected(co)},io=async lo=>{const co=lo.url;return ue[co]||(ue[co]=ro(lo),ue[co]=await ue[co]),await ue[co]},ao=lo=>async co=>{try{let uo={json:!0,external:!1,suppressErrors:!1,cache:!1,method:lo,...co},{url:fo,cache:po,external:ho}=uo;return ho||(uo.url=`/${fo}`.replace("//","/")),await(po&&(to==null?void 0:to.enableCaching)?io:ro)(uo)}catch(uo){throw to!=null&&to.onError&&to.onError(uo),uo}};let so={post:ao(HTTPMethod.POST),get:ao(HTTPMethod.GET),patch:ao(HTTPMethod.PATCH),delete:ao(HTTPMethod.DELETE),put:ao(HTTPMethod.PUT),invalidateCache:()=>{ue={}},getAppID:()=>{var co;let lo={};return(co=to==null?void 0:to.attachHeaders)==null||co.call(to,lo),lo==null?void 0:lo[Header$1.APP_ID]}};return{...so,...buildAIEndpoints(so),...buildAnalyticsEndpoints(so),...buildAppEndpoints(so),...buildAttachmentEndpoints(so),...buildAuthEndpoints(so),...buildAutomationEndpoints(so),...buildConfigEndpoints(so),...buildDatasourceEndpoints(so),...buildFlagEndpoints(so),...buildLayoutEndpoints(so),...buildOtherEndpoints(so),...buildPermissionsEndpoints(so),...buildQueryEndpoints(so),...buildRelationshipEndpoints(so),...buildRoleEndpoints(so),...buildRouteEndpoints(so),...buildRowEndpoints(so),...buildScreenEndpoints(so),...buildTableEndpoints(so),...buildTemplateEndpoints(so),...buildUserEndpoints(so),...buildViewEndpoints(so),...buildSelfEndpoints(so),...buildLicensingEndpoints(so),...buildGroupsEndpoints(so),...buildPluginEndpoints(so),...buildBackupEndpoints(so),...buildEnvironmentVariableEndpoints(so),...buildEventEndpoints(so),...buildAuditLogEndpoints(so),...buildLogsEndpoints(so),...buildMigrationEndpoints(so),viewV2:buildViewV2Endpoints(so),rowActions:buildRowActionEndpoints(so)}},getJSONArrayDatasourceSchema=(to,ue)=>{let eo=to,no=[];ue.prefixKeys&&(no=ue.prefixKeys.concat(["schema"])),no=no.concat(ue.label.split(".").slice(2));for(let ro=0;ro<no.length;ro++)eo=eo==null?void 0:eo[no[ro]],eo!=null&&eo.schema&&(eo=eo.schema);return convertJSONSchemaToTableSchema(eo,{squashObjects:!0,prefixKeys:no})},convertJSONSchemaToTableSchema=(to,ue)=>{if(!to)return null;ue={squashObjects:!1,prefixKeys:null,...ue},to.schema?to=to.schema:to={value:to};const eo=extractJSONSchemaKeys(to,ue.squashObjects);let no={};return eo.forEach(({key:ro,type:oo})=>{no[ro]={type:oo,name:ro,prefixKeys:ue.prefixKeys}}),no},extractJSONSchemaKeys=(to,ue=!1)=>{if(!to||!Object.keys(to).length)return[];let eo=[];return Object.keys(to).forEach(no=>{const ro=to[no].type;if(ro==="json"&&ue){const oo=extractJSONSchemaKeys(to[no].schema,ue);eo=eo.concat(oo.map(io=>({key:`${no}.${io.key}`,type:io.type})))}else eo.push({key:no,type:ro==="array"?"jsonarray":ro})}),eo},generateQueryArraySchemas=(to,ue)=>{var eo,no;for(let ro in to)((eo=to[ro])==null?void 0:eo.type)==="json"&&((no=to[ro])==null?void 0:no.subtype)==="array"&&hasSchema(ue[ro])&&(to[ro]={schema:{schema:Object.entries(ue[ro]||{}).reduce((oo,[io,ao])=>(oo[io]={name:io,type:ao.type,subtype:ao.subtype},oo),{}),type:"json"},type:"json",subtype:"array"});return to};function setCookie(to,ue,eo){getCookie(to)&&removeCookie(to);let no=`${to}=${ue}; Path=/;`;eo&&(no+=` Domain=${eo};`),window.document.cookie=no}function getCookie(to){const eo=`; ${document.cookie}`.split(`; ${to}=`);if(eo.length===2)return eo[1].split(";").shift()}function removeCookie(to){getCookie(to)&&(document.cookie=`${to}=; Max-Age=-99999999; Path=/;`)}const RolePriorities={[Roles$2.ADMIN]:5,[Roles$2.CREATOR]:4,[Roles$2.POWER]:3,[Roles$2.BASIC]:2,[Roles$2.PUBLIC]:1},getRolePriority=to=>RolePriorities[to]??0,sleep$2=to=>new Promise(ue=>setTimeout(ue,to)),sequential=to=>{let ue=[];return(...eo)=>new Promise((no,ro)=>{ue.push(async()=>{let oo,io;try{oo=await to(...eo)}catch(ao){io=ao}ue.shift(),ue.length&&ue[0](),io?ro(io):no(oo)}),ue.length===1&&ue[0]()})},debounce=(to,ue=1e3)=>{let eo;return async(...no)=>new Promise(ro=>{eo&&clearTimeout(eo),eo=setTimeout(async()=>{ro(await to(...no))},ue)})},domDebounce=to=>{let ue=!1,eo;return(...no)=>{eo=no,ue||(ue=!0,requestAnimationFrame(()=>{to(...eo),ue=!1}))}},buildFormBlockButtonConfig=to=>{const{_id:ue,actionType:eo,dataSource:no,notificationOverride:ro,actionUrl:oo,showDeleteButton:io,deleteButtonLabel:ao,showSaveButton:so,saveButtonLabel:lo}=to||{};if(!ue)return;const co=`${ue}-form`,uo=`${ue}-repeater`,fo=no==null?void 0:no.resourceId,po=io===!1?"":ao==null?void 0:ao.trim(),ho=so===!1?"":lo==null?void 0:lo.trim(),_o=[{"##eventHandlerType":"Validate Form",parameters:{componentId:co}},{"##eventHandlerType":"Save Row",parameters:{providerId:co,tableId:fo,notificationOverride:ro,confirm:null}},{"##eventHandlerType":"Close Screen Modal"},{"##eventHandlerType":"Close Side Panel"},{"##eventHandlerType":"Close Modal"},...eo!=="Create"?[]:[{"##eventHandlerType":"Clear Form",parameters:{componentId:co}}],...oo?[{"##eventHandlerType":"Navigate To",parameters:{url:oo}}]:[]],go=[{"##eventHandlerType":"Delete Row",parameters:{confirm:!0,tableId:fo,rowId:`{{ ${makePropSafe(uo)}.${makePropSafe("_id")} }}`,revId:`{{ ${makePropSafe(uo)}.${makePropSafe("_rev")} }}`,notificationOverride:ro}},{"##eventHandlerType":"Close Screen Modal"},{"##eventHandlerType":"Close Side Panel"},{"##eventHandlerType":"Close Modal"},...oo?[{"##eventHandlerType":"Navigate To",parameters:{url:oo}}]:[]],bo=[];return["Update","Create"].includes(eo)&&so!==!1&&bo.push({text:ho||"Save",_id:uuid$2(),_component:"@budibase/standard-components/button",onClick:_o,type:"cta"}),eo==="Update"&&io!==!1&&bo.push({text:po||"Delete",_id:uuid$2(),_component:"@budibase/standard-components/button",onClick:go,quiet:!0,type:"warning"}),bo},buildMultiStepFormBlockDefaultProps=to=>{const{_id:ue,stepCount:eo,currentStep:no,actionType:ro,dataSource:oo}=to||{};if(!ue||!eo)return;const io=`Step {{ [${ue}-form].[__currentStep] }}`,ao=oo==null?void 0:oo.resourceId,so=`${ue}-form`;let lo=[];return no!==0&&lo.push({_id:uuid$2(),_component:"@budibase/standard-components/button",_instanceName:uuid$2(),text:"Back",type:"secondary",size:"M",onClick:[{parameters:{type:"prev",componentId:so},"##eventHandlerType":"Change Form Step"}]}),no!==eo-1&&lo.push({_id:uuid$2(),_component:"@budibase/standard-components/button",_instanceName:uuid$2(),text:"Next",type:"cta",size:"M",onClick:[{"##eventHandlerType":"Validate Form",parameters:{componentId:so}},{parameters:{type:"next",componentId:so},"##eventHandlerType":"Change Form Step"}]}),ro!=="View"&&no===eo-1&&lo.push({_id:uuid$2(),_component:"@budibase/standard-components/button",_instanceName:uuid$2(),text:"Save",type:"cta",size:"M",onClick:[{"##eventHandlerType":"Validate Form",parameters:{componentId:so}},{"##eventHandlerType":"Save Row",parameters:{tableId:ao,providerId:so}},...ro!=="Create"?[]:[{"##eventHandlerType":"Clear Form",parameters:{componentId:so}}]]}),{buttons:lo,title:io}};function parseFilter(to){if(!(to!=null&&to.groups))return to;const ue=lodashExports.cloneDeep(to);return ue.groups=ue.groups.map(eo=>(eo.filters=eo.filters.filter(no=>no.field&&no.operator),eo.filters.length?eo:null)).filter(eo=>eo),ue}const isBetterSample=(to,ue)=>{if(ue==null&&to!=null)return!0;if(ue!=null&&to==null)return!1;const eo=typeof ue,no=typeof to;return eo!==no?!1:no==="string"&&to.length>ue.length||no==="object"&&Object.keys(to).length>Object.keys(ue).length},generateGoldenSample=to=>{let ue={};return to==null||to.slice(0,100).forEach(eo=>{Object.keys(eo).forEach(no=>{isBetterSample(eo[no],ue[no])&&(ue[no]=eo[no])})}),ue};function getTableFields(to,ue){const eo=to.find(ro=>ro._id===ue.tableId);return!eo||!eo.sql?[]:getFields(to,Object.values(eo.schema),{allowLinks:!1}).map(ro=>({...ro,name:`${ue.name}.${ro.name}`}))}function getFields(to,ue,{allowLinks:eo}={allowLinks:!0}){let no=ue.filter(oo=>!BannedSearchTypes.includes(oo.type));if(eo){const oo=ue.filter(io=>io.type==="link");for(let io of oo)no=no.concat(getTableFields(to,io))}const ro=ue.filter(oo=>oo.type==="formula"&&oo.formulaType==="static");return no.concat(ro)}const getColumnIcon=to=>{if(to.schema.icon)return to.schema.icon;if(to.calculationType)return"Calculator";if(to.schema.autocolumn)return"MagicWand";if(isDeprecatedSingleUserColumn(to.schema))return"User";const{type:ue,subtype:eo}=to.schema;return(typeof TypeIconMap$1[ue]=="object"&&eo?TypeIconMap$1[ue][eo]:TypeIconMap$1[ue])||"Text"},memo=to=>{const ue=writable(to);let eo=JSON.stringify(to);const no=ro=>{const oo=JSON.stringify(ro);oo!==eo&&(ue.set(ro),eo=oo)};return{subscribe:ue.subscribe,set:no,update:ro=>{let oo=JSON.parse(eo);const io=ro(oo);no(io)}}},derivedMemo=(to,ue)=>{const eo=derived(to,ue),no=memo(get_store_value(eo));return eo.subscribe(no.set),no},PACKET_TYPES=Object.create(null);PACKET_TYPES.open="0";PACKET_TYPES.close="1";PACKET_TYPES.ping="2";PACKET_TYPES.pong="3";PACKET_TYPES.message="4";PACKET_TYPES.upgrade="5";PACKET_TYPES.noop="6";const PACKET_TYPES_REVERSE=Object.create(null);Object.keys(PACKET_TYPES).forEach(to=>{PACKET_TYPES_REVERSE[PACKET_TYPES[to]]=to});const ERROR_PACKET={type:"error",data:"parser error"},withNativeBlob$1=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",withNativeArrayBuffer$2=typeof ArrayBuffer=="function",isView$1=to=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(to):to&&to.buffer instanceof ArrayBuffer,encodePacket=({type:to,data:ue},eo,no)=>withNativeBlob$1&&ue instanceof Blob?eo?no(ue):encodeBlobAsBase64(ue,no):withNativeArrayBuffer$2&&(ue instanceof ArrayBuffer||isView$1(ue))?eo?no(ue):encodeBlobAsBase64(new Blob([ue]),no):no(PACKET_TYPES[to]+(ue||"")),encodeBlobAsBase64=(to,ue)=>{const eo=new FileReader;return eo.onload=function(){const no=eo.result.split(",")[1];ue("b"+(no||""))},eo.readAsDataURL(to)};function toArray$2(to){return to instanceof Uint8Array?to:to instanceof ArrayBuffer?new Uint8Array(to):new Uint8Array(to.buffer,to.byteOffset,to.byteLength)}let TEXT_ENCODER;function encodePacketToBinary(to,ue){if(withNativeBlob$1&&to.data instanceof Blob)return to.data.arrayBuffer().then(toArray$2).then(ue);if(withNativeArrayBuffer$2&&(to.data instanceof ArrayBuffer||isView$1(to.data)))return ue(toArray$2(to.data));encodePacket(to,!1,eo=>{TEXT_ENCODER||(TEXT_ENCODER=new TextEncoder),ue(TEXT_ENCODER.encode(eo))})}const chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lookup$1=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let to=0;to<chars.length;to++)lookup$1[chars.charCodeAt(to)]=to;const decode$3=to=>{let ue=to.length*.75,eo=to.length,no,ro=0,oo,io,ao,so;to[to.length-1]==="="&&(ue--,to[to.length-2]==="="&&ue--);const lo=new ArrayBuffer(ue),co=new Uint8Array(lo);for(no=0;no<eo;no+=4)oo=lookup$1[to.charCodeAt(no)],io=lookup$1[to.charCodeAt(no+1)],ao=lookup$1[to.charCodeAt(no+2)],so=lookup$1[to.charCodeAt(no+3)],co[ro++]=oo<<2|io>>4,co[ro++]=(io&15)<<4|ao>>2,co[ro++]=(ao&3)<<6|so&63;return lo},withNativeArrayBuffer$1=typeof ArrayBuffer=="function",decodePacket=(to,ue)=>{if(typeof to!="string")return{type:"message",data:mapBinary(to,ue)};const eo=to.charAt(0);return eo==="b"?{type:"message",data:decodeBase64Packet(to.substring(1),ue)}:PACKET_TYPES_REVERSE[eo]?to.length>1?{type:PACKET_TYPES_REVERSE[eo],data:to.substring(1)}:{type:PACKET_TYPES_REVERSE[eo]}:ERROR_PACKET},decodeBase64Packet=(to,ue)=>{if(withNativeArrayBuffer$1){const eo=decode$3(to);return mapBinary(eo,ue)}else return{base64:!0,data:to}},mapBinary=(to,ue)=>{switch(ue){case"blob":return to instanceof Blob?to:new Blob([to]);case"arraybuffer":default:return to instanceof ArrayBuffer?to:to.buffer}},SEPARATOR=String.fromCharCode(30),encodePayload=(to,ue)=>{const eo=to.length,no=new Array(eo);let ro=0;to.forEach((oo,io)=>{encodePacket(oo,!1,ao=>{no[io]=ao,++ro===eo&&ue(no.join(SEPARATOR))})})},decodePayload=(to,ue)=>{const eo=to.split(SEPARATOR),no=[];for(let ro=0;ro<eo.length;ro++){const oo=decodePacket(eo[ro],ue);if(no.push(oo),oo.type==="error")break}return no};function createPacketEncoderStream(){return new TransformStream({transform(to,ue){encodePacketToBinary(to,eo=>{const no=eo.length;let ro;if(no<126)ro=new Uint8Array(1),new DataView(ro.buffer).setUint8(0,no);else if(no<65536){ro=new Uint8Array(3);const oo=new DataView(ro.buffer);oo.setUint8(0,126),oo.setUint16(1,no)}else{ro=new Uint8Array(9);const oo=new DataView(ro.buffer);oo.setUint8(0,127),oo.setBigUint64(1,BigInt(no))}to.data&&typeof to.data!="string"&&(ro[0]|=128),ue.enqueue(ro),ue.enqueue(eo)})}})}let TEXT_DECODER;function totalLength(to){return to.reduce((ue,eo)=>ue+eo.length,0)}function concatChunks(to,ue){if(to[0].length===ue)return to.shift();const eo=new Uint8Array(ue);let no=0;for(let ro=0;ro<ue;ro++)eo[ro]=to[0][no++],no===to[0].length&&(to.shift(),no=0);return to.length&&no<to[0].length&&(to[0]=to[0].slice(no)),eo}function createPacketDecoderStream(to,ue){TEXT_DECODER||(TEXT_DECODER=new TextDecoder);const eo=[];let no=0,ro=-1,oo=!1;return new TransformStream({transform(io,ao){for(eo.push(io);;){if(no===0){if(totalLength(eo)<1)break;const so=concatChunks(eo,1);oo=(so[0]&128)===128,ro=so[0]&127,ro<126?no=3:ro===126?no=1:no=2}else if(no===1){if(totalLength(eo)<2)break;const so=concatChunks(eo,2);ro=new DataView(so.buffer,so.byteOffset,so.length).getUint16(0),no=3}else if(no===2){if(totalLength(eo)<8)break;const so=concatChunks(eo,8),lo=new DataView(so.buffer,so.byteOffset,so.length),co=lo.getUint32(0);if(co>Math.pow(2,53-32)-1){ao.enqueue(ERROR_PACKET);break}ro=co*Math.pow(2,32)+lo.getUint32(4),no=3}else{if(totalLength(eo)<ro)break;const so=concatChunks(eo,ro);ao.enqueue(decodePacket(oo?so:TEXT_DECODER.decode(so),ue)),no=0}if(ro===0||ro>to){ao.enqueue(ERROR_PACKET);break}}}})}const protocol$1=4;function Emitter(to){if(to)return mixin(to)}function mixin(to){for(var ue in Emitter.prototype)to[ue]=Emitter.prototype[ue];return to}Emitter.prototype.on=Emitter.prototype.addEventListener=function(to,ue){return this._callbacks=this._callbacks||{},(this._callbacks["$"+to]=this._callbacks["$"+to]||[]).push(ue),this};Emitter.prototype.once=function(to,ue){function eo(){this.off(to,eo),ue.apply(this,arguments)}return eo.fn=ue,this.on(to,eo),this};Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(to,ue){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var eo=this._callbacks["$"+to];if(!eo)return this;if(arguments.length==1)return delete this._callbacks["$"+to],this;for(var no,ro=0;ro<eo.length;ro++)if(no=eo[ro],no===ue||no.fn===ue){eo.splice(ro,1);break}return eo.length===0&&delete this._callbacks["$"+to],this};Emitter.prototype.emit=function(to){this._callbacks=this._callbacks||{};for(var ue=new Array(arguments.length-1),eo=this._callbacks["$"+to],no=1;no<arguments.length;no++)ue[no-1]=arguments[no];if(eo){eo=eo.slice(0);for(var no=0,ro=eo.length;no<ro;++no)eo[no].apply(this,ue)}return this};Emitter.prototype.emitReserved=Emitter.prototype.emit;Emitter.prototype.listeners=function(to){return this._callbacks=this._callbacks||{},this._callbacks["$"+to]||[]};Emitter.prototype.hasListeners=function(to){return!!this.listeners(to).length};const globalThisShim=(()=>typeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function pick$1(to,...ue){return ue.reduce((eo,no)=>(to.hasOwnProperty(no)&&(eo[no]=to[no]),eo),{})}const NATIVE_SET_TIMEOUT=globalThisShim.setTimeout,NATIVE_CLEAR_TIMEOUT=globalThisShim.clearTimeout;function installTimerFunctions(to,ue){ue.useNativeTimers?(to.setTimeoutFn=NATIVE_SET_TIMEOUT.bind(globalThisShim),to.clearTimeoutFn=NATIVE_CLEAR_TIMEOUT.bind(globalThisShim)):(to.setTimeoutFn=globalThisShim.setTimeout.bind(globalThisShim),to.clearTimeoutFn=globalThisShim.clearTimeout.bind(globalThisShim))}const BASE64_OVERHEAD=1.33;function byteLength(to){return typeof to=="string"?utf8Length(to):Math.ceil((to.byteLength||to.size)*BASE64_OVERHEAD)}function utf8Length(to){let ue=0,eo=0;for(let no=0,ro=to.length;no<ro;no++)ue=to.charCodeAt(no),ue<128?eo+=1:ue<2048?eo+=2:ue<55296||ue>=57344?eo+=3:(no++,eo+=4);return eo}function encode$3(to){let ue="";for(let eo in to)to.hasOwnProperty(eo)&&(ue.length&&(ue+="&"),ue+=encodeURIComponent(eo)+"="+encodeURIComponent(to[eo]));return ue}function decode$2(to){let ue={},eo=to.split("&");for(let no=0,ro=eo.length;no<ro;no++){let oo=eo[no].split("=");ue[decodeURIComponent(oo[0])]=decodeURIComponent(oo[1])}return ue}class TransportError extends Error{constructor(ue,eo,no){super(ue),this.description=eo,this.context=no,this.type="TransportError"}}class Transport extends Emitter{constructor(ue){super(),this.writable=!1,installTimerFunctions(this,ue),this.opts=ue,this.query=ue.query,this.socket=ue.socket}onError(ue,eo,no){return super.emitReserved("error",new TransportError(ue,eo,no)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(ue){this.readyState==="open"&&this.write(ue)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(ue){const eo=decodePacket(ue,this.socket.binaryType);this.onPacket(eo)}onPacket(ue){super.emitReserved("packet",ue)}onClose(ue){this.readyState="closed",super.emitReserved("close",ue)}pause(ue){}createUri(ue,eo={}){return ue+"://"+this._hostname()+this._port()+this.opts.path+this._query(eo)}_hostname(){const ue=this.opts.hostname;return ue.indexOf(":")===-1?ue:"["+ue+"]"}_port(){return this.opts.port&&(this.opts.secure&&+(this.opts.port!==443)||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(ue){const eo=encode$3(ue);return eo.length?"?"+eo:""}}const alphabet="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),length=64,map={};let seed=0,i$2=0,prev;function encode$2(to){let ue="";do ue=alphabet[to%length]+ue,to=Math.floor(to/length);while(to>0);return ue}function yeast(){const to=encode$2(+new Date);return to!==prev?(seed=0,prev=to):to+"."+encode$2(seed++)}for(;i$2<length;i$2++)map[alphabet[i$2]]=i$2;let value$1=!1;try{value$1=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch(to){}const hasCORS=value$1;function XHR(to){const ue=to.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!ue||hasCORS))return new XMLHttpRequest}catch{}if(!ue)try{return new globalThisShim[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}function createCookieJar(){}function empty$1(){}const hasXHR2=function(){return new XHR({xdomain:!1}).responseType!=null}();class Polling extends Transport{constructor(ue){if(super(ue),this.polling=!1,typeof location<"u"){const no=location.protocol==="https:";let ro=location.port;ro||(ro=no?"443":"80"),this.xd=typeof location<"u"&&ue.hostname!==location.hostname||ro!==ue.port}const eo=ue&&ue.forceBase64;this.supportsBinary=hasXHR2&&!eo,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(ue){this.readyState="pausing";const eo=()=>{this.readyState="paused",ue()};if(this.polling||!this.writable){let no=0;this.polling&&(no++,this.once("pollComplete",function(){--no||eo()})),this.writable||(no++,this.once("drain",function(){--no||eo()}))}else eo()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(ue){const eo=no=>{if(this.readyState==="opening"&&no.type==="open"&&this.onOpen(),no.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(no)};decodePayload(ue,this.socket.binaryType).forEach(eo),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const ue=()=>{this.write([{type:"close"}])};this.readyState==="open"?ue():this.once("open",ue)}write(ue){this.writable=!1,encodePayload(ue,eo=>{this.doWrite(eo,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const ue=this.opts.secure?"https":"http",eo=this.query||{};return this.opts.timestampRequests!==!1&&(eo[this.opts.timestampParam]=yeast()),!this.supportsBinary&&!eo.sid&&(eo.b64=1),this.createUri(ue,eo)}request(ue={}){return Object.assign(ue,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new Request(this.uri(),ue)}doWrite(ue,eo){const no=this.request({method:"POST",data:ue});no.on("success",eo),no.on("error",(ro,oo)=>{this.onError("xhr post error",ro,oo)})}doPoll(){const ue=this.request();ue.on("data",this.onData.bind(this)),ue.on("error",(eo,no)=>{this.onError("xhr poll error",eo,no)}),this.pollXhr=ue}}class Request extends Emitter{constructor(ue,eo){super(),installTimerFunctions(this,eo),this.opts=eo,this.method=eo.method||"GET",this.uri=ue,this.data=eo.data!==void 0?eo.data:null,this.create()}create(){var ue;const eo=pick$1(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");eo.xdomain=!!this.opts.xd;const no=this.xhr=new XHR(eo);try{no.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){no.setDisableHeaderCheck&&no.setDisableHeaderCheck(!0);for(let ro in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(ro)&&no.setRequestHeader(ro,this.opts.extraHeaders[ro])}}catch{}if(this.method==="POST")try{no.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{no.setRequestHeader("Accept","*/*")}catch{}(ue=this.opts.cookieJar)===null||ue===void 0||ue.addCookies(no),"withCredentials"in no&&(no.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(no.timeout=this.opts.requestTimeout),no.onreadystatechange=()=>{var ro;no.readyState===3&&((ro=this.opts.cookieJar)===null||ro===void 0||ro.parseCookies(no)),no.readyState===4&&(no.status===200||no.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof no.status=="number"?no.status:0)},0))},no.send(this.data)}catch(ro){this.setTimeoutFn(()=>{this.onError(ro)},0);return}typeof document<"u"&&(this.index=Request.requestsCount++,Request.requests[this.index]=this)}onError(ue){this.emitReserved("error",ue,this.xhr),this.cleanup(!0)}cleanup(ue){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=empty$1,ue)try{this.xhr.abort()}catch{}typeof document<"u"&&delete Request.requests[this.index],this.xhr=null}}onLoad(){const ue=this.xhr.responseText;ue!==null&&(this.emitReserved("data",ue),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}Request.requestsCount=0;Request.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",unloadHandler);else if(typeof addEventListener=="function"){const to="onpagehide"in globalThisShim?"pagehide":"unload";addEventListener(to,unloadHandler,!1)}}function unloadHandler(){for(let to in Request.requests)Request.requests.hasOwnProperty(to)&&Request.requests[to].abort()}const nextTick=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?ue=>Promise.resolve().then(ue):(ue,eo)=>eo(ue,0))(),WebSocket=globalThisShim.WebSocket||globalThisShim.MozWebSocket,usingBrowserWebSocket=!0,defaultBinaryType="arraybuffer",isReactNative=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class WS extends Transport{constructor(ue){super(ue),this.supportsBinary=!ue.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const ue=this.uri(),eo=this.opts.protocols,no=isReactNative?{}:pick$1(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(no.headers=this.opts.extraHeaders);try{this.ws=usingBrowserWebSocket&&!isReactNative?eo?new WebSocket(ue,eo):new WebSocket(ue):new WebSocket(ue,eo,no)}catch(ro){return this.emitReserved("error",ro)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=ue=>this.onClose({description:"websocket connection closed",context:ue}),this.ws.onmessage=ue=>this.onData(ue.data),this.ws.onerror=ue=>this.onError("websocket error",ue)}write(ue){this.writable=!1;for(let eo=0;eo<ue.length;eo++){const no=ue[eo],ro=eo===ue.length-1;encodePacket(no,this.supportsBinary,oo=>{const io={};try{usingBrowserWebSocket&&this.ws.send(oo)}catch{}ro&&nextTick(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const ue=this.opts.secure?"wss":"ws",eo=this.query||{};return this.opts.timestampRequests&&(eo[this.opts.timestampParam]=yeast()),this.supportsBinary||(eo.b64=1),this.createUri(ue,eo)}check(){return!!WebSocket}}class WT extends Transport{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(ue=>{this.onError("webtransport error",ue)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(ue=>{const eo=createPacketDecoderStream(Number.MAX_SAFE_INTEGER,this.socket.binaryType),no=ue.readable.pipeThrough(eo).getReader(),ro=createPacketEncoderStream();ro.readable.pipeTo(ue.writable),this.writer=ro.writable.getWriter();const oo=()=>{no.read().then(({done:ao,value:so})=>{ao||(this.onPacket(so),oo())}).catch(ao=>{})};oo();const io={type:"open"};this.query.sid&&(io.data=`{"sid":"${this.query.sid}"}`),this.writer.write(io).then(()=>this.onOpen())})}))}write(ue){this.writable=!1;for(let eo=0;eo<ue.length;eo++){const no=ue[eo],ro=eo===ue.length-1;this.writer.write(no).then(()=>{ro&&nextTick(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var ue;(ue=this.transport)===null||ue===void 0||ue.close()}}const transports={websocket:WS,webtransport:WT,polling:Polling},re$1=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,parts=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function parse$8(to){if(to.length>2e3)throw"URI too long";const ue=to,eo=to.indexOf("["),no=to.indexOf("]");eo!=-1&&no!=-1&&(to=to.substring(0,eo)+to.substring(eo,no).replace(/:/g,";")+to.substring(no,to.length));let ro=re$1.exec(to||""),oo={},io=14;for(;io--;)oo[parts[io]]=ro[io]||"";return eo!=-1&&no!=-1&&(oo.source=ue,oo.host=oo.host.substring(1,oo.host.length-1).replace(/;/g,":"),oo.authority=oo.authority.replace("[","").replace("]","").replace(/;/g,":"),oo.ipv6uri=!0),oo.pathNames=pathNames(oo,oo.path),oo.queryKey=queryKey(oo,oo.query),oo}function pathNames(to,ue){const eo=/\/{2,9}/g,no=ue.replace(eo,"/").split("/");return(ue.slice(0,1)=="/"||ue.length===0)&&no.splice(0,1),ue.slice(-1)=="/"&&no.splice(no.length-1,1),no}function queryKey(to,ue){const eo={};return ue.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(no,ro,oo){ro&&(eo[ro]=oo)}),eo}let Socket$1=class ph extends Emitter{constructor(ue,eo={}){super(),this.binaryType=defaultBinaryType,this.writeBuffer=[],ue&&typeof ue=="object"&&(eo=ue,ue=null),ue?(ue=parse$8(ue),eo.hostname=ue.host,eo.secure=ue.protocol==="https"||ue.protocol==="wss",eo.port=ue.port,ue.query&&(eo.query=ue.query)):eo.host&&(eo.hostname=parse$8(eo.host).host),installTimerFunctions(this,eo),this.secure=eo.secure!=null?eo.secure:typeof location<"u"&&location.protocol==="https:",eo.hostname&&!eo.port&&(eo.port=this.secure?"443":"80"),this.hostname=eo.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=eo.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=eo.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},eo),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=decode$2(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(ue){const eo=Object.assign({},this.opts.query);eo.EIO=protocol$1,eo.transport=ue,this.id&&(eo.sid=this.id);const no=Object.assign({},this.opts,{query:eo,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[ue]);return new transports[ue](no)}open(){let ue;if(this.opts.rememberUpgrade&&ph.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)ue="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else ue=this.transports[0];this.readyState="opening";try{ue=this.createTransport(ue)}catch{this.transports.shift(),this.open();return}ue.open(),this.setTransport(ue)}setTransport(ue){this.transport&&this.transport.removeAllListeners(),this.transport=ue,ue.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",eo=>this.onClose("transport close",eo))}probe(ue){let eo=this.createTransport(ue),no=!1;ph.priorWebsocketSuccess=!1;const ro=()=>{no||(eo.send([{type:"ping",data:"probe"}]),eo.once("packet",uo=>{if(!no)if(uo.type==="pong"&&uo.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",eo),!eo)return;ph.priorWebsocketSuccess=eo.name==="websocket",this.transport.pause(()=>{no||this.readyState!=="closed"&&(co(),this.setTransport(eo),eo.send([{type:"upgrade"}]),this.emitReserved("upgrade",eo),eo=null,this.upgrading=!1,this.flush())})}else{const fo=new Error("probe error");fo.transport=eo.name,this.emitReserved("upgradeError",fo)}}))};function oo(){no||(no=!0,co(),eo.close(),eo=null)}const io=uo=>{const fo=new Error("probe error: "+uo);fo.transport=eo.name,oo(),this.emitReserved("upgradeError",fo)};function ao(){io("transport closed")}function so(){io("socket closed")}function lo(uo){eo&&uo.name!==eo.name&&oo()}const co=()=>{eo.removeListener("open",ro),eo.removeListener("error",io),eo.removeListener("close",ao),this.off("close",so),this.off("upgrading",lo)};eo.once("open",ro),eo.once("error",io),eo.once("close",ao),this.once("close",so),this.once("upgrading",lo),this.upgrades.indexOf("webtransport")!==-1&&ue!=="webtransport"?this.setTimeoutFn(()=>{no||eo.open()},200):eo.open()}onOpen(){if(this.readyState="open",ph.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let ue=0;const eo=this.upgrades.length;for(;ue<eo;ue++)this.probe(this.upgrades[ue])}}onPacket(ue){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",ue),this.emitReserved("heartbeat"),this.resetPingTimeout(),ue.type){case"open":this.onHandshake(JSON.parse(ue.data));break;case"ping":this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":const eo=new Error("server error");eo.code=ue.data,this.onError(eo);break;case"message":this.emitReserved("data",ue.data),this.emitReserved("message",ue.data);break}}onHandshake(ue){this.emitReserved("handshake",ue),this.id=ue.sid,this.transport.query.sid=ue.sid,this.upgrades=this.filterUpgrades(ue.upgrades),this.pingInterval=ue.pingInterval,this.pingTimeout=ue.pingTimeout,this.maxPayload=ue.maxPayload,this.onOpen(),this.readyState!=="closed"&&this.resetPingTimeout()}resetPingTimeout(){this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn(()=>{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const ue=this.getWritablePackets();this.transport.send(ue),this.prevBufferLen=ue.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let eo=1;for(let no=0;no<this.writeBuffer.length;no++){const ro=this.writeBuffer[no].data;if(ro&&(eo+=byteLength(ro)),no>0&&eo>this.maxPayload)return this.writeBuffer.slice(0,no);eo+=2}return this.writeBuffer}write(ue,eo,no){return this.sendPacket("message",ue,eo,no),this}send(ue,eo,no){return this.sendPacket("message",ue,eo,no),this}sendPacket(ue,eo,no,ro){if(typeof eo=="function"&&(ro=eo,eo=void 0),typeof no=="function"&&(ro=no,no=null),this.readyState==="closing"||this.readyState==="closed")return;no=no||{},no.compress=no.compress!==!1;const oo={type:ue,data:eo,options:no};this.emitReserved("packetCreate",oo),this.writeBuffer.push(oo),ro&&this.once("flush",ro),this.flush()}close(){const ue=()=>{this.onClose("forced close"),this.transport.close()},eo=()=>{this.off("upgrade",eo),this.off("upgradeError",eo),ue()},no=()=>{this.once("upgrade",eo),this.once("upgradeError",eo)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?no():ue()}):this.upgrading?no():ue()),this}onError(ue){ph.priorWebsocketSuccess=!1,this.emitReserved("error",ue),this.onClose("transport error",ue)}onClose(ue,eo){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",ue,eo),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(ue){const eo=[];let no=0;const ro=ue.length;for(;no<ro;no++)~this.transports.indexOf(ue[no])&&eo.push(ue[no]);return eo}};Socket$1.protocol=protocol$1;function url$1(to,ue="",eo){let no=to;eo=eo||typeof location<"u"&&location,to==null&&(to=eo.protocol+"//"+eo.host),typeof to=="string"&&(to.charAt(0)==="/"&&(to.charAt(1)==="/"?to=eo.protocol+to:to=eo.host+to),/^(https?|wss?):\/\//.test(to)||(typeof eo<"u"?to=eo.protocol+"//"+to:to="https://"+to),no=parse$8(to)),no.port||(/^(http|ws)$/.test(no.protocol)?no.port="80":/^(http|ws)s$/.test(no.protocol)&&(no.port="443")),no.path=no.path||"/";const oo=no.host.indexOf(":")!==-1?"["+no.host+"]":no.host;return no.id=no.protocol+"://"+oo+":"+no.port+ue,no.href=no.protocol+"://"+oo+(eo&&eo.port===no.port?"":":"+no.port),no}const withNativeArrayBuffer=typeof ArrayBuffer=="function",isView=to=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(to):to.buffer instanceof ArrayBuffer,toString$4=Object.prototype.toString,withNativeBlob=typeof Blob=="function"||typeof Blob<"u"&&toString$4.call(Blob)==="[object BlobConstructor]",withNativeFile=typeof File=="function"||typeof File<"u"&&toString$4.call(File)==="[object FileConstructor]";function isBinary(to){return withNativeArrayBuffer&&(to instanceof ArrayBuffer||isView(to))||withNativeBlob&&to instanceof Blob||withNativeFile&&to instanceof File}function hasBinary(to,ue){if(!to||typeof to!="object")return!1;if(Array.isArray(to)){for(let eo=0,no=to.length;eo<no;eo++)if(hasBinary(to[eo]))return!0;return!1}if(isBinary(to))return!0;if(to.toJSON&&typeof to.toJSON=="function"&&arguments.length===1)return hasBinary(to.toJSON(),!0);for(const eo in to)if(Object.prototype.hasOwnProperty.call(to,eo)&&hasBinary(to[eo]))return!0;return!1}function deconstructPacket(to){const ue=[],eo=to.data,no=to;return no.data=_deconstructPacket(eo,ue),no.attachments=ue.length,{packet:no,buffers:ue}}function _deconstructPacket(to,ue){if(!to)return to;if(isBinary(to)){const eo={_placeholder:!0,num:ue.length};return ue.push(to),eo}else if(Array.isArray(to)){const eo=new Array(to.length);for(let no=0;no<to.length;no++)eo[no]=_deconstructPacket(to[no],ue);return eo}else if(typeof to=="object"&&!(to instanceof Date)){const eo={};for(const no in to)Object.prototype.hasOwnProperty.call(to,no)&&(eo[no]=_deconstructPacket(to[no],ue));return eo}return to}function reconstructPacket(to,ue){return to.data=_reconstructPacket(to.data,ue),delete to.attachments,to}function _reconstructPacket(to,ue){if(!to)return to;if(to&&to._placeholder===!0){if(typeof to.num=="number"&&to.num>=0&&to.num<ue.length)return ue[to.num];throw new Error("illegal attachments")}else if(Array.isArray(to))for(let eo=0;eo<to.length;eo++)to[eo]=_reconstructPacket(to[eo],ue);else if(typeof to=="object")for(const eo in to)Object.prototype.hasOwnProperty.call(to,eo)&&(to[eo]=_reconstructPacket(to[eo],ue));return to}const RESERVED_EVENTS$1=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],protocol=5;var PacketType;(function(to){to[to.CONNECT=0]="CONNECT",to[to.DISCONNECT=1]="DISCONNECT",to[to.EVENT=2]="EVENT",to[to.ACK=3]="ACK",to[to.CONNECT_ERROR=4]="CONNECT_ERROR",to[to.BINARY_EVENT=5]="BINARY_EVENT",to[to.BINARY_ACK=6]="BINARY_ACK"})(PacketType||(PacketType={}));class Encoder{constructor(ue){this.replacer=ue}encode(ue){return(ue.type===PacketType.EVENT||ue.type===PacketType.ACK)&&hasBinary(ue)?this.encodeAsBinary({type:ue.type===PacketType.EVENT?PacketType.BINARY_EVENT:PacketType.BINARY_ACK,nsp:ue.nsp,data:ue.data,id:ue.id}):[this.encodeAsString(ue)]}encodeAsString(ue){let eo=""+ue.type;return(ue.type===PacketType.BINARY_EVENT||ue.type===PacketType.BINARY_ACK)&&(eo+=ue.attachments+"-"),ue.nsp&&ue.nsp!=="/"&&(eo+=ue.nsp+","),ue.id!=null&&(eo+=ue.id),ue.data!=null&&(eo+=JSON.stringify(ue.data,this.replacer)),eo}encodeAsBinary(ue){const eo=deconstructPacket(ue),no=this.encodeAsString(eo.packet),ro=eo.buffers;return ro.unshift(no),ro}}function isObject$7(to){return Object.prototype.toString.call(to)==="[object Object]"}class Decoder extends Emitter{constructor(ue){super(),this.reviver=ue}add(ue){let eo;if(typeof ue=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");eo=this.decodeString(ue);const no=eo.type===PacketType.BINARY_EVENT;no||eo.type===PacketType.BINARY_ACK?(eo.type=no?PacketType.EVENT:PacketType.ACK,this.reconstructor=new BinaryReconstructor(eo),eo.attachments===0&&super.emitReserved("decoded",eo)):super.emitReserved("decoded",eo)}else if(isBinary(ue)||ue.base64)if(this.reconstructor)eo=this.reconstructor.takeBinaryData(ue),eo&&(this.reconstructor=null,super.emitReserved("decoded",eo));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+ue)}decodeString(ue){let eo=0;const no={type:Number(ue.charAt(0))};if(PacketType[no.type]===void 0)throw new Error("unknown packet type "+no.type);if(no.type===PacketType.BINARY_EVENT||no.type===PacketType.BINARY_ACK){const oo=eo+1;for(;ue.charAt(++eo)!=="-"&&eo!=ue.length;);const io=ue.substring(oo,eo);if(io!=Number(io)||ue.charAt(eo)!=="-")throw new Error("Illegal attachments");no.attachments=Number(io)}if(ue.charAt(eo+1)==="/"){const oo=eo+1;for(;++eo&&!(ue.charAt(eo)===","||eo===ue.length););no.nsp=ue.substring(oo,eo)}else no.nsp="/";const ro=ue.charAt(eo+1);if(ro!==""&&Number(ro)==ro){const oo=eo+1;for(;++eo;){const io=ue.charAt(eo);if(io==null||Number(io)!=io){--eo;break}if(eo===ue.length)break}no.id=Number(ue.substring(oo,eo+1))}if(ue.charAt(++eo)){const oo=this.tryParse(ue.substr(eo));if(Decoder.isPayloadValid(no.type,oo))no.data=oo;else throw new Error("invalid payload")}return no}tryParse(ue){try{return JSON.parse(ue,this.reviver)}catch{return!1}}static isPayloadValid(ue,eo){switch(ue){case PacketType.CONNECT:return isObject$7(eo);case PacketType.DISCONNECT:return eo===void 0;case PacketType.CONNECT_ERROR:return typeof eo=="string"||isObject$7(eo);case PacketType.EVENT:case PacketType.BINARY_EVENT:return Array.isArray(eo)&&(typeof eo[0]=="number"||typeof eo[0]=="string"&&RESERVED_EVENTS$1.indexOf(eo[0])===-1);case PacketType.ACK:case PacketType.BINARY_ACK:return Array.isArray(eo)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class BinaryReconstructor{constructor(ue){this.packet=ue,this.buffers=[],this.reconPack=ue}takeBinaryData(ue){if(this.buffers.push(ue),this.buffers.length===this.reconPack.attachments){const eo=reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),eo}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const parser$2=Object.freeze(Object.defineProperty({__proto__:null,Decoder,Encoder,get PacketType(){return PacketType},protocol},Symbol.toStringTag,{value:"Module"}));function on$1(to,ue,eo){return to.on(ue,eo),function(){to.off(ue,eo)}}const RESERVED_EVENTS=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Socket extends Emitter{constructor(ue,eo,no){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=ue,this.nsp=eo,no&&no.auth&&(this.auth=no.auth),this._opts=Object.assign({},no),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const ue=this.io;this.subs=[on$1(ue,"open",this.onopen.bind(this)),on$1(ue,"packet",this.onpacket.bind(this)),on$1(ue,"error",this.onerror.bind(this)),on$1(ue,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...ue){return ue.unshift("message"),this.emit.apply(this,ue),this}emit(ue,...eo){if(RESERVED_EVENTS.hasOwnProperty(ue))throw new Error('"'+ue.toString()+'" is a reserved event name');if(eo.unshift(ue),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(eo),this;const no={type:PacketType.EVENT,data:eo};if(no.options={},no.options.compress=this.flags.compress!==!1,typeof eo[eo.length-1]=="function"){const io=this.ids++,ao=eo.pop();this._registerAckCallback(io,ao),no.id=io}const ro=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!ro||!this.connected)||(this.connected?(this.notifyOutgoingListeners(no),this.packet(no)):this.sendBuffer.push(no)),this.flags={},this}_registerAckCallback(ue,eo){var no;const ro=(no=this.flags.timeout)!==null&&no!==void 0?no:this._opts.ackTimeout;if(ro===void 0){this.acks[ue]=eo;return}const oo=this.io.setTimeoutFn(()=>{delete this.acks[ue];for(let ao=0;ao<this.sendBuffer.length;ao++)this.sendBuffer[ao].id===ue&&this.sendBuffer.splice(ao,1);eo.call(this,new Error("operation has timed out"))},ro),io=(...ao)=>{this.io.clearTimeoutFn(oo),eo.apply(this,ao)};io.withError=!0,this.acks[ue]=io}emitWithAck(ue,...eo){return new Promise((no,ro)=>{const oo=(io,ao)=>io?ro(io):no(ao);oo.withError=!0,eo.push(oo),this.emit(ue,...eo)})}_addToQueue(ue){let eo;typeof ue[ue.length-1]=="function"&&(eo=ue.pop());const no={id:this._queueSeq++,tryCount:0,pending:!1,args:ue,flags:Object.assign({fromQueue:!0},this.flags)};ue.push((ro,...oo)=>no!==this._queue[0]?void 0:(ro!==null?no.tryCount>this._opts.retries&&(this._queue.shift(),eo&&eo(ro)):(this._queue.shift(),eo&&eo(null,...oo)),no.pending=!1,this._drainQueue())),this._queue.push(no),this._drainQueue()}_drainQueue(ue=!1){if(!this.connected||this._queue.length===0)return;const eo=this._queue[0];eo.pending&&!ue||(eo.pending=!0,eo.tryCount++,this.flags=eo.flags,this.emit.apply(this,eo.args))}packet(ue){ue.nsp=this.nsp,this.io._packet(ue)}onopen(){typeof this.auth=="function"?this.auth(ue=>{this._sendConnectPacket(ue)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(ue){this.packet({type:PacketType.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},ue):ue})}onerror(ue){this.connected||this.emitReserved("connect_error",ue)}onclose(ue,eo){this.connected=!1,delete this.id,this.emitReserved("disconnect",ue,eo),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(ue=>{if(!this.sendBuffer.some(no=>String(no.id)===ue)){const no=this.acks[ue];delete this.acks[ue],no.withError&&no.call(this,new Error("socket has been disconnected"))}})}onpacket(ue){if(ue.nsp===this.nsp)switch(ue.type){case PacketType.CONNECT:ue.data&&ue.data.sid?this.onconnect(ue.data.sid,ue.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case PacketType.EVENT:case PacketType.BINARY_EVENT:this.onevent(ue);break;case PacketType.ACK:case PacketType.BINARY_ACK:this.onack(ue);break;case PacketType.DISCONNECT:this.ondisconnect();break;case PacketType.CONNECT_ERROR:this.destroy();const no=new Error(ue.data.message);no.data=ue.data.data,this.emitReserved("connect_error",no);break}}onevent(ue){const eo=ue.data||[];ue.id!=null&&eo.push(this.ack(ue.id)),this.connected?this.emitEvent(eo):this.receiveBuffer.push(Object.freeze(eo))}emitEvent(ue){if(this._anyListeners&&this._anyListeners.length){const eo=this._anyListeners.slice();for(const no of eo)no.apply(this,ue)}super.emit.apply(this,ue),this._pid&&ue.length&&typeof ue[ue.length-1]=="string"&&(this._lastOffset=ue[ue.length-1])}ack(ue){const eo=this;let no=!1;return function(...ro){no||(no=!0,eo.packet({type:PacketType.ACK,id:ue,data:ro}))}}onack(ue){const eo=this.acks[ue.id];typeof eo=="function"&&(delete this.acks[ue.id],eo.withError&&ue.data.unshift(null),eo.apply(this,ue.data))}onconnect(ue,eo){this.id=ue,this.recovered=eo&&this._pid===eo,this._pid=eo,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(ue=>this.emitEvent(ue)),this.receiveBuffer=[],this.sendBuffer.forEach(ue=>{this.notifyOutgoingListeners(ue),this.packet(ue)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(ue=>ue()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:PacketType.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(ue){return this.flags.compress=ue,this}get volatile(){return this.flags.volatile=!0,this}timeout(ue){return this.flags.timeout=ue,this}onAny(ue){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(ue),this}prependAny(ue){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(ue),this}offAny(ue){if(!this._anyListeners)return this;if(ue){const eo=this._anyListeners;for(let no=0;no<eo.length;no++)if(ue===eo[no])return eo.splice(no,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(ue){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(ue),this}prependAnyOutgoing(ue){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(ue),this}offAnyOutgoing(ue){if(!this._anyOutgoingListeners)return this;if(ue){const eo=this._anyOutgoingListeners;for(let no=0;no<eo.length;no++)if(ue===eo[no])return eo.splice(no,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(ue){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const eo=this._anyOutgoingListeners.slice();for(const no of eo)no.apply(this,ue.data)}}}function Backoff(to){to=to||{},this.ms=to.min||100,this.max=to.max||1e4,this.factor=to.factor||2,this.jitter=to.jitter>0&&to.jitter<=1?to.jitter:0,this.attempts=0}Backoff.prototype.duration=function(){var to=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var ue=Math.random(),eo=Math.floor(ue*this.jitter*to);to=Math.floor(ue*10)&1?to+eo:to-eo}return Math.min(to,this.max)|0};Backoff.prototype.reset=function(){this.attempts=0};Backoff.prototype.setMin=function(to){this.ms=to};Backoff.prototype.setMax=function(to){this.max=to};Backoff.prototype.setJitter=function(to){this.jitter=to};class Manager extends Emitter{constructor(ue,eo){var no;super(),this.nsps={},this.subs=[],ue&&typeof ue=="object"&&(eo=ue,ue=void 0),eo=eo||{},eo.path=eo.path||"/socket.io",this.opts=eo,installTimerFunctions(this,eo),this.reconnection(eo.reconnection!==!1),this.reconnectionAttempts(eo.reconnectionAttempts||1/0),this.reconnectionDelay(eo.reconnectionDelay||1e3),this.reconnectionDelayMax(eo.reconnectionDelayMax||5e3),this.randomizationFactor((no=eo.randomizationFactor)!==null&&no!==void 0?no:.5),this.backoff=new Backoff({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(eo.timeout==null?2e4:eo.timeout),this._readyState="closed",this.uri=ue;const ro=eo.parser||parser$2;this.encoder=new ro.Encoder,this.decoder=new ro.Decoder,this._autoConnect=eo.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(ue){return arguments.length?(this._reconnection=!!ue,this):this._reconnection}reconnectionAttempts(ue){return ue===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=ue,this)}reconnectionDelay(ue){var eo;return ue===void 0?this._reconnectionDelay:(this._reconnectionDelay=ue,(eo=this.backoff)===null||eo===void 0||eo.setMin(ue),this)}randomizationFactor(ue){var eo;return ue===void 0?this._randomizationFactor:(this._randomizationFactor=ue,(eo=this.backoff)===null||eo===void 0||eo.setJitter(ue),this)}reconnectionDelayMax(ue){var eo;return ue===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=ue,(eo=this.backoff)===null||eo===void 0||eo.setMax(ue),this)}timeout(ue){return arguments.length?(this._timeout=ue,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(ue){if(~this._readyState.indexOf("open"))return this;this.engine=new Socket$1(this.uri,this.opts);const eo=this.engine,no=this;this._readyState="opening",this.skipReconnect=!1;const ro=on$1(eo,"open",function(){no.onopen(),ue&&ue()}),oo=ao=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",ao),ue?ue(ao):this.maybeReconnectOnOpen()},io=on$1(eo,"error",oo);if(this._timeout!==!1){const ao=this._timeout,so=this.setTimeoutFn(()=>{ro(),oo(new Error("timeout")),eo.close()},ao);this.opts.autoUnref&&so.unref(),this.subs.push(()=>{this.clearTimeoutFn(so)})}return this.subs.push(ro),this.subs.push(io),this}connect(ue){return this.open(ue)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const ue=this.engine;this.subs.push(on$1(ue,"ping",this.onping.bind(this)),on$1(ue,"data",this.ondata.bind(this)),on$1(ue,"error",this.onerror.bind(this)),on$1(ue,"close",this.onclose.bind(this)),on$1(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(ue){try{this.decoder.add(ue)}catch(eo){this.onclose("parse error",eo)}}ondecoded(ue){nextTick(()=>{this.emitReserved("packet",ue)},this.setTimeoutFn)}onerror(ue){this.emitReserved("error",ue)}socket(ue,eo){let no=this.nsps[ue];return no?this._autoConnect&&!no.active&&no.connect():(no=new Socket(this,ue,eo),this.nsps[ue]=no),no}_destroy(ue){const eo=Object.keys(this.nsps);for(const no of eo)if(this.nsps[no].active)return;this._close()}_packet(ue){const eo=this.encoder.encode(ue);for(let no=0;no<eo.length;no++)this.engine.write(eo[no],ue.options)}cleanup(){this.subs.forEach(ue=>ue()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(ue,eo){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",ue,eo),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const ue=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const eo=this.backoff.duration();this._reconnecting=!0;const no=this.setTimeoutFn(()=>{ue.skipReconnect||(this.emitReserved("reconnect_attempt",ue.backoff.attempts),!ue.skipReconnect&&ue.open(ro=>{ro?(ue._reconnecting=!1,ue.reconnect(),this.emitReserved("reconnect_error",ro)):ue.onreconnect()}))},eo);this.opts.autoUnref&&no.unref(),this.subs.push(()=>{this.clearTimeoutFn(no)})}}onreconnect(){const ue=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",ue)}}const cache$1={};function lookup(to,ue){typeof to=="object"&&(ue=to,to=void 0),ue=ue||{};const eo=url$1(to,ue.path||"/socket.io"),no=eo.source,ro=eo.id,oo=eo.path,io=cache$1[ro]&&oo in cache$1[ro].nsps,ao=ue.forceNew||ue["force new connection"]||ue.multiplex===!1||io;let so;return ao?so=new Manager(no,ue):(cache$1[ro]||(cache$1[ro]=new Manager(no,ue)),so=cache$1[ro]),eo.query&&!ue.query&&(ue.query=eo.queryKey),so.socket(eo.path,ue)}Object.assign(lookup,{Manager,Socket,io:lookup,connect:lookup});const DefaultOptions={heartbeat:!0},createWebsocket=(to,ue=DefaultOptions)=>{if(!to)throw"A websocket path must be provided";const{heartbeat:eo}={...DefaultOptions,...ue},no=location.protocol==="https:",ro=no?"wss:":"ws:",oo=location.hostname,io=location.port||(no?443:80);let ao=lookup(`${ro}//${oo}:${io}`,{path:to,reconnectionAttempts:3,reconnectionDelay:5e3,reconnectionDelayMax:5e3,timeout:4e3,transports:["websocket"]}),so;return eo&&(so=setInterval(()=>{ao.emit(SocketEvent.Heartbeat)},SocketSessionTTL*500)),ao.on("disconnect",()=>{clearInterval(so)}),ao.onOther=(lo,co)=>{ao.on(lo,uo=>{(uo==null?void 0:uo.apiSessionId)!==APISessionID&&co(uo)})},ao},defaultColors={keyColor:"dimgray",numberColor:"lightskyblue",stringColor:"lightcoral",trueColor:"lightseagreen",falseColor:"#f66578",nullColor:"cornflowerblue"},entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="};function escapeHtml(to){return String(to).replace(/[&<>"'`=]/g,function(ue){return entityMap[ue]})}function format$1(to,ue={}){const eo=typeof to;let no=typeof to=="string"?to:JSON.stringify(to,null,2)||eo,ro=Object.assign({},defaultColors,ue);return no=no.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),no.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+]?\d+)?)/g,oo=>{let io=ro.numberColor,ao="";return/^"/.test(oo)?/:$/.test(oo)?io=ro.keyColor:(io=ro.stringColor,oo='"'+escapeHtml(oo.substr(1,oo.length-2))+'"',ao="word-wrap:break-word;white-space:pre-wrap;"):io=/true/.test(oo)?ro.trueColor:/false/.test(oo)?ro.falseColor:/null/.test(oo)?ro.nullColor:io,`<span style="${ao}color:${io}">${oo}</span>`})}const extractFileNameRegex=/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;function downloadText(to,ue){typeof ue=="object"&&(ue=JSON.stringify(ue));const eo=new Blob([ue],{type:"plain/text"}),no=URL.createObjectURL(eo),ro=document.createElement("a");ro.href=no,ro.download=to,ro.click(),URL.revokeObjectURL(no)}async function downloadStream(to){const ue=await to.blob(),eo=to.headers.get("Content-Disposition"),ro=extractFileNameRegex.exec(eo)[1].replace(/['"]/g,""),oo=new Blob([ue]),io=URL.createObjectURL(oo),ao=document.createElement("a");ao.href=io,ao.download=ro,ao.click(),URL.revokeObjectURL(io)}async function downloadFile(to,ue){const eo=await fetch(to,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ue)});if(eo.ok){const no=eo.headers.get("Content-Disposition"),oo=extractFileNameRegex.exec(no)[1].replace(/['"]/g,""),io=URL.createObjectURL(await eo.blob()),ao=document.createElement("a");return ao.href=io,ao.download=oo,ao.click(),URL.revokeObjectURL(io),!0}else return!1}const shouldDisplaySetting=(to,ue)=>{let eo=ue.dependsOn;return eo&&!Array.isArray(eo)&&(eo=[eo]),eo!=null&&eo.length?eo.every(no=>{let ro=no,oo=null,io=!!no.invert;if(typeof no=="object"&&(ro=no.setting,oo=no.value),!ro)return!1;Array.isArray(oo)||(oo=[oo]);const ao=deepGet$1(to,ro);return oo.some(lo=>lo==null?ao!=null&&ao!==!1&&ao!=="":lo===ao)!==io}):!0},columnTypeManyTypeOverrides={[FieldType.DATETIME]:FieldType.STRING,[FieldType.BOOLEAN]:FieldType.STRING,[FieldType.SIGNATURE_SINGLE]:FieldType.ATTACHMENTS},columnTypeManyParser={[FieldType.DATETIME]:(to,ue)=>{function eo(no){const{timeOnly:ro,dateOnly:oo}=ue||{},io=!oo,ao=parseDate(no,{enableTime:io});return getDateDisplayValue(ao,{enableTime:io,timeOnly:ro})}return to.map(no=>eo(no))},[FieldType.BOOLEAN]:to=>to.map(ue=>!!ue),[FieldType.BB_REFERENCE_SINGLE]:to=>[...new Map(to.map(ue=>[ue._id,ue])).values()],[FieldType.BB_REFERENCE]:to=>[...new Map(to.map(ue=>[ue._id,ue])).values()],[FieldType.ARRAY]:to=>Array.from(new Set(to))};function enrichSchemaWithRelColumns(to){return Object.keys(to).reduce((eo,no)=>{const ro=to[no];if(eo[no]=ro,ro.visible!==!1&&isRelationshipField(ro)&&ro.columns){const oo=(ro==null?void 0:ro.relationshipType)===RelationshipType.ONE_TO_MANY;for(const io of Object.keys(ro.columns)){const ao=ro.columns[io];if(!ao.visible)continue;const so=`${ro.name}.${io}`;eo[so]={...ao,type:ao.type,name:so,related:{field:no,subField:io},cellRenderType:!oo&&columnTypeManyTypeOverrides[ao.type]||ao.type}}}return eo},{})}function getRelatedTableValues(to,ue,eo){var oo,io,ao,so;const no=isRelationshipField(eo)&&(eo==null?void 0:eo.relationshipType)===RelationshipType.ONE_TO_MANY;let ro="";if(no)ro=(io=(oo=to[ue.related.field])==null?void 0:oo[0])==null?void 0:io[ue.related.subField];else{const lo=columnTypeManyParser[ue.type]||(fo=>fo),co=(so=(ao=to[ue.related.field])==null?void 0:ao.flatMap(fo=>fo[ue.related.subField]))==null?void 0:so.filter(fo=>fo!=null),uo=lo(co||[],ue);ro=uo,[FieldType.STRING,FieldType.NUMBER,FieldType.BIGINT,FieldType.BOOLEAN,FieldType.DATETIME,FieldType.LONGFORM,FieldType.BARCODEQR].includes(ue.type)&&(ro=uo==null?void 0:uo.join(", "))}return ro}function canBeDisplayColumn(to){return!(!canBeDisplayColumn$1(to.type)||to.related)}function canBeSortColumn(to){return to.calculationType?!0:!(!canBeSortColumn$1(to.type)||to.related)}const{buildQuery,limit:queryLimit,runQuery,sort:sort$2}=QueryUtils;class BaseDataFetch{constructor(ue){pc(this,"API");pc(this,"features");pc(this,"options");pc(this,"store");pc(this,"derivedStore");if(this.features={supportsSearch:!1,supportsSort:!1,supportsPagination:!1},this.options={datasource:ue.datasource,limit:10,filter:null,query:ue.query,sortColumn:null,sortOrder:SortOrder.ASCENDING,sortType:null,paginate:!0,clientSideSearching:!0,clientSideSorting:!0,clientSideLimiting:!0},this.store=writable({rows:[],info:null,schema:null,loading:!1,loaded:!1,query:ue.query,pageNumber:0,cursor:null,cursors:[],resetKey:Math.random().toString(),error:null}),this.API=ue==null?void 0:ue.API,this.options={...this.options,...ue},!this.API)throw"An API client is required for fetching data";if(this.getData=this.getData.bind(this),this.getPage=this.getPage.bind(this),this.getInitialData=this.getInitialData.bind(this),this.determineFeatureFlags=this.determineFeatureFlags.bind(this),this.refresh=this.refresh.bind(this),this.update=this.update.bind(this),this.hasNextPage=this.hasNextPage.bind(this),this.hasPrevPage=this.hasPrevPage.bind(this),this.nextPage=this.nextPage.bind(this),this.prevPage=this.prevPage.bind(this),this.derivedStore=derived(this.store,eo=>({...eo,...this.features,hasNextPage:this.hasNextPage(eo),hasPrevPage:this.hasPrevPage(eo)})),!this.options.datasource){this.store.update(eo=>({...eo,loaded:!0}));return}}get subscribe(){return this.derivedStore.subscribe}getDefaultSortColumn(ue,eo){return ue!=null&&ue.primaryDisplay&&eo[ue.primaryDisplay]?ue.primaryDisplay:Object.keys(eo)[0]}async getInitialData(){const{filter:ue,paginate:eo}=this.options,no=await this.getDefinition(),ro=await this.determineFeatureFlags();this.features={supportsSearch:!!(ro!=null&&ro.supportsSearch),supportsSort:!!(ro!=null&&ro.supportsSort),supportsPagination:eo&&!!(ro!=null&&ro.supportsPagination)};let oo=this.getSchema(no);if(!oo)return;if(oo=this.enrichSchema(oo),this.options.sortColumn&&!oo[this.options.sortColumn]&&(this.options.sortColumn=null),this.options.sortColumn||(this.options.sortColumn=this.getDefaultSortColumn(no,oo)),!this.options.sortColumn)this.options.sortOrder=SortOrder.ASCENDING,this.options.sortType=null;else{this.options.sortType=SortType.STRING;const so=oo==null?void 0:oo[this.options.sortColumn];((so==null?void 0:so.type)===FieldType.NUMBER||(so==null?void 0:so.type)===FieldType.BIGINT||"calculationType"in so&&(so!=null&&so.calculationType))&&(this.options.sortType=SortType.NUMBER),this.options.sortOrder?this.options.sortOrder=this.options.sortOrder.toLowerCase():this.options.sortOrder=SortOrder.ASCENDING}let io=this.options.query;io||(io=buildQuery(ue??void 0)),this.store.update(so=>({...so,definition:no,schema:oo,query:io,loading:!0,cursors:[],cursor:null}));const ao=await this.getPage();this.store.update(so=>({...so,loading:!1,loaded:!0,pageNumber:0,rows:ao.rows,info:ao.info,cursors:eo&&ao.hasNextPage?[null,ao.cursor]:[null],error:ao.error,resetKey:Math.random().toString()}))}async getPage(){const{sortColumn:ue,sortOrder:eo,sortType:no,limit:ro,clientSideSearching:oo,clientSideSorting:io,clientSideLimiting:ao}=this.options,{query:so}=get_store_value(this.store);let{rows:lo,info:co,hasNextPage:uo,cursor:fo,error:po}=await this.getData();return!this.features.supportsSearch&&oo&&(lo=runQuery(lo,so)),!this.features.supportsSort&&io&&no&&(lo=sort$2(lo,ue,eo,no)),!this.features.supportsPagination&&ao&&(lo=queryLimit(lo,ro)),{rows:lo,info:co,hasNextPage:uo,cursor:fo,error:po}}getSchema(ue){return(ue==null?void 0:ue.schema)??void 0}enrichSchema(ue){let eo={};for(const ro of Object.keys(ue)){const oo=ue[ro];if(oo.type===FieldType.JSON){const io=convertJSONSchemaToTableSchema(oo,{squashObjects:!0});if(io)for(const ao of Object.keys(io))eo[`${ro}.${ao}`]={type:io[ao].type,nestedJSON:!0}}}let no={};return Object.entries({...ue,...eo}).forEach(([ro,oo])=>{typeof oo=="string"?no[ro]={type:oo,name:ro}:no[ro]={...oo,type:oo.type,name:ro}}),no}async determineFeatureFlags(){return{supportsSearch:!1,supportsSort:!1,supportsPagination:!1}}async update(ue){let eo=!1;for(const[no,ro]of Object.entries(ue||{})){const oo=this.options[no]??null;if(JSON.stringify(ro??null)!==JSON.stringify(oo)){eo=!0;break}}eo&&(this.options={...this.options,...fp$1.cloneDeep(ue)},await this.getInitialData())}async refresh(){if(get_store_value(this.store).loading)return;this.store.update(so=>({...so,loading:!0}));const{rows:ue,info:eo,error:no,cursor:ro}=await this.getPage();let{cursors:oo}=get_store_value(this.store);const{pageNumber:io}=get_store_value(this.store);if(!ue.length&&io>0)return this.store.update(so=>({...so,loading:!1,cursors:oo.slice(0,io)})),await this.prevPage();oo[io+1]!=ro&&(oo=oo.slice(0,io+1),oo[io+1]=ro),this.store.update(so=>({...so,rows:ue,info:eo,loading:!1,error:no,cursors:oo}))}hasNextPage(ue){return ue.cursors[ue.pageNumber+1]!=null}hasPrevPage(ue){return ue.pageNumber>0}async nextPage(){const ue=get_store_value(this.derivedStore);if(ue.loading||!this.options.paginate||!ue.hasNextPage)return;const eo=ue.cursors[ue.pageNumber+1];this.store.update(so=>({...so,loading:!0,cursor:eo,pageNumber:so.pageNumber+1}));const{rows:no,info:ro,hasNextPage:oo,cursor:io,error:ao}=await this.getPage();this.store.update(so=>{let{cursors:lo,pageNumber:co}=so;return oo&&(lo[co+1]=io),{...so,rows:no,info:ro,cursors:lo,loading:!1,error:ao}})}async prevPage(){const ue=get_store_value(this.derivedStore);if(ue.loading||!this.options.paginate||!ue.hasPrevPage)return;const eo=ue.cursors[ue.pageNumber-1];this.store.update(io=>({...io,loading:!0,cursor:eo,pageNumber:io.pageNumber-1}));const{rows:no,info:ro,error:oo}=await this.getPage();this.store.update(io=>({...io,rows:no,info:ro,loading:!1,error:oo}))}}class TableFetch extends BaseDataFetch{async determineFeatureFlags(){return{supportsSearch:!0,supportsSort:!0,supportsPagination:!0}}async getDefinition(){const{datasource:ue}=this.options;if(!(ue!=null&&ue.tableId))return null;try{return await this.API.fetchTableDefinition(ue.tableId)}catch(eo){return this.store.update(no=>({...no,error:eo})),null}}async getData(){const{datasource:ue,limit:eo,sortColumn:no,sortOrder:ro,sortType:oo,paginate:io}=this.options,{tableId:ao}=ue,{cursor:so,query:lo}=get_store_value(this.store);try{const co=await this.API.searchTable(ao,{query:lo,limit:eo,sort:no,sortOrder:ro??SortOrder.ASCENDING,sortType:oo,paginate:io,bookmark:so});return{rows:(co==null?void 0:co.rows)||[],hasNextPage:(co==null?void 0:co.hasNextPage)||!1,cursor:(co==null?void 0:co.bookmark)||null}}catch(co){return{rows:[],hasNextPage:!1,error:co}}}}class ViewFetch extends BaseDataFetch{async getDefinition(){const{datasource:ue}=this.options;if(!(ue!=null&&ue.tableId))return null;try{return await this.API.fetchTableDefinition(ue.tableId)}catch(eo){return this.store.update(no=>({...no,error:eo})),null}}getSchema(ue){var no,ro;const{datasource:eo}=this.options;return(ro=(no=ue==null?void 0:ue.views)==null?void 0:no[eo==null?void 0:eo.name])==null?void 0:ro.schema}async getData(){const{datasource:ue}=this.options;try{return{rows:await this.API.fetchViewData(ue.name,{calculation:ue.calculation,field:ue.field,groupBy:ue.groupBy,tableId:ue.tableId})||[]}}catch(eo){return console.error(eo,{datasource:ue}),{rows:[]}}}}class ViewV2Fetch extends BaseDataFetch{async determineFeatureFlags(){return{supportsSearch:!0,supportsSort:!0,supportsPagination:!0}}async getDefinition(){const{datasource:ue}=this.options;try{const eo=await this.API.viewV2.fetchDefinition(ue.id);return eo==null?void 0:eo.data}catch(eo){return this.store.update(no=>({...no,error:eo})),null}}getDefaultSortColumn(){return null}async getData(){var co;const{datasource:ue,limit:eo,sortColumn:no,sortOrder:ro,sortType:oo,paginate:io}=this.options,{cursor:ao,query:so,definition:lo}=get_store_value(this.store);if((lo==null?void 0:lo.type)===ViewV2Type.CALCULATION&&!Object.values(lo.schema||{}).some(isCalculationField))return{rows:[],hasNextPage:!1,cursor:null,error:null};!no&&((co=lo==null?void 0:lo.sort)!=null&&co.field)&&(this.options.sortColumn=lo.sort.field,this.options.sortOrder=lo.sort.order||SortOrder.ASCENDING);try{const uo={query:so,paginate:io,limit:eo,bookmark:ao,sort:no,sortOrder:ro,sortType:oo};if(io){const fo=await this.API.viewV2.fetch(ue.id,{...uo,paginate:io});return{rows:(fo==null?void 0:fo.rows)||[],hasNextPage:(fo==null?void 0:fo.hasNextPage)||!1,cursor:(fo==null?void 0:fo.bookmark)||null}}else{const fo=await this.API.viewV2.fetch(ue.id,{...uo,paginate:io});return{rows:(fo==null?void 0:fo.rows)||[],hasNextPage:!1,cursor:null}}}catch(uo){return{rows:[],hasNextPage:!1,cursor:null,error:uo}}}}class QueryFetch extends BaseDataFetch{async determineFeatureFlags(){var no,ro,oo,io,ao,so;const ue=await this.getDefinition();return{supportsPagination:!!((ro=(no=ue==null?void 0:ue.fields)==null?void 0:no.pagination)!=null&&ro.type)&&!!((io=(oo=ue==null?void 0:ue.fields)==null?void 0:oo.pagination)!=null&&io.location)&&!!((so=(ao=ue==null?void 0:ue.fields)==null?void 0:ao.pagination)!=null&&so.pageParam)}}async getDefinition(){const{datasource:ue}=this.options;if(!(ue!=null&&ue._id))return null;try{const eo=await this.API.fetchQueryDefinition(ue._id);return eo.fields||(eo.fields=ue.fields),eo}catch{return null}}getDefaultSortColumn(){return null}async getData(){var co,uo;const{datasource:ue,limit:eo,paginate:no}=this.options,{supportsPagination:ro}=this.features,{cursor:oo,definition:io}=get_store_value(this.store),ao=(uo=(co=io==null?void 0:io.fields)==null?void 0:co.pagination)==null?void 0:uo.type,so=cloneDeep(ue.queryParams||{});for(const fo of(ue==null?void 0:ue.parameters)||[])so[fo.name]||(so[fo.name]=fo.default);const lo={parameters:so};if(no&&ro){const fo=ao==="page"?parseInt(oo||"1"):oo;lo.pagination={page:fo,limit:eo}}try{const fo=await this.API.executeQuery(ue==null?void 0:ue._id,lo),{data:po,pagination:ho,..._o}=fo;let go=null,bo=!1;return no&&ro&&(ao==="page"?(go=lo.pagination.page+1,bo=(po==null?void 0:po.length)===eo&&eo>0):(go=ho==null?void 0:ho.cursor,bo=go!=null)),{rows:po||[],info:_o,cursor:go,hasNextPage:bo}}catch{return{rows:[],hasNextPage:!1}}}}class RelationshipFetch extends BaseDataFetch{async getDefinition(){const{datasource:ue}=this.options;if(!(ue!=null&&ue.tableId))return null;try{return await this.API.fetchTableDefinition(ue.tableId)}catch(eo){return this.store.update(no=>({...no,error:eo})),null}}async getData(){const{datasource:ue}=this.options;if(!(ue!=null&&ue.rowId)||!(ue!=null&&ue.rowTableId))return{rows:[]};try{return{rows:await this.API.fetchRelationshipData(ue.rowTableId,ue.rowId,ue.fieldName)}}catch{return{rows:[]}}}}class NestedProviderFetch extends BaseDataFetch{async getDefinition(){var eo,no;const{datasource:ue}=this.options;return{schema:(eo=ue==null?void 0:ue.value)==null?void 0:eo.schema,primaryDisplay:(no=ue==null?void 0:ue.value)==null?void 0:no.primaryDisplay}}async getData(){var eo;const{datasource:ue}=this.options;return{rows:((eo=ue==null?void 0:ue.value)==null?void 0:eo.rows)||[],hasNextPage:!1,cursor:null}}}function isArrayOfStrings(to){return Array.isArray(to)&&!!to[0]&&typeof to[0]!="object"}class FieldFetch extends BaseDataFetch{async getDefinition(){const{datasource:ue}=this.options;let eo;return ue.fieldType==="attachment"?eo={url:{type:"string"},name:{type:"string"}}:ue.fieldType==="array"&&(eo={value:{type:"string"}}),{schema:eo}}async getData(){const{datasource:ue}=this.options,eo=(ue==null?void 0:ue.value)||[];let no;return isArrayOfStrings(eo)?no=eo.map(ro=>({value:ro})):no=eo,{rows:no||[],hasNextPage:!1,cursor:null}}}class JSONArrayFetch extends FieldFetch{async getDefinition(){const{datasource:ue}=this.options;try{const eo=await this.API.fetchTableDefinition(ue.tableId);return{schema:getJSONArrayDatasourceSchema(eo==null?void 0:eo.schema,ue)}}catch{return null}}}class UserFetch extends BaseDataFetch{constructor(ue){super({...ue,datasource:{type:"user",tableId:InternalTable.USER_METADATA}})}async determineFeatureFlags(){return{supportsSearch:!0,supportsSort:!1,supportsPagination:!0}}async getDefinition(){return{schema:{}}}async getData(){const{limit:ue,paginate:eo}=this.options,{cursor:no,query:ro}=get_store_value(this.store),{appId:oo,paginated:io,...ao}=ro,so=isSupportedUserSearch(ao)?ao:{};try{const lo={bookmark:no??void 0,query:so??void 0,appId:oo,paginate:io||eo,limit:ue},co=await this.API.searchUsers(lo);return{rows:(co==null?void 0:co.data)||[],hasNextPage:(co==null?void 0:co.hasNextPage)||!1,cursor:(co==null?void 0:co.nextPage)||null}}catch(lo){return{rows:[],hasNextPage:!1,error:lo}}}}class GroupUserFetch extends BaseDataFetch{constructor(ue){super({...ue,datasource:{type:"groupUser",tableId:InternalTable.USER_METADATA}})}async determineFeatureFlags(){return{supportsSearch:!0,supportsSort:!1,supportsPagination:!0}}async getDefinition(){return{schema:{}}}async getData(){const{query:ue,cursor:eo}=get_store_value(this.store);try{const no=await this.API.getGroupUsers({id:ue.groupId,emailSearch:ue.emailSearch,bookmark:eo??void 0});return{rows:(no==null?void 0:no.users)||[],hasNextPage:(no==null?void 0:no.hasNextPage)||!1,cursor:(no==null?void 0:no.bookmark)||null}}catch(no){return{rows:[],hasNextPage:!1,error:no}}}}class CustomFetch extends BaseDataFetch{getType(ue){return ue==null?"string":typeof ue==="object"?Array.isArray(ue)?"array":"json":isNaN(ue)?"string":"number"}parseCustomData(ue){if(!ue)return[];if(Array.isArray(ue))return ue;if(typeof ue=="string"){try{const eo=JSON.parse(ue);return Array.isArray(eo)?eo:[eo]}catch{}return ue.includes(`
|
|
475
|
+
`))&&attr(ue,"style",eo),(!ro||so&1&&no!==(no="spectrum-Body spectrum-Body--size"+ao[0]+" svelte-10a30y"))&&attr(ue,"class",no),(!ro||so&3)&&toggle_class(ue,"spectrum-Body--serif",ao[1])},i(ao){ro||(transition_in(io,ao),ro=!0)},o(ao){transition_out(io,ao),ro=!1},d(ao){ao&&detach(ue),io&&io.d(ao)}}}function instance$a4(to,ue,eo){let{$$slots:no={},$$scope:ro}=ue,{size:oo="M"}=ue,{serif:io=!1}=ue,{weight:ao=null}=ue,{textAlign:so=null}=ue,{color:lo=null}=ue;return to.$$set=co=>{"size"in co&&eo(0,oo=co.size),"serif"in co&&eo(1,io=co.serif),"weight"in co&&eo(2,ao=co.weight),"textAlign"in co&&eo(3,so=co.textAlign),"color"in co&&eo(4,lo=co.color),"$$scope"in co&&eo(5,ro=co.$$scope)},[oo,io,ao,so,lo,ro,no]}class Body extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$a4,create_fragment$a7,safe_not_equal,{size:0,serif:1,weight:2,textAlign:3,color:4})}}const Heading_svelte_svelte_type_style_lang="";function create_fragment$a6(to){let ue,eo,no,ro;const oo=to[5].default,io=create_slot(oo,to,to[4],null);return{c(){ue=element("h1"),io&&io.c(),attr(ue,"data-testid","typography-heading"),attr(ue,"style",eo=to[1]?`text-align:${to[1]}`:""),attr(ue,"class",no="spectrum-Heading spectrum-Heading--size"+to[0]+" spectrum-Heading--"+to[3]+" svelte-3sm8u5"),toggle_class(ue,"noPadding",to[2])},m(ao,so){insert$1(ao,ue,so),io&&io.m(ue,null),ro=!0},p(ao,[so]){io&&io.p&&(!ro||so&16)&&update_slot_base(io,oo,ao,ao[4],ro?get_slot_changes(oo,ao[4],so,null):get_all_dirty_from_scope(ao[4]),null),(!ro||so&2&&eo!==(eo=ao[1]?`text-align:${ao[1]}`:""))&&attr(ue,"style",eo),(!ro||so&9&&no!==(no="spectrum-Heading spectrum-Heading--size"+ao[0]+" spectrum-Heading--"+ao[3]+" svelte-3sm8u5"))&&attr(ue,"class",no),(!ro||so&13)&&toggle_class(ue,"noPadding",ao[2])},i(ao){ro||(transition_in(io,ao),ro=!0)},o(ao){transition_out(io,ao),ro=!1},d(ao){ao&&detach(ue),io&&io.d(ao)}}}function instance$a3(to,ue,eo){let{$$slots:no={},$$scope:ro}=ue,{size:oo="M"}=ue,{textAlign:io=void 0}=ue,{noPadding:ao=!1}=ue,{weight:so="default"}=ue;return to.$$set=lo=>{"size"in lo&&eo(0,oo=lo.size),"textAlign"in lo&&eo(1,io=lo.textAlign),"noPadding"in lo&&eo(2,ao=lo.noPadding),"weight"in lo&&eo(3,so=lo.weight),"$$scope"in lo&&eo(4,ro=lo.$$scope)},[oo,io,ao,so,ro,no]}class Heading extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$a3,create_fragment$a6,safe_not_equal,{size:0,textAlign:1,noPadding:2,weight:3})}}var HTTPMethod=(to=>(to.POST="POST",to.PATCH="PATCH",to.GET="GET",to.PUT="PUT",to.DELETE="DELETE",to))(HTTPMethod||{});const BannedSearchTypes=[FieldType.LINK,FieldType.ATTACHMENT_SINGLE,FieldType.ATTACHMENTS,FieldType.FORMULA,FieldType.JSON,FieldType.ATTACHMENT_SINGLE,FieldType.SIGNATURE_SINGLE,"jsonarray","queryarray"],Cookies={Auth:"budibase:auth",CurrentApp:"budibase:currentapp",ReturnUrl:"budibase:returnurl",AccountReturnUrl:"budibase:account:returnurl",OnboardingProcessCorrelationKey:BpmCorrelationKey.ONBOARDING};var TableNames$1=(to=>(to.USERS="ta_users",to))(TableNames$1||{});const BudibaseRoles={AppUser:"appUser",Developer:"developer",Creator:"creator",Admin:"admin",Owner:"owner"},BudibaseRoleOptionsOld=[{label:"Developer",value:BudibaseRoles.Developer}],BudibaseRoleOptions=[{label:"Account admin",value:BudibaseRoles.Admin,subtitle:"Has full access to all apps and settings in your account",sortOrder:1},{label:"Creator",value:BudibaseRoles.Creator,subtitle:"Can create and edit apps they have access to",sortOrder:2},{label:"App user",value:BudibaseRoles.AppUser,subtitle:"Can only use published apps they have access to",sortOrder:3}],ExtendedBudibaseRoleOptions=[{label:"Account holder",value:BudibaseRoles.Owner,sortOrder:0},...BudibaseRoleOptions,...BudibaseRoleOptionsOld],PlanType={FREE:"free",TEAM:"team",PRO:"pro",BUSINESS:"business",PREMIUM:"premium",ENTERPRISE:"enterprise",ENTERPRISE_BASIC_TRIAL:"enterprise_basic_trial"},ApiVersion="1",Roles$2={ADMIN:"ADMIN",POWER:"POWER",BASIC:"BASIC",PUBLIC:"PUBLIC",BUILDER:"BUILDER",CREATOR:"CREATOR"},EventPublishType={ENV_VAR_UPGRADE_PANEL_OPENED:"environment_variable_upgrade_panel_opened"},ContextScopes$2={Local:"local",Global:"global"},TypeIconMap$1={[FieldType.STRING]:"Text",[FieldType.OPTIONS]:"Dropdown",[FieldType.DATETIME]:"Calendar",[FieldType.BARCODEQR]:"Camera",[FieldType.SIGNATURE_SINGLE]:"AnnotatePen",[FieldType.LONGFORM]:"TextAlignLeft",[FieldType.ARRAY]:"Duplicate",[FieldType.NUMBER]:"123",[FieldType.BOOLEAN]:"Boolean",[FieldType.ATTACHMENTS]:"DocumentFragmentGroup",[FieldType.ATTACHMENT_SINGLE]:"DocumentFragment",[FieldType.LINK]:"DataCorrelated",[FieldType.FORMULA]:"Calculator",[FieldType.AI]:"MagicWand",[FieldType.JSON]:"Brackets",[FieldType.BIGINT]:"TagBold",[FieldType.AUTO]:"Shapes",[FieldType.BB_REFERENCE]:{[BBReferenceFieldSubType.USER]:"UserGroup",[BBReferenceFieldSubType.USERS]:"UserGroup"},[FieldType.BB_REFERENCE_SINGLE]:{[BBReferenceFieldSubType.USER]:"User"}},OptionColours=[...new Array(12).keys()].map(to=>`hsla(${(to+1)*222%360}, 90%, 75%, 0.3)`),FilterOperator={ANY:"any",ALL:"all"},OnEmptyFilter={RETURN_ALL:"all",RETURN_NONE:"none"},FilterValueType={BINDING:"Binding",VALUE:"Value"},FieldPermissions$1={WRITABLE:"writable",READONLY:"readonly",HIDDEN:"hidden"},Constants$1=Object.freeze(Object.defineProperty({__proto__:null,ApiVersion,BannedSearchTypes,BudibaseRoleOptions,BudibaseRoleOptionsOld,BudibaseRoles,ContextScopes:ContextScopes$2,Cookies,DEFAULT_BB_DATASOURCE_ID:DEFAULT_BB_DATASOURCE_ID$1,EventPublishType,ExtendedBudibaseRoleOptions,Features:Feature,FieldPermissions:FieldPermissions$1,FilterOperator,FilterValueType,OnEmptyFilter,OperatorOptions,OptionColours,PlanType,Roles:Roles$2,SqlNumberTypeRangeMap,TableNames:TableNames$1,TypeIconMap:TypeIconMap$1},Symbol.toStringTag,{value:"Module"})),buildAnalyticsEndpoints=to=>({getAnalyticsStatus:async()=>await to.get({url:"/api/bbtel"}),analyticsPing:async ue=>await to.post({url:"/api/bbtel/ping",body:{...ue,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone}})}),buildAIEndpoints=to=>({generateCronExpression:async ue=>await to.post({url:"/api/ai/cron",body:{prompt:ue}})}),buildAppEndpoints=to=>({fetchAppPackage:async ue=>await to.get({url:`/api/applications/${ue}/appPackage`}),saveAppMetadata:async(ue,eo)=>await to.put({url:`/api/applications/${ue}`,body:eo}),publishAppChanges:async ue=>await to.post({url:`/api/applications/${ue}/publish`}),revertAppChanges:async ue=>await to.post({url:`/api/dev/${ue}/revert`}),updateAppClientVersion:async ue=>await to.post({url:`/api/applications/${ue}/client/update`}),revertAppClientVersion:async ue=>await to.post({url:`/api/applications/${ue}/client/revert`}),getAppDeployments:async()=>await to.get({url:"/api/deployments"}),createApp:async ue=>await to.post({url:"/api/applications",body:ue,json:!1}),duplicateApp:async(ue,eo)=>await to.post({url:`/api/applications/${ue}/duplicate`,body:eo,json:!1}),updateAppFromExport:async(ue,eo)=>{const no=getDevAppID(ue);return await to.post({url:`/api/applications/${no}/import`,body:eo,json:!1})},importApps:async ue=>await to.post({url:"/api/cloud/import",body:ue,json:!1}),unpublishApp:async ue=>await to.post({url:`/api/applications/${ue}/unpublish`}),deleteApp:async ue=>await to.delete({url:`/api/applications/${ue}`}),releaseAppLock:async ue=>await to.delete({url:`/api/dev/${ue}/lock`}),fetchSystemDebugInfo:async()=>await to.get({url:"/api/debug/diagnostics"}),syncApp:async ue=>await to.post({url:`/api/applications/${ue}/sync`}),getApps:async()=>await to.get({url:"/api/applications?status=all"}),fetchComponentLibDefinitions:async ue=>await to.get({url:`/api/${ue}/components/definitions`}),addSampleData:async ue=>await to.post({url:`/api/applications/${ue}/sample`}),setRevertableVersion:async(ue,eo)=>await to.post({url:`/api/applications/${ue}/setRevertableVersion`,body:{revertableVersion:eo}})}),buildAttachmentEndpoints=to=>{const ue={getSignedDatasourceURL:async(eo,no,ro)=>await to.post({url:`/api/attachments/${eo}/url`,body:{bucket:no,key:ro}})};return{...ue,uploadAttachment:async(eo,no)=>await to.post({url:`/api/attachments/${eo}/upload`,body:no,json:!1}),uploadBuilderAttachment:async eo=>await to.post({url:"/api/attachments/process",body:eo,json:!1}),externalUpload:async(eo,no,ro,oo)=>{const{signedUrl:io,publicUrl:ao}=await ue.getSignedDatasourceURL(eo,no,ro);return io?(await to.put({url:io,body:oo,json:!1,external:!0,parseResponse:so=>so}),{publicUrl:ao}):{publicUrl:void 0}},downloadAttachment:async(eo,no,ro)=>await to.get({url:`/api/${eo}/rows/${no}/attachment/${ro}`,parseResponse:oo=>oo,suppressErrors:!0})}},buildAuthEndpoints=to=>({logIn:async(ue,eo,no)=>await to.post({url:`/api/global/auth/${ue}/login`,body:{username:eo,password:no}}),logOut:async()=>await to.post({url:"/api/global/auth/logout"}),setInitInfo:async ue=>await to.post({url:"/api/global/auth/init",body:ue}),getInitInfo:async()=>await to.get({url:"/api/global/auth/init"}),requestForgotPassword:async(ue,eo)=>await to.post({url:`/api/global/auth/${ue}/reset`,body:{email:eo}}),resetPassword:async(ue,eo,no)=>await to.post({url:`/api/global/auth/${ue}/reset/update`,body:{password:eo,resetCode:no}})}),buildAutomationEndpoints=to=>({triggerAutomation:async(ue,eo,no)=>await to.post({url:`/api/automations/${ue}/trigger`,body:{fields:eo,timeout:no}}),testAutomation:async(ue,eo)=>await to.post({url:`/api/automations/${ue}/test`,body:eo}),getAutomations:async()=>await to.get({url:"/api/automations"}),getAutomationDefinitions:async()=>await to.get({url:"/api/automations/definitions/list"}),createAutomation:async ue=>await to.post({url:"/api/automations",body:ue}),updateAutomation:async ue=>await to.put({url:"/api/automations",body:ue}),deleteAutomation:async(ue,eo)=>await to.delete({url:`/api/automations/${ue}/${eo}`}),getAutomationLogs:async ue=>await to.post({url:"/api/automations/logs/search",body:ue}),clearAutomationLogErrors:async(ue,eo)=>await to.delete({url:"/api/automations/logs",body:{appId:eo,automationId:ue}})}),buildConfigEndpoints=to=>({saveConfig:async ue=>await to.post({url:"/api/global/configs",body:ue}),getConfig:async ue=>await to.get({url:`/api/global/configs/${ue}`}),deleteConfig:async(ue,eo)=>await to.delete({url:`/api/global/configs/${ue}/${eo}`}),getTenantConfig:async ue=>await to.get({url:`/api/global/configs/public?tenantId=${ue}`}),getOIDCConfigs:async ue=>await to.get({url:`/api/global/configs/public/oidc?tenantId=${ue}`}),getChecklist:async ue=>await to.get({url:`/api/global/configs/checklist?tenantId=${ue}`}),uploadLogo:async ue=>await to.post({url:"/api/global/configs/upload/settings/logoUrl",body:ue,json:!1}),uploadFavicon:async ue=>await to.post({url:"/api/global/configs/upload/settings/faviconUrl",body:ue,json:!1}),uploadOIDCLogo:async(ue,eo)=>await to.post({url:`/api/global/configs/upload/logos_oidc/${ue}`,body:eo,json:!1}),getOIDCLogos:async()=>await to.get({url:"/api/global/configs/logos_oidc"})}),buildDatasourceEndpoints=to=>({getDatasources:async()=>await to.get({url:"/api/datasources"}),buildDatasourceSchema:async(ue,eo)=>await to.post({url:`/api/datasources/${ue}/schema`,body:{tablesFilter:eo}}),createDatasource:async ue=>await to.post({url:"/api/datasources",body:ue}),updateDatasource:async ue=>await to.put({url:`/api/datasources/${ue._id}`,body:ue}),deleteDatasource:async(ue,eo)=>await to.delete({url:`/api/datasources/${ue}/${eo}`}),validateDatasource:async ue=>await to.post({url:"/api/datasources/verify",body:{datasource:ue}}),fetchInfoForDatasource:async ue=>await to.post({url:"/api/datasources/info",body:{datasource:ue}}),fetchExternalSchema:async ue=>await to.get({url:`/api/datasources/${ue}/schema/external`})}),buildFlagEndpoints=to=>({getFlags:async()=>await to.get({url:"/api/users/flags"}),updateFlag:async(ue,eo)=>await to.post({url:"/api/users/flags",body:{flag:ue,value:eo}}),toggleUiFeature:async ue=>await to.post({url:`/api/beta/${ue}`})}),buildLayoutEndpoints=to=>({saveLayout:async ue=>await to.post({url:"/api/layouts",body:ue}),deleteLayout:async(ue,eo)=>await to.delete({url:`/api/layouts/${ue}/${eo}`})}),buildOtherEndpoints=to=>({getEnvironment:async()=>await to.get({url:"/api/system/environment"}),getSystemStatus:async()=>await to.get({url:"/api/system/status"}),getIntegrations:async()=>await to.get({url:"/api/integrations"}),getBudibaseVersion:async()=>(await to.get({url:"/api/dev/version"})).version,getBasePermissions:async()=>await to.get({url:"/api/permission/builtin"})}),buildPermissionsEndpoints=to=>({getPermissionForResource:async ue=>await to.get({url:`/api/permission/${ue}`}),updatePermissionForResource:async(ue,eo,no)=>await to.post({url:`/api/permission/${eo}/${ue}/${no}`}),removePermissionFromResource:async(ue,eo,no)=>await to.delete({url:`/api/permission/${eo}/${ue}/${no}`}),getDependants:async ue=>await to.get({url:`/api/permission/${ue}/dependants`})}),buildQueryEndpoints=to=>({executeQuery:async(ue,{pagination:eo,parameters:no}={})=>await to.post({url:`/api/v2/queries/${ue}`,body:{parameters:no,pagination:eo}}),fetchQueryDefinition:async ue=>await to.get({url:`/api/queries/${ue}`,cache:!0}),getQueries:async()=>await to.get({url:"/api/queries"}),saveQuery:async ue=>await to.post({url:"/api/queries",body:ue}),deleteQuery:async(ue,eo)=>await to.delete({url:`/api/queries/${ue}/${eo}`}),importQueries:async ue=>await to.post({url:"/api/queries/import",body:ue}),previewQuery:async ue=>await to.post({url:"/api/queries/preview",body:ue})}),buildRelationshipEndpoints=to=>({fetchRelationshipData:async(ue,eo,no)=>{const ro=await to.get({url:`/api/${ue}/${eo}/enrich?field=${no}`});return no?ro[no]||[]:[ro]}}),buildRoleEndpoints=to=>({deleteRole:async(ue,eo)=>await to.delete({url:`/api/roles/${ue}/${eo}`}),saveRole:async ue=>await to.post({url:"/api/roles",body:ue}),getRoles:async()=>await to.get({url:"/api/roles"}),getRolesForApp:async ue=>await to.get({url:`/api/global/roles/${ue}`}),getAccessibleRoles:async()=>await to.get({url:"/api/roles/accessible"})}),buildRouteEndpoints=to=>({fetchClientAppRoutes:async()=>await to.get({url:"/api/routing/client"}),fetchAppRoutes:async()=>await to.get({url:"/api/routing"})}),buildRowEndpoints=to=>({fetchRow:async(ue,eo)=>await to.get({url:`/api/${ue}/rows/${eo}`}),saveRow:async(ue,eo=!1)=>{const no=ue._viewId||ue.tableId;return await to.post({url:`/api/${no}/rows`,body:ue,suppressErrors:eo})},patchRow:async(ue,eo=!1)=>{const no=ue._viewId||ue.tableId;return await to.patch({url:`/api/${no}/rows`,body:ue,suppressErrors:eo})},deleteRow:async(ue,eo)=>await to.delete({url:`/api/${ue}/rows`,body:{_id:eo}}),deleteRows:async(ue,eo)=>(eo.forEach(no=>{typeof no=="object"&&(no==null||delete no._viewId)}),await to.delete({url:`/api/${ue}/rows`,body:{rows:eo}})),exportRows:async(ue,eo,no)=>await to.post({url:`/api/${ue}/rows/exportRows?format=${eo}`,body:no,parseResponse:async ro=>await ro.text()})}),buildScreenEndpoints=to=>({saveScreen:async ue=>await to.post({url:"/api/screens",body:ue}),deleteScreen:async(ue,eo)=>await to.delete({url:`/api/screens/${ue}/${eo}`})}),buildTableEndpoints=to=>({fetchTableDefinition:async ue=>await to.get({url:`/api/tables/${ue}`,cache:!0}),fetchTableData:async ue=>await to.get({url:`/api/${ue}/rows`}),searchTable:async(ue,eo)=>await to.post({url:`/api/${ue}/search`,body:eo}),importTableData:async(ue,eo,no)=>await to.post({url:`/api/tables/${ue}/import`,body:{rows:eo,identifierFields:no}}),csvToJson:async ue=>await to.post({url:"/api/convert/csvToJson",body:{csvString:ue}}),getTables:async()=>await to.get({url:"/api/tables"}),getTable:async ue=>await to.get({url:`/api/tables/${ue}`}),saveTable:async ue=>await to.post({url:"/api/tables",body:ue}),deleteTable:async(ue,eo)=>await to.delete({url:`/api/tables/${ue}/${eo}`}),validateNewTableImport:async(ue,eo)=>await to.post({url:"/api/tables/validateNewTableImport",body:{rows:ue,schema:eo}}),validateExistingTableImport:async(ue,eo)=>await to.post({url:"/api/tables/validateExistingTableImport",body:{rows:ue,tableId:eo}}),migrateColumn:async(ue,eo,no)=>await to.post({url:`/api/tables/${ue}/migrate`,body:{oldColumn:eo,newColumn:no}})}),buildTemplateEndpoints=to=>({getEmailTemplateDefinitions:async()=>await to.get({url:"/api/global/template/definitions"}),getEmailTemplates:async()=>await to.get({url:"/api/global/template/email"}),saveEmailTemplate:async ue=>await to.post({url:"/api/global/template",body:ue}),getAppTemplates:async()=>await to.get({url:"/api/templates"})}),buildUserEndpoints=to=>({getUsers:async()=>await to.get({url:"/api/global/users"}),searchUsers:async ue=>await to.post({url:"/api/global/users/search",body:ue}),getUser:async ue=>await to.get({url:`/api/global/users/${ue}`}),updateOwnMetadata:async ue=>await to.post({url:"/api/users/metadata/self",body:ue}),createAdminUser:async ue=>await to.post({url:"/api/global/users/init",body:ue}),saveUser:async ue=>await to.post({url:"/api/global/users",body:ue}),createUsers:async(ue,eo)=>(await to.post({url:"/api/global/users/bulk",body:{create:{users:ue,groups:eo}}})).created,deleteUser:async ue=>await to.delete({url:`/api/global/users/${ue}`}),deleteUsers:async ue=>(await to.post({url:"/api/global/users/bulk",body:{delete:{users:ue}}})).deleted,onboardUsers:async ue=>await to.post({url:"/api/global/users/onboard",body:ue}),updateUserInvite:async(ue,eo)=>await to.post({url:`/api/global/users/invite/update/${ue}`,body:eo}),getUserInvite:async ue=>await to.get({url:`/api/global/users/invite/${ue}`}),getUserInvites:async()=>await to.get({url:"/api/global/users/invites"}),inviteUsers:async ue=>await to.post({url:"/api/global/users/multi/invite",body:ue}),removeUserInvites:async ue=>await to.post({url:"/api/global/users/multi/invite/delete",body:ue}),acceptInvite:async ue=>await to.post({url:"/api/global/users/invite/accept",body:ue}),getUserCountByApp:async ue=>(await to.get({url:`/api/global/users/count/${ue}`})).userCount,addAppBuilder:async(ue,eo)=>await to.post({url:`/api/global/users/${ue}/app/${eo}/builder`}),removeAppBuilder:async(ue,eo)=>await to.delete({url:`/api/global/users/${ue}/app/${eo}/builder`}),getAccountHolder:async()=>await to.get({url:"/api/global/users/accountholder"})}),buildSelfEndpoints=to=>({generateAPIKey:async()=>{const ue=await to.post({url:"/api/global/self/api_key"});return ue==null?void 0:ue.apiKey},fetchDeveloperInfo:async()=>to.get({url:"/api/global/self/api_key"}),fetchSelf:async()=>await to.get({url:"/api/self"}),fetchBuilderSelf:async()=>await to.get({url:"/api/global/self"}),updateSelf:async ue=>await to.post({url:"/api/global/self",body:ue})}),buildViewEndpoints=to=>({fetchViewData:async(ue,{field:eo,groupBy:no,calculation:ro})=>{const oo=new URLSearchParams;ro&&(eo&&oo.set("field",eo),oo.set("calculation",ro)),no&&oo.set("group",no);const io=eo?`/api/views/${encodeURIComponent(ue)}?${oo}`:`/api/views/${encodeURIComponent(ue)}`;return await to.get({url:io})},exportView:async(ue,eo)=>{const no=encodeURIComponent(ue);return await to.get({url:`/api/views/export?view=${no}&format=${eo}`,parseResponse:async ro=>await ro.text()})},saveView:async ue=>await to.post({url:"/api/views",body:ue}),deleteView:async ue=>await to.delete({url:`/api/views/${encodeURIComponent(ue)}`})}),buildViewV2Endpoints=to=>({fetchDefinition:async ue=>await to.get({url:`/api/v2/views/${encodeURIComponent(ue)}`,cache:!0}),create:async ue=>await to.post({url:"/api/v2/views",body:ue}),update:async ue=>await to.put({url:`/api/v2/views/${encodeURIComponent(ue.id)}`,body:ue}),fetch:async(ue,eo)=>await to.post({url:`/api/v2/views/${encodeURIComponent(ue)}/search`,body:eo}),delete:async ue=>await to.delete({url:`/api/v2/views/${encodeURIComponent(ue)}`})}),buildLicensingEndpoints=to=>({activateLicenseKey:async ue=>to.post({url:"/api/global/license/key",body:{licenseKey:ue}}),deleteLicenseKey:async()=>to.delete({url:"/api/global/license/key"}),getLicenseKey:async()=>{try{return await to.get({url:"/api/global/license/key"})}catch(ue){if(ue.status!==404)throw ue}},activateOfflineLicense:async ue=>to.post({url:"/api/global/license/offline",body:{offlineLicenseToken:ue}}),deleteOfflineLicense:async()=>to.delete({url:"/api/global/license/offline"}),getOfflineLicense:async()=>{try{return await to.get({url:"/api/global/license/offline"})}catch(ue){if(ue.status!==404)throw ue}},getOfflineLicenseIdentifier:async()=>await to.get({url:"/api/global/license/offline/identifier"}),refreshLicense:async()=>to.post({url:"/api/global/license/refresh"}),getQuotaUsage:async()=>to.get({url:"/api/global/license/usage"})}),buildGroupsEndpoints=to=>{async function ue(eo,no,ro,oo){return await to.post({url:`/api/global/groups/${eo}/${no}`,body:{[ro]:oo}})}return{saveGroup:async eo=>await to.post({url:"/api/global/groups",body:eo}),getGroups:async()=>(await to.get({url:"/api/global/groups"})).data,getGroup:async eo=>await to.get({url:`/api/global/groups/${eo}`}),deleteGroup:async(eo,no)=>await to.delete({url:`/api/global/groups/${eo}/${no}`}),getGroupUsers:async({id:eo,bookmark:no,emailSearch:ro})=>{let oo=`/api/global/groups/${eo}/users?`;return no&&(oo+=`bookmark=${no}&`),ro&&(oo+=`emailSearch=${ro}`),await to.get({url:oo})},addUsersToGroup:async(eo,no)=>ue(eo,"users","add",no),removeUsersFromGroup:async(eo,no)=>ue(eo,"users","remove",no),addAppsToGroup:async(eo,no)=>ue(eo,"apps","add",no),removeAppsFromGroup:async(eo,no)=>ue(eo,"apps","remove",no),addGroupAppBuilder:async(eo,no)=>await to.post({url:`/api/global/groups/${eo}/app/${no}/builder`}),removeGroupAppBuilder:async(eo,no)=>await to.delete({url:`/api/global/groups/${eo}/app/${no}/builder`})}},buildPluginEndpoints=to=>({uploadPlugin:async ue=>await to.post({url:"/api/plugin/upload",body:ue,json:!1}),createPlugin:async ue=>await to.post({url:"/api/plugin",body:ue}),getPlugins:async()=>await to.get({url:"/api/plugin"}),deletePlugin:async ue=>await to.delete({url:`/api/plugin/${ue}`})}),buildBackupEndpoints=to=>({createManualBackup:async ue=>await to.post({url:`/api/apps/${ue}/backups`}),searchBackups:async(ue,eo)=>await to.post({url:`/api/apps/${ue}/backups/search`,body:eo}),deleteBackup:async(ue,eo)=>await to.delete({url:`/api/apps/${ue}/backups/${eo}`}),restoreBackup:async(ue,eo,no)=>await to.post({url:`/api/apps/${ue}/backups/${eo}/import`,body:{name:no}})}),buildEnvironmentVariableEndpoints=to=>({checkEnvironmentVariableStatus:async()=>await to.get({url:"/api/env/variables/status"}),fetchEnvironmentVariables:async()=>await to.get({url:"/api/env/variables",json:!1}),createEnvironmentVariable:async ue=>await to.post({url:"/api/env/variables",body:ue}),deleteEnvironmentVariable:async ue=>await to.delete({url:`/api/env/variables/${ue}`}),updateEnvironmentVariable:async(ue,eo)=>await to.patch({url:`/api/env/variables/${ue}`,body:eo})}),buildEventEndpoints=to=>({publishEvent:async ue=>await to.post({url:"/api/global/event/publish",body:{type:ue}})}),buildAuditLogEndpoints=to=>({searchAuditLogs:async ue=>await to.post({url:"/api/global/auditlogs/search",body:ue}),getEventDefinitions:async()=>await to.get({url:"/api/global/auditlogs/definitions"}),getDownloadUrl:ue=>`/api/global/auditlogs/download?query=${encodeURIComponent(JSON.stringify(ue))}`}),buildLogsEndpoints=to=>({getSystemLogs:async()=>await to.get({url:"/api/system/logs",json:!1,parseResponse:async ue=>ue})}),buildMigrationEndpoints=to=>({getMigrationStatus:async()=>await to.get({url:"/api/migrations/status"})}),buildRowActionEndpoints=to=>({fetch:async ue=>(await to.get({url:`/api/tables/${ue}/actions`})).actions,create:async(ue,eo)=>await to.post({url:`/api/tables/${ue}/actions`,body:{name:eo}}),delete:async(ue,eo)=>await to.delete({url:`/api/tables/${ue}/actions/${eo}`}),enableView:async(ue,eo,no)=>await to.post({url:`/api/tables/${ue}/actions/${eo}/permissions/${no}`}),disableView:async(ue,eo,no)=>await to.delete({url:`/api/tables/${ue}/actions/${eo}/permissions/${no}`}),trigger:async(ue,eo,no)=>await to.post({url:`/api/tables/${ue}/actions/${eo}/trigger`,body:{rowId:no}})}),APISessionID=uuid$2(),createAPIClient=(to={})=>{let ue={};const eo=async(lo,co,uo=!1)=>{let fo=lo.statusText,po=null;try{po=await lo.json(),po!=null&&po.message?fo=po.message:po!=null&&po.error&&(fo=JSON.stringify(po.error))}catch{}return{message:fo,json:po,status:lo.status,url:lo.url,method:co,handled:!0,suppressErrors:uo}},no=(lo,co,uo)=>({message:lo,json:null,status:400,url:co,method:uo,handled:!0,suppressErrors:!1}),ro=async lo=>{let{json:co,method:uo,external:fo,body:po,url:ho,parseResponse:_o,suppressErrors:go}=lo;co=co&&uo!==HTTPMethod.GET;let bo={Accept:"application/json"};bo[Header$1.SESSION_ID]=APISessionID,fo||(bo[Header$1.API_VER]=ApiVersion),co&&(bo["Content-Type"]="application/json"),to!=null&&to.attachHeaders&&to.attachHeaders(bo);let vo=po;if(co)try{vo=JSON.stringify(po)}catch{throw no("Invalid JSON body",ho,uo)}let yo;try{yo=await fetch(ho,{method:uo,headers:bo,body:vo,credentials:"same-origin"})}catch{throw delete ue[ho],no("Failed to send request",ho,uo)}if(yo.status>=200&&yo.status<400){oo(yo);try{return yo.status===204?void 0:_o?await _o(yo):await yo.json()}catch(wo){throw delete ue[ho],`Failed to parse response: ${wo}`}}else throw delete ue[ho],await eo(yo,uo,go)},oo=lo=>{if(!to.onMigrationDetected)return;const co=lo.headers.get(Header$1.MIGRATING_APP);co&&to.onMigrationDetected(co)},io=async lo=>{const co=lo.url;return ue[co]||(ue[co]=ro(lo),ue[co]=await ue[co]),await ue[co]},ao=lo=>async co=>{try{let uo={json:!0,external:!1,suppressErrors:!1,cache:!1,method:lo,...co},{url:fo,cache:po,external:ho}=uo;return ho||(uo.url=`/${fo}`.replace("//","/")),await(po&&(to==null?void 0:to.enableCaching)?io:ro)(uo)}catch(uo){throw to!=null&&to.onError&&to.onError(uo),uo}};let so={post:ao(HTTPMethod.POST),get:ao(HTTPMethod.GET),patch:ao(HTTPMethod.PATCH),delete:ao(HTTPMethod.DELETE),put:ao(HTTPMethod.PUT),invalidateCache:()=>{ue={}},getAppID:()=>{var co;let lo={};return(co=to==null?void 0:to.attachHeaders)==null||co.call(to,lo),lo==null?void 0:lo[Header$1.APP_ID]}};return{...so,...buildAIEndpoints(so),...buildAnalyticsEndpoints(so),...buildAppEndpoints(so),...buildAttachmentEndpoints(so),...buildAuthEndpoints(so),...buildAutomationEndpoints(so),...buildConfigEndpoints(so),...buildDatasourceEndpoints(so),...buildFlagEndpoints(so),...buildLayoutEndpoints(so),...buildOtherEndpoints(so),...buildPermissionsEndpoints(so),...buildQueryEndpoints(so),...buildRelationshipEndpoints(so),...buildRoleEndpoints(so),...buildRouteEndpoints(so),...buildRowEndpoints(so),...buildScreenEndpoints(so),...buildTableEndpoints(so),...buildTemplateEndpoints(so),...buildUserEndpoints(so),...buildViewEndpoints(so),...buildSelfEndpoints(so),...buildLicensingEndpoints(so),...buildGroupsEndpoints(so),...buildPluginEndpoints(so),...buildBackupEndpoints(so),...buildEnvironmentVariableEndpoints(so),...buildEventEndpoints(so),...buildAuditLogEndpoints(so),...buildLogsEndpoints(so),...buildMigrationEndpoints(so),viewV2:buildViewV2Endpoints(so),rowActions:buildRowActionEndpoints(so)}},getJSONArrayDatasourceSchema=(to,ue)=>{let eo=to,no=[];ue.prefixKeys&&(no=ue.prefixKeys.concat(["schema"])),no=no.concat(ue.label.split(".").slice(2));for(let ro=0;ro<no.length;ro++)eo=eo==null?void 0:eo[no[ro]],eo!=null&&eo.schema&&(eo=eo.schema);return convertJSONSchemaToTableSchema(eo,{squashObjects:!0,prefixKeys:no})},convertJSONSchemaToTableSchema=(to,ue)=>{if(!to)return null;ue={squashObjects:!1,prefixKeys:null,...ue},to.schema?to=to.schema:to={value:to};const eo=extractJSONSchemaKeys(to,ue.squashObjects);let no={};return eo.forEach(({key:ro,type:oo})=>{no[ro]={type:oo,name:ro,prefixKeys:ue.prefixKeys}}),no},extractJSONSchemaKeys=(to,ue=!1)=>{if(!to||!Object.keys(to).length)return[];let eo=[];return Object.keys(to).forEach(no=>{const ro=to[no].type;if(ro==="json"&&ue){const oo=extractJSONSchemaKeys(to[no].schema,ue);eo=eo.concat(oo.map(io=>({key:`${no}.${io.key}`,type:io.type})))}else eo.push({key:no,type:ro==="array"?"jsonarray":ro})}),eo},generateQueryArraySchemas=(to,ue)=>{var eo,no;for(let ro in to)((eo=to[ro])==null?void 0:eo.type)==="json"&&((no=to[ro])==null?void 0:no.subtype)==="array"&&hasSchema(ue[ro])&&(to[ro]={schema:{schema:Object.entries(ue[ro]||{}).reduce((oo,[io,ao])=>(oo[io]={name:io,type:ao.type,subtype:ao.subtype},oo),{}),type:"json"},type:"json",subtype:"array"});return to};function setCookie(to,ue,eo){getCookie(to)&&removeCookie(to);let no=`${to}=${ue}; Path=/;`;eo&&(no+=` Domain=${eo};`),window.document.cookie=no}function getCookie(to){const eo=`; ${document.cookie}`.split(`; ${to}=`);if(eo.length===2)return eo[1].split(";").shift()}function removeCookie(to){getCookie(to)&&(document.cookie=`${to}=; Max-Age=-99999999; Path=/;`)}const RolePriorities={[Roles$2.ADMIN]:5,[Roles$2.CREATOR]:4,[Roles$2.POWER]:3,[Roles$2.BASIC]:2,[Roles$2.PUBLIC]:1},getRolePriority=to=>RolePriorities[to]??0,sleep$2=to=>new Promise(ue=>setTimeout(ue,to)),sequential=to=>{let ue=[];return(...no)=>new Promise((ro,oo)=>{ue.push(async()=>{let io,ao;try{io=await to(...no)}catch(so){ao=so}ue.shift(),ue.length&&ue[0](),ao?oo(ao):ro(io)}),ue.length===1&&ue[0]()})},debounce=(to,ue=1e3)=>{let eo;return async(...no)=>new Promise(ro=>{eo&&clearTimeout(eo),eo=setTimeout(async()=>{ro(await to(...no))},ue)})},domDebounce=to=>{let ue=!1,eo;return(...no)=>{eo=no,ue||(ue=!0,requestAnimationFrame(()=>{to(...eo),ue=!1}))}},buildFormBlockButtonConfig=to=>{const{_id:ue,actionType:eo,dataSource:no,notificationOverride:ro,actionUrl:oo,showDeleteButton:io,deleteButtonLabel:ao,showSaveButton:so,saveButtonLabel:lo}=to||{};if(!ue)return;const co=`${ue}-form`,uo=`${ue}-repeater`,fo=no==null?void 0:no.resourceId,po=io===!1?"":ao==null?void 0:ao.trim(),ho=so===!1?"":lo==null?void 0:lo.trim(),_o=[{"##eventHandlerType":"Validate Form",parameters:{componentId:co}},{"##eventHandlerType":"Save Row",parameters:{providerId:co,tableId:fo,notificationOverride:ro,confirm:null}},{"##eventHandlerType":"Close Screen Modal"},{"##eventHandlerType":"Close Side Panel"},{"##eventHandlerType":"Close Modal"},...eo!=="Create"?[]:[{"##eventHandlerType":"Clear Form",parameters:{componentId:co}}],...oo?[{"##eventHandlerType":"Navigate To",parameters:{url:oo}}]:[]],go=[{"##eventHandlerType":"Delete Row",parameters:{confirm:!0,tableId:fo,rowId:`{{ ${makePropSafe(uo)}.${makePropSafe("_id")} }}`,revId:`{{ ${makePropSafe(uo)}.${makePropSafe("_rev")} }}`,notificationOverride:ro}},{"##eventHandlerType":"Close Screen Modal"},{"##eventHandlerType":"Close Side Panel"},{"##eventHandlerType":"Close Modal"},...oo?[{"##eventHandlerType":"Navigate To",parameters:{url:oo}}]:[]],bo=[];return eo&&["Update","Create"].includes(eo)&&so!==!1&&bo.push({text:ho||"Save",_id:uuid$2(),_component:"@budibase/standard-components/button",onClick:_o,type:"cta"}),eo==="Update"&&io!==!1&&bo.push({text:po||"Delete",_id:uuid$2(),_component:"@budibase/standard-components/button",onClick:go,quiet:!0,type:"warning"}),bo},buildMultiStepFormBlockDefaultProps=to=>{const{_id:ue,stepCount:eo,currentStep:no,actionType:ro,dataSource:oo}=to||{};if(!ue||!eo)return;const io=`Step {{ [${ue}-form].[__currentStep] }}`,ao=oo==null?void 0:oo.resourceId,so=`${ue}-form`;let lo=[];return no!==0&&lo.push({_id:uuid$2(),_component:"@budibase/standard-components/button",_instanceName:uuid$2(),text:"Back",type:"secondary",size:"M",onClick:[{parameters:{type:"prev",componentId:so},"##eventHandlerType":"Change Form Step"}]}),no!==eo-1&&lo.push({_id:uuid$2(),_component:"@budibase/standard-components/button",_instanceName:uuid$2(),text:"Next",type:"cta",size:"M",onClick:[{"##eventHandlerType":"Validate Form",parameters:{componentId:so}},{parameters:{type:"next",componentId:so},"##eventHandlerType":"Change Form Step"}]}),ro!=="View"&&no===eo-1&&lo.push({_id:uuid$2(),_component:"@budibase/standard-components/button",_instanceName:uuid$2(),text:"Save",type:"cta",size:"M",onClick:[{"##eventHandlerType":"Validate Form",parameters:{componentId:so}},{"##eventHandlerType":"Save Row",parameters:{tableId:ao,providerId:so}},...ro!=="Create"?[]:[{"##eventHandlerType":"Clear Form",parameters:{componentId:so}}]]}),{buttons:lo,title:io}};function parseFilter(to){var eo;if(!(to!=null&&to.groups))return to;const ue=lodashExports.cloneDeep(to);return ue.groups=(eo=ue.groups)==null?void 0:eo.map(no=>{var ro,oo;return no.filters=(ro=no.filters)==null?void 0:ro.filter(io=>io.field&&io.operator),(oo=no.filters)!=null&&oo.length?no:null}).filter(no=>!!no),ue}const isBetterSample=(to,ue)=>{if(ue==null&&to!=null)return!0;if(ue!=null&&to==null)return!1;const eo=typeof ue,no=typeof to;return eo!==no?!1:no==="string"&&to.length>ue.length||no==="object"&&Object.keys(to).length>Object.keys(ue).length},generateGoldenSample=to=>{let ue={};return to==null||to.slice(0,100).forEach(eo=>{Object.keys(eo).forEach(no=>{isBetterSample(eo[no],ue[no])&&(ue[no]=eo[no])})}),ue};function getTableFields(to,ue){const eo=to.find(ro=>ro._id===ue.tableId);return!eo||!eo.sql?[]:getFields(to,Object.values(eo.schema),{allowLinks:!1}).map(ro=>({...ro,name:`${ue.name}.${ro.name}`}))}function getFields(to,ue,{allowLinks:eo}={allowLinks:!0}){let no=ue.filter(oo=>!BannedSearchTypes.includes(oo.type));if(eo){const oo=ue.filter(io=>io.type==="link");for(let io of oo)no=no.concat(getTableFields(to,io))}const ro=ue.filter(oo=>oo.type==="formula"&&oo.formulaType==="static");return no.concat(ro)}const getColumnIcon=to=>{if(to.schema.icon)return to.schema.icon;if(to.calculationType)return"Calculator";if(to.schema.autocolumn)return"MagicWand";if(isDeprecatedSingleUserColumn(to.schema))return"User";const{type:ue,subtype:eo}=to.schema;return(typeof TypeIconMap$1[ue]=="object"&&eo?TypeIconMap$1[ue][eo]:TypeIconMap$1[ue])||"Text"},memo=to=>{const ue=writable(to);let eo=JSON.stringify(to);const no=ro=>{const oo=JSON.stringify(ro);oo!==eo&&(ue.set(ro),eo=oo)};return{subscribe:ue.subscribe,set:no,update:ro=>{let oo=JSON.parse(eo);const io=ro(oo);no(io)}}},derivedMemo=(to,ue)=>{const eo=derived(to,ue),no=memo(get_store_value(eo));return eo.subscribe(no.set),no},PACKET_TYPES=Object.create(null);PACKET_TYPES.open="0";PACKET_TYPES.close="1";PACKET_TYPES.ping="2";PACKET_TYPES.pong="3";PACKET_TYPES.message="4";PACKET_TYPES.upgrade="5";PACKET_TYPES.noop="6";const PACKET_TYPES_REVERSE=Object.create(null);Object.keys(PACKET_TYPES).forEach(to=>{PACKET_TYPES_REVERSE[PACKET_TYPES[to]]=to});const ERROR_PACKET={type:"error",data:"parser error"},withNativeBlob$1=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",withNativeArrayBuffer$2=typeof ArrayBuffer=="function",isView$1=to=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(to):to&&to.buffer instanceof ArrayBuffer,encodePacket=({type:to,data:ue},eo,no)=>withNativeBlob$1&&ue instanceof Blob?eo?no(ue):encodeBlobAsBase64(ue,no):withNativeArrayBuffer$2&&(ue instanceof ArrayBuffer||isView$1(ue))?eo?no(ue):encodeBlobAsBase64(new Blob([ue]),no):no(PACKET_TYPES[to]+(ue||"")),encodeBlobAsBase64=(to,ue)=>{const eo=new FileReader;return eo.onload=function(){const no=eo.result.split(",")[1];ue("b"+(no||""))},eo.readAsDataURL(to)};function toArray$2(to){return to instanceof Uint8Array?to:to instanceof ArrayBuffer?new Uint8Array(to):new Uint8Array(to.buffer,to.byteOffset,to.byteLength)}let TEXT_ENCODER;function encodePacketToBinary(to,ue){if(withNativeBlob$1&&to.data instanceof Blob)return to.data.arrayBuffer().then(toArray$2).then(ue);if(withNativeArrayBuffer$2&&(to.data instanceof ArrayBuffer||isView$1(to.data)))return ue(toArray$2(to.data));encodePacket(to,!1,eo=>{TEXT_ENCODER||(TEXT_ENCODER=new TextEncoder),ue(TEXT_ENCODER.encode(eo))})}const chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lookup$1=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let to=0;to<chars.length;to++)lookup$1[chars.charCodeAt(to)]=to;const decode$3=to=>{let ue=to.length*.75,eo=to.length,no,ro=0,oo,io,ao,so;to[to.length-1]==="="&&(ue--,to[to.length-2]==="="&&ue--);const lo=new ArrayBuffer(ue),co=new Uint8Array(lo);for(no=0;no<eo;no+=4)oo=lookup$1[to.charCodeAt(no)],io=lookup$1[to.charCodeAt(no+1)],ao=lookup$1[to.charCodeAt(no+2)],so=lookup$1[to.charCodeAt(no+3)],co[ro++]=oo<<2|io>>4,co[ro++]=(io&15)<<4|ao>>2,co[ro++]=(ao&3)<<6|so&63;return lo},withNativeArrayBuffer$1=typeof ArrayBuffer=="function",decodePacket=(to,ue)=>{if(typeof to!="string")return{type:"message",data:mapBinary(to,ue)};const eo=to.charAt(0);return eo==="b"?{type:"message",data:decodeBase64Packet(to.substring(1),ue)}:PACKET_TYPES_REVERSE[eo]?to.length>1?{type:PACKET_TYPES_REVERSE[eo],data:to.substring(1)}:{type:PACKET_TYPES_REVERSE[eo]}:ERROR_PACKET},decodeBase64Packet=(to,ue)=>{if(withNativeArrayBuffer$1){const eo=decode$3(to);return mapBinary(eo,ue)}else return{base64:!0,data:to}},mapBinary=(to,ue)=>{switch(ue){case"blob":return to instanceof Blob?to:new Blob([to]);case"arraybuffer":default:return to instanceof ArrayBuffer?to:to.buffer}},SEPARATOR=String.fromCharCode(30),encodePayload=(to,ue)=>{const eo=to.length,no=new Array(eo);let ro=0;to.forEach((oo,io)=>{encodePacket(oo,!1,ao=>{no[io]=ao,++ro===eo&&ue(no.join(SEPARATOR))})})},decodePayload=(to,ue)=>{const eo=to.split(SEPARATOR),no=[];for(let ro=0;ro<eo.length;ro++){const oo=decodePacket(eo[ro],ue);if(no.push(oo),oo.type==="error")break}return no};function createPacketEncoderStream(){return new TransformStream({transform(to,ue){encodePacketToBinary(to,eo=>{const no=eo.length;let ro;if(no<126)ro=new Uint8Array(1),new DataView(ro.buffer).setUint8(0,no);else if(no<65536){ro=new Uint8Array(3);const oo=new DataView(ro.buffer);oo.setUint8(0,126),oo.setUint16(1,no)}else{ro=new Uint8Array(9);const oo=new DataView(ro.buffer);oo.setUint8(0,127),oo.setBigUint64(1,BigInt(no))}to.data&&typeof to.data!="string"&&(ro[0]|=128),ue.enqueue(ro),ue.enqueue(eo)})}})}let TEXT_DECODER;function totalLength(to){return to.reduce((ue,eo)=>ue+eo.length,0)}function concatChunks(to,ue){if(to[0].length===ue)return to.shift();const eo=new Uint8Array(ue);let no=0;for(let ro=0;ro<ue;ro++)eo[ro]=to[0][no++],no===to[0].length&&(to.shift(),no=0);return to.length&&no<to[0].length&&(to[0]=to[0].slice(no)),eo}function createPacketDecoderStream(to,ue){TEXT_DECODER||(TEXT_DECODER=new TextDecoder);const eo=[];let no=0,ro=-1,oo=!1;return new TransformStream({transform(io,ao){for(eo.push(io);;){if(no===0){if(totalLength(eo)<1)break;const so=concatChunks(eo,1);oo=(so[0]&128)===128,ro=so[0]&127,ro<126?no=3:ro===126?no=1:no=2}else if(no===1){if(totalLength(eo)<2)break;const so=concatChunks(eo,2);ro=new DataView(so.buffer,so.byteOffset,so.length).getUint16(0),no=3}else if(no===2){if(totalLength(eo)<8)break;const so=concatChunks(eo,8),lo=new DataView(so.buffer,so.byteOffset,so.length),co=lo.getUint32(0);if(co>Math.pow(2,53-32)-1){ao.enqueue(ERROR_PACKET);break}ro=co*Math.pow(2,32)+lo.getUint32(4),no=3}else{if(totalLength(eo)<ro)break;const so=concatChunks(eo,ro);ao.enqueue(decodePacket(oo?so:TEXT_DECODER.decode(so),ue)),no=0}if(ro===0||ro>to){ao.enqueue(ERROR_PACKET);break}}}})}const protocol$1=4;function Emitter(to){if(to)return mixin(to)}function mixin(to){for(var ue in Emitter.prototype)to[ue]=Emitter.prototype[ue];return to}Emitter.prototype.on=Emitter.prototype.addEventListener=function(to,ue){return this._callbacks=this._callbacks||{},(this._callbacks["$"+to]=this._callbacks["$"+to]||[]).push(ue),this};Emitter.prototype.once=function(to,ue){function eo(){this.off(to,eo),ue.apply(this,arguments)}return eo.fn=ue,this.on(to,eo),this};Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(to,ue){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var eo=this._callbacks["$"+to];if(!eo)return this;if(arguments.length==1)return delete this._callbacks["$"+to],this;for(var no,ro=0;ro<eo.length;ro++)if(no=eo[ro],no===ue||no.fn===ue){eo.splice(ro,1);break}return eo.length===0&&delete this._callbacks["$"+to],this};Emitter.prototype.emit=function(to){this._callbacks=this._callbacks||{};for(var ue=new Array(arguments.length-1),eo=this._callbacks["$"+to],no=1;no<arguments.length;no++)ue[no-1]=arguments[no];if(eo){eo=eo.slice(0);for(var no=0,ro=eo.length;no<ro;++no)eo[no].apply(this,ue)}return this};Emitter.prototype.emitReserved=Emitter.prototype.emit;Emitter.prototype.listeners=function(to){return this._callbacks=this._callbacks||{},this._callbacks["$"+to]||[]};Emitter.prototype.hasListeners=function(to){return!!this.listeners(to).length};const globalThisShim=(()=>typeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function pick$1(to,...ue){return ue.reduce((eo,no)=>(to.hasOwnProperty(no)&&(eo[no]=to[no]),eo),{})}const NATIVE_SET_TIMEOUT=globalThisShim.setTimeout,NATIVE_CLEAR_TIMEOUT=globalThisShim.clearTimeout;function installTimerFunctions(to,ue){ue.useNativeTimers?(to.setTimeoutFn=NATIVE_SET_TIMEOUT.bind(globalThisShim),to.clearTimeoutFn=NATIVE_CLEAR_TIMEOUT.bind(globalThisShim)):(to.setTimeoutFn=globalThisShim.setTimeout.bind(globalThisShim),to.clearTimeoutFn=globalThisShim.clearTimeout.bind(globalThisShim))}const BASE64_OVERHEAD=1.33;function byteLength(to){return typeof to=="string"?utf8Length(to):Math.ceil((to.byteLength||to.size)*BASE64_OVERHEAD)}function utf8Length(to){let ue=0,eo=0;for(let no=0,ro=to.length;no<ro;no++)ue=to.charCodeAt(no),ue<128?eo+=1:ue<2048?eo+=2:ue<55296||ue>=57344?eo+=3:(no++,eo+=4);return eo}function encode$3(to){let ue="";for(let eo in to)to.hasOwnProperty(eo)&&(ue.length&&(ue+="&"),ue+=encodeURIComponent(eo)+"="+encodeURIComponent(to[eo]));return ue}function decode$2(to){let ue={},eo=to.split("&");for(let no=0,ro=eo.length;no<ro;no++){let oo=eo[no].split("=");ue[decodeURIComponent(oo[0])]=decodeURIComponent(oo[1])}return ue}class TransportError extends Error{constructor(ue,eo,no){super(ue),this.description=eo,this.context=no,this.type="TransportError"}}class Transport extends Emitter{constructor(ue){super(),this.writable=!1,installTimerFunctions(this,ue),this.opts=ue,this.query=ue.query,this.socket=ue.socket}onError(ue,eo,no){return super.emitReserved("error",new TransportError(ue,eo,no)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(ue){this.readyState==="open"&&this.write(ue)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(ue){const eo=decodePacket(ue,this.socket.binaryType);this.onPacket(eo)}onPacket(ue){super.emitReserved("packet",ue)}onClose(ue){this.readyState="closed",super.emitReserved("close",ue)}pause(ue){}createUri(ue,eo={}){return ue+"://"+this._hostname()+this._port()+this.opts.path+this._query(eo)}_hostname(){const ue=this.opts.hostname;return ue.indexOf(":")===-1?ue:"["+ue+"]"}_port(){return this.opts.port&&(this.opts.secure&&+(this.opts.port!==443)||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(ue){const eo=encode$3(ue);return eo.length?"?"+eo:""}}const alphabet="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),length=64,map={};let seed=0,i$2=0,prev;function encode$2(to){let ue="";do ue=alphabet[to%length]+ue,to=Math.floor(to/length);while(to>0);return ue}function yeast(){const to=encode$2(+new Date);return to!==prev?(seed=0,prev=to):to+"."+encode$2(seed++)}for(;i$2<length;i$2++)map[alphabet[i$2]]=i$2;let value$1=!1;try{value$1=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch(to){}const hasCORS=value$1;function XHR(to){const ue=to.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!ue||hasCORS))return new XMLHttpRequest}catch{}if(!ue)try{return new globalThisShim[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}function createCookieJar(){}function empty$1(){}const hasXHR2=function(){return new XHR({xdomain:!1}).responseType!=null}();class Polling extends Transport{constructor(ue){if(super(ue),this.polling=!1,typeof location<"u"){const no=location.protocol==="https:";let ro=location.port;ro||(ro=no?"443":"80"),this.xd=typeof location<"u"&&ue.hostname!==location.hostname||ro!==ue.port}const eo=ue&&ue.forceBase64;this.supportsBinary=hasXHR2&&!eo,this.opts.withCredentials&&(this.cookieJar=void 0)}get name(){return"polling"}doOpen(){this.poll()}pause(ue){this.readyState="pausing";const eo=()=>{this.readyState="paused",ue()};if(this.polling||!this.writable){let no=0;this.polling&&(no++,this.once("pollComplete",function(){--no||eo()})),this.writable||(no++,this.once("drain",function(){--no||eo()}))}else eo()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(ue){const eo=no=>{if(this.readyState==="opening"&&no.type==="open"&&this.onOpen(),no.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(no)};decodePayload(ue,this.socket.binaryType).forEach(eo),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const ue=()=>{this.write([{type:"close"}])};this.readyState==="open"?ue():this.once("open",ue)}write(ue){this.writable=!1,encodePayload(ue,eo=>{this.doWrite(eo,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const ue=this.opts.secure?"https":"http",eo=this.query||{};return this.opts.timestampRequests!==!1&&(eo[this.opts.timestampParam]=yeast()),!this.supportsBinary&&!eo.sid&&(eo.b64=1),this.createUri(ue,eo)}request(ue={}){return Object.assign(ue,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new Request(this.uri(),ue)}doWrite(ue,eo){const no=this.request({method:"POST",data:ue});no.on("success",eo),no.on("error",(ro,oo)=>{this.onError("xhr post error",ro,oo)})}doPoll(){const ue=this.request();ue.on("data",this.onData.bind(this)),ue.on("error",(eo,no)=>{this.onError("xhr poll error",eo,no)}),this.pollXhr=ue}}class Request extends Emitter{constructor(ue,eo){super(),installTimerFunctions(this,eo),this.opts=eo,this.method=eo.method||"GET",this.uri=ue,this.data=eo.data!==void 0?eo.data:null,this.create()}create(){var ue;const eo=pick$1(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");eo.xdomain=!!this.opts.xd;const no=this.xhr=new XHR(eo);try{no.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){no.setDisableHeaderCheck&&no.setDisableHeaderCheck(!0);for(let ro in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(ro)&&no.setRequestHeader(ro,this.opts.extraHeaders[ro])}}catch{}if(this.method==="POST")try{no.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{no.setRequestHeader("Accept","*/*")}catch{}(ue=this.opts.cookieJar)===null||ue===void 0||ue.addCookies(no),"withCredentials"in no&&(no.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(no.timeout=this.opts.requestTimeout),no.onreadystatechange=()=>{var ro;no.readyState===3&&((ro=this.opts.cookieJar)===null||ro===void 0||ro.parseCookies(no)),no.readyState===4&&(no.status===200||no.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof no.status=="number"?no.status:0)},0))},no.send(this.data)}catch(ro){this.setTimeoutFn(()=>{this.onError(ro)},0);return}typeof document<"u"&&(this.index=Request.requestsCount++,Request.requests[this.index]=this)}onError(ue){this.emitReserved("error",ue,this.xhr),this.cleanup(!0)}cleanup(ue){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=empty$1,ue)try{this.xhr.abort()}catch{}typeof document<"u"&&delete Request.requests[this.index],this.xhr=null}}onLoad(){const ue=this.xhr.responseText;ue!==null&&(this.emitReserved("data",ue),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}Request.requestsCount=0;Request.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",unloadHandler);else if(typeof addEventListener=="function"){const to="onpagehide"in globalThisShim?"pagehide":"unload";addEventListener(to,unloadHandler,!1)}}function unloadHandler(){for(let to in Request.requests)Request.requests.hasOwnProperty(to)&&Request.requests[to].abort()}const nextTick=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?ue=>Promise.resolve().then(ue):(ue,eo)=>eo(ue,0))(),WebSocket=globalThisShim.WebSocket||globalThisShim.MozWebSocket,usingBrowserWebSocket=!0,defaultBinaryType="arraybuffer",isReactNative=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class WS extends Transport{constructor(ue){super(ue),this.supportsBinary=!ue.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const ue=this.uri(),eo=this.opts.protocols,no=isReactNative?{}:pick$1(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(no.headers=this.opts.extraHeaders);try{this.ws=usingBrowserWebSocket&&!isReactNative?eo?new WebSocket(ue,eo):new WebSocket(ue):new WebSocket(ue,eo,no)}catch(ro){return this.emitReserved("error",ro)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=ue=>this.onClose({description:"websocket connection closed",context:ue}),this.ws.onmessage=ue=>this.onData(ue.data),this.ws.onerror=ue=>this.onError("websocket error",ue)}write(ue){this.writable=!1;for(let eo=0;eo<ue.length;eo++){const no=ue[eo],ro=eo===ue.length-1;encodePacket(no,this.supportsBinary,oo=>{const io={};try{usingBrowserWebSocket&&this.ws.send(oo)}catch{}ro&&nextTick(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const ue=this.opts.secure?"wss":"ws",eo=this.query||{};return this.opts.timestampRequests&&(eo[this.opts.timestampParam]=yeast()),this.supportsBinary||(eo.b64=1),this.createUri(ue,eo)}check(){return!!WebSocket}}class WT extends Transport{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(ue=>{this.onError("webtransport error",ue)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(ue=>{const eo=createPacketDecoderStream(Number.MAX_SAFE_INTEGER,this.socket.binaryType),no=ue.readable.pipeThrough(eo).getReader(),ro=createPacketEncoderStream();ro.readable.pipeTo(ue.writable),this.writer=ro.writable.getWriter();const oo=()=>{no.read().then(({done:ao,value:so})=>{ao||(this.onPacket(so),oo())}).catch(ao=>{})};oo();const io={type:"open"};this.query.sid&&(io.data=`{"sid":"${this.query.sid}"}`),this.writer.write(io).then(()=>this.onOpen())})}))}write(ue){this.writable=!1;for(let eo=0;eo<ue.length;eo++){const no=ue[eo],ro=eo===ue.length-1;this.writer.write(no).then(()=>{ro&&nextTick(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var ue;(ue=this.transport)===null||ue===void 0||ue.close()}}const transports={websocket:WS,webtransport:WT,polling:Polling},re$1=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,parts=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function parse$8(to){if(to.length>2e3)throw"URI too long";const ue=to,eo=to.indexOf("["),no=to.indexOf("]");eo!=-1&&no!=-1&&(to=to.substring(0,eo)+to.substring(eo,no).replace(/:/g,";")+to.substring(no,to.length));let ro=re$1.exec(to||""),oo={},io=14;for(;io--;)oo[parts[io]]=ro[io]||"";return eo!=-1&&no!=-1&&(oo.source=ue,oo.host=oo.host.substring(1,oo.host.length-1).replace(/;/g,":"),oo.authority=oo.authority.replace("[","").replace("]","").replace(/;/g,":"),oo.ipv6uri=!0),oo.pathNames=pathNames(oo,oo.path),oo.queryKey=queryKey(oo,oo.query),oo}function pathNames(to,ue){const eo=/\/{2,9}/g,no=ue.replace(eo,"/").split("/");return(ue.slice(0,1)=="/"||ue.length===0)&&no.splice(0,1),ue.slice(-1)=="/"&&no.splice(no.length-1,1),no}function queryKey(to,ue){const eo={};return ue.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(no,ro,oo){ro&&(eo[ro]=oo)}),eo}let Socket$1=class ph extends Emitter{constructor(ue,eo={}){super(),this.binaryType=defaultBinaryType,this.writeBuffer=[],ue&&typeof ue=="object"&&(eo=ue,ue=null),ue?(ue=parse$8(ue),eo.hostname=ue.host,eo.secure=ue.protocol==="https"||ue.protocol==="wss",eo.port=ue.port,ue.query&&(eo.query=ue.query)):eo.host&&(eo.hostname=parse$8(eo.host).host),installTimerFunctions(this,eo),this.secure=eo.secure!=null?eo.secure:typeof location<"u"&&location.protocol==="https:",eo.hostname&&!eo.port&&(eo.port=this.secure?"443":"80"),this.hostname=eo.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=eo.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=eo.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},eo),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=decode$2(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(ue){const eo=Object.assign({},this.opts.query);eo.EIO=protocol$1,eo.transport=ue,this.id&&(eo.sid=this.id);const no=Object.assign({},this.opts,{query:eo,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[ue]);return new transports[ue](no)}open(){let ue;if(this.opts.rememberUpgrade&&ph.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)ue="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else ue=this.transports[0];this.readyState="opening";try{ue=this.createTransport(ue)}catch{this.transports.shift(),this.open();return}ue.open(),this.setTransport(ue)}setTransport(ue){this.transport&&this.transport.removeAllListeners(),this.transport=ue,ue.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",eo=>this.onClose("transport close",eo))}probe(ue){let eo=this.createTransport(ue),no=!1;ph.priorWebsocketSuccess=!1;const ro=()=>{no||(eo.send([{type:"ping",data:"probe"}]),eo.once("packet",uo=>{if(!no)if(uo.type==="pong"&&uo.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",eo),!eo)return;ph.priorWebsocketSuccess=eo.name==="websocket",this.transport.pause(()=>{no||this.readyState!=="closed"&&(co(),this.setTransport(eo),eo.send([{type:"upgrade"}]),this.emitReserved("upgrade",eo),eo=null,this.upgrading=!1,this.flush())})}else{const fo=new Error("probe error");fo.transport=eo.name,this.emitReserved("upgradeError",fo)}}))};function oo(){no||(no=!0,co(),eo.close(),eo=null)}const io=uo=>{const fo=new Error("probe error: "+uo);fo.transport=eo.name,oo(),this.emitReserved("upgradeError",fo)};function ao(){io("transport closed")}function so(){io("socket closed")}function lo(uo){eo&&uo.name!==eo.name&&oo()}const co=()=>{eo.removeListener("open",ro),eo.removeListener("error",io),eo.removeListener("close",ao),this.off("close",so),this.off("upgrading",lo)};eo.once("open",ro),eo.once("error",io),eo.once("close",ao),this.once("close",so),this.once("upgrading",lo),this.upgrades.indexOf("webtransport")!==-1&&ue!=="webtransport"?this.setTimeoutFn(()=>{no||eo.open()},200):eo.open()}onOpen(){if(this.readyState="open",ph.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let ue=0;const eo=this.upgrades.length;for(;ue<eo;ue++)this.probe(this.upgrades[ue])}}onPacket(ue){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",ue),this.emitReserved("heartbeat"),this.resetPingTimeout(),ue.type){case"open":this.onHandshake(JSON.parse(ue.data));break;case"ping":this.sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong");break;case"error":const eo=new Error("server error");eo.code=ue.data,this.onError(eo);break;case"message":this.emitReserved("data",ue.data),this.emitReserved("message",ue.data);break}}onHandshake(ue){this.emitReserved("handshake",ue),this.id=ue.sid,this.transport.query.sid=ue.sid,this.upgrades=this.filterUpgrades(ue.upgrades),this.pingInterval=ue.pingInterval,this.pingTimeout=ue.pingTimeout,this.maxPayload=ue.maxPayload,this.onOpen(),this.readyState!=="closed"&&this.resetPingTimeout()}resetPingTimeout(){this.clearTimeoutFn(this.pingTimeoutTimer),this.pingTimeoutTimer=this.setTimeoutFn(()=>{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const ue=this.getWritablePackets();this.transport.send(ue),this.prevBufferLen=ue.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let eo=1;for(let no=0;no<this.writeBuffer.length;no++){const ro=this.writeBuffer[no].data;if(ro&&(eo+=byteLength(ro)),no>0&&eo>this.maxPayload)return this.writeBuffer.slice(0,no);eo+=2}return this.writeBuffer}write(ue,eo,no){return this.sendPacket("message",ue,eo,no),this}send(ue,eo,no){return this.sendPacket("message",ue,eo,no),this}sendPacket(ue,eo,no,ro){if(typeof eo=="function"&&(ro=eo,eo=void 0),typeof no=="function"&&(ro=no,no=null),this.readyState==="closing"||this.readyState==="closed")return;no=no||{},no.compress=no.compress!==!1;const oo={type:ue,data:eo,options:no};this.emitReserved("packetCreate",oo),this.writeBuffer.push(oo),ro&&this.once("flush",ro),this.flush()}close(){const ue=()=>{this.onClose("forced close"),this.transport.close()},eo=()=>{this.off("upgrade",eo),this.off("upgradeError",eo),ue()},no=()=>{this.once("upgrade",eo),this.once("upgradeError",eo)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?no():ue()}):this.upgrading?no():ue()),this}onError(ue){ph.priorWebsocketSuccess=!1,this.emitReserved("error",ue),this.onClose("transport error",ue)}onClose(ue,eo){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",ue,eo),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(ue){const eo=[];let no=0;const ro=ue.length;for(;no<ro;no++)~this.transports.indexOf(ue[no])&&eo.push(ue[no]);return eo}};Socket$1.protocol=protocol$1;function url$1(to,ue="",eo){let no=to;eo=eo||typeof location<"u"&&location,to==null&&(to=eo.protocol+"//"+eo.host),typeof to=="string"&&(to.charAt(0)==="/"&&(to.charAt(1)==="/"?to=eo.protocol+to:to=eo.host+to),/^(https?|wss?):\/\//.test(to)||(typeof eo<"u"?to=eo.protocol+"//"+to:to="https://"+to),no=parse$8(to)),no.port||(/^(http|ws)$/.test(no.protocol)?no.port="80":/^(http|ws)s$/.test(no.protocol)&&(no.port="443")),no.path=no.path||"/";const oo=no.host.indexOf(":")!==-1?"["+no.host+"]":no.host;return no.id=no.protocol+"://"+oo+":"+no.port+ue,no.href=no.protocol+"://"+oo+(eo&&eo.port===no.port?"":":"+no.port),no}const withNativeArrayBuffer=typeof ArrayBuffer=="function",isView=to=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(to):to.buffer instanceof ArrayBuffer,toString$4=Object.prototype.toString,withNativeBlob=typeof Blob=="function"||typeof Blob<"u"&&toString$4.call(Blob)==="[object BlobConstructor]",withNativeFile=typeof File=="function"||typeof File<"u"&&toString$4.call(File)==="[object FileConstructor]";function isBinary(to){return withNativeArrayBuffer&&(to instanceof ArrayBuffer||isView(to))||withNativeBlob&&to instanceof Blob||withNativeFile&&to instanceof File}function hasBinary(to,ue){if(!to||typeof to!="object")return!1;if(Array.isArray(to)){for(let eo=0,no=to.length;eo<no;eo++)if(hasBinary(to[eo]))return!0;return!1}if(isBinary(to))return!0;if(to.toJSON&&typeof to.toJSON=="function"&&arguments.length===1)return hasBinary(to.toJSON(),!0);for(const eo in to)if(Object.prototype.hasOwnProperty.call(to,eo)&&hasBinary(to[eo]))return!0;return!1}function deconstructPacket(to){const ue=[],eo=to.data,no=to;return no.data=_deconstructPacket(eo,ue),no.attachments=ue.length,{packet:no,buffers:ue}}function _deconstructPacket(to,ue){if(!to)return to;if(isBinary(to)){const eo={_placeholder:!0,num:ue.length};return ue.push(to),eo}else if(Array.isArray(to)){const eo=new Array(to.length);for(let no=0;no<to.length;no++)eo[no]=_deconstructPacket(to[no],ue);return eo}else if(typeof to=="object"&&!(to instanceof Date)){const eo={};for(const no in to)Object.prototype.hasOwnProperty.call(to,no)&&(eo[no]=_deconstructPacket(to[no],ue));return eo}return to}function reconstructPacket(to,ue){return to.data=_reconstructPacket(to.data,ue),delete to.attachments,to}function _reconstructPacket(to,ue){if(!to)return to;if(to&&to._placeholder===!0){if(typeof to.num=="number"&&to.num>=0&&to.num<ue.length)return ue[to.num];throw new Error("illegal attachments")}else if(Array.isArray(to))for(let eo=0;eo<to.length;eo++)to[eo]=_reconstructPacket(to[eo],ue);else if(typeof to=="object")for(const eo in to)Object.prototype.hasOwnProperty.call(to,eo)&&(to[eo]=_reconstructPacket(to[eo],ue));return to}const RESERVED_EVENTS$1=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],protocol=5;var PacketType;(function(to){to[to.CONNECT=0]="CONNECT",to[to.DISCONNECT=1]="DISCONNECT",to[to.EVENT=2]="EVENT",to[to.ACK=3]="ACK",to[to.CONNECT_ERROR=4]="CONNECT_ERROR",to[to.BINARY_EVENT=5]="BINARY_EVENT",to[to.BINARY_ACK=6]="BINARY_ACK"})(PacketType||(PacketType={}));class Encoder{constructor(ue){this.replacer=ue}encode(ue){return(ue.type===PacketType.EVENT||ue.type===PacketType.ACK)&&hasBinary(ue)?this.encodeAsBinary({type:ue.type===PacketType.EVENT?PacketType.BINARY_EVENT:PacketType.BINARY_ACK,nsp:ue.nsp,data:ue.data,id:ue.id}):[this.encodeAsString(ue)]}encodeAsString(ue){let eo=""+ue.type;return(ue.type===PacketType.BINARY_EVENT||ue.type===PacketType.BINARY_ACK)&&(eo+=ue.attachments+"-"),ue.nsp&&ue.nsp!=="/"&&(eo+=ue.nsp+","),ue.id!=null&&(eo+=ue.id),ue.data!=null&&(eo+=JSON.stringify(ue.data,this.replacer)),eo}encodeAsBinary(ue){const eo=deconstructPacket(ue),no=this.encodeAsString(eo.packet),ro=eo.buffers;return ro.unshift(no),ro}}function isObject$7(to){return Object.prototype.toString.call(to)==="[object Object]"}class Decoder extends Emitter{constructor(ue){super(),this.reviver=ue}add(ue){let eo;if(typeof ue=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");eo=this.decodeString(ue);const no=eo.type===PacketType.BINARY_EVENT;no||eo.type===PacketType.BINARY_ACK?(eo.type=no?PacketType.EVENT:PacketType.ACK,this.reconstructor=new BinaryReconstructor(eo),eo.attachments===0&&super.emitReserved("decoded",eo)):super.emitReserved("decoded",eo)}else if(isBinary(ue)||ue.base64)if(this.reconstructor)eo=this.reconstructor.takeBinaryData(ue),eo&&(this.reconstructor=null,super.emitReserved("decoded",eo));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+ue)}decodeString(ue){let eo=0;const no={type:Number(ue.charAt(0))};if(PacketType[no.type]===void 0)throw new Error("unknown packet type "+no.type);if(no.type===PacketType.BINARY_EVENT||no.type===PacketType.BINARY_ACK){const oo=eo+1;for(;ue.charAt(++eo)!=="-"&&eo!=ue.length;);const io=ue.substring(oo,eo);if(io!=Number(io)||ue.charAt(eo)!=="-")throw new Error("Illegal attachments");no.attachments=Number(io)}if(ue.charAt(eo+1)==="/"){const oo=eo+1;for(;++eo&&!(ue.charAt(eo)===","||eo===ue.length););no.nsp=ue.substring(oo,eo)}else no.nsp="/";const ro=ue.charAt(eo+1);if(ro!==""&&Number(ro)==ro){const oo=eo+1;for(;++eo;){const io=ue.charAt(eo);if(io==null||Number(io)!=io){--eo;break}if(eo===ue.length)break}no.id=Number(ue.substring(oo,eo+1))}if(ue.charAt(++eo)){const oo=this.tryParse(ue.substr(eo));if(Decoder.isPayloadValid(no.type,oo))no.data=oo;else throw new Error("invalid payload")}return no}tryParse(ue){try{return JSON.parse(ue,this.reviver)}catch{return!1}}static isPayloadValid(ue,eo){switch(ue){case PacketType.CONNECT:return isObject$7(eo);case PacketType.DISCONNECT:return eo===void 0;case PacketType.CONNECT_ERROR:return typeof eo=="string"||isObject$7(eo);case PacketType.EVENT:case PacketType.BINARY_EVENT:return Array.isArray(eo)&&(typeof eo[0]=="number"||typeof eo[0]=="string"&&RESERVED_EVENTS$1.indexOf(eo[0])===-1);case PacketType.ACK:case PacketType.BINARY_ACK:return Array.isArray(eo)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class BinaryReconstructor{constructor(ue){this.packet=ue,this.buffers=[],this.reconPack=ue}takeBinaryData(ue){if(this.buffers.push(ue),this.buffers.length===this.reconPack.attachments){const eo=reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),eo}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const parser$2=Object.freeze(Object.defineProperty({__proto__:null,Decoder,Encoder,get PacketType(){return PacketType},protocol},Symbol.toStringTag,{value:"Module"}));function on$1(to,ue,eo){return to.on(ue,eo),function(){to.off(ue,eo)}}const RESERVED_EVENTS=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Socket extends Emitter{constructor(ue,eo,no){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=ue,this.nsp=eo,no&&no.auth&&(this.auth=no.auth),this._opts=Object.assign({},no),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const ue=this.io;this.subs=[on$1(ue,"open",this.onopen.bind(this)),on$1(ue,"packet",this.onpacket.bind(this)),on$1(ue,"error",this.onerror.bind(this)),on$1(ue,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected?this:(this.subEvents(),this.io._reconnecting||this.io.open(),this.io._readyState==="open"&&this.onopen(),this)}open(){return this.connect()}send(...ue){return ue.unshift("message"),this.emit.apply(this,ue),this}emit(ue,...eo){if(RESERVED_EVENTS.hasOwnProperty(ue))throw new Error('"'+ue.toString()+'" is a reserved event name');if(eo.unshift(ue),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(eo),this;const no={type:PacketType.EVENT,data:eo};if(no.options={},no.options.compress=this.flags.compress!==!1,typeof eo[eo.length-1]=="function"){const io=this.ids++,ao=eo.pop();this._registerAckCallback(io,ao),no.id=io}const ro=this.io.engine&&this.io.engine.transport&&this.io.engine.transport.writable;return this.flags.volatile&&(!ro||!this.connected)||(this.connected?(this.notifyOutgoingListeners(no),this.packet(no)):this.sendBuffer.push(no)),this.flags={},this}_registerAckCallback(ue,eo){var no;const ro=(no=this.flags.timeout)!==null&&no!==void 0?no:this._opts.ackTimeout;if(ro===void 0){this.acks[ue]=eo;return}const oo=this.io.setTimeoutFn(()=>{delete this.acks[ue];for(let ao=0;ao<this.sendBuffer.length;ao++)this.sendBuffer[ao].id===ue&&this.sendBuffer.splice(ao,1);eo.call(this,new Error("operation has timed out"))},ro),io=(...ao)=>{this.io.clearTimeoutFn(oo),eo.apply(this,ao)};io.withError=!0,this.acks[ue]=io}emitWithAck(ue,...eo){return new Promise((no,ro)=>{const oo=(io,ao)=>io?ro(io):no(ao);oo.withError=!0,eo.push(oo),this.emit(ue,...eo)})}_addToQueue(ue){let eo;typeof ue[ue.length-1]=="function"&&(eo=ue.pop());const no={id:this._queueSeq++,tryCount:0,pending:!1,args:ue,flags:Object.assign({fromQueue:!0},this.flags)};ue.push((ro,...oo)=>no!==this._queue[0]?void 0:(ro!==null?no.tryCount>this._opts.retries&&(this._queue.shift(),eo&&eo(ro)):(this._queue.shift(),eo&&eo(null,...oo)),no.pending=!1,this._drainQueue())),this._queue.push(no),this._drainQueue()}_drainQueue(ue=!1){if(!this.connected||this._queue.length===0)return;const eo=this._queue[0];eo.pending&&!ue||(eo.pending=!0,eo.tryCount++,this.flags=eo.flags,this.emit.apply(this,eo.args))}packet(ue){ue.nsp=this.nsp,this.io._packet(ue)}onopen(){typeof this.auth=="function"?this.auth(ue=>{this._sendConnectPacket(ue)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(ue){this.packet({type:PacketType.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},ue):ue})}onerror(ue){this.connected||this.emitReserved("connect_error",ue)}onclose(ue,eo){this.connected=!1,delete this.id,this.emitReserved("disconnect",ue,eo),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(ue=>{if(!this.sendBuffer.some(no=>String(no.id)===ue)){const no=this.acks[ue];delete this.acks[ue],no.withError&&no.call(this,new Error("socket has been disconnected"))}})}onpacket(ue){if(ue.nsp===this.nsp)switch(ue.type){case PacketType.CONNECT:ue.data&&ue.data.sid?this.onconnect(ue.data.sid,ue.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case PacketType.EVENT:case PacketType.BINARY_EVENT:this.onevent(ue);break;case PacketType.ACK:case PacketType.BINARY_ACK:this.onack(ue);break;case PacketType.DISCONNECT:this.ondisconnect();break;case PacketType.CONNECT_ERROR:this.destroy();const no=new Error(ue.data.message);no.data=ue.data.data,this.emitReserved("connect_error",no);break}}onevent(ue){const eo=ue.data||[];ue.id!=null&&eo.push(this.ack(ue.id)),this.connected?this.emitEvent(eo):this.receiveBuffer.push(Object.freeze(eo))}emitEvent(ue){if(this._anyListeners&&this._anyListeners.length){const eo=this._anyListeners.slice();for(const no of eo)no.apply(this,ue)}super.emit.apply(this,ue),this._pid&&ue.length&&typeof ue[ue.length-1]=="string"&&(this._lastOffset=ue[ue.length-1])}ack(ue){const eo=this;let no=!1;return function(...ro){no||(no=!0,eo.packet({type:PacketType.ACK,id:ue,data:ro}))}}onack(ue){const eo=this.acks[ue.id];typeof eo=="function"&&(delete this.acks[ue.id],eo.withError&&ue.data.unshift(null),eo.apply(this,ue.data))}onconnect(ue,eo){this.id=ue,this.recovered=eo&&this._pid===eo,this._pid=eo,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(ue=>this.emitEvent(ue)),this.receiveBuffer=[],this.sendBuffer.forEach(ue=>{this.notifyOutgoingListeners(ue),this.packet(ue)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(ue=>ue()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:PacketType.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(ue){return this.flags.compress=ue,this}get volatile(){return this.flags.volatile=!0,this}timeout(ue){return this.flags.timeout=ue,this}onAny(ue){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(ue),this}prependAny(ue){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(ue),this}offAny(ue){if(!this._anyListeners)return this;if(ue){const eo=this._anyListeners;for(let no=0;no<eo.length;no++)if(ue===eo[no])return eo.splice(no,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(ue){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(ue),this}prependAnyOutgoing(ue){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(ue),this}offAnyOutgoing(ue){if(!this._anyOutgoingListeners)return this;if(ue){const eo=this._anyOutgoingListeners;for(let no=0;no<eo.length;no++)if(ue===eo[no])return eo.splice(no,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(ue){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const eo=this._anyOutgoingListeners.slice();for(const no of eo)no.apply(this,ue.data)}}}function Backoff(to){to=to||{},this.ms=to.min||100,this.max=to.max||1e4,this.factor=to.factor||2,this.jitter=to.jitter>0&&to.jitter<=1?to.jitter:0,this.attempts=0}Backoff.prototype.duration=function(){var to=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var ue=Math.random(),eo=Math.floor(ue*this.jitter*to);to=Math.floor(ue*10)&1?to+eo:to-eo}return Math.min(to,this.max)|0};Backoff.prototype.reset=function(){this.attempts=0};Backoff.prototype.setMin=function(to){this.ms=to};Backoff.prototype.setMax=function(to){this.max=to};Backoff.prototype.setJitter=function(to){this.jitter=to};class Manager extends Emitter{constructor(ue,eo){var no;super(),this.nsps={},this.subs=[],ue&&typeof ue=="object"&&(eo=ue,ue=void 0),eo=eo||{},eo.path=eo.path||"/socket.io",this.opts=eo,installTimerFunctions(this,eo),this.reconnection(eo.reconnection!==!1),this.reconnectionAttempts(eo.reconnectionAttempts||1/0),this.reconnectionDelay(eo.reconnectionDelay||1e3),this.reconnectionDelayMax(eo.reconnectionDelayMax||5e3),this.randomizationFactor((no=eo.randomizationFactor)!==null&&no!==void 0?no:.5),this.backoff=new Backoff({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(eo.timeout==null?2e4:eo.timeout),this._readyState="closed",this.uri=ue;const ro=eo.parser||parser$2;this.encoder=new ro.Encoder,this.decoder=new ro.Decoder,this._autoConnect=eo.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(ue){return arguments.length?(this._reconnection=!!ue,this):this._reconnection}reconnectionAttempts(ue){return ue===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=ue,this)}reconnectionDelay(ue){var eo;return ue===void 0?this._reconnectionDelay:(this._reconnectionDelay=ue,(eo=this.backoff)===null||eo===void 0||eo.setMin(ue),this)}randomizationFactor(ue){var eo;return ue===void 0?this._randomizationFactor:(this._randomizationFactor=ue,(eo=this.backoff)===null||eo===void 0||eo.setJitter(ue),this)}reconnectionDelayMax(ue){var eo;return ue===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=ue,(eo=this.backoff)===null||eo===void 0||eo.setMax(ue),this)}timeout(ue){return arguments.length?(this._timeout=ue,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(ue){if(~this._readyState.indexOf("open"))return this;this.engine=new Socket$1(this.uri,this.opts);const eo=this.engine,no=this;this._readyState="opening",this.skipReconnect=!1;const ro=on$1(eo,"open",function(){no.onopen(),ue&&ue()}),oo=ao=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",ao),ue?ue(ao):this.maybeReconnectOnOpen()},io=on$1(eo,"error",oo);if(this._timeout!==!1){const ao=this._timeout,so=this.setTimeoutFn(()=>{ro(),oo(new Error("timeout")),eo.close()},ao);this.opts.autoUnref&&so.unref(),this.subs.push(()=>{this.clearTimeoutFn(so)})}return this.subs.push(ro),this.subs.push(io),this}connect(ue){return this.open(ue)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const ue=this.engine;this.subs.push(on$1(ue,"ping",this.onping.bind(this)),on$1(ue,"data",this.ondata.bind(this)),on$1(ue,"error",this.onerror.bind(this)),on$1(ue,"close",this.onclose.bind(this)),on$1(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(ue){try{this.decoder.add(ue)}catch(eo){this.onclose("parse error",eo)}}ondecoded(ue){nextTick(()=>{this.emitReserved("packet",ue)},this.setTimeoutFn)}onerror(ue){this.emitReserved("error",ue)}socket(ue,eo){let no=this.nsps[ue];return no?this._autoConnect&&!no.active&&no.connect():(no=new Socket(this,ue,eo),this.nsps[ue]=no),no}_destroy(ue){const eo=Object.keys(this.nsps);for(const no of eo)if(this.nsps[no].active)return;this._close()}_packet(ue){const eo=this.encoder.encode(ue);for(let no=0;no<eo.length;no++)this.engine.write(eo[no],ue.options)}cleanup(){this.subs.forEach(ue=>ue()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(ue,eo){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",ue,eo),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const ue=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const eo=this.backoff.duration();this._reconnecting=!0;const no=this.setTimeoutFn(()=>{ue.skipReconnect||(this.emitReserved("reconnect_attempt",ue.backoff.attempts),!ue.skipReconnect&&ue.open(ro=>{ro?(ue._reconnecting=!1,ue.reconnect(),this.emitReserved("reconnect_error",ro)):ue.onreconnect()}))},eo);this.opts.autoUnref&&no.unref(),this.subs.push(()=>{this.clearTimeoutFn(no)})}}onreconnect(){const ue=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",ue)}}const cache$1={};function lookup(to,ue){typeof to=="object"&&(ue=to,to=void 0),ue=ue||{};const eo=url$1(to,ue.path||"/socket.io"),no=eo.source,ro=eo.id,oo=eo.path,io=cache$1[ro]&&oo in cache$1[ro].nsps,ao=ue.forceNew||ue["force new connection"]||ue.multiplex===!1||io;let so;return ao?so=new Manager(no,ue):(cache$1[ro]||(cache$1[ro]=new Manager(no,ue)),so=cache$1[ro]),eo.query&&!ue.query&&(ue.query=eo.queryKey),so.socket(eo.path,ue)}Object.assign(lookup,{Manager,Socket,io:lookup,connect:lookup});const DefaultOptions={heartbeat:!0},createWebsocket=(to,ue=DefaultOptions)=>{if(!to)throw"A websocket path must be provided";const{heartbeat:eo}={...DefaultOptions,...ue},no=location.protocol==="https:",ro=no?"wss:":"ws:",oo=location.hostname,io=location.port||(no?443:80);let ao=lookup(`${ro}//${oo}:${io}`,{path:to,reconnectionAttempts:3,reconnectionDelay:5e3,reconnectionDelayMax:5e3,timeout:4e3,transports:["websocket"]}),so;return eo&&(so=setInterval(()=>{ao.emit(SocketEvent.Heartbeat)},SocketSessionTTL*500)),ao.on("disconnect",()=>{clearInterval(so)}),ao.onOther=(lo,co)=>{ao.on(lo,uo=>{(uo==null?void 0:uo.apiSessionId)!==APISessionID&&co(uo)})},ao},defaultColors={keyColor:"dimgray",numberColor:"lightskyblue",stringColor:"lightcoral",trueColor:"lightseagreen",falseColor:"#f66578",nullColor:"cornflowerblue"},entityMap={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`","=":"="};function escapeHtml(to){return String(to).replace(/[&<>"'`=]/g,function(ue){return entityMap[ue]})}function format$1(to,ue={}){const eo=typeof to;let no=typeof to=="string"?to:JSON.stringify(to,null,2)||eo,ro=Object.assign({},defaultColors,ue);return no=no.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),no.replace(/("(\\u[a-zA-Z0-9]{4}|\\[^u]|[^\\"])*"(\s*:)?|\b(true|false|null)\b|-?\d+(?:\.\d*)?(?:[eE][+]?\d+)?)/g,oo=>{let io=ro.numberColor,ao="";return/^"/.test(oo)?/:$/.test(oo)?io=ro.keyColor:(io=ro.stringColor,oo='"'+escapeHtml(oo.substr(1,oo.length-2))+'"',ao="word-wrap:break-word;white-space:pre-wrap;"):io=/true/.test(oo)?ro.trueColor:/false/.test(oo)?ro.falseColor:/null/.test(oo)?ro.nullColor:io,`<span style="${ao}color:${io}">${oo}</span>`})}const extractFileNameRegex=/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;function downloadText(to,ue){typeof ue=="object"&&(ue=JSON.stringify(ue));const eo=new Blob([ue],{type:"plain/text"}),no=URL.createObjectURL(eo),ro=document.createElement("a");ro.href=no,ro.download=to,ro.click(),URL.revokeObjectURL(no)}async function downloadStream(to){const ue=await to.blob(),eo=to.headers.get("Content-Disposition"),ro=extractFileNameRegex.exec(eo)[1].replace(/['"]/g,""),oo=new Blob([ue]),io=URL.createObjectURL(oo),ao=document.createElement("a");ao.href=io,ao.download=ro,ao.click(),URL.revokeObjectURL(io)}async function downloadFile(to,ue){const eo=await fetch(to,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ue)});if(eo.ok){const no=eo.headers.get("Content-Disposition"),oo=extractFileNameRegex.exec(no)[1].replace(/['"]/g,""),io=URL.createObjectURL(await eo.blob()),ao=document.createElement("a");return ao.href=io,ao.download=oo,ao.click(),URL.revokeObjectURL(io),!0}else return!1}const shouldDisplaySetting=(to,ue)=>{let eo=ue.dependsOn;return eo&&!Array.isArray(eo)&&(eo=[eo]),eo!=null&&eo.length?eo.every(no=>{let ro=no,oo=null,io=!!no.invert;if(typeof no=="object"&&(ro=no.setting,oo=no.value),!ro)return!1;Array.isArray(oo)||(oo=[oo]);const ao=deepGet$1(to,ro);return oo.some(lo=>lo==null?ao!=null&&ao!==!1&&ao!=="":lo===ao)!==io}):!0},columnTypeManyTypeOverrides={[FieldType.DATETIME]:FieldType.STRING,[FieldType.BOOLEAN]:FieldType.STRING,[FieldType.SIGNATURE_SINGLE]:FieldType.ATTACHMENTS},columnTypeManyParser={[FieldType.DATETIME]:(to,ue)=>{function eo(no){const{timeOnly:ro,dateOnly:oo}=ue||{},io=!oo,ao=parseDate(no,{enableTime:io});return getDateDisplayValue(ao,{enableTime:io,timeOnly:ro})}return to.map(no=>eo(no))},[FieldType.BOOLEAN]:to=>to.map(ue=>!!ue),[FieldType.BB_REFERENCE_SINGLE]:to=>[...new Map(to.map(ue=>[ue._id,ue])).values()],[FieldType.BB_REFERENCE]:to=>[...new Map(to.map(ue=>[ue._id,ue])).values()],[FieldType.ARRAY]:to=>Array.from(new Set(to))};function enrichSchemaWithRelColumns(to){return Object.keys(to).reduce((eo,no)=>{const ro=to[no];if(eo[no]=ro,ro.visible!==!1&&isRelationshipField(ro)&&ro.columns){const oo=(ro==null?void 0:ro.relationshipType)===RelationshipType.ONE_TO_MANY;for(const io of Object.keys(ro.columns)){const ao=ro.columns[io];if(!ao.visible)continue;const so=`${ro.name}.${io}`;eo[so]={...ao,type:ao.type,name:so,related:{field:no,subField:io},cellRenderType:!oo&&columnTypeManyTypeOverrides[ao.type]||ao.type}}}return eo},{})}function getRelatedTableValues(to,ue,eo){var oo,io,ao,so;const no=isRelationshipField(eo)&&(eo==null?void 0:eo.relationshipType)===RelationshipType.ONE_TO_MANY;let ro="";if(no)ro=(io=(oo=to[ue.related.field])==null?void 0:oo[0])==null?void 0:io[ue.related.subField];else{const lo=columnTypeManyParser[ue.type]||(fo=>fo),co=(so=(ao=to[ue.related.field])==null?void 0:ao.flatMap(fo=>fo[ue.related.subField]))==null?void 0:so.filter(fo=>fo!=null),uo=lo(co||[],ue);ro=uo,[FieldType.STRING,FieldType.NUMBER,FieldType.BIGINT,FieldType.BOOLEAN,FieldType.DATETIME,FieldType.LONGFORM,FieldType.BARCODEQR].includes(ue.type)&&(ro=uo==null?void 0:uo.join(", "))}return ro}function canBeDisplayColumn(to){return!(!canBeDisplayColumn$1(to.type)||to.related)}function canBeSortColumn(to){return to.calculationType?!0:!(!canBeSortColumn$1(to.type)||to.related)}const{buildQuery,limit:queryLimit,runQuery,sort:sort$2}=QueryUtils;class BaseDataFetch{constructor(ue){pc(this,"API");pc(this,"features");pc(this,"options");pc(this,"store");pc(this,"derivedStore");if(this.features={supportsSearch:!1,supportsSort:!1,supportsPagination:!1},this.options={datasource:ue.datasource,limit:10,filter:null,query:ue.query,sortColumn:null,sortOrder:SortOrder.ASCENDING,sortType:null,paginate:!0,clientSideSearching:!0,clientSideSorting:!0,clientSideLimiting:!0},this.store=writable({rows:[],info:null,schema:null,loading:!1,loaded:!1,query:ue.query,pageNumber:0,cursor:null,cursors:[],resetKey:Math.random().toString(),error:null}),this.API=ue==null?void 0:ue.API,this.options={...this.options,...ue},!this.API)throw"An API client is required for fetching data";if(this.getData=this.getData.bind(this),this.getPage=this.getPage.bind(this),this.getInitialData=this.getInitialData.bind(this),this.determineFeatureFlags=this.determineFeatureFlags.bind(this),this.refresh=this.refresh.bind(this),this.update=this.update.bind(this),this.hasNextPage=this.hasNextPage.bind(this),this.hasPrevPage=this.hasPrevPage.bind(this),this.nextPage=this.nextPage.bind(this),this.prevPage=this.prevPage.bind(this),this.derivedStore=derived(this.store,eo=>({...eo,...this.features,hasNextPage:this.hasNextPage(eo),hasPrevPage:this.hasPrevPage(eo)})),!this.options.datasource){this.store.update(eo=>({...eo,loaded:!0}));return}}get subscribe(){return this.derivedStore.subscribe}getDefaultSortColumn(ue,eo){return ue!=null&&ue.primaryDisplay&&eo[ue.primaryDisplay]?ue.primaryDisplay:Object.keys(eo)[0]}async getInitialData(){const{filter:ue,paginate:eo}=this.options,no=await this.getDefinition(),ro=await this.determineFeatureFlags();this.features={supportsSearch:!!(ro!=null&&ro.supportsSearch),supportsSort:!!(ro!=null&&ro.supportsSort),supportsPagination:eo&&!!(ro!=null&&ro.supportsPagination)};let oo=this.getSchema(no);if(!oo)return;if(oo=this.enrichSchema(oo),this.options.sortColumn&&!oo[this.options.sortColumn]&&(this.options.sortColumn=null),this.options.sortColumn||(this.options.sortColumn=this.getDefaultSortColumn(no,oo)),!this.options.sortColumn)this.options.sortOrder=SortOrder.ASCENDING,this.options.sortType=null;else{this.options.sortType=SortType.STRING;const so=oo==null?void 0:oo[this.options.sortColumn];((so==null?void 0:so.type)===FieldType.NUMBER||(so==null?void 0:so.type)===FieldType.BIGINT||"calculationType"in so&&(so!=null&&so.calculationType))&&(this.options.sortType=SortType.NUMBER),this.options.sortOrder?this.options.sortOrder=this.options.sortOrder.toLowerCase():this.options.sortOrder=SortOrder.ASCENDING}let io=this.options.query;io||(io=buildQuery(ue??void 0)),this.store.update(so=>({...so,definition:no,schema:oo,query:io,loading:!0,cursors:[],cursor:null}));const ao=await this.getPage();this.store.update(so=>({...so,loading:!1,loaded:!0,pageNumber:0,rows:ao.rows,info:ao.info,cursors:eo&&ao.hasNextPage?[null,ao.cursor]:[null],error:ao.error,resetKey:Math.random().toString()}))}async getPage(){const{sortColumn:ue,sortOrder:eo,sortType:no,limit:ro,clientSideSearching:oo,clientSideSorting:io,clientSideLimiting:ao}=this.options,{query:so}=get_store_value(this.store);let{rows:lo,info:co,hasNextPage:uo,cursor:fo,error:po}=await this.getData();return!this.features.supportsSearch&&oo&&(lo=runQuery(lo,so)),!this.features.supportsSort&&io&&no&&(lo=sort$2(lo,ue,eo,no)),!this.features.supportsPagination&&ao&&(lo=queryLimit(lo,ro)),{rows:lo,info:co,hasNextPage:uo,cursor:fo,error:po}}getSchema(ue){return(ue==null?void 0:ue.schema)??void 0}enrichSchema(ue){let eo={};for(const ro of Object.keys(ue)){const oo=ue[ro];if(oo.type===FieldType.JSON){const io=convertJSONSchemaToTableSchema(oo,{squashObjects:!0});if(io)for(const ao of Object.keys(io))eo[`${ro}.${ao}`]={type:io[ao].type,nestedJSON:!0}}}let no={};return Object.entries({...ue,...eo}).forEach(([ro,oo])=>{typeof oo=="string"?no[ro]={type:oo,name:ro}:no[ro]={...oo,type:oo.type,name:ro}}),no}async determineFeatureFlags(){return{supportsSearch:!1,supportsSort:!1,supportsPagination:!1}}async update(ue){let eo=!1;for(const[no,ro]of Object.entries(ue||{})){const oo=this.options[no]??null;if(JSON.stringify(ro??null)!==JSON.stringify(oo)){eo=!0;break}}eo&&(this.options={...this.options,...fp$1.cloneDeep(ue)},await this.getInitialData())}async refresh(){if(get_store_value(this.store).loading)return;this.store.update(so=>({...so,loading:!0}));const{rows:ue,info:eo,error:no,cursor:ro}=await this.getPage();let{cursors:oo}=get_store_value(this.store);const{pageNumber:io}=get_store_value(this.store);if(!ue.length&&io>0)return this.store.update(so=>({...so,loading:!1,cursors:oo.slice(0,io)})),await this.prevPage();oo[io+1]!=ro&&(oo=oo.slice(0,io+1),oo[io+1]=ro),this.store.update(so=>({...so,rows:ue,info:eo,loading:!1,error:no,cursors:oo}))}hasNextPage(ue){return ue.cursors[ue.pageNumber+1]!=null}hasPrevPage(ue){return ue.pageNumber>0}async nextPage(){const ue=get_store_value(this.derivedStore);if(ue.loading||!this.options.paginate||!ue.hasNextPage)return;const eo=ue.cursors[ue.pageNumber+1];this.store.update(so=>({...so,loading:!0,cursor:eo,pageNumber:so.pageNumber+1}));const{rows:no,info:ro,hasNextPage:oo,cursor:io,error:ao}=await this.getPage();this.store.update(so=>{let{cursors:lo,pageNumber:co}=so;return oo&&(lo[co+1]=io),{...so,rows:no,info:ro,cursors:lo,loading:!1,error:ao}})}async prevPage(){const ue=get_store_value(this.derivedStore);if(ue.loading||!this.options.paginate||!ue.hasPrevPage)return;const eo=ue.cursors[ue.pageNumber-1];this.store.update(io=>({...io,loading:!0,cursor:eo,pageNumber:io.pageNumber-1}));const{rows:no,info:ro,error:oo}=await this.getPage();this.store.update(io=>({...io,rows:no,info:ro,loading:!1,error:oo}))}}class TableFetch extends BaseDataFetch{async determineFeatureFlags(){return{supportsSearch:!0,supportsSort:!0,supportsPagination:!0}}async getDefinition(){const{datasource:ue}=this.options;if(!(ue!=null&&ue.tableId))return null;try{return await this.API.fetchTableDefinition(ue.tableId)}catch(eo){return this.store.update(no=>({...no,error:eo})),null}}async getData(){const{datasource:ue,limit:eo,sortColumn:no,sortOrder:ro,sortType:oo,paginate:io}=this.options,{tableId:ao}=ue,{cursor:so,query:lo}=get_store_value(this.store);try{const co=await this.API.searchTable(ao,{query:lo,limit:eo,sort:no,sortOrder:ro??SortOrder.ASCENDING,sortType:oo,paginate:io,bookmark:so});return{rows:(co==null?void 0:co.rows)||[],hasNextPage:(co==null?void 0:co.hasNextPage)||!1,cursor:(co==null?void 0:co.bookmark)||null}}catch(co){return{rows:[],hasNextPage:!1,error:co}}}}class ViewFetch extends BaseDataFetch{async getDefinition(){const{datasource:ue}=this.options;if(!(ue!=null&&ue.tableId))return null;try{return await this.API.fetchTableDefinition(ue.tableId)}catch(eo){return this.store.update(no=>({...no,error:eo})),null}}getSchema(ue){var no,ro;const{datasource:eo}=this.options;return(ro=(no=ue==null?void 0:ue.views)==null?void 0:no[eo==null?void 0:eo.name])==null?void 0:ro.schema}async getData(){const{datasource:ue}=this.options;try{return{rows:await this.API.fetchViewData(ue.name,{calculation:ue.calculation,field:ue.field,groupBy:ue.groupBy,tableId:ue.tableId})||[]}}catch(eo){return console.error(eo,{datasource:ue}),{rows:[]}}}}class ViewV2Fetch extends BaseDataFetch{async determineFeatureFlags(){return{supportsSearch:!0,supportsSort:!0,supportsPagination:!0}}async getDefinition(){const{datasource:ue}=this.options;try{const eo=await this.API.viewV2.fetchDefinition(ue.id);return eo==null?void 0:eo.data}catch(eo){return this.store.update(no=>({...no,error:eo})),null}}getDefaultSortColumn(){return null}async getData(){var co;const{datasource:ue,limit:eo,sortColumn:no,sortOrder:ro,sortType:oo,paginate:io}=this.options,{cursor:ao,query:so,definition:lo}=get_store_value(this.store);if((lo==null?void 0:lo.type)===ViewV2Type.CALCULATION&&!Object.values(lo.schema||{}).some(isCalculationField))return{rows:[],hasNextPage:!1,cursor:null,error:null};!no&&((co=lo==null?void 0:lo.sort)!=null&&co.field)&&(this.options.sortColumn=lo.sort.field,this.options.sortOrder=lo.sort.order||SortOrder.ASCENDING);try{const uo={query:so,paginate:io,limit:eo,bookmark:ao,sort:no,sortOrder:ro,sortType:oo};if(io){const fo=await this.API.viewV2.fetch(ue.id,{...uo,paginate:io});return{rows:(fo==null?void 0:fo.rows)||[],hasNextPage:(fo==null?void 0:fo.hasNextPage)||!1,cursor:(fo==null?void 0:fo.bookmark)||null}}else{const fo=await this.API.viewV2.fetch(ue.id,{...uo,paginate:io});return{rows:(fo==null?void 0:fo.rows)||[],hasNextPage:!1,cursor:null}}}catch(uo){return{rows:[],hasNextPage:!1,cursor:null,error:uo}}}}class QueryFetch extends BaseDataFetch{async determineFeatureFlags(){var no,ro,oo,io,ao,so;const ue=await this.getDefinition();return{supportsPagination:!!((ro=(no=ue==null?void 0:ue.fields)==null?void 0:no.pagination)!=null&&ro.type)&&!!((io=(oo=ue==null?void 0:ue.fields)==null?void 0:oo.pagination)!=null&&io.location)&&!!((so=(ao=ue==null?void 0:ue.fields)==null?void 0:ao.pagination)!=null&&so.pageParam)}}async getDefinition(){const{datasource:ue}=this.options;if(!(ue!=null&&ue._id))return null;try{const eo=await this.API.fetchQueryDefinition(ue._id);return eo.fields||(eo.fields=ue.fields),eo}catch{return null}}getDefaultSortColumn(){return null}async getData(){var co,uo;const{datasource:ue,limit:eo,paginate:no}=this.options,{supportsPagination:ro}=this.features,{cursor:oo,definition:io}=get_store_value(this.store),ao=(uo=(co=io==null?void 0:io.fields)==null?void 0:co.pagination)==null?void 0:uo.type,so=cloneDeep(ue.queryParams||{});for(const fo of(ue==null?void 0:ue.parameters)||[])so[fo.name]||(so[fo.name]=fo.default);const lo={parameters:so};if(no&&ro){const fo=ao==="page"?parseInt(oo||"1"):oo;lo.pagination={page:fo,limit:eo}}try{const fo=await this.API.executeQuery(ue==null?void 0:ue._id,lo),{data:po,pagination:ho,..._o}=fo;let go=null,bo=!1;return no&&ro&&(ao==="page"?(go=lo.pagination.page+1,bo=(po==null?void 0:po.length)===eo&&eo>0):(go=ho==null?void 0:ho.cursor,bo=go!=null)),{rows:po||[],info:_o,cursor:go,hasNextPage:bo}}catch{return{rows:[],hasNextPage:!1}}}}class RelationshipFetch extends BaseDataFetch{async getDefinition(){const{datasource:ue}=this.options;if(!(ue!=null&&ue.tableId))return null;try{return await this.API.fetchTableDefinition(ue.tableId)}catch(eo){return this.store.update(no=>({...no,error:eo})),null}}async getData(){const{datasource:ue}=this.options;if(!(ue!=null&&ue.rowId)||!(ue!=null&&ue.rowTableId))return{rows:[]};try{return{rows:await this.API.fetchRelationshipData(ue.rowTableId,ue.rowId,ue.fieldName)}}catch{return{rows:[]}}}}class NestedProviderFetch extends BaseDataFetch{async getDefinition(){var eo,no;const{datasource:ue}=this.options;return{schema:(eo=ue==null?void 0:ue.value)==null?void 0:eo.schema,primaryDisplay:(no=ue==null?void 0:ue.value)==null?void 0:no.primaryDisplay}}async getData(){var eo;const{datasource:ue}=this.options;return{rows:((eo=ue==null?void 0:ue.value)==null?void 0:eo.rows)||[],hasNextPage:!1,cursor:null}}}function isArrayOfStrings(to){return Array.isArray(to)&&!!to[0]&&typeof to[0]!="object"}class FieldFetch extends BaseDataFetch{async getDefinition(){const{datasource:ue}=this.options;let eo;return ue.fieldType==="attachment"?eo={url:{type:"string"},name:{type:"string"}}:ue.fieldType==="array"&&(eo={value:{type:"string"}}),{schema:eo}}async getData(){const{datasource:ue}=this.options,eo=(ue==null?void 0:ue.value)||[];let no;return isArrayOfStrings(eo)?no=eo.map(ro=>({value:ro})):no=eo,{rows:no||[],hasNextPage:!1,cursor:null}}}class JSONArrayFetch extends FieldFetch{async getDefinition(){const{datasource:ue}=this.options;try{const eo=await this.API.fetchTableDefinition(ue.tableId);return{schema:getJSONArrayDatasourceSchema(eo==null?void 0:eo.schema,ue)}}catch{return null}}}class UserFetch extends BaseDataFetch{constructor(ue){super({...ue,datasource:{type:"user",tableId:InternalTable.USER_METADATA}})}async determineFeatureFlags(){return{supportsSearch:!0,supportsSort:!1,supportsPagination:!0}}async getDefinition(){return{schema:{}}}async getData(){const{limit:ue,paginate:eo}=this.options,{cursor:no,query:ro}=get_store_value(this.store),{appId:oo,paginated:io,...ao}=ro,so=isSupportedUserSearch(ao)?ao:{};try{const lo={bookmark:no??void 0,query:so??void 0,appId:oo,paginate:io||eo,limit:ue},co=await this.API.searchUsers(lo);return{rows:(co==null?void 0:co.data)||[],hasNextPage:(co==null?void 0:co.hasNextPage)||!1,cursor:(co==null?void 0:co.nextPage)||null}}catch(lo){return{rows:[],hasNextPage:!1,error:lo}}}}class GroupUserFetch extends BaseDataFetch{constructor(ue){super({...ue,datasource:{type:"groupUser",tableId:InternalTable.USER_METADATA}})}async determineFeatureFlags(){return{supportsSearch:!0,supportsSort:!1,supportsPagination:!0}}async getDefinition(){return{schema:{}}}async getData(){const{query:ue,cursor:eo}=get_store_value(this.store);try{const no=await this.API.getGroupUsers({id:ue.groupId,emailSearch:ue.emailSearch,bookmark:eo??void 0});return{rows:(no==null?void 0:no.users)||[],hasNextPage:(no==null?void 0:no.hasNextPage)||!1,cursor:(no==null?void 0:no.bookmark)||null}}catch(no){return{rows:[],hasNextPage:!1,error:no}}}}class CustomFetch extends BaseDataFetch{getType(ue){return ue==null?"string":typeof ue==="object"?Array.isArray(ue)?"array":"json":isNaN(ue)?"string":"number"}parseCustomData(ue){if(!ue)return[];if(Array.isArray(ue))return ue;if(typeof ue=="string"){try{const eo=JSON.parse(ue);return Array.isArray(eo)?eo:[eo]}catch{}return ue.includes(`
|
|
476
476
|
`)?ue.split(`
|
|
477
477
|
`).map(eo=>eo.trim()):ue.split(",").map(eo=>eo.trim())}return[ue]}enrichCustomData(ue){return ue!=null&&ue.length?(ue=ue.filter(eo=>eo!=null&&eo!==""&&!Array.isArray(eo)),ue.map(eo=>{if(typeof eo=="object")return eo;if(typeof eo=="string"){const no=eo.split(",").map(oo=>oo.trim()),ro={};for(let oo=0;oo<no.length;oo++){const ao=`Value${oo===0?"":` ${oo+1}`}`;ro[ao]=no[oo]}return ro}return{Value:eo}})):[]}getCustomData(ue){return this.enrichCustomData(this.parseCustomData(ue==null?void 0:ue.data))}async getDefinition(){const{datasource:ue}=this.options,eo={},no=this.getCustomData(ue);if(!(no!=null&&no.length))return{schema:eo};for(const ro of no)for(const oo of Object.keys(ro))if(oo!=="_id"&&!eo[oo]){let io=this.getType(ro[oo]);const ao={};if(io==="string"){const so=[...new Set(no.map(co=>co[oo]))];so.length/no.length<=.8&&so.length>1&&(io="options",ao.inclusion=so)}else io==="array"&&(ao.inclusion=[...new Set(no.map(so=>so[oo]).flat())]);eo[oo]={type:io,constraints:ao}}return{schema:eo}}async getData(){const{datasource:ue}=this.options;return{rows:this.getCustomData(ue),hasNextPage:!1,cursor:null}}}class QueryArrayFetch extends FieldFetch{async getDefinition(){const{datasource:ue}=this.options;if(!(ue!=null&&ue.tableId))return null;try{const eo=await this.API.fetchQueryDefinition(ue.tableId),no=generateQueryArraySchemas(eo.schema,eo.nestedSchemaFields);return{schema:getJSONArrayDatasourceSchema(no,ue)}}catch{return null}}}const DataFetchMap={table:TableFetch,view:ViewFetch,viewV2:ViewV2Fetch,query:QueryFetch,link:RelationshipFetch,user:UserFetch,groupUser:GroupUserFetch,custom:CustomFetch,provider:NestedProviderFetch,field:FieldFetch,jsonarray:JSONArrayFetch,queryarray:QueryArrayFetch},fetchData=({API:to,datasource:ue,options:eo})=>{const no=DataFetchMap[ue==null?void 0:ue.type]||TableFetch,ro=new no({API:to,datasource:ue,...eo});return ro.getInitialData(),ro},createEmptyFetchInstance=({API:to,datasource:ue})=>{const eo=DataFetchMap[ue==null?void 0:ue.type];return eo?new eo({API:to,datasource:ue,query:null}):null},getDatasourceDefinition=async({API:to,datasource:ue})=>{const eo=createEmptyFetchInstance({API:to,datasource:ue});return await(eo==null?void 0:eo.getDefinition())},getDatasourceSchema=({API:to,datasource:ue,definition:eo})=>{const no=createEmptyFetchInstance({API:to,datasource:ue});return no==null?void 0:no.getSchema(eo)},createLocalStorageStore=(to,ue)=>{const eo=writable(ue,()=>{oo();const io=({key:ao})=>ao===to&&oo();return window.addEventListener("storage",io),()=>window.removeEventListener("storage",io)}),no=io=>{eo.set(io),localStorage.setItem(to,JSON.stringify(io))},ro=io=>no(io(get_store_value(eo))),oo=()=>{const io=localStorage.getItem(to);if(io==null)no(ue);else try{eo.set(JSON.parse(io))}catch{no(ue)}};return{...eo,set:no,update:ro}},createSessionStorageStore=(to,ue)=>{const eo=writable(ue,()=>{oo();const io=({key:ao})=>ao===to&&oo();return window.addEventListener("storage",io),()=>window.removeEventListener("storage",io)}),no=io=>{eo.set(io),sessionStorage.setItem(to,JSON.stringify(io))},ro=io=>no(io(get_store_value(eo))),oo=()=>{const io=sessionStorage.getItem(to);if(io==null)no(ue);else try{eo.set(JSON.parse(io))}catch{no(ue)}};return{...eo,set:no,update:ro}},BG="/builder/assets/bg-29e85dd5.png",SplitPage_svelte_svelte_type_style_lang="",get_right_slot_changes$1=to=>({}),get_right_slot_context$1=to=>({});function create_fragment$a5(to){let ue,eo,no,ro,oo,io,ao,so,lo;const co=to[1].default,uo=create_slot(co,to,to[0],null),fo=to[1].right,po=create_slot(fo,to,to[0],get_right_slot_context$1);return{c(){ue=element("div"),eo=element("div"),no=element("div"),uo&&uo.c(),ro=space$1(),oo=element("div"),io=element("img"),so=space$1(),po&&po.c(),attr(no,"class","content svelte-63esek"),attr(eo,"class","left svelte-63esek"),src_url_equal(io.src,ao=BG)||attr(io,"src",ao),attr(io,"alt"," "),attr(io,"class","svelte-63esek"),attr(oo,"class","right spectrum spectrum--darkest svelte-63esek"),attr(ue,"class","split-page svelte-63esek")},m(ho,_o){insert$1(ho,ue,_o),append$2(ue,eo),append$2(eo,no),uo&&uo.m(no,null),append$2(ue,ro),append$2(ue,oo),append$2(oo,io),append$2(oo,so),po&&po.m(oo,null),lo=!0},p(ho,[_o]){uo&&uo.p&&(!lo||_o&1)&&update_slot_base(uo,co,ho,ho[0],lo?get_slot_changes(co,ho[0],_o,null):get_all_dirty_from_scope(ho[0]),null),po&&po.p&&(!lo||_o&1)&&update_slot_base(po,fo,ho,ho[0],lo?get_slot_changes(fo,ho[0],_o,get_right_slot_changes$1):get_all_dirty_from_scope(ho[0]),get_right_slot_context$1)},i(ho){lo||(transition_in(uo,ho),transition_in(po,ho),lo=!0)},o(ho){transition_out(uo,ho),transition_out(po,ho),lo=!1},d(ho){ho&&detach(ue),uo&&uo.d(ho),po&&po.d(ho)}}}function instance$a2(to,ue,eo){let{$$slots:no={},$$scope:ro}=ue;return to.$$set=oo=>{"$$scope"in oo&&eo(0,ro=oo.$$scope)},[ro,no]}class SplitPage extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$a2,create_fragment$a5,safe_not_equal,{})}}const Bulgaria="/builder/assets/bulgaria-bd68393d.png",Covanta="/builder/assets/covanta-72c46c1e.png",Schnellecke="/builder/assets/schnellecke-cf1837a8.png",Testimonial_svelte_svelte_type_style_lang="";function create_default_slot$6c(to){let ue,eo,no,ro,oo,io,ao,so,lo;return{c(){ue=element("img"),no=space$1(),ro=element("div"),ro.textContent=`"${to[0].text}"`,oo=space$1(),io=element("div"),ao=element("div"),ao.textContent=`${to[0].name}`,so=space$1(),lo=element("div"),lo.textContent=`${to[0].role}`,attr(ue,"width",to[0].imageSize),attr(ue,"alt","a-happy-budibase-user"),src_url_equal(ue.src,eo=to[0].image)||attr(ue,"src",eo),attr(ro,"class","text svelte-1rdu21t"),attr(ao,"class","name svelte-1rdu21t"),attr(lo,"class","company svelte-1rdu21t"),attr(io,"class","author")},m(co,uo){insert$1(co,ue,uo),insert$1(co,no,uo),insert$1(co,ro,uo),insert$1(co,oo,uo),insert$1(co,io,uo),append$2(io,ao),append$2(io,so),append$2(io,lo)},p:noop$6,d(co){co&&(detach(ue),detach(no),detach(ro),detach(oo),detach(io))}}}function create_fragment$a4(to){let ue,eo,no;return eo=new Layout$n({props:{noPadding:!0,gap:"S",$$slots:{default:[create_default_slot$6c]},$$scope:{ctx:to}}}),{c(){ue=element("div"),create_component(eo.$$.fragment),attr(ue,"class","testimonial svelte-1rdu21t")},m(ro,oo){insert$1(ro,ue,oo),mount_component(eo,ue,null),no=!0},p(ro,[oo]){const io={};oo&4&&(io.$$scope={dirty:oo,ctx:ro}),eo.$set(io)},i(ro){no||(transition_in(eo.$$.fragment,ro),no=!0)},o(ro){transition_out(eo.$$.fragment,ro),no=!1},d(ro){ro&&detach(ue),destroy_component(eo)}}}function instance$a1(to){return[[{text:"Budibase was the only solution that checked all the boxes for Covanta. Covanta expects to realize $3.2MM in savings due to the elimination of redundant data entry.",name:"Charles Link",role:"Senior Director, Data and Analytics",image:Covanta,imageSize:105},{text:"Budibase was mission-critical for us and went a long way in preventing what could have become a humanitarian crisis here in Bulgaria.",name:"Bozhidar Bozhanov",role:"Government of Bulgaria",image:Bulgaria,imageSize:49},{text:"Centralization of authentication, quick turnaround time for requests, integration with different database systems has given it the edge and it’s now used daily for internal development for those apps that you know you need but don’t feel value in losing days of development to reinvent the wheel.",name:"Davide Lenzarini",role:"IT manager",image:Schnellecke,imageSize:141}][Math.floor(Math.random()*3)]]}class Testimonial extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$a1,create_fragment$a4,safe_not_equal,{})}}const TestimonialPage_svelte_svelte_type_style_lang="";function create_default_slot$6b(to){let ue;const eo=to[1].default,no=create_slot(eo,to,to[2],null);return{c(){no&&no.c()},m(ro,oo){no&&no.m(ro,oo),ue=!0},p(ro,oo){no&&no.p&&(!ue||oo&4)&&update_slot_base(no,eo,ro,ro[2],ue?get_slot_changes(eo,ro[2],oo,null):get_all_dirty_from_scope(ro[2]),null)},i(ro){ue||(transition_in(no,ro),ue=!0)},o(ro){transition_out(no,ro),ue=!1},d(ro){no&&no.d(ro)}}}function create_if_block$4J(to){let ue,eo;return ue=new Testimonial({}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_right_slot$3(to){let ue,eo,no=to[0]&&create_if_block$4J();return{c(){ue=element("div"),no&&no.c(),attr(ue,"slot","right"),attr(ue,"class","svelte-1ow1lgm"),toggle_class(ue,"wrapper",to[0])},m(ro,oo){insert$1(ro,ue,oo),no&&no.m(ue,null),eo=!0},p(ro,oo){ro[0]?no?oo&1&&transition_in(no,1):(no=create_if_block$4J(),no.c(),transition_in(no,1),no.m(ue,null)):no&&(group_outros(),transition_out(no,1,1,()=>{no=null}),check_outros()),(!eo||oo&1)&&toggle_class(ue,"wrapper",ro[0])},i(ro){eo||(transition_in(no),eo=!0)},o(ro){transition_out(no),eo=!1},d(ro){ro&&detach(ue),no&&no.d()}}}function create_fragment$a3(to){let ue,eo;return ue=new SplitPage({props:{$$slots:{right:[create_right_slot$3],default:[create_default_slot$6b]},$$scope:{ctx:to}}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,[ro]){const oo={};ro&5&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function instance$a0(to,ue,eo){let{$$slots:no={},$$scope:ro}=ue,{enabled:oo=!0}=ue;return to.$$set=io=>{"enabled"in io&&eo(0,oo=io.enabled),"$$scope"in io&&eo(2,ro=io.$$scope)},[oo,no,ro]}class TestimonialPage extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$a0,create_fragment$a3,safe_not_equal,{enabled:0})}}const SignatureModal_svelte_svelte_type_style_lang="";function create_default_slot_2$31(to){let ue,eo,no,ro={darkMode:to[3],value:to[1],saveIcon:!1};return eo=new Signature({props:ro}),to[8](eo),eo.$on("update",to[9]),{c(){ue=element("div"),create_component(eo.$$.fragment),attr(ue,"class","signature-wrap modal svelte-1jbgrys")},m(oo,io){insert$1(oo,ue,io),mount_component(eo,ue,null),no=!0},p(oo,io){const ao={};io&8&&(ao.darkMode=oo[3]),io&2&&(ao.value=oo[1]),eo.$set(ao)},i(oo){no||(transition_in(eo.$$.fragment,oo),no=!0)},o(oo){transition_out(eo.$$.fragment,oo),no=!1},d(oo){oo&&detach(ue),to[8](null),destroy_component(eo)}}}function create_default_slot_1$4d(to){let ue;return{c(){ue=text$1(to[2])},m(eo,no){insert$1(eo,ue,no)},p(eo,no){no&4&&set_data(ue,eo[2])},d(eo){eo&&detach(ue)}}}function create_header_slot$4(to){let ue,eo,no;return eo=new Body({props:{$$slots:{default:[create_default_slot_1$4d]},$$scope:{ctx:to}}}),{c(){ue=element("div"),create_component(eo.$$.fragment),attr(ue,"slot","header")},m(ro,oo){insert$1(ro,ue,oo),mount_component(eo,ue,null),no=!0},p(ro,oo){const io={};oo&4100&&(io.$$scope={dirty:oo,ctx:ro}),eo.$set(io)},i(ro){no||(transition_in(eo.$$.fragment,ro),no=!0)},o(ro){transition_out(eo.$$.fragment,ro),no=!1},d(ro){ro&&detach(ue),destroy_component(eo)}}}function create_default_slot$6a(to){let ue,eo;return ue=new ModalContent({props:{showConfirmButton:!0,showCancelButton:!1,showCloseIcon:!1,custom:!0,disabled:!to[6],showDivider:!1,onConfirm:to[10],$$slots:{header:[create_header_slot$4],default:[create_default_slot_2$31]},$$scope:{ctx:to}}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&64&&(oo.disabled=!no[6]),ro&33&&(oo.onConfirm=no[10]),ro&4206&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_fragment$a2(to){let ue,eo,no={$$slots:{default:[create_default_slot$6a]},$$scope:{ctx:to}};return ue=new Modal({props:no}),to[11](ue),{c(){create_component(ue.$$.fragment)},m(ro,oo){mount_component(ue,ro,oo),eo=!0},p(ro,[oo]){const io={};oo&4207&&(io.$$scope={dirty:oo,ctx:ro}),ue.$set(io)},i(ro){eo||(transition_in(ue.$$.fragment,ro),eo=!0)},o(ro){transition_out(ue.$$.fragment,ro),eo=!1},d(ro){to[11](null),destroy_component(ue,ro)}}}function instance$9$(to,ue,eo){let{onConfirm:no=()=>{}}=ue,{value:ro}=ue,{title:oo}=ue,{darkMode:io}=ue;const ao=()=>{eo(6,co=!1),so.show()};let so,lo,co=!1;function uo(_o){binding_callbacks[_o?"unshift":"push"](()=>{lo=_o,eo(5,lo)})}const fo=()=>{eo(6,co=!0)},po=()=>{no(lo)};function ho(_o){binding_callbacks[_o?"unshift":"push"](()=>{so=_o,eo(4,so)})}return to.$$set=_o=>{"onConfirm"in _o&&eo(0,no=_o.onConfirm),"value"in _o&&eo(1,ro=_o.value),"title"in _o&&eo(2,oo=_o.title),"darkMode"in _o&&eo(3,io=_o.darkMode)},[no,ro,oo,io,so,lo,co,ao,uo,fo,po,ho]}class SignatureModal extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$9$,create_fragment$a2,safe_not_equal,{onConfirm:0,value:1,title:2,darkMode:3,show:7})}get show(){return this.$$.ctx[7]}}function create_if_block$4I(to){let ue,eo;return ue=new AbsTooltip({props:{text:to[3]?getUserLabel(to[0]):null,position:to[2],color:getUserColor(to[0]),$$slots:{default:[create_default_slot$69]},$$scope:{ctx:to}}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&9&&(oo.text=no[3]?getUserLabel(no[0]):null),ro&4&&(oo.position=no[2]),ro&1&&(oo.color=getUserColor(no[0])),ro&19&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_default_slot$69(to){let ue,eo;return ue=new Avatar({props:{size:to[1],initials:getUserInitials(to[0]),color:getUserColor(to[0])}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&2&&(oo.size=no[1]),ro&1&&(oo.initials=getUserInitials(no[0])),ro&1&&(oo.color=getUserColor(no[0])),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_fragment$a1(to){let ue,eo,no=to[0]&&create_if_block$4I(to);return{c(){no&&no.c(),ue=empty$2()},m(ro,oo){no&&no.m(ro,oo),insert$1(ro,ue,oo),eo=!0},p(ro,[oo]){ro[0]?no?(no.p(ro,oo),oo&1&&transition_in(no,1)):(no=create_if_block$4I(ro),no.c(),transition_in(no,1),no.m(ue.parentNode,ue)):no&&(group_outros(),transition_out(no,1,1,()=>{no=null}),check_outros())},i(ro){eo||(transition_in(no),eo=!0)},o(ro){transition_out(no),eo=!1},d(ro){ro&&detach(ue),no&&no.d(ro)}}}function instance$9_(to,ue,eo){let{user:no}=ue,{size:ro="S"}=ue,{tooltipPosition:oo=TooltipPosition.Top}=ue,{showTooltip:io=!0}=ue;return to.$$set=ao=>{"user"in ao&&eo(0,no=ao.user),"size"in ao&&eo(1,ro=ao.size),"tooltipPosition"in ao&&eo(2,oo=ao.tooltipPosition),"showTooltip"in ao&&eo(3,io=ao.showTooltip)},[no,ro,oo,io]}class UserAvatar extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$9_,create_fragment$a1,safe_not_equal,{user:0,size:1,tooltipPosition:2,showTooltip:3})}}const UserAvatars_svelte_svelte_type_style_lang$1="";function get_each_context$1W(to,ue,eo){const no=to.slice();return no[8]=ue[eo],no}function create_else_block$1P(to){let ue,eo;return ue=new UserAvatar({props:{size:to[0],user:to[8],tooltipPosition:to[1]}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&1&&(oo.size=no[0]),ro&4&&(oo.user=no[8]),ro&2&&(oo.tooltipPosition=no[1]),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_if_block$4H(to){let ue,eo;return ue=new Avatar({props:{size:to[0],initials:to[8].label,color:"var(--spectrum-global-color-gray-500)"}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&1&&(oo.size=no[0]),ro&4&&(oo.initials=no[8].label),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_each_block$1W(to){let ue,eo,no,ro,oo;const io=[create_if_block$4H,create_else_block$1P],ao=[];function so(lo,co){return lo[8]._id==="overflow"?0:1}return eo=so(to),no=ao[eo]=io[eo](to),{c(){ue=element("span"),no.c(),ro=space$1(),set_style(ue,"z-index",to[8].zIndex),attr(ue,"class","svelte-1wnz660")},m(lo,co){insert$1(lo,ue,co),ao[eo].m(ue,null),append$2(ue,ro),oo=!0},p(lo,co){let uo=eo;eo=so(lo),eo===uo?ao[eo].p(lo,co):(group_outros(),transition_out(ao[uo],1,1,()=>{ao[uo]=null}),check_outros(),no=ao[eo],no?no.p(lo,co):(no=ao[eo]=io[eo](lo),no.c()),transition_in(no,1),no.m(ue,ro)),(!oo||co&4)&&set_style(ue,"z-index",lo[8].zIndex)},i(lo){oo||(transition_in(no),oo=!0)},o(lo){transition_out(no),oo=!1},d(lo){lo&&detach(ue),ao[eo].d()}}}function create_fragment$a0(to){let ue,eo,no=ensure_array_like(to[2]),ro=[];for(let io=0;io<no.length;io+=1)ro[io]=create_each_block$1W(get_each_context$1W(to,no,io));const oo=io=>transition_out(ro[io],1,1,()=>{ro[io]=null});return{c(){ue=element("div");for(let io=0;io<ro.length;io+=1)ro[io].c();attr(ue,"class","avatars svelte-1wnz660")},m(io,ao){insert$1(io,ue,ao);for(let so=0;so<ro.length;so+=1)ro[so]&&ro[so].m(ue,null);eo=!0},p(io,[ao]){if(ao&7){no=ensure_array_like(io[2]);let so;for(so=0;so<no.length;so+=1){const lo=get_each_context$1W(io,no,so);ro[so]?(ro[so].p(lo,ao),transition_in(ro[so],1)):(ro[so]=create_each_block$1W(lo),ro[so].c(),transition_in(ro[so],1),ro[so].m(ue,null))}for(group_outros(),so=no.length;so<ro.length;so+=1)oo(so);check_outros()}},i(io){if(!eo){for(let ao=0;ao<no.length;ao+=1)transition_in(ro[ao]);eo=!0}},o(io){ro=ro.filter(Boolean);for(let ao=0;ao<ro.length;ao+=1)transition_out(ro[ao]);eo=!1},d(io){io&&detach(ue),destroy_each(ro,io)}}}function instance$9Z(to,ue,eo){let no,ro,{users:oo=[]}=ue,{order:io="ltr"}=ue,{size:ao="S"}=ue,{tooltipPosition:so=TooltipPosition.Top}=ue;const lo=uo=>{let fo={};return uo==null||uo.forEach(po=>{fo[po.email]=po}),Object.values(fo)},co=(uo,fo)=>{const po=uo.slice(0,3);if(uo.length>3){const ho={_id:"overflow",label:`+${uo.length-3}`};fo==="ltr"?po.push(ho):po.unshift(ho)}return po.map((ho,_o)=>({...ho,zIndex:fo==="ltr"?_o:no.length-_o}))};return to.$$set=uo=>{"users"in uo&&eo(3,oo=uo.users),"order"in uo&&eo(4,io=uo.order),"size"in uo&&eo(0,ao=uo.size),"tooltipPosition"in uo&&eo(1,so=uo.tooltipPosition)},to.$$.update=()=>{to.$$.dirty&24&&eo(5,no=lo(oo)),to.$$.dirty&48&&eo(2,ro=co(no,io))},[ao,so,ro,oo,io,no]}let UserAvatars$1=class extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$9Z,create_fragment$a0,safe_not_equal,{users:3,order:4,size:0,tooltipPosition:1})}};const Updating_svelte_svelte_type_style_lang="";function create_else_block_1$u(to){let ue;return{c(){ue=text$1("Something went wrong!")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_if_block_1$2x(to){let ue;return{c(){ue=text$1("System update")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_else_block$1O(to){let ue,eo,no,ro,oo;return{c(){ue=text$1(`An error occurred, please try again later.
|
|
478
478
|
`),eo=element("br"),no=text$1(`
|
|
@@ -505,7 +505,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
505
505
|
* https://github.com/Starcounter-Jack/JSON-Patch
|
|
506
506
|
* (c) 2017-2021 Joachim Wester
|
|
507
507
|
* MIT license
|
|
508
|
-
*/var beforeDict=new WeakMap,Mirror=function(){function to(ue){this.observers=new Map,this.obj=ue}return to}(),ObserverInfo=function(){function to(ue,eo){this.callback=ue,this.observer=eo}return to}();function getMirror(to){return beforeDict.get(to)}function getObserverFromMirror(to,ue){return to.observers.get(ue)}function removeObserverFromMirror(to,ue){to.observers.delete(ue.callback)}function unobserve$1(to,ue){ue.unobserve()}function observe$2(to,ue){var eo=[],no,ro=getMirror(to);if(!ro)ro=new Mirror(to),beforeDict.set(to,ro);else{var oo=getObserverFromMirror(ro,ue);no=oo&&oo.observer}if(no)return no;if(no={},ro.value=_deepClone(to),ue){no.callback=ue,no.next=null;var io=function(){generate$1(no)},ao=function(){clearTimeout(no.next),no.next=setTimeout(io)};typeof window<"u"&&(window.addEventListener("mouseup",ao),window.addEventListener("keyup",ao),window.addEventListener("mousedown",ao),window.addEventListener("keydown",ao),window.addEventListener("change",ao))}return no.patches=eo,no.object=to,no.unobserve=function(){generate$1(no),clearTimeout(no.next),removeObserverFromMirror(ro,no),typeof window<"u"&&(window.removeEventListener("mouseup",ao),window.removeEventListener("keyup",ao),window.removeEventListener("mousedown",ao),window.removeEventListener("keydown",ao),window.removeEventListener("change",ao))},ro.observers.set(ue,new ObserverInfo(ue,no)),no}function generate$1(to,ue){ue===void 0&&(ue=!1);var eo=beforeDict.get(to.object);_generate(eo.value,to.object,to.patches,"",ue),to.patches.length&&applyPatch(eo.value,to.patches);var no=to.patches;return no.length>0&&(to.patches=[],to.callback&&to.callback(no)),no}function _generate(to,ue,eo,no,ro){if(ue!==to){typeof ue.toJSON=="function"&&(ue=ue.toJSON());for(var oo=_objectKeys(ue),io=_objectKeys(to),ao=!1,so=io.length-1;so>=0;so--){var lo=io[so],co=to[lo];if(hasOwnProperty$6(ue,lo)&&!(ue[lo]===void 0&&co!==void 0&&Array.isArray(ue)===!1)){var uo=ue[lo];typeof co=="object"&&co!=null&&typeof uo=="object"&&uo!=null&&Array.isArray(co)===Array.isArray(uo)?_generate(co,uo,eo,no+"/"+escapePathComponent(lo),ro):co!==uo&&(ro&&eo.push({op:"test",path:no+"/"+escapePathComponent(lo),value:_deepClone(co)}),eo.push({op:"replace",path:no+"/"+escapePathComponent(lo),value:_deepClone(uo)}))}else Array.isArray(to)===Array.isArray(ue)?(ro&&eo.push({op:"test",path:no+"/"+escapePathComponent(lo),value:_deepClone(co)}),eo.push({op:"remove",path:no+"/"+escapePathComponent(lo)}),ao=!0):(ro&&eo.push({op:"test",path:no,value:to}),eo.push({op:"replace",path:no,value:ue}))}if(!(!ao&&oo.length==io.length))for(var so=0;so<oo.length;so++){var lo=oo[so];!hasOwnProperty$6(to,lo)&&ue[lo]!==void 0&&eo.push({op:"add",path:no+"/"+escapePathComponent(lo),value:_deepClone(ue[lo])})}}}function compare$1(to,ue,eo){eo===void 0&&(eo=!1);var no=[];return _generate(to,ue,no,"",eo),no}const duplex=Object.freeze(Object.defineProperty({__proto__:null,compare:compare$1,generate:generate$1,observe:observe$2,unobserve:unobserve$1},Symbol.toStringTag,{value:"Module"}));Object.assign({},core,duplex,{JsonPatchError:PatchError,deepClone:_deepClone,escapePathComponent,unescapePathComponent});const Operations={Add:"Add",Delete:"Delete",Change:"Change"},initialState$2={history:[],position:0,loading:!1},createHistoryStore=({getDoc:to,selectDoc:ue,beforeAction:eo,afterAction:no})=>{const ro=writable(initialState$2),oo=derived(ro,go=>({...go,canUndo:go.position>0,canRedo:go.position<go.history.length}));let io,ao;const so=()=>{ro.update(go=>(go.loading=!0,go))},lo=()=>{ro.update(go=>(go.loading=!1,go))},co=()=>{ro.set(initialState$2)},uo=go=>{ro.update(bo=>{let vo=bo.history,yo=bo.position;if(!go.id)go.id=Math.random(),vo=[...vo.slice(0,bo.position),go],yo+=1;else{const wo=vo.findIndex(ko=>ko.id===go.id);vo[wo].doc=go.doc}return{history:vo,position:yo}})},fo=go=>(io=async(bo,vo)=>{if(!(!bo||Array.isArray(bo))){so();try{const yo=to(bo._id),wo=_deepClone(await go(bo));return uo(yo?{type:Operations.Change,forwardPatch:compare$1(yo,bo),backwardsPatch:compare$1(bo,yo),doc:wo,id:vo}:{type:Operations.Add,doc:wo,id:vo}),lo(),wo}catch(yo){throw lo(),yo}}},io),po=go=>(ao=async(bo,vo)=>{if(!(!bo||Array.isArray(bo))){so();try{const yo=_deepClone(bo);await go(bo),uo({type:Operations.Delete,doc:yo,id:vo}),lo()}catch(yo){throw lo(),yo}}},ao),ho=async()=>{const{canUndo:go,history:bo,position:vo,loading:yo}=get_store_value(oo);if(!go||yo)return;const wo=bo[vo-1];if(wo){so(),await(eo==null?void 0:eo(wo)),ro.update(ko=>({...ko,position:ko.position-1}));try{if(wo.type===Operations.Add){const So=to(wo.doc._id)||wo.doc;await ao(So,wo.id)}else if(wo.type===Operations.Delete){let ko=_deepClone(wo.doc);delete ko._rev;const So=await io(ko,wo.id);ue==null||ue((So==null?void 0:So._id)||ko._id)}else{let ko=_deepClone(to(wo.doc._id));ko&&(applyPatch(ko,_deepClone(wo.backwardsPatch)),await io(ko,wo.id),ue==null||ue(ko._id))}lo()}catch(ko){throw lo(),ko}await(no==null?void 0:no(wo))}},_o=async()=>{const{canRedo:go,history:bo,position:vo,loading:yo}=get_store_value(oo);if(!go||yo)return;const wo=bo[vo];if(wo){so(),await(eo==null?void 0:eo(wo)),ro.update(ko=>({...ko,position:ko.position+1}));try{if(wo.type===Operations.Add){let ko=_deepClone(wo.doc);delete ko._rev;const So=await io(ko,wo.id);ue==null||ue((So==null?void 0:So._id)||ko._id)}else if(wo.type===Operations.Delete){const So=to(wo.doc._id)||wo.doc;await ao(So,wo.id)}else{let ko=_deepClone(to(wo.doc._id));ko&&(applyPatch(ko,_deepClone(wo.forwardPatch)),await io(ko,wo.id),ue==null||ue(ko._id))}lo()}catch(ko){throw lo(),ko}await(no==null?void 0:no(wo))}};return{subscribe:oo.subscribe,wrapSaveDoc:fo,wrapDeleteDoc:po,reset:co,undo:ho,redo:_o}},initialScreenState={screens:[]};class ScreenStore extends BudiStore{constructor(){super(initialScreenState),this.sequentialScreenPatch=sequential(async(ue,eo)=>{const ro=get_store_value(this.store).screens.find(ao=>ao._id===eo);if(!ro)return;let oo=fp$1.cloneDeep(ro);if(ue(oo)!==!1)return this.save(oo)}),this.select=this.select.bind(this),this.reset=this.reset.bind(this),this.syncAppScreens=this.syncAppScreens.bind(this),this.validate=this.validate.bind(this),this.patch=this.patch.bind(this),this.replace=this.replace.bind(this),this.saveScreen=this.saveScreen.bind(this),this.deleteScreen=this.deleteScreen.bind(this),this.syncScreenData=this.syncScreenData.bind(this),this.updateSetting=this.updateSetting.bind(this),this.sequentialScreenPatch=this.sequentialScreenPatch.bind(this),this.removeCustomLayout=this.removeCustomLayout.bind(this),this.history=createHistoryStore({getDoc:ue=>{var eo;return(eo=get_store_value(this.store).screens)==null?void 0:eo.find(no=>no._id===ue)},selectDoc:this.select,beforeAction:()=>{},afterAction:()=>{get_store_value(selectedComponent)||this.update(ue=>{var eo;return{...ue,selectedComponentId:(eo=get_store_value(selectedScreen))==null?void 0:eo.props._id}})}}),this.delete=this.history.wrapDeleteDoc(this.deleteScreen),this.save=this.history.wrapSaveDoc(this.saveScreen)}reset(){this.store.set({...initialScreenState})}syncAppScreens(ue){this.update(eo=>({...eo,screens:[...ue.screens]}))}select(ue){const eo=get_store_value(this.store),no=eo.screens.find(ro=>ro._id===ue);no&&eo.selectedScreenId!==no._id&&this.update(ro=>(ro.selectedScreenId=no._id,ro))}validate(ue){const eo=(ro,oo=[],io=[])=>{var lo,co,uo;const ao=ro._component;if(oo.includes(ao)||io.length&&!io.includes(ao))return ao;if(!((lo=ro==null?void 0:ro._children)!=null&&lo.length))return;["@budibase/standard-components/sidepanel","@budibase/standard-components/modal"].includes(ao)&&(oo=[]);const so=componentStore.getDefinition(ro._component);if(so==null)throw`Invalid defintion ${ro._component}`;if(io=[],(co=so==null?void 0:so.legalDirectChildren)!=null&&co.length&&(io=so.legalDirectChildren.map(fo=>`@budibase/standard-components/${fo}`)),(uo=so==null?void 0:so.illegalChildren)!=null&&uo.length){const fo=so.illegalChildren.map(po=>`@budibase/standard-components/${po}`);oo=[...new Set([...oo,...fo])]}for(let fo of ro._children){const po=eo(fo,oo,io);if(po)return po}},no=eo(ue.props);if(no){const ro=componentStore.getDefinition(no);throw`You can't place a ${ro==null?void 0:ro.name} here`}}async saveScreen(ue){var oo;(oo=get_store_value(appStore).features)!=null&&oo.componentValidation&&this.validate(ue),this.enrichEmptySettings(ue);const no=ue._id===void 0,ro=await API.saveScreen(ue);return this.update(io=>{const ao=io.screens.findIndex(so=>so._id===ro._id);return ao!==-1?io.screens.splice(ao,1,ro):io.screens.push(ro),no&&(io.selectedScreenId=ro._id,componentStore.update(so=>({...so,selectedComponentId:ro.props._id}))),io}),await this.syncScreenData(ro),ro}async syncScreenData(ue){const eo=get_store_value(appStore);let no=eo.usedPlugins;if(ue.pluginAdded){const{application:oo}=await API.fetchAppPackage(eo.appId);no=oo.usedPlugins||[]}const ro=await API.fetchAppRoutes();appStore.update(oo=>({...oo,routes:ro.routes,usedPlugins:no}))}async patch(ue,eo){if(eo||(eo=get_store_value(this.store).selectedScreenId),!(!eo||!ue))return await this.sequentialScreenPatch(ue,eo)}async replace(ue,eo){if(ue)if(!eo)this.update(no=>({...no,screens:no.screens.filter(ro=>ro._id!==ue)}));else{const no=get_store_value(this.store).screens.findIndex(ro=>ro._id===eo._id);no===-1?this.update(ro=>({...ro,screens:[...ro.screens,eo]})):this.update(ro=>(ro.screens[no]=eo,ro))}}async deleteScreen(ue){const eo=Array.isArray(ue)?ue:[ue];let no=[],ro=[];eo.filter(ao=>!!ao._id||!!ao._rev).forEach(ao=>{no.push(API.deleteScreen(ao._id,ao._rev)),ro.push(ao.routing.route)}),await Promise.all(no),await navigationStore.deleteLink(ro);const oo=eo.map(ao=>ao._id),io=await API.fetchAppRoutes();this.update(ao=>(ao.screens=ao.screens.filter(so=>!oo.includes(so._id)),ao.selectedScreenId&&oo.includes(ao.selectedScreenId)&&(delete ao.selectedScreenId,componentStore.update(so=>(delete so.selectedComponentId,so))),appStore.update(so=>({...so,routes:io.routes})),ao))}async updateSetting(ue,eo,no){if(!ue||!eo)return;const ro=so=>{if(!so||deepGet(so,eo)===no)return!1;deepSet(so,eo,no)};await this.patch(ro,ue._id);const oo=get_store_value(this.store),io=oo.screens.find(so=>so._id===ue._id);if(!io)return;const ao=oo.screens.filter(so=>so.routing.roleId===io.routing.roleId&&so.routing.homeScreen&&so._id!==ue._id);if(ao.length&&io.routing.homeScreen){const so=lo=>{lo.routing.homeScreen=!1};for(let lo of ao)await this.patch(so,lo._id)}}async removeCustomLayout(ue){const eo=get_store_value(layoutStore).layouts.find(ro=>ro._id===ue.layoutId),no=ro=>{delete ro.layoutId,ro.showNavigation=(eo==null?void 0:eo.props.navigation)!=="None",ro.width=(eo==null?void 0:eo.props.width)||"Large"};await this.patch(no,ue._id)}async enrichEmptySettings(ue){findAllMatchingComponents(ue.props,no=>no).forEach(no=>{componentStore.enrichEmptySettings(no,{screen:ue})})}}const screenStore=new ScreenStore,selectedScreen=derived(screenStore,to=>to.screens.find(ue=>ue._id===to.selectedScreenId)),sortedScreens=derived(screenStore,to=>to.screens.slice().sort((ue,eo)=>{const no=getRolePriority(ue.routing.roleId),ro=getRolePriority(eo.routing.roleId);if(no!==ro)return no>ro?-1:1;const oo=!!ue.routing.homeScreen,io=!!eo.routing.homeScreen;if(oo!==io)return oo?-1:1;const ao=ue.routing.route.split("/"),so=eo.routing.route.split("/");let lo=Math.min(ao.length,so.length);for(let co=0;co<lo;co++)if(ao[co]!==so[co])return ao[co]<so[co]?-1:1;return ao.length<so.length?-1:1})),INITIAL_COMPONENTS_STATE={components:{},customComponents:[],settingsCache:{}};class ComponentStore extends BudiStore{constructor(){super(INITIAL_COMPONENTS_STATE),this.reset=this.reset.bind(this),this.refreshDefinitions=this.refreshDefinitions.bind(this),this.getDefinition=this.getDefinition.bind(this),this.getDefaultDatasource=this.getDefaultDatasource.bind(this),this.enrichEmptySettings=this.enrichEmptySettings.bind(this),this.createInstance=this.createInstance.bind(this),this.create=this.create.bind(this),this.patch=this.patch.bind(this),this.delete=this.delete.bind(this),this.copy=this.copy.bind(this),this.paste=this.paste.bind(this),this.select=this.select.bind(this),this.getPrevious=this.getPrevious.bind(this),this.getNext=this.getNext.bind(this),this.selectPrevious=this.selectPrevious.bind(this),this.selectNext=this.selectNext.bind(this),this.moveUp=this.moveUp.bind(this),this.moveDown=this.moveDown.bind(this),this.updateStyle=this.updateStyle.bind(this),this.updateStyles=this.updateStyles.bind(this),this.updateCustomStyle=this.updateCustomStyle.bind(this),this.updateConditions=this.updateConditions.bind(this),this.requestEjectBlock=this.requestEjectBlock.bind(this),this.handleEjectBlock=this.handleEjectBlock.bind(this),this.updateSetting=this.updateSetting.bind(this),this.updateComponentSetting=this.updateComponentSetting.bind(this),this.addParent=this.addParent.bind(this),this.isCached=this.isCached.bind(this),this.cacheSettings=this.cacheSettings.bind(this),this.getComponentSettings=this.getComponentSettings.bind(this)}reset(){this.store.set({...INITIAL_COMPONENTS_STATE})}async refreshDefinitions(ue){if(!ue)return;const eo=await API.fetchComponentLibDefinitions(ue),no=Object.keys(eo).filter(ro=>ro.startsWith("plugin/"));return this.update(ro=>({...ro,components:eo,customComponents:no})),appStore.syncClientFeatures(eo.features),appStore.syncClientTypeSupportPresets((eo==null?void 0:eo.typeSupportPresets)??{}),eo}getDefinition(ue){return ue?get_store_value(this.store).components[ue]:null}getDefaultDatasource(){const ue=get_store_value(tables).list.filter(no=>no._id!=="ta_users");let eo=ue.find(no=>no.sourceId===BUDIBASE_INTERNAL_DB_ID&&no.sourceType===DB_TYPE_INTERNAL);return eo||(eo=ue.find(no=>no.sourceId===DEFAULT_BB_DATASOURCE_ID&&no.sourceType===DB_TYPE_INTERNAL),eo)?eo:ue.find(no=>no.sourceType===DB_TYPE_EXTERNAL)}migrateSettings(ue){var io;const eo="@budibase/standard-components";let no=!1;if((ue==null?void 0:ue._component)===`${eo}/formblock`){if(!("buttons"in ue))ue.buttons=buildFormBlockButtonConfig(ue),no=!0;else if(ue.buttons==null){const{_id:ao,actionType:so,dataSource:lo}=ue;ue.buttons=buildFormBlockButtonConfig({_id:ao,actionType:so,dataSource:lo}),no=!0}"buttonPosition"in ue||(ue.buttonPosition="top",no=!0)}if(!(ue!=null&&ue._component))return no;const ro=this.getDefinition(ue==null?void 0:ue._component),oo=(io=ro==null?void 0:ro.settings)==null?void 0:io.filter(ao=>{var so;return(so=ao==null?void 0:ao.type)==null?void 0:so.startsWith("filter")});for(let ao of oo||[])if(Array.isArray(ue[ao.key])){const lo=processSearchFilters(ue[ao.key]);ue[ao.key]=lo,no=!0}return no}enrichEmptySettings(ue,eo){if(!(ue!=null&&ue._component))return;const no=this.getDefaultDatasource(),ro=this.getComponentSettings(ue._component),{parent:oo,screen:io,useDefaultValues:ao}=eo||{},so=(oo==null?void 0:oo._id)||ue._id;if(io&&(ro.forEach(lo=>{var uo,fo;const co=ue[lo.key];if(co==null||co==="")if(lo.type==="multifield"&&lo.selectAllFields)ue[lo.key]=Object.keys((no==null?void 0:no.schema)||{});else if((lo.type==="dataSource"||lo.type==="table")&&no)ue[lo.key]={label:no.name,tableId:no._id,resourceId:no._id,type:"table"};else if(lo.type==="dataProvider"){const ho=findComponentPath(io.props,so).filter(_o=>{var go;return(go=_o._component)==null?void 0:go.endsWith("/dataprovider")});if(ho.length){const _o=(uo=ho[ho.length-1])==null?void 0:uo._id;ue[lo.key]=`{{ literal ${makePropSafe(_o)} }}`}}else if(lo.type.startsWith("field/")){let po=getComponentFieldOptions(io.props,so,lo.type,!1);const ho=findClosestMatchingComponent(io.props,so,go=>go._component==="@budibase/standard-components/form"),_o=Object.keys(buildFormSchema(ho)||{});po=po.filter(go=>!_o.includes(go)),po[0]&&(ue[lo.key]=po[0],ue.label=po[0])}else ao&&lo.defaultValue!==void 0&&(ue[lo.key]=lo.defaultValue);else if(lo.type==="dataProvider"){const po=findAllMatchingComponents(io==null?void 0:io.props,_o=>_o._component==="@budibase/standard-components/dataprovider");if(!(po==null?void 0:po.some(_o=>{var go;return(go=co.includes)==null?void 0:go.call(co,_o._id)})))if(po.length){const _o=(fo=po[po.length-1])==null?void 0:fo._id;ue[lo.key]=`{{ literal ${makePropSafe(_o)} }}`}else delete ue[lo.key]}}),ue._component.endsWith("/cardsblock")&&["cardTitle","cardSubtitle","cardDescription"].every(co=>!ue[co])&&!ue.cardImageURL)){const{_id:co,dataSource:uo}=ue;if(uo){const{schema:fo,table:po}=getSchemaForDatasource(io,uo,{}),ho=wo=>(Array.isArray(wo)||(wo=[wo]),Object.entries(fo||{}).filter(([ko,So])=>wo.includes(So.type)&&!So.autoColumn&&ko!==(po==null?void 0:po.primaryDisplay)&&!ko.startsWith("_")).map(([ko])=>ko)),_o=(wo,ko,...So)=>{So.some(Ao=>Ao==null)?ue[wo]=ko:(So.unshift(`${co}-repeater`),ue[wo]=`{{ ${So.map(makePropSafe).join(".")} }}`)},go=[...ho(FieldType.STRING),...ho(FieldType.OPTIONS),...ho(FieldType.ARRAY),...ho(FieldType.NUMBER)],bo=ho(FieldType.LONGFORM);po!=null&&po.primaryDisplay&&(fo!=null&&fo[po.primaryDisplay])&&go.unshift(po.primaryDisplay),_o("cardTitle","Title",go[0]),_o("cardSubtitle","Subtitle",go[1]);const vo=bo[0]??go[2];_o("cardDescription","Description",vo);let yo=ho(FieldType.ATTACHMENT_SINGLE)[0];yo?_o("cardImageURL",null,yo,"url"):(yo=ho(FieldType.ATTACHMENTS)[0],yo&&_o("cardImageURL",null,yo,0,"url"))}}}createInstance(ue,eo,no){const ro=get_store_value(selectedScreen);if(!ro)throw"A valid screen must be selected";const oo=this.getDefinition(ue);if(!oo)return null;let io={_id:uuid$2(),_component:oo.component,_styles:{normal:{},hover:{},active:{}},_instanceName:`New ${oo.friendlyName||oo.name}`,...eo};this.enrichEmptySettings(io,{parent:no,screen:ro,useDefaultValues:!0});try{this.migrateSettings(io)}catch(so){throw console.error(so),so}let ao={};if(oo.hasChildren&&(ao._children=[]),ue.endsWith("/formstep")){const so=findClosestMatchingComponent(ro.props,get_store_value(selectedComponent)._id,co=>co._component.endsWith("/form")),lo=findAllMatchingComponents(so,co=>co._component.endsWith("/formstep"));ao.step=lo.length+1,ao._instanceName=`Step ${lo.length+1}`}return{...fp$1.cloneDeep(io),...ao}}async create(ue,eo,no,ro){const oo=get_store_value(this.store),io=this.createInstance(ue,eo,no);if(io)return no&&ro!=null?await screenStore.patch(ao=>{var lo;let so=findComponent(ao.props,no);(lo=so._children)!=null&&lo.length?so._children.splice(ro,0,io):so._children=[io]},null):await screenStore.patch(ao=>{let so=oo.selectedComponentId;so!=null&&so.startsWith(`${ao._id}-`)&&(so=ao.props._id);const lo=findComponent(ao.props,so);if(!lo)return!1;let co;if(lo){const uo=this.getDefinition(lo._component);uo!=null&&uo.hasChildren?co=lo:co=findComponentParent(ao.props,lo._id)}else co=ao.props;if(!co)return!1;co._children||(co._children=[]),co._children.push(io)},null),this.update(ao=>(ao.selectedComponentId=io._id,ao)),componentTreeNodesStore.makeNodeVisible(io._id),analytics.captureEvent(Events.COMPONENT_CREATED,{name:io._component}),io}async patch(ue,eo,no){if(!eo||!no){const oo=get_store_value(this.store);eo=eo??oo.selectedComponentId??void 0;const io=get_store_value(screenStore);no=no||io.selectedScreenId}if(!eo||!no||!ue)return;const ro=oo=>{let io=findComponent(oo.props,eo);if(!io)return!1;const ao=ue(io,oo);return this.migrateSettings(io)?null:ao};await screenStore.patch(ro,no)}async delete(ue){if(!ue)return;const eo=get_store_value(this.store);let no="";eo.selectedComponentId===ue._id&&(no=this.getNext(),no||(no=this.getPrevious())),no&&(no.endsWith("-navigation")&&(no=no.replace("-navigation","-screen")),this.update(ro=>(ro.selectedComponentId=no,ro))),await screenStore.patch(ro=>{if(ue=findComponent(ro.props,ue._id),!ue)return!1;const oo=findComponentParent(ro.props,ue._id);if(!oo)return!1;oo._children=oo._children.filter(io=>io._id!==ue._id)},null)}copy(ue,eo=!1,no=!0){if(this.update(ro=>(ro.componentToPaste=fp$1.cloneDeep(ue),ro.componentToPaste.isCut=eo,ro.componentToPaste.screenId=get_store_value(screenStore).selectedScreenId,ro)),eo&&no){const ro=get_store_value(selectedScreen),oo=findComponentParent(ro==null?void 0:ro.props,ue._id);oo&&this.update(io=>(io.selectedComponentId=oo._id,io))}}select(ue){this.update(eo=>(eo.selectedComponentId=ue,eo))}async paste(ue,eo,no,ro=!0){const oo=get_store_value(this.store);if(!oo.componentToPaste)return;let io="",ao=fp$1.cloneDeep(oo.componentToPaste);ao.isCut&&this.update(co=>(delete co.componentToPaste,co));const so=co=>{var ho;if(ue=findComponent(co.props,ue._id),!ue)return!1;const uo=ao.isCut,fo=ao.screenId,po=ao._id;if(delete ao.isCut,delete ao.screenId,uo||(ao=makeComponentUnique(ao)),io=ao._id,fo&&fo!==co._id)for(let _o of Object.keys(((ho=ao._styles)==null?void 0:ho.normal)||{}))_o.startsWith("--grid")&&(_o.endsWith("-start")||_o.endsWith("-end"))&&delete ao._styles.normal[_o];if(uo){const _o=findComponentParent(co.props,po);_o!=null&&_o._children&&(_o._children=_o._children.filter(go=>go._id!==po))}if(eo==="inside"){const _o=this.getDefinition(ue._component);_o!=null&&_o.hasChildren||(eo="below")}if(eo==="inside")ue._children||(ue._children=[]),ue._children.push(ao);else{const _o=findComponentParent(co.props,ue._id);if(!(_o!=null&&_o._children))return!1;const go=_o._children.findIndex(vo=>vo._id===ue._id),bo=eo==="above"?go:go+1;_o._children.splice(bo,0,ao)}},lo=(no==null?void 0:no._id)??oo.selectedScreenId??null;await screenStore.patch(so,lo),ro&&this.update(co=>(co.selectedScreenId=lo,co.selectedComponentId=io,co)),componentTreeNodesStore.makeNodeVisible(io)}getPrevious(){var so,lo;const eo=get_store_value(this.store).selectedComponentId,no=get_store_value(selectedScreen);if(!no)throw"A valid screen must be selected";const ro=findComponentParent(no.props,eo),oo=ro==null?void 0:ro._children.findIndex(co=>co._id===eo),io=`${no._id}-screen`,ao=`${no._id}-navigation`;if(eo===io)return null;if(eo===ao)return io;if(ro._id===no.props._id&&oo===0)return ao;if(oo>0){const co=ro._children[oo-1];if((so=co._children)!=null&&so.length&&componentTreeNodesStore.isNodeExpanded(co._id)){let uo=co;for(;(lo=uo._children)!=null&&lo.length&&componentTreeNodesStore.isNodeExpanded(uo._id);)uo=uo._children[uo._children.length-1];return uo._id}return co._id}return ro._id}getNext(){var fo,po;const ue=get_store_value(this.store),eo=get_store_value(selectedComponent),no=eo==null?void 0:eo._id,ro=get_store_value(selectedScreen);if(!ro)throw"A valid screen must be selected";const oo=findComponentParent(ro.props,no),io=oo==null?void 0:oo._children.findIndex(ho=>ho._id===no),ao=`${ro._id}-screen`,so=`${ro._id}-navigation`;if(ue.selectedComponentId===ao)return so;if((fo=eo._children)!=null&&fo.length&&(ue.selectedComponentId===so||componentTreeNodesStore.isNodeExpanded(eo._id)))return eo._children[0]._id;if(!oo)return null;if(io<oo._children.length-1)return oo._children[io+1]._id;let lo=oo,co=findComponentParent(ro.props,lo._id),uo=co==null?void 0:co._children.findIndex(ho=>ho._id===lo._id);for(;co!=null&&uo===((po=co._children)==null?void 0:po.length)-1;)lo=co,co=findComponentParent(ro.props,lo._id),uo=co==null?void 0:co._children.findIndex(ho=>ho._id===lo._id);return co?co._children[uo+1]._id:null}selectPrevious(){const ue=this.getPrevious();ue&&this.update(eo=>(eo.selectedComponentId=ue,eo))}selectNext(){const ue=this.getNext();ue&&this.update(eo=>(eo.selectedComponentId=ue,eo))}async moveUp(ue){await screenStore.patch(eo=>{const no=ue==null?void 0:ue._id,ro=findComponentParent(eo.props,no),oo=ro==null?void 0:ro._children.findIndex(ao=>ao._id===no);if(!ro||oo===0&&ro._id===eo.props._id)return;const io=fp$1.cloneDeep(ro._children[oo]);if(ro._children=ro._children.filter(ao=>ao._id!==no),oo>0){const ao=ro._children[oo-1],so=this.getDefinition(ao._component);so!=null&&so.hasChildren&&componentTreeNodesStore.isNodeExpanded(ao._id)?ao._children.push(io):ro._children.splice(oo-1,0,io)}else if(ro._id!==eo.props._id){const ao=findComponentParent(eo.props,ro._id),so=ao._children.findIndex(lo=>lo._id===ro._id);ao._children.splice(so,0,io)}},null)}async moveDown(ue){await screenStore.patch(eo=>{var ao;const no=ue==null?void 0:ue._id,ro=findComponentParent(eo.props,no);if(!((ao=ro==null?void 0:ro._children)!=null&&ao.length))return!1;const oo=ro._children.findIndex(so=>so._id===no);if(oo===ro._children.length-1&&ro._id===eo.props._id)return;const io=fp$1.cloneDeep(ro._children[oo]);if(ro._children=ro._children.filter(so=>so._id!==no),oo<ro._children.length){const so=ro._children[oo],lo=this.getDefinition(so._component);lo!=null&&lo.hasChildren&&componentTreeNodesStore.isNodeExpanded(so._id)?so._children.splice(0,0,io):ro._children.splice(oo+1,0,io)}else{const so=findComponentParent(eo.props,ro._id),lo=so._children.findIndex(co=>co._id===ro._id);so._children.splice(lo+1,0,io)}},null)}async updateStyle(ue,eo){await this.patch(no=>{eo==null||eo===""?delete no._styles.normal[ue]:no._styles.normal[ue]=eo})}async updateStyles(ue,eo){const no=ro=>{ro._styles.normal={...ro._styles.normal,...ue}};await this.patch(no,eo)}async updateCustomStyle(ue){await this.patch(eo=>{eo._styles.custom=ue})}async updateConditions(ue){await this.patch(eo=>{eo._conditions=ue})}async updateSetting(ue,eo){await this.patch(this.updateComponentSetting(ue,eo))}updateComponentSetting(ue,eo){return no=>{if(!ue||!no||no[ue]===eo)return!1;const ro=this.getComponentSettings(no._component),oo=ro.find(io=>io.key===ue);if(ro.forEach(io=>{(ue===io.resetOn||Array.isArray(io.resetOn)&&io.resetOn.includes(ue))&&(no[io.key]=io.defaultValue||null)}),(oo==null?void 0:oo.type)==="dataSource"||(oo==null?void 0:oo.type)==="table"){const{schema:io}=getSchemaForDatasource(null,eo,null),ao=Object.keys(io||{});ro.filter(lo=>lo.type==="multifield"&&lo.selectAllFields).map(lo=>lo.key).forEach(lo=>{no[lo]=ao})}return no[ue]=eo,!0}}requestEjectBlock(ue){previewStore.sendEvent("eject-block",ue)}async handleEjectBlock(ue,eo){let no;await screenStore.patch(ro=>{var lo;const oo=findComponent(ro.props,ue),io=findComponentParent(ro.props,ue);if(!oo||!((lo=io==null?void 0:io._children)!=null&&lo.length))return!1;analytics.captureEvent(Events.BLOCK_EJECTED,{block:oo._component});const ao=findAllMatchingComponents(eo,co=>co._containsSlot)[0];ao&&(delete ao._containsSlot,ao._children=[...ao._children||[],...oo._children||[]]),eo=makeComponentUnique(eo);const so=io._children.findIndex(co=>co._id===ue);io._children[so]=eo,no=eo._id},null),no&&this.update(ro=>(ro.selectedComponentId=no,ro))}async addParent(ue,eo){if(!ue||!eo)return;const no=this.createInstance(eo,null,parent);no&&(await screenStore.patch(ro=>{let oo=findComponent(ro.props,ue),io=findComponentParent(ro.props,ue);if(!oo||!io)return!1;const ao=io._children.findIndex(so=>so._id===ue);if(ao===-1)return!1;io._children[ao]={...no,_children:[oo]}},null),this.update(ro=>(ro.selectedComponentId=no._id,ro)))}isCached(ue){const eo=get_store_value(this.store).settingsCache;return ue in eo}cacheSettings(ue,eo){var ro,oo;let no=[];return eo&&(no=((ro=eo.settings)==null?void 0:ro.filter(io=>!io.section))??[],(oo=eo.settings)==null||oo.filter(io=>io.section).forEach(io=>{no=no.concat((io.settings||[]).map(ao=>({...ao,section:io.name})))})),this.update(io=>({...io,settingsCache:{...io.settingsCache,[ue]:no}})),no}getComponentSettings(ue){if(!ue)return[];!ue.startsWith("plugin/")&&!ue.startsWith("@budibase")&&(ue=`@budibase/standard-components/${ue}`);const eo=get_store_value(this.store).settingsCache[ue];if(eo)return eo;const no=this.getDefinition(ue);return this.cacheSettings(ue,no)}}const componentStore=new ComponentStore,selectedComponent=derived([componentStore,selectedScreen],([to,ue])=>{var ro;if(ue&&((ro=to.selectedComponentId)!=null&&ro.startsWith(`${ue._id}-`)))return ue==null?void 0:ue.props;if(!ue||!to.selectedComponentId)return null;const eo=findComponent(ue==null?void 0:ue.props,to.selectedComponentId),no=eo&&fp$1.cloneDeep(eo);return componentStore.migrateSettings(no),no}),INITIAL_NAVIGATION_STATE={navigation:"Top",links:[],textAlign:"Left"};class NavigationStore extends BudiStore{constructor(){super(INITIAL_NAVIGATION_STATE)}syncAppNavigation(ue){this.update(eo=>({...eo,...ue}))}reset(){this.store.set({...INITIAL_NAVIGATION_STATE})}async save(ue){const eo=get_store_value(appStore).appId,no=await API.saveAppMetadata(eo,{navigation:ue});no.navigation&&this.syncAppNavigation(no.navigation)}async saveLink(ue,eo,no){const ro=get_store_value(this.store);let oo=[...(ro==null?void 0:ro.links)??[]];oo.find(io=>io.url===ue&&io.text===eo)||(oo.push({text:eo,url:ue,type:"link",roleId:no}),await this.save({...ro,links:[...oo]}))}async deleteLink(ue){const eo=get_store_value(this.store);let no=eo==null?void 0:eo.links;no!=null&&no.length&&(ue=Array.isArray(ue)?ue:[ue],no=no.filter(ro=>!ue.includes(ro.url)),no.forEach(ro=>{var oo;ro.type==="sublinks"&&((oo=ro.subLinks)!=null&&oo.length)&&(ro.subLinks=ro.subLinks.filter(io=>!ue.includes(io.url)))}),await this.save({...eo,links:no}))}syncMetadata(ue){const{navigation:eo}=ue;this.syncAppNavigation(eo)}}const navigationStore=new NavigationStore;class ThemeStore extends BudiStore{constructor(){super({theme:DefaultAppTheme$1,customTheme:{}}),this.syncAppTheme=ue=>{this.update(eo=>{const no=ensureValidTheme(ue.theme,DefaultAppTheme$1);return{...eo,theme:no,customTheme:ue.customTheme||{}}})},this.save=async(ue,eo)=>{const no=await API.saveAppMetadata(eo,{theme:ue});this.update(ro=>({...ro,theme:ensureValidTheme(no.theme,DefaultAppTheme$1)}))},this.saveCustom=async(ue,eo)=>{const no={...get_store_value(this).customTheme,...ue},ro=await API.saveAppMetadata(eo,{customTheme:no});this.update(oo=>({...oo,customTheme:ro.customTheme||{}}))},this.syncMetadata=ue=>{const{theme:eo,customTheme:no}=ue;this.update(ro=>({...ro,theme:ensureValidTheme(eo,DefaultAppTheme$1),customTheme:no||{}}))}}}const themeStore=new ThemeStore,createBuilderWebsocket=to=>{const ue=createWebsocket("/socket/builder");return ue.on("connect",()=>{ue.emit(BuilderSocketEvent.SelectApp,{appId:to},({users:eo})=>{userStore.init(eo)})}),ue.on("connect_error",eo=>{console.error("Failed to connect to builder websocket:",eo.message)}),ue.on("disconnect",()=>{userStore.reset()}),ue.onOther(SocketEvent.UserUpdate,({user:eo})=>{userStore.updateUser(eo)}),ue.onOther(SocketEvent.UserDisconnect,({sessionId:eo})=>{userStore.removeUser(eo)}),ue.onOther(BuilderSocketEvent.LockTransfer,({userId:eo})=>{var no,ro;eo===((ro=(no=get_store_value(auth))==null?void 0:no.user)==null?void 0:ro._id)&&appStore.update(oo=>({...oo,hasLock:!0}))}),ue.onOther(BuilderSocketEvent.TableChange,({id:eo,table:no})=>{tables.replaceTable(eo,no)}),ue.onOther(BuilderSocketEvent.DatasourceChange,({id:eo,datasource:no})=>{datasources.replaceDatasource(eo,no)}),ue.onOther(BuilderSocketEvent.RoleChange,({id:eo,role:no})=>{roles.replace(eo,no)}),ue.onOther(BuilderSocketEvent.ScreenChange,({id:eo,screen:no})=>{screenStore.replace(eo,no)}),ue.onOther(BuilderSocketEvent.AppMetadataChange,({metadata:eo})=>{appStore.syncMetadata(eo),themeStore.syncMetadata(eo),navigationStore.syncMetadata(eo),snippets$1.syncMetadata(eo)}),ue.onOther(BuilderSocketEvent.AppPublishChange,async({user:eo,published:no})=>{await appsStore.load(),no&&await deploymentStore.load();const ro=no?"published":"unpublished";notifications.success(`${getUserLabel(eo)} ${ro} this app`)}),ue.onOther(BuilderSocketEvent.AutomationChange,({id:eo,automation:no})=>{automationStore.actions.replace(eo,no)}),ue};function create_fragment$9f(to){let ue;return{c(){ue=element("div"),ue.innerHTML=`In this section you can manage the data for your app:
|
|
508
|
+
*/var beforeDict=new WeakMap,Mirror=function(){function to(ue){this.observers=new Map,this.obj=ue}return to}(),ObserverInfo=function(){function to(ue,eo){this.callback=ue,this.observer=eo}return to}();function getMirror(to){return beforeDict.get(to)}function getObserverFromMirror(to,ue){return to.observers.get(ue)}function removeObserverFromMirror(to,ue){to.observers.delete(ue.callback)}function unobserve$1(to,ue){ue.unobserve()}function observe$2(to,ue){var eo=[],no,ro=getMirror(to);if(!ro)ro=new Mirror(to),beforeDict.set(to,ro);else{var oo=getObserverFromMirror(ro,ue);no=oo&&oo.observer}if(no)return no;if(no={},ro.value=_deepClone(to),ue){no.callback=ue,no.next=null;var io=function(){generate$1(no)},ao=function(){clearTimeout(no.next),no.next=setTimeout(io)};typeof window<"u"&&(window.addEventListener("mouseup",ao),window.addEventListener("keyup",ao),window.addEventListener("mousedown",ao),window.addEventListener("keydown",ao),window.addEventListener("change",ao))}return no.patches=eo,no.object=to,no.unobserve=function(){generate$1(no),clearTimeout(no.next),removeObserverFromMirror(ro,no),typeof window<"u"&&(window.removeEventListener("mouseup",ao),window.removeEventListener("keyup",ao),window.removeEventListener("mousedown",ao),window.removeEventListener("keydown",ao),window.removeEventListener("change",ao))},ro.observers.set(ue,new ObserverInfo(ue,no)),no}function generate$1(to,ue){ue===void 0&&(ue=!1);var eo=beforeDict.get(to.object);_generate(eo.value,to.object,to.patches,"",ue),to.patches.length&&applyPatch(eo.value,to.patches);var no=to.patches;return no.length>0&&(to.patches=[],to.callback&&to.callback(no)),no}function _generate(to,ue,eo,no,ro){if(ue!==to){typeof ue.toJSON=="function"&&(ue=ue.toJSON());for(var oo=_objectKeys(ue),io=_objectKeys(to),ao=!1,so=io.length-1;so>=0;so--){var lo=io[so],co=to[lo];if(hasOwnProperty$6(ue,lo)&&!(ue[lo]===void 0&&co!==void 0&&Array.isArray(ue)===!1)){var uo=ue[lo];typeof co=="object"&&co!=null&&typeof uo=="object"&&uo!=null&&Array.isArray(co)===Array.isArray(uo)?_generate(co,uo,eo,no+"/"+escapePathComponent(lo),ro):co!==uo&&(ro&&eo.push({op:"test",path:no+"/"+escapePathComponent(lo),value:_deepClone(co)}),eo.push({op:"replace",path:no+"/"+escapePathComponent(lo),value:_deepClone(uo)}))}else Array.isArray(to)===Array.isArray(ue)?(ro&&eo.push({op:"test",path:no+"/"+escapePathComponent(lo),value:_deepClone(co)}),eo.push({op:"remove",path:no+"/"+escapePathComponent(lo)}),ao=!0):(ro&&eo.push({op:"test",path:no,value:to}),eo.push({op:"replace",path:no,value:ue}))}if(!(!ao&&oo.length==io.length))for(var so=0;so<oo.length;so++){var lo=oo[so];!hasOwnProperty$6(to,lo)&&ue[lo]!==void 0&&eo.push({op:"add",path:no+"/"+escapePathComponent(lo),value:_deepClone(ue[lo])})}}}function compare$1(to,ue,eo){eo===void 0&&(eo=!1);var no=[];return _generate(to,ue,no,"",eo),no}const duplex=Object.freeze(Object.defineProperty({__proto__:null,compare:compare$1,generate:generate$1,observe:observe$2,unobserve:unobserve$1},Symbol.toStringTag,{value:"Module"}));Object.assign({},core,duplex,{JsonPatchError:PatchError,deepClone:_deepClone,escapePathComponent,unescapePathComponent});const initialState$2={history:[],position:0,loading:!1},createHistoryStore=({getDoc:to,selectDoc:ue,beforeAction:eo,afterAction:no})=>{const ro=writable(initialState$2),oo=derived(ro,go=>({...go,canUndo:go.position>0,canRedo:go.position<go.history.length}));let io,ao;const so=()=>{ro.update(go=>(go.loading=!0,go))},lo=()=>{ro.update(go=>(go.loading=!1,go))},co=()=>{ro.set(initialState$2)},uo=go=>{ro.update(bo=>{let vo=bo.history,yo=bo.position;if(!go.id)go.id=Math.random(),vo=[...vo.slice(0,bo.position),go],yo+=1;else{const wo=vo.findIndex(ko=>ko.id===go.id);vo[wo].doc=go.doc}return{history:vo,position:yo}})},fo=go=>(io=async(bo,vo)=>{if(!(!bo||Array.isArray(bo))){so();try{const yo=to(bo._id),wo=_deepClone(await go(bo));return uo(yo?{type:"Change",forwardPatch:compare$1(yo,bo),backwardsPatch:compare$1(bo,yo),doc:wo,id:vo}:{type:"Add",doc:wo,id:vo}),lo(),wo}catch(yo){throw lo(),yo}}},io),po=go=>(ao=async(bo,vo)=>{if(!(!bo||Array.isArray(bo))){so();try{const yo=_deepClone(bo);await go(bo),uo({type:"Delete",doc:yo,id:vo}),lo()}catch(yo){throw lo(),yo}}},ao),ho=async()=>{const{canUndo:go,history:bo,position:vo,loading:yo}=get_store_value(oo);if(!go||yo)return;const wo=bo[vo-1];if(wo){so(),await(eo==null?void 0:eo(wo)),ro.update(ko=>({...ko,position:ko.position-1}));try{if(wo.type==="Add"){const So=to(wo.doc._id)||wo.doc;await ao(So,wo.id)}else if(wo.type==="Delete"){let ko=_deepClone(wo.doc);delete ko._rev;const So=await io(ko,wo.id);ue==null||ue((So==null?void 0:So._id)||ko._id)}else{let ko=_deepClone(to(wo.doc._id));ko&&(applyPatch(ko,_deepClone(wo.backwardsPatch)),await io(ko,wo.id),ue==null||ue(ko._id))}lo()}catch(ko){throw lo(),ko}await(no==null?void 0:no(wo))}},_o=async()=>{const{canRedo:go,history:bo,position:vo,loading:yo}=get_store_value(oo);if(!go||yo)return;const wo=bo[vo];if(wo){so(),await(eo==null?void 0:eo(wo)),ro.update(ko=>({...ko,position:ko.position+1}));try{if(wo.type==="Add"){let ko=_deepClone(wo.doc);delete ko._rev;const So=await io(ko,wo.id);ue==null||ue((So==null?void 0:So._id)||ko._id)}else if(wo.type==="Delete"){const So=to(wo.doc._id)||wo.doc;await ao(So,wo.id)}else{let ko=_deepClone(to(wo.doc._id));ko&&(applyPatch(ko,_deepClone(wo.forwardPatch)),await io(ko,wo.id),ue==null||ue(ko._id))}lo()}catch(ko){throw lo(),ko}await(no==null?void 0:no(wo))}};return{subscribe:oo.subscribe,wrapSaveDoc:fo,wrapDeleteDoc:po,reset:co,undo:ho,redo:_o}},initialScreenState={screens:[]};class ScreenStore extends BudiStore{constructor(){super(initialScreenState),this.sequentialScreenPatch=sequential(async(ue,eo)=>{const ro=get_store_value(this.store).screens.find(ao=>ao._id===eo);if(!ro)return;let oo=fp$1.cloneDeep(ro);if(ue(oo)!==!1)return this.save(oo)}),this.select=this.select.bind(this),this.reset=this.reset.bind(this),this.syncAppScreens=this.syncAppScreens.bind(this),this.validate=this.validate.bind(this),this.patch=this.patch.bind(this),this.replace=this.replace.bind(this),this.saveScreen=this.saveScreen.bind(this),this.deleteScreen=this.deleteScreen.bind(this),this.syncScreenData=this.syncScreenData.bind(this),this.updateSetting=this.updateSetting.bind(this),this.sequentialScreenPatch=this.sequentialScreenPatch.bind(this),this.removeCustomLayout=this.removeCustomLayout.bind(this),this.history=createHistoryStore({getDoc:ue=>{var eo;return(eo=get_store_value(this.store).screens)==null?void 0:eo.find(no=>no._id===ue)},selectDoc:this.select,afterAction:()=>{get_store_value(selectedComponent)||componentStore.update(ue=>{var eo;return{...ue,selectedComponentId:(eo=get_store_value(selectedScreen))==null?void 0:eo._id}})}}),this.delete=this.history.wrapDeleteDoc(this.deleteScreen),this.save=this.history.wrapSaveDoc(this.saveScreen)}reset(){this.store.set({...initialScreenState})}syncAppScreens(ue){this.update(eo=>({...eo,screens:[...ue.screens]}))}select(ue){const eo=get_store_value(this.store),no=eo.screens.find(ro=>ro._id===ue);no&&eo.selectedScreenId!==no._id&&this.update(ro=>(ro.selectedScreenId=no._id,ro))}validate(ue){const eo=(ro,oo=[],io=[])=>{var lo,co,uo;const ao=ro._component;if(oo.includes(ao)||io.length&&!io.includes(ao))return ao;if(!((lo=ro==null?void 0:ro._children)!=null&&lo.length))return;["@budibase/standard-components/sidepanel","@budibase/standard-components/modal"].includes(ao)&&(oo=[]);const so=componentStore.getDefinition(ro._component);if(so==null)throw`Invalid defintion ${ro._component}`;if(io=[],(co=so==null?void 0:so.legalDirectChildren)!=null&&co.length&&(io=so.legalDirectChildren.map(fo=>`@budibase/standard-components/${fo}`)),(uo=so==null?void 0:so.illegalChildren)!=null&&uo.length){const fo=so.illegalChildren.map(po=>`@budibase/standard-components/${po}`);oo=[...new Set([...oo,...fo])]}for(let fo of ro._children){const po=eo(fo,oo,io);if(po)return po}},no=eo(ue.props);if(no){const ro=componentStore.getDefinition(no);throw`You can't place a ${ro==null?void 0:ro.name} here`}}async saveScreen(ue){var oo;(oo=get_store_value(appStore).features)!=null&&oo.componentValidation&&this.validate(ue),this.enrichEmptySettings(ue);const no=ue._id===void 0,ro=await API.saveScreen(ue);return this.update(io=>{const ao=io.screens.findIndex(so=>so._id===ro._id);return ao!==-1?io.screens.splice(ao,1,ro):io.screens.push(ro),no&&(io.selectedScreenId=ro._id,componentStore.update(so=>({...so,selectedComponentId:ro.props._id}))),io}),await this.syncScreenData(ro),ro}async syncScreenData(ue){const eo=get_store_value(appStore);let no=eo.usedPlugins;if(ue.pluginAdded){const{application:oo}=await API.fetchAppPackage(eo.appId);no=oo.usedPlugins||[]}const ro=await API.fetchAppRoutes();appStore.update(oo=>({...oo,routes:ro.routes,usedPlugins:no}))}async patch(ue,eo){if(eo||(eo=get_store_value(this.store).selectedScreenId),!(!eo||!ue))return await this.sequentialScreenPatch(ue,eo)}async replace(ue,eo){if(ue)if(!eo)this.update(no=>({...no,screens:no.screens.filter(ro=>ro._id!==ue)}));else{const no=get_store_value(this.store).screens.findIndex(ro=>ro._id===eo._id);no===-1?this.update(ro=>({...ro,screens:[...ro.screens,eo]})):this.update(ro=>(ro.screens[no]=eo,ro))}}async deleteScreen(ue){const eo=[ue];let no=[],ro=[];eo.filter(ao=>!!ao._id||!!ao._rev).forEach(ao=>{no.push(API.deleteScreen(ao._id,ao._rev)),ro.push(ao.routing.route)}),await Promise.all(no),await navigationStore.deleteLink(ro);const oo=eo.map(ao=>ao._id),io=await API.fetchAppRoutes();this.update(ao=>(ao.screens=ao.screens.filter(so=>!oo.includes(so._id)),ao.selectedScreenId&&oo.includes(ao.selectedScreenId)&&(delete ao.selectedScreenId,componentStore.update(so=>(delete so.selectedComponentId,so))),appStore.update(so=>({...so,routes:io.routes})),ao))}async updateSetting(ue,eo,no){if(!ue||!eo)return;const ro=so=>{if(!so||deepGet(so,eo)===no)return!1;deepSet(so,eo,no)};await this.patch(ro,ue._id);const oo=get_store_value(this.store),io=oo.screens.find(so=>so._id===ue._id);if(!io)return;const ao=oo.screens.filter(so=>so.routing.roleId===io.routing.roleId&&so.routing.homeScreen&&so._id!==ue._id);if(ao.length&&io.routing.homeScreen){const so=lo=>{lo.routing.homeScreen=!1};for(let lo of ao)await this.patch(so,lo._id)}}async removeCustomLayout(ue){const eo=get_store_value(layoutStore).layouts.find(ro=>ro._id===ue.layoutId),no=ro=>{delete ro.layoutId,ro.showNavigation=(eo==null?void 0:eo.props.navigation)!=="None",ro.width=(eo==null?void 0:eo.props.width)||"Large"};await this.patch(no,ue._id)}async enrichEmptySettings(ue){findAllMatchingComponents(ue.props,no=>no).forEach(no=>{componentStore.enrichEmptySettings(no,{screen:ue})})}}const screenStore=new ScreenStore,selectedScreen=derived(screenStore,to=>to.screens.find(ue=>ue._id===to.selectedScreenId)),sortedScreens=derived(screenStore,to=>to.screens.slice().sort((ue,eo)=>{const no=getRolePriority(ue.routing.roleId),ro=getRolePriority(eo.routing.roleId);if(no!==ro)return no>ro?-1:1;const oo=!!ue.routing.homeScreen,io=!!eo.routing.homeScreen;if(oo!==io)return oo?-1:1;const ao=ue.routing.route.split("/"),so=eo.routing.route.split("/");let lo=Math.min(ao.length,so.length);for(let co=0;co<lo;co++)if(ao[co]!==so[co])return ao[co]<so[co]?-1:1;return ao.length<so.length?-1:1})),INITIAL_COMPONENTS_STATE={components:{},customComponents:[],settingsCache:{}};class ComponentStore extends BudiStore{constructor(){super(INITIAL_COMPONENTS_STATE),this.reset=this.reset.bind(this),this.refreshDefinitions=this.refreshDefinitions.bind(this),this.getDefinition=this.getDefinition.bind(this),this.getDefaultDatasource=this.getDefaultDatasource.bind(this),this.enrichEmptySettings=this.enrichEmptySettings.bind(this),this.createInstance=this.createInstance.bind(this),this.create=this.create.bind(this),this.patch=this.patch.bind(this),this.delete=this.delete.bind(this),this.copy=this.copy.bind(this),this.paste=this.paste.bind(this),this.select=this.select.bind(this),this.getPrevious=this.getPrevious.bind(this),this.getNext=this.getNext.bind(this),this.selectPrevious=this.selectPrevious.bind(this),this.selectNext=this.selectNext.bind(this),this.moveUp=this.moveUp.bind(this),this.moveDown=this.moveDown.bind(this),this.updateStyle=this.updateStyle.bind(this),this.updateStyles=this.updateStyles.bind(this),this.updateCustomStyle=this.updateCustomStyle.bind(this),this.updateConditions=this.updateConditions.bind(this),this.requestEjectBlock=this.requestEjectBlock.bind(this),this.handleEjectBlock=this.handleEjectBlock.bind(this),this.updateSetting=this.updateSetting.bind(this),this.updateComponentSetting=this.updateComponentSetting.bind(this),this.addParent=this.addParent.bind(this),this.isCached=this.isCached.bind(this),this.cacheSettings=this.cacheSettings.bind(this),this.getComponentSettings=this.getComponentSettings.bind(this)}reset(){this.store.set({...INITIAL_COMPONENTS_STATE})}async refreshDefinitions(ue){if(!ue)return;const eo=await API.fetchComponentLibDefinitions(ue),no=Object.keys(eo).filter(ro=>ro.startsWith("plugin/"));return this.update(ro=>({...ro,components:eo,customComponents:no})),appStore.syncClientFeatures(eo.features),appStore.syncClientTypeSupportPresets((eo==null?void 0:eo.typeSupportPresets)??{}),eo}getDefinition(ue){return ue?get_store_value(this.store).components[ue]:null}getDefaultDatasource(){const ue=get_store_value(tables).list.filter(no=>no._id!=="ta_users");let eo=ue.find(no=>no.sourceId===BUDIBASE_INTERNAL_DB_ID&&no.sourceType===DB_TYPE_INTERNAL);return eo||(eo=ue.find(no=>no.sourceId===DEFAULT_BB_DATASOURCE_ID&&no.sourceType===DB_TYPE_INTERNAL),eo)?eo:ue.find(no=>no.sourceType===DB_TYPE_EXTERNAL)}migrateSettings(ue){var io;const eo="@budibase/standard-components";let no=!1;if((ue==null?void 0:ue._component)===`${eo}/formblock`){if(!("buttons"in ue))ue.buttons=buildFormBlockButtonConfig(ue),no=!0;else if(ue.buttons==null){const{_id:ao,actionType:so,dataSource:lo}=ue;ue.buttons=buildFormBlockButtonConfig({_id:ao,actionType:so,dataSource:lo}),no=!0}"buttonPosition"in ue||(ue.buttonPosition="top",no=!0)}if(!(ue!=null&&ue._component))return no;const ro=this.getDefinition(ue==null?void 0:ue._component),oo=(io=ro==null?void 0:ro.settings)==null?void 0:io.filter(ao=>{var so;return(so=ao==null?void 0:ao.type)==null?void 0:so.startsWith("filter")});for(let ao of oo||[])if(Array.isArray(ue[ao.key])){const lo=processSearchFilters(ue[ao.key]);ue[ao.key]=lo,no=!0}return no}enrichEmptySettings(ue,eo){if(!(ue!=null&&ue._component))return;const no=this.getDefaultDatasource(),ro=this.getComponentSettings(ue._component),{parent:oo,screen:io,useDefaultValues:ao}=eo||{},so=(oo==null?void 0:oo._id)||ue._id;if(io&&(ro.forEach(lo=>{var uo,fo;const co=ue[lo.key];if(co==null||co==="")if(lo.type==="multifield"&&lo.selectAllFields)ue[lo.key]=Object.keys((no==null?void 0:no.schema)||{});else if((lo.type==="dataSource"||lo.type==="table")&&no)ue[lo.key]={label:no.name,tableId:no._id,resourceId:no._id,type:"table"};else if(lo.type==="dataProvider"){const ho=findComponentPath(io.props,so).filter(_o=>{var go;return(go=_o._component)==null?void 0:go.endsWith("/dataprovider")});if(ho.length){const _o=(uo=ho[ho.length-1])==null?void 0:uo._id;ue[lo.key]=`{{ literal ${makePropSafe(_o)} }}`}}else if(lo.type.startsWith("field/")){let po=getComponentFieldOptions(io.props,so,lo.type,!1);const ho=findClosestMatchingComponent(io.props,so,go=>go._component==="@budibase/standard-components/form"),_o=Object.keys(buildFormSchema(ho)||{});po=po.filter(go=>!_o.includes(go)),po[0]&&(ue[lo.key]=po[0],ue.label=po[0])}else ao&&lo.defaultValue!==void 0&&(ue[lo.key]=lo.defaultValue);else if(lo.type==="dataProvider"){const po=findAllMatchingComponents(io==null?void 0:io.props,_o=>_o._component==="@budibase/standard-components/dataprovider");if(!(po==null?void 0:po.some(_o=>{var go;return(go=co.includes)==null?void 0:go.call(co,_o._id)})))if(po.length){const _o=(fo=po[po.length-1])==null?void 0:fo._id;ue[lo.key]=`{{ literal ${makePropSafe(_o)} }}`}else delete ue[lo.key]}}),ue._component.endsWith("/cardsblock")&&["cardTitle","cardSubtitle","cardDescription"].every(co=>!ue[co])&&!ue.cardImageURL)){const{_id:co,dataSource:uo}=ue;if(uo){const{schema:fo,table:po}=getSchemaForDatasource(io,uo,{}),ho=wo=>(Array.isArray(wo)||(wo=[wo]),Object.entries(fo||{}).filter(([ko,So])=>wo.includes(So.type)&&!So.autoColumn&&ko!==(po==null?void 0:po.primaryDisplay)&&!ko.startsWith("_")).map(([ko])=>ko)),_o=(wo,ko,...So)=>{So.some(Ao=>Ao==null)?ue[wo]=ko:(So.unshift(`${co}-repeater`),ue[wo]=`{{ ${So.map(makePropSafe).join(".")} }}`)},go=[...ho(FieldType.STRING),...ho(FieldType.OPTIONS),...ho(FieldType.ARRAY),...ho(FieldType.NUMBER)],bo=ho(FieldType.LONGFORM);po!=null&&po.primaryDisplay&&(fo!=null&&fo[po.primaryDisplay])&&go.unshift(po.primaryDisplay),_o("cardTitle","Title",go[0]),_o("cardSubtitle","Subtitle",go[1]);const vo=bo[0]??go[2];_o("cardDescription","Description",vo);let yo=ho(FieldType.ATTACHMENT_SINGLE)[0];yo?_o("cardImageURL",null,yo,"url"):(yo=ho(FieldType.ATTACHMENTS)[0],yo&&_o("cardImageURL",null,yo,0,"url"))}}}createInstance(ue,eo,no){var so;const ro=get_store_value(selectedScreen);if(!ro)throw"A valid screen must be selected";const oo=this.getDefinition(ue);if(!oo)return null;let io={_id:uuid$2(),_component:oo.component,_styles:{normal:{},hover:{},active:{}},_instanceName:`New ${oo.friendlyName||oo.name}`,...eo};this.enrichEmptySettings(io,{parent:no,screen:ro,useDefaultValues:!0});try{this.migrateSettings(io)}catch(lo){throw console.error(lo),lo}let ao={};if(oo.hasChildren&&(ao._children=[]),ue.endsWith("/formstep")){const lo=findClosestMatchingComponent(ro.props,(so=get_store_value(selectedComponent))==null?void 0:so._id,uo=>uo._component.endsWith("/form")),co=findAllMatchingComponents(lo,uo=>uo._component.endsWith("/formstep"));ao.step=co.length+1,ao._instanceName=`Step ${co.length+1}`}return{...fp$1.cloneDeep(io),...ao}}async create(ue,eo,no,ro){const oo=get_store_value(this.store),io=this.createInstance(ue,eo,no);if(io)return no&&ro!=null?await screenStore.patch(ao=>{var lo;let so=findComponent(ao.props,no);(lo=so._children)!=null&&lo.length?so._children.splice(ro,0,io):so._children=[io]},null):await screenStore.patch(ao=>{let so=oo.selectedComponentId;so!=null&&so.startsWith(`${ao._id}-`)&&(so=ao.props._id);const lo=findComponent(ao.props,so);if(!lo)return!1;let co;if(lo){const uo=this.getDefinition(lo._component);uo!=null&&uo.hasChildren?co=lo:co=findComponentParent(ao.props,lo._id)}else co=ao.props;if(!co)return!1;co._children||(co._children=[]),co._children.push(io)},null),this.update(ao=>(ao.selectedComponentId=io._id,ao)),componentTreeNodesStore.makeNodeVisible(io._id),analytics.captureEvent(Events.COMPONENT_CREATED,{name:io._component}),io}async patch(ue,eo,no){if(!eo||!no){const oo=get_store_value(this.store);eo=eo??oo.selectedComponentId??void 0;const io=get_store_value(screenStore);no=no||io.selectedScreenId}if(!eo||!no||!ue)return;const ro=oo=>{let io=findComponent(oo.props,eo);if(!io)return!1;const ao=ue(io,oo);return this.migrateSettings(io)?null:ao};await screenStore.patch(ro,no)}async delete(ue){if(!ue)return;const eo=get_store_value(this.store);let no="";eo.selectedComponentId===ue._id&&(no=this.getNext(),no||(no=this.getPrevious())),no&&(no.endsWith("-navigation")&&(no=no.replace("-navigation","-screen")),this.update(ro=>(ro.selectedComponentId=no,ro))),await screenStore.patch(ro=>{if(ue=findComponent(ro.props,ue._id),!ue)return!1;const oo=findComponentParent(ro.props,ue._id);if(!oo)return!1;oo._children=oo._children.filter(io=>io._id!==ue._id)},null)}copy(ue,eo=!1,no=!0){if(this.update(ro=>(ro.componentToPaste=fp$1.cloneDeep(ue),ro.componentToPaste.isCut=eo,ro.componentToPaste.screenId=get_store_value(screenStore).selectedScreenId,ro)),eo&&no){const ro=get_store_value(selectedScreen),oo=findComponentParent(ro==null?void 0:ro.props,ue._id);oo&&this.update(io=>(io.selectedComponentId=oo._id,io))}}select(ue){this.update(eo=>(eo.selectedComponentId=ue,eo))}async paste(ue,eo,no,ro=!0){const oo=get_store_value(this.store);if(!oo.componentToPaste)return;let io="",ao=fp$1.cloneDeep(oo.componentToPaste);ao.isCut&&this.update(co=>(delete co.componentToPaste,co));const so=co=>{var ho;if(ue=findComponent(co.props,ue._id),!ue)return!1;const uo=ao.isCut,fo=ao.screenId,po=ao._id;if(delete ao.isCut,delete ao.screenId,uo||(ao=makeComponentUnique(ao)),io=ao._id,fo&&fo!==co._id)for(let _o of Object.keys(((ho=ao._styles)==null?void 0:ho.normal)||{}))_o.startsWith("--grid")&&(_o.endsWith("-start")||_o.endsWith("-end"))&&delete ao._styles.normal[_o];if(uo){const _o=findComponentParent(co.props,po);_o!=null&&_o._children&&(_o._children=_o._children.filter(go=>go._id!==po))}if(eo==="inside"){const _o=this.getDefinition(ue._component);_o!=null&&_o.hasChildren||(eo="below")}if(eo==="inside")ue._children||(ue._children=[]),ue._children.push(ao);else{const _o=findComponentParent(co.props,ue._id);if(!(_o!=null&&_o._children))return!1;const go=_o._children.findIndex(vo=>vo._id===ue._id),bo=eo==="above"?go:go+1;_o._children.splice(bo,0,ao)}},lo=(no==null?void 0:no._id)??oo.selectedScreenId??null;await screenStore.patch(so,lo),ro&&this.update(co=>(co.selectedScreenId=lo,co.selectedComponentId=io,co)),componentTreeNodesStore.makeNodeVisible(io)}getPrevious(){var so,lo;const eo=get_store_value(this.store).selectedComponentId,no=get_store_value(selectedScreen);if(!no)throw"A valid screen must be selected";const ro=findComponentParent(no.props,eo),oo=ro==null?void 0:ro._children.findIndex(co=>co._id===eo),io=`${no._id}-screen`,ao=`${no._id}-navigation`;if(eo===io)return null;if(eo===ao)return io;if(ro._id===no.props._id&&oo===0)return ao;if(oo>0){const co=ro._children[oo-1];if((so=co._children)!=null&&so.length&&componentTreeNodesStore.isNodeExpanded(co._id)){let uo=co;for(;(lo=uo._children)!=null&&lo.length&&componentTreeNodesStore.isNodeExpanded(uo._id);)uo=uo._children[uo._children.length-1];return uo._id}return co._id}return ro._id}getNext(){var fo,po;const ue=get_store_value(this.store),eo=get_store_value(selectedComponent),no=eo==null?void 0:eo._id,ro=get_store_value(selectedScreen);if(!ro)throw"A valid screen must be selected";const oo=findComponentParent(ro.props,no),io=oo==null?void 0:oo._children.findIndex(ho=>ho._id===no),ao=`${ro._id}-screen`,so=`${ro._id}-navigation`;if(ue.selectedComponentId===ao)return so;if((fo=eo==null?void 0:eo._children)!=null&&fo.length&&(ue.selectedComponentId===so||componentTreeNodesStore.isNodeExpanded(eo._id)))return eo._children[0]._id;if(!oo)return null;if(io<oo._children.length-1)return oo._children[io+1]._id;let lo=oo,co=findComponentParent(ro.props,lo._id),uo=co==null?void 0:co._children.findIndex(ho=>ho._id===lo._id);for(;co!=null&&uo===((po=co._children)==null?void 0:po.length)-1;)lo=co,co=findComponentParent(ro.props,lo._id),uo=co==null?void 0:co._children.findIndex(ho=>ho._id===lo._id);return co?co._children[uo+1]._id:null}selectPrevious(){const ue=this.getPrevious();ue&&this.update(eo=>(eo.selectedComponentId=ue,eo))}selectNext(){const ue=this.getNext();ue&&this.update(eo=>(eo.selectedComponentId=ue,eo))}async moveUp(ue){await screenStore.patch(eo=>{const no=ue==null?void 0:ue._id,ro=findComponentParent(eo.props,no),oo=ro==null?void 0:ro._children.findIndex(ao=>ao._id===no);if(!ro||oo===0&&ro._id===eo.props._id)return;const io=fp$1.cloneDeep(ro._children[oo]);if(ro._children=ro._children.filter(ao=>ao._id!==no),oo>0){const ao=ro._children[oo-1],so=this.getDefinition(ao._component);so!=null&&so.hasChildren&&componentTreeNodesStore.isNodeExpanded(ao._id)?ao._children.push(io):ro._children.splice(oo-1,0,io)}else if(ro._id!==eo.props._id){const ao=findComponentParent(eo.props,ro._id),so=ao._children.findIndex(lo=>lo._id===ro._id);ao._children.splice(so,0,io)}},null)}async moveDown(ue){await screenStore.patch(eo=>{var ao;const no=ue==null?void 0:ue._id,ro=findComponentParent(eo.props,no);if(!((ao=ro==null?void 0:ro._children)!=null&&ao.length))return!1;const oo=ro._children.findIndex(so=>so._id===no);if(oo===ro._children.length-1&&ro._id===eo.props._id)return;const io=fp$1.cloneDeep(ro._children[oo]);if(ro._children=ro._children.filter(so=>so._id!==no),oo<ro._children.length){const so=ro._children[oo],lo=this.getDefinition(so._component);lo!=null&&lo.hasChildren&&componentTreeNodesStore.isNodeExpanded(so._id)?so._children.splice(0,0,io):ro._children.splice(oo+1,0,io)}else{const so=findComponentParent(eo.props,ro._id),lo=so._children.findIndex(co=>co._id===ro._id);so._children.splice(lo+1,0,io)}},null)}async updateStyle(ue,eo){await this.patch(no=>{eo==null||eo===""?delete no._styles.normal[ue]:no._styles.normal[ue]=eo})}async updateStyles(ue,eo){const no=ro=>{ro._styles.normal={...ro._styles.normal,...ue}};await this.patch(no,eo)}async updateCustomStyle(ue){await this.patch(eo=>{eo._styles.custom=ue})}async updateConditions(ue){await this.patch(eo=>{eo._conditions=ue})}async updateSetting(ue,eo){await this.patch(this.updateComponentSetting(ue,eo))}updateComponentSetting(ue,eo){return no=>{if(!ue||!no||no[ue]===eo)return!1;const ro=this.getComponentSettings(no._component),oo=ro.find(io=>io.key===ue);if(ro.forEach(io=>{(ue===io.resetOn||Array.isArray(io.resetOn)&&io.resetOn.includes(ue))&&(no[io.key]=io.defaultValue||null)}),(oo==null?void 0:oo.type)==="dataSource"||(oo==null?void 0:oo.type)==="table"){const{schema:io}=getSchemaForDatasource(null,eo,null),ao=Object.keys(io||{});ro.filter(lo=>lo.type==="multifield"&&lo.selectAllFields).map(lo=>lo.key).forEach(lo=>{no[lo]=ao})}return no[ue]=eo,!0}}requestEjectBlock(ue){previewStore.sendEvent("eject-block",ue)}async handleEjectBlock(ue,eo){let no;await screenStore.patch(ro=>{var lo;const oo=findComponent(ro.props,ue),io=findComponentParent(ro.props,ue);if(!oo||!((lo=io==null?void 0:io._children)!=null&&lo.length))return!1;analytics.captureEvent(Events.BLOCK_EJECTED,{block:oo._component});const ao=findAllMatchingComponents(eo,co=>co._containsSlot)[0];ao&&(delete ao._containsSlot,ao._children=[...ao._children||[],...oo._children||[]]),eo=makeComponentUnique(eo);const so=io._children.findIndex(co=>co._id===ue);io._children[so]=eo,no=eo._id},null),no&&this.update(ro=>(ro.selectedComponentId=no,ro))}async addParent(ue,eo){if(!ue||!eo)return;const no=this.createInstance(eo,null,parent);no&&(await screenStore.patch(ro=>{let oo=findComponent(ro.props,ue),io=findComponentParent(ro.props,ue);if(!oo||!io)return!1;const ao=io._children.findIndex(so=>so._id===ue);if(ao===-1)return!1;io._children[ao]={...no,_children:[oo]}},null),this.update(ro=>(ro.selectedComponentId=no._id,ro)))}isCached(ue){const eo=get_store_value(this.store).settingsCache;return ue in eo}cacheSettings(ue,eo){var ro,oo;let no=[];return eo&&(no=((ro=eo.settings)==null?void 0:ro.filter(io=>!io.section))??[],(oo=eo.settings)==null||oo.filter(io=>io.section).forEach(io=>{no=no.concat((io.settings||[]).map(ao=>({...ao,section:io.name})))})),this.update(io=>({...io,settingsCache:{...io.settingsCache,[ue]:no}})),no}getComponentSettings(ue){if(!ue)return[];!ue.startsWith("plugin/")&&!ue.startsWith("@budibase")&&(ue=`@budibase/standard-components/${ue}`);const eo=get_store_value(this.store).settingsCache[ue];if(eo)return eo;const no=this.getDefinition(ue);return this.cacheSettings(ue,no)}}const componentStore=new ComponentStore,selectedComponent=derived([componentStore,selectedScreen],([to,ue])=>{var ro;if(ue&&((ro=to.selectedComponentId)!=null&&ro.startsWith(`${ue._id}-`)))return{...ue.props,_id:ue.props._id};if(!ue||!to.selectedComponentId)return null;const eo=findComponent(ue==null?void 0:ue.props,to.selectedComponentId),no=eo&&fp$1.cloneDeep(eo);return componentStore.migrateSettings(no),no}),INITIAL_NAVIGATION_STATE={navigation:"Top",links:[],textAlign:"Left"};class NavigationStore extends BudiStore{constructor(){super(INITIAL_NAVIGATION_STATE)}syncAppNavigation(ue){this.update(eo=>({...eo,...ue}))}reset(){this.store.set({...INITIAL_NAVIGATION_STATE})}async save(ue){const eo=get_store_value(appStore).appId,no=await API.saveAppMetadata(eo,{navigation:ue});no.navigation&&this.syncAppNavigation(no.navigation)}async saveLink(ue,eo,no){const ro=get_store_value(this.store);let oo=[...(ro==null?void 0:ro.links)??[]];oo.find(io=>io.url===ue&&io.text===eo)||(oo.push({text:eo,url:ue,type:"link",roleId:no}),await this.save({...ro,links:[...oo]}))}async deleteLink(ue){const eo=get_store_value(this.store);let no=eo==null?void 0:eo.links;no!=null&&no.length&&(ue=Array.isArray(ue)?ue:[ue],no=no.filter(ro=>!ue.includes(ro.url)),no.forEach(ro=>{var oo;ro.type==="sublinks"&&((oo=ro.subLinks)!=null&&oo.length)&&(ro.subLinks=ro.subLinks.filter(io=>!ue.includes(io.url)))}),await this.save({...eo,links:no}))}syncMetadata(ue){const{navigation:eo}=ue;this.syncAppNavigation(eo)}}const navigationStore=new NavigationStore;class ThemeStore extends BudiStore{constructor(){super({theme:DefaultAppTheme$1,customTheme:{}}),this.syncAppTheme=ue=>{this.update(eo=>{const no=ensureValidTheme(ue.theme,DefaultAppTheme$1);return{...eo,theme:no,customTheme:ue.customTheme||{}}})},this.save=async(ue,eo)=>{const no=await API.saveAppMetadata(eo,{theme:ue});this.update(ro=>({...ro,theme:ensureValidTheme(no.theme,DefaultAppTheme$1)}))},this.saveCustom=async(ue,eo)=>{const no={...get_store_value(this).customTheme,...ue},ro=await API.saveAppMetadata(eo,{customTheme:no});this.update(oo=>({...oo,customTheme:ro.customTheme||{}}))},this.syncMetadata=ue=>{const{theme:eo,customTheme:no}=ue;this.update(ro=>({...ro,theme:ensureValidTheme(eo,DefaultAppTheme$1),customTheme:no||{}}))}}}const themeStore=new ThemeStore,createBuilderWebsocket=to=>{const ue=createWebsocket("/socket/builder");return ue.on("connect",()=>{ue.emit(BuilderSocketEvent.SelectApp,{appId:to},({users:eo})=>{userStore.init(eo)})}),ue.on("connect_error",eo=>{console.error("Failed to connect to builder websocket:",eo.message)}),ue.on("disconnect",()=>{userStore.reset()}),ue.onOther(SocketEvent.UserUpdate,({user:eo})=>{userStore.updateUser(eo)}),ue.onOther(SocketEvent.UserDisconnect,({sessionId:eo})=>{userStore.removeUser(eo)}),ue.onOther(BuilderSocketEvent.LockTransfer,({userId:eo})=>{var no,ro;eo===((ro=(no=get_store_value(auth))==null?void 0:no.user)==null?void 0:ro._id)&&appStore.update(oo=>({...oo,hasLock:!0}))}),ue.onOther(BuilderSocketEvent.TableChange,({id:eo,table:no})=>{tables.replaceTable(eo,no)}),ue.onOther(BuilderSocketEvent.DatasourceChange,({id:eo,datasource:no})=>{datasources.replaceDatasource(eo,no)}),ue.onOther(BuilderSocketEvent.RoleChange,({id:eo,role:no})=>{roles.replace(eo,no)}),ue.onOther(BuilderSocketEvent.ScreenChange,({id:eo,screen:no})=>{screenStore.replace(eo,no)}),ue.onOther(BuilderSocketEvent.AppMetadataChange,({metadata:eo})=>{appStore.syncMetadata(eo),themeStore.syncMetadata(eo),navigationStore.syncMetadata(eo),snippets$1.syncMetadata(eo)}),ue.onOther(BuilderSocketEvent.AppPublishChange,async({user:eo,published:no})=>{await appsStore.load(),no&&await deploymentStore.load();const ro=no?"published":"unpublished";notifications.success(`${getUserLabel(eo)} ${ro} this app`)}),ue.onOther(BuilderSocketEvent.AutomationChange,({id:eo,automation:no})=>{automationStore.actions.replace(eo,no)}),ue};function create_fragment$9f(to){let ue;return{c(){ue=element("div"),ue.innerHTML=`In this section you can manage the data for your app:
|
|
509
509
|
<ul class="feature-list"><li>Connect data sources</li> <li>Edit data</li> <li>Manage read & write access</li> <li>Create views</li> <li>Add bindings</li></ul>`},m(eo,no){insert$1(eo,ue,no)},p:noop$6,i:noop$6,o:noop$6,d(eo){eo&&detach(ue)}}}class OnboardingData extends SvelteComponent{constructor(ue){super(),init$3(this,ue,null,create_fragment$9f,safe_not_equal,{})}}function create_fragment$9e(to){let ue;return{c(){ue=element("div"),ue.innerHTML=`After setting up your data, Design is where you build the screens for your
|
|
510
510
|
app:
|
|
511
511
|
<ul class="feature-list"><li>Add screens</li> <li>Add components</li> <li>Choose your theme</li> <li>Edit navigation</li></ul>`},m(eo,no){insert$1(eo,ue,no)},p:noop$6,i:noop$6,o:noop$6,d(eo){eo&&detach(ue)}}}class OnboardingDesign extends SvelteComponent{constructor(ue){super(),init$3(this,ue,null,create_fragment$9e,safe_not_equal,{})}}function create_fragment$9d(to){let ue;return{c(){ue=element("div"),ue.innerHTML=`Once you’re happy with your app you can publish it to production!
|
|
@@ -516,7 +516,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
516
516
|
enhance user experience.
|
|
517
517
|
|
|
518
518
|
<p>Breaking the form into multiple steps can significantly improve usability by
|
|
519
|
-
making the process more digestible for your users.</p>`},m(eo,no){insert$1(eo,ue,no)},p:noop$6,i:noop$6,o:noop$6,d(eo){eo&&detach(ue)}}}class NewFormSteps extends SvelteComponent{constructor(ue){super(),init$3(this,ue,null,create_fragment$9b,safe_not_equal,{})}}const ONBOARDING_EVENT_PREFIX="onboarding",TOUR_STEP_KEYS={BUILDER_APP_PUBLISH:"builder-app-publish",BUILDER_DATA_SECTION:"builder-data-section",BUILDER_DESIGN_SECTION:"builder-design-section",BUILDER_USER_MANAGEMENT:"builder-user-management",BUILDER_AUTOMATION_SECTION:"builder-automation-section",FEATURE_USER_MANAGEMENT:"feature-user-management",BUILDER_FORM_CREATE_STEPS:"builder-form-create-steps",BUILDER_FORM_VIEW_UPDATE_STEPS:"builder-form-view-update-steps",BUILDER_FORM_ROW_ID:"builder-form-row-id"},TOUR_KEYS={TOUR_BUILDER_ONBOARDING:"builder-onboarding",FEATURE_ONBOARDING:"feature-onboarding",BUILDER_FORM_CREATE:"builder-form-create",BUILDER_FORM_VIEW_UPDATE:"builder-form-view-update"},getCurrentStepIdx=(to,ue)=>{if(to!=null&&to.length)return to!=null&&to.length&&!ue?0:to.findIndex(eo=>eo.id===ue)},endUserOnboarding=async({skipped:to=!1}={})=>{if(get_store_value(auth).user){try{await API.updateSelf({onboardedAt:new Date().toISOString()}),to&&tourEvent("skipped"),await auth.getSelf(),builderStore.endBuilderOnboarding(),builderStore.setTour()}catch(ue){return console.error("Onboarding failed",ue),!1}return!0}},endTour=async({key:to,skipped:ue=!1}={})=>{const{tours:eo={}}=get_store_value(auth).user;eo[to]=new Date().toISOString(),await API.updateSelf({tours:eo}),ue&&tourEvent(to,ue),await auth.getSelf(),builderStore.setTour()},tourEvent=(to,ue)=>{analytics.captureEvent(`${ONBOARDING_EVENT_PREFIX}:${to}`,{eventSource:EventSource.PORTAL,skipped:ue})},getTours=()=>({[TOUR_KEYS.TOUR_BUILDER_ONBOARDING]:{steps:[{id:TOUR_STEP_KEYS.BUILDER_DATA_SECTION,title:"Data",route:"/builder/app/:application/data",layout:OnboardingData,query:".topleftnav .spectrum-Tabs-item#builder-data-tab",onLoad:async()=>{tourEvent(TOUR_STEP_KEYS.BUILDER_DATA_SECTION)},align:"left"},{id:TOUR_STEP_KEYS.BUILDER_DESIGN_SECTION,title:"Design",route:"/builder/app/:application/design",layout:OnboardingDesign,query:".topleftnav .spectrum-Tabs-item#builder-design-tab",onLoad:()=>{tourEvent(TOUR_STEP_KEYS.BUILDER_DESIGN_SECTION)},align:"left"},{id:TOUR_STEP_KEYS.BUILDER_AUTOMATION_SECTION,title:"Automations",route:"/builder/app/:application/automation",query:".topleftnav .spectrum-Tabs-item#builder-automation-tab",body:"Once you have your app screens made, you can set up automations to fit in with your current workflow",onLoad:()=>{tourEvent(TOUR_STEP_KEYS.BUILDER_AUTOMATION_SECTION)},align:"left"},{id:TOUR_STEP_KEYS.BUILDER_USER_MANAGEMENT,title:"Users",query:".toprightnav #builder-app-users-button",body:"Add users to your app and control what level of access they have.",onLoad:()=>{tourEvent(TOUR_STEP_KEYS.BUILDER_USER_MANAGEMENT)}},{id:TOUR_STEP_KEYS.BUILDER_APP_PUBLISH,title:"Publish",layout:OnboardingPublish,route:"/builder/app/:application/design",query:".toprightnav #builder-app-publish-button",onLoad:()=>{tourEvent(TOUR_STEP_KEYS.BUILDER_APP_PUBLISH)},onComplete:endUserOnboarding}],onSkip:async()=>{await endUserOnboarding({skipped:!0})},endRoute:"/builder/app/:application/data"},[TOUR_KEYS.FEATURE_ONBOARDING]:{steps:[{id:TOUR_STEP_KEYS.FEATURE_USER_MANAGEMENT,title:"Users",query:".toprightnav #builder-app-users-button",body:"Add users to your app and control what level of access they have.",onLoad:()=>{tourEvent(TOUR_STEP_KEYS.FEATURE_USER_MANAGEMENT)},onComplete:endUserOnboarding}]},[TOUR_KEYS.BUILDER_FORM_CREATE]:{steps:[{id:TOUR_STEP_KEYS.BUILDER_FORM_CREATE_STEPS,title:"Add multiple steps",layout:NewFormSteps,query:"#steps-prop-control-wrap",onComplete:()=>{builderStore.highlightSetting(),endTour({key:TOUR_KEYS.BUILDER_FORM_CREATE})},onLoad:()=>{tourEvent(TOUR_STEP_KEYS.BUILDER_FORM_CREATE_STEPS),builderStore.highlightSetting("steps","info")},align:"left-outside"}]},[TOUR_KEYS.BUILDER_FORM_VIEW_UPDATE]:{steps:[{id:TOUR_STEP_KEYS.BUILDER_FORM_ROW_ID,title:"Add row ID to update a row",layout:NewViewUpdateFormRowId,query:"#rowId-prop-control-wrap",onLoad:()=>{tourEvent(TOUR_STEP_KEYS.BUILDER_FORM_ROW_ID),builderStore.highlightSetting("rowId","info")},align:"left-outside"},{id:TOUR_STEP_KEYS.BUILDER_FORM_VIEW_UPDATE_STEPS,title:"Add multiple steps",layout:NewFormSteps,query:"#steps-prop-control-wrap",onComplete:()=>{builderStore.highlightSetting(),endTour({key:TOUR_KEYS.BUILDER_FORM_VIEW_UPDATE})},onLoad:()=>{tourEvent(TOUR_STEP_KEYS.BUILDER_FORM_VIEW_UPDATE_STEPS),builderStore.highlightSetting("steps","info")},align:"left-outside",scrollIntoView:!0}],onSkip:async()=>{builderStore.highlightSetting(),endTour({key:TOUR_KEYS.BUILDER_FORM_VIEW_UPDATE,skipped:!0})}}}),TOURS=getTours(),TOURSBYSTEP=Object.keys(TOURS).reduce((to,ue)=>(TOURS[ue].steps.forEach(eo=>{to[eo.id]=eo,to[eo.id].tour=ue}),to),{}),INITIAL_BUILDER_STATE={previousTopNavPath:{},highlightedSetting:null,propertyFocus:null,builderSidePanel:!1,onboarding:!1,tourNodes:null,tourKey:null,tourStepKey:null,hoveredComponentId:null};class BuilderStore extends BudiStore{constructor(){super({...INITIAL_BUILDER_STATE}),this.init=this.init.bind(this),this.refresh=this.refresh.bind(this),this.reset=this.reset.bind(this),this.highlightSetting=this.highlightSetting.bind(this),this.propertyFocus=this.propertyFocus.bind(this),this.hideBuilderSidePanel=this.hideBuilderSidePanel.bind(this),this.showBuilderSidePanel=this.showBuilderSidePanel.bind(this),this.setPreviousTopNavPath=this.setPreviousTopNavPath.bind(this),this.selectResource=this.selectResource.bind(this),this.registerTourNode=this.registerTourNode.bind(this),this.destroyTourNode=this.destroyTourNode.bind(this),this.startBuilderOnboarding=this.startBuilderOnboarding.bind(this)}init(ue){if(!(ue!=null&&ue.appId)){console.error("BuilderStore: No appId supplied for websocket");return}this.websocket||(this.websocket=createBuilderWebsocket(ue.appId))}refresh(){const ue=get_store_value(this.store);this.store.set(ue)}reset(){var ue;this.store.set({...INITIAL_BUILDER_STATE}),(ue=this.websocket)==null||ue.disconnect(),this.websocket=void 0}highlightSetting(ue,eo){this.update(no=>({...no,highlightedSetting:ue?{key:ue,type:eo||"info"}:null}))}propertyFocus(ue){this.update(eo=>({...eo,propertyFocus:ue}))}showBuilderSidePanel(){this.update(ue=>({...ue,builderSidePanel:!0}))}hideBuilderSidePanel(){this.update(ue=>({...ue,builderSidePanel:!1}))}setPreviousTopNavPath(ue,eo){this.update(no=>({...no,previousTopNavPath:{...no.previousTopNavPath||{},[ue]:eo}}))}selectResource(ue){var eo;(eo=this.websocket)==null||eo.emit(BuilderSocketEvent.SelectResource,{resourceId:ue})}registerTourNode(ue,eo){this.update(no=>({...no,tourNodes:{...no.tourNodes,[ue]:eo}}))}destroyTourNode(ue){var no;const eo=get_store_value(this.store);if((no=eo.tourNodes)!=null&&no[ue]){const ro={...eo.tourNodes};delete ro[ue],this.update(oo=>({...oo,tourNodes:ro}))}}startBuilderOnboarding(){this.update(ue=>({...ue,onboarding:!0,tourKey:TOUR_KEYS.TOUR_BUILDER_ONBOARDING}))}endBuilderOnboarding(){this.update(ue=>({...ue,onboarding:!1}))}setTour(ue){this.update(eo=>({...eo,tourStepKey:null,tourNodes:null,tourKey:ue||null}))}}const builderStore=new BuilderStore,INITIAL_HOVER_STATE={componentId:null};class HoverStore extends BudiStore{constructor(){super({...INITIAL_HOVER_STATE}),this.hover=this.hover.bind(this)}hover(ue,eo=!0){clearTimeout(this.hoverTimeout),ue?this.processHover(ue,eo):this.hoverTimeout=setTimeout(()=>{this.processHover(ue,eo)},10)}processHover(ue,eo){ue!==get_store_value(this.store).componentId&&(this.update(no=>(no.componentId=ue,no)),eo&&previewStore.sendEvent("hover-component",ue))}}const hoverStore=new HoverStore,INITIAL_PREVIEW_STATE={previewDevice:"desktop",previewEventHandler:null,showPreview:!1,selectedComponentContext:null};class PreviewStore extends BudiStore{constructor(){super(INITIAL_PREVIEW_STATE),this.setDevice=this.setDevice.bind(this),this.sendEvent=this.sendEvent.bind(this),this.registerEventHandler=this.registerEventHandler.bind(this),this.startDrag=this.startDrag.bind(this),this.stopDrag=this.stopDrag.bind(this),this.showPreview=this.showPreview.bind(this),this.setSelectedComponentContext=this.setSelectedComponentContext.bind(this),this.requestComponentContext=this.requestComponentContext.bind(this)}setDevice(ue){this.update(eo=>({...eo,previewDevice:ue}))}sendEvent(ue,eo){const{previewEventHandler:no}=get_store_value(this.store);no==null||no(ue,eo)}registerEventHandler(ue){this.update(eo=>({...eo,previewEventHandler:ue}))}startDrag(ue){this.sendEvent("dragging-new-component",{dragging:!0,component:ue})}stopDrag(){this.sendEvent("dragging-new-component",{dragging:!1})}showPreview(ue){this.update(eo=>({...eo,showPreview:ue}))}setSelectedComponentContext(ue){this.update(eo=>({...eo,selectedComponentContext:ue}))}requestComponentContext(){this.sendEvent("request-context")}}const previewStore=new PreviewStore,TriggerStepID={ROW_SAVED:"ROW_SAVED",ROW_UPDATED:"ROW_UPDATED",ROW_DELETED:"ROW_DELETED",ROW_ACTION:"ROW_ACTION",WEBHOOK:"WEBHOOK",APP:"APP",CRON:"CRON"},ActionStepID={SEND_EMAIL_SMTP:"SEND_EMAIL_SMTP",CREATE_ROW:"CREATE_ROW",UPDATE_ROW:"UPDATE_ROW",DELETE_ROW:"DELETE_ROW",OUTGOING_WEBHOOK:"OUTGOING_WEBHOOK",EXECUTE_SCRIPT:"EXECUTE_SCRIPT",EXECUTE_QUERY:"EXECUTE_QUERY",SERVER_LOG:"SERVER_LOG",DELAY:"DELAY",FILTER:"FILTER",QUERY_ROWS:"QUERY_ROWS",LOOP:"LOOP",COLLECT:"COLLECT",TRIGGER_AUTOMATION_RUN:"TRIGGER_AUTOMATION_RUN",discord:"discord",slack:"slack",zapier:"zapier",integromat:"integromat",n8n:"n8n"},Features={LOOPING:"LOOPING"};class TableStore extends DerivedBudiStore{constructor(){const ue=eo=>derived(eo,no=>{var ro;return{...no,selected:(ro=no.list)==null?void 0:ro.find(oo=>oo._id===no.selectedTableId)}});super({list:[],selectedTableId:void 0},ue),this.select=this.select.bind(this)}async init(){return this.fetch()}async fetch(){const ue=await API.getTables();this.store.update(eo=>({...eo,list:ue}))}async singleFetch(ue){const eo=await API.getTable(ue);this.store.update(no=>{const ro=[];for(let oo of no.list)eo._id===oo._id?ro.push(eo):ro.push(oo);return no.list=ro,no})}select(ue){this.store.update(eo=>({...eo,selectedTableId:ue}))}async save(ue){var lo;const eo=fp$1.cloneDeep(ue),no=get_store_value(this.store).list.filter(co=>co._id===ue._id)[0],ro=[];for(let co of Object.keys(eo.schema)){if(ro.indexOf(co.toLowerCase())!==-1){delete eo.schema[co];continue}const uo=eo.schema[co],fo=no==null?void 0:no.schema[co];fo!=null&&(fo==null?void 0:fo.type)!==uo.type&&!((lo=SWITCHABLE_TYPES[fo==null?void 0:fo.type])!=null&&lo.includes(uo.type))&&(eo.schema[co]=fo),uo.name&&uo.name!==co&&(eo.schema[uo.name]=uo,eo._rename={old:co,updated:uo.name},delete eo.schema[co]),ro.push(co.toLowerCase())}const oo=await API.saveTable(eo);this.replaceTable(oo._id,oo),this.select(oo._id);let io=[];for(let co of Object.values((eo==null?void 0:eo.schema)||{}))co.type===FieldType.LINK&&io.push(co.tableId);let ao=[];for(let co of Object.values((no==null?void 0:no.schema)||{}))co.type===FieldType.LINK&&ao.push(co.tableId);const so=[...new Set([...io,...ao])];return so.length>3?await this.fetch():await Promise.all(so.map(co=>this.singleFetch(co))),oo}async delete(ue){await API.deleteTable(ue._id,ue._rev),this.replaceTable(ue._id,null)}async saveField({originalName:ue,field:eo,primaryDisplay:no=!1,indexes:ro}){const oo=fp$1.cloneDeep(get_store_value(this.derivedStore).selected);if(ue!=null&&ue!==eo.name&&(delete oo.schema[ue],oo._rename={old:ue,updated:eo.name}),no)oo.primaryDisplay=eo.name;else if(oo.primaryDisplay===ue){const io=Object.keys(oo.schema);oo.primaryDisplay=io.filter(ao=>ao!==ue||ao!==eo.name)[0]}ro&&(oo.indexes=ro),oo.schema={...oo.schema,[eo.name]:fp$1.cloneDeep(eo)},await this.save(oo)}async deleteField(ue){let eo=fp$1.cloneDeep(get_store_value(this.derivedStore).selected);delete eo.schema[ue.name],await this.save(eo)}replaceTable(ue,eo){if(!ue)return;if(!eo){this.store.update(ro=>({...ro,list:ro.list.filter(oo=>oo._id!==ue)}));return}const no=get_store_value(this.store).list.findIndex(ro=>ro._id===eo._id);no===-1?this.store.update(ro=>({...ro,list:[...ro.list,eo]})):eo&&this.store.update(ro=>(ro.list[no]={...eo,type:ro.list[no].type},ro))}removeDatasourceTables(ue){this.store.update(eo=>({...eo,list:eo.list.filter(no=>no.sourceId!==ue)}))}}const tables=new TableStore;class ViewV2Store extends DerivedBudiStore{constructor(){const ue=eo=>derived([eo,tables],([no,ro])=>{var io;let oo=[];return(io=ro.list)==null||io.forEach(ao=>{const so=Object.values((ao==null?void 0:ao.views)||{}).filter(isV2);oo=oo.concat(so)}),{...no,list:oo,selected:oo.find(ao=>ao.id===no.selectedViewId)}});super({selectedViewId:null},ue),this.select=this.select.bind(this)}select(ue){this.store.update(eo=>({...eo,selectedViewId:ue}))}async delete(ue){await API.viewV2.delete(ue.id),this.replaceView(ue.id,null)}async create(ue){const no=(await API.viewV2.create(ue)).data;return this.replaceView(no.id,no),no}async save(ue){const eo=await API.viewV2.update(ue),no=eo==null?void 0:eo.data;this.replaceView(ue.id,no)}replaceView(ue,eo){const no=get_store_value(this.derivedStore).list.find(oo=>oo.id===ue),ro=get_store_value(tables).list.findIndex(oo=>oo._id===(eo==null?void 0:eo.tableId)||oo._id===(no==null?void 0:no.tableId));if(ro!==-1)if(!eo&&no){tables.update(oo=>(delete oo.list[ro].views[no.name],oo));return}else!no&&eo?tables.update(oo=>{var io;return(io=oo.list[ro]).views??(io.views={}),oo.list[ro].views[eo.name]=eo,oo}):no&&eo&&tables.update(oo=>{var io;return(io=oo.list[ro]).views??(io.views={}),delete oo.list[ro].views[no.name],oo.list[ro].views[eo.name]=eo,oo})}}const viewsV2=new ViewV2Store,duplicateName=(to,ue)=>{const eo=new RegExp("\\s(\\d+)$"),no=to.split(eo)[0],ro=new RegExp(`${no}\\s(\\d+)$`),oo=[];ue.filter(ao=>{if(ao===no)return!0;const so=ao.match(ro);return so?(oo.push(parseInt(so[1])),!0):!1}),oo.sort((ao,so)=>ao-so);let io;if(oo.length===0)io=1;else{for(let ao=0;ao<oo.length;ao++)if(oo[ao]!==ao+1){io=ao+1;break}io||(io=oo.length+1)}return`${no} ${io}`},getSequentialName=(to,ue,{getName:eo,numberFirstItem:no}={})=>{if(!(ue!=null&&ue.length))return null;const ro=ue.trim(),oo=no?`${ue}1`:ro;if(!(to!=null&&to.length))return oo;let io=0;return to.forEach(ao=>{const so=(eo==null?void 0:eo(ao))??ao;if(typeof so!="string"||!so.startsWith(ro))return;const lo=so.split(ro);if(lo.length!==2)return;lo[1].trim()===""&&(lo[1]="1");const co=parseInt(lo[1]);co>io&&(io=co)}),io===0?oo:`${ue}${io+1}`},initialState$1={};class RowActionStore extends BudiStore{constructor(){super(initialState$1),this.reset=()=>{this.set(initialState$1)},this.refreshRowActions=async ue=>{var oo;if(!ue)return;let eo=(oo=get_store_value(tables).list.find(io=>io._id===ue))==null?void 0:oo._id;if(!eo){const io=get_store_value(viewsV2).list.find(ao=>ao.id===ue);eo=io==null?void 0:io.tableId}if(!eo)return;const no=await API.rowActions.fetch(eo),ro=Object.values(no||{});this.update(io=>({...io,[eo]:ro}))},this.createRowAction=async(ue,eo,no)=>{if(!ue)return;if(!no){const oo=get_store_value(this)[ue]||[];no=getSequentialName(oo,"New row action ",{getName:io=>io.name})}if(!no)throw new Error("Failed to generate a unique name for the row action");const ro=await API.rowActions.create(ue,no);return eo?await Promise.all([this.enableView(ue,ro.id,eo),automationStore.actions.fetch()]):await Promise.all([this.refreshRowActions(ue),automationStore.actions.fetch()]),ro},this.enableView=async(ue,eo,no)=>{await API.rowActions.enableView(ue,eo,no),await this.refreshRowActions(ue)},this.disableView=async(ue,eo,no)=>{await API.rowActions.disableView(ue,eo,no),await this.refreshRowActions(ue)},this.delete=async(ue,eo)=>{await API.rowActions.delete(ue,eo),await this.refreshRowActions(ue)},this.trigger=async(ue,eo,no)=>{await API.rowActions.trigger(ue,eo,no)}}}const store=new RowActionStore,derivedStore=derived(store,to=>{const ue={};return Object.keys(to||{}).forEach(eo=>{ue[eo]=to[eo];for(let no of to[eo]){const ro=(no.allowedSources||[]).filter(oo=>oo!==eo);for(let oo of ro)ue[oo]??(ue[oo]=[]),ue[oo].push(no)}}),ue}),rowActions={...store,subscribe:derivedStore.subscribe},getNewStepName=(to,ue)=>{const eo=ue.name,no=oo=>oo.reduce((io,ao)=>(ao.name&&ao.name.startsWith(eo)&&io++,ao.stepId===AutomationActionStepId.BRANCH&&ao.inputs&&ao.inputs.children&&Object.values(ao.inputs.children).forEach(so=>{io+=no(so)}),io),0);let ro=0;return to!=null&&to.definition&&(ro=no(to.definition.steps)),ro===0?eo:`${eo} ${ro+1}`},initialAutomationState={automations:[],testResults:null,showTestPanel:!1,blockDefinitions:{TRIGGER:{},CREATABLE_TRIGGER:{},ACTION:{}},selectedAutomationId:null},getFinalDefinitions=(to,ue)=>{const eo={};return Object.entries(to).forEach(no=>{no[0]!==AutomationTriggerStepId.ROW_ACTION&&(eo[no[0]]=no[1])}),{TRIGGER:to,CREATABLE_TRIGGER:eo,ACTION:ue}},automationActions=to=>({moveBlock:async(ue,eo,no)=>{const ro=ue.at(-1),oo=eo.at(-1),io=(ro==null?void 0:ro.id)===(oo==null?void 0:oo.id),ao=(oo==null?void 0:oo.branchStepId)&&oo.branchIdx===(ro==null?void 0:ro.branchIdx)&&(ro==null?void 0:ro.stepIdx)===0;if(io||ao)return;const{deleted:so,newAutomation:lo}=to.actions.deleteBlock(ue,no),co={};to.actions.traverse(co,lo);let uo;oo!=null&&oo.branchStepId?(uo=co[oo.branchStepId].pathTo,uo.push(oo)):(oo!=null&&oo.id&&(uo=co[oo.id].pathTo),uo.at(-1).stepIdx+=1);const fo=to.actions.updateStep(uo,lo,so,!0);try{await to.actions.save(fo)}catch(po){notifications.error("Error moving automation block"),console.error("Error moving automation block ",po)}},deleteBlock:(ue,eo)=>{let no=fp$1.cloneDeep(eo);const ro=[no.definition.trigger,...no.definition.steps];let oo;return ue.forEach((io,ao,so)=>{const lo=ao===so.length-1,{stepIdx:co,branchIdx:uo}=io,fo=(po,ho)=>{const _o=po[ho],go=[_o.id],bo=[],vo={};po.forEach(wo=>{const{blockToLoop:ko,id:So}=wo;ko&&(vo[ko]=So)});const yo=vo[_o.id];yo&&go.push(yo);for(let wo=po.length-1;wo>=0;wo--)if(go.includes(po[wo].id)){const[ko]=po.splice(wo,1);bo.unshift(ko)}return{deleted:bo,newAutomation:no}};if(!oo){lo?oo=fo(no.definition.steps,co>0?co-1:0):oo=ro[co];return}if(Number.isInteger(uo)){const po=oo.inputs.branches[uo].id,ho=oo.inputs.children[po],_o=ho[co];lo?oo=fo(ho,co):oo=_o}}),oo},registerBlock:(ue,eo,no,ro)=>{ue[eo.id]={...ue[eo.id]||{},pathTo:no,terminating:ro||!1,...eo.blockToLoop?{blockToLoop:eo.blockToLoop}:{}},eo.blockToLoop&&(ue[eo.blockToLoop]={...ue[eo.blockToLoop]||{},looped:eo.id})},getPathSteps:(ue,eo)=>{const no=[eo.definition.trigger,...eo.definition.steps];let ro=[];return ue.forEach(oo=>{const{stepIdx:io,branchIdx:ao}=oo;let so=ro.length?ro[ro.length-1]:[];if(!ro.length){ro=no.slice(0,io+1);return}if(so&&"inputs"in so&&Number.isInteger(ao)){const lo=so.inputs.branches[ao].id,uo=so.inputs.children[lo].slice(0,io+1);ro=ro.concat(uo)}}),ro},updateStep:(ue,eo,no,ro=!1)=>{let oo=fp$1.cloneDeep(eo);const io=(so,lo,co)=>{so.splice(lo,ro?0:Array.isArray(co)?co.length:1,...Array.isArray(co)?co:[co])};let ao=null;return ue.forEach((so,lo,co)=>{const{stepIdx:uo,branchIdx:fo}=so;let po=lo===co.length-1;if(!ao){let ho=Math.max(uo-1,0);if(po){io(oo.definition.steps,ho,no);return}ao=oo.definition.steps[ho]}if(Number.isInteger(fo)){const ho=ao.inputs.branches[fo].id,_o=ao.inputs.children[ho];po?io(_o,uo,no):ao=_o[uo]}}),oo},buildEnvironmentBindings:()=>get_store_value(licensing).environmentVariablesEnabled?getEnvironmentBindings().map(ue=>({...ue,display:{...ue.display,rank:98}})):[],buildUserBindings:()=>getUserBindings().map(ue=>({...ue,category:"User",display:{...ue.display,rank:98}})),buildSettingBindings:()=>getSettingBindings().map(ue=>({...ue,display:{...ue.display,rank:98}})),getPathBindings:ue=>{var no,ro;const eo=(no=get_store_value(selectedAutomation))==null?void 0:no.blockRefs[ue];return to.actions.getAvailableBindings(eo,(ro=get_store_value(selectedAutomation))==null?void 0:ro.data)},traverse:(ue,eo)=>{var oo;let no=[];if(!eo||!ue)return;(oo=eo.definition)!=null&&oo.trigger&&no.push(eo.definition.trigger),no=no.concat(eo.definition.steps||[]);const ro=(io,ao,so,lo,co)=>{var po;const uo=[...ao||[],{...Number.isInteger(lo)?{branchIdx:lo}:{},stepIdx:so,id:io.id}],fo=((po=io.inputs)==null?void 0:po.branches)||[];fo.forEach((ho,_o)=>{var go;(go=io.inputs)==null||go.children[ho.id].forEach((bo,vo,yo)=>{var ko,So;const wo=yo.length-1===vo&&!((So=(ko=bo.inputs)==null?void 0:ko.branches)!=null&&So.length);ro(bo,uo,vo,_o,wo)})}),to.actions.registerBlock(ue,io,uo,co&&!fo.length)};return no.forEach((io,ao,so)=>{ro(io,null,ao,null,so.length-1===ao)}),ue},getAvailableBindings:(ue,eo)=>{var lo,co,uo,fo,po,ho,_o;if(!ue||!(eo!=null&&eo.definition))return[];const no=(lo=get_store_value(selectedAutomation))==null?void 0:lo.blockRefs,ro=to.actions.getPathSteps(ue.pathTo,eo).slice(0,-1),oo=to.actions.getPathSteps(ue.pathTo,eo).at(-1);let io=[];const ao=(go,bo,vo,yo,wo,ko)=>{if(!go)return;const So=to.actions.determineRuntimeBinding(go,yo,wo,ko,eo,oo,ro),Ao=to.actions.determineCategoryName(yo,wo,ko,so);io.push(to.actions.createBindingObject(go,bo,vo,yo,so,wo,So,Ao,ko))};let so=0;for(let go=0;go<ro.length;go++){const bo=ro[go],vo=((co=eo.definition.stepNames)==null?void 0:co[bo.id])||bo.name;let yo=fp$1.cloneDeep((fo=(uo=bo==null?void 0:bo.schema)==null?void 0:uo.outputs)==null?void 0:fo.properties)??{},wo=!1;bo.blockToLoop&&(wo=bo.stepId===ActionStepID.LOOP&&bo.blockToLoop in no);const ko=bo.type===AutomationStepType.TRIGGER;wo&&so==0&&(yo={currentItem:{type:AutomationIOType.STRING,description:"the item currently being executed"}});const So=ko?bo.icon:wo?"Reuse":bo.icon;if(go===0&&ko)if(bo.event===AutomationEventType.ROW_UPDATE||bo.event===AutomationEventType.ROW_SAVE){let Ao=get_store_value(tables).list.find(Io=>Io._id===bo.inputs.tableId);for(const Io in Ao==null?void 0:Ao.schema)yo[Io]={type:Ao.schema[Io].type,subtype:Ao.schema[Io].subtype};delete yo.row}else bo.event===AutomationEventType.APP_TRIGGER&&(yo=Object.fromEntries(Object.keys(bo.inputs.fields||[]).map(Ao=>[Ao,{type:bo.inputs.fields[Ao]}])));if((po=no[bo.id])!=null&&po.looped){so++;const Ao=no[bo.id].looped,Io=ro.find(Eo=>Eo.id===Ao);Io?yo=fp$1.cloneDeep((_o=(ho=Io.schema)==null?void 0:ho.outputs)==null?void 0:_o.properties):console.error("Loop block missing.")}Object.entries(yo).forEach(([Ao,Io])=>{ao(Ao,Io,So,go,wo,vo)})}return ue.looped||(io=io.filter(go=>!go.readableBinding.includes("loop"))),io},determineRuntimeBinding:(ue,eo,no,ro,oo,io,ao)=>{var lo,co,uo;let so;if(eo===0&&((lo=oo.definition.trigger)==null?void 0:lo.event)===AutomationEventType.APP_TRIGGER)return`trigger.fields.${ue}`;if(eo===0&&(((co=oo.definition.trigger)==null?void 0:co.event)===AutomationEventType.ROW_UPDATE||((uo=oo.definition.trigger)==null?void 0:uo.event)===AutomationEventType.ROW_SAVE)&&!["id","revision","oldRow"].includes(ue))return`trigger.row.${ue}`;if(no)so=`loop.${ue}`;else if(eo===0)so=`trigger.${ue}`;else if((io==null?void 0:io.stepId)===AutomationActionStepId.EXECUTE_SCRIPT){const fo=ao[eo].id;if(!fo)return notifications.error("Error generating binding: Step ID not found."),null;so=`steps["${fo}"].${ue}`}else{const fo=ao[eo].id;if(!fo)return notifications.error("Error generating binding: Step ID not found."),null;so=`steps.${fo}.${ue}`}return so},determineCategoryName:(ue,eo,no,ro)=>ue===0?"Trigger outputs":eo?"Loop Outputs":no?`${no} outputs`:`Step ${ue-ro} outputs`,createBindingObject:(ue,eo,no,ro,oo,io,ao,so,lo)=>{const co=Object.values(FIELDS).find(uo=>uo.type===eo.type&&("subtype"in uo?uo.subtype===eo.subtype:!0));return{readableBinding:lo&&!io&&ro!==0?`steps.${lo}.${ue}`:ao,runtimeBinding:ao,type:eo.type,description:eo.description,icon:no,category:so,display:{type:(co==null?void 0:co.name)||eo.type,name:ue,rank:io?ro+1:ro-oo}}},processBlockInputs:async(ue,eo)=>{var io;let no={...ue,inputs:{...ue.inputs,...eo}};Object.keys(no.inputs).forEach(ao=>{const so=no.inputs[ao];(so==null||so==="")&&delete no.inputs[ao]});const ro=(io=get_store_value(selectedAutomation))==null?void 0:io.data;if(!ro)return!1;const oo=to.actions.getUpdatedDefinition(ro,no);return JSON.stringify(oo)===JSON.stringify(ro)?!1:oo},updateBlockInputs:async(ue,eo)=>{const no=await to.actions.processBlockInputs(ue,eo);no!==!1&&await to.actions.save(no)},test:async(ue,eo)=>{var ro,oo;let no;try{no=await API.testAutomation(ue._id,eo)}catch(io){throw`Automation test failed - ${io.message||io.status||JSON.stringify(io)}`}if(!(no!=null&&no.trigger)&&!((ro=no==null?void 0:no.steps)!=null&&ro.length)&&!(no!=null&&no.message))throw((oo=no==null?void 0:no.err)==null?void 0:oo.code)==="usage_limit_exceeded"?"You have exceeded your automation quota":"Something went wrong testing your automation";to.update(io=>(io.testResults=no,io))},getUpdatedDefinition:(ue,eo)=>{var ro;let no;if(((ro=ue.definition.trigger)==null?void 0:ro.id)===eo.id)no=fp$1.cloneDeep(ue),no.definition.trigger=eo;else{const oo=get_store_value(selectedAutomation).blockRefs[eo.id].pathTo;no=to.actions.updateStep(oo,ue,eo)}return no},getLogs:async({automationId:ue,startDate:eo,status:no,page:ro}={})=>await API.getAutomationLogs({automationId:ue,startDate:eo,status:no,page:ro}),clearLogErrors:async({automationId:ue,appId:eo})=>{if(!ue||!eo)throw new Error("automationId and appId are required");return await API.clearAutomationLogErrors(ue,eo)},addTestDataToAutomation:ue=>{var no;let eo=fp$1.cloneDeep((no=get_store_value(selectedAutomation))==null?void 0:no.data);return eo&&(eo.testData={...eo.testData,...ue},eo)},constructBlock:(ue,eo,no)=>{var io;const ro={...no,inputs:no.inputs||{},stepId:eo,type:ue,id:shortid.generate()},oo=getNewStepName((io=get_store_value(selectedAutomation))==null?void 0:io.data,ro);return ro.name=oo,ro},generateBranchBlock:()=>{const ue=get_store_value(to).blockDefinitions.ACTION.BRANCH;return to.actions.constructBlock("ACTION","BRANCH",ue)},addBlockToAutomation:async(ue,eo)=>{var ao;const no=(ao=get_store_value(selectedAutomation))==null?void 0:ao.data;if(!no)return;let ro=fp$1.cloneDeep(no);const oo=[ro.definition.trigger,...ro.definition.steps];let io;eo.forEach((so,lo,co)=>{const{stepIdx:uo,branchIdx:fo}=so,po=lo===co.length-1,ho=(_o,go)=>{const bo=!Number.isInteger(go),vo=ue.blockToLoop||bo?go:go+1;_o.splice(vo,0,ue)};if(!io){po?(ho(ro.definition.steps,uo-1),io=ue):io=oo[uo];return}if(Number.isInteger(fo)){const _o=io.inputs.branches[fo].id,go=io.inputs.children[_o];po?(ho(go,uo),io=go):io=go[uo]}});try{await to.actions.save(ro)}catch(so){notifications.error("Error adding automation block"),console.error("Automation adding block ",so)}},generateDefaultConditions:()=>{const ue={logicalOperator:UILogicalOperator.ALL,onEmptyFilter:EmptyFilterOption.RETURN_NONE,groups:[]};return{condition:buildQuery$1(ue),conditionUI:ue}},branchAutomation:async(ue,eo)=>{var uo;const no=ue.at(-1);let ro=fp$1.cloneDeep(eo),oo,io=!1;const ao=fo=>({name:fo,...to.actions.generateDefaultConditions(),id:shortid.generate()});ue.forEach((fo,po,ho)=>{const{stepIdx:_o,branchIdx:go}=fo,bo=po===ho.length-1;if(oo||(bo?(oo=ro.definition.steps,io=!0):oo=ro.definition.steps[_o-1]),Number.isInteger(go)){const vo=oo.inputs.branches[go].id,yo=oo.inputs.children[vo];oo=bo?yo:yo[_o]}});const so=Math.max(no.stepIdx-1,0),lo=io?so:no.stepIdx;if(((uo=oo[lo])==null?void 0:uo.stepId)=="BRANCH"){let fo=oo[lo].inputs.branches;const po=ao(`Branch ${fo.length+1}`);fo.splice(fo.length,0,po),oo[lo].inputs.children[po.id]=[];try{await to.actions.save(ro)}catch(ho){notifications.error("Error adding branch to automation"),console.error("Error adding automation branch",ho)}return}const co=to.actions.generateBranchBlock();co.inputs.branches=Array.from({length:2}).map((fo,po)=>ao(`Branch ${po+1}`)),co.inputs.children=co.inputs.branches.reduce((fo,po,ho)=>(fo[po.id]=ho==0?oo.slice(lo+1):[],fo),{}),oo.splice(lo+1),oo.push(co);try{await to.actions.save(ro)}catch(fo){notifications.error("Error adding branch to automation"),console.error("Error adding automation branch",fo)}},branchLeft:async(ue,eo,no)=>{const ro=to.actions.shiftBranch(ue,no);if(ro){const oo=to.actions.updateStep(ue.slice(0,-1),eo,ro);await to.actions.save(oo)}},branchRight:async(ue,eo,no)=>{const ro=to.actions.shiftBranch(ue,no,1);if(ro){const oo=to.actions.updateStep(ue.slice(0,-1),eo,ro);await to.actions.save(oo)}},shiftBranch:(ue,eo,no=-1)=>{let ro=fp$1.cloneDeep(eo);const io=ue.at(-1).branchIdx;if(!ro.inputs.branches[io+no]){console.error("Invalid index");return}let[ao]=ro.inputs.branches.splice(io+no,1);return ro.inputs.branches.splice(io,0,ao),ro},deleteBranch:async(ue,eo)=>{let no=fp$1.cloneDeep(eo),ro=[];ue.forEach((oo,io,ao)=>{const{stepIdx:so,branchIdx:lo}=oo,co=io===ao.length-1;if(!ro.length){if(co){ro=no.definition.steps;return}ro=[{node:no.definition.steps[so-1],context:no.definition.steps}]}const uo=ro.at(-1);if(Number.isInteger(lo)){const fo=uo.node.inputs.branches[lo].id,po=uo.node.inputs.children[fo];if(co){const ho=uo.node.inputs.branches.length==2;if(uo.node.inputs.branches.splice(lo,1),delete uo.node.inputs.children[fo],ho){const _o=uo.node.inputs.branches[0].id,go=uo.node.inputs.children[_o],bo=ro.at(-1).context;bo.pop(),bo.splice(bo.length,0,...go)}return}ro.push({node:po[so],context:po})}});try{await to.actions.save(no)}catch(oo){notifications.error("Error deleting automation branch"),console.error("Error deleting automation branch",oo)}},saveAutomationName:async(ue,eo)=>{var io;const no=(io=get_store_value(selectedAutomation))==null?void 0:io.data;let ro=fp$1.cloneDeep(no);if(!ro)return;const oo=eo.trim();ro.definition.stepNames={...ro.definition.stepNames,[ue]:oo},await to.actions.save(ro)},deleteAutomationName:async ue=>{var ro;const eo=(ro=get_store_value(selectedAutomation))==null?void 0:ro.data;let no=fp$1.cloneDeep(eo);!eo||!no||(no!=null&&no.definition.stepNames&&delete no.definition.stepNames[ue],await to.actions.save(no))},deleteAutomationBlock:async ue=>{var ro;const eo=(ro=get_store_value(selectedAutomation))==null?void 0:ro.data;if(!eo)return;const{newAutomation:no}=to.actions.deleteBlock(ue,eo);try{await to.actions.save(no)}catch(oo){notifications.error("Error deleting automation block"),console.error("Automation deleting block ",oo)}},replace:(ue,eo)=>{if(!eo)to.store.update(no=>{var ro;return no.automations=no.automations.filter(oo=>oo._id!==ue),ue===no.selectedAutomationId&&to.actions.select(((ro=no.automations[0])==null?void 0:ro._id)||null),no});else{const no=get_store_value(to.store).automations.findIndex(ro=>ro._id===eo._id);no===-1?to.store.update(ro=>({...ro,automations:[...ro.automations,eo]})):to.store.update(ro=>(ro.automations[no]=eo,ro))}},create:async(ue,eo)=>{const no={name:ue,type:"automation",appId:get_store_value(appStore).appId,definition:{steps:[],trigger:eo},disabled:!1};return await to.actions.save(no)},duplicate:async ue=>await to.actions.save({...ue,name:`${ue.name} - copy`,_id:void 0,_rev:void 0}),toggleDisabled:async ue=>{let eo;try{if(eo=to.actions.getDefinition(ue),!eo)return;eo.disabled=!eo.disabled,await to.actions.save(eo),notifications.success(`Automation ${eo.disabled?"disabled":"enabled"} successfully`)}catch{notifications.error(`Error ${eo!=null&&eo.disabled?"disabling":"enabling"} automation`)}},definitions:async()=>{const ue=await API.getAutomationDefinitions();return to.update(eo=>(eo.blockDefinitions=getFinalDefinitions(ue.trigger,ue.action),eo)),ue},fetch:async()=>{const[ue,eo]=await Promise.all([API.getAutomations(),API.getAutomationDefinitions()]);to.update(no=>(no.automations=ue.automations,no.automations.sort((ro,oo)=>ro.name<oo.name?-1:1),no.blockDefinitions=getFinalDefinitions(eo.trigger,eo.action),no))},select:ue=>{!ue||ue===get_store_value(to).selectedAutomationId||to.update(eo=>(eo.selectedAutomationId=ue,eo.testResults=null,eo.showTestPanel=!1,eo))},getDefinition:ue=>{var eo;return(eo=get_store_value(to.store).automations)==null?void 0:eo.find(no=>no._id===ue)},save:async ue=>{const eo=await API.updateAutomation(ue);return await to.actions.fetch(),to.actions.select(eo.automation._id),eo.automation},delete:async ue=>{isRowAction(ue)?await rowActions.delete(ue.definition.trigger.inputs.tableId,ue.definition.trigger.inputs.rowActionId):await API.deleteAutomation(ue._id,ue._rev),to.update(no=>{var ro;return no.automations=no.automations.filter(oo=>oo._id!==ue._id),ue._id===no.selectedAutomationId&&(no.selectedAutomationId=((ro=no.automations[0])==null?void 0:ro._id)||null),no})}});class AutomationStore extends BudiStore{constructor(){super(initialAutomationState),this.actions=automationActions(this),this.history=createHistoryStore({getDoc:this.actions.getDefinition.bind(this),selectDoc:this.actions.select.bind(this),beforeAction:()=>{},afterAction:()=>{}});const ue=this.actions.save.bind(this.actions),eo=this.actions.delete.bind(this.actions);this.actions.save=this.history.wrapSaveDoc(ue),this.actions.delete=this.history.wrapDeleteDoc(eo)}}const automationStore=new AutomationStore,automationHistoryStore=automationStore.history;class SelectedAutomationStore extends DerivedBudiStore{constructor(ue){const eo=()=>derived(ue,no=>{var ao;if(!no.selectedAutomationId)return{data:null,blockRefs:{},...no};const ro=(ao=no.automations)==null?void 0:ao.find(so=>so._id===no.selectedAutomationId);if(!ro)return{data:null,blockRefs:{},...no};const oo={},io=fp$1.cloneDeep(ro);return io&&(ue.actions.traverse(oo,io),Object.values(oo).filter(so=>so.terminating).forEach(so=>{ue.actions.getPathSteps(so.pathTo,io).forEach((lo,co,uo)=>{migrateReferencesInObject({obj:lo,originalIndex:co,steps:uo})})})),{data:io,blockRefs:oo,...no}});super(initialAutomationState,eo)}}const selectedAutomation=new SelectedAutomationStore(automationStore);class UserStore extends BudiStore{constructor(){super([])}init(ue){this.set(ue)}updateUser(ue){const eo=get_store_value(this);eo.some(no=>no.sessionId===ue.sessionId)?this.update(no=>{const ro=no.findIndex(oo=>oo.sessionId===ue.sessionId);return no[ro]=ue,no.slice()}):this.set([...eo,ue])}removeUser(ue){this.update(eo=>eo.filter(no=>no.sessionId!==ue))}reset(){this.set([])}}const userStore=new UserStore,userSelectedResourceMap=derived(userStore,to=>{let ue={};return to.forEach(eo=>{var ro;const no=(ro=eo.builderMetadata)==null?void 0:ro.selectedResourceId;no&&(ue[no]||(ue[no]=[]),ue[no].push(eo))}),ue}),isOnlyUser=derived(userStore,to=>to.length<2),createDeploymentStore=()=>{let to=writable([]);const ue=async()=>{try{to.set(await API.getAppDeployments())}catch{notifications.error("Error fetching deployments")}};return{subscribe:to.subscribe,load:ue}},deploymentStore=createDeploymentStore(),INITIAL_CONTEXT_MENU_STATE={id:null,items:[],position:{x:0,y:0},visible:!1};function createViewsStore(){const to=writable({...INITIAL_CONTEXT_MENU_STATE}),ue=(no,ro,oo)=>{to.set({id:no,items:ro,position:oo,visible:!0})},eo=()=>{to.set({...INITIAL_CONTEXT_MENU_STATE})};return{subscribe:to.subscribe,open:ue,close:eo}}const contextMenuStore=createViewsStore();class SnippetStore extends BudiStore{constructor(){super([]),this.syncMetadata=ue=>{this.set((ue==null?void 0:ue.snippets)||[])},this.saveSnippet=async ue=>{const eo=[...get_store_value(this).filter(ro=>ro.name!==ue.name),ue],no=await API.saveAppMetadata(get_store_value(appStore).appId,{snippets:eo});this.syncMetadata(no)},this.deleteSnippet=async ue=>{const eo=get_store_value(this).filter(ro=>ro.name!==ue),no=await API.saveAppMetadata(get_store_value(appStore).appId,{snippets:eo});this.syncMetadata(no)}}}const snippets$1=new SnippetStore,features={spectrumThemes:!0,unifiedTheme:!0,intelligentLoading:!0,deviceAwareness:!0,state:!0,customThemes:!0,devicePreview:!0,messagePassing:!0,rowSelection:!0,continueIfAction:!0,showNotificationAction:!0,sidePanel:!0,modal:!0,skeletonLoader:!0},typeSupportPresets={numberLike:{supported:["number","boolean"],partialSupport:[{type:"longform",message:"stringAsNumber"},{type:"string",message:"stringAsNumber"},{type:"bigint",message:"stringAsNumber"},{type:"options",message:"stringAsNumber"},{type:"formula",message:"stringAsNumber"},{type:"datetime",message:"dateAsNumber"}],unsupported:[{type:"json",message:"jsonPrimitivesOnly"}]},stringLike:{supported:["string","number","bigint","options","longform","boolean","datetime"],unsupported:[{type:"json",message:"jsonPrimitivesOnly"}]},datetimeLike:{supported:["datetime"],partialSupport:[{type:"longform",message:"stringAsDate"},{type:"string",message:"stringAsDate"},{type:"options",message:"stringAsDate"},{type:"formula",message:"stringAsDate"},{type:"bigint",message:"stringAsDate"},{type:"number",message:"numberAsDate"}],unsupported:[{type:"json",message:"jsonPrimitivesOnly"}]}},layout$1={name:"Layout",description:"This component is specific only to layouts",icon:"Sandbox",hasChildren:!0,styles:["padding","background"],settings:[{type:"text",label:"Logo URL",key:"logoUrl"},{type:"text",label:"Title",key:"title"},{type:"select",label:"Navigation",key:"navigation",options:["Top","Left","None"],defaultValue:"Top"},{type:"select",label:"Width",key:"width",options:["Small","Medium","Large","Max"],defaultValue:"Large"},{type:"navigation",label:"Links",key:"links"},{type:"boolean",label:"Hide title",key:"hideTitle",defaultValue:!1},{type:"boolean",label:"Hide logo",key:"hideLogo",defaultValue:!1},{type:"boolean",label:"Sticky header",key:"sticky",defaultValue:!1}]},container$1={name:"Container",description:"This component contains things within itself",icon:"Selection",hasChildren:!0,size:{width:500,height:200},grid:{hAlign:"stretch",vAlign:"stretch"},styles:["padding","size","background","border","shadow"],settings:[{type:"select",label:"Layout",key:"layout",showInBar:!0,barStyle:"buttons",options:[{label:"Flex",value:"flex",barIcon:"ModernGridView",barTitle:"Flex layout"},{label:"Grid",value:"grid",barIcon:"ViewGrid",barTitle:"Grid layout"}],defaultValue:"grid"},{type:"select",label:"Direction",key:"direction",showInBar:!0,barStyle:"buttons",options:[{label:"Column",value:"column",barIcon:"TableSelectColumn",barTitle:"Column layout"},{label:"Row",value:"row",barIcon:"TableSelectRow",barTitle:"Row layout"}],defaultValue:"column",dependsOn:{setting:"layout",value:"grid",invert:!0}},{type:"select",label:"Horiz. align",key:"hAlign",showInBar:!0,barStyle:"buttons",options:[{label:"Left",value:"left",barIcon:"AlignLeft",barTitle:"Align left"},{label:"Center",value:"center",barIcon:"AlignCenter",barTitle:"Align center"},{label:"Right",value:"right",barIcon:"AlignRight",barTitle:"Align right"},{label:"Stretch",value:"stretch",barIcon:"MoveLeftRight",barTitle:"Align stretched horizontally"}],defaultValue:"stretch",dependsOn:{setting:"layout",value:"grid",invert:!0}},{type:"select",label:"Vert. align",key:"vAlign",showInBar:!0,barStyle:"buttons",options:[{label:"Top",value:"top",barIcon:"AlignTop",barTitle:"Align top"},{label:"Middle",value:"middle",barIcon:"AlignMiddle",barTitle:"Align middle"},{label:"Bottom",value:"bottom",barIcon:"AlignBottom",barTitle:"Align bottom"},{label:"Stretch",value:"stretch",barIcon:"MoveUpDown",barTitle:"Align stretched vertically"}],defaultValue:"top",dependsOn:{setting:"layout",value:"grid",invert:!0}},{type:"select",label:"Size",key:"size",showInBar:!0,barStyle:"buttons",options:[{label:"Shrink",value:"shrink",barIcon:"Minimize",barTitle:"Shrink container"},{label:"Grow",value:"grow",barIcon:"Maximize",barTitle:"Grow container"}],defaultValue:"shrink",dependsOn:{setting:"layout",value:"grid",invert:!0}},{type:"select",label:"Gap",key:"gap",showInBar:!0,barStyle:"picker",options:[{label:"None",value:"N"},{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"}],defaultValue:"M",dependsOn:{setting:"layout",value:"grid",invert:!0}},{type:"boolean",label:"Wrap",key:"wrap",showInBar:!0,barIcon:"ModernGridView",barTitle:"Wrap",dependsOn:{setting:"layout",value:"grid",invert:!0}},{type:"event",label:"On click",key:"onClick"}]},section={name:"Section",description:"Add a section to your application",icon:"ColumnTwoB",hasChildren:!0,illegalChildren:["section"],showEmptyState:!1,size:{width:600,height:200},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"section",label:"Type",key:"type",defaultValue:"mainSidebar"}]},screenslot={name:"Screenslot",icon:"WebPage",description:"Contains your app screens",static:!0},buttongroup={name:"Button group",icon:"Button",hasChildren:!1,size:{width:200,height:60},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{section:!0,name:"Buttons",settings:[{type:"buttonConfiguration",key:"buttons",nested:!0,defaultValue:[{type:"cta",text:"Button 1"},{type:"primary",text:"Button 2"}]}]},{section:!0,name:"Layout",settings:[{type:"boolean",label:"Collapse",key:"collapsed"},{type:"text",label:"Collapsed text",key:"collapsedText",dependsOn:"collapsed",placeholder:"Action"},{type:"select",label:"Direction",key:"direction",showInBar:!0,barStyle:"buttons",options:[{label:"Column",value:"column",barIcon:"TableSelectColumn",barTitle:"Column layout"},{label:"Row",value:"row",barIcon:"TableSelectRow",barTitle:"Row layout"}],defaultValue:"row",dependsOn:{setting:"collapsed",invert:!0}},{type:"select",label:"Horiz. align",key:"hAlign",showInBar:!0,barStyle:"buttons",options:[{label:"Left",value:"left",barIcon:"AlignLeft",barTitle:"Align left"},{label:"Center",value:"center",barIcon:"AlignCenter",barTitle:"Align center"},{label:"Right",value:"right",barIcon:"AlignRight",barTitle:"Align right"},{label:"Stretch",value:"stretch",barIcon:"MoveLeftRight",barTitle:"Align stretched horizontally"}],defaultValue:"left"},{type:"select",label:"Vert. align",key:"vAlign",showInBar:!0,barStyle:"buttons",options:[{label:"Top",value:"top",barIcon:"AlignTop",barTitle:"Align top"},{label:"Middle",value:"middle",barIcon:"AlignMiddle",barTitle:"Align middle"},{label:"Bottom",value:"bottom",barIcon:"AlignBottom",barTitle:"Align bottom"},{label:"Stretch",value:"stretch",barIcon:"MoveUpDown",barTitle:"Align stretched vertically"}],defaultValue:"top"},{type:"select",label:"Size",key:"size",showInBar:!0,barStyle:"buttons",options:[{label:"Shrink",value:"shrink",barIcon:"Minimize",barTitle:"Shrink container"},{label:"Grow",value:"grow",barIcon:"Maximize",barTitle:"Grow container"}],defaultValue:"shrink",dependsOn:{setting:"collapsed",invert:!0}},{type:"select",label:"Gap",key:"gap",showInBar:!0,barStyle:"picker",options:[{label:"None",value:"N"},{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"}],defaultValue:"M",dependsOn:{setting:"collapsed",invert:!0}},{type:"boolean",label:"Wrap",key:"wrap",showInBar:!0,barIcon:"ModernGridView",barTitle:"Wrap",dependsOn:{setting:"collapsed",invert:!0}}]}]},button={name:"Button",description:"A basic html button that is ready for styling",icon:"Button",editable:!0,size:{width:120,height:32},grid:{hAlign:"center",vAlign:"center"},settings:[{type:"text",label:"Text",key:"text",defaultValue:"New Button"},{type:"select",showInBar:!0,label:"Variant",key:"type",options:[{label:"Action",value:"cta"},{label:"Primary",value:"primary"},{label:"Secondary",value:"secondary"},{label:"Warning",value:"warning"},{label:"Over background",value:"overBackground"}],defaultValue:"cta"},{type:"select",label:"Size",showInBar:!0,key:"size",options:[{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"},{label:"Extra large",value:"XL"}],defaultValue:"M"},{type:"boolean",label:"Quiet",key:"quiet",showInBar:!0,barIcon:"VisibilityOff",barTitle:"Quiet variant",barSeparator:!1},{type:"boolean",label:"Disabled",showInBar:!0,barIcon:"NoEdit",barTitle:"Disable button",key:"disabled"},{type:"icon",label:"Icon",key:"icon"},{type:"select",label:"Gap",key:"gap",showInBar:!0,barStyle:"picker",dependsOn:"icon",options:[{label:"None",value:"N"},{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"}],defaultValue:"M"},{type:"event",label:"On click",key:"onClick"}]},divider={name:"Divider",description:"A basic divider",icon:"Separator",illegalChildren:["section"],size:{width:400,height:10},settings:[{type:"select",label:"Size",key:"size",options:[{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"}],defaultValue:"M"},{type:"boolean",label:"Vertical",key:"vertical"}]},repeater={name:"Repeater",description:"A configurable data list that attaches to your backend tables.",icon:"JourneyData",illegalChildren:["section"],hasChildren:!0,size:{width:500,height:200},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"text",label:"Empty text",key:"noRowsMessage",defaultValue:"No rows found"},{type:"select",label:"Direction",key:"direction",showInBar:!0,barStyle:"buttons",options:[{label:"Column",value:"column",barIcon:"TableSelectColumn",barTitle:"Column layout"},{label:"Row",value:"row",barIcon:"TableSelectRow",barTitle:"Row layout"}],defaultValue:"column"},{type:"select",label:"Horiz. align",key:"hAlign",showInBar:!0,barStyle:"buttons",options:[{label:"Left",value:"left",barIcon:"AlignLeft",barTitle:"Align left"},{label:"Center",value:"center",barIcon:"AlignCenter",barTitle:"Align center"},{label:"Right",value:"right",barIcon:"AlignRight",barTitle:"Align right"},{label:"Stretch",value:"stretch",barIcon:"MoveLeftRight",barTitle:"Align stretched horizontally"}],defaultValue:"stretch"},{type:"select",label:"Vert. align",key:"vAlign",showInBar:!0,barStyle:"buttons",options:[{label:"Top",value:"top",barIcon:"AlignTop",barTitle:"Align top"},{label:"Middle",value:"middle",barIcon:"AlignMiddle",barTitle:"Align middle"},{label:"Bottom",value:"bottom",barIcon:"AlignBottom",barTitle:"Align bottom"},{label:"Stretch",value:"stretch",barIcon:"MoveUpDown",barTitle:"Align stretched vertically"}],defaultValue:"top"},{type:"select",label:"Gap",key:"gap",showInBar:!0,barStyle:"picker",options:[{label:"None",value:"N"},{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"}],defaultValue:"M"}],context:[{type:"schema",scope:"local"},{type:"static",scope:"local",values:[{label:"Row index",key:"index",type:"number"}]}]},stackedlist={deprecated:!0,name:"Stacked List",icon:"TaskList",description:"A basic card component that can contain content and actions.",illegalChildren:["section"],settings:[{type:"text",label:"Image",key:"imageUrl"},{type:"text",label:"Heading",key:"heading"},{type:"text",label:"Subheading",key:"subheading"},{type:"text",label:"Link URL",key:"destinationUrl",placeholder:"/screen"}]},card={deprecated:!0,name:"Vertical Card",description:"A basic card component that can contain content and actions.",icon:"ViewColumn",illegalChildren:["section"],settings:[{type:"text",label:"Image",key:"imageUrl"},{type:"text",label:"Heading",key:"heading"},{type:"text",label:"Description",key:"description"},{type:"text",label:"Link text",key:"linkText"},{type:"text",label:"Link URL",key:"linkUrl",placeholder:"/screen"},{type:"color",label:"Link color",key:"linkColor",defaultValue:"#000"},{type:"color",label:"Hover color",key:"linkHoverColor",defaultValue:"#222"},{type:"select",label:"Image height",key:"imageHeight",options:["auto","12rem","16rem","20rem","24rem"],defaultValue:"auto"},{type:"select",label:"Card width",key:"cardWidth",options:["16rem","20rem","24rem"],defaultValue:"20rem"}]},text={name:"Paragraph",description:"A component for displaying paragraph text.",icon:"TextParagraph",illegalChildren:["section"],editable:!0,size:{width:400,height:24},settings:[{type:"text",label:"Text",key:"text"},{type:"select",label:"Size",key:"size",defaultValue:"M",showInBar:!0,barStyle:"picker",options:[{label:"Extra small",value:"XS"},{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"},{label:"Extra large",value:"XL"},{label:"2XL",value:"XXL"},{label:"3XL",value:"XXXL"}]},{type:"color",label:"Color",key:"color",showInBar:!0,barSeparator:!1},{type:"boolean",label:"Bold",key:"bold",showInBar:!0,barIcon:"TagBold",barTitle:"Bold text",barSeparator:!1},{type:"boolean",label:"Italic",key:"italic",showInBar:!0,barIcon:"TagItalic",barTitle:"Italic text",barSeparator:!1},{type:"boolean",label:"Underline",key:"underline",showInBar:!0,barIcon:"TagUnderline",barTitle:"Underline text"},{type:"select",label:"Alignment",key:"align",defaultValue:"left",showInBar:!0,barStyle:"buttons",options:[{label:"Left",value:"left",barIcon:"TextAlignLeft",barTitle:"Align left"},{label:"Center",value:"center",barIcon:"TextAlignCenter",barTitle:"Align center"},{label:"Right",value:"right",barIcon:"TextAlignRight",barTitle:"Align right"},{label:"Justify",value:"justify",barIcon:"TextAlignJustify",barTitle:"Justify text"}]}]},heading$1={name:"Headline",icon:"TextBold",description:"A component for displaying heading text",illegalChildren:["section"],editable:!0,size:{width:400,height:32},settings:[{type:"text",key:"text",label:"Text"},{type:"select",label:"Size",key:"size",defaultValue:"M",showInBar:!0,barStyle:"picker",options:[{label:"Extra small",value:"XS"},{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"},{label:"Extra large",value:"XL"},{label:"2XL",value:"XXL"},{label:"3XL",value:"XXXL"}]},{type:"color",label:"Color",key:"color",showInBar:!0,barSeparator:!1},{type:"boolean",label:"Bold",key:"bold",showInBar:!0,barIcon:"TagBold",barTitle:"Bold text",barSeparator:!1},{type:"boolean",label:"Italic",key:"italic",showInBar:!0,barIcon:"TagItalic",barTitle:"Italic text",barSeparator:!1},{type:"boolean",label:"Underline",key:"underline",showInBar:!0,barIcon:"TagUnderline",barTitle:"Underline text"},{type:"select",label:"Alignment",key:"align",defaultValue:"left",showInBar:!0,barStyle:"buttons",options:[{label:"Left",value:"left",barIcon:"TextAlignLeft",barTitle:"Align left"},{label:"Center",value:"center",barIcon:"TextAlignCenter",barTitle:"Align center"},{label:"Right",value:"right",barIcon:"TextAlignRight",barTitle:"Align right"},{label:"Justify",value:"justify",barIcon:"TextAlignJustify",barTitle:"Justify text"}]}]},tag={name:"Tag",icon:"Label",size:{width:100,height:25},grid:{hAlign:"center",vAlign:"center"},settings:[{type:"text",label:"Text",key:"text"},{type:"select",label:"Size",key:"size",defaultValue:"M",showInBar:!0,barStyle:"picker",options:[{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"}]},{type:"color",label:"Color",key:"color",showInBar:!0},{type:"color",label:"Text Color",key:"textColor",showInBar:!0},{type:"boolean",label:"Allow delete",key:"closable"},{type:"event",label:"On click delete",key:"onClick",dependsOn:"closable"}]},image={name:"Image",description:"A basic component for displaying images",icon:"Image",styles:["size"],size:{width:400,height:300},settings:[{type:"text",label:"URL",key:"url",required:!0}]},backgroundimage={name:"Background Image",description:"A background image",icon:"Images",hasChildren:!0,styles:["size"],showEmptyState:!1,size:{width:400,height:300},settings:[{type:"text",label:"URL",key:"url",required:!0},{type:"select",label:"Position",key:"position",defaultValue:"center center",options:[{label:"Center top",value:"center top"},{label:"Center",value:"center center"},{label:"Center bottom",value:"center bottom"},{label:"Left top",value:"left top"},{label:"Left center",value:"left center"},{label:"Left bottom",value:"left bottom"},{label:"Right top",value:"right top"},{label:"Right center",value:"right center"},{label:"Right bottom",value:"right bottom"}]}]},icon={name:"Icon",description:"A basic component for displaying icons",icon:"Shapes",size:{width:25,height:25},grid:{hAlign:"center",vAlign:"center"},settings:[{type:"icon",label:"Icon",key:"icon",required:!0},{type:"select",label:"Size",key:"size",defaultValue:"ri-1x",options:[{value:"ri-xxs",label:"XXS"},{value:"ri-xs",label:"XS"},{value:"ri-sm",label:"Small"},{value:"ri-1x",label:"Medium"},{value:"ri-lg",label:"Large"},{value:"ri-xl",label:"XL"},{value:"ri-2x",label:"2XL"},{value:"ri-3x",label:"3XL"},{value:"ri-4x",label:"4XL"},{value:"ri-5x",label:"5XL"},{value:"ri-6x",label:"6XL"},{value:"ri-7x",label:"7XL"},{value:"ri-8x",label:"8XL"},{value:"ri-9x",label:"9XL"},{value:"ri-10x",label:"10XL"}]},{type:"color",label:"Color",key:"color"},{type:"event",label:"On click",key:"onClick"}]},navigation={deprecated:!0,name:"Nav Bar",description:"A component for handling the navigation within your app.",icon:"BreadcrumbNavigation",illegalChildren:["section"],hasChildren:!0,settings:[{type:"text",label:"Logo URL",key:"logoUrl"},{type:"boolean",label:"Hide logo",key:"hideLogo",defaultValue:!1}]},link={name:"Link",description:"A basic link component for internal and external links",icon:"Link",editable:!0,size:{width:200,height:30},settings:[{type:"text",label:"Text",key:"text"},{type:"url",label:"URL",key:"url",placeholder:"/screen"},{type:"boolean",label:"New tab",key:"openInNewTab"},{type:"select",label:"Size",key:"size",defaultValue:"M",showInBar:!0,barStyle:"picker",options:[{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"}]},{type:"color",label:"Color",key:"color",showInBar:!0,barSeparator:!1},{type:"boolean",label:"Bold",key:"bold",showInBar:!0,barIcon:"TagBold",barTitle:"Bold text",barSeparator:!1},{type:"boolean",label:"Italic",key:"italic",showInBar:!0,barIcon:"TagItalic",barTitle:"Italic text",barSeparator:!1},{type:"boolean",label:"Underline",key:"underline",showInBar:!0,barIcon:"TagUnderline",barTitle:"Underline text"},{type:"select",label:"Alignment",key:"align",defaultValue:"left",showInBar:!0,barStyle:"buttons",options:[{label:"Left",value:"left",barIcon:"TextAlignLeft",barTitle:"Align left"},{label:"Center",value:"center",barIcon:"TextAlignCenter",barTitle:"Align center"},{label:"Right",value:"right",barIcon:"TextAlignRight",barTitle:"Align right"},{label:"Justify",value:"justify",barIcon:"TextAlignJustify",barTitle:"Justify text"}]}]},cardhorizontal={deprecated:!0,name:"Horizontal Card",description:"A basic card component that can contain content and actions.",icon:"ViewRow",settings:[{type:"text",label:"Image",key:"imageUrl"},{type:"text",label:"Heading",key:"heading"},{type:"text",label:"Description",key:"description"},{type:"text",label:"Subtext",key:"subtext"},{type:"text",label:"Link text",key:"linkText"},{type:"text",label:"Link URL",key:"linkUrl",placeholder:"/screen"},{type:"color",label:"Link color",key:"linkColor",defaultValue:"#000"},{type:"color",label:"Hover color",key:"linkHoverColor",defaultValue:"#222"},{type:"select",label:"Card width",key:"cardWidth",options:["24rem","28rem","32rem","40rem","48rem","60rem","100%"],defaultValue:"32rem"},{type:"select",label:"Image width",key:"imageWidth",options:["auto","8rem","12rem","16rem"],defaultValue:"8rem"},{type:"select",label:"Image height",key:"imageHeight",options:["auto","8rem","12rem","16rem","auto"],defaultValue:"auto"}]},cardstat={name:"Stat Card",description:"A card component for displaying numbers.",icon:"Card",size:{width:260,height:143},grid:{hAlign:"center",vAlign:"center"},settings:[{type:"text",label:"Title",key:"title",placeholder:"Total Revenue",defaultValue:"Title"},{type:"text",label:"Value",key:"value",placeholder:"$1,981,983",defaultValue:"Value"},{type:"text",label:"Label",key:"label",placeholder:"Stripe",defaultValue:"Label"}]},embed={name:"Embed",icon:"Code",description:"Embed content from 3rd party sources",styles:["size"],size:{width:400,height:100},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"text",label:"Embed",key:"embed",required:!0}]},bar={documentationLink:"https://docs.budibase.com/docs/bar-chart",name:"Bar Chart",description:"Bar chart",icon:"GraphBarVertical",size:{width:600,height:420},grid:{hAlign:"stretch",vAlign:"center"},settings:[{type:"text",label:"Title",key:"title"},{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"multifield",label:"Data columns",key:"valueColumns",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"select",label:"Format",key:"yAxisUnits",options:["Default","Thousands","Millions"],defaultValue:"Default"},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"text",label:"Width",key:"width"},{type:"text",label:"Height",key:"height",defaultValue:"400"},{type:"select",label:"Colors",key:"palette",defaultValue:"Palette 1",options:["Custom","Palette 1","Palette 2","Palette 3","Palette 4","Palette 5","Palette 6","Palette 7","Palette 8","Palette 9","Palette 10"]},{type:"color",label:"C1",key:"c1",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C2",key:"c2",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C3",key:"c3",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C4",key:"c4",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C5",key:"c5",dependsOn:{setting:"palette",value:"Custom"}},{type:"boolean",label:"Stacked",key:"stacked",defaultValue:!1},{type:"boolean",label:"Horizontal",key:"horizontal",defaultValue:!1},{type:"boolean",label:"Data labels",key:"dataLabels",defaultValue:!1},{type:"boolean",label:"Animate",key:"animate",defaultValue:!0},{type:"boolean",label:"Legend",key:"legend",defaultValue:!1}]},line={documentationLink:"https://docs.budibase.com/docs/line-chart",name:"Line Chart",description:"Line chart",icon:"GraphTrend",size:{width:600,height:420},grid:{hAlign:"stretch",vAlign:"center"},settings:[{type:"text",label:"Title",key:"title"},{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"multifield",label:"Data columns",key:"valueColumns",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"select",label:"Format",key:"yAxisUnits",options:["Default","Thousands","Millions"],defaultValue:"Default"},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"text",label:"Width",key:"width"},{type:"text",label:"Height",key:"height",defaultValue:"400"},{type:"select",label:"Colors",key:"palette",defaultValue:"Palette 1",options:["Custom","Palette 1","Palette 2","Palette 3","Palette 4","Palette 5","Palette 6","Palette 7","Palette 8","Palette 9","Palette 10"]},{type:"color",label:"C1",key:"c1",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C2",key:"c2",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C3",key:"c3",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C4",key:"c4",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C5",key:"c5",dependsOn:{setting:"palette",value:"Custom"}},{type:"select",label:"Curve",key:"curve",options:["Smooth","Straight","Stepline"],defaultValue:"Smooth"},{type:"boolean",label:"Data labels",key:"dataLabels",defaultValue:!1},{type:"boolean",label:"Animate",key:"animate",defaultValue:!0},{type:"boolean",label:"Legend",key:"legend",defaultValue:!1}]},area={documentationLink:"https://docs.budibase.com/docs/area-chart",name:"Area Chart",description:"Line chart",icon:"GraphAreaStacked",size:{width:600,height:420},grid:{hAlign:"stretch",vAlign:"center"},settings:[{type:"text",label:"Title",key:"title"},{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"multifield",label:"Data columns",key:"valueColumns",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"select",label:"Format",key:"yAxisUnits",options:["Default","Thousands","Millions"],defaultValue:"Default"},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"text",label:"Width",key:"width"},{type:"text",label:"Height",key:"height",defaultValue:"400"},{type:"select",label:"Colors",key:"palette",defaultValue:"Palette 1",options:["Custom","Palette 1","Palette 2","Palette 3","Palette 4","Palette 5","Palette 6","Palette 7","Palette 8","Palette 9","Palette 10"]},{type:"color",label:"C1",key:"c1",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C2",key:"c2",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C3",key:"c3",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C4",key:"c4",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C5",key:"c5",dependsOn:{setting:"palette",value:"Custom"}},{type:"select",label:"Curve",key:"curve",options:["Smooth","Straight","Stepline"],defaultValue:"Smooth"},{type:"boolean",label:"Data labels",key:"dataLabels",defaultValue:!1},{type:"boolean",label:"Animate",key:"animate",defaultValue:!0},{type:"boolean",label:"Legend",key:"legend",defaultValue:!1},{type:"boolean",label:"Stacked",key:"stacked",defaultValue:!0},{type:"boolean",label:"Gradient",key:"gradient",defaultValue:!1}]},pie={documentationLink:"https://docs.budibase.com/docs/pie-donut-chart",name:"Pie Chart",description:"Pie chart",icon:"GraphPie",size:{width:600,height:420},grid:{hAlign:"stretch",vAlign:"center"},settings:[{type:"text",label:"Title",key:"title"},{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"field",label:"Data column",key:"valueColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"text",label:"Width",key:"width"},{type:"text",label:"Height",key:"height",defaultValue:"400"},{type:"select",label:"Colors",key:"palette",defaultValue:"Palette 1",options:["Custom","Palette 1","Palette 2","Palette 3","Palette 4","Palette 5","Palette 6","Palette 7","Palette 8","Palette 9","Palette 10"]},{type:"color",label:"C1",key:"c1",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C2",key:"c2",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C3",key:"c3",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C4",key:"c4",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C5",key:"c5",dependsOn:{setting:"palette",value:"Custom"}},{type:"boolean",label:"Data labels",key:"dataLabels",defaultValue:!1},{type:"boolean",label:"Animate",key:"animate",defaultValue:!0},{type:"boolean",label:"Legend",key:"legend",defaultValue:!1}]},donut={documentationLink:"https://docs.budibase.com/docs/pie-donut-chart",name:"Donut Chart",description:"Donut chart",icon:"GraphDonut",size:{width:600,height:420},grid:{hAlign:"stretch",vAlign:"center"},settings:[{type:"text",label:"Title",key:"title"},{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"field",label:"Data columns",key:"valueColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"text",label:"Width",key:"width"},{type:"text",label:"Height",key:"height",defaultValue:"400"},{type:"select",label:"Colors",key:"palette",defaultValue:"Palette 1",options:["Custom","Palette 1","Palette 2","Palette 3","Palette 4","Palette 5","Palette 6","Palette 7","Palette 8","Palette 9","Palette 10"]},{type:"color",label:"C1",key:"c1",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C2",key:"c2",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C3",key:"c3",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C4",key:"c4",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C5",key:"c5",dependsOn:{setting:"palette",value:"Custom"}},{type:"boolean",label:"Data labels",key:"dataLabels",defaultValue:!1},{type:"boolean",label:"Animate",key:"animate",defaultValue:!0},{type:"boolean",label:"Legend",key:"legend",defaultValue:!1}]},candlestick={documentationLink:"https://docs.budibase.com/docs/candlestick-chart",name:"Candlestick Chart",description:"Candlestick chart",icon:"GraphBarVerticalStacked",size:{width:600,height:420},grid:{hAlign:"stretch",vAlign:"center"},settings:[{type:"text",label:"Title",key:"title"},{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"field",label:"Date column",key:"dateColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"datetimeLike"}},required:!0},{type:"field",label:"Open column",key:"openColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"field",label:"Close column",key:"closeColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"field",label:"High column",key:"highColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"field",label:"Low column",key:"lowColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"select",label:"Format",key:"yAxisUnits",options:["Default","Thousands","Millions"],defaultValue:"Default"},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"text",label:"Width",key:"width"},{type:"text",label:"Height",key:"height",defaultValue:"400"},{type:"boolean",label:"Animate",key:"animate",defaultValue:!0}]},histogram={documentationLink:"https://docs.budibase.com/docs/histogram-chart",name:"Histogram Chart",description:"Histogram chart",icon:"Histogram",size:{width:600,height:420},grid:{hAlign:"stretch",vAlign:"center"},settings:[{type:"text",label:"Title",key:"title"},{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"field",label:"Data column",key:"valueColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"text",label:"Y axis label",key:"yAxisLabel",defaultValue:"Frequency"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"number",label:"Bucket count",key:"bucketCount",defaultValue:10,min:2},{type:"boolean",label:"Data labels",key:"dataLabels",defaultValue:!1},{type:"text",label:"Width",key:"width"},{type:"text",label:"Height",key:"height",defaultValue:"400"},{type:"select",label:"Colors",key:"palette",defaultValue:"Palette 1",options:["Custom","Palette 1","Palette 2","Palette 3","Palette 4","Palette 5","Palette 6","Palette 7","Palette 8","Palette 9","Palette 10"]},{type:"color",label:"C1",key:"c1",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C2",key:"c2",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C3",key:"c3",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C4",key:"c4",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C5",key:"c5",dependsOn:{setting:"palette",value:"Custom"}},{type:"boolean",label:"Animate",key:"animate",defaultValue:!0},{type:"boolean",label:"Horizontal",key:"horizontal",defaultValue:!1}]},form$2={name:"Form",icon:"Form",hasChildren:!0,illegalChildren:["section","form","formblock"],actions:["ValidateForm","ClearForm","ChangeFormStep","UpdateFieldValue","ScrollTo"],styles:["padding","size","background","border","shadow"],size:{width:400,height:400},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"select",label:"Type",key:"actionType",options:["Create","Update"],defaultValue:"Create"},{type:"schema",label:"Schema",key:"dataSource",defaultValue:{name:"Custom",label:"Custom"}},{type:"select",label:"Size",key:"size",options:[{label:"Medium",value:"spectrum--medium"},{label:"Large",value:"spectrum--large"}],defaultValue:"spectrum--medium"},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"text",label:"Initial form step",key:"initialFormStep",defaultValue:1}],context:[{type:"static",values:[{label:"Value",key:"__value",type:"object"},{label:"Valid",key:"__valid",type:"boolean"},{label:"Current Step",key:"__currentStep",type:"number"},{label:"Current Step Valid",key:"__currentStepValid",type:"boolean"}]},{type:"form"}]},formstep={name:"Form Step",icon:"AssetsAdded",hasChildren:!0,requiredAncestors:["form"],illegalChildren:["section","form","formstep","formblock"],styles:["size"],size:{width:400,height:400},settings:[{type:"number",label:"Step",key:"step",defaultValue:1,min:1}]},fieldgroup={name:"Field Group",icon:"Group",requiredAncestors:["form"],illegalChildren:["section"],styles:["size"],hasChildren:!0,size:{width:400,height:400},settings:[{type:"select",label:"Labels",key:"labelPosition",defaultValue:"above",options:[{label:"Left",value:"left"},{label:"Above",value:"above"}]},{type:"section",label:"Type",key:"type",defaultValue:"oneColumn",dependsOn:{setting:"labelPosition",value:"above"}}]},labelfield={name:"Text Field",icon:"Text",editable:!0,size:{width:400,height:60},settings:[{type:"plainText",label:"Label",key:"label"},{type:"number",label:"Initial width",key:"width",placeholder:"Auto",min:80,max:9999},{type:"tableConditions",label:"Conditions",key:"conditions"}]},stringfield={name:"Text Field",icon:"Text",styles:["size"],editable:!0,size:{width:400,height:60},settings:[{type:"field/string",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"validation/string",label:"Validation",key:"validation"},{type:"select",label:"Alignment",key:"align",defaultValue:"left",showInBar:!0,barStyle:"buttons",options:[{label:"Left",value:"left",barIcon:"TextAlignLeft",barTitle:"Align left"},{label:"Center",value:"center",barIcon:"TextAlignCenter",barTitle:"Align center"},{label:"Right",value:"right",barIcon:"TextAlignRight",barTitle:"Align right"},{label:"Justify",value:"justify",barIcon:"TextAlignJustify",barTitle:"Justify text"}]},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"string"}]}},numberfield={name:"Number Field",icon:"123",styles:["size"],editable:!0,size:{width:400,height:60},settings:[{type:"field/number",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"validation/number",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"number"}]}},bigintfield={name:"BigInt Field",icon:"TagBold",styles:["size"],editable:!0,size:{width:400,height:60},settings:[{type:"field/bigint",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"number"}]}},passwordfield={name:"Password Field",icon:"LockClosed",styles:["size"],editable:!0,size:{width:400,height:60},settings:[{type:"field/string",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"validation/string",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"string"}]}},optionsfield={name:"Options Picker",icon:"Menu",styles:["size"],editable:!0,size:{width:400,height:60},settings:[{type:"field/options",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder",placeholder:"Choose an option"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"select",label:"Type",key:"optionsType",defaultValue:"select",placeholder:"Pick an options type",options:[{label:"Select",value:"select"},{label:"Radio buttons",value:"radio"}]},{type:"select",label:"Direction",key:"direction",defaultValue:"vertical",options:[{label:"Horizontal",value:"horizontal"},{label:"Vertical",value:"vertical"}],dependsOn:{setting:"optionsType",value:"radio"}},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"boolean",label:"Autocomplete",key:"autocomplete",defaultValue:!1,dependsOn:{setting:"optionsType",value:"select"}},{type:"boolean",label:"Alphabetical",key:"sort",defaultValue:!0},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"select",label:"Options source",key:"optionsSource",defaultValue:"schema",placeholder:"Pick an options source",options:[{label:"Schema",value:"schema"},{label:"Data provider",value:"provider"},{label:"Custom",value:"custom"}]},{type:"dataProvider",label:"Options provider",key:"dataProvider",required:!0,dependsOn:{setting:"optionsSource",value:"provider"}},{type:"field",label:"Label column",key:"labelColumn",dependsOn:{setting:"optionsSource",value:"provider"}},{type:"field",label:"Value column",key:"valueColumn",dependsOn:{setting:"optionsSource",value:"provider"}},{type:"options",label:"Custom options",key:"customOptions",dependsOn:{setting:"optionsSource",value:"custom"}},{type:"validation/string",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"string"}]}},multifieldselect={name:"Multi-select Picker",icon:"ViewList",styles:["size"],editable:!0,size:{width:400,height:60},settings:[{type:"field/array",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder",placeholder:"Choose an option"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Autocomplete",key:"autocomplete",defaultValue:!1,dependsOn:{setting:"optionsType",value:"select"}},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"select",label:"Type",key:"optionsType",defaultValue:"select",placeholder:"Pick an options type",options:[{label:"Select",value:"select"},{label:"Checkboxes",value:"checkbox"}]},{type:"select",label:"Direction",key:"direction",defaultValue:"vertical",options:[{label:"Horizontal",value:"horizontal"},{label:"Vertical",value:"vertical"}],dependsOn:{setting:"optionsType",value:"checkbox"}},{type:"select",label:"Options source",key:"optionsSource",defaultValue:"schema",placeholder:"Pick an options source",options:[{label:"Schema",value:"schema"},{label:"Data provider",value:"provider"},{label:"Custom",value:"custom"}]},{type:"dataProvider",label:"Options provider",key:"dataProvider",required:!0,dependsOn:{setting:"optionsSource",value:"provider"}},{type:"field",label:"Label column",key:"labelColumn",dependsOn:{setting:"optionsSource",value:"provider"}},{type:"field",label:"Value column",key:"valueColumn",dependsOn:{setting:"optionsSource",value:"provider"}},{type:"options",label:"Custom options",key:"customOptions",dependsOn:{setting:"optionsSource",value:"custom"}},{type:"validation/array",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"array"}]}},booleanfield={name:"Checkbox",icon:"SelectBox",editable:!0,size:{width:400,height:60},settings:[{type:"field/boolean",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Text",key:"text"},{type:"select",label:"Size",key:"size",options:[{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"},{label:"Extra large",value:"XL"}],defaultValue:"M"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"validation/boolean",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"boolean"}]}},longformfield={name:"Long Form Field",icon:"TextAlignLeft",styles:["size"],editable:!0,size:{width:400,height:100},settings:[{type:"field/longform",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder",placeholder:"Type something..."},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"select",label:"Formatting",key:"format",placeholder:null,options:[{label:"Auto",value:"auto"},{label:"Plain text",value:"plain"},{label:"Rich text (markdown)",value:"rich"}],defaultValue:"auto"},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"validation/string",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"string"}]}},datetimefield={name:"Date Picker",icon:"Date",styles:["size"],editable:!0,size:{width:400,height:60},settings:[{type:"field/datetime",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"boolean",label:"Show time",key:"enableTime",defaultValue:!0},{type:"boolean",label:"Time only",key:"timeOnly",defaultValue:!1},{type:"boolean",label:"Ignore time zones",key:"ignoreTimezones",defaultValue:!1},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"validation/datetime",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"datetime"}]}},codescanner={name:"Barcode/QR Scanner",icon:"Camera",styles:["size"],size:{width:400,height:60},settings:[{type:"field/barcodeqr",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Button text",key:"scanButtonText"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Manual entry",key:"allowManualEntry",defaultValue:!1},{type:"boolean",label:"Auto confirm",key:"autoConfirm",defaultValue:!1},{type:"boolean",label:"Play sound on scan",key:"beepOnScan",defaultValue:!1},{type:"select",label:"Sound pitch",key:"beepFrequency",dependsOn:"beepOnScan",defaultValue:2637,options:[{label:"Low",value:2096},{label:"Regular",value:2637},{label:"High",value:3136},{label:"Custom",value:"custom"}]},{type:"number",label:"Sound frequency (Hz)",key:"customFrequency",defaultValue:1046,min:20,max:8e3,dependsOn:{setting:"beepFrequency",value:"custom"}},{type:"select",label:"Preferred camera",key:"preferredCamera",defaultValue:"environment",options:[{label:"Front",value:"user"},{label:"Back",value:"environment"}]},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"validation/string",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"string"}]}},signaturesinglefield={name:"Signature",icon:"AnnotatePen",styles:["size"],size:{width:400,height:60},settings:[{type:"field/signature_single",label:"Field",key:"field",required:!0},{type:"text",label:"Label",key:"label"},{type:"text",label:"Help text",key:"helpText"},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"validation/signature_single",label:"Validation",key:"validation"}]},embeddedmap={name:"Embedded Map",icon:"Location",styles:["size"],draggable:!1,size:{width:400,height:320},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"dataProvider",label:"Provider",key:"dataProvider"},{type:"field",label:"Latitude key",key:"latitudeKey",dependsOn:"dataProvider"},{type:"field",label:"Longitude key",key:"longitudeKey",dependsOn:"dataProvider"},{type:"field",label:"Title key",key:"titleKey",dependsOn:"dataProvider"},{type:"event",label:"On click marker",key:"onClickMarker",context:[{label:"Clicked marker",key:"marker"}]},{type:"boolean",label:"Enable adding",key:"creationEnabled",defaultValue:!1},{type:"event",label:"On create marker",key:"onCreateMarker",dependsOn:"creationEnabled",context:[{label:"New marker latitude",key:"lat"},{label:"New marker longitude",key:"lng"}]},{type:"boolean",label:"Enable fullscreen",key:"fullScreenEnabled",defaultValue:!0},{type:"boolean",label:"Enable location",key:"locationEnabled",defaultValue:!0},{type:"boolean",label:"Enable zoom",key:"zoomEnabled",defaultValue:!0},{type:"text",label:"Tile URL",key:"tileURL",defaultValue:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"},{type:"text",label:"Default location",key:"defaultLocation",placeholder:"51.5072,-0.1276"},{type:"number",label:"Default zoom (0-100)",key:"zoomLevel",placeholder:50,max:100,min:0},{type:"text",label:"Map attribution",key:"mapAttribution",defaultValue:"OpenStreetMap contributors"}]},attachmentfield={name:"Attachment List",icon:"DocumentFragmentGroup",styles:["size"],requiredAncestors:["form"],editable:!0,size:{width:400,height:200},settings:[{type:"field/attachment",label:"Field",key:"field",required:!0},{type:"text",label:"Label",key:"label"},{type:"text",label:"Help text",key:"helpText"},{type:"text",label:"Extensions",key:"extensions"},{type:"number",label:"Max attachments",key:"maximum",min:1},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Compact",key:"compact",defaultValue:!1},{type:"boolean",label:"Read only",key:"disabled",defaultValue:!1},{type:"validation/attachment",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}]},attachmentsinglefield={name:"Single Attachment",icon:"DocumentFragment",styles:["size"],requiredAncestors:["form"],editable:!0,size:{width:400,height:200},settings:[{type:"field/attachment_single",label:"Field",key:"field",required:!0},{type:"text",label:"Label",key:"label"},{type:"text",label:"Help text",key:"helpText"},{type:"text",label:"Extensions",key:"extensions"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Compact",key:"compact",defaultValue:!1},{type:"boolean",label:"Read only",key:"disabled",defaultValue:!1},{type:"validation/attachment_single",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}]},relationshipfield={name:"Relationship Picker",icon:"TaskList",styles:["size"],requiredAncestors:["form"],editable:!0,size:{width:400,height:60},settings:[{type:"field/link",label:"Field",key:"field",required:!0},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"validation/link",label:"Validation",key:"validation"},{type:"filter/relationship",label:"Filtering",key:"filter"},{type:"boolean",label:"Search",key:"autocomplete",defaultValue:!0},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}]},jsonfield={name:"JSON Field",icon:"Brackets",styles:["size"],editable:!0,size:{width:400,height:100},settings:[{type:"field/json",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"string"}]}},s3upload={name:"S3 File Upload",icon:"UploadToCloud",styles:["size"],editable:!0,size:{width:400,height:200},settings:[{type:"field/s3",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"dataSource/s3",label:"S3 datasource",key:"datasourceId",info:"This component can't be used with S3 datasources that use custom endpoints"},{type:"text",label:"Bucket",key:"bucket"},{type:"text",label:"File name",key:"key",nested:!0},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"validation/attachment",label:"Validation",key:"validation"}],context:{type:"static",values:[{label:"Value",key:"value",type:"array"}]}},dataprovider={name:"Data Provider",icon:"Data",illegalChildren:["section"],hasChildren:!0,actions:["RefreshDatasource"],size:{width:500,height:200},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"dataSource",label:"Data",key:"dataSource",required:!0},{type:"select",label:"Auto-refresh",key:"autoRefresh",license:"premium",placeholder:"Never",options:[{label:"10 seconds",value:10},{label:"30 seconds",value:30},{label:"1 minute",value:60},{label:"5 minutes",value:300},{label:"10 minutes",value:600}]},{type:"filter",label:"Filtering",key:"filter",resetOn:"dataSource"},{type:"field/sortable",label:"Sort column",key:"sortColumn",placeholder:"None"},{type:"select",label:"Sort order",key:"sortOrder",options:["Ascending","Descending"],defaultValue:"Ascending"},{type:"number",label:"Limit",key:"limit",defaultValue:50},{type:"boolean",label:"Paginate",key:"paginate",defaultValue:!0,info:"Pagination is only available for data stored in tables"}],context:{type:"static",values:[{label:"Rows",key:"rows",type:"array"},{label:"Extra Info",key:"info",type:"string"},{label:"Rows Length",key:"rowsLength",type:"number"},{label:"Schema",key:"schema",type:"object"},{label:"Page Number",key:"pageNumber",type:"number"}]}},table$1={deprecated:!0,name:"Table",icon:"Table",illegalChildren:["section"],hasChildren:!0,showEmptyState:!1,actions:["ClearRowSelection"],size:{width:600,height:400},settings:[{type:"dataProvider",label:"Data provider",key:"dataProvider",required:!0},{type:"columns",label:"Columns",key:"columns",dependsOn:"dataProvider",nested:!0},{type:"select",label:"Size",key:"size",defaultValue:"spectrum--medium",options:[{label:"Medium",value:"spectrum--medium"},{label:"Large",value:"spectrum--large"}]},{type:"number",label:"Row count",key:"rowCount",defaultValue:8},{type:"boolean",label:"Quiet",key:"quiet"},{type:"boolean",label:"Compact",key:"compact"},{type:"boolean",label:"Row selection",key:"allowSelectRows",defaultValue:!1,info:"Row selection is only compatible with internal or SQL tables"},{type:"text",label:"Empty text",key:"noRowsMessage",defaultValue:"No rows found"},{section:!0,name:"On Row Click",settings:[{type:"event",key:"onClick",context:[{label:"Clicked row",key:"row"}]}]}],context:[{type:"schema",scope:"local"},{type:"static",values:[{label:"Selected Rows",key:"selectedRows",type:"array"}]}]},daterangepicker={name:"Date Range",icon:"Calendar",styles:["size"],hasChildren:!1,size:{width:200,height:50},settings:[{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0,info:"Your data provider will be automatically filtered to the given date range."},{type:"field",label:"Date field",key:"field",required:!0},{type:"select",label:"Default range",key:"defaultValue",options:["Last 1 day","Last 7 days","Last 30 days","Last 3 months","Last 6 months","Last 1 year"],defaultValue:"Last 30 days"}]},spectrumcard={name:"Card",icon:"PersonalizationField",styles:["size"],size:{width:300,height:120},grid:{hAlign:"center",vAlign:"center"},settings:[{type:"text",key:"title",label:"Title",defaultValue:"Title"},{type:"text",key:"subtitle",label:"Subtitle",defaultValue:"Subtitle"},{type:"text",key:"description",label:"Description",defaultValue:"Description"},{type:"text",key:"imageURL",label:"Image URL"},{type:"url",key:"linkURL",label:"Link URL"},{type:"boolean",key:"linkPeek",label:"Open in modal"},{type:"boolean",key:"horizontal",label:"Horizontal"},{type:"boolean",label:"Show button",key:"showButton"},{type:"text",key:"buttonText",label:"Button text",dependsOn:"showButton"},{type:"event",label:"Click action",key:"buttonOnClick"}]},dynamicfilter={name:"Dynamic Filter",icon:"Filter",size:{width:100,height:35},grid:{hAlign:"center",vAlign:"center"},settings:[{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"columns/basic",label:"Allowed filter columns",key:"allowedFields",dependsOn:"dataProvider"},{type:"select",label:"Button size",showInBar:!0,key:"size",options:[{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"},{label:"Extra large",value:"XL"}],defaultValue:"M"}]},chartblock={documentationLink:"https://docs.budibase.com/docs/chart",block:!0,name:"Chart Block",icon:"GraphPie",hasChildren:!1,size:{width:600,height:420},grid:{hAlign:"stretch",vAlign:"center"},settings:[{type:"select",label:"Chart type",key:"chartType",required:!0,options:[{label:"Pie",value:"pie"},{label:"Bar",value:"bar"},{label:"Histogram",value:"histogram"},{label:"Line",value:"line"},{label:"Donut",value:"donut"},{label:"Candlestick",value:"candlestick"},{label:"Area",value:"area"}]},{type:"dataSource",label:"Data",key:"dataSource",required:!0},{type:"select",label:"Auto-refresh",key:"autoRefresh",license:"premium",placeholder:"Never",options:[{label:"10 seconds",value:10},{label:"30 seconds",value:30},{label:"1 minute",value:60},{label:"5 minutes",value:300},{label:"10 minutes",value:600}]},{type:"text",label:"Title",key:"chartTitle"},{type:"filter",label:"Filtering",key:"filter",nested:!0},{type:"field",label:"Sort column",key:"sortColumn"},{type:"select",label:"Sort order",key:"sortOrder",options:["Ascending","Descending"],defaultValue:"Ascending"},{type:"number",label:"Limit",key:"limit",defaultValue:50},{type:"text",label:"Width",key:"width"},{type:"text",label:"Height",key:"height",defaultValue:"400"},{type:"select",label:"Colors",key:"palette",defaultValue:"Palette 1",options:["Custom","Palette 1","Palette 2","Palette 3","Palette 4","Palette 5","Palette 6","Palette 7","Palette 8","Palette 9","Palette 10"]},{type:"color",label:"C1",key:"c1",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C2",key:"c2",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C3",key:"c3",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C4",key:"c4",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C5",key:"c5",dependsOn:{setting:"palette",value:"Custom"}},{type:"boolean",label:"Data labels",key:"dataLabels",defaultValue:!1},{type:"boolean",label:"Legend",key:"legend",defaultValue:!0},{type:"boolean",label:"Animate",key:"animate",defaultValue:!1},{section:!0,name:"Pie Chart",icon:"GraphPie",dependsOn:{setting:"chartType",value:"pie"},settings:[{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"field",label:"Data column",key:"valueColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0}]},{section:!0,name:"Donut Chart",icon:"GraphDonut",dependsOn:{setting:"chartType",value:"donut"},settings:[{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"field",label:"Data column",key:"valueColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0}]},{section:!0,name:"Bar Chart",icon:"GraphBarVertical",dependsOn:{setting:"chartType",value:"bar"},settings:[{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"multifield",label:"Data columns",key:"valueColumns",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"select",label:"Format",key:"yAxisUnits",options:["Default","Thousands","Millions"],defaultValue:"Default"},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"boolean",label:"Stacked",key:"stacked",defaultValue:!1},{type:"boolean",label:"Horizontal",key:"horizontal",defaultValue:!1}]},{section:!0,name:"Histogram Chart",icon:"Histogram",dependsOn:{setting:"chartType",value:"histogram"},settings:[{type:"field",label:"Value column",key:"valueColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"boolean",label:"Horizontal",key:"horizontal",defaultValue:!1},{type:"number",label:"Bucket count",key:"bucketCount",defaultValue:10,min:2}]},{section:!0,name:"Line Chart",icon:"GraphTrend",dependsOn:{setting:"chartType",value:"line"},settings:[{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"multifield",label:"Data columns",key:"valueColumns",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"select",label:"Format",key:"yAxisUnits",options:["Default","Thousands","Millions"],defaultValue:"Default"},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"select",label:"Curve",key:"curve",options:["Smooth","Straight","Stepline"],defaultValue:"Smooth"}]},{section:!0,name:"Area Chart",icon:"GraphAreaStacked",dependsOn:{setting:"chartType",value:"area"},settings:[{type:"field",label:"Label columns",key:"labelColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"multifield",label:"Data columns",key:"valueColumns",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"select",label:"Format",key:"yAxisUnits",options:["Default","Thousands","Millions"],defaultValue:"Default"},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"select",label:"Curve",key:"curve",options:["Smooth","Straight","Stepline"],defaultValue:"Smooth"},{type:"boolean",label:"Stacked",key:"stacked",defaultValue:!0},{type:"boolean",label:"Gradient",key:"gradient",defaultValue:!1}]},{section:!0,name:"Candlestick Chart",icon:"GraphBarVerticalStacked",dependsOn:{setting:"chartType",value:"candlestick"},settings:[{type:"field",label:"Date column",key:"dateColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"datetimeLike"}},required:!0},{type:"field",label:"Open column",key:"openColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"field",label:"Close column",key:"closeColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"field",label:"High column",key:"highColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"field",label:"Low column",key:"lowColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"select",label:"Format",key:"yAxisUnits",options:["Default","Thousands","Millions"],defaultValue:"Default"},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"}]}]},tableblock={deprecated:!0,block:!0,name:"Table Block",icon:"Table",styles:["size"],size:{width:600,height:400},settings:[{type:"text",label:"Title",key:"title"},{section:!0,name:"Table",settings:[{type:"dataSource",label:"Data",key:"dataSource",required:!0},{type:"select",label:"Auto-refresh",key:"autoRefresh",license:"premium",placeholder:"Never",options:[{label:"10 seconds",value:10},{label:"30 seconds",value:30},{label:"1 minute",value:60},{label:"5 minutes",value:300},{label:"10 minutes",value:600}]},{type:"columns",label:"Columns",key:"tableColumns",dependsOn:"dataSource",placeholder:"All columns",nested:!0},{type:"field/sortable",label:"Sort by",key:"sortColumn",placeholder:"Default"},{type:"select",label:"Sort order",key:"sortOrder",options:["Ascending","Descending"],defaultValue:"Ascending",dependsOn:"sortColumn"},{type:"select",label:"Size",key:"size",defaultValue:"spectrum--medium",options:[{label:"Medium",value:"spectrum--medium"},{label:"Large",value:"spectrum--large"}]},{type:"number",label:"Scroll limit",key:"rowCount",defaultValue:8},{type:"boolean",label:"Paginate",key:"paginate",defaultValue:!0},{type:"boolean",label:"Quiet",key:"quiet"},{type:"boolean",label:"Compact",key:"compact"},{type:"boolean",label:"Row selection",key:"allowSelectRows",info:"Row selection is only compatible with internal or SQL tables"},{type:"filter",label:"Filtering",key:"filter",nested:!0},{type:"text",label:"Empty text",key:"noRowsMessage",defaultValue:"No rows found"},{type:"searchfield",label:"Search fields",key:"searchColumns",placeholder:"Choose search fields",info:"Only the first 5 fields will be used"}]},{section:!0,name:"On row click",settings:[{label:"Behaviour",labelHidden:!0,type:"radio",key:"clickBehaviour",sendEvents:!0,defaultValue:"actions",info:"Details side panel is only compatible with internal or SQL tables",options:[{label:"Run actions",value:"actions"},{label:"Show details side panel",value:"details"}]},{label:"Actions",labelHidden:!0,type:"event",key:"onClick",nested:!0,dependsOn:{setting:"clickBehaviour",value:"actions"},context:[{label:"Clicked row",key:"row"}]},{label:"",type:"fieldConfiguration",key:"sidePanelFields",nested:!0,dependsOn:{setting:"clickBehaviour",value:"details"},resetOn:"dataSource"},{label:"Save button",type:"text",key:"sidePanelSaveLabel",defaultValue:"Save",nested:!0,dependsOn:{setting:"clickBehaviour",value:"details"}},{label:"Delete button",type:"text",key:"sidePanelDeleteLabel",defaultValue:"Delete",nested:!0,dependsOn:{setting:"clickBehaviour",value:"details"}},{type:"boolean",label:"Hide notifications",key:"notificationOverride",defaultValue:!1,dependsOn:{setting:"clickBehaviour",value:"details"}}]},{section:!0,name:"Button",settings:[{type:"boolean",key:"showTitleButton",label:"Show button",defaultValue:!1},{type:"text",key:"titleButtonText",label:"Text",defaultValue:"Create row",dependsOn:"showTitleButton"},{type:"radio",key:"titleButtonClickBehaviour",label:"Behaviour",dependsOn:"showTitleButton",defaultValue:"actions",info:"New row side panel is only compatible with internal or SQL tables",options:[{label:"Run actions",value:"actions"},{label:"Show new row side panel",value:"new"}]},{type:"event",label:"On click",key:"onClickTitleButton",nested:!0,dependsOn:{setting:"titleButtonClickBehaviour",value:"actions"}}]}],context:[{type:"static",suffix:"provider",values:[{label:"Rows",key:"rows",type:"array"},{label:"Extra Info",key:"info",type:"string"},{label:"Rows Length",key:"rowsLength",type:"number"},{label:"Schema",key:"schema",type:"object"},{label:"Page Number",key:"pageNumber",type:"number"}]},{type:"static",suffix:"table",values:[{label:"Selected Rows",key:"selectedRows",type:"array"}]}]},cardsblock={block:!0,name:"Cards Block",icon:"PersonalizationField",styles:["size"],size:{width:600,height:400},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"text",label:"Title",key:"title"},{type:"dataSource",label:"Data",key:"dataSource",required:!0},{type:"select",label:"Auto-refresh",key:"autoRefresh",license:"premium",placeholder:"Never",options:[{label:"10 seconds",value:10},{label:"30 seconds",value:30},{label:"1 minute",value:60},{label:"5 minutes",value:300},{label:"10 minutes",value:600}]},{type:"searchfield",label:"Search columns",key:"searchColumns",placeholder:"Choose search columns",info:"Max 5 columns will be used"},{type:"filter",label:"Filtering",key:"filter",nested:!0},{type:"field/sortable",label:"Sort column",key:"sortColumn",placeholder:"None"},{type:"select",label:"Sort order",key:"sortOrder",options:["Ascending","Descending"],defaultValue:"Descending"},{type:"number",label:"Limit",key:"limit",defaultValue:8},{type:"boolean",label:"Paginate",key:"paginate"},{type:"text",label:"Empty text",key:"noRowsMessage",defaultValue:"No rows found"},{section:!0,name:"Cards",settings:[{type:"text",key:"cardTitle",label:"Title",nested:!0,resetOn:"dataSource"},{type:"text",key:"cardSubtitle",label:"Subtitle",nested:!0,resetOn:"dataSource"},{type:"text",key:"cardDescription",label:"Description",nested:!0,resetOn:"dataSource"},{type:"text",key:"cardImageURL",label:"Image URL",nested:!0,resetOn:"dataSource"},{type:"boolean",key:"linkCardTitle",label:"Link card title"},{type:"boolean",key:"cardPeek",label:"Open in modal"},{type:"url",label:"Link screen",key:"cardURL",nested:!0},{type:"boolean",key:"cardHorizontal",label:"Horizontal"},{type:"boolean",label:"Add button",key:"showCardButton"},{type:"text",key:"cardButtonText",label:"Button text",nested:!0,dependsOn:"showCardButton"},{type:"event",label:"Click action",key:"cardButtonOnClick",nested:!0}]},{section:!0,name:"Title button",settings:[{type:"boolean",key:"showTitleButton",label:"Show button"},{type:"boolean",label:"Open in modal",key:"titleButtonPeek"},{type:"text",key:"titleButtonText",label:"Button text"},{type:"url",label:"Button link",key:"titleButtonURL"}]},{section:!0,name:"Advanced",settings:[{type:"field",label:"ID column",key:"linkColumn",placeholder:"Default"}]}],context:{type:"schema",suffix:"repeater",scope:"local"}},repeaterblock={block:!0,name:"Repeater Block",icon:"ViewList",illegalChildren:["section","rowexplorer"],hasChildren:!0,size:{width:500,height:200},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"dataSource",label:"Data",key:"dataSource",required:!0},{type:"select",label:"Auto-refresh",key:"autoRefresh",license:"premium",placeholder:"Never",options:[{label:"10 seconds",value:10},{label:"30 seconds",value:30},{label:"1 minute",value:60},{label:"5 minutes",value:300},{label:"10 minutes",value:600}]},{type:"filter",label:"Filtering",key:"filter",nested:!0},{type:"field/sortable",label:"Sort column",key:"sortColumn",placeholder:"None"},{type:"select",label:"Sort order",key:"sortOrder",options:["Ascending","Descending"],defaultValue:"Descending"},{type:"number",label:"Limit",key:"limit",defaultValue:10},{type:"boolean",label:"Paginate",key:"paginate"},{section:!0,name:"Layout settings",settings:[{type:"text",label:"Empty text",key:"noRowsMessage",defaultValue:"No rows found"},{type:"select",label:"Direction",key:"direction",showInBar:!0,barStyle:"buttons",options:[{label:"Column",value:"column",barIcon:"TableSelectColumn",barTitle:"Column layout"},{label:"Row",value:"row",barIcon:"TableSelectRow",barTitle:"Row layout"}],defaultValue:"column"},{type:"select",label:"Horiz. align",key:"hAlign",showInBar:!0,barStyle:"buttons",options:[{label:"Left",value:"left",barIcon:"AlignLeft",barTitle:"Align left"},{label:"Center",value:"center",barIcon:"AlignCenter",barTitle:"Align center"},{label:"Right",value:"right",barIcon:"AlignRight",barTitle:"Align right"},{label:"Stretch",value:"stretch",barIcon:"MoveLeftRight",barTitle:"Align stretched horizontally"}],defaultValue:"stretch"},{type:"select",label:"Vert. align",key:"vAlign",showInBar:!0,barStyle:"buttons",options:[{label:"Top",value:"top",barIcon:"AlignTop",barTitle:"Align top"},{label:"Middle",value:"middle",barIcon:"AlignMiddle",barTitle:"Align middle"},{label:"Bottom",value:"bottom",barIcon:"AlignBottom",barTitle:"Align bottom"},{label:"Stretch",value:"stretch",barIcon:"MoveUpDown",barTitle:"Align stretched vertically"}],defaultValue:"top"},{type:"select",label:"Gap",key:"gap",showInBar:!0,barStyle:"picker",options:[{label:"None",value:"N"},{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"}],defaultValue:"M"}]}],context:[{type:"static",suffix:"provider",values:[{label:"Rows",key:"rows",type:"array"},{label:"Extra Info",key:"info",type:"string"},{label:"Rows Length",key:"rowsLength",type:"number"},{label:"Schema",key:"schema",type:"object"},{label:"Page Number",key:"pageNumber",type:"number"}]},{type:"static",suffix:"repeater",values:[{label:"Row Index",key:"index",type:"number"}]},{type:"schema",suffix:"repeater",scope:"local"}]},markdownviewer={name:"Markdown Viewer",icon:"Preview",styles:["size"],size:{width:400,height:100},grid:{hAlign:"stretch",vAlign:"start"},settings:[{type:"text",label:"Markdown",key:"value",required:!0}]},multistepformblock={name:"Multi-step Form Block",icon:"AssetsAdded",block:!0,hasChildren:!1,ejectable:!1,size:{width:600,height:400},grid:{hAlign:"stretch",vAlign:"start"},styles:["padding","size","background","border","shadow"],settings:[{type:"table",label:"Data",key:"dataSource"},{type:"radio",label:"Type",key:"actionType",options:["Create","Update","View"],defaultValue:"Create"},{section:!0,dependsOn:{setting:"actionType",value:"Create",invert:!0},name:"Row ID",info:"<a href='https://docs.budibase.com/docs/form-block' target='_blank'>How to pass a row ID using bindings</a>",settings:[{type:"text",label:"Row ID",key:"rowId",nested:!0},{type:"text",label:"No rows found",key:"noRowsMessage",defaultValue:"We couldn't find a row to display",nested:!0}]},{section:!0,name:"Details",settings:[{type:"stepConfiguration",key:"steps",nested:!0,labelHidden:!0,resetOn:["dataSource","actionType"],defaultValue:[{}]}]},{tag:"style",type:"select",label:"Button position",key:"buttonPosition",options:[{label:"Bottom",value:"bottom"},{label:"Top",value:"top"}],defaultValue:"bottom"},{tag:"style",type:"select",label:"Size",key:"size",options:[{label:"Medium",value:"spectrum--medium"},{label:"Large",value:"spectrum--large"}],defaultValue:"spectrum--medium"}],actions:[{type:"ValidateForm",suffix:"form"},{type:"ClearForm",suffix:"form"},{type:"UpdateFieldValue",suffix:"form"},{type:"ScrollTo",suffix:"form"},{type:"ChangeFormStep",suffix:"form"},{type:"RefreshDatasource",suffix:"provider"}],context:[{type:"form",suffix:"form"},{type:"schema",suffix:"repeater"},{type:"static",suffix:"form",values:[{label:"Value",key:"__value",type:"object"},{label:"Valid",key:"__valid",type:"boolean"},{label:"Current Step",key:"__currentStep",type:"number"},{label:"Current Step Valid",key:"__currentStepValid",type:"boolean"}]}]},multistepformblockstep={name:"Multi-step Form Block Step",settings:[{type:"formStepControls",label:"Steps",key:"steps"},{type:"text",label:"Title",key:"title",nested:!0},{type:"text",label:"Description",key:"desc",nested:!0},{type:"fieldConfiguration",key:"fields",nested:!0},{type:"buttonConfiguration",label:"Buttons",key:"buttons",wide:!0,nested:!0},{type:"boolean",label:"Collapse",key:"buttonsCollapsed"},{type:"text",label:"Collapsed text",key:"buttonsCollapsedText",dependsOn:"buttonsCollapsed",placeholder:"Action"}]},formblock={name:"Form Block",icon:"Form",styles:["padding","size","background","border","shadow"],block:!0,info:"Form blocks are only compatible with internal or SQL tables",size:{width:600,height:400},grid:{hAlign:"stretch",vAlign:"start"},settings:[{type:"table",label:"Data",key:"dataSource"},{type:"radio",label:"Type",key:"actionType",options:["Create","Update","View"],defaultValue:"Create"},{section:!0,dependsOn:{setting:"actionType",value:"Create",invert:!0},name:"Row ID",info:"<a href='https://docs.budibase.com/docs/form-block' target='_blank'>How to pass a row ID using bindings</a>",settings:[{type:"text",label:"Row ID",key:"rowId",nested:!0},{type:"text",label:"No rows found",key:"noRowsMessage",defaultValue:"We couldn't find a row to display",nested:!0}]},{section:!0,name:"Details",settings:[{type:"text",label:"Title",key:"title",nested:!0},{type:"text",label:"Description",key:"description",nested:!0},{type:"fieldConfiguration",key:"fields",nested:!0,resetOn:"dataSource",selectAllFields:!0},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1}]},{tag:"style",type:"select",label:"Button position",key:"buttonPosition",options:[{label:"Bottom",value:"bottom"},{label:"Top",value:"top"}],defaultValue:"bottom"},{section:!0,name:"Buttons",settings:[{type:"buttonConfiguration",key:"buttons",nested:!0,resetOn:["actionType","dataSource"]},{type:"boolean",label:"Collapse",key:"buttonsCollapsed"},{type:"text",label:"Collapsed text",key:"buttonsCollapsedText",dependsOn:"buttonsCollapsed",placeholder:"Action"}]},{tag:"style",type:"select",label:"Size",key:"size",options:[{label:"Medium",value:"spectrum--medium"},{label:"Large",value:"spectrum--large"}],defaultValue:"spectrum--medium"}],actions:[{type:"ValidateForm",suffix:"form"},{type:"ClearForm",suffix:"form"},{type:"UpdateFieldValue",suffix:"form"},{type:"ScrollTo",suffix:"form"},{type:"RefreshDatasource",suffix:"provider"}],context:[{type:"form",suffix:"form"},{type:"schema",suffix:"repeater"}]},sidepanel={name:"Side Panel",icon:"RailRight",hasChildren:!0,ignoresLayout:!0,illegalChildren:["section","sidepanel","modal"],showEmptyState:!1,draggable:!1,info:"Side panels are hidden by default. They will only be revealed when triggered by the 'Open Side Panel' action.",settings:[{type:"boolean",key:"ignoreClicksOutside",label:"Ignore clicks outside",defaultValue:!1},{type:"event",key:"onClose",label:"On close"}]},modal$1={name:"Modal",icon:"MBox",hasChildren:!0,illegalChildren:["section","modal","sidepanel"],ignoresLayout:!0,showEmptyState:!1,draggable:!1,info:"Modals are hidden by default. They will only be revealed when triggered by the 'Open Modal' action.",settings:[{type:"boolean",key:"ignoreClicksOutside",label:"Ignore clicks outside",defaultValue:!1},{type:"event",key:"onClose",label:"On close"},{type:"select",label:"Size",key:"size",defaultValue:"small",options:[{label:"Small",value:"small"},{label:"Medium",value:"medium"},{label:"Large",value:"large"},{label:"Fullscreen",value:"fullscreen"}]}]},rowexplorer={block:!0,name:"Row Explorer Block",icon:"PersonalizationField",size:{width:800,height:426},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"table",label:"Data",key:"dataSource",required:!0},{type:"select",label:"Auto-refresh",key:"autoRefresh",license:"premium",placeholder:"Never",options:[{label:"10 seconds",value:10},{label:"30 seconds",value:30},{label:"1 minute",value:60},{label:"5 minutes",value:300},{label:"10 minutes",value:600}]},{type:"text",label:"Height",key:"height",defaultValue:"426px"},{type:"text",label:"Empty text",key:"noRowsMessage",defaultValue:"No data"},{section:!0,name:"Cards",settings:[{type:"field",label:"Search field",key:"cardSearchField",nested:!0},{type:"text",key:"cardTitle",label:"Title",nested:!0,defaultValue:"Title"},{type:"text",key:"cardSubtitle",label:"Subtitle",nested:!0,defaultValue:"Subtitle"},{type:"text",key:"cardDescription",label:"Description",nested:!0,defaultValue:"Description"},{type:"text",key:"cardImageURL",label:"Image URL",nested:!0}]},{section:!0,name:"Details",settings:[{type:"text",key:"detailTitle",label:"Title"},{type:"multifield",label:"Fields",key:"detailFields",nested:!0,selectAllFields:!0}]}],context:{type:"schema",suffix:"repeater",scope:"local"}},gridblock={name:"Table",icon:"Table",styles:["size"],size:{width:600,height:400},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"dataSource",label:"Data",key:"table",required:!0},{type:"filter",label:"Filtering",key:"initialFilter",dependsOn:{setting:"table.type",value:"custom",invert:!0}},{type:"field/sortable",label:"Sort column",key:"initialSortColumn",placeholder:"Default",dependsOn:{setting:"table.type",value:"custom",invert:!0}},{type:"select",label:"Sort order",key:"initialSortOrder",options:["Ascending","Descending"],defaultValue:"Ascending",dependsOn:"initialSortColumn"},{type:"select",label:"Row height",key:"fixedRowHeight",placeholder:"Default",options:[{label:"Small",value:36},{label:"Medium",value:64},{label:"Large",value:92}]},{type:"event",label:"On row click",key:"onRowClick",context:[{label:"Clicked row",key:"row"}]},{type:"boolean",label:"Add rows",key:"allowAddRows",defaultValue:!0,dependsOn:{setting:"table.type",value:["table","viewV2"]}},{type:"boolean",label:"Edit rows",key:"allowEditRows",defaultValue:!0,dependsOn:{setting:"table.type",value:["table","viewV2"]}},{type:"boolean",label:"Delete rows",key:"allowDeleteRows",defaultValue:!0,dependsOn:{setting:"table.type",value:["table","viewV2"]}},{type:"boolean",label:"High contrast",key:"stripeRows",defaultValue:!1},{type:"boolean",label:"Quiet",key:"quiet",defaultValue:!1},{section:!0,name:"Columns",settings:[{type:"columns/grid",key:"columns",resetOn:"table"}]},{section:!0,name:"Buttons",settings:[{type:"buttonConfiguration",key:"buttons",nested:!0,context:[{label:"Clicked row",key:"row"}]},{type:"boolean",label:"Collapse",key:"buttonsCollapsed"},{type:"text",label:"Collapsed text",key:"buttonsCollapsedText",dependsOn:"buttonsCollapsed",placeholder:"Action"}]}],context:[{type:"schema",scope:"local"},{type:"static",values:[{label:"Selected rows",key:"selectedRows",type:"array"}]}],actions:["RefreshDatasource"]},bbreferencefield={devComment:"As bb reference is only used for user subtype for now, we are using user for icon and labels",name:"User List Field",icon:"UserGroup",styles:["size"],editable:!0,size:{width:400,height:50},settings:[{type:"field/bb_reference",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"text",label:"Default value",key:"defaultValue"},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"validation/link",label:"Validation",key:"validation"},{type:"boolean",label:"Search",key:"autocomplete",defaultValue:!0},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"array"}]}},bbreferencesinglefield={devComment:"As bb reference is only used for user subtype for now, we are using user for icon and labels",name:"User Field",icon:"User",styles:["size"],editable:!0,size:{width:400,height:50},settings:[{type:"field/bb_reference_single",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"text",label:"Default value",key:"defaultValue"},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"validation/link",label:"Validation",key:"validation"},{type:"boolean",label:"Search",key:"autocomplete",defaultValue:!0},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"string"}]}},clientManifest={features,typeSupportPresets,layout:layout$1,container:container$1,section,screenslot,buttongroup,button,divider,repeater,stackedlist,card,text,heading:heading$1,tag,image,backgroundimage,icon,navigation,link,cardhorizontal,cardstat,embed,bar,line,area,pie,donut,candlestick,histogram,form:form$2,formstep,fieldgroup,labelfield,stringfield,numberfield,bigintfield,passwordfield,optionsfield,multifieldselect,booleanfield,longformfield,datetimefield,codescanner,signaturesinglefield,embeddedmap,attachmentfield,attachmentsinglefield,relationshipfield,jsonfield,s3upload,dataprovider,table:table$1,daterangepicker,spectrumcard,dynamicfilter,chartblock,tableblock,cardsblock,repeaterblock,markdownviewer,multistepformblock,multistepformblockstep,formblock,sidepanel,modal:modal$1,rowexplorer,gridblock,bbreferencefield,bbreferencesinglefield};function findComponentsBySettingsType(to,ue){const eo=Array.isArray(ue)?ue:[ue],no=[];function ro(oo){var so;if(!oo)return;const io=getManifestDefinition(oo),ao="settings"in io&&io.settings.find(lo=>eo.includes(lo.type));ao&&"type"in ao&&no.push({component:oo,setting:{type:ao.type,key:ao.key}}),(so=oo._children)==null||so.forEach(lo=>{ro(lo)})}return ro(to==null?void 0:to.props),no}function getManifestDefinition(to){const ue=to._component.split("/").slice(-1)[0];return clientManifest[ue]}class TableImportError extends Error{constructor(ue){super(),this.name="TableImportError",this.errors=ue}get description(){let ue="";for(const eo in this.errors)ue+=`${eo}: ${this.errors[eo]}
|
|
519
|
+
making the process more digestible for your users.</p>`},m(eo,no){insert$1(eo,ue,no)},p:noop$6,i:noop$6,o:noop$6,d(eo){eo&&detach(ue)}}}class NewFormSteps extends SvelteComponent{constructor(ue){super(),init$3(this,ue,null,create_fragment$9b,safe_not_equal,{})}}const ONBOARDING_EVENT_PREFIX="onboarding",TOUR_STEP_KEYS={BUILDER_APP_PUBLISH:"builder-app-publish",BUILDER_DATA_SECTION:"builder-data-section",BUILDER_DESIGN_SECTION:"builder-design-section",BUILDER_USER_MANAGEMENT:"builder-user-management",BUILDER_AUTOMATION_SECTION:"builder-automation-section",FEATURE_USER_MANAGEMENT:"feature-user-management",BUILDER_FORM_CREATE_STEPS:"builder-form-create-steps",BUILDER_FORM_VIEW_UPDATE_STEPS:"builder-form-view-update-steps",BUILDER_FORM_ROW_ID:"builder-form-row-id"},TOUR_KEYS={TOUR_BUILDER_ONBOARDING:"builder-onboarding",FEATURE_ONBOARDING:"feature-onboarding",BUILDER_FORM_CREATE:"builder-form-create",BUILDER_FORM_VIEW_UPDATE:"builder-form-view-update"},getCurrentStepIdx=(to,ue)=>{if(to!=null&&to.length)return to!=null&&to.length&&!ue?0:to.findIndex(eo=>eo.id===ue)},endUserOnboarding=async({skipped:to=!1}={})=>{if(get_store_value(auth).user){try{await API.updateSelf({onboardedAt:new Date().toISOString()}),to&&tourEvent("skipped"),await auth.getSelf(),builderStore.endBuilderOnboarding(),builderStore.setTour()}catch(ue){return console.error("Onboarding failed",ue),!1}return!0}},endTour=async({key:to,skipped:ue=!1}={})=>{const{tours:eo={}}=get_store_value(auth).user;eo[to]=new Date().toISOString(),await API.updateSelf({tours:eo}),ue&&tourEvent(to,ue),await auth.getSelf(),builderStore.setTour()},tourEvent=(to,ue)=>{analytics.captureEvent(`${ONBOARDING_EVENT_PREFIX}:${to}`,{eventSource:EventSource.PORTAL,skipped:ue})},getTours=()=>({[TOUR_KEYS.TOUR_BUILDER_ONBOARDING]:{steps:[{id:TOUR_STEP_KEYS.BUILDER_DATA_SECTION,title:"Data",route:"/builder/app/:application/data",layout:OnboardingData,query:".topleftnav .spectrum-Tabs-item#builder-data-tab",onLoad:async()=>{tourEvent(TOUR_STEP_KEYS.BUILDER_DATA_SECTION)},align:"left"},{id:TOUR_STEP_KEYS.BUILDER_DESIGN_SECTION,title:"Design",route:"/builder/app/:application/design",layout:OnboardingDesign,query:".topleftnav .spectrum-Tabs-item#builder-design-tab",onLoad:()=>{tourEvent(TOUR_STEP_KEYS.BUILDER_DESIGN_SECTION)},align:"left"},{id:TOUR_STEP_KEYS.BUILDER_AUTOMATION_SECTION,title:"Automations",route:"/builder/app/:application/automation",query:".topleftnav .spectrum-Tabs-item#builder-automation-tab",body:"Once you have your app screens made, you can set up automations to fit in with your current workflow",onLoad:()=>{tourEvent(TOUR_STEP_KEYS.BUILDER_AUTOMATION_SECTION)},align:"left"},{id:TOUR_STEP_KEYS.BUILDER_USER_MANAGEMENT,title:"Users",query:".toprightnav #builder-app-users-button",body:"Add users to your app and control what level of access they have.",onLoad:()=>{tourEvent(TOUR_STEP_KEYS.BUILDER_USER_MANAGEMENT)}},{id:TOUR_STEP_KEYS.BUILDER_APP_PUBLISH,title:"Publish",layout:OnboardingPublish,route:"/builder/app/:application/design",query:".toprightnav #builder-app-publish-button",onLoad:()=>{tourEvent(TOUR_STEP_KEYS.BUILDER_APP_PUBLISH)},onComplete:endUserOnboarding}],onSkip:async()=>{await endUserOnboarding({skipped:!0})},endRoute:"/builder/app/:application/data"},[TOUR_KEYS.FEATURE_ONBOARDING]:{steps:[{id:TOUR_STEP_KEYS.FEATURE_USER_MANAGEMENT,title:"Users",query:".toprightnav #builder-app-users-button",body:"Add users to your app and control what level of access they have.",onLoad:()=>{tourEvent(TOUR_STEP_KEYS.FEATURE_USER_MANAGEMENT)},onComplete:endUserOnboarding}]},[TOUR_KEYS.BUILDER_FORM_CREATE]:{steps:[{id:TOUR_STEP_KEYS.BUILDER_FORM_CREATE_STEPS,title:"Add multiple steps",layout:NewFormSteps,query:"#steps-prop-control-wrap",onComplete:()=>{builderStore.highlightSetting(),endTour({key:TOUR_KEYS.BUILDER_FORM_CREATE})},onLoad:()=>{tourEvent(TOUR_STEP_KEYS.BUILDER_FORM_CREATE_STEPS),builderStore.highlightSetting("steps","info")},align:"left-outside"}]},[TOUR_KEYS.BUILDER_FORM_VIEW_UPDATE]:{steps:[{id:TOUR_STEP_KEYS.BUILDER_FORM_ROW_ID,title:"Add row ID to update a row",layout:NewViewUpdateFormRowId,query:"#rowId-prop-control-wrap",onLoad:()=>{tourEvent(TOUR_STEP_KEYS.BUILDER_FORM_ROW_ID),builderStore.highlightSetting("rowId","info")},align:"left-outside"},{id:TOUR_STEP_KEYS.BUILDER_FORM_VIEW_UPDATE_STEPS,title:"Add multiple steps",layout:NewFormSteps,query:"#steps-prop-control-wrap",onComplete:()=>{builderStore.highlightSetting(),endTour({key:TOUR_KEYS.BUILDER_FORM_VIEW_UPDATE})},onLoad:()=>{tourEvent(TOUR_STEP_KEYS.BUILDER_FORM_VIEW_UPDATE_STEPS),builderStore.highlightSetting("steps","info")},align:"left-outside",scrollIntoView:!0}],onSkip:async()=>{builderStore.highlightSetting(),endTour({key:TOUR_KEYS.BUILDER_FORM_VIEW_UPDATE,skipped:!0})}}}),TOURS=getTours(),TOURSBYSTEP=Object.keys(TOURS).reduce((to,ue)=>(TOURS[ue].steps.forEach(eo=>{to[eo.id]=eo,to[eo.id].tour=ue}),to),{}),INITIAL_BUILDER_STATE={previousTopNavPath:{},highlightedSetting:null,propertyFocus:null,builderSidePanel:!1,onboarding:!1,tourNodes:null,tourKey:null,tourStepKey:null,hoveredComponentId:null};class BuilderStore extends BudiStore{constructor(){super({...INITIAL_BUILDER_STATE}),this.init=this.init.bind(this),this.refresh=this.refresh.bind(this),this.reset=this.reset.bind(this),this.highlightSetting=this.highlightSetting.bind(this),this.propertyFocus=this.propertyFocus.bind(this),this.hideBuilderSidePanel=this.hideBuilderSidePanel.bind(this),this.showBuilderSidePanel=this.showBuilderSidePanel.bind(this),this.setPreviousTopNavPath=this.setPreviousTopNavPath.bind(this),this.selectResource=this.selectResource.bind(this),this.registerTourNode=this.registerTourNode.bind(this),this.destroyTourNode=this.destroyTourNode.bind(this),this.startBuilderOnboarding=this.startBuilderOnboarding.bind(this)}init(ue){if(!(ue!=null&&ue.appId)){console.error("BuilderStore: No appId supplied for websocket");return}this.websocket||(this.websocket=createBuilderWebsocket(ue.appId))}refresh(){const ue=get_store_value(this.store);this.store.set(ue)}reset(){var ue;this.store.set({...INITIAL_BUILDER_STATE}),(ue=this.websocket)==null||ue.disconnect(),this.websocket=void 0}highlightSetting(ue,eo){this.update(no=>({...no,highlightedSetting:ue?{key:ue,type:eo||"info"}:null}))}propertyFocus(ue){this.update(eo=>({...eo,propertyFocus:ue}))}showBuilderSidePanel(){this.update(ue=>({...ue,builderSidePanel:!0}))}hideBuilderSidePanel(){this.update(ue=>({...ue,builderSidePanel:!1}))}setPreviousTopNavPath(ue,eo){this.update(no=>({...no,previousTopNavPath:{...no.previousTopNavPath||{},[ue]:eo}}))}selectResource(ue){var eo;(eo=this.websocket)==null||eo.emit(BuilderSocketEvent.SelectResource,{resourceId:ue})}registerTourNode(ue,eo){this.update(no=>({...no,tourNodes:{...no.tourNodes,[ue]:eo}}))}destroyTourNode(ue){var no;const eo=get_store_value(this.store);if((no=eo.tourNodes)!=null&&no[ue]){const ro={...eo.tourNodes};delete ro[ue],this.update(oo=>({...oo,tourNodes:ro}))}}startBuilderOnboarding(){this.update(ue=>({...ue,onboarding:!0,tourKey:TOUR_KEYS.TOUR_BUILDER_ONBOARDING}))}endBuilderOnboarding(){this.update(ue=>({...ue,onboarding:!1}))}setTour(ue){this.update(eo=>({...eo,tourStepKey:null,tourNodes:null,tourKey:ue||null}))}}const builderStore=new BuilderStore,INITIAL_HOVER_STATE={componentId:null};class HoverStore extends BudiStore{constructor(){super({...INITIAL_HOVER_STATE}),this.hover=this.hover.bind(this)}hover(ue,eo=!0){clearTimeout(this.hoverTimeout),ue?this.processHover(ue,eo):this.hoverTimeout=setTimeout(()=>{this.processHover(ue,eo)},10)}processHover(ue,eo){ue!==get_store_value(this.store).componentId&&(this.update(no=>(no.componentId=ue,no)),eo&&previewStore.sendEvent("hover-component",ue))}}const hoverStore=new HoverStore,INITIAL_PREVIEW_STATE={previewDevice:"desktop",previewEventHandler:null,showPreview:!1,selectedComponentContext:null};class PreviewStore extends BudiStore{constructor(){super(INITIAL_PREVIEW_STATE),this.setDevice=this.setDevice.bind(this),this.sendEvent=this.sendEvent.bind(this),this.registerEventHandler=this.registerEventHandler.bind(this),this.startDrag=this.startDrag.bind(this),this.stopDrag=this.stopDrag.bind(this),this.showPreview=this.showPreview.bind(this),this.setSelectedComponentContext=this.setSelectedComponentContext.bind(this),this.requestComponentContext=this.requestComponentContext.bind(this)}setDevice(ue){this.update(eo=>({...eo,previewDevice:ue}))}sendEvent(ue,eo){const{previewEventHandler:no}=get_store_value(this.store);no==null||no(ue,eo)}registerEventHandler(ue){this.update(eo=>({...eo,previewEventHandler:ue}))}startDrag(ue){this.sendEvent("dragging-new-component",{dragging:!0,component:ue})}stopDrag(){this.sendEvent("dragging-new-component",{dragging:!1})}showPreview(ue){this.update(eo=>({...eo,showPreview:ue}))}setSelectedComponentContext(ue){this.update(eo=>({...eo,selectedComponentContext:ue}))}requestComponentContext(){this.sendEvent("request-context")}}const previewStore=new PreviewStore,TriggerStepID={ROW_SAVED:"ROW_SAVED",ROW_UPDATED:"ROW_UPDATED",ROW_DELETED:"ROW_DELETED",ROW_ACTION:"ROW_ACTION",WEBHOOK:"WEBHOOK",APP:"APP",CRON:"CRON"},ActionStepID={SEND_EMAIL_SMTP:"SEND_EMAIL_SMTP",CREATE_ROW:"CREATE_ROW",UPDATE_ROW:"UPDATE_ROW",DELETE_ROW:"DELETE_ROW",OUTGOING_WEBHOOK:"OUTGOING_WEBHOOK",EXECUTE_SCRIPT:"EXECUTE_SCRIPT",EXECUTE_QUERY:"EXECUTE_QUERY",SERVER_LOG:"SERVER_LOG",DELAY:"DELAY",FILTER:"FILTER",QUERY_ROWS:"QUERY_ROWS",LOOP:"LOOP",COLLECT:"COLLECT",TRIGGER_AUTOMATION_RUN:"TRIGGER_AUTOMATION_RUN",discord:"discord",slack:"slack",zapier:"zapier",integromat:"integromat",n8n:"n8n"},Features={LOOPING:"LOOPING"};class TableStore extends DerivedBudiStore{constructor(){const ue=eo=>derived(eo,no=>{var ro;return{...no,selected:(ro=no.list)==null?void 0:ro.find(oo=>oo._id===no.selectedTableId)}});super({list:[],selectedTableId:void 0},ue),this.select=this.select.bind(this)}async init(){return this.fetch()}async fetch(){const ue=await API.getTables();this.store.update(eo=>({...eo,list:ue}))}async singleFetch(ue){const eo=await API.getTable(ue);this.store.update(no=>{const ro=[];for(let oo of no.list)eo._id===oo._id?ro.push(eo):ro.push(oo);return no.list=ro,no})}select(ue){this.store.update(eo=>({...eo,selectedTableId:ue}))}async save(ue){var lo;const eo=fp$1.cloneDeep(ue),no=get_store_value(this.store).list.filter(co=>co._id===ue._id)[0],ro=[];for(let co of Object.keys(eo.schema)){if(ro.indexOf(co.toLowerCase())!==-1){delete eo.schema[co];continue}const uo=eo.schema[co],fo=no==null?void 0:no.schema[co];fo!=null&&(fo==null?void 0:fo.type)!==uo.type&&!((lo=SWITCHABLE_TYPES[fo==null?void 0:fo.type])!=null&&lo.includes(uo.type))&&(eo.schema[co]=fo),uo.name&&uo.name!==co&&(eo.schema[uo.name]=uo,eo._rename={old:co,updated:uo.name},delete eo.schema[co]),ro.push(co.toLowerCase())}const oo=await API.saveTable(eo);this.replaceTable(oo._id,oo),this.select(oo._id);let io=[];for(let co of Object.values((eo==null?void 0:eo.schema)||{}))co.type===FieldType.LINK&&io.push(co.tableId);let ao=[];for(let co of Object.values((no==null?void 0:no.schema)||{}))co.type===FieldType.LINK&&ao.push(co.tableId);const so=[...new Set([...io,...ao])];return so.length>3?await this.fetch():await Promise.all(so.map(co=>this.singleFetch(co))),oo}async delete(ue){await API.deleteTable(ue._id,ue._rev),this.replaceTable(ue._id,null)}async saveField({originalName:ue,field:eo,primaryDisplay:no=!1,indexes:ro}){const oo=fp$1.cloneDeep(get_store_value(this.derivedStore).selected);if(ue!=null&&ue!==eo.name&&(delete oo.schema[ue],oo._rename={old:ue,updated:eo.name}),no)oo.primaryDisplay=eo.name;else if(oo.primaryDisplay===ue){const io=Object.keys(oo.schema);oo.primaryDisplay=io.filter(ao=>ao!==ue||ao!==eo.name)[0]}ro&&(oo.indexes=ro),oo.schema={...oo.schema,[eo.name]:fp$1.cloneDeep(eo)},await this.save(oo)}async deleteField(ue){let eo=fp$1.cloneDeep(get_store_value(this.derivedStore).selected);delete eo.schema[ue.name],await this.save(eo)}replaceTable(ue,eo){if(!ue)return;if(!eo){this.store.update(ro=>({...ro,list:ro.list.filter(oo=>oo._id!==ue)}));return}const no=get_store_value(this.store).list.findIndex(ro=>ro._id===eo._id);no===-1?this.store.update(ro=>({...ro,list:[...ro.list,eo]})):eo&&this.store.update(ro=>(ro.list[no]={...eo,type:ro.list[no].type},ro))}removeDatasourceTables(ue){this.store.update(eo=>({...eo,list:eo.list.filter(no=>no.sourceId!==ue)}))}}const tables=new TableStore;class ViewV2Store extends DerivedBudiStore{constructor(){const ue=eo=>derived([eo,tables],([no,ro])=>{var io;let oo=[];return(io=ro.list)==null||io.forEach(ao=>{const so=Object.values((ao==null?void 0:ao.views)||{}).filter(isV2);oo=oo.concat(so)}),{...no,list:oo,selected:oo.find(ao=>ao.id===no.selectedViewId)}});super({selectedViewId:null},ue),this.select=this.select.bind(this)}select(ue){this.store.update(eo=>({...eo,selectedViewId:ue}))}async delete(ue){await API.viewV2.delete(ue.id),this.replaceView(ue.id,null)}async create(ue){const no=(await API.viewV2.create(ue)).data;return this.replaceView(no.id,no),no}async save(ue){const eo=await API.viewV2.update(ue),no=eo==null?void 0:eo.data;this.replaceView(ue.id,no)}replaceView(ue,eo){const no=get_store_value(this.derivedStore).list.find(oo=>oo.id===ue),ro=get_store_value(tables).list.findIndex(oo=>oo._id===(eo==null?void 0:eo.tableId)||oo._id===(no==null?void 0:no.tableId));if(ro!==-1)if(!eo&&no){tables.update(oo=>(delete oo.list[ro].views[no.name],oo));return}else!no&&eo?tables.update(oo=>{var io;return(io=oo.list[ro]).views??(io.views={}),oo.list[ro].views[eo.name]=eo,oo}):no&&eo&&tables.update(oo=>{var io;return(io=oo.list[ro]).views??(io.views={}),delete oo.list[ro].views[no.name],oo.list[ro].views[eo.name]=eo,oo})}}const viewsV2=new ViewV2Store,duplicateName=(to,ue)=>{const eo=new RegExp("\\s(\\d+)$"),no=to.split(eo)[0],ro=new RegExp(`${no}\\s(\\d+)$`),oo=[];ue.filter(ao=>{if(ao===no)return!0;const so=ao.match(ro);return so?(oo.push(parseInt(so[1])),!0):!1}),oo.sort((ao,so)=>ao-so);let io;if(oo.length===0)io=1;else{for(let ao=0;ao<oo.length;ao++)if(oo[ao]!==ao+1){io=ao+1;break}io||(io=oo.length+1)}return`${no} ${io}`},getSequentialName=(to,ue,{getName:eo,numberFirstItem:no}={})=>{if(!(ue!=null&&ue.length))return null;const ro=ue.trim(),oo=no?`${ue}1`:ro;if(!(to!=null&&to.length))return oo;let io=0;return to.forEach(ao=>{const so=(eo==null?void 0:eo(ao))??ao;if(typeof so!="string"||!so.startsWith(ro))return;const lo=so.split(ro);if(lo.length!==2)return;lo[1].trim()===""&&(lo[1]="1");const co=parseInt(lo[1]);co>io&&(io=co)}),io===0?oo:`${ue}${io+1}`},initialState$1={};class RowActionStore extends BudiStore{constructor(){super(initialState$1),this.reset=()=>{this.set(initialState$1)},this.refreshRowActions=async ue=>{var oo;if(!ue)return;let eo=(oo=get_store_value(tables).list.find(io=>io._id===ue))==null?void 0:oo._id;if(!eo){const io=get_store_value(viewsV2).list.find(ao=>ao.id===ue);eo=io==null?void 0:io.tableId}if(!eo)return;const no=await API.rowActions.fetch(eo),ro=Object.values(no||{});this.update(io=>({...io,[eo]:ro}))},this.createRowAction=async(ue,eo,no)=>{if(!ue)return;if(!no){const oo=get_store_value(this)[ue]||[];no=getSequentialName(oo,"New row action ",{getName:io=>io.name})}if(!no)throw new Error("Failed to generate a unique name for the row action");const ro=await API.rowActions.create(ue,no);return eo?await Promise.all([this.enableView(ue,ro.id,eo),automationStore.actions.fetch()]):await Promise.all([this.refreshRowActions(ue),automationStore.actions.fetch()]),ro},this.enableView=async(ue,eo,no)=>{await API.rowActions.enableView(ue,eo,no),await this.refreshRowActions(ue)},this.disableView=async(ue,eo,no)=>{await API.rowActions.disableView(ue,eo,no),await this.refreshRowActions(ue)},this.delete=async(ue,eo)=>{await API.rowActions.delete(ue,eo),await this.refreshRowActions(ue)},this.trigger=async(ue,eo,no)=>{await API.rowActions.trigger(ue,eo,no)}}}const store=new RowActionStore,derivedStore=derived(store,to=>{const ue={};return Object.keys(to||{}).forEach(eo=>{ue[eo]=to[eo];for(let no of to[eo]){const ro=(no.allowedSources||[]).filter(oo=>oo!==eo);for(let oo of ro)ue[oo]??(ue[oo]=[]),ue[oo].push(no)}}),ue}),rowActions={...store,subscribe:derivedStore.subscribe},getNewStepName=(to,ue)=>{const eo=ue.name,no=oo=>oo.reduce((io,ao)=>(ao.name&&ao.name.startsWith(eo)&&io++,ao.stepId===AutomationActionStepId.BRANCH&&ao.inputs&&ao.inputs.children&&Object.values(ao.inputs.children).forEach(so=>{io+=no(so)}),io),0);let ro=0;return to!=null&&to.definition&&(ro=no(to.definition.steps)),ro===0?eo:`${eo} ${ro+1}`},initialAutomationState={automations:[],testResults:null,showTestPanel:!1,blockDefinitions:{TRIGGER:{},CREATABLE_TRIGGER:{},ACTION:{}},selectedAutomationId:null},getFinalDefinitions=(to,ue)=>{const eo={};return Object.entries(to).forEach(no=>{no[0]!==AutomationTriggerStepId.ROW_ACTION&&(eo[no[0]]=no[1])}),{TRIGGER:to,CREATABLE_TRIGGER:eo,ACTION:ue}},automationActions=to=>({moveBlock:async(ue,eo,no)=>{const ro=ue.at(-1),oo=eo.at(-1),io=(ro==null?void 0:ro.id)===(oo==null?void 0:oo.id),ao=(oo==null?void 0:oo.branchStepId)&&oo.branchIdx===(ro==null?void 0:ro.branchIdx)&&(ro==null?void 0:ro.stepIdx)===0;if(io||ao)return;const{deleted:so,newAutomation:lo}=to.actions.deleteBlock(ue,no),co={};to.actions.traverse(co,lo);let uo;oo!=null&&oo.branchStepId?(uo=co[oo.branchStepId].pathTo,uo.push(oo)):(oo!=null&&oo.id&&(uo=co[oo.id].pathTo),uo.at(-1).stepIdx+=1);const fo=to.actions.updateStep(uo,lo,so,!0);try{await to.actions.save(fo)}catch(po){notifications.error("Error moving automation block"),console.error("Error moving automation block ",po)}},deleteBlock:(ue,eo)=>{let no=fp$1.cloneDeep(eo);const ro=[no.definition.trigger,...no.definition.steps];let oo;return ue.forEach((io,ao,so)=>{const lo=ao===so.length-1,{stepIdx:co,branchIdx:uo}=io,fo=(po,ho)=>{const _o=po[ho],go=[_o.id],bo=[],vo={};po.forEach(wo=>{const{blockToLoop:ko,id:So}=wo;ko&&(vo[ko]=So)});const yo=vo[_o.id];yo&&go.push(yo);for(let wo=po.length-1;wo>=0;wo--)if(go.includes(po[wo].id)){const[ko]=po.splice(wo,1);bo.unshift(ko)}return{deleted:bo,newAutomation:no}};if(!oo){lo?oo=fo(no.definition.steps,co>0?co-1:0):oo=ro[co];return}if(Number.isInteger(uo)){const po=oo.inputs.branches[uo].id,ho=oo.inputs.children[po],_o=ho[co];lo?oo=fo(ho,co):oo=_o}}),oo},registerBlock:(ue,eo,no,ro)=>{ue[eo.id]={...ue[eo.id]||{},pathTo:no,terminating:ro||!1,...eo.blockToLoop?{blockToLoop:eo.blockToLoop}:{}},eo.blockToLoop&&(ue[eo.blockToLoop]={...ue[eo.blockToLoop]||{},looped:eo.id})},getPathSteps:(ue,eo)=>{const no=[eo.definition.trigger,...eo.definition.steps];let ro=[];return ue.forEach(oo=>{const{stepIdx:io,branchIdx:ao}=oo;let so=ro.length?ro[ro.length-1]:[];if(!ro.length){ro=no.slice(0,io+1);return}if(so&&"inputs"in so&&Number.isInteger(ao)){const lo=so.inputs.branches[ao].id,uo=so.inputs.children[lo].slice(0,io+1);ro=ro.concat(uo)}}),ro},updateStep:(ue,eo,no,ro=!1)=>{let oo=fp$1.cloneDeep(eo);const io=(so,lo,co)=>{so.splice(lo,ro?0:Array.isArray(co)?co.length:1,...Array.isArray(co)?co:[co])};let ao=null;return ue.forEach((so,lo,co)=>{const{stepIdx:uo,branchIdx:fo}=so;let po=lo===co.length-1;if(!ao){let ho=Math.max(uo-1,0);if(po){io(oo.definition.steps,ho,no);return}ao=oo.definition.steps[ho]}if(Number.isInteger(fo)){const ho=ao.inputs.branches[fo].id,_o=ao.inputs.children[ho];po?io(_o,uo,no):ao=_o[uo]}}),oo},buildEnvironmentBindings:()=>get_store_value(licensing).environmentVariablesEnabled?getEnvironmentBindings().map(ue=>({...ue,display:{...ue.display,rank:98}})):[],buildUserBindings:()=>getUserBindings().map(ue=>({...ue,category:"User",display:{...ue.display,rank:98}})),buildSettingBindings:()=>getSettingBindings().map(ue=>({...ue,display:{...ue.display,rank:98}})),getPathBindings:ue=>{var no,ro;const eo=(no=get_store_value(selectedAutomation))==null?void 0:no.blockRefs[ue];return to.actions.getAvailableBindings(eo,(ro=get_store_value(selectedAutomation))==null?void 0:ro.data)},traverse:(ue,eo)=>{var oo;let no=[];if(!eo||!ue)return;(oo=eo.definition)!=null&&oo.trigger&&no.push(eo.definition.trigger),no=no.concat(eo.definition.steps||[]);const ro=(io,ao,so,lo,co)=>{var po;const uo=[...ao||[],{...Number.isInteger(lo)?{branchIdx:lo}:{},stepIdx:so,id:io.id}],fo=((po=io.inputs)==null?void 0:po.branches)||[];fo.forEach((ho,_o)=>{var go;(go=io.inputs)==null||go.children[ho.id].forEach((bo,vo,yo)=>{var ko,So;const wo=yo.length-1===vo&&!((So=(ko=bo.inputs)==null?void 0:ko.branches)!=null&&So.length);ro(bo,uo,vo,_o,wo)})}),to.actions.registerBlock(ue,io,uo,co&&!fo.length)};return no.forEach((io,ao,so)=>{ro(io,null,ao,null,so.length-1===ao)}),ue},getAvailableBindings:(ue,eo)=>{var lo,co,uo,fo,po,ho,_o;if(!ue||!(eo!=null&&eo.definition))return[];const no=(lo=get_store_value(selectedAutomation))==null?void 0:lo.blockRefs,ro=to.actions.getPathSteps(ue.pathTo,eo).slice(0,-1),oo=to.actions.getPathSteps(ue.pathTo,eo).at(-1);let io=[];const ao=(go,bo,vo,yo,wo,ko)=>{if(!go)return;const So=to.actions.determineRuntimeBinding(go,yo,wo,ko,eo,oo,ro),Ao=to.actions.determineCategoryName(yo,wo,ko,so);io.push(to.actions.createBindingObject(go,bo,vo,yo,so,wo,So,Ao,ko))};let so=0;for(let go=0;go<ro.length;go++){const bo=ro[go],vo=((co=eo.definition.stepNames)==null?void 0:co[bo.id])||bo.name;let yo=fp$1.cloneDeep((fo=(uo=bo==null?void 0:bo.schema)==null?void 0:uo.outputs)==null?void 0:fo.properties)??{},wo=!1;bo.blockToLoop&&(wo=bo.stepId===ActionStepID.LOOP&&bo.blockToLoop in no);const ko=bo.type===AutomationStepType.TRIGGER;wo&&so==0&&(yo={currentItem:{type:AutomationIOType.STRING,description:"the item currently being executed"}});const So=ko?bo.icon:wo?"Reuse":bo.icon;if(go===0&&ko)if(bo.event===AutomationEventType.ROW_UPDATE||bo.event===AutomationEventType.ROW_SAVE){let Ao=get_store_value(tables).list.find(Io=>Io._id===bo.inputs.tableId);for(const Io in Ao==null?void 0:Ao.schema)yo[Io]={type:Ao.schema[Io].type,subtype:Ao.schema[Io].subtype};delete yo.row}else bo.event===AutomationEventType.APP_TRIGGER&&(yo=Object.fromEntries(Object.keys(bo.inputs.fields||[]).map(Ao=>[Ao,{type:bo.inputs.fields[Ao]}])));if((po=no[bo.id])!=null&&po.looped){so++;const Ao=no[bo.id].looped,Io=ro.find(Eo=>Eo.id===Ao);Io?yo=fp$1.cloneDeep((_o=(ho=Io.schema)==null?void 0:ho.outputs)==null?void 0:_o.properties):console.error("Loop block missing.")}Object.entries(yo).forEach(([Ao,Io])=>{ao(Ao,Io,So,go,wo,vo)})}return ue.looped||(io=io.filter(go=>!go.readableBinding.includes("loop"))),io},determineRuntimeBinding:(ue,eo,no,ro,oo,io,ao)=>{var lo,co,uo;let so;if(eo===0&&((lo=oo.definition.trigger)==null?void 0:lo.event)===AutomationEventType.APP_TRIGGER)return`trigger.fields.${ue}`;if(eo===0&&(((co=oo.definition.trigger)==null?void 0:co.event)===AutomationEventType.ROW_UPDATE||((uo=oo.definition.trigger)==null?void 0:uo.event)===AutomationEventType.ROW_SAVE)&&!["id","revision","oldRow"].includes(ue))return`trigger.row.${ue}`;if(no)so=`loop.${ue}`;else if(eo===0)so=`trigger.${ue}`;else if((io==null?void 0:io.stepId)===AutomationActionStepId.EXECUTE_SCRIPT){const fo=ao[eo].id;if(!fo)return notifications.error("Error generating binding: Step ID not found."),null;so=`steps["${fo}"].${ue}`}else{const fo=ao[eo].id;if(!fo)return notifications.error("Error generating binding: Step ID not found."),null;so=`steps.${fo}.${ue}`}return so},determineCategoryName:(ue,eo,no,ro)=>ue===0?"Trigger outputs":eo?"Loop Outputs":no?`${no} outputs`:`Step ${ue-ro} outputs`,createBindingObject:(ue,eo,no,ro,oo,io,ao,so,lo)=>{const co=Object.values(FIELDS).find(uo=>uo.type===eo.type&&("subtype"in uo?uo.subtype===eo.subtype:!0));return{readableBinding:lo&&!io&&ro!==0?`steps.${lo}.${ue}`:ao,runtimeBinding:ao,type:eo.type,description:eo.description,icon:no,category:so,display:{type:(co==null?void 0:co.name)||eo.type,name:ue,rank:io?ro+1:ro-oo}}},processBlockInputs:async(ue,eo)=>{var io;let no={...ue,inputs:{...ue.inputs,...eo}};Object.keys(no.inputs).forEach(ao=>{const so=no.inputs[ao];(so==null||so==="")&&delete no.inputs[ao]});const ro=(io=get_store_value(selectedAutomation))==null?void 0:io.data;if(!ro)return!1;const oo=to.actions.getUpdatedDefinition(ro,no);return JSON.stringify(oo)===JSON.stringify(ro)?!1:oo},updateBlockInputs:async(ue,eo)=>{const no=await to.actions.processBlockInputs(ue,eo);no!==!1&&await to.actions.save(no)},test:async(ue,eo)=>{var ro,oo;let no;try{no=await API.testAutomation(ue._id,eo)}catch(io){throw`Automation test failed - ${io.message||io.status||JSON.stringify(io)}`}if(!(no!=null&&no.trigger)&&!((ro=no==null?void 0:no.steps)!=null&&ro.length)&&!(no!=null&&no.message))throw((oo=no==null?void 0:no.err)==null?void 0:oo.code)==="usage_limit_exceeded"?"You have exceeded your automation quota":"Something went wrong testing your automation";to.update(io=>(io.testResults=no,io))},getUpdatedDefinition:(ue,eo)=>{var ro;let no;if(((ro=ue.definition.trigger)==null?void 0:ro.id)===eo.id)no=fp$1.cloneDeep(ue),no.definition.trigger=eo;else{const oo=get_store_value(selectedAutomation).blockRefs[eo.id].pathTo;no=to.actions.updateStep(oo,ue,eo)}return no},getLogs:async({automationId:ue,startDate:eo,status:no,page:ro}={})=>await API.getAutomationLogs({automationId:ue,startDate:eo,status:no,page:ro}),clearLogErrors:async({automationId:ue,appId:eo})=>{if(!ue||!eo)throw new Error("automationId and appId are required");return await API.clearAutomationLogErrors(ue,eo)},addTestDataToAutomation:ue=>{var no;let eo=fp$1.cloneDeep((no=get_store_value(selectedAutomation))==null?void 0:no.data);return eo&&(eo.testData={...eo.testData,...ue},eo)},constructBlock:(ue,eo,no)=>{var io;const ro={...no,inputs:no.inputs||{},stepId:eo,type:ue,id:shortid.generate()},oo=getNewStepName((io=get_store_value(selectedAutomation))==null?void 0:io.data,ro);return ro.name=oo,ro},generateBranchBlock:()=>{const ue=get_store_value(to).blockDefinitions.ACTION.BRANCH;return to.actions.constructBlock("ACTION","BRANCH",ue)},addBlockToAutomation:async(ue,eo)=>{var ao;const no=(ao=get_store_value(selectedAutomation))==null?void 0:ao.data;if(!no)return;let ro=fp$1.cloneDeep(no);const oo=[ro.definition.trigger,...ro.definition.steps];let io;eo.forEach((so,lo,co)=>{const{stepIdx:uo,branchIdx:fo}=so,po=lo===co.length-1,ho=(_o,go)=>{const bo=!Number.isInteger(go),vo=ue.blockToLoop||bo?go:go+1;_o.splice(vo,0,ue)};if(!io){po?(ho(ro.definition.steps,uo-1),io=ue):io=oo[uo];return}if(Number.isInteger(fo)){const _o=io.inputs.branches[fo].id,go=io.inputs.children[_o];po?(ho(go,uo),io=go):io=go[uo]}});try{await to.actions.save(ro)}catch(so){notifications.error("Error adding automation block"),console.error("Automation adding block ",so)}},generateDefaultConditions:()=>{const ue={logicalOperator:UILogicalOperator.ALL,onEmptyFilter:EmptyFilterOption.RETURN_NONE,groups:[]};return{condition:buildQuery$1(ue),conditionUI:ue}},branchAutomation:async(ue,eo)=>{var uo;const no=ue.at(-1);let ro=fp$1.cloneDeep(eo),oo,io=!1;const ao=fo=>({name:fo,...to.actions.generateDefaultConditions(),id:shortid.generate()});ue.forEach((fo,po,ho)=>{const{stepIdx:_o,branchIdx:go}=fo,bo=po===ho.length-1;if(oo||(bo?(oo=ro.definition.steps,io=!0):oo=ro.definition.steps[_o-1]),Number.isInteger(go)){const vo=oo.inputs.branches[go].id,yo=oo.inputs.children[vo];oo=bo?yo:yo[_o]}});const so=Math.max(no.stepIdx-1,0),lo=io?so:no.stepIdx;if(((uo=oo[lo])==null?void 0:uo.stepId)=="BRANCH"){let fo=oo[lo].inputs.branches;const po=ao(`Branch ${fo.length+1}`);fo.splice(fo.length,0,po),oo[lo].inputs.children[po.id]=[];try{await to.actions.save(ro)}catch(ho){notifications.error("Error adding branch to automation"),console.error("Error adding automation branch",ho)}return}const co=to.actions.generateBranchBlock();co.inputs.branches=Array.from({length:2}).map((fo,po)=>ao(`Branch ${po+1}`)),co.inputs.children=co.inputs.branches.reduce((fo,po,ho)=>(fo[po.id]=ho==0?oo.slice(lo+1):[],fo),{}),oo.splice(lo+1),oo.push(co);try{await to.actions.save(ro)}catch(fo){notifications.error("Error adding branch to automation"),console.error("Error adding automation branch",fo)}},branchLeft:async(ue,eo,no)=>{const ro=to.actions.shiftBranch(ue,no);if(ro){const oo=to.actions.updateStep(ue.slice(0,-1),eo,ro);await to.actions.save(oo)}},branchRight:async(ue,eo,no)=>{const ro=to.actions.shiftBranch(ue,no,1);if(ro){const oo=to.actions.updateStep(ue.slice(0,-1),eo,ro);await to.actions.save(oo)}},shiftBranch:(ue,eo,no=-1)=>{let ro=fp$1.cloneDeep(eo);const io=ue.at(-1).branchIdx;if(!ro.inputs.branches[io+no]){console.error("Invalid index");return}let[ao]=ro.inputs.branches.splice(io+no,1);return ro.inputs.branches.splice(io,0,ao),ro},deleteBranch:async(ue,eo)=>{let no=fp$1.cloneDeep(eo),ro=[];ue.forEach((oo,io,ao)=>{const{stepIdx:so,branchIdx:lo}=oo,co=io===ao.length-1;if(!ro.length){if(co){ro=no.definition.steps;return}ro=[{node:no.definition.steps[so-1],context:no.definition.steps}]}const uo=ro.at(-1);if(Number.isInteger(lo)){const fo=uo.node.inputs.branches[lo].id,po=uo.node.inputs.children[fo];if(co){const ho=uo.node.inputs.branches.length==2;if(uo.node.inputs.branches.splice(lo,1),delete uo.node.inputs.children[fo],ho){const _o=uo.node.inputs.branches[0].id,go=uo.node.inputs.children[_o],bo=ro.at(-1).context;bo.pop(),bo.splice(bo.length,0,...go)}return}ro.push({node:po[so],context:po})}});try{await to.actions.save(no)}catch(oo){notifications.error("Error deleting automation branch"),console.error("Error deleting automation branch",oo)}},saveAutomationName:async(ue,eo)=>{var io;const no=(io=get_store_value(selectedAutomation))==null?void 0:io.data;let ro=fp$1.cloneDeep(no);if(!ro)return;const oo=eo.trim();ro.definition.stepNames={...ro.definition.stepNames,[ue]:oo},await to.actions.save(ro)},deleteAutomationName:async ue=>{var ro;const eo=(ro=get_store_value(selectedAutomation))==null?void 0:ro.data;let no=fp$1.cloneDeep(eo);!eo||!no||(no!=null&&no.definition.stepNames&&delete no.definition.stepNames[ue],await to.actions.save(no))},deleteAutomationBlock:async ue=>{var ro;const eo=(ro=get_store_value(selectedAutomation))==null?void 0:ro.data;if(!eo)return;const{newAutomation:no}=to.actions.deleteBlock(ue,eo);try{await to.actions.save(no)}catch(oo){notifications.error("Error deleting automation block"),console.error("Automation deleting block ",oo)}},replace:(ue,eo)=>{if(!eo)to.store.update(no=>{var ro;return no.automations=no.automations.filter(oo=>oo._id!==ue),ue===no.selectedAutomationId&&to.actions.select(((ro=no.automations[0])==null?void 0:ro._id)||null),no});else{const no=get_store_value(to.store).automations.findIndex(ro=>ro._id===eo._id);no===-1?to.store.update(ro=>({...ro,automations:[...ro.automations,eo]})):to.store.update(ro=>(ro.automations[no]=eo,ro))}},create:async(ue,eo)=>{const no={name:ue,type:"automation",appId:get_store_value(appStore).appId,definition:{steps:[],trigger:eo},disabled:!1};return await to.actions.save(no)},duplicate:async ue=>await to.actions.save({...ue,name:`${ue.name} - copy`,_id:void 0,_rev:void 0}),toggleDisabled:async ue=>{let eo;try{if(eo=to.actions.getDefinition(ue),!eo)return;eo.disabled=!eo.disabled,await to.actions.save(eo),notifications.success(`Automation ${eo.disabled?"disabled":"enabled"} successfully`)}catch{notifications.error(`Error ${eo!=null&&eo.disabled?"disabling":"enabling"} automation`)}},definitions:async()=>{const ue=await API.getAutomationDefinitions();return to.update(eo=>(eo.blockDefinitions=getFinalDefinitions(ue.trigger,ue.action),eo)),ue},fetch:async()=>{const[ue,eo]=await Promise.all([API.getAutomations(),API.getAutomationDefinitions()]);to.update(no=>(no.automations=ue.automations,no.automations.sort((ro,oo)=>ro.name<oo.name?-1:1),no.blockDefinitions=getFinalDefinitions(eo.trigger,eo.action),no))},select:ue=>{!ue||ue===get_store_value(to).selectedAutomationId||to.update(eo=>(eo.selectedAutomationId=ue,eo.testResults=null,eo.showTestPanel=!1,eo))},getDefinition:ue=>{var eo;return(eo=get_store_value(to.store).automations)==null?void 0:eo.find(no=>no._id===ue)},save:async ue=>{const eo=await API.updateAutomation(ue);return await to.actions.fetch(),to.actions.select(eo.automation._id),eo.automation},delete:async ue=>{isRowAction(ue)?await rowActions.delete(ue.definition.trigger.inputs.tableId,ue.definition.trigger.inputs.rowActionId):await API.deleteAutomation(ue._id,ue._rev),to.update(no=>{var ro;return no.automations=no.automations.filter(oo=>oo._id!==ue._id),ue._id===no.selectedAutomationId&&(no.selectedAutomationId=((ro=no.automations[0])==null?void 0:ro._id)||null),no})}});class AutomationStore extends BudiStore{constructor(){super(initialAutomationState),this.actions=automationActions(this),this.history=createHistoryStore({getDoc:this.actions.getDefinition.bind(this),selectDoc:this.actions.select.bind(this)});const ue=this.actions.save.bind(this.actions),eo=this.actions.delete.bind(this.actions);this.actions.save=this.history.wrapSaveDoc(ue),this.actions.delete=this.history.wrapDeleteDoc(eo)}}const automationStore=new AutomationStore,automationHistoryStore=automationStore.history;class SelectedAutomationStore extends DerivedBudiStore{constructor(ue){const eo=()=>derived(ue,no=>{var ao;if(!no.selectedAutomationId)return{data:null,blockRefs:{},...no};const ro=(ao=no.automations)==null?void 0:ao.find(so=>so._id===no.selectedAutomationId);if(!ro)return{data:null,blockRefs:{},...no};const oo={},io=fp$1.cloneDeep(ro);return io&&(ue.actions.traverse(oo,io),Object.values(oo).filter(so=>so.terminating).forEach(so=>{ue.actions.getPathSteps(so.pathTo,io).forEach((lo,co,uo)=>{migrateReferencesInObject({obj:lo,originalIndex:co,steps:uo})})})),{data:io,blockRefs:oo,...no}});super(initialAutomationState,eo)}}const selectedAutomation=new SelectedAutomationStore(automationStore);class UserStore extends BudiStore{constructor(){super([])}init(ue){this.set(ue)}updateUser(ue){const eo=get_store_value(this);eo.some(no=>no.sessionId===ue.sessionId)?this.update(no=>{const ro=no.findIndex(oo=>oo.sessionId===ue.sessionId);return no[ro]=ue,no.slice()}):this.set([...eo,ue])}removeUser(ue){this.update(eo=>eo.filter(no=>no.sessionId!==ue))}reset(){this.set([])}}const userStore=new UserStore,userSelectedResourceMap=derived(userStore,to=>{let ue={};return to.forEach(eo=>{var ro;const no=(ro=eo.builderMetadata)==null?void 0:ro.selectedResourceId;no&&(ue[no]||(ue[no]=[]),ue[no].push(eo))}),ue}),isOnlyUser=derived(userStore,to=>to.length<2),createDeploymentStore=()=>{let to=writable([]);const ue=async()=>{try{to.set(await API.getAppDeployments())}catch{notifications.error("Error fetching deployments")}};return{subscribe:to.subscribe,load:ue}},deploymentStore=createDeploymentStore(),INITIAL_CONTEXT_MENU_STATE={id:null,items:[],position:{x:0,y:0},visible:!1};function createViewsStore(){const to=writable({...INITIAL_CONTEXT_MENU_STATE}),ue=(no,ro,oo)=>{to.set({id:no,items:ro,position:oo,visible:!0})},eo=()=>{to.set({...INITIAL_CONTEXT_MENU_STATE})};return{subscribe:to.subscribe,open:ue,close:eo}}const contextMenuStore=createViewsStore();class SnippetStore extends BudiStore{constructor(){super([]),this.syncMetadata=ue=>{this.set((ue==null?void 0:ue.snippets)||[])},this.saveSnippet=async ue=>{const eo=[...get_store_value(this).filter(ro=>ro.name!==ue.name),ue],no=await API.saveAppMetadata(get_store_value(appStore).appId,{snippets:eo});this.syncMetadata(no)},this.deleteSnippet=async ue=>{const eo=get_store_value(this).filter(ro=>ro.name!==ue),no=await API.saveAppMetadata(get_store_value(appStore).appId,{snippets:eo});this.syncMetadata(no)}}}const snippets$1=new SnippetStore,features={spectrumThemes:!0,unifiedTheme:!0,intelligentLoading:!0,deviceAwareness:!0,state:!0,customThemes:!0,devicePreview:!0,messagePassing:!0,rowSelection:!0,continueIfAction:!0,showNotificationAction:!0,sidePanel:!0,modal:!0,skeletonLoader:!0},typeSupportPresets={numberLike:{supported:["number","boolean"],partialSupport:[{type:"longform",message:"stringAsNumber"},{type:"string",message:"stringAsNumber"},{type:"bigint",message:"stringAsNumber"},{type:"options",message:"stringAsNumber"},{type:"formula",message:"stringAsNumber"},{type:"datetime",message:"dateAsNumber"}],unsupported:[{type:"json",message:"jsonPrimitivesOnly"}]},stringLike:{supported:["string","number","bigint","options","longform","boolean","datetime"],unsupported:[{type:"json",message:"jsonPrimitivesOnly"}]},datetimeLike:{supported:["datetime"],partialSupport:[{type:"longform",message:"stringAsDate"},{type:"string",message:"stringAsDate"},{type:"options",message:"stringAsDate"},{type:"formula",message:"stringAsDate"},{type:"bigint",message:"stringAsDate"},{type:"number",message:"numberAsDate"}],unsupported:[{type:"json",message:"jsonPrimitivesOnly"}]}},layout$1={name:"Layout",description:"This component is specific only to layouts",icon:"Sandbox",hasChildren:!0,styles:["padding","background"],settings:[{type:"text",label:"Logo URL",key:"logoUrl"},{type:"text",label:"Title",key:"title"},{type:"select",label:"Navigation",key:"navigation",options:["Top","Left","None"],defaultValue:"Top"},{type:"select",label:"Width",key:"width",options:["Small","Medium","Large","Max"],defaultValue:"Large"},{type:"navigation",label:"Links",key:"links"},{type:"boolean",label:"Hide title",key:"hideTitle",defaultValue:!1},{type:"boolean",label:"Hide logo",key:"hideLogo",defaultValue:!1},{type:"boolean",label:"Sticky header",key:"sticky",defaultValue:!1}]},container$1={name:"Container",description:"This component contains things within itself",icon:"Selection",hasChildren:!0,size:{width:500,height:200},grid:{hAlign:"stretch",vAlign:"stretch"},styles:["padding","size","background","border","shadow"],settings:[{type:"select",label:"Layout",key:"layout",showInBar:!0,barStyle:"buttons",options:[{label:"Flex",value:"flex",barIcon:"ModernGridView",barTitle:"Flex layout"},{label:"Grid",value:"grid",barIcon:"ViewGrid",barTitle:"Grid layout"}],defaultValue:"grid"},{type:"select",label:"Direction",key:"direction",showInBar:!0,barStyle:"buttons",options:[{label:"Column",value:"column",barIcon:"TableSelectColumn",barTitle:"Column layout"},{label:"Row",value:"row",barIcon:"TableSelectRow",barTitle:"Row layout"}],defaultValue:"column",dependsOn:{setting:"layout",value:"grid",invert:!0}},{type:"select",label:"Horiz. align",key:"hAlign",showInBar:!0,barStyle:"buttons",options:[{label:"Left",value:"left",barIcon:"AlignLeft",barTitle:"Align left"},{label:"Center",value:"center",barIcon:"AlignCenter",barTitle:"Align center"},{label:"Right",value:"right",barIcon:"AlignRight",barTitle:"Align right"},{label:"Stretch",value:"stretch",barIcon:"MoveLeftRight",barTitle:"Align stretched horizontally"}],defaultValue:"stretch",dependsOn:{setting:"layout",value:"grid",invert:!0}},{type:"select",label:"Vert. align",key:"vAlign",showInBar:!0,barStyle:"buttons",options:[{label:"Top",value:"top",barIcon:"AlignTop",barTitle:"Align top"},{label:"Middle",value:"middle",barIcon:"AlignMiddle",barTitle:"Align middle"},{label:"Bottom",value:"bottom",barIcon:"AlignBottom",barTitle:"Align bottom"},{label:"Stretch",value:"stretch",barIcon:"MoveUpDown",barTitle:"Align stretched vertically"}],defaultValue:"top",dependsOn:{setting:"layout",value:"grid",invert:!0}},{type:"select",label:"Size",key:"size",showInBar:!0,barStyle:"buttons",options:[{label:"Shrink",value:"shrink",barIcon:"Minimize",barTitle:"Shrink container"},{label:"Grow",value:"grow",barIcon:"Maximize",barTitle:"Grow container"}],defaultValue:"shrink",dependsOn:{setting:"layout",value:"grid",invert:!0}},{type:"select",label:"Gap",key:"gap",showInBar:!0,barStyle:"picker",options:[{label:"None",value:"N"},{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"}],defaultValue:"M",dependsOn:{setting:"layout",value:"grid",invert:!0}},{type:"boolean",label:"Wrap",key:"wrap",showInBar:!0,barIcon:"ModernGridView",barTitle:"Wrap",dependsOn:{setting:"layout",value:"grid",invert:!0}},{type:"event",label:"On click",key:"onClick"}]},section={name:"Section",description:"Add a section to your application",icon:"ColumnTwoB",hasChildren:!0,illegalChildren:["section"],showEmptyState:!1,size:{width:600,height:200},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"section",label:"Type",key:"type",defaultValue:"mainSidebar"}]},screenslot={name:"Screenslot",icon:"WebPage",description:"Contains your app screens",static:!0},buttongroup={name:"Button group",icon:"Button",hasChildren:!1,size:{width:200,height:60},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{section:!0,name:"Buttons",settings:[{type:"buttonConfiguration",key:"buttons",nested:!0,defaultValue:[{type:"cta",text:"Button 1"},{type:"primary",text:"Button 2"}]}]},{section:!0,name:"Layout",settings:[{type:"boolean",label:"Collapse",key:"collapsed"},{type:"text",label:"Collapsed text",key:"collapsedText",dependsOn:"collapsed",placeholder:"Action"},{type:"select",label:"Direction",key:"direction",showInBar:!0,barStyle:"buttons",options:[{label:"Column",value:"column",barIcon:"TableSelectColumn",barTitle:"Column layout"},{label:"Row",value:"row",barIcon:"TableSelectRow",barTitle:"Row layout"}],defaultValue:"row",dependsOn:{setting:"collapsed",invert:!0}},{type:"select",label:"Horiz. align",key:"hAlign",showInBar:!0,barStyle:"buttons",options:[{label:"Left",value:"left",barIcon:"AlignLeft",barTitle:"Align left"},{label:"Center",value:"center",barIcon:"AlignCenter",barTitle:"Align center"},{label:"Right",value:"right",barIcon:"AlignRight",barTitle:"Align right"},{label:"Stretch",value:"stretch",barIcon:"MoveLeftRight",barTitle:"Align stretched horizontally"}],defaultValue:"left"},{type:"select",label:"Vert. align",key:"vAlign",showInBar:!0,barStyle:"buttons",options:[{label:"Top",value:"top",barIcon:"AlignTop",barTitle:"Align top"},{label:"Middle",value:"middle",barIcon:"AlignMiddle",barTitle:"Align middle"},{label:"Bottom",value:"bottom",barIcon:"AlignBottom",barTitle:"Align bottom"},{label:"Stretch",value:"stretch",barIcon:"MoveUpDown",barTitle:"Align stretched vertically"}],defaultValue:"top"},{type:"select",label:"Size",key:"size",showInBar:!0,barStyle:"buttons",options:[{label:"Shrink",value:"shrink",barIcon:"Minimize",barTitle:"Shrink container"},{label:"Grow",value:"grow",barIcon:"Maximize",barTitle:"Grow container"}],defaultValue:"shrink",dependsOn:{setting:"collapsed",invert:!0}},{type:"select",label:"Gap",key:"gap",showInBar:!0,barStyle:"picker",options:[{label:"None",value:"N"},{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"}],defaultValue:"M",dependsOn:{setting:"collapsed",invert:!0}},{type:"boolean",label:"Wrap",key:"wrap",showInBar:!0,barIcon:"ModernGridView",barTitle:"Wrap",dependsOn:{setting:"collapsed",invert:!0}}]}]},button={name:"Button",description:"A basic html button that is ready for styling",icon:"Button",editable:!0,size:{width:120,height:32},grid:{hAlign:"center",vAlign:"center"},settings:[{type:"text",label:"Text",key:"text",defaultValue:"New Button"},{type:"select",showInBar:!0,label:"Variant",key:"type",options:[{label:"Action",value:"cta"},{label:"Primary",value:"primary"},{label:"Secondary",value:"secondary"},{label:"Warning",value:"warning"},{label:"Over background",value:"overBackground"}],defaultValue:"cta"},{type:"select",label:"Size",showInBar:!0,key:"size",options:[{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"},{label:"Extra large",value:"XL"}],defaultValue:"M"},{type:"boolean",label:"Quiet",key:"quiet",showInBar:!0,barIcon:"VisibilityOff",barTitle:"Quiet variant",barSeparator:!1},{type:"boolean",label:"Disabled",showInBar:!0,barIcon:"NoEdit",barTitle:"Disable button",key:"disabled"},{type:"icon",label:"Icon",key:"icon"},{type:"select",label:"Gap",key:"gap",showInBar:!0,barStyle:"picker",dependsOn:"icon",options:[{label:"None",value:"N"},{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"}],defaultValue:"M"},{type:"event",label:"On click",key:"onClick"}]},divider={name:"Divider",description:"A basic divider",icon:"Separator",illegalChildren:["section"],size:{width:400,height:10},settings:[{type:"select",label:"Size",key:"size",options:[{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"}],defaultValue:"M"},{type:"boolean",label:"Vertical",key:"vertical"}]},repeater={name:"Repeater",description:"A configurable data list that attaches to your backend tables.",icon:"JourneyData",illegalChildren:["section"],hasChildren:!0,size:{width:500,height:200},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"text",label:"Empty text",key:"noRowsMessage",defaultValue:"No rows found"},{type:"select",label:"Direction",key:"direction",showInBar:!0,barStyle:"buttons",options:[{label:"Column",value:"column",barIcon:"TableSelectColumn",barTitle:"Column layout"},{label:"Row",value:"row",barIcon:"TableSelectRow",barTitle:"Row layout"}],defaultValue:"column"},{type:"select",label:"Horiz. align",key:"hAlign",showInBar:!0,barStyle:"buttons",options:[{label:"Left",value:"left",barIcon:"AlignLeft",barTitle:"Align left"},{label:"Center",value:"center",barIcon:"AlignCenter",barTitle:"Align center"},{label:"Right",value:"right",barIcon:"AlignRight",barTitle:"Align right"},{label:"Stretch",value:"stretch",barIcon:"MoveLeftRight",barTitle:"Align stretched horizontally"}],defaultValue:"stretch"},{type:"select",label:"Vert. align",key:"vAlign",showInBar:!0,barStyle:"buttons",options:[{label:"Top",value:"top",barIcon:"AlignTop",barTitle:"Align top"},{label:"Middle",value:"middle",barIcon:"AlignMiddle",barTitle:"Align middle"},{label:"Bottom",value:"bottom",barIcon:"AlignBottom",barTitle:"Align bottom"},{label:"Stretch",value:"stretch",barIcon:"MoveUpDown",barTitle:"Align stretched vertically"}],defaultValue:"top"},{type:"select",label:"Gap",key:"gap",showInBar:!0,barStyle:"picker",options:[{label:"None",value:"N"},{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"}],defaultValue:"M"}],context:[{type:"schema",scope:"local"},{type:"static",scope:"local",values:[{label:"Row index",key:"index",type:"number"}]}]},stackedlist={deprecated:!0,name:"Stacked List",icon:"TaskList",description:"A basic card component that can contain content and actions.",illegalChildren:["section"],settings:[{type:"text",label:"Image",key:"imageUrl"},{type:"text",label:"Heading",key:"heading"},{type:"text",label:"Subheading",key:"subheading"},{type:"text",label:"Link URL",key:"destinationUrl",placeholder:"/screen"}]},card={deprecated:!0,name:"Vertical Card",description:"A basic card component that can contain content and actions.",icon:"ViewColumn",illegalChildren:["section"],settings:[{type:"text",label:"Image",key:"imageUrl"},{type:"text",label:"Heading",key:"heading"},{type:"text",label:"Description",key:"description"},{type:"text",label:"Link text",key:"linkText"},{type:"text",label:"Link URL",key:"linkUrl",placeholder:"/screen"},{type:"color",label:"Link color",key:"linkColor",defaultValue:"#000"},{type:"color",label:"Hover color",key:"linkHoverColor",defaultValue:"#222"},{type:"select",label:"Image height",key:"imageHeight",options:["auto","12rem","16rem","20rem","24rem"],defaultValue:"auto"},{type:"select",label:"Card width",key:"cardWidth",options:["16rem","20rem","24rem"],defaultValue:"20rem"}]},text={name:"Paragraph",description:"A component for displaying paragraph text.",icon:"TextParagraph",illegalChildren:["section"],editable:!0,size:{width:400,height:24},settings:[{type:"text",label:"Text",key:"text"},{type:"select",label:"Size",key:"size",defaultValue:"M",showInBar:!0,barStyle:"picker",options:[{label:"Extra small",value:"XS"},{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"},{label:"Extra large",value:"XL"},{label:"2XL",value:"XXL"},{label:"3XL",value:"XXXL"}]},{type:"color",label:"Color",key:"color",showInBar:!0,barSeparator:!1},{type:"boolean",label:"Bold",key:"bold",showInBar:!0,barIcon:"TagBold",barTitle:"Bold text",barSeparator:!1},{type:"boolean",label:"Italic",key:"italic",showInBar:!0,barIcon:"TagItalic",barTitle:"Italic text",barSeparator:!1},{type:"boolean",label:"Underline",key:"underline",showInBar:!0,barIcon:"TagUnderline",barTitle:"Underline text"},{type:"select",label:"Alignment",key:"align",defaultValue:"left",showInBar:!0,barStyle:"buttons",options:[{label:"Left",value:"left",barIcon:"TextAlignLeft",barTitle:"Align left"},{label:"Center",value:"center",barIcon:"TextAlignCenter",barTitle:"Align center"},{label:"Right",value:"right",barIcon:"TextAlignRight",barTitle:"Align right"},{label:"Justify",value:"justify",barIcon:"TextAlignJustify",barTitle:"Justify text"}]}]},heading$1={name:"Headline",icon:"TextBold",description:"A component for displaying heading text",illegalChildren:["section"],editable:!0,size:{width:400,height:32},settings:[{type:"text",key:"text",label:"Text"},{type:"select",label:"Size",key:"size",defaultValue:"M",showInBar:!0,barStyle:"picker",options:[{label:"Extra small",value:"XS"},{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"},{label:"Extra large",value:"XL"},{label:"2XL",value:"XXL"},{label:"3XL",value:"XXXL"}]},{type:"color",label:"Color",key:"color",showInBar:!0,barSeparator:!1},{type:"boolean",label:"Bold",key:"bold",showInBar:!0,barIcon:"TagBold",barTitle:"Bold text",barSeparator:!1},{type:"boolean",label:"Italic",key:"italic",showInBar:!0,barIcon:"TagItalic",barTitle:"Italic text",barSeparator:!1},{type:"boolean",label:"Underline",key:"underline",showInBar:!0,barIcon:"TagUnderline",barTitle:"Underline text"},{type:"select",label:"Alignment",key:"align",defaultValue:"left",showInBar:!0,barStyle:"buttons",options:[{label:"Left",value:"left",barIcon:"TextAlignLeft",barTitle:"Align left"},{label:"Center",value:"center",barIcon:"TextAlignCenter",barTitle:"Align center"},{label:"Right",value:"right",barIcon:"TextAlignRight",barTitle:"Align right"},{label:"Justify",value:"justify",barIcon:"TextAlignJustify",barTitle:"Justify text"}]}]},tag={name:"Tag",icon:"Label",size:{width:100,height:25},grid:{hAlign:"center",vAlign:"center"},settings:[{type:"text",label:"Text",key:"text"},{type:"select",label:"Size",key:"size",defaultValue:"M",showInBar:!0,barStyle:"picker",options:[{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"}]},{type:"color",label:"Color",key:"color",showInBar:!0},{type:"color",label:"Text Color",key:"textColor",showInBar:!0},{type:"boolean",label:"Allow delete",key:"closable"},{type:"event",label:"On click delete",key:"onClick",dependsOn:"closable"}]},image={name:"Image",description:"A basic component for displaying images",icon:"Image",styles:["size"],size:{width:400,height:300},settings:[{type:"text",label:"URL",key:"url",required:!0}]},backgroundimage={name:"Background Image",description:"A background image",icon:"Images",hasChildren:!0,styles:["size"],showEmptyState:!1,size:{width:400,height:300},settings:[{type:"text",label:"URL",key:"url",required:!0},{type:"select",label:"Position",key:"position",defaultValue:"center center",options:[{label:"Center top",value:"center top"},{label:"Center",value:"center center"},{label:"Center bottom",value:"center bottom"},{label:"Left top",value:"left top"},{label:"Left center",value:"left center"},{label:"Left bottom",value:"left bottom"},{label:"Right top",value:"right top"},{label:"Right center",value:"right center"},{label:"Right bottom",value:"right bottom"}]}]},icon={name:"Icon",description:"A basic component for displaying icons",icon:"Shapes",size:{width:25,height:25},grid:{hAlign:"center",vAlign:"center"},settings:[{type:"icon",label:"Icon",key:"icon",required:!0},{type:"select",label:"Size",key:"size",defaultValue:"ri-1x",options:[{value:"ri-xxs",label:"XXS"},{value:"ri-xs",label:"XS"},{value:"ri-sm",label:"Small"},{value:"ri-1x",label:"Medium"},{value:"ri-lg",label:"Large"},{value:"ri-xl",label:"XL"},{value:"ri-2x",label:"2XL"},{value:"ri-3x",label:"3XL"},{value:"ri-4x",label:"4XL"},{value:"ri-5x",label:"5XL"},{value:"ri-6x",label:"6XL"},{value:"ri-7x",label:"7XL"},{value:"ri-8x",label:"8XL"},{value:"ri-9x",label:"9XL"},{value:"ri-10x",label:"10XL"}]},{type:"color",label:"Color",key:"color"},{type:"event",label:"On click",key:"onClick"}]},navigation={deprecated:!0,name:"Nav Bar",description:"A component for handling the navigation within your app.",icon:"BreadcrumbNavigation",illegalChildren:["section"],hasChildren:!0,settings:[{type:"text",label:"Logo URL",key:"logoUrl"},{type:"boolean",label:"Hide logo",key:"hideLogo",defaultValue:!1}]},link={name:"Link",description:"A basic link component for internal and external links",icon:"Link",editable:!0,size:{width:200,height:30},settings:[{type:"text",label:"Text",key:"text"},{type:"url",label:"URL",key:"url",placeholder:"/screen"},{type:"boolean",label:"New tab",key:"openInNewTab"},{type:"select",label:"Size",key:"size",defaultValue:"M",showInBar:!0,barStyle:"picker",options:[{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"}]},{type:"color",label:"Color",key:"color",showInBar:!0,barSeparator:!1},{type:"boolean",label:"Bold",key:"bold",showInBar:!0,barIcon:"TagBold",barTitle:"Bold text",barSeparator:!1},{type:"boolean",label:"Italic",key:"italic",showInBar:!0,barIcon:"TagItalic",barTitle:"Italic text",barSeparator:!1},{type:"boolean",label:"Underline",key:"underline",showInBar:!0,barIcon:"TagUnderline",barTitle:"Underline text"},{type:"select",label:"Alignment",key:"align",defaultValue:"left",showInBar:!0,barStyle:"buttons",options:[{label:"Left",value:"left",barIcon:"TextAlignLeft",barTitle:"Align left"},{label:"Center",value:"center",barIcon:"TextAlignCenter",barTitle:"Align center"},{label:"Right",value:"right",barIcon:"TextAlignRight",barTitle:"Align right"},{label:"Justify",value:"justify",barIcon:"TextAlignJustify",barTitle:"Justify text"}]}]},cardhorizontal={deprecated:!0,name:"Horizontal Card",description:"A basic card component that can contain content and actions.",icon:"ViewRow",settings:[{type:"text",label:"Image",key:"imageUrl"},{type:"text",label:"Heading",key:"heading"},{type:"text",label:"Description",key:"description"},{type:"text",label:"Subtext",key:"subtext"},{type:"text",label:"Link text",key:"linkText"},{type:"text",label:"Link URL",key:"linkUrl",placeholder:"/screen"},{type:"color",label:"Link color",key:"linkColor",defaultValue:"#000"},{type:"color",label:"Hover color",key:"linkHoverColor",defaultValue:"#222"},{type:"select",label:"Card width",key:"cardWidth",options:["24rem","28rem","32rem","40rem","48rem","60rem","100%"],defaultValue:"32rem"},{type:"select",label:"Image width",key:"imageWidth",options:["auto","8rem","12rem","16rem"],defaultValue:"8rem"},{type:"select",label:"Image height",key:"imageHeight",options:["auto","8rem","12rem","16rem","auto"],defaultValue:"auto"}]},cardstat={name:"Stat Card",description:"A card component for displaying numbers.",icon:"Card",size:{width:260,height:143},grid:{hAlign:"center",vAlign:"center"},settings:[{type:"text",label:"Title",key:"title",placeholder:"Total Revenue",defaultValue:"Title"},{type:"text",label:"Value",key:"value",placeholder:"$1,981,983",defaultValue:"Value"},{type:"text",label:"Label",key:"label",placeholder:"Stripe",defaultValue:"Label"}]},embed={name:"Embed",icon:"Code",description:"Embed content from 3rd party sources",styles:["size"],size:{width:400,height:100},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"text",label:"Embed",key:"embed",required:!0}]},bar={documentationLink:"https://docs.budibase.com/docs/bar-chart",name:"Bar Chart",description:"Bar chart",icon:"GraphBarVertical",size:{width:600,height:420},grid:{hAlign:"stretch",vAlign:"center"},settings:[{type:"text",label:"Title",key:"title"},{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"multifield",label:"Data columns",key:"valueColumns",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"select",label:"Format",key:"yAxisUnits",options:["Default","Thousands","Millions"],defaultValue:"Default"},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"text",label:"Width",key:"width"},{type:"text",label:"Height",key:"height",defaultValue:"400"},{type:"select",label:"Colors",key:"palette",defaultValue:"Palette 1",options:["Custom","Palette 1","Palette 2","Palette 3","Palette 4","Palette 5","Palette 6","Palette 7","Palette 8","Palette 9","Palette 10"]},{type:"color",label:"C1",key:"c1",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C2",key:"c2",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C3",key:"c3",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C4",key:"c4",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C5",key:"c5",dependsOn:{setting:"palette",value:"Custom"}},{type:"boolean",label:"Stacked",key:"stacked",defaultValue:!1},{type:"boolean",label:"Horizontal",key:"horizontal",defaultValue:!1},{type:"boolean",label:"Data labels",key:"dataLabels",defaultValue:!1},{type:"boolean",label:"Animate",key:"animate",defaultValue:!0},{type:"boolean",label:"Legend",key:"legend",defaultValue:!1}]},line={documentationLink:"https://docs.budibase.com/docs/line-chart",name:"Line Chart",description:"Line chart",icon:"GraphTrend",size:{width:600,height:420},grid:{hAlign:"stretch",vAlign:"center"},settings:[{type:"text",label:"Title",key:"title"},{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"multifield",label:"Data columns",key:"valueColumns",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"select",label:"Format",key:"yAxisUnits",options:["Default","Thousands","Millions"],defaultValue:"Default"},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"text",label:"Width",key:"width"},{type:"text",label:"Height",key:"height",defaultValue:"400"},{type:"select",label:"Colors",key:"palette",defaultValue:"Palette 1",options:["Custom","Palette 1","Palette 2","Palette 3","Palette 4","Palette 5","Palette 6","Palette 7","Palette 8","Palette 9","Palette 10"]},{type:"color",label:"C1",key:"c1",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C2",key:"c2",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C3",key:"c3",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C4",key:"c4",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C5",key:"c5",dependsOn:{setting:"palette",value:"Custom"}},{type:"select",label:"Curve",key:"curve",options:["Smooth","Straight","Stepline"],defaultValue:"Smooth"},{type:"boolean",label:"Data labels",key:"dataLabels",defaultValue:!1},{type:"boolean",label:"Animate",key:"animate",defaultValue:!0},{type:"boolean",label:"Legend",key:"legend",defaultValue:!1}]},area={documentationLink:"https://docs.budibase.com/docs/area-chart",name:"Area Chart",description:"Line chart",icon:"GraphAreaStacked",size:{width:600,height:420},grid:{hAlign:"stretch",vAlign:"center"},settings:[{type:"text",label:"Title",key:"title"},{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"multifield",label:"Data columns",key:"valueColumns",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"select",label:"Format",key:"yAxisUnits",options:["Default","Thousands","Millions"],defaultValue:"Default"},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"text",label:"Width",key:"width"},{type:"text",label:"Height",key:"height",defaultValue:"400"},{type:"select",label:"Colors",key:"palette",defaultValue:"Palette 1",options:["Custom","Palette 1","Palette 2","Palette 3","Palette 4","Palette 5","Palette 6","Palette 7","Palette 8","Palette 9","Palette 10"]},{type:"color",label:"C1",key:"c1",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C2",key:"c2",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C3",key:"c3",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C4",key:"c4",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C5",key:"c5",dependsOn:{setting:"palette",value:"Custom"}},{type:"select",label:"Curve",key:"curve",options:["Smooth","Straight","Stepline"],defaultValue:"Smooth"},{type:"boolean",label:"Data labels",key:"dataLabels",defaultValue:!1},{type:"boolean",label:"Animate",key:"animate",defaultValue:!0},{type:"boolean",label:"Legend",key:"legend",defaultValue:!1},{type:"boolean",label:"Stacked",key:"stacked",defaultValue:!0},{type:"boolean",label:"Gradient",key:"gradient",defaultValue:!1}]},pie={documentationLink:"https://docs.budibase.com/docs/pie-donut-chart",name:"Pie Chart",description:"Pie chart",icon:"GraphPie",size:{width:600,height:420},grid:{hAlign:"stretch",vAlign:"center"},settings:[{type:"text",label:"Title",key:"title"},{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"field",label:"Data column",key:"valueColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"text",label:"Width",key:"width"},{type:"text",label:"Height",key:"height",defaultValue:"400"},{type:"select",label:"Colors",key:"palette",defaultValue:"Palette 1",options:["Custom","Palette 1","Palette 2","Palette 3","Palette 4","Palette 5","Palette 6","Palette 7","Palette 8","Palette 9","Palette 10"]},{type:"color",label:"C1",key:"c1",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C2",key:"c2",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C3",key:"c3",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C4",key:"c4",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C5",key:"c5",dependsOn:{setting:"palette",value:"Custom"}},{type:"boolean",label:"Data labels",key:"dataLabels",defaultValue:!1},{type:"boolean",label:"Animate",key:"animate",defaultValue:!0},{type:"boolean",label:"Legend",key:"legend",defaultValue:!1}]},donut={documentationLink:"https://docs.budibase.com/docs/pie-donut-chart",name:"Donut Chart",description:"Donut chart",icon:"GraphDonut",size:{width:600,height:420},grid:{hAlign:"stretch",vAlign:"center"},settings:[{type:"text",label:"Title",key:"title"},{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"field",label:"Data columns",key:"valueColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"text",label:"Width",key:"width"},{type:"text",label:"Height",key:"height",defaultValue:"400"},{type:"select",label:"Colors",key:"palette",defaultValue:"Palette 1",options:["Custom","Palette 1","Palette 2","Palette 3","Palette 4","Palette 5","Palette 6","Palette 7","Palette 8","Palette 9","Palette 10"]},{type:"color",label:"C1",key:"c1",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C2",key:"c2",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C3",key:"c3",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C4",key:"c4",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C5",key:"c5",dependsOn:{setting:"palette",value:"Custom"}},{type:"boolean",label:"Data labels",key:"dataLabels",defaultValue:!1},{type:"boolean",label:"Animate",key:"animate",defaultValue:!0},{type:"boolean",label:"Legend",key:"legend",defaultValue:!1}]},candlestick={documentationLink:"https://docs.budibase.com/docs/candlestick-chart",name:"Candlestick Chart",description:"Candlestick chart",icon:"GraphBarVerticalStacked",size:{width:600,height:420},grid:{hAlign:"stretch",vAlign:"center"},settings:[{type:"text",label:"Title",key:"title"},{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"field",label:"Date column",key:"dateColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"datetimeLike"}},required:!0},{type:"field",label:"Open column",key:"openColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"field",label:"Close column",key:"closeColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"field",label:"High column",key:"highColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"field",label:"Low column",key:"lowColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"select",label:"Format",key:"yAxisUnits",options:["Default","Thousands","Millions"],defaultValue:"Default"},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"text",label:"Width",key:"width"},{type:"text",label:"Height",key:"height",defaultValue:"400"},{type:"boolean",label:"Animate",key:"animate",defaultValue:!0}]},histogram={documentationLink:"https://docs.budibase.com/docs/histogram-chart",name:"Histogram Chart",description:"Histogram chart",icon:"Histogram",size:{width:600,height:420},grid:{hAlign:"stretch",vAlign:"center"},settings:[{type:"text",label:"Title",key:"title"},{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"field",label:"Data column",key:"valueColumn",dependsOn:"dataProvider",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"text",label:"Y axis label",key:"yAxisLabel",defaultValue:"Frequency"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"number",label:"Bucket count",key:"bucketCount",defaultValue:10,min:2},{type:"boolean",label:"Data labels",key:"dataLabels",defaultValue:!1},{type:"text",label:"Width",key:"width"},{type:"text",label:"Height",key:"height",defaultValue:"400"},{type:"select",label:"Colors",key:"palette",defaultValue:"Palette 1",options:["Custom","Palette 1","Palette 2","Palette 3","Palette 4","Palette 5","Palette 6","Palette 7","Palette 8","Palette 9","Palette 10"]},{type:"color",label:"C1",key:"c1",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C2",key:"c2",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C3",key:"c3",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C4",key:"c4",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C5",key:"c5",dependsOn:{setting:"palette",value:"Custom"}},{type:"boolean",label:"Animate",key:"animate",defaultValue:!0},{type:"boolean",label:"Horizontal",key:"horizontal",defaultValue:!1}]},form$2={name:"Form",icon:"Form",hasChildren:!0,illegalChildren:["section","form","formblock"],actions:["ValidateForm","ClearForm","ChangeFormStep","UpdateFieldValue","ScrollTo"],styles:["padding","size","background","border","shadow"],size:{width:400,height:400},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"select",label:"Type",key:"actionType",options:["Create","Update"],defaultValue:"Create"},{type:"schema",label:"Schema",key:"dataSource",defaultValue:{name:"Custom",label:"Custom"}},{type:"select",label:"Size",key:"size",options:[{label:"Medium",value:"spectrum--medium"},{label:"Large",value:"spectrum--large"}],defaultValue:"spectrum--medium"},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"text",label:"Initial form step",key:"initialFormStep",defaultValue:1}],context:[{type:"static",values:[{label:"Value",key:"__value",type:"object"},{label:"Valid",key:"__valid",type:"boolean"},{label:"Current Step",key:"__currentStep",type:"number"},{label:"Current Step Valid",key:"__currentStepValid",type:"boolean"}]},{type:"form"}]},formstep={name:"Form Step",icon:"AssetsAdded",hasChildren:!0,requiredAncestors:["form"],illegalChildren:["section","form","formstep","formblock"],styles:["size"],size:{width:400,height:400},settings:[{type:"number",label:"Step",key:"step",defaultValue:1,min:1}]},fieldgroup={name:"Field Group",icon:"Group",requiredAncestors:["form"],illegalChildren:["section"],styles:["size"],hasChildren:!0,size:{width:400,height:400},settings:[{type:"select",label:"Labels",key:"labelPosition",defaultValue:"above",options:[{label:"Left",value:"left"},{label:"Above",value:"above"}]},{type:"section",label:"Type",key:"type",defaultValue:"oneColumn",dependsOn:{setting:"labelPosition",value:"above"}}]},labelfield={name:"Text Field",icon:"Text",editable:!0,size:{width:400,height:60},settings:[{type:"plainText",label:"Label",key:"label"},{type:"number",label:"Initial width",key:"width",placeholder:"Auto",min:80,max:9999},{type:"tableConditions",label:"Conditions",key:"conditions"}]},stringfield={name:"Text Field",icon:"Text",styles:["size"],editable:!0,size:{width:400,height:60},settings:[{type:"field/string",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"validation/string",label:"Validation",key:"validation"},{type:"select",label:"Alignment",key:"align",defaultValue:"left",showInBar:!0,barStyle:"buttons",options:[{label:"Left",value:"left",barIcon:"TextAlignLeft",barTitle:"Align left"},{label:"Center",value:"center",barIcon:"TextAlignCenter",barTitle:"Align center"},{label:"Right",value:"right",barIcon:"TextAlignRight",barTitle:"Align right"},{label:"Justify",value:"justify",barIcon:"TextAlignJustify",barTitle:"Justify text"}]},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"string"}]}},numberfield={name:"Number Field",icon:"123",styles:["size"],editable:!0,size:{width:400,height:60},settings:[{type:"field/number",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"validation/number",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"number"}]}},bigintfield={name:"BigInt Field",icon:"TagBold",styles:["size"],editable:!0,size:{width:400,height:60},settings:[{type:"field/bigint",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"number"}]}},passwordfield={name:"Password Field",icon:"LockClosed",styles:["size"],editable:!0,size:{width:400,height:60},settings:[{type:"field/string",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"validation/string",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"string"}]}},optionsfield={name:"Options Picker",icon:"Menu",styles:["size"],editable:!0,size:{width:400,height:60},settings:[{type:"field/options",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder",placeholder:"Choose an option"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"select",label:"Type",key:"optionsType",defaultValue:"select",placeholder:"Pick an options type",options:[{label:"Select",value:"select"},{label:"Radio buttons",value:"radio"}]},{type:"select",label:"Direction",key:"direction",defaultValue:"vertical",options:[{label:"Horizontal",value:"horizontal"},{label:"Vertical",value:"vertical"}],dependsOn:{setting:"optionsType",value:"radio"}},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"boolean",label:"Autocomplete",key:"autocomplete",defaultValue:!1,dependsOn:{setting:"optionsType",value:"select"}},{type:"boolean",label:"Alphabetical",key:"sort",defaultValue:!0},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"select",label:"Options source",key:"optionsSource",defaultValue:"schema",placeholder:"Pick an options source",options:[{label:"Schema",value:"schema"},{label:"Data provider",value:"provider"},{label:"Custom",value:"custom"}]},{type:"dataProvider",label:"Options provider",key:"dataProvider",required:!0,dependsOn:{setting:"optionsSource",value:"provider"}},{type:"field",label:"Label column",key:"labelColumn",dependsOn:{setting:"optionsSource",value:"provider"}},{type:"field",label:"Value column",key:"valueColumn",dependsOn:{setting:"optionsSource",value:"provider"}},{type:"options",label:"Custom options",key:"customOptions",dependsOn:{setting:"optionsSource",value:"custom"}},{type:"validation/string",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"string"}]}},multifieldselect={name:"Multi-select Picker",icon:"ViewList",styles:["size"],editable:!0,size:{width:400,height:60},settings:[{type:"field/array",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder",placeholder:"Choose an option"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Autocomplete",key:"autocomplete",defaultValue:!1,dependsOn:{setting:"optionsType",value:"select"}},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"select",label:"Type",key:"optionsType",defaultValue:"select",placeholder:"Pick an options type",options:[{label:"Select",value:"select"},{label:"Checkboxes",value:"checkbox"}]},{type:"select",label:"Direction",key:"direction",defaultValue:"vertical",options:[{label:"Horizontal",value:"horizontal"},{label:"Vertical",value:"vertical"}],dependsOn:{setting:"optionsType",value:"checkbox"}},{type:"select",label:"Options source",key:"optionsSource",defaultValue:"schema",placeholder:"Pick an options source",options:[{label:"Schema",value:"schema"},{label:"Data provider",value:"provider"},{label:"Custom",value:"custom"}]},{type:"dataProvider",label:"Options provider",key:"dataProvider",required:!0,dependsOn:{setting:"optionsSource",value:"provider"}},{type:"field",label:"Label column",key:"labelColumn",dependsOn:{setting:"optionsSource",value:"provider"}},{type:"field",label:"Value column",key:"valueColumn",dependsOn:{setting:"optionsSource",value:"provider"}},{type:"options",label:"Custom options",key:"customOptions",dependsOn:{setting:"optionsSource",value:"custom"}},{type:"validation/array",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"array"}]}},booleanfield={name:"Checkbox",icon:"SelectBox",editable:!0,size:{width:400,height:60},settings:[{type:"field/boolean",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Text",key:"text"},{type:"select",label:"Size",key:"size",options:[{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"},{label:"Extra large",value:"XL"}],defaultValue:"M"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"validation/boolean",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"boolean"}]}},longformfield={name:"Long Form Field",icon:"TextAlignLeft",styles:["size"],editable:!0,size:{width:400,height:100},settings:[{type:"field/longform",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder",placeholder:"Type something..."},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"select",label:"Formatting",key:"format",placeholder:null,options:[{label:"Auto",value:"auto"},{label:"Plain text",value:"plain"},{label:"Rich text (markdown)",value:"rich"}],defaultValue:"auto"},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"validation/string",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"string"}]}},datetimefield={name:"Date Picker",icon:"Date",styles:["size"],editable:!0,size:{width:400,height:60},settings:[{type:"field/datetime",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"boolean",label:"Show time",key:"enableTime",defaultValue:!0},{type:"boolean",label:"Time only",key:"timeOnly",defaultValue:!1},{type:"boolean",label:"Ignore time zones",key:"ignoreTimezones",defaultValue:!1},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"validation/datetime",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"datetime"}]}},codescanner={name:"Barcode/QR Scanner",icon:"Camera",styles:["size"],size:{width:400,height:60},settings:[{type:"field/barcodeqr",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Button text",key:"scanButtonText"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Manual entry",key:"allowManualEntry",defaultValue:!1},{type:"boolean",label:"Auto confirm",key:"autoConfirm",defaultValue:!1},{type:"boolean",label:"Play sound on scan",key:"beepOnScan",defaultValue:!1},{type:"select",label:"Sound pitch",key:"beepFrequency",dependsOn:"beepOnScan",defaultValue:2637,options:[{label:"Low",value:2096},{label:"Regular",value:2637},{label:"High",value:3136},{label:"Custom",value:"custom"}]},{type:"number",label:"Sound frequency (Hz)",key:"customFrequency",defaultValue:1046,min:20,max:8e3,dependsOn:{setting:"beepFrequency",value:"custom"}},{type:"select",label:"Preferred camera",key:"preferredCamera",defaultValue:"environment",options:[{label:"Front",value:"user"},{label:"Back",value:"environment"}]},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"validation/string",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"string"}]}},signaturesinglefield={name:"Signature",icon:"AnnotatePen",styles:["size"],size:{width:400,height:60},settings:[{type:"field/signature_single",label:"Field",key:"field",required:!0},{type:"text",label:"Label",key:"label"},{type:"text",label:"Help text",key:"helpText"},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"validation/signature_single",label:"Validation",key:"validation"}]},embeddedmap={name:"Embedded Map",icon:"Location",styles:["size"],draggable:!1,size:{width:400,height:320},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"dataProvider",label:"Provider",key:"dataProvider"},{type:"field",label:"Latitude key",key:"latitudeKey",dependsOn:"dataProvider"},{type:"field",label:"Longitude key",key:"longitudeKey",dependsOn:"dataProvider"},{type:"field",label:"Title key",key:"titleKey",dependsOn:"dataProvider"},{type:"event",label:"On click marker",key:"onClickMarker",context:[{label:"Clicked marker",key:"marker"}]},{type:"boolean",label:"Enable adding",key:"creationEnabled",defaultValue:!1},{type:"event",label:"On create marker",key:"onCreateMarker",dependsOn:"creationEnabled",context:[{label:"New marker latitude",key:"lat"},{label:"New marker longitude",key:"lng"}]},{type:"boolean",label:"Enable fullscreen",key:"fullScreenEnabled",defaultValue:!0},{type:"boolean",label:"Enable location",key:"locationEnabled",defaultValue:!0},{type:"boolean",label:"Enable zoom",key:"zoomEnabled",defaultValue:!0},{type:"text",label:"Tile URL",key:"tileURL",defaultValue:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"},{type:"text",label:"Default location",key:"defaultLocation",placeholder:"51.5072,-0.1276"},{type:"number",label:"Default zoom (0-100)",key:"zoomLevel",placeholder:50,max:100,min:0},{type:"text",label:"Map attribution",key:"mapAttribution",defaultValue:"OpenStreetMap contributors"}]},attachmentfield={name:"Attachment List",icon:"DocumentFragmentGroup",styles:["size"],requiredAncestors:["form"],editable:!0,size:{width:400,height:200},settings:[{type:"field/attachment",label:"Field",key:"field",required:!0},{type:"text",label:"Label",key:"label"},{type:"text",label:"Help text",key:"helpText"},{type:"text",label:"Extensions",key:"extensions"},{type:"number",label:"Max attachments",key:"maximum",min:1},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Compact",key:"compact",defaultValue:!1},{type:"boolean",label:"Read only",key:"disabled",defaultValue:!1},{type:"validation/attachment",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}]},attachmentsinglefield={name:"Single Attachment",icon:"DocumentFragment",styles:["size"],requiredAncestors:["form"],editable:!0,size:{width:400,height:200},settings:[{type:"field/attachment_single",label:"Field",key:"field",required:!0},{type:"text",label:"Label",key:"label"},{type:"text",label:"Help text",key:"helpText"},{type:"text",label:"Extensions",key:"extensions"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Compact",key:"compact",defaultValue:!1},{type:"boolean",label:"Read only",key:"disabled",defaultValue:!1},{type:"validation/attachment_single",label:"Validation",key:"validation"},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}]},relationshipfield={name:"Relationship Picker",icon:"TaskList",styles:["size"],requiredAncestors:["form"],editable:!0,size:{width:400,height:60},settings:[{type:"field/link",label:"Field",key:"field",required:!0},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"validation/link",label:"Validation",key:"validation"},{type:"filter/relationship",label:"Filtering",key:"filter"},{type:"boolean",label:"Search",key:"autocomplete",defaultValue:!0},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}]},jsonfield={name:"JSON Field",icon:"Brackets",styles:["size"],editable:!0,size:{width:400,height:100},settings:[{type:"field/json",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"text",label:"Default value",key:"defaultValue",supportsConditions:!1},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"string"}]}},s3upload={name:"S3 File Upload",icon:"UploadToCloud",styles:["size"],editable:!0,size:{width:400,height:200},settings:[{type:"field/s3",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"dataSource/s3",label:"S3 datasource",key:"datasourceId",info:"This component can't be used with S3 datasources that use custom endpoints"},{type:"text",label:"Bucket",key:"bucket"},{type:"text",label:"File name",key:"key",nested:!0},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"validation/attachment",label:"Validation",key:"validation"}],context:{type:"static",values:[{label:"Value",key:"value",type:"array"}]}},dataprovider={name:"Data Provider",icon:"Data",illegalChildren:["section"],hasChildren:!0,actions:["RefreshDatasource"],size:{width:500,height:200},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"dataSource",label:"Data",key:"dataSource",required:!0},{type:"select",label:"Auto-refresh",key:"autoRefresh",license:"premium",placeholder:"Never",options:[{label:"10 seconds",value:10},{label:"30 seconds",value:30},{label:"1 minute",value:60},{label:"5 minutes",value:300},{label:"10 minutes",value:600}]},{type:"filter",label:"Filtering",key:"filter",resetOn:"dataSource"},{type:"field/sortable",label:"Sort column",key:"sortColumn",placeholder:"None"},{type:"select",label:"Sort order",key:"sortOrder",options:["Ascending","Descending"],defaultValue:"Ascending"},{type:"number",label:"Limit",key:"limit",defaultValue:50},{type:"boolean",label:"Paginate",key:"paginate",defaultValue:!0,info:"Pagination is only available for data stored in tables"}],context:{type:"static",values:[{label:"Rows",key:"rows",type:"array"},{label:"Extra Info",key:"info",type:"string"},{label:"Rows Length",key:"rowsLength",type:"number"},{label:"Schema",key:"schema",type:"object"},{label:"Page Number",key:"pageNumber",type:"number"}]}},table$1={deprecated:!0,name:"Table",icon:"Table",illegalChildren:["section"],hasChildren:!0,showEmptyState:!1,actions:["ClearRowSelection"],size:{width:600,height:400},settings:[{type:"dataProvider",label:"Data provider",key:"dataProvider",required:!0},{type:"columns",label:"Columns",key:"columns",dependsOn:"dataProvider",nested:!0},{type:"select",label:"Size",key:"size",defaultValue:"spectrum--medium",options:[{label:"Medium",value:"spectrum--medium"},{label:"Large",value:"spectrum--large"}]},{type:"number",label:"Row count",key:"rowCount",defaultValue:8},{type:"boolean",label:"Quiet",key:"quiet"},{type:"boolean",label:"Compact",key:"compact"},{type:"boolean",label:"Row selection",key:"allowSelectRows",defaultValue:!1,info:"Row selection is only compatible with internal or SQL tables"},{type:"text",label:"Empty text",key:"noRowsMessage",defaultValue:"No rows found"},{section:!0,name:"On Row Click",settings:[{type:"event",key:"onClick",context:[{label:"Clicked row",key:"row"}]}]}],context:[{type:"schema",scope:"local"},{type:"static",values:[{label:"Selected Rows",key:"selectedRows",type:"array"}]}]},daterangepicker={name:"Date Range",icon:"Calendar",styles:["size"],hasChildren:!1,size:{width:200,height:50},settings:[{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0,info:"Your data provider will be automatically filtered to the given date range."},{type:"field",label:"Date field",key:"field",required:!0},{type:"select",label:"Default range",key:"defaultValue",options:["Last 1 day","Last 7 days","Last 30 days","Last 3 months","Last 6 months","Last 1 year"],defaultValue:"Last 30 days"}]},spectrumcard={name:"Card",icon:"PersonalizationField",styles:["size"],size:{width:300,height:120},grid:{hAlign:"center",vAlign:"center"},settings:[{type:"text",key:"title",label:"Title",defaultValue:"Title"},{type:"text",key:"subtitle",label:"Subtitle",defaultValue:"Subtitle"},{type:"text",key:"description",label:"Description",defaultValue:"Description"},{type:"text",key:"imageURL",label:"Image URL"},{type:"url",key:"linkURL",label:"Link URL"},{type:"boolean",key:"linkPeek",label:"Open in modal"},{type:"boolean",key:"horizontal",label:"Horizontal"},{type:"boolean",label:"Show button",key:"showButton"},{type:"text",key:"buttonText",label:"Button text",dependsOn:"showButton"},{type:"event",label:"Click action",key:"buttonOnClick"}]},dynamicfilter={name:"Dynamic Filter",icon:"Filter",size:{width:100,height:35},grid:{hAlign:"center",vAlign:"center"},settings:[{type:"dataProvider",label:"Provider",key:"dataProvider",required:!0},{type:"columns/basic",label:"Allowed filter columns",key:"allowedFields",dependsOn:"dataProvider"},{type:"select",label:"Button size",showInBar:!0,key:"size",options:[{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"},{label:"Extra large",value:"XL"}],defaultValue:"M"}]},chartblock={documentationLink:"https://docs.budibase.com/docs/chart",block:!0,name:"Chart Block",icon:"GraphPie",hasChildren:!1,size:{width:600,height:420},grid:{hAlign:"stretch",vAlign:"center"},settings:[{type:"select",label:"Chart type",key:"chartType",required:!0,options:[{label:"Pie",value:"pie"},{label:"Bar",value:"bar"},{label:"Histogram",value:"histogram"},{label:"Line",value:"line"},{label:"Donut",value:"donut"},{label:"Candlestick",value:"candlestick"},{label:"Area",value:"area"}]},{type:"dataSource",label:"Data",key:"dataSource",required:!0},{type:"select",label:"Auto-refresh",key:"autoRefresh",license:"premium",placeholder:"Never",options:[{label:"10 seconds",value:10},{label:"30 seconds",value:30},{label:"1 minute",value:60},{label:"5 minutes",value:300},{label:"10 minutes",value:600}]},{type:"text",label:"Title",key:"chartTitle"},{type:"filter",label:"Filtering",key:"filter",nested:!0},{type:"field",label:"Sort column",key:"sortColumn"},{type:"select",label:"Sort order",key:"sortOrder",options:["Ascending","Descending"],defaultValue:"Ascending"},{type:"number",label:"Limit",key:"limit",defaultValue:50},{type:"text",label:"Width",key:"width"},{type:"text",label:"Height",key:"height",defaultValue:"400"},{type:"select",label:"Colors",key:"palette",defaultValue:"Palette 1",options:["Custom","Palette 1","Palette 2","Palette 3","Palette 4","Palette 5","Palette 6","Palette 7","Palette 8","Palette 9","Palette 10"]},{type:"color",label:"C1",key:"c1",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C2",key:"c2",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C3",key:"c3",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C4",key:"c4",dependsOn:{setting:"palette",value:"Custom"}},{type:"color",label:"C5",key:"c5",dependsOn:{setting:"palette",value:"Custom"}},{type:"boolean",label:"Data labels",key:"dataLabels",defaultValue:!1},{type:"boolean",label:"Legend",key:"legend",defaultValue:!0},{type:"boolean",label:"Animate",key:"animate",defaultValue:!1},{section:!0,name:"Pie Chart",icon:"GraphPie",dependsOn:{setting:"chartType",value:"pie"},settings:[{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"field",label:"Data column",key:"valueColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0}]},{section:!0,name:"Donut Chart",icon:"GraphDonut",dependsOn:{setting:"chartType",value:"donut"},settings:[{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"field",label:"Data column",key:"valueColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0}]},{section:!0,name:"Bar Chart",icon:"GraphBarVertical",dependsOn:{setting:"chartType",value:"bar"},settings:[{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"multifield",label:"Data columns",key:"valueColumns",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"select",label:"Format",key:"yAxisUnits",options:["Default","Thousands","Millions"],defaultValue:"Default"},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"boolean",label:"Stacked",key:"stacked",defaultValue:!1},{type:"boolean",label:"Horizontal",key:"horizontal",defaultValue:!1}]},{section:!0,name:"Histogram Chart",icon:"Histogram",dependsOn:{setting:"chartType",value:"histogram"},settings:[{type:"field",label:"Value column",key:"valueColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"boolean",label:"Horizontal",key:"horizontal",defaultValue:!1},{type:"number",label:"Bucket count",key:"bucketCount",defaultValue:10,min:2}]},{section:!0,name:"Line Chart",icon:"GraphTrend",dependsOn:{setting:"chartType",value:"line"},settings:[{type:"field",label:"Label column",key:"labelColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"multifield",label:"Data columns",key:"valueColumns",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"select",label:"Format",key:"yAxisUnits",options:["Default","Thousands","Millions"],defaultValue:"Default"},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"select",label:"Curve",key:"curve",options:["Smooth","Straight","Stepline"],defaultValue:"Smooth"}]},{section:!0,name:"Area Chart",icon:"GraphAreaStacked",dependsOn:{setting:"chartType",value:"area"},settings:[{type:"field",label:"Label columns",key:"labelColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"stringLike"}},required:!0},{type:"multifield",label:"Data columns",key:"valueColumns",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"select",label:"Format",key:"yAxisUnits",options:["Default","Thousands","Millions"],defaultValue:"Default"},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"},{type:"select",label:"Curve",key:"curve",options:["Smooth","Straight","Stepline"],defaultValue:"Smooth"},{type:"boolean",label:"Stacked",key:"stacked",defaultValue:!0},{type:"boolean",label:"Gradient",key:"gradient",defaultValue:!1}]},{section:!0,name:"Candlestick Chart",icon:"GraphBarVerticalStacked",dependsOn:{setting:"chartType",value:"candlestick"},settings:[{type:"field",label:"Date column",key:"dateColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"datetimeLike"}},required:!0},{type:"field",label:"Open column",key:"openColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"field",label:"Close column",key:"closeColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"field",label:"High column",key:"highColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"field",label:"Low column",key:"lowColumn",dependsOn:"dataSource",explanation:{typeSupport:{preset:"numberLike"}},required:!0},{type:"select",label:"Format",key:"yAxisUnits",options:["Default","Thousands","Millions"],defaultValue:"Default"},{type:"text",label:"Y axis label",key:"yAxisLabel"},{type:"text",label:"X axis label",key:"xAxisLabel"}]}]},tableblock={deprecated:!0,block:!0,name:"Table Block",icon:"Table",styles:["size"],size:{width:600,height:400},settings:[{type:"text",label:"Title",key:"title"},{section:!0,name:"Table",settings:[{type:"dataSource",label:"Data",key:"dataSource",required:!0},{type:"select",label:"Auto-refresh",key:"autoRefresh",license:"premium",placeholder:"Never",options:[{label:"10 seconds",value:10},{label:"30 seconds",value:30},{label:"1 minute",value:60},{label:"5 minutes",value:300},{label:"10 minutes",value:600}]},{type:"columns",label:"Columns",key:"tableColumns",dependsOn:"dataSource",placeholder:"All columns",nested:!0},{type:"field/sortable",label:"Sort by",key:"sortColumn",placeholder:"Default"},{type:"select",label:"Sort order",key:"sortOrder",options:["Ascending","Descending"],defaultValue:"Ascending",dependsOn:"sortColumn"},{type:"select",label:"Size",key:"size",defaultValue:"spectrum--medium",options:[{label:"Medium",value:"spectrum--medium"},{label:"Large",value:"spectrum--large"}]},{type:"number",label:"Scroll limit",key:"rowCount",defaultValue:8},{type:"boolean",label:"Paginate",key:"paginate",defaultValue:!0},{type:"boolean",label:"Quiet",key:"quiet"},{type:"boolean",label:"Compact",key:"compact"},{type:"boolean",label:"Row selection",key:"allowSelectRows",info:"Row selection is only compatible with internal or SQL tables"},{type:"filter",label:"Filtering",key:"filter",nested:!0},{type:"text",label:"Empty text",key:"noRowsMessage",defaultValue:"No rows found"},{type:"searchfield",label:"Search fields",key:"searchColumns",placeholder:"Choose search fields",info:"Only the first 5 fields will be used"}]},{section:!0,name:"On row click",settings:[{label:"Behaviour",labelHidden:!0,type:"radio",key:"clickBehaviour",sendEvents:!0,defaultValue:"actions",info:"Details side panel is only compatible with internal or SQL tables",options:[{label:"Run actions",value:"actions"},{label:"Show details side panel",value:"details"}]},{label:"Actions",labelHidden:!0,type:"event",key:"onClick",nested:!0,dependsOn:{setting:"clickBehaviour",value:"actions"},context:[{label:"Clicked row",key:"row"}]},{label:"",type:"fieldConfiguration",key:"sidePanelFields",nested:!0,dependsOn:{setting:"clickBehaviour",value:"details"},resetOn:"dataSource"},{label:"Save button",type:"text",key:"sidePanelSaveLabel",defaultValue:"Save",nested:!0,dependsOn:{setting:"clickBehaviour",value:"details"}},{label:"Delete button",type:"text",key:"sidePanelDeleteLabel",defaultValue:"Delete",nested:!0,dependsOn:{setting:"clickBehaviour",value:"details"}},{type:"boolean",label:"Hide notifications",key:"notificationOverride",defaultValue:!1,dependsOn:{setting:"clickBehaviour",value:"details"}}]},{section:!0,name:"Button",settings:[{type:"boolean",key:"showTitleButton",label:"Show button",defaultValue:!1},{type:"text",key:"titleButtonText",label:"Text",defaultValue:"Create row",dependsOn:"showTitleButton"},{type:"radio",key:"titleButtonClickBehaviour",label:"Behaviour",dependsOn:"showTitleButton",defaultValue:"actions",info:"New row side panel is only compatible with internal or SQL tables",options:[{label:"Run actions",value:"actions"},{label:"Show new row side panel",value:"new"}]},{type:"event",label:"On click",key:"onClickTitleButton",nested:!0,dependsOn:{setting:"titleButtonClickBehaviour",value:"actions"}}]}],context:[{type:"static",suffix:"provider",values:[{label:"Rows",key:"rows",type:"array"},{label:"Extra Info",key:"info",type:"string"},{label:"Rows Length",key:"rowsLength",type:"number"},{label:"Schema",key:"schema",type:"object"},{label:"Page Number",key:"pageNumber",type:"number"}]},{type:"static",suffix:"table",values:[{label:"Selected Rows",key:"selectedRows",type:"array"}]}]},cardsblock={block:!0,name:"Cards Block",icon:"PersonalizationField",styles:["size"],size:{width:600,height:400},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"text",label:"Title",key:"title"},{type:"dataSource",label:"Data",key:"dataSource",required:!0},{type:"select",label:"Auto-refresh",key:"autoRefresh",license:"premium",placeholder:"Never",options:[{label:"10 seconds",value:10},{label:"30 seconds",value:30},{label:"1 minute",value:60},{label:"5 minutes",value:300},{label:"10 minutes",value:600}]},{type:"searchfield",label:"Search columns",key:"searchColumns",placeholder:"Choose search columns",info:"Max 5 columns will be used"},{type:"filter",label:"Filtering",key:"filter",nested:!0},{type:"field/sortable",label:"Sort column",key:"sortColumn",placeholder:"None"},{type:"select",label:"Sort order",key:"sortOrder",options:["Ascending","Descending"],defaultValue:"Descending"},{type:"number",label:"Limit",key:"limit",defaultValue:8},{type:"boolean",label:"Paginate",key:"paginate"},{type:"text",label:"Empty text",key:"noRowsMessage",defaultValue:"No rows found"},{section:!0,name:"Cards",settings:[{type:"text",key:"cardTitle",label:"Title",nested:!0,resetOn:"dataSource"},{type:"text",key:"cardSubtitle",label:"Subtitle",nested:!0,resetOn:"dataSource"},{type:"text",key:"cardDescription",label:"Description",nested:!0,resetOn:"dataSource"},{type:"text",key:"cardImageURL",label:"Image URL",nested:!0,resetOn:"dataSource"},{type:"boolean",key:"linkCardTitle",label:"Link card title"},{type:"boolean",key:"cardPeek",label:"Open in modal"},{type:"url",label:"Link screen",key:"cardURL",nested:!0},{type:"boolean",key:"cardHorizontal",label:"Horizontal"},{type:"boolean",label:"Add button",key:"showCardButton"},{type:"text",key:"cardButtonText",label:"Button text",nested:!0,dependsOn:"showCardButton"},{type:"event",label:"Click action",key:"cardButtonOnClick",nested:!0}]},{section:!0,name:"Title button",settings:[{type:"boolean",key:"showTitleButton",label:"Show button"},{type:"boolean",label:"Open in modal",key:"titleButtonPeek"},{type:"text",key:"titleButtonText",label:"Button text"},{type:"url",label:"Button link",key:"titleButtonURL"}]},{section:!0,name:"Advanced",settings:[{type:"field",label:"ID column",key:"linkColumn",placeholder:"Default"}]}],context:{type:"schema",suffix:"repeater",scope:"local"}},repeaterblock={block:!0,name:"Repeater Block",icon:"ViewList",illegalChildren:["section","rowexplorer"],hasChildren:!0,size:{width:500,height:200},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"dataSource",label:"Data",key:"dataSource",required:!0},{type:"select",label:"Auto-refresh",key:"autoRefresh",license:"premium",placeholder:"Never",options:[{label:"10 seconds",value:10},{label:"30 seconds",value:30},{label:"1 minute",value:60},{label:"5 minutes",value:300},{label:"10 minutes",value:600}]},{type:"filter",label:"Filtering",key:"filter",nested:!0},{type:"field/sortable",label:"Sort column",key:"sortColumn",placeholder:"None"},{type:"select",label:"Sort order",key:"sortOrder",options:["Ascending","Descending"],defaultValue:"Descending"},{type:"number",label:"Limit",key:"limit",defaultValue:10},{type:"boolean",label:"Paginate",key:"paginate"},{section:!0,name:"Layout settings",settings:[{type:"text",label:"Empty text",key:"noRowsMessage",defaultValue:"No rows found"},{type:"select",label:"Direction",key:"direction",showInBar:!0,barStyle:"buttons",options:[{label:"Column",value:"column",barIcon:"TableSelectColumn",barTitle:"Column layout"},{label:"Row",value:"row",barIcon:"TableSelectRow",barTitle:"Row layout"}],defaultValue:"column"},{type:"select",label:"Horiz. align",key:"hAlign",showInBar:!0,barStyle:"buttons",options:[{label:"Left",value:"left",barIcon:"AlignLeft",barTitle:"Align left"},{label:"Center",value:"center",barIcon:"AlignCenter",barTitle:"Align center"},{label:"Right",value:"right",barIcon:"AlignRight",barTitle:"Align right"},{label:"Stretch",value:"stretch",barIcon:"MoveLeftRight",barTitle:"Align stretched horizontally"}],defaultValue:"stretch"},{type:"select",label:"Vert. align",key:"vAlign",showInBar:!0,barStyle:"buttons",options:[{label:"Top",value:"top",barIcon:"AlignTop",barTitle:"Align top"},{label:"Middle",value:"middle",barIcon:"AlignMiddle",barTitle:"Align middle"},{label:"Bottom",value:"bottom",barIcon:"AlignBottom",barTitle:"Align bottom"},{label:"Stretch",value:"stretch",barIcon:"MoveUpDown",barTitle:"Align stretched vertically"}],defaultValue:"top"},{type:"select",label:"Gap",key:"gap",showInBar:!0,barStyle:"picker",options:[{label:"None",value:"N"},{label:"Small",value:"S"},{label:"Medium",value:"M"},{label:"Large",value:"L"}],defaultValue:"M"}]}],context:[{type:"static",suffix:"provider",values:[{label:"Rows",key:"rows",type:"array"},{label:"Extra Info",key:"info",type:"string"},{label:"Rows Length",key:"rowsLength",type:"number"},{label:"Schema",key:"schema",type:"object"},{label:"Page Number",key:"pageNumber",type:"number"}]},{type:"static",suffix:"repeater",values:[{label:"Row Index",key:"index",type:"number"}]},{type:"schema",suffix:"repeater",scope:"local"}]},markdownviewer={name:"Markdown Viewer",icon:"Preview",styles:["size"],size:{width:400,height:100},grid:{hAlign:"stretch",vAlign:"start"},settings:[{type:"text",label:"Markdown",key:"value",required:!0}]},multistepformblock={name:"Multi-step Form Block",icon:"AssetsAdded",block:!0,hasChildren:!1,ejectable:!1,size:{width:600,height:400},grid:{hAlign:"stretch",vAlign:"start"},styles:["padding","size","background","border","shadow"],settings:[{type:"table",label:"Data",key:"dataSource"},{type:"radio",label:"Type",key:"actionType",options:["Create","Update","View"],defaultValue:"Create"},{section:!0,dependsOn:{setting:"actionType",value:"Create",invert:!0},name:"Row ID",info:"<a href='https://docs.budibase.com/docs/form-block' target='_blank'>How to pass a row ID using bindings</a>",settings:[{type:"text",label:"Row ID",key:"rowId",nested:!0},{type:"text",label:"No rows found",key:"noRowsMessage",defaultValue:"We couldn't find a row to display",nested:!0}]},{section:!0,name:"Details",settings:[{type:"stepConfiguration",key:"steps",nested:!0,labelHidden:!0,resetOn:["dataSource","actionType"],defaultValue:[{}]}]},{tag:"style",type:"select",label:"Button position",key:"buttonPosition",options:[{label:"Bottom",value:"bottom"},{label:"Top",value:"top"}],defaultValue:"bottom"},{tag:"style",type:"select",label:"Size",key:"size",options:[{label:"Medium",value:"spectrum--medium"},{label:"Large",value:"spectrum--large"}],defaultValue:"spectrum--medium"}],actions:[{type:"ValidateForm",suffix:"form"},{type:"ClearForm",suffix:"form"},{type:"UpdateFieldValue",suffix:"form"},{type:"ScrollTo",suffix:"form"},{type:"ChangeFormStep",suffix:"form"},{type:"RefreshDatasource",suffix:"provider"}],context:[{type:"form",suffix:"form"},{type:"schema",suffix:"repeater"},{type:"static",suffix:"form",values:[{label:"Value",key:"__value",type:"object"},{label:"Valid",key:"__valid",type:"boolean"},{label:"Current Step",key:"__currentStep",type:"number"},{label:"Current Step Valid",key:"__currentStepValid",type:"boolean"}]}]},multistepformblockstep={name:"Multi-step Form Block Step",settings:[{type:"formStepControls",label:"Steps",key:"steps"},{type:"text",label:"Title",key:"title",nested:!0},{type:"text",label:"Description",key:"desc",nested:!0},{type:"fieldConfiguration",key:"fields",nested:!0},{type:"buttonConfiguration",label:"Buttons",key:"buttons",wide:!0,nested:!0},{type:"boolean",label:"Collapse",key:"buttonsCollapsed"},{type:"text",label:"Collapsed text",key:"buttonsCollapsedText",dependsOn:"buttonsCollapsed",placeholder:"Action"}]},formblock={name:"Form Block",icon:"Form",styles:["padding","size","background","border","shadow"],block:!0,info:"Form blocks are only compatible with internal or SQL tables",size:{width:600,height:400},grid:{hAlign:"stretch",vAlign:"start"},settings:[{type:"table",label:"Data",key:"dataSource"},{type:"radio",label:"Type",key:"actionType",options:["Create","Update","View"],defaultValue:"Create"},{section:!0,dependsOn:{setting:"actionType",value:"Create",invert:!0},name:"Row ID",info:"<a href='https://docs.budibase.com/docs/form-block' target='_blank'>How to pass a row ID using bindings</a>",settings:[{type:"text",label:"Row ID",key:"rowId",nested:!0},{type:"text",label:"No rows found",key:"noRowsMessage",defaultValue:"We couldn't find a row to display",nested:!0}]},{section:!0,name:"Details",settings:[{type:"text",label:"Title",key:"title",nested:!0},{type:"text",label:"Description",key:"description",nested:!0},{type:"fieldConfiguration",key:"fields",nested:!0,resetOn:"dataSource",selectAllFields:!0},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1}]},{tag:"style",type:"select",label:"Button position",key:"buttonPosition",options:[{label:"Bottom",value:"bottom"},{label:"Top",value:"top"}],defaultValue:"bottom"},{section:!0,name:"Buttons",settings:[{type:"buttonConfiguration",key:"buttons",nested:!0,resetOn:["actionType","dataSource"]},{type:"boolean",label:"Collapse",key:"buttonsCollapsed"},{type:"text",label:"Collapsed text",key:"buttonsCollapsedText",dependsOn:"buttonsCollapsed",placeholder:"Action"}]},{tag:"style",type:"select",label:"Size",key:"size",options:[{label:"Medium",value:"spectrum--medium"},{label:"Large",value:"spectrum--large"}],defaultValue:"spectrum--medium"}],actions:[{type:"ValidateForm",suffix:"form"},{type:"ClearForm",suffix:"form"},{type:"UpdateFieldValue",suffix:"form"},{type:"ScrollTo",suffix:"form"},{type:"RefreshDatasource",suffix:"provider"}],context:[{type:"form",suffix:"form"},{type:"schema",suffix:"repeater"}]},sidepanel={name:"Side Panel",icon:"RailRight",hasChildren:!0,ignoresLayout:!0,illegalChildren:["section","sidepanel","modal"],showEmptyState:!1,draggable:!1,info:"Side panels are hidden by default. They will only be revealed when triggered by the 'Open Side Panel' action.",settings:[{type:"boolean",key:"ignoreClicksOutside",label:"Ignore clicks outside",defaultValue:!1},{type:"event",key:"onClose",label:"On close"}]},modal$1={name:"Modal",icon:"MBox",hasChildren:!0,illegalChildren:["section","modal","sidepanel"],ignoresLayout:!0,showEmptyState:!1,draggable:!1,info:"Modals are hidden by default. They will only be revealed when triggered by the 'Open Modal' action.",settings:[{type:"boolean",key:"ignoreClicksOutside",label:"Ignore clicks outside",defaultValue:!1},{type:"event",key:"onClose",label:"On close"},{type:"select",label:"Size",key:"size",defaultValue:"small",options:[{label:"Small",value:"small"},{label:"Medium",value:"medium"},{label:"Large",value:"large"},{label:"Fullscreen",value:"fullscreen"}]}]},rowexplorer={block:!0,name:"Row Explorer Block",icon:"PersonalizationField",size:{width:800,height:426},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"table",label:"Data",key:"dataSource",required:!0},{type:"select",label:"Auto-refresh",key:"autoRefresh",license:"premium",placeholder:"Never",options:[{label:"10 seconds",value:10},{label:"30 seconds",value:30},{label:"1 minute",value:60},{label:"5 minutes",value:300},{label:"10 minutes",value:600}]},{type:"text",label:"Height",key:"height",defaultValue:"426px"},{type:"text",label:"Empty text",key:"noRowsMessage",defaultValue:"No data"},{section:!0,name:"Cards",settings:[{type:"field",label:"Search field",key:"cardSearchField",nested:!0},{type:"text",key:"cardTitle",label:"Title",nested:!0,defaultValue:"Title"},{type:"text",key:"cardSubtitle",label:"Subtitle",nested:!0,defaultValue:"Subtitle"},{type:"text",key:"cardDescription",label:"Description",nested:!0,defaultValue:"Description"},{type:"text",key:"cardImageURL",label:"Image URL",nested:!0}]},{section:!0,name:"Details",settings:[{type:"text",key:"detailTitle",label:"Title"},{type:"multifield",label:"Fields",key:"detailFields",nested:!0,selectAllFields:!0}]}],context:{type:"schema",suffix:"repeater",scope:"local"}},gridblock={name:"Table",icon:"Table",styles:["size"],size:{width:600,height:400},grid:{hAlign:"stretch",vAlign:"stretch"},settings:[{type:"dataSource",label:"Data",key:"table",required:!0},{type:"filter",label:"Filtering",key:"initialFilter",dependsOn:{setting:"table.type",value:"custom",invert:!0}},{type:"field/sortable",label:"Sort column",key:"initialSortColumn",placeholder:"Default",dependsOn:{setting:"table.type",value:"custom",invert:!0}},{type:"select",label:"Sort order",key:"initialSortOrder",options:["Ascending","Descending"],defaultValue:"Ascending",dependsOn:"initialSortColumn"},{type:"select",label:"Row height",key:"fixedRowHeight",placeholder:"Default",options:[{label:"Small",value:36},{label:"Medium",value:64},{label:"Large",value:92}]},{type:"event",label:"On row click",key:"onRowClick",context:[{label:"Clicked row",key:"row"}]},{type:"boolean",label:"Add rows",key:"allowAddRows",defaultValue:!0,dependsOn:{setting:"table.type",value:["table","viewV2"]}},{type:"boolean",label:"Edit rows",key:"allowEditRows",defaultValue:!0,dependsOn:{setting:"table.type",value:["table","viewV2"]}},{type:"boolean",label:"Delete rows",key:"allowDeleteRows",defaultValue:!0,dependsOn:{setting:"table.type",value:["table","viewV2"]}},{type:"boolean",label:"High contrast",key:"stripeRows",defaultValue:!1},{type:"boolean",label:"Quiet",key:"quiet",defaultValue:!1},{section:!0,name:"Columns",settings:[{type:"columns/grid",key:"columns",resetOn:"table"}]},{section:!0,name:"Buttons",settings:[{type:"buttonConfiguration",key:"buttons",nested:!0,context:[{label:"Clicked row",key:"row"}]},{type:"boolean",label:"Collapse",key:"buttonsCollapsed"},{type:"text",label:"Collapsed text",key:"buttonsCollapsedText",dependsOn:"buttonsCollapsed",placeholder:"Action"}]}],context:[{type:"schema",scope:"local"},{type:"static",values:[{label:"Selected rows",key:"selectedRows",type:"array"}]}],actions:["RefreshDatasource"]},bbreferencefield={devComment:"As bb reference is only used for user subtype for now, we are using user for icon and labels",name:"User List Field",icon:"UserGroup",styles:["size"],editable:!0,size:{width:400,height:50},settings:[{type:"field/bb_reference",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"text",label:"Default value",key:"defaultValue"},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"validation/link",label:"Validation",key:"validation"},{type:"boolean",label:"Search",key:"autocomplete",defaultValue:!0},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"array"}]}},bbreferencesinglefield={devComment:"As bb reference is only used for user subtype for now, we are using user for icon and labels",name:"User Field",icon:"User",styles:["size"],editable:!0,size:{width:400,height:50},settings:[{type:"field/bb_reference_single",label:"Field",key:"field"},{type:"text",label:"Label",key:"label"},{type:"text",label:"Placeholder",key:"placeholder"},{type:"text",label:"Default value",key:"defaultValue"},{type:"text",label:"Help text",key:"helpText"},{type:"event",label:"On change",key:"onChange",context:[{label:"Field Value",key:"value"}]},{type:"validation/link",label:"Validation",key:"validation"},{type:"boolean",label:"Search",key:"autocomplete",defaultValue:!0},{type:"boolean",label:"Disabled",key:"disabled",defaultValue:!1},{type:"boolean",label:"Read only",key:"readonly",defaultValue:!1,dependsOn:{setting:"disabled",value:!0,invert:!0}},{type:"select",label:"Layout",key:"span",defaultValue:6,hidden:!0,showInBar:!0,barStyle:"buttons",options:[{label:"1 column",value:6,barIcon:"Stop",barTitle:"1 column"},{label:"2 columns",value:3,barIcon:"ColumnTwoA",barTitle:"2 columns"},{label:"3 columns",value:2,barIcon:"ViewColumn",barTitle:"3 columns"}]}],context:{type:"static",values:[{label:"Value",key:"value",type:"string"}]}},clientManifest={features,typeSupportPresets,layout:layout$1,container:container$1,section,screenslot,buttongroup,button,divider,repeater,stackedlist,card,text,heading:heading$1,tag,image,backgroundimage,icon,navigation,link,cardhorizontal,cardstat,embed,bar,line,area,pie,donut,candlestick,histogram,form:form$2,formstep,fieldgroup,labelfield,stringfield,numberfield,bigintfield,passwordfield,optionsfield,multifieldselect,booleanfield,longformfield,datetimefield,codescanner,signaturesinglefield,embeddedmap,attachmentfield,attachmentsinglefield,relationshipfield,jsonfield,s3upload,dataprovider,table:table$1,daterangepicker,spectrumcard,dynamicfilter,chartblock,tableblock,cardsblock,repeaterblock,markdownviewer,multistepformblock,multistepformblockstep,formblock,sidepanel,modal:modal$1,rowexplorer,gridblock,bbreferencefield,bbreferencesinglefield};function findComponentsBySettingsType(to,ue){const eo=Array.isArray(ue)?ue:[ue],no=[];function ro(oo){var so;if(!oo)return;const io=getManifestDefinition(oo),ao="settings"in io&&io.settings.find(lo=>eo.includes(lo.type));ao&&"type"in ao&&no.push({component:oo,setting:{type:ao.type,key:ao.key}}),(so=oo._children)==null||so.forEach(lo=>{ro(lo)})}return ro(to==null?void 0:to.props),no}function getManifestDefinition(to){const ue=to._component.split("/").slice(-1)[0];return clientManifest[ue]}class TableImportError extends Error{constructor(ue){super(),this.name="TableImportError",this.errors=ue}get description(){let ue="";for(const eo in this.errors)ue+=`${eo}: ${this.errors[eo]}
|
|
520
520
|
`;return ue}}class DatasourceStore extends DerivedBudiStore{constructor(){const ue=eo=>derived([eo,tables],([no,ro])=>{var so,lo,co,uo;let oo=(so=no.rawList)==null?void 0:so.find(fo=>fo._id===BUDIBASE_INTERNAL_DB_ID),io=(lo=no.rawList)==null?void 0:lo.filter(fo=>fo._id!==BUDIBASE_INTERNAL_DB_ID);if(oo){const fo=(co=ro.list)==null?void 0:co.filter(po=>po.sourceId===BUDIBASE_INTERNAL_DB_ID&&po._id!==TableNames.USERS);oo={...oo,entities:fo}}let ao=[];return(uo=oo==null?void 0:oo.entities)!=null&&uo.length&&ao.push(oo),ao=ao.concat(io||[]),{...no,list:ao,selected:ao==null?void 0:ao.find(fo=>fo._id===no.selectedDatasourceId),hasDefaultData:ao==null?void 0:ao.some(fo=>fo._id===DEFAULT_BB_DATASOURCE_ID),hasData:(ao==null?void 0:ao.length)>0}});super({rawList:[],selectedDatasourceId:null},ue),this.fetch=this.fetch.bind(this),this.init=this.fetch.bind(this),this.select=this.select.bind(this),this.updateSchema=this.updateSchema.bind(this),this.create=this.create.bind(this),this.delete=this.deleteDatasource.bind(this),this.save=this.save.bind(this),this.replaceDatasource=this.replaceDatasource.bind(this),this.getTableNames=this.getTableNames.bind(this)}async fetch(){const ue=await API.getDatasources();this.store.update(eo=>({...eo,rawList:ue}))}async init(){return this.fetch()}select(ue){this.store.update(eo=>({...eo,selectedDatasourceId:ue}))}updateDatasourceInStore(ue,{ignoreErrors:eo}={}){const{datasource:no,errors:ro}=ue;if(!eo&&ro&&Object.keys(ro).length>0)throw new TableImportError(ro);return this.replaceDatasource(no._id,no),this.select(no._id),no}async updateSchema(ue,eo){const no=await API.buildDatasourceSchema(ue==null?void 0:ue._id,eo);this.updateDatasourceInStore(no)}sourceCount(ue){return get_store_value(this.store).rawList.filter(eo=>eo.source===ue).length}async checkDatasourceValidity(ue,eo){var no;if((no=ue.features)!=null&&no[DatasourceFeature.CONNECTION_CHECKING]){const{connected:ro,error:oo}=await API.validateDatasource(eo);return ro?{valid:!0}:{valid:!1,error:oo}}return{valid:!0}}async create({integration:ue,config:eo}){const no=this.sourceCount(ue.name),ro=no===0?"":` ${no+1}`,oo={type:"datasource",source:ue.name,config:eo,name:`${ue.friendlyName}${ro}`,plus:ue.plus&&ue.name!==IntegrationTypes.REST,isSQL:ue.isSQL},{valid:io,error:ao}=await this.checkDatasourceValidity(ue,oo);if(!io)throw new Error(`Unable to connect - ${ao}`);const so=await API.createDatasource({datasource:oo,fetchSchema:ue.plus});return this.updateDatasourceInStore(so,{ignoreErrors:!0})}async save({integration:ue,datasource:eo}){if(!(await this.checkDatasourceValidity(ue,eo)).valid)throw new Error("Unable to connect");const no=await API.updateDatasource(eo);return this.updateDatasourceInStore(no)}async deleteDatasource(ue){!(ue!=null&&ue._id)||!(ue!=null&&ue._rev)||(await API.deleteDatasource(ue._id,ue._rev),this.replaceDatasource(ue._id))}async delete(ue){return this.deleteDatasource(ue)}replaceDatasource(ue,eo){if(!ue)return;if(!eo){this.store.update(ro=>({...ro,rawList:ro.rawList.filter(oo=>oo._id!==ue)})),tables.removeDatasourceTables(ue),queries.removeDatasourceQueries(ue);return}const no=get_store_value(this.store).rawList.findIndex(ro=>ro._id===eo._id);no===-1?(this.store.update(ro=>({...ro,rawList:[...ro.rawList,eo]})),tables.fetch()):eo&&this.store.update(ro=>(ro.rawList[no]=eo,ro))}async getTableNames(ue){return(await API.fetchInfoForDatasource(ue)).tableNames||[]}}const datasources=new DatasourceStore,INITIAL_STATE={},createIntegrationsStore=()=>{const to=writable(INITIAL_STATE);return{...to,init:async()=>{const eo=await API.getIntegrations(),no=Object.entries(eo).reduce((ro,[oo,io])=>(io&&(ro[oo]=io),ro),{});to.set(no)}}},integrations=createIntegrationsStore(),sortQueries=to=>{to.sort((ue,eo)=>ue.name.localeCompare(eo.name))};class QueryStore extends DerivedBudiStore{constructor(){const ue=eo=>derived(eo,no=>{var ro;return{list:no.list,selectedQueryId:no.selectedQueryId,selected:(ro=no.list)==null?void 0:ro.find(oo=>oo._id===no.selectedQueryId)}});super({list:[],selectedQueryId:null},ue),this.init=this.fetch,this.select=this.select.bind(this)}async fetch(){const ue=await API.getQueries();sortQueries(ue),this.store.update(eo=>({...eo,list:ue}))}async save(ue,eo){const no=get_store_value(integrations),ro=get_store_value(datasources).list.filter(io=>io._id===ue);if(ro.length!==0){const ao=no[ro[0].source].query[eo.queryVerb].readable;ao&&(eo.readable=ao)}eo.datasourceId=ue;const oo=await API.saveQuery(eo);return this.store.update(io=>{const ao=io.list.findIndex(lo=>lo._id===oo._id),so=io.list;return ao>=0?so.splice(ao,1,oo):so.push(oo),sortQueries(so),{list:so,selectedQueryId:oo._id||null}}),oo}async importQueries(ue){return await API.importQueries(ue)}select(ue){this.store.update(eo=>({...eo,selectedQueryId:ue}))}async preview(ue){const eo=await API.previewQuery(ue),no={};for(let[ro,oo]of Object.entries(eo.schema))no[ro]=oo||{type:"string"};return{...eo,schema:no,rows:eo.rows||[]}}async delete(ue){if(!ue._id||!ue._rev)throw new Error("Query ID or Revision is missing");await API.deleteQuery(ue._id,ue._rev),this.store.update(eo=>({...eo,list:eo.list.filter(no=>no._id!==ue._id)}))}async duplicate(ue){let eo=get_store_value(this.store).list;const no={...ue},ro=ue.datasourceId;return delete no._id,delete no._rev,no.name=duplicateName(ue.name,eo.map(oo=>oo.name)),await this.save(ro,no)}removeDatasourceQueries(ue){this.store.update(eo=>({...eo,list:eo.list.filter(no=>no.datasourceId!==ue)}))}}const queries=new QueryStore;class ViewsStore extends DerivedBudiStore{constructor(){const ue=eo=>derived([eo,tables],([no,ro])=>{var io;let oo=[];return(io=ro.list)==null||io.forEach(ao=>{const so=Object.values((ao==null?void 0:ao.views)||{}).filter(lo=>!isV2(lo));oo=oo.concat(so)}),{selectedViewName:no.selectedViewName,list:oo,selected:oo.find(ao=>ao.name===no.selectedViewName)}});super({selectedViewName:null},ue),this.select=eo=>{this.store.update(no=>({...no,selectedViewName:eo}))},this.delete=async eo=>{if(!eo.name)throw new Error("View name is required");await API.deleteView(eo.name),tables.update(no=>{const ro=no.list.find(oo=>oo._id===eo.tableId);return ro!=null&&ro.views&&eo.name&&delete ro.views[eo.name],{...no}})},this.save=async eo=>{if(!eo.name)throw new Error("View name is required");const no=await API.saveView(eo);this.select(eo.name),tables.update(ro=>{const oo=ro.list.find(io=>io._id===eo.tableId);return oo!=null&&oo.views&&eo.name&&(eo.originalName&&delete oo.views[eo.originalName],oo.views[eo.name]=no),{...ro}})},this.select=this.select.bind(this)}}const views=new ViewsStore;function reduceBy(to,ue){return ue.reduce((eo,no)=>({...eo,[no[to]]:no}),{})}const friendlyNameByType={viewV2:"view"},validationKeyByType={table:"tableId",view:"name",viewV2:"id",query:"_id",custom:null,link:"rowId",field:"value",jsonarray:"value"},screenComponentErrors=derived([selectedScreen,tables,views,viewsV2,queries],([to,ue,eo,no,ro])=>{if(!isEnabled("CHECK_SCREEN_COMPONENT_SETTINGS_ERRORS"))return{};function oo(ao,so){const lo={};for(const{component:co,setting:uo}of findComponentsBySettingsType(ao,["table","dataSource"])){const fo=co[uo.key];if(!fo)continue;const{label:po}=fo,ho=fo.type,_o=validationKeyByType[ho];if(!_o)continue;const go=getBindableProperties(to,co._id),bo={...reduceBy("rowId",extractRelationships(go)),...reduceBy("value",extractFields(go)),...reduceBy("value",extractJSONArrayFields(go))},vo=fo[_o];if(!{...so,...bo}[vo]){const yo=friendlyNameByType[ho]??ho;lo[co._id]=[`The ${yo} named "${po}" could not be found`]}}return lo}const io={...reduceBy("_id",ue.list),...reduceBy("name",eo.list),...reduceBy("id",no.list),...reduceBy("_id",ro.list)};return to?oo(to,io):{}});class PermissionStore extends BudiStore{constructor(){super([]),this.save=async ue=>{const{level:eo,role:no,resource:ro}=ue;return await API.updatePermissionForResource(ro,no,eo)},this.remove=async ue=>{const{level:eo,role:no,resource:ro}=ue;return await API.removePermissionFromResource(ro,no,eo)},this.forResource=async ue=>(await API.getPermissionForResource(ue)).permissions,this.forResourceDetailed=async ue=>await API.getPermissionForResource(ue),this.getDependantsInfo=async ue=>await API.getDependants(ue)}}const permissions=new PermissionStore;class RoleStore extends DerivedBudiStore{constructor(){const ue=eo=>derived(eo,no=>no.map(ro=>{var oo,io,ao;return{...ro,uiMetadata:{displayName:((oo=ro.uiMetadata)==null?void 0:oo.displayName)||ro.name,color:((io=ro.uiMetadata)==null?void 0:io.color)||"var(--spectrum-global-color-magenta-400)",description:((ao=ro.uiMetadata)==null?void 0:ao.description)||"Custom role"}}}));super([],ue),this.setRoles=eo=>{this.set(eo.sort((no,ro)=>{var lo,co;const oo=getRolePriority(no._id),io=getRolePriority(ro._id);if(oo!==io)return oo>io?-1:1;const ao=((lo=no.uiMetadata)==null?void 0:lo.displayName)||no.name,so=((co=ro.uiMetadata)==null?void 0:co.displayName)||ro.name;return ao<so?-1:1}))},this.fetch=async()=>{const eo=await API.getRoles();this.setRoles(eo)},this.fetchByAppId=async eo=>{const{roles:no}=await API.getRolesForApp(eo);this.setRoles(no)},this.delete=async eo=>{!eo._id||!eo._rev||(await API.deleteRole(eo._id,eo._rev),await this.fetch())},this.save=async eo=>{const no=await API.saveRole(eo);return await this.fetch(),no},this.replace=(eo,no)=>{if(!eo)return;if(!no){this.update(oo=>oo.filter(io=>io._id!==eo));return}const ro=get_store_value(this).findIndex(oo=>oo._id===no._id);ro===-1?this.update(oo=>[...oo,no]):no&&this.update(oo=>(oo[ro]=no,[...oo]))}}}const roles=new RoleStore,getIntegrationOrder=to=>to?to===DatasourceTypes.API?1:to===DatasourceTypes.RELATIONAL?2:to===DatasourceTypes.NON_RELATIONAL?3:to.charCodeAt(0)+4:Number.MAX_SAFE_INTEGER;class SortedIntegrationStore extends BudiStore{constructor(){super([]);const ue=derived(integrations,eo=>Object.entries(eo).map(([oo,io])=>({name:oo,...io})).sort((oo,io)=>{const ao=getIntegrationOrder(oo.type),so=getIntegrationOrder(io.type);return ao===so?oo.friendlyName.localeCompare(io.friendlyName):ao<so?-1:1}));this.subscribe=ue.subscribe}}const sortedIntegrations=new SortedIntegrationStore,INITIAL_FLAGS_STATE={flags:{}};class FlagsStore extends BudiStore{constructor(){super(INITIAL_FLAGS_STATE),this.fetch=this.fetch.bind(this),this.updateFlag=this.updateFlag.bind(this),this.toggleUiFeature=this.toggleUiFeature.bind(this)}async fetch(){const ue=await API.getFlags();this.update(eo=>({...eo,flags:ue}))}async updateFlag(ue,eo){await API.updateFlag(ue,eo),await this.fetch()}async toggleUiFeature(ue){await API.toggleUiFeature(ue)}}const flags=new FlagsStore;class ComponentTreeNodesStore extends BudiStore{constructor(){super({},{persistence:{type:PersistenceType.SESSION,key:"openNodes"}})}toggleNode(ue){this.update(eo=>(eo[`nodeOpen-${ue}`]=!eo[`nodeOpen-${ue}`],eo))}expandNodes(ue){this.update(eo=>{const no=Object.fromEntries(ue.map(ro=>[`nodeOpen-${ro}`,!0]));return{...eo,...no}})}collapseNodes(ue){this.update(eo=>{const no=Object.fromEntries(ue.map(ro=>[`nodeOpen-${ro}`,!1]));return{...eo,...no}})}makeNodeVisible(ue){const eo=get_store_value(selectedScreen);if(!eo)return console.error("Invalid node "+ue),{};const ro=findComponentPath(eo.props,ue).map(oo=>oo._id);this.update(oo=>{const io=Object.fromEntries(ro.map(ao=>[`nodeOpen-${ao}`,!0]));return{...oo,...io}})}isNodeExpanded(ue){return!!get_store_value(this)[`nodeOpen-${ue}`]}}const componentTreeNodesStore=new ComponentTreeNodesStore,appPublished=derived([appStore,appsStore,deploymentStore],([to,ue,eo])=>{const no=ue.apps.find(oo=>oo.devId===to.appId),ro=eo.filter(oo=>oo.status===DeploymentStatus.SUCCESS);return(no==null?void 0:no.status)==="published"&&ro.length>0}),reset=()=>{appStore.reset(),builderStore.reset(),screenStore.reset(),componentStore.reset(),layoutStore.reset(),navigationStore.reset(),rowActions.reset()},refreshBuilderData=async()=>{await Promise.all([automationStore.actions.fetch(),datasources.init(),integrations.init(),queries.init(),tables.init(),roles.fetch(),flags.fetch()])},resetBuilderHistory=()=>{screenStore.history.reset(),automationHistoryStore.reset()},initialise=async to=>{const{application:ue}=to;appStore.syncAppPackage(to),await Promise.all([appStore.syncAppRoutes(),componentStore.refreshDefinitions(ue==null?void 0:ue.appId)]),builderStore.init(ue),navigationStore.syncAppNavigation(ue==null?void 0:ue.navigation),themeStore.syncAppTheme(ue),snippets$1.syncMetadata(ue),screenStore.syncAppScreens(to),layoutStore.syncAppLayouts(to),resetBuilderHistory(),await refreshBuilderData()},API=createAPIClient({attachHeaders:to=>{let ue=get_store_value(appStore).appId;ue&&(to["x-budibase-app-id"]=ue);const eo=get_store_value(auth).user;eo!=null&&eo.csrfToken&&(to["x-csrf-token"]=eo.csrfToken)},onError:to=>{const{url:ue,message:eo,status:no,method:ro,handled:oo}=to||{};if(!oo){console.error("Unhandled error from API client",to);return}console.warn(`[Builder] HTTP ${no} on ${ro}:${ue}
|
|
521
521
|
${eo}`),no===403&&(removeCookie(Cookies.Auth),!ue.includes("self")&&!ue.includes("login")&&location.reload())},onMigrationDetected:to=>{var eo;const ue=`/builder/app/updating/${to}`;window.location.pathname!==ue&&((eo=get_store_value(navigation$1))==null||eo.goto(`${ue}?returnUrl=${encodeURIComponent(window.location.pathname)}`))}}),Logo$2="/builder/assets/bb-emblem-5d011fde.svg",handleError=to=>{let ue={...to};return Object.keys(ue).reduce((eo,no)=>(ue[no]&&(eo[no]=ue[no]),eo),{})},passwordsMatch=(to,ue)=>{let eo=ue==null?void 0:ue.trim(),no=to==null?void 0:to.trim();return typeof eo=="string"&&typeof no=="string"&&eo==no},index_svelte_svelte_type_style_lang$w="";function create_default_slot_8$F(to){let ue;return{c(){ue=text$1("Create an admin user")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_default_slot_7$Q(to){let ue;return{c(){ue=text$1("The admin user has access to everything in Budibase.")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_default_slot_6$10(to){let ue,eo,no,ro,oo,io,ao;return ro=new Heading({props:{size:"M",$$slots:{default:[create_default_slot_8$F]},$$scope:{ctx:to}}}),io=new Body({props:{$$slots:{default:[create_default_slot_7$Q]},$$scope:{ctx:to}}}),{c(){ue=element("img"),no=space$1(),create_component(ro.$$.fragment),oo=space$1(),create_component(io.$$.fragment),attr(ue,"alt","logo"),src_url_equal(ue.src,eo=Logo$2)||attr(ue,"src",eo),attr(ue,"class","svelte-1rej6a3")},m(so,lo){insert$1(so,ue,lo),insert$1(so,no,lo),mount_component(ro,so,lo),insert$1(so,oo,lo),mount_component(io,so,lo),ao=!0},p(so,lo){const co={};lo&262144&&(co.$$scope={dirty:lo,ctx:so}),ro.$set(co);const uo={};lo&262144&&(uo.$$scope={dirty:lo,ctx:so}),io.$set(uo)},i(so){ao||(transition_in(ro.$$.fragment,so),transition_in(io.$$.fragment,so),ao=!0)},o(so){transition_out(ro.$$.fragment,so),transition_out(io.$$.fragment,so),ao=!1},d(so){so&&(detach(ue),detach(no),detach(oo)),destroy_component(ro,so),destroy_component(io,so)}}}function create_default_slot_5$1i(to){let ue,eo,no,ro,oo,io;return ue=new FancyInput({props:{label:"Email",value:to[2].email,validate:to[9],disabled:to[3],error:to[1].email}}),ue.$on("change",to[10]),no=new FancyInput({props:{label:"Password",value:to[2].password,type:"password",validate:to[11],error:to[1].password,disabled:to[3]}}),no.$on("change",to[12]),oo=new FancyInput({props:{label:"Repeat Password",value:to[2].confirmationPassword,type:"password",validate:to[13],error:to[1].confirmationPassword,disabled:to[3]}}),oo.$on("change",to[14]),{c(){create_component(ue.$$.fragment),eo=space$1(),create_component(no.$$.fragment),ro=space$1(),create_component(oo.$$.fragment)},m(ao,so){mount_component(ue,ao,so),insert$1(ao,eo,so),mount_component(no,ao,so),insert$1(ao,ro,so),mount_component(oo,ao,so),io=!0},p(ao,so){const lo={};so&4&&(lo.value=ao[2].email),so&6&&(lo.validate=ao[9]),so&8&&(lo.disabled=ao[3]),so&2&&(lo.error=ao[1].email),ue.$set(lo);const co={};so&4&&(co.value=ao[2].password),so&22&&(co.validate=ao[11]),so&2&&(co.error=ao[1].password),so&8&&(co.disabled=ao[3]),no.$set(co);const uo={};so&4&&(uo.value=ao[2].confirmationPassword),so&6&&(uo.validate=ao[13]),so&2&&(uo.error=ao[1].confirmationPassword),so&8&&(uo.disabled=ao[3]),oo.$set(uo)},i(ao){io||(transition_in(ue.$$.fragment,ao),transition_in(no.$$.fragment,ao),transition_in(oo.$$.fragment,ao),io=!0)},o(ao){transition_out(ue.$$.fragment,ao),transition_out(no.$$.fragment,ao),transition_out(oo.$$.fragment,ao),io=!1},d(ao){ao&&(detach(eo),detach(ro)),destroy_component(ue,ao),destroy_component(no,ao),destroy_component(oo,ao)}}}function create_default_slot_4$1H(to){let ue,eo,no={$$slots:{default:[create_default_slot_5$1i]},$$scope:{ctx:to}};return ue=new FancyForm({props:no}),to[15](ue),{c(){create_component(ue.$$.fragment)},m(ro,oo){mount_component(ue,ro,oo),eo=!0},p(ro,oo){const io={};oo&262174&&(io.$$scope={dirty:oo,ctx:ro}),ue.$set(io)},i(ro){eo||(transition_in(ue.$$.fragment,ro),eo=!0)},o(ro){transition_out(ue.$$.fragment,ro),eo=!1},d(ro){to[15](null),destroy_component(ue,ro)}}}function create_default_slot_3$2f(to){let ue;return{c(){ue=text$1("Create super admin user")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_default_slot_2$2U(to){let ue,eo;return ue=new Button({props:{cta:!0,size:"L",disabled:Object.keys(to[1]).length>0||to[3],$$slots:{default:[create_default_slot_3$2f]},$$scope:{ctx:to}}}),ue.$on("click",to[5]),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&10&&(oo.disabled=Object.keys(no[1]).length>0||no[3]),ro&262144&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_default_slot_1$41(to){let ue,eo,no,ro,oo,io;return ue=new Layout$n({props:{justifyItems:"center",noPadding:!0,$$slots:{default:[create_default_slot_6$10]},$$scope:{ctx:to}}}),no=new Layout$n({props:{gap:"S",noPadding:!0,$$slots:{default:[create_default_slot_4$1H]},$$scope:{ctx:to}}}),oo=new Layout$n({props:{gap:"XS",noPadding:!0,justifyItems:"center",$$slots:{default:[create_default_slot_2$2U]},$$scope:{ctx:to}}}),{c(){create_component(ue.$$.fragment),eo=space$1(),create_component(no.$$.fragment),ro=space$1(),create_component(oo.$$.fragment)},m(ao,so){mount_component(ue,ao,so),insert$1(ao,eo,so),mount_component(no,ao,so),insert$1(ao,ro,so),mount_component(oo,ao,so),io=!0},p(ao,so){const lo={};so&262144&&(lo.$$scope={dirty:so,ctx:ao}),ue.$set(lo);const co={};so&262175&&(co.$$scope={dirty:so,ctx:ao}),no.$set(co);const uo={};so&262154&&(uo.$$scope={dirty:so,ctx:ao}),oo.$set(uo)},i(ao){io||(transition_in(ue.$$.fragment,ao),transition_in(no.$$.fragment,ao),transition_in(oo.$$.fragment,ao),io=!0)},o(ao){transition_out(ue.$$.fragment,ao),transition_out(no.$$.fragment,ao),transition_out(oo.$$.fragment,ao),io=!1},d(ao){ao&&(detach(eo),detach(ro)),destroy_component(ue,ao),destroy_component(no,ao),destroy_component(oo,ao)}}}function create_default_slot$5K(to){let ue,eo;return ue=new Layout$n({props:{gap:"M",noPadding:!0,$$slots:{default:[create_default_slot_1$41]},$$scope:{ctx:to}}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&262175&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_fragment$9a(to){let ue,eo,no,ro;return ue=new TestimonialPage({props:{$$slots:{default:[create_default_slot$5K]},$$scope:{ctx:to}}}),{c(){create_component(ue.$$.fragment)},m(oo,io){mount_component(ue,oo,io),eo=!0,no||(ro=listen(window,"keydown",to[6]),no=!0)},p(oo,[io]){const ao={};io&262175&&(ao.$$scope={dirty:io,ctx:oo}),ue.$set(ao)},i(oo){eo||(transition_in(ue.$$.fragment,oo),eo=!0)},o(oo){transition_out(ue.$$.fragment,oo),eo=!1},d(oo){destroy_component(ue,oo),no=!1,ro()}}}function instance$9c(to,ue,eo){let no,ro,oo,io,ao;component_subscribe(to,goto,ko=>eo(17,oo=ko)),component_subscribe(to,admin,ko=>eo(7,io=ko)),component_subscribe(to,auth,ko=>eo(8,ao=ko));let so,lo={},co={},uo=!1;async function fo(){if(so.validate(),!(Object.keys(lo).length>0)){eo(3,uo=!0);try{let ko={...co,tenantId:no};delete ko.confirmationPassword,await API.createAdminUser(ko),notifications.success("Admin user created"),await admin.init(),await auth.login(co==null?void 0:co.email.trim(),co==null?void 0:co.password),oo("../portal")}catch(ko){eo(3,uo=!1),notifications.error(ko.message||"Failed to create admin user")}}}const po=ko=>{ko.key==="Enter"&&fo()},ho=()=>{let ko={email:co.email?void 0:"Please enter a valid email"};eo(1,lo=handleError({...lo,...ko}))},_o=ko=>{eo(2,co={...co,email:ko.detail})},go=()=>{let ko={};co.password?co.password.length<ro?ko.password=`Password must be at least ${ro} characters`:ko.password=void 0:ko.password="Please enter a password",ko.confirmationPassword=!passwordsMatch(co.password,co.confirmationPassword)&&co.confirmationPassword?"Passwords must match":void 0,eo(1,lo=handleError({...lo,...ko}))},bo=ko=>{eo(2,co={...co,password:ko.detail})},vo=()=>{let ko={confirmationPassword:!passwordsMatch(co.password,co.confirmationPassword)&&co.password?"Passwords must match":void 0};eo(1,lo=handleError({...lo,...ko}))},yo=ko=>{eo(2,co={...co,confirmationPassword:ko.detail})};function wo(ko){binding_callbacks[ko?"unshift":"push"](()=>{so=ko,eo(0,so)})}return to.$$.update=()=>{to.$$.dirty&256&&(no=ao.tenantId),to.$$.dirty&128&&eo(4,ro=io.passwordMinLength??12)},[so,lo,co,uo,ro,fo,po,io,ao,ho,_o,go,bo,vo,yo,wo]}class Admin extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$9c,create_fragment$9a,safe_not_equal,{})}}function create_if_block$4b(to){let ue;const eo=to[4].default,no=create_slot(eo,to,to[3],null);return{c(){no&&no.c()},m(ro,oo){no&&no.m(ro,oo),ue=!0},p(ro,oo){no&&no.p&&(!ue||oo&8)&&update_slot_base(no,eo,ro,ro[3],ue?get_slot_changes(eo,ro[3],oo,null):get_all_dirty_from_scope(ro[3]),null)},i(ro){ue||(transition_in(no,ro),ue=!0)},o(ro){transition_out(no,ro),ue=!1},d(ro){no&&no.d(ro)}}}function create_fragment$99(to){let ue,eo,no=to[0]&&create_if_block$4b(to);return{c(){no&&no.c(),ue=empty$2()},m(ro,oo){no&&no.m(ro,oo),insert$1(ro,ue,oo),eo=!0},p(ro,[oo]){ro[0]?no?(no.p(ro,oo),oo&1&&transition_in(no,1)):(no=create_if_block$4b(ro),no.c(),transition_in(no,1),no.m(ue.parentNode,ue)):no&&(group_outros(),transition_out(no,1,1,()=>{no=null}),check_outros())},i(ro){eo||(transition_in(no),eo=!0)},o(ro){transition_out(no),eo=!1},d(ro){ro&&detach(ue),no&&no.d(ro)}}}function instance$9b(to,ue,eo){let no,ro,oo,io;component_subscribe(to,redirect,co=>eo(6,oo=co)),component_subscribe(to,admin,co=>eo(2,io=co));let{$$slots:ao={},$$scope:so}=ue,lo=!1;return onMount(()=>{var co,uo;(uo=(co=io==null?void 0:io.checklist)==null?void 0:co.adminUser)!=null&&uo.checked||ro?oo("../"):eo(0,lo=!0)}),to.$$set=co=>{"$$scope"in co&&eo(3,so=co.$$scope)},to.$$.update=()=>{to.$$.dirty&4&&eo(1,no=io.cloud),to.$$.dirty&6&&(ro=no&&!io.disableAccountPortal)},[lo,no,io,so,ao]}let Layout$m=class extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$9b,create_fragment$99,safe_not_equal,{})}};function instance$9a(to,ue,eo){let no;return component_subscribe(to,redirect,ro=>eo(0,no=ro)),no("../design"),[]}class Fallback extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$9a,null,safe_not_equal,{})}}function instance$99(to,ue,eo){let no;return component_subscribe(to,redirect,ro=>eo(0,no=ro)),no("./data"),[]}let U5Bapplicationu5D$1=class extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$99,null,safe_not_equal,{})}};function create_fragment$98(to){let ue,eo,no,ro,oo,io;return{c(){ue=svg_element("svg"),eo=svg_element("path"),no=svg_element("path"),ro=svg_element("path"),oo=svg_element("path"),io=svg_element("path"),attr(eo,"d",`M169.341 104.792C168.322 101.71 165.652 99.5637 162.199 99.0487C160.57
|
|
522
522
|
98.8061 158.706 98.9095 156.499 99.3635C152.653 100.156 149.799 100.457
|
|
@@ -885,7 +885,7 @@ and ensure you are accounting for this risk.
|
|
|
885
885
|
</svg>`,buildSectionHeader=(to,ue,eo,no)=>{const ro=document.createElement("div");return ro.classList.add("info-section"),to&&ro.classList.add(to),ro.innerHTML=`${toSpectrumIcon(eo)}<span>${ue}</span>`,{name:ue,header:()=>ro,rank:no}},helpersToCompletion=(to,ue)=>{const{type:eo,name:no,icon:ro}=SECTIONS.HB_HELPER,oo=buildSectionHeader(eo,no,ro,99);return Object.keys(to).flatMap(io=>{let ao=to[io];return{label:io,info:so=>buildHelperInfoNode(so,ao),type:"helper",section:oo,detail:"Function",apply:(so,lo,co,uo)=>{insertBinding(so,co,uo,io,ue)}}})},getHelperCompletions=to=>{const ue=getManifest();return Object.keys(ue).flatMap(eo=>helpersToCompletion(ue[eo],to))},snippetAutoComplete=to=>function(eo){if(!(to!=null&&to.length))return null;const no=eo.matchBefore(/\w*/);return!no||no.from==no.to&&!eo.explicit?null:{from:no.from,options:to.map(ro=>({label:`snippets.${ro.name}`,type:"text",simple:!0,apply:(oo,io,ao,so)=>{insertSnippet(oo,ao,so,io.label)}}))}},bindingFilter=(to,ue)=>to.filter(eo=>{const no=eo.section.name.toLowerCase(),ro=eo.label.toLowerCase(),oo=ue.toLowerCase();return no.includes(oo)||ro.includes(oo)}),hbAutocomplete=to=>{async function ue(eo){let no=eo.matchBefore(EditorModes$1.Handlebars.match),ro=to||[];if(!no)return null;const oo=no.text.match(/{{[\s]*/);if(!oo)return null;const io=no.text.replace(oo[0],"");let ao=bindingFilter(ro,io);return{from:no.from+oo[0].length,filter:!1,options:ao}}return ue},jsAutocomplete=to=>{async function ue(eo){let no=eo.matchBefore(/\$\("[\s\w]*/),ro=to||[];if(no){const oo=no.text.match(/\$\("[\s]*/);if(!oo)return null;const io=no.text.replace(oo[0],"");let ao=bindingFilter(ro,io);return{from:no.from+oo[0].length,filter:!1,options:ao}}return null}return ue},buildBindingInfoNode=(to,ue)=>{if(!ue.valueHTML||ue.value==null)return null;const eo=document.createElement("div");return eo.classList.add("info-bubble"),eo.innerHTML=`<div class="binding__example">${ue.valueHTML}</div>`,eo},hbInsert=(to,ue,eo,no)=>{let ro="";const oo=ue?to.substring(0,ue):"",io=eo?to.substring(eo):"";return!oo.includes("{{")||!io.includes("}}")?ro=`{{ ${no} }}`:ro=` ${no} `,ro};function jsInsert(to,ue,eo,no,{helper:ro,disableWrapping:oo}={}){let io="";const ao=ue?to.substring(0,ue):"",so=eo?to.substring(eo):"";return oo?io=no:ro?io=`helpers.${no}()`:!ao.includes('$("')||!so.includes('")')?io=`$("${no}")`:io=no,io}const insertBinding=(to,ue,eo,no,ro)=>{var co,uo,fo;let oo;if(ro.name=="javascript")oo=jsInsert((co=to.state.doc)==null?void 0:co.toString(),ue,eo,no);else if(ro.name=="handlebars")oo=hbInsert((uo=to.state.doc)==null?void 0:uo.toString(),ue,eo,no);else{console.warn("Unsupported");return}let io=ro.name=="javascript"?/[\s]*"\)/:/[\s]*}}/;const so=((fo=to.state.doc)==null?void 0:fo.toString().slice(eo)).match(io);let lo=ue+oo.length;so&&(lo=ue+oo.length+so[0].length),to.dispatch({changes:{from:ue,to:eo,insert:oo},selection:{anchor:lo}})},insertSnippet=(to,ue,eo,no)=>{let ro=ue+no.length;to.dispatch({changes:{from:ue,to:eo,insert:no},selection:{anchor:ro}})},bindingsToCompletions=(to,ue)=>{const eo=lodashExports.groupBy(to,"category"),no=to==null?void 0:to.reduce((oo,io)=>{var ao;return oo[io.category]=oo[io.category]||{},io.icon&&(oo[io.category].icon=oo[io.category].icon||io.icon),typeof((ao=io.display)==null?void 0:ao.rank)=="number"&&(oo[io.category].rank=oo[io.category].rank||io.display.rank),oo},{});return Object.keys(eo).reduce((oo,io)=>{const{icon:ao,rank:so}=no[io]||{},lo=buildSectionHeader(eo.type,io,ao||"",typeof so=="number"?so:1);return[...oo,...eo[io].reduce((co,uo)=>{var po,ho,_o;let fo=((po=uo.fieldSchema)==null?void 0:po.type)||((ho=uo.display)==null?void 0:ho.type);return co.push({label:((_o=uo.display)==null?void 0:_o.name)||uo.readableBinding||"NO NAME",info:go=>buildBindingInfoNode(go,uo),type:"binding",detail:fo,section:lo,apply:(go,bo,vo,yo)=>{insertBinding(go,vo,yo,uo.readableBinding,ue)}}),co},[])]},[])},CodeEditor_svelte_svelte_type_style_lang="";function create_if_block$49(to){let ue,eo,no;return eo=new Label({props:{size:"S",$$slots:{default:[create_default_slot$5H]},$$scope:{ctx:to}}}),{c(){ue=element("div"),create_component(eo.$$.fragment)},m(ro,oo){insert$1(ro,ue,oo),mount_component(eo,ue,null),no=!0},p(ro,oo){const io={};oo[0]&1|oo[1]&4&&(io.$$scope={dirty:oo,ctx:ro}),eo.$set(io)},i(ro){no||(transition_in(eo.$$.fragment,ro),no=!0)},o(ro){transition_out(eo.$$.fragment,ro),no=!1},d(ro){ro&&detach(ue),destroy_component(eo)}}}function create_default_slot$5H(to){let ue;return{c(){ue=text$1(to[0])},m(eo,no){insert$1(eo,ue,no)},p(eo,no){no[0]&1&&set_data(ue,eo[0])},d(eo){eo&&detach(ue)}}}function create_fragment$8Q(to){let ue,eo,no,ro,oo,io=to[0]&&create_if_block$49(to);return{c(){var ao;io&&io.c(),ue=space$1(),eo=element("div"),no=element("div"),attr(no,"tabindex","-1"),attr(no,"class","svelte-dqv15e"),attr(eo,"class",ro=null_to_empty(`code-editor ${((ao=to[1])==null?void 0:ao.name)||""}`)+" svelte-dqv15e")},m(ao,so){io&&io.m(ao,so),insert$1(ao,ue,so),insert$1(ao,eo,so),append$2(eo,no),to[19](no),oo=!0},p(ao,so){var lo;ao[0]?io?(io.p(ao,so),so[0]&1&&transition_in(io,1)):(io=create_if_block$49(ao),io.c(),transition_in(io,1),io.m(ue.parentNode,ue)):io&&(group_outros(),transition_out(io,1,1,()=>{io=null}),check_outros()),(!oo||so[0]&2&&ro!==(ro=null_to_empty(`code-editor ${((lo=ao[1])==null?void 0:lo.name)||""}`)+" svelte-dqv15e"))&&attr(eo,"class",ro)},i(ao){oo||(transition_in(io),oo=!0)},o(ao){transition_out(io),oo=!1},d(ao){ao&&(detach(ue),detach(eo)),io&&io.d(ao),to[19](null)}}}function instance$8Q(to,ue,eo){let no;component_subscribe(to,themeStore$1,Zo=>eo(18,no=Zo));let{label:ro=void 0}=ue,{completions:oo=[]}=ue,{mode:io=EditorModes$1.Handlebars}=ue,{value:ao=""}=ue,{placeholder:so=null}=ue,{autocompleteEnabled:lo=!0}=ue,{autofocus:co=!1}=ue,{jsBindingWrapping:uo=!0}=ue,{readonly:fo=!1}=ue,{readonlyLineNumbers:po=!1}=ue;const ho=createEventDispatcher();let _o,go,bo=!1,vo=!1,yo=!1,wo=no==null?void 0:no.theme,ko=!wo.includes("light"),So=new Compartment;const Ao=(Zo,Xo,Yo)=>{if(!Xo||!Yo){yo=!0;return}go&&Zo&&(go.state.doc.toString()!==Zo||yo)&&(go.dispatch({changes:{from:0,to:go.state.doc.length,insert:Zo}}),yo=!1)},Io=()=>{const Zo=go.state.selection.ranges[0];return{start:Zo==null?void 0:Zo.from,end:Zo==null?void 0:Zo.to}},Eo=Zo=>{go.dispatch({changes:{from:Zo.start||go.state.doc.length,to:Zo.end||go.state.doc.length,insert:Zo.value},selection:Zo.cursor?{anchor:Zo.start+Zo.value.length}:void 0})},To=new MatchDecorator({regexp:FIND_ANY_HBS_REGEX,decoration:()=>Decoration.mark({tag:"span",attributes:{class:"binding-wrap"}})}),Mo=ViewPlugin.define(Zo=>({decorations:To.createDeco(Zo),update(Xo){this.decorations=To.updateDeco(Xo,this.decorations)}}),{decorations:Zo=>Zo.decorations}),Vo=new MatchDecorator({regexp:/snippets\.[^\s(]+/g,decoration:()=>Decoration.mark({tag:"span",attributes:{class:"snippet-wrap"}})}),Fo=ViewPlugin.define(Zo=>({decorations:Vo.createDeco(Zo),update(Xo){this.decorations=Vo.updateDeco(Xo,this.decorations)}}),{decorations:Zo=>Zo.decorations}),Po={key:"Tab",run:Zo=>completionStatus(Zo.state)==="active"?(acceptCompletion(Zo),!0):(indentMore(Zo),!0),shift:Zo=>(indentLess(Zo),!0)},Ro=()=>[...closeBracketsKeymap,...defaultKeymap,...historyKeymap,...foldKeymap,...completionKeymap,Po],Do=()=>[drawSelection(),dropCursor(),bracketMatching(),closeBrackets(),syntaxHighlighting(oneDarkHighlightStyle,{fallback:!0}),highlightSpecialChars(),EditorView.lineWrapping,So.of([...ko?[oneDark]:[]])],Uo=Zo=>{let Xo=[...Zo];return lo&&(Xo.push(autocompletion({override:[...oo],closeOnBlur:!0,icons:!1,optionClass:Yo=>"simple"in Yo&&Yo.simple?"autocomplete-option-simple":"autocomplete-option"})),Xo.push(EditorView.inputHandler.of((Yo,Qo,Ko,ra)=>{if(uo&&ra==="$"){let{text:ea}=Yo.state.doc.lineAt(Qo);const ia=Qo?ea.substring(0,Qo):"",Jo=Ko?ea.substring(Ko):"",sa=!ia.includes('$("')||!Jo.includes('")'),Aa=Yo.state.update({changes:[{from:Qo,insert:sa?'$("")':"$"}],selection:{anchor:Qo+(sa?3:1)}},{scrollIntoView:!0,userEvent:"input.type"});return Yo.dispatch(Aa),!0}return!1}))),io.name==="javascript"?(Xo.push(Fo),Xo.push(javascript()),fo||Xo.push(highlightWhitespace())):Xo.push(Mo),so&&Xo.push(placeholder(so)),fo?(Xo.push(EditorState.readOnly.of(!0)),po&&Xo.push(lineNumbers())):Xo=[...Xo,history$1(),highlightActiveLine(),highlightActiveLineGutter(),lineNumbers(),foldGutter(),keymap.of(Ro()),EditorView.domEventHandlers({blur:()=>{ho("blur",go.state.doc.toString())}}),EditorView.updateListener.of(Yo=>{var Ko;const Qo=(Ko=Yo.state.doc)==null?void 0:Ko.toString();Qo!==ao&&ho("change",Qo)})],Xo},qo=()=>{const Zo=Do();eo(13,go=new EditorView({doc:ao==null?void 0:ao.toString(),extensions:Uo(Zo),parent:_o}))};onMount(async()=>{eo(14,bo=!0)}),onDestroy(()=>{go&&go.destroy()});function xo(Zo){binding_callbacks[Zo?"unshift":"push"](()=>{_o=Zo,eo(2,_o)})}return to.$$set=Zo=>{"label"in Zo&&eo(0,ro=Zo.label),"completions"in Zo&&eo(3,oo=Zo.completions),"mode"in Zo&&eo(1,io=Zo.mode),"value"in Zo&&eo(4,ao=Zo.value),"placeholder"in Zo&&eo(5,so=Zo.placeholder),"autocompleteEnabled"in Zo&&eo(6,lo=Zo.autocompleteEnabled),"autofocus"in Zo&&eo(7,co=Zo.autofocus),"jsBindingWrapping"in Zo&&eo(8,uo=Zo.jsBindingWrapping),"readonly"in Zo&&eo(9,fo=Zo.readonly),"readonlyLineNumbers"in Zo&&eo(10,po=Zo.readonlyLineNumbers)},to.$$.update=()=>{to.$$.dirty[0]&49152&&bo&&!vo&&(eo(15,vo=!0),qo()),to.$$.dirty[0]&41088&&co&&vo&&go.focus(),to.$$.dirty[0]&516096&&bo&&vo&&no!=null&&no.theme&&wo!=(no==null?void 0:no.theme)&&(eo(16,wo=no==null?void 0:no.theme),eo(17,ko=!wo.includes("light")),go.dispatch({effects:So.reconfigure([...ko?[oneDark]:[]])})),to.$$.dirty[0]&49168&&Ao(ao,vo,bo)},[ro,io,_o,oo,ao,so,lo,co,uo,fo,po,Io,Eo,go,bo,vo,wo,ko,no,xo]}class CodeEditor extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8Q,create_fragment$8Q,safe_not_equal,{label:0,completions:3,mode:1,value:4,placeholder:5,autocompleteEnabled:6,autofocus:7,jsBindingWrapping:8,readonly:9,readonlyLineNumbers:10,getCaretPosition:11,insertAtPos:12},null,[-1,-1])}get getCaretPosition(){return this.$$.ctx[11]}get insertAtPos(){return this.$$.ctx[12]}}var WeakMap$1=_WeakMap,metaMap$2=WeakMap$1&&new WeakMap$1,_metaMap=metaMap$2,identity$3=identity_1,metaMap$1=_metaMap,baseSetData$2=metaMap$1?function(to,ue){return metaMap$1.set(to,ue),to}:identity$3,_baseSetData=baseSetData$2,isObject$5=isObject_1,objectCreate=Object.create,baseCreate$4=function(){function to(){}return function(ue){if(!isObject$5(ue))return{};if(objectCreate)return objectCreate(ue);to.prototype=ue;var eo=new to;return to.prototype=void 0,eo}}(),_baseCreate=baseCreate$4,baseCreate$3=_baseCreate,isObject$4=isObject_1;function createCtor$4(to){return function(){var ue=arguments;switch(ue.length){case 0:return new to;case 1:return new to(ue[0]);case 2:return new to(ue[0],ue[1]);case 3:return new to(ue[0],ue[1],ue[2]);case 4:return new to(ue[0],ue[1],ue[2],ue[3]);case 5:return new to(ue[0],ue[1],ue[2],ue[3],ue[4]);case 6:return new to(ue[0],ue[1],ue[2],ue[3],ue[4],ue[5]);case 7:return new to(ue[0],ue[1],ue[2],ue[3],ue[4],ue[5],ue[6])}var eo=baseCreate$3(to.prototype),no=to.apply(eo,ue);return isObject$4(no)?no:eo}}var _createCtor=createCtor$4,createCtor$3=_createCtor,root$4=_root,WRAP_BIND_FLAG$6=1;function createBind$1(to,ue,eo){var no=ue&WRAP_BIND_FLAG$6,ro=createCtor$3(to);function oo(){var io=this&&this!==root$4&&this instanceof oo?ro:to;return io.apply(no?eo:this,arguments)}return oo}var _createBind=createBind$1;function apply$3(to,ue,eo){switch(eo.length){case 0:return to.call(ue);case 1:return to.call(ue,eo[0]);case 2:return to.call(ue,eo[0],eo[1]);case 3:return to.call(ue,eo[0],eo[1],eo[2])}return to.apply(ue,eo)}var _apply=apply$3,nativeMax$3=Math.max;function composeArgs$2(to,ue,eo,no){for(var ro=-1,oo=to.length,io=eo.length,ao=-1,so=ue.length,lo=nativeMax$3(oo-io,0),co=Array(so+lo),uo=!no;++ao<so;)co[ao]=ue[ao];for(;++ro<io;)(uo||ro<oo)&&(co[eo[ro]]=to[ro]);for(;lo--;)co[ao++]=to[ro++];return co}var _composeArgs=composeArgs$2,nativeMax$2=Math.max;function composeArgsRight$2(to,ue,eo,no){for(var ro=-1,oo=to.length,io=-1,ao=eo.length,so=-1,lo=ue.length,co=nativeMax$2(oo-ao,0),uo=Array(co+lo),fo=!no;++ro<co;)uo[ro]=to[ro];for(var po=ro;++so<lo;)uo[po+so]=ue[so];for(;++io<ao;)(fo||ro<oo)&&(uo[po+eo[io]]=to[ro++]);return uo}var _composeArgsRight=composeArgsRight$2;function countHolders$1(to,ue){for(var eo=to.length,no=0;eo--;)to[eo]===ue&&++no;return no}var _countHolders=countHolders$1;function baseLodash$3(){}var _baseLodash=baseLodash$3,baseCreate$2=_baseCreate,baseLodash$2=_baseLodash,MAX_ARRAY_LENGTH=4294967295;function LazyWrapper$3(to){this.__wrapped__=to,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=MAX_ARRAY_LENGTH,this.__views__=[]}LazyWrapper$3.prototype=baseCreate$2(baseLodash$2.prototype);LazyWrapper$3.prototype.constructor=LazyWrapper$3;var _LazyWrapper=LazyWrapper$3;function noop$4(){}var noop_1=noop$4,metaMap=_metaMap,noop$3=noop_1,getData$2=metaMap?function(to){return metaMap.get(to)}:noop$3,_getData=getData$2,realNames$1={},_realNames=realNames$1,realNames=_realNames,objectProto$5=Object.prototype,hasOwnProperty$5=objectProto$5.hasOwnProperty;function getFuncName$1(to){for(var ue=to.name+"",eo=realNames[ue],no=hasOwnProperty$5.call(realNames,ue)?eo.length:0;no--;){var ro=eo[no],oo=ro.func;if(oo==null||oo==to)return ro.name}return ue}var _getFuncName=getFuncName$1,baseCreate$1=_baseCreate,baseLodash$1=_baseLodash;function LodashWrapper$2(to,ue){this.__wrapped__=to,this.__actions__=[],this.__chain__=!!ue,this.__index__=0,this.__values__=void 0}LodashWrapper$2.prototype=baseCreate$1(baseLodash$1.prototype);LodashWrapper$2.prototype.constructor=LodashWrapper$2;var _LodashWrapper=LodashWrapper$2;function copyArray$4(to,ue){var eo=-1,no=to.length;for(ue||(ue=Array(no));++eo<no;)ue[eo]=to[eo];return ue}var _copyArray=copyArray$4,LazyWrapper$2=_LazyWrapper,LodashWrapper$1=_LodashWrapper,copyArray$3=_copyArray;function wrapperClone$1(to){if(to instanceof LazyWrapper$2)return to.clone();var ue=new LodashWrapper$1(to.__wrapped__,to.__chain__);return ue.__actions__=copyArray$3(to.__actions__),ue.__index__=to.__index__,ue.__values__=to.__values__,ue}var _wrapperClone=wrapperClone$1,LazyWrapper$1=_LazyWrapper,LodashWrapper=_LodashWrapper,baseLodash=_baseLodash,isArray$7=isArray_1,isObjectLike$5=isObjectLike_1,wrapperClone=_wrapperClone,objectProto$4=Object.prototype,hasOwnProperty$4=objectProto$4.hasOwnProperty;function lodash$1(to){if(isObjectLike$5(to)&&!isArray$7(to)&&!(to instanceof LazyWrapper$1)){if(to instanceof LodashWrapper)return to;if(hasOwnProperty$4.call(to,"__wrapped__"))return wrapperClone(to)}return new LodashWrapper(to)}lodash$1.prototype=baseLodash.prototype;lodash$1.prototype.constructor=lodash$1;var wrapperLodash=lodash$1,LazyWrapper=_LazyWrapper,getData$1=_getData,getFuncName=_getFuncName,lodash=wrapperLodash;function isLaziable$1(to){var ue=getFuncName(to),eo=lodash[ue];if(typeof eo!="function"||!(ue in LazyWrapper.prototype))return!1;if(to===eo)return!0;var no=getData$1(eo);return!!no&&to===no[0]}var _isLaziable=isLaziable$1,HOT_COUNT=800,HOT_SPAN=16,nativeNow=Date.now;function shortOut$2(to){var ue=0,eo=0;return function(){var no=nativeNow(),ro=HOT_SPAN-(no-eo);if(eo=no,ro>0){if(++ue>=HOT_COUNT)return arguments[0]}else ue=0;return to.apply(void 0,arguments)}}var _shortOut=shortOut$2,baseSetData$1=_baseSetData,shortOut$1=_shortOut,setData$2=shortOut$1(baseSetData$1),_setData=setData$2,reWrapDetails=/\{\n\/\* \[wrapped with (.+)\] \*/,reSplitDetails=/,? & /;function getWrapDetails$1(to){var ue=to.match(reWrapDetails);return ue?ue[1].split(reSplitDetails):[]}var _getWrapDetails=getWrapDetails$1,reWrapComment=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function insertWrapDetails$1(to,ue){var eo=ue.length;if(!eo)return to;var no=eo-1;return ue[no]=(eo>1?"& ":"")+ue[no],ue=ue.join(eo>2?", ":" "),to.replace(reWrapComment,`{
|
|
886
886
|
/* [wrapped with `+ue+`] */
|
|
887
887
|
`)}var _insertWrapDetails=insertWrapDetails$1;function constant$5(to){return function(){return to}}var constant_1=constant$5,constant$4=constant_1,defineProperty=_defineProperty$1,identity$2=identity_1,baseSetToString$1=defineProperty?function(to,ue){return defineProperty(to,"toString",{configurable:!0,enumerable:!1,value:constant$4(ue),writable:!0})}:identity$2,_baseSetToString=baseSetToString$1,baseSetToString=_baseSetToString,shortOut=_shortOut,setToString$2=shortOut(baseSetToString),_setToString=setToString$2;function arrayEach$2(to,ue){for(var eo=-1,no=to==null?0:to.length;++eo<no&&ue(to[eo],eo,to)!==!1;);return to}var _arrayEach=arrayEach$2;function baseFindIndex$1(to,ue,eo,no){for(var ro=to.length,oo=eo+(no?1:-1);no?oo--:++oo<ro;)if(ue(to[oo],oo,to))return oo;return-1}var _baseFindIndex=baseFindIndex$1;function baseIsNaN$1(to){return to!==to}var _baseIsNaN=baseIsNaN$1;function strictIndexOf$1(to,ue,eo){for(var no=eo-1,ro=to.length;++no<ro;)if(to[no]===ue)return no;return-1}var _strictIndexOf=strictIndexOf$1,baseFindIndex=_baseFindIndex,baseIsNaN=_baseIsNaN,strictIndexOf=_strictIndexOf;function baseIndexOf$1(to,ue,eo){return ue===ue?strictIndexOf(to,ue,eo):baseFindIndex(to,baseIsNaN,eo)}var _baseIndexOf=baseIndexOf$1,baseIndexOf=_baseIndexOf;function arrayIncludes$1(to,ue){var eo=to==null?0:to.length;return!!eo&&baseIndexOf(to,ue,0)>-1}var _arrayIncludes=arrayIncludes$1,arrayEach$1=_arrayEach,arrayIncludes=_arrayIncludes,WRAP_BIND_FLAG$5=1,WRAP_BIND_KEY_FLAG$4=2,WRAP_CURRY_FLAG$5=8,WRAP_CURRY_RIGHT_FLAG$2=16,WRAP_PARTIAL_FLAG$2=32,WRAP_PARTIAL_RIGHT_FLAG$2=64,WRAP_ARY_FLAG$3=128,WRAP_REARG_FLAG$2=256,WRAP_FLIP_FLAG$1=512,wrapFlags=[["ary",WRAP_ARY_FLAG$3],["bind",WRAP_BIND_FLAG$5],["bindKey",WRAP_BIND_KEY_FLAG$4],["curry",WRAP_CURRY_FLAG$5],["curryRight",WRAP_CURRY_RIGHT_FLAG$2],["flip",WRAP_FLIP_FLAG$1],["partial",WRAP_PARTIAL_FLAG$2],["partialRight",WRAP_PARTIAL_RIGHT_FLAG$2],["rearg",WRAP_REARG_FLAG$2]];function updateWrapDetails$1(to,ue){return arrayEach$1(wrapFlags,function(eo){var no="_."+eo[0];ue&eo[1]&&!arrayIncludes(to,no)&&to.push(no)}),to.sort()}var _updateWrapDetails=updateWrapDetails$1,getWrapDetails=_getWrapDetails,insertWrapDetails=_insertWrapDetails,setToString$1=_setToString,updateWrapDetails=_updateWrapDetails;function setWrapToString$2(to,ue,eo){var no=ue+"";return setToString$1(to,insertWrapDetails(no,updateWrapDetails(getWrapDetails(no),eo)))}var _setWrapToString=setWrapToString$2,isLaziable=_isLaziable,setData$1=_setData,setWrapToString$1=_setWrapToString,WRAP_BIND_FLAG$4=1,WRAP_BIND_KEY_FLAG$3=2,WRAP_CURRY_BOUND_FLAG$1=4,WRAP_CURRY_FLAG$4=8,WRAP_PARTIAL_FLAG$1=32,WRAP_PARTIAL_RIGHT_FLAG$1=64;function createRecurry$2(to,ue,eo,no,ro,oo,io,ao,so,lo){var co=ue&WRAP_CURRY_FLAG$4,uo=co?io:void 0,fo=co?void 0:io,po=co?oo:void 0,ho=co?void 0:oo;ue|=co?WRAP_PARTIAL_FLAG$1:WRAP_PARTIAL_RIGHT_FLAG$1,ue&=~(co?WRAP_PARTIAL_RIGHT_FLAG$1:WRAP_PARTIAL_FLAG$1),ue&WRAP_CURRY_BOUND_FLAG$1||(ue&=~(WRAP_BIND_FLAG$4|WRAP_BIND_KEY_FLAG$3));var _o=[to,ue,ro,po,uo,ho,fo,ao,so,lo],go=eo.apply(void 0,_o);return isLaziable(to)&&setData$1(go,_o),go.placeholder=no,setWrapToString$1(go,to,ue)}var _createRecurry=createRecurry$2;function getHolder$2(to){var ue=to;return ue.placeholder}var _getHolder=getHolder$2,copyArray$2=_copyArray,isIndex=_isIndex,nativeMin$1=Math.min;function reorder$1(to,ue){for(var eo=to.length,no=nativeMin$1(ue.length,eo),ro=copyArray$2(to);no--;){var oo=ue[no];to[no]=isIndex(oo,eo)?ro[oo]:void 0}return to}var _reorder=reorder$1,PLACEHOLDER$1="__lodash_placeholder__";function replaceHolders$3(to,ue){for(var eo=-1,no=to.length,ro=0,oo=[];++eo<no;){var io=to[eo];(io===ue||io===PLACEHOLDER$1)&&(to[eo]=PLACEHOLDER$1,oo[ro++]=eo)}return oo}var _replaceHolders=replaceHolders$3,composeArgs$1=_composeArgs,composeArgsRight$1=_composeArgsRight,countHolders=_countHolders,createCtor$2=_createCtor,createRecurry$1=_createRecurry,getHolder$1=_getHolder,reorder=_reorder,replaceHolders$2=_replaceHolders,root$3=_root,WRAP_BIND_FLAG$3=1,WRAP_BIND_KEY_FLAG$2=2,WRAP_CURRY_FLAG$3=8,WRAP_CURRY_RIGHT_FLAG$1=16,WRAP_ARY_FLAG$2=128,WRAP_FLIP_FLAG=512;function createHybrid$2(to,ue,eo,no,ro,oo,io,ao,so,lo){var co=ue&WRAP_ARY_FLAG$2,uo=ue&WRAP_BIND_FLAG$3,fo=ue&WRAP_BIND_KEY_FLAG$2,po=ue&(WRAP_CURRY_FLAG$3|WRAP_CURRY_RIGHT_FLAG$1),ho=ue&WRAP_FLIP_FLAG,_o=fo?void 0:createCtor$2(to);function go(){for(var bo=arguments.length,vo=Array(bo),yo=bo;yo--;)vo[yo]=arguments[yo];if(po)var wo=getHolder$1(go),ko=countHolders(vo,wo);if(no&&(vo=composeArgs$1(vo,no,ro,po)),oo&&(vo=composeArgsRight$1(vo,oo,io,po)),bo-=ko,po&&bo<lo){var So=replaceHolders$2(vo,wo);return createRecurry$1(to,ue,createHybrid$2,go.placeholder,eo,vo,So,ao,so,lo-bo)}var Ao=uo?eo:this,Io=fo?Ao[to]:to;return bo=vo.length,ao?vo=reorder(vo,ao):ho&&bo>1&&vo.reverse(),co&&so<bo&&(vo.length=so),this&&this!==root$3&&this instanceof go&&(Io=_o||createCtor$2(Io)),Io.apply(Ao,vo)}return go}var _createHybrid=createHybrid$2,apply$2=_apply,createCtor$1=_createCtor,createHybrid$1=_createHybrid,createRecurry=_createRecurry,getHolder=_getHolder,replaceHolders$1=_replaceHolders,root$2=_root;function createCurry$1(to,ue,eo){var no=createCtor$1(to);function ro(){for(var oo=arguments.length,io=Array(oo),ao=oo,so=getHolder(ro);ao--;)io[ao]=arguments[ao];var lo=oo<3&&io[0]!==so&&io[oo-1]!==so?[]:replaceHolders$1(io,so);if(oo-=lo.length,oo<eo)return createRecurry(to,ue,createHybrid$1,ro.placeholder,void 0,io,lo,void 0,void 0,eo-oo);var co=this&&this!==root$2&&this instanceof ro?no:to;return apply$2(co,this,io)}return ro}var _createCurry=createCurry$1,apply$1=_apply,createCtor=_createCtor,root$1=_root,WRAP_BIND_FLAG$2=1;function createPartial$1(to,ue,eo,no){var ro=ue&WRAP_BIND_FLAG$2,oo=createCtor(to);function io(){for(var ao=-1,so=arguments.length,lo=-1,co=no.length,uo=Array(co+so),fo=this&&this!==root$1&&this instanceof io?oo:to;++lo<co;)uo[lo]=no[lo];for(;so--;)uo[lo++]=arguments[++ao];return apply$1(fo,ro?eo:this,uo)}return io}var _createPartial=createPartial$1,composeArgs=_composeArgs,composeArgsRight=_composeArgsRight,replaceHolders=_replaceHolders,PLACEHOLDER="__lodash_placeholder__",WRAP_BIND_FLAG$1=1,WRAP_BIND_KEY_FLAG$1=2,WRAP_CURRY_BOUND_FLAG=4,WRAP_CURRY_FLAG$2=8,WRAP_ARY_FLAG$1=128,WRAP_REARG_FLAG$1=256,nativeMin=Math.min;function mergeData$1(to,ue){var eo=to[1],no=ue[1],ro=eo|no,oo=ro<(WRAP_BIND_FLAG$1|WRAP_BIND_KEY_FLAG$1|WRAP_ARY_FLAG$1),io=no==WRAP_ARY_FLAG$1&&eo==WRAP_CURRY_FLAG$2||no==WRAP_ARY_FLAG$1&&eo==WRAP_REARG_FLAG$1&&to[7].length<=ue[8]||no==(WRAP_ARY_FLAG$1|WRAP_REARG_FLAG$1)&&ue[7].length<=ue[8]&&eo==WRAP_CURRY_FLAG$2;if(!(oo||io))return to;no&WRAP_BIND_FLAG$1&&(to[2]=ue[2],ro|=eo&WRAP_BIND_FLAG$1?0:WRAP_CURRY_BOUND_FLAG);var ao=ue[3];if(ao){var so=to[3];to[3]=so?composeArgs(so,ao,ue[4]):ao,to[4]=so?replaceHolders(to[3],PLACEHOLDER):ue[4]}return ao=ue[5],ao&&(so=to[5],to[5]=so?composeArgsRight(so,ao,ue[6]):ao,to[6]=so?replaceHolders(to[5],PLACEHOLDER):ue[6]),ao=ue[7],ao&&(to[7]=ao),no&WRAP_ARY_FLAG$1&&(to[8]=to[8]==null?ue[8]:nativeMin(to[8],ue[8])),to[9]==null&&(to[9]=ue[9]),to[0]=ue[0],to[1]=ro,to}var _mergeData=mergeData$1,reWhitespace=/\s/;function trimmedEndIndex$1(to){for(var ue=to.length;ue--&&reWhitespace.test(to.charAt(ue)););return ue}var _trimmedEndIndex=trimmedEndIndex$1,trimmedEndIndex=_trimmedEndIndex,reTrimStart=/^\s+/;function baseTrim$1(to){return to&&to.slice(0,trimmedEndIndex(to)+1).replace(reTrimStart,"")}var _baseTrim=baseTrim$1,baseTrim=_baseTrim,isObject$3=isObject_1,isSymbol$2=isSymbol_1,NAN=0/0,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;function toNumber$1(to){if(typeof to=="number")return to;if(isSymbol$2(to))return NAN;if(isObject$3(to)){var ue=typeof to.valueOf=="function"?to.valueOf():to;to=isObject$3(ue)?ue+"":ue}if(typeof to!="string")return to===0?to:+to;to=baseTrim(to);var eo=reIsBinary.test(to);return eo||reIsOctal.test(to)?freeParseInt(to.slice(2),eo?2:8):reIsBadHex.test(to)?NAN:+to}var toNumber_1=toNumber$1,toNumber=toNumber_1,INFINITY=1/0,MAX_INTEGER=17976931348623157e292;function toFinite$1(to){if(!to)return to===0?to:0;if(to=toNumber(to),to===INFINITY||to===-INFINITY){var ue=to<0?-1:1;return ue*MAX_INTEGER}return to===to?to:0}var toFinite_1=toFinite$1,toFinite=toFinite_1;function toInteger$1(to){var ue=toFinite(to),eo=ue%1;return ue===ue?eo?ue-eo:ue:0}var toInteger_1=toInteger$1,baseSetData=_baseSetData,createBind=_createBind,createCurry=_createCurry,createHybrid=_createHybrid,createPartial=_createPartial,getData=_getData,mergeData=_mergeData,setData=_setData,setWrapToString=_setWrapToString,toInteger=toInteger_1,FUNC_ERROR_TEXT="Expected a function",WRAP_BIND_FLAG=1,WRAP_BIND_KEY_FLAG=2,WRAP_CURRY_FLAG$1=8,WRAP_CURRY_RIGHT_FLAG=16,WRAP_PARTIAL_FLAG=32,WRAP_PARTIAL_RIGHT_FLAG=64,nativeMax$1=Math.max;function createWrap$3(to,ue,eo,no,ro,oo,io,ao){var so=ue&WRAP_BIND_KEY_FLAG;if(!so&&typeof to!="function")throw new TypeError(FUNC_ERROR_TEXT);var lo=no?no.length:0;if(lo||(ue&=~(WRAP_PARTIAL_FLAG|WRAP_PARTIAL_RIGHT_FLAG),no=ro=void 0),io=io===void 0?io:nativeMax$1(toInteger(io),0),ao=ao===void 0?ao:toInteger(ao),lo-=ro?ro.length:0,ue&WRAP_PARTIAL_RIGHT_FLAG){var co=no,uo=ro;no=ro=void 0}var fo=so?void 0:getData(to),po=[to,ue,eo,no,ro,co,uo,oo,io,ao];if(fo&&mergeData(po,fo),to=po[0],ue=po[1],eo=po[2],no=po[3],ro=po[4],ao=po[9]=po[9]===void 0?so?0:to.length:nativeMax$1(po[9]-lo,0),!ao&&ue&(WRAP_CURRY_FLAG$1|WRAP_CURRY_RIGHT_FLAG)&&(ue&=~(WRAP_CURRY_FLAG$1|WRAP_CURRY_RIGHT_FLAG)),!ue||ue==WRAP_BIND_FLAG)var ho=createBind(to,ue,eo);else ue==WRAP_CURRY_FLAG$1||ue==WRAP_CURRY_RIGHT_FLAG?ho=createCurry(to,ue,ao):(ue==WRAP_PARTIAL_FLAG||ue==(WRAP_BIND_FLAG|WRAP_PARTIAL_FLAG))&&!ro.length?ho=createPartial(to,ue,eo,no):ho=createHybrid.apply(void 0,po);var _o=fo?baseSetData:setData;return setWrapToString(_o(ho,po),to,ue)}var _createWrap=createWrap$3,createWrap$2=_createWrap,WRAP_ARY_FLAG=128;function ary(to,ue,eo){return ue=eo?void 0:ue,ue=to&&ue==null?to.length:ue,createWrap$2(to,WRAP_ARY_FLAG,void 0,void 0,void 0,void 0,ue)}var ary_1=ary,baseAssignValue$1=_baseAssignValue,eq=eq_1,objectProto$3=Object.prototype,hasOwnProperty$3=objectProto$3.hasOwnProperty;function assignValue$2(to,ue,eo){var no=to[ue];(!(hasOwnProperty$3.call(to,ue)&&eq(no,eo))||eo===void 0&&!(ue in to))&&baseAssignValue$1(to,ue,eo)}var _assignValue=assignValue$2,assignValue$1=_assignValue,baseAssignValue=_baseAssignValue;function copyObject$4(to,ue,eo,no){var ro=!eo;eo||(eo={});for(var oo=-1,io=ue.length;++oo<io;){var ao=ue[oo],so=no?no(eo[ao],to[ao],ao,eo,to):void 0;so===void 0&&(so=to[ao]),ro?baseAssignValue(eo,ao,so):assignValue$1(eo,ao,so)}return eo}var _copyObject=copyObject$4,copyObject$3=_copyObject,keys$1=keys_1;function baseAssign$1(to,ue){return to&©Object$3(ue,keys$1(ue),to)}var _baseAssign=baseAssign$1;function nativeKeysIn$1(to){var ue=[];if(to!=null)for(var eo in Object(to))ue.push(eo);return ue}var _nativeKeysIn=nativeKeysIn$1,isObject$2=isObject_1,isPrototype$1=_isPrototype,nativeKeysIn=_nativeKeysIn,objectProto$2=Object.prototype,hasOwnProperty$2=objectProto$2.hasOwnProperty;function baseKeysIn$1(to){if(!isObject$2(to))return nativeKeysIn(to);var ue=isPrototype$1(to),eo=[];for(var no in to)no=="constructor"&&(ue||!hasOwnProperty$2.call(to,no))||eo.push(no);return eo}var _baseKeysIn=baseKeysIn$1,arrayLikeKeys=_arrayLikeKeys,baseKeysIn=_baseKeysIn,isArrayLike=isArrayLike_1;function keysIn$3(to){return isArrayLike(to)?arrayLikeKeys(to,!0):baseKeysIn(to)}var keysIn_1=keysIn$3,copyObject$2=_copyObject,keysIn$2=keysIn_1;function baseAssignIn$1(to,ue){return to&©Object$2(ue,keysIn$2(ue),to)}var _baseAssignIn=baseAssignIn$1,_cloneBuffer={exports:{}};_cloneBuffer.exports;(function(to,ue){var eo=_root,no=ue&&!ue.nodeType&&ue,ro=no&&!0&&to&&!to.nodeType&&to,oo=ro&&ro.exports===no,io=oo?eo.Buffer:void 0,ao=io?io.allocUnsafe:void 0;function so(lo,co){if(co)return lo.slice();var uo=lo.length,fo=ao?ao(uo):new lo.constructor(uo);return lo.copy(fo),fo}to.exports=so})(_cloneBuffer,_cloneBuffer.exports);var _cloneBufferExports=_cloneBuffer.exports,copyObject$1=_copyObject,getSymbols$1=_getSymbols;function copySymbols$1(to,ue){return copyObject$1(to,getSymbols$1(to),ue)}var _copySymbols=copySymbols$1,overArg=_overArg,getPrototype$3=overArg(Object.getPrototypeOf,Object),_getPrototype=getPrototype$3,arrayPush$1=_arrayPush,getPrototype$2=_getPrototype,getSymbols=_getSymbols,stubArray=stubArray_1,nativeGetSymbols=Object.getOwnPropertySymbols,getSymbolsIn$2=nativeGetSymbols?function(to){for(var ue=[];to;)arrayPush$1(ue,getSymbols(to)),to=getPrototype$2(to);return ue}:stubArray,_getSymbolsIn=getSymbolsIn$2,copyObject=_copyObject,getSymbolsIn$1=_getSymbolsIn;function copySymbolsIn$1(to,ue){return copyObject(to,getSymbolsIn$1(to),ue)}var _copySymbolsIn=copySymbolsIn$1,baseGetAllKeys=_baseGetAllKeys,getSymbolsIn=_getSymbolsIn,keysIn$1=keysIn_1;function getAllKeysIn$1(to){return baseGetAllKeys(to,keysIn$1,getSymbolsIn)}var _getAllKeysIn=getAllKeysIn$1,objectProto$1=Object.prototype,hasOwnProperty$1=objectProto$1.hasOwnProperty;function initCloneArray$1(to){var ue=to.length,eo=new to.constructor(ue);return ue&&typeof to[0]=="string"&&hasOwnProperty$1.call(to,"index")&&(eo.index=to.index,eo.input=to.input),eo}var _initCloneArray=initCloneArray$1,Uint8Array$1=_Uint8Array;function cloneArrayBuffer$3(to){var ue=new to.constructor(to.byteLength);return new Uint8Array$1(ue).set(new Uint8Array$1(to)),ue}var _cloneArrayBuffer=cloneArrayBuffer$3,cloneArrayBuffer$2=_cloneArrayBuffer;function cloneDataView$1(to,ue){var eo=ue?cloneArrayBuffer$2(to.buffer):to.buffer;return new to.constructor(eo,to.byteOffset,to.byteLength)}var _cloneDataView=cloneDataView$1,reFlags=/\w*$/;function cloneRegExp$1(to){var ue=new to.constructor(to.source,reFlags.exec(to));return ue.lastIndex=to.lastIndex,ue}var _cloneRegExp=cloneRegExp$1,Symbol$2=_Symbol,symbolProto=Symbol$2?Symbol$2.prototype:void 0,symbolValueOf=symbolProto?symbolProto.valueOf:void 0;function cloneSymbol$1(to){return symbolValueOf?Object(symbolValueOf.call(to)):{}}var _cloneSymbol=cloneSymbol$1,cloneArrayBuffer$1=_cloneArrayBuffer;function cloneTypedArray$1(to,ue){var eo=ue?cloneArrayBuffer$1(to.buffer):to.buffer;return new to.constructor(eo,to.byteOffset,to.length)}var _cloneTypedArray=cloneTypedArray$1,cloneArrayBuffer=_cloneArrayBuffer,cloneDataView=_cloneDataView,cloneRegExp=_cloneRegExp,cloneSymbol=_cloneSymbol,cloneTypedArray=_cloneTypedArray,boolTag$1="[object Boolean]",dateTag$1="[object Date]",mapTag$2="[object Map]",numberTag$1="[object Number]",regexpTag$1="[object RegExp]",setTag$2="[object Set]",stringTag$1="[object String]",symbolTag$1="[object Symbol]",arrayBufferTag$1="[object ArrayBuffer]",dataViewTag$1="[object DataView]",float32Tag$1="[object Float32Array]",float64Tag$1="[object Float64Array]",int8Tag$1="[object Int8Array]",int16Tag$1="[object Int16Array]",int32Tag$1="[object Int32Array]",uint8Tag$1="[object Uint8Array]",uint8ClampedTag$1="[object Uint8ClampedArray]",uint16Tag$1="[object Uint16Array]",uint32Tag$1="[object Uint32Array]";function initCloneByTag$1(to,ue,eo){var no=to.constructor;switch(ue){case arrayBufferTag$1:return cloneArrayBuffer(to);case boolTag$1:case dateTag$1:return new no(+to);case dataViewTag$1:return cloneDataView(to,eo);case float32Tag$1:case float64Tag$1:case int8Tag$1:case int16Tag$1:case int32Tag$1:case uint8Tag$1:case uint8ClampedTag$1:case uint16Tag$1:case uint32Tag$1:return cloneTypedArray(to,eo);case mapTag$2:return new no;case numberTag$1:case stringTag$1:return new no(to);case regexpTag$1:return cloneRegExp(to);case setTag$2:return new no;case symbolTag$1:return cloneSymbol(to)}}var _initCloneByTag=initCloneByTag$1,baseCreate=_baseCreate,getPrototype$1=_getPrototype,isPrototype=_isPrototype;function initCloneObject$1(to){return typeof to.constructor=="function"&&!isPrototype(to)?baseCreate(getPrototype$1(to)):{}}var _initCloneObject=initCloneObject$1,getTag$3=_getTag,isObjectLike$4=isObjectLike_1,mapTag$1="[object Map]";function baseIsMap$1(to){return isObjectLike$4(to)&&getTag$3(to)==mapTag$1}var _baseIsMap=baseIsMap$1,baseIsMap=_baseIsMap,baseUnary$1=_baseUnary,nodeUtil$1=_nodeUtilExports,nodeIsMap=nodeUtil$1&&nodeUtil$1.isMap,isMap$2=nodeIsMap?baseUnary$1(nodeIsMap):baseIsMap,isMap_1=isMap$2,getTag$2=_getTag,isObjectLike$3=isObjectLike_1,setTag$1="[object Set]";function baseIsSet$1(to){return isObjectLike$3(to)&&getTag$2(to)==setTag$1}var _baseIsSet=baseIsSet$1,baseIsSet=_baseIsSet,baseUnary=_baseUnary,nodeUtil=_nodeUtilExports,nodeIsSet=nodeUtil&&nodeUtil.isSet,isSet$2=nodeIsSet?baseUnary(nodeIsSet):baseIsSet,isSet_1=isSet$2,Stack=_Stack,arrayEach=_arrayEach,assignValue=_assignValue,baseAssign=_baseAssign,baseAssignIn=_baseAssignIn,cloneBuffer=_cloneBufferExports,copyArray$1=_copyArray,copySymbols=_copySymbols,copySymbolsIn=_copySymbolsIn,getAllKeys=_getAllKeys,getAllKeysIn=_getAllKeysIn,getTag$1=_getTag,initCloneArray=_initCloneArray,initCloneByTag=_initCloneByTag,initCloneObject=_initCloneObject,isArray$6=isArray_1,isBuffer$1=isBufferExports,isMap$1=isMap_1,isObject$1=isObject_1,isSet$1=isSet_1,keys=keys_1,keysIn=keysIn_1,CLONE_DEEP_FLAG$1=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG$1=4,argsTag="[object Arguments]",arrayTag="[object Array]",boolTag="[object Boolean]",dateTag="[object Date]",errorTag$1="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag="[object Map]",numberTag="[object Number]",objectTag$1="[object Object]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",weakMapTag$1="[object WeakMap]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[dataViewTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag]=cloneableTags[numberTag]=cloneableTags[objectTag$1]=cloneableTags[regexpTag]=cloneableTags[setTag]=cloneableTags[stringTag]=cloneableTags[symbolTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0;cloneableTags[errorTag$1]=cloneableTags[funcTag]=cloneableTags[weakMapTag$1]=!1;function baseClone$2(to,ue,eo,no,ro,oo){var io,ao=ue&CLONE_DEEP_FLAG$1,so=ue&CLONE_FLAT_FLAG,lo=ue&CLONE_SYMBOLS_FLAG$1;if(eo&&(io=ro?eo(to,no,ro,oo):eo(to)),io!==void 0)return io;if(!isObject$1(to))return to;var co=isArray$6(to);if(co){if(io=initCloneArray(to),!ao)return copyArray$1(to,io)}else{var uo=getTag$1(to),fo=uo==funcTag||uo==genTag;if(isBuffer$1(to))return cloneBuffer(to,ao);if(uo==objectTag$1||uo==argsTag||fo&&!ro){if(io=so||fo?{}:initCloneObject(to),!ao)return so?copySymbolsIn(to,baseAssignIn(io,to)):copySymbols(to,baseAssign(io,to))}else{if(!cloneableTags[uo])return ro?to:{};io=initCloneByTag(to,uo,ao)}}oo||(oo=new Stack);var po=oo.get(to);if(po)return po;oo.set(to,io),isSet$1(to)?to.forEach(function(go){io.add(baseClone$2(go,ue,eo,go,to,oo))}):isMap$1(to)&&to.forEach(function(go,bo){io.set(bo,baseClone$2(go,ue,eo,bo,to,oo))});var ho=lo?so?getAllKeysIn:getAllKeys:so?keysIn:keys,_o=co?void 0:ho(to);return arrayEach(_o||to,function(go,bo){_o&&(bo=go,go=to[bo]),assignValue(io,bo,baseClone$2(go,ue,eo,bo,to,oo))}),io}var _baseClone=baseClone$2,baseClone$1=_baseClone,CLONE_SYMBOLS_FLAG=4;function clone(to){return baseClone$1(to,CLONE_SYMBOLS_FLAG)}var clone_1=clone,createWrap$1=_createWrap,WRAP_CURRY_FLAG=8;function curry(to,ue,eo){ue=eo?void 0:ue;var no=createWrap$1(to,WRAP_CURRY_FLAG,void 0,void 0,void 0,void 0,void 0,ue);return no.placeholder=curry.placeholder,no}curry.placeholder={};var curry_1=curry,baseGetTag$1=_baseGetTag,getPrototype=_getPrototype,isObjectLike$2=isObjectLike_1,objectTag="[object Object]",funcProto=Function.prototype,objectProto=Object.prototype,funcToString=funcProto.toString,hasOwnProperty=objectProto.hasOwnProperty,objectCtorString=funcToString.call(Object);function isPlainObject$1(to){if(!isObjectLike$2(to)||baseGetTag$1(to)!=objectTag)return!1;var ue=getPrototype(to);if(ue===null)return!0;var eo=hasOwnProperty.call(ue,"constructor")&&ue.constructor;return typeof eo=="function"&&eo instanceof eo&&funcToString.call(eo)==objectCtorString}var isPlainObject_1=isPlainObject$1,baseGetTag=_baseGetTag,isObjectLike$1=isObjectLike_1,isPlainObject=isPlainObject_1,domExcTag="[object DOMException]",errorTag="[object Error]";function isError$1(to){if(!isObjectLike$1(to))return!1;var ue=baseGetTag(to);return ue==errorTag||ue==domExcTag||typeof to.message=="string"&&typeof to.name=="string"&&!isPlainObject(to)}var isError_1=isError$1,getTag=_getTag,isObjectLike=isObjectLike_1,weakMapTag="[object WeakMap]";function isWeakMap$1(to){return isObjectLike(to)&&getTag(to)==weakMapTag}var isWeakMap_1=isWeakMap$1,baseClone=_baseClone,baseIteratee=_baseIteratee,CLONE_DEEP_FLAG=1;function iteratee(to){return baseIteratee(typeof to=="function"?to:baseClone(to,CLONE_DEEP_FLAG))}var iteratee_1=iteratee,Symbol$1=_Symbol,isArguments=isArguments_1,isArray$5=isArray_1,spreadableSymbol=Symbol$1?Symbol$1.isConcatSpreadable:void 0;function isFlattenable$1(to){return isArray$5(to)||isArguments(to)||!!(spreadableSymbol&&to&&to[spreadableSymbol])}var _isFlattenable=isFlattenable$1,arrayPush=_arrayPush,isFlattenable=_isFlattenable;function baseFlatten$1(to,ue,eo,no,ro){var oo=-1,io=to.length;for(eo||(eo=isFlattenable),ro||(ro=[]);++oo<io;){var ao=to[oo];ue>0&&eo(ao)?ue>1?baseFlatten$1(ao,ue-1,eo,no,ro):arrayPush(ro,ao):no||(ro[ro.length]=ao)}return ro}var _baseFlatten=baseFlatten$1,baseFlatten=_baseFlatten;function flatten$1(to){var ue=to==null?0:to.length;return ue?baseFlatten(to,1):[]}var flatten_1=flatten$1,apply=_apply,nativeMax=Math.max;function overRest$1(to,ue,eo){return ue=nativeMax(ue===void 0?to.length-1:ue,0),function(){for(var no=arguments,ro=-1,oo=nativeMax(no.length-ue,0),io=Array(oo);++ro<oo;)io[ro]=no[ue+ro];ro=-1;for(var ao=Array(ue+1);++ro<ue;)ao[ro]=no[ro];return ao[ue]=eo(io),apply(to,this,ao)}}var _overRest=overRest$1,flatten=flatten_1,overRest=_overRest,setToString=_setToString;function flatRest$1(to){return setToString(overRest(to,void 0,flatten),to+"")}var _flatRest=flatRest$1,createWrap=_createWrap,flatRest=_flatRest,WRAP_REARG_FLAG=256,rearg=flatRest(function(to,ue){return createWrap(to,WRAP_REARG_FLAG,void 0,void 0,void 0,ue)}),rearg_1=rearg,arrayMap=_arrayMap,copyArray=_copyArray,isArray$4=isArray_1,isSymbol$1=isSymbol_1,stringToPath$1=_stringToPath,toKey=_toKey,toString$3=toString_1;function toPath(to){return isArray$4(to)?arrayMap(to,toKey):isSymbol$1(to)?[to]:copyArray(stringToPath$1(toString$3(to)))}var toPath_1=toPath,_util={ary:ary_1,assign:_baseAssign,clone:clone_1,curry:curry_1,forEach:_arrayEach,isArray:isArray_1,isError:isError_1,isFunction:isFunction_1,isWeakMap:isWeakMap_1,iteratee:iteratee_1,keys:_baseKeys,rearg:rearg_1,toInteger:toInteger_1,toPath:toPath_1},baseConvert=_baseConvert$1,util$e=_util;function convert$1(to,ue,eo){return baseConvert(util$e,to,ue,eo)}var convert_1=convert$1,_arrayAggregator,hasRequired_arrayAggregator;function require_arrayAggregator(){if(hasRequired_arrayAggregator)return _arrayAggregator;hasRequired_arrayAggregator=1;function to(ue,eo,no,ro){for(var oo=-1,io=ue==null?0:ue.length;++oo<io;){var ao=ue[oo];eo(ro,ao,no(ao),ue)}return ro}return _arrayAggregator=to,_arrayAggregator}var _createBaseEach,hasRequired_createBaseEach;function require_createBaseEach(){if(hasRequired_createBaseEach)return _createBaseEach;hasRequired_createBaseEach=1;var to=isArrayLike_1;function ue(eo,no){return function(ro,oo){if(ro==null)return ro;if(!to(ro))return eo(ro,oo);for(var io=ro.length,ao=no?io:-1,so=Object(ro);(no?ao--:++ao<io)&&oo(so[ao],ao,so)!==!1;);return ro}}return _createBaseEach=ue,_createBaseEach}var _baseEach,hasRequired_baseEach;function require_baseEach(){if(hasRequired_baseEach)return _baseEach;hasRequired_baseEach=1;var to=_baseForOwn,ue=require_createBaseEach(),eo=ue(to);return _baseEach=eo,_baseEach}var _baseAggregator,hasRequired_baseAggregator;function require_baseAggregator(){if(hasRequired_baseAggregator)return _baseAggregator;hasRequired_baseAggregator=1;var to=require_baseEach();function ue(eo,no,ro,oo){return to(eo,function(io,ao,so){no(oo,io,ro(io),so)}),oo}return _baseAggregator=ue,_baseAggregator}var _createAggregator,hasRequired_createAggregator;function require_createAggregator(){if(hasRequired_createAggregator)return _createAggregator;hasRequired_createAggregator=1;var to=require_arrayAggregator(),ue=require_baseAggregator(),eo=_baseIteratee,no=isArray_1;function ro(oo,io){return function(ao,so){var lo=no(ao)?to:ue,co=io?io():{};return lo(ao,oo,eo(so),co)}}return _createAggregator=ro,_createAggregator}var groupBy_1,hasRequiredGroupBy;function requireGroupBy(){if(hasRequiredGroupBy)return groupBy_1;hasRequiredGroupBy=1;var to=_baseAssignValue,ue=require_createAggregator(),eo=Object.prototype,no=eo.hasOwnProperty,ro=ue(function(oo,io,ao){no.call(oo,ao)?oo[ao].push(io):to(oo,ao,[io])});return groupBy_1=ro,groupBy_1}var convert=convert_1,func$K=convert("groupBy",requireGroupBy());func$K.placeholder=placeholder$3;var groupBy=func$K;const groupBy$1=getDefaultExportFromCjs$1(groupBy);function handlebarsCompletions(){const to=getManifest();return Object.keys(to).flatMap(ue=>Object.entries(to[ue]).map(([eo,no])=>({text:eo,path:eo,example:no.example,label:eo,displayText:eo,description:no.description,allowsJs:!no.requiresBlock&&!helpersToRemoveForJs.includes(eo)})))}const BindingSidePanel_svelte_svelte_type_style_lang="";function get_each_context$1I(to,ue,eo){const no=to.slice();return no[37]=ue[eo],no}function get_each_context_1$s(to,ue,eo){const no=to.slice();return no[40]=ue[eo],no}function get_each_context_2$8(to,ue,eo){const no=to.slice();return no[43]=ue[eo],no}function get_each_context_3(to,ue,eo){const no=to.slice();return no[46]=ue[eo],no}function create_if_block_13$2(to){let ue,eo=to[8].description+"";return{c(){ue=element("div")},m(no,ro){insert$1(no,ue,ro),ue.innerHTML=eo},p(no,ro){ro[0]&256&&eo!==(eo=no[8].description+"")&&(ue.innerHTML=eo)},d(no){no&&detach(ue)}}}function create_if_block_12$2(to){let ue,eo=to[8].code+"";return{c(){ue=element("pre"),attr(ue,"class","svelte-jofp16")},m(no,ro){insert$1(no,ue,ro),ue.innerHTML=eo},p(no,ro){ro[0]&256&&eo!==(eo=no[8].code+"")&&(ue.innerHTML=eo)},d(no){no&&detach(ue)}}}function create_default_slot_1$3_(to){let ue,eo,no=to[8].description&&create_if_block_13$2(to),ro=to[8].code&&create_if_block_12$2(to);return{c(){ue=element("div"),no&&no.c(),eo=space$1(),ro&&ro.c(),attr(ue,"class","binding-popover svelte-jofp16"),toggle_class(ue,"helper",to[8].helper)},m(oo,io){insert$1(oo,ue,io),no&&no.m(ue,null),append$2(ue,eo),ro&&ro.m(ue,null)},p(oo,io){oo[8].description?no?no.p(oo,io):(no=create_if_block_13$2(oo),no.c(),no.m(ue,eo)):no&&(no.d(1),no=null),oo[8].code?ro?ro.p(oo,io):(ro=create_if_block_12$2(oo),ro.c(),ro.m(ue,null)):ro&&(ro.d(1),ro=null),io[0]&256&&toggle_class(ue,"helper",oo[8].helper)},d(oo){oo&&detach(ue),no&&no.d(),ro&&ro.d()}}}function create_if_block_11$4(to){let ue,eo,no,ro,oo;return eo=new Icon({props:{name:"BackAndroid",hoverable:!0,size:"S"}}),eo.$on("click",to[26]),{c(){ue=element("div"),create_component(eo.$$.fragment),no=space$1(),ro=text$1(to[4]),attr(ue,"class","header svelte-jofp16")},m(io,ao){insert$1(io,ue,ao),mount_component(eo,ue,null),append$2(ue,no),append$2(ue,ro),oo=!0},p(io,ao){(!oo||ao[0]&16)&&set_data(ro,io[4])},i(io){oo||(transition_in(eo.$$.fragment,io),oo=!0)},o(io){transition_out(eo.$$.fragment,io),oo=!1},d(io){io&&detach(ue),destroy_component(eo)}}}function create_if_block_9$d(to){let ue,eo,no,ro;const oo=[create_if_block_10$7,create_else_block_1$p],io=[];function ao(so,lo){return so[5]?0:1}return eo=ao(to),no=io[eo]=oo[eo](to),{c(){ue=element("div"),no.c(),attr(ue,"class","header svelte-jofp16")},m(so,lo){insert$1(so,ue,lo),io[eo].m(ue,null),ro=!0},p(so,lo){let co=eo;eo=ao(so),eo===co?io[eo].p(so,lo):(group_outros(),transition_out(io[co],1,1,()=>{io[co]=null}),check_outros(),no=io[eo],no?no.p(so,lo):(no=io[eo]=oo[eo](so),no.c()),transition_in(no,1),no.m(ue,null))},i(so){ro||(transition_in(no),ro=!0)},o(so){transition_out(no),ro=!1},d(so){so&&detach(ue),io[eo].d()}}}function create_else_block_1$p(to){let ue,eo,no,ro;return no=new Icon({props:{size:"S",name:"Search",hoverable:!0,newStyles:!0}}),no.$on("click",to[17]),{c(){ue=element("div"),ue.textContent="Bindings",eo=space$1(),create_component(no.$$.fragment),attr(ue,"class","title svelte-jofp16")},m(oo,io){insert$1(oo,ue,io),insert$1(oo,eo,io),mount_component(no,oo,io),ro=!0},p:noop$6,i(oo){ro||(transition_in(no.$$.fragment,oo),ro=!0)},o(oo){transition_out(no.$$.fragment,oo),ro=!1},d(oo){oo&&(detach(ue),detach(eo)),destroy_component(no,oo)}}}function create_if_block_10$7(to){let ue,eo,no,ro,oo,io;function ao(lo){to[27](lo)}let so={placeholder:"Search for bindings",autocomplete:"off",autofocus:!0};return to[3]!==void 0&&(so.value=to[3]),eo=new Input$5({props:so}),binding_callbacks.push(()=>bind$2(eo,"value",ao)),oo=new Icon({props:{size:"S",name:"Close",hoverable:!0,newStyles:!0}}),oo.$on("click",to[18]),{c(){ue=element("div"),create_component(eo.$$.fragment),ro=space$1(),create_component(oo.$$.fragment),attr(ue,"class","search-input svelte-jofp16")},m(lo,co){insert$1(lo,ue,co),mount_component(eo,ue,null),insert$1(lo,ro,co),mount_component(oo,lo,co),io=!0},p(lo,co){const uo={};!no&&co[0]&8&&(no=!0,uo.value=lo[3],add_flush_callback(()=>no=!1)),eo.$set(uo)},i(lo){io||(transition_in(eo.$$.fragment,lo),transition_in(oo.$$.fragment,lo),io=!0)},o(lo){transition_out(eo.$$.fragment,lo),transition_out(oo.$$.fragment,lo),io=!1},d(lo){lo&&(detach(ue),detach(ro)),destroy_component(eo),destroy_component(oo,lo)}}}function create_if_block_8$g(to){let ue,eo,no=ensure_array_like(to[11]),ro=[];for(let io=0;io<no.length;io+=1)ro[io]=create_each_block_3(get_each_context_3(to,no,io));const oo=io=>transition_out(ro[io],1,1,()=>{ro[io]=null});return{c(){ue=element("ul");for(let io=0;io<ro.length;io+=1)ro[io].c();attr(ue,"class","category-list svelte-jofp16")},m(io,ao){insert$1(io,ue,ao);for(let so=0;so<ro.length;so+=1)ro[so]&&ro[so].m(ue,null);eo=!0},p(io,ao){if(ao[0]&6160){no=ensure_array_like(io[11]);let so;for(so=0;so<no.length;so+=1){const lo=get_each_context_3(io,no,so);ro[so]?(ro[so].p(lo,ao),transition_in(ro[so],1)):(ro[so]=create_each_block_3(lo),ro[so].c(),transition_in(ro[so],1),ro[so].m(ue,null))}for(group_outros(),so=no.length;so<ro.length;so+=1)oo(so);check_outros()}},i(io){if(!eo){for(let ao=0;ao<no.length;ao+=1)transition_in(ro[ao]);eo=!0}},o(io){ro=ro.filter(Boolean);for(let ao=0;ao<ro.length;ao+=1)transition_out(ro[ao]);eo=!1},d(io){io&&detach(ue),destroy_each(ro,io)}}}function create_each_block_3(to){let ue,eo,no,ro,oo=to[46]+"",io,ao,so,lo,co,uo,fo,po;eo=new Icon({props:{size:"S",color:"var(--spectrum-global-color-gray-700)",name:to[12][to[46]]}}),lo=new Icon({props:{name:"ChevronRight"}});function ho(){return to[28](to[46])}return{c(){ue=element("li"),create_component(eo.$$.fragment),no=space$1(),ro=element("span"),io=text$1(oo),ao=space$1(),so=element("span"),create_component(lo.$$.fragment),co=space$1(),attr(ro,"class","category-name svelte-jofp16"),attr(so,"class","category-chevron svelte-jofp16"),attr(ue,"class","svelte-jofp16")},m(_o,go){insert$1(_o,ue,go),mount_component(eo,ue,null),append$2(ue,no),append$2(ue,ro),append$2(ro,io),append$2(ue,ao),append$2(ue,so),mount_component(lo,so,null),append$2(ue,co),uo=!0,fo||(po=listen(ue,"click",ho),fo=!0)},p(_o,go){to=_o;const bo={};go[0]&6144&&(bo.name=to[12][to[46]]),eo.$set(bo),(!uo||go[0]&2048)&&oo!==(oo=to[46]+"")&&set_data(io,oo)},i(_o){uo||(transition_in(eo.$$.fragment,_o),transition_in(lo.$$.fragment,_o),uo=!0)},o(_o){transition_out(eo.$$.fragment,_o),transition_out(lo.$$.fragment,_o),uo=!1},d(_o){_o&&detach(ue),destroy_component(eo),destroy_component(lo),fo=!1,po()}}}function create_if_block$48(to){let ue,eo,no,ro=ensure_array_like(to[10]),oo=[];for(let so=0;so<ro.length;so+=1)oo[so]=create_each_block_1$s(get_each_context_1$s(to,ro,so));const io=so=>transition_out(oo[so],1,1,()=>{oo[so]=null});let ao=(to[4]==="Helpers"||to[3])&&create_if_block_1$2c(to);return{c(){for(let so=0;so<oo.length;so+=1)oo[so].c();ue=space$1(),ao&&ao.c(),eo=empty$2()},m(so,lo){for(let co=0;co<oo.length;co+=1)oo[co]&&oo[co].m(so,lo);insert$1(so,ue,lo),ao&&ao.m(so,lo),insert$1(so,eo,lo),no=!0},p(so,lo){if(lo[0]&46082){ro=ensure_array_like(so[10]);let co;for(co=0;co<ro.length;co+=1){const uo=get_each_context_1$s(so,ro,co);oo[co]?(oo[co].p(uo,lo),transition_in(oo[co],1)):(oo[co]=create_each_block_1$s(uo),oo[co].c(),transition_in(oo[co],1),oo[co].m(ue.parentNode,ue))}for(group_outros(),co=ro.length;co<oo.length;co+=1)io(co);check_outros()}so[4]==="Helpers"||so[3]?ao?ao.p(so,lo):(ao=create_if_block_1$2c(so),ao.c(),ao.m(eo.parentNode,eo)):ao&&(ao.d(1),ao=null)},i(so){if(!no){for(let lo=0;lo<ro.length;lo+=1)transition_in(oo[lo]);no=!0}},o(so){oo=oo.filter(Boolean);for(let lo=0;lo<oo.length;lo+=1)transition_out(oo[lo]);no=!1},d(so){so&&(detach(ue),detach(eo)),destroy_each(oo,so),ao&&ao.d(so)}}}function create_if_block_3$Z(to){let ue,eo,no,ro,oo=to[10].length>1&&create_if_block_7$l(to),io=ensure_array_like(to[40].bindings),ao=[];for(let so=0;so<io.length;so+=1)ao[so]=create_each_block_2$8(get_each_context_2$8(to,io,so));return{c(){ue=element("div"),oo&&oo.c(),eo=space$1(),no=element("ul");for(let so=0;so<ao.length;so+=1)ao[so].c();attr(no,"class","svelte-jofp16"),attr(ue,"class","sub-section svelte-jofp16")},m(so,lo){insert$1(so,ue,lo),oo&&oo.m(ue,null),append$2(ue,eo),append$2(ue,no);for(let co=0;co<ao.length;co+=1)ao[co]&&ao[co].m(no,null);ro=!0},p(so,lo){if(so[10].length>1?oo?(oo.p(so,lo),lo[0]&1024&&transition_in(oo,1)):(oo=create_if_block_7$l(so),oo.c(),transition_in(oo,1),oo.m(ue,eo)):oo&&(group_outros(),transition_out(oo,1,1,()=>{oo=null}),check_outros()),lo[0]&41986){io=ensure_array_like(so[40].bindings);let co;for(co=0;co<io.length;co+=1){const uo=get_each_context_2$8(so,io,co);ao[co]?ao[co].p(uo,lo):(ao[co]=create_each_block_2$8(uo),ao[co].c(),ao[co].m(no,null))}for(;co<ao.length;co+=1)ao[co].d(1);ao.length=io.length}},i(so){ro||(transition_in(oo),ro=!0)},o(so){transition_out(oo),ro=!1},d(so){so&&detach(ue),oo&&oo.d(),destroy_each(ao,so)}}}function create_if_block_7$l(to){let ue,eo,no=to[40].name+"",ro,oo;return eo=new Icon({props:{name:to[12][to[40].name]}}),{c(){ue=element("div"),create_component(eo.$$.fragment),ro=text$1(no),attr(ue,"class","cat-heading svelte-jofp16")},m(io,ao){insert$1(io,ue,ao),mount_component(eo,ue,null),append$2(ue,ro),oo=!0},p(io,ao){const so={};ao[0]&5120&&(so.name=io[12][io[40].name]),eo.$set(so),(!oo||ao[0]&1024)&&no!==(no=io[40].name+"")&&set_data(ro,no)},i(io){oo||(transition_in(eo.$$.fragment,io),oo=!0)},o(io){transition_out(eo.$$.fragment,io),oo=!1},d(io){io&&detach(ue),destroy_component(eo)}}}function create_else_block$1C(to){let ue=to[43].readableBinding+"",eo;return{c(){eo=text$1(ue)},m(no,ro){insert$1(no,eo,ro)},p(no,ro){ro[0]&1024&&ue!==(ue=no[43].readableBinding+"")&&set_data(eo,ue)},d(no){no&&detach(eo)}}}function create_if_block_6$o(to){var no;let ue=((no=to[43].fieldSchema)==null?void 0:no.name)+"",eo;return{c(){eo=text$1(ue)},m(ro,oo){insert$1(ro,eo,oo)},p(ro,oo){var io;oo[0]&1024&&ue!==(ue=((io=ro[43].fieldSchema)==null?void 0:io.name)+"")&&set_data(eo,ue)},d(ro){ro&&detach(eo)}}}function create_if_block_5$w(to){let ue=to[43].display.name+"",eo;return{c(){eo=text$1(ue)},m(no,ro){insert$1(no,eo,ro)},p(no,ro){ro[0]&1024&&ue!==(ue=no[43].display.name+"")&&set_data(eo,ue)},d(no){no&&detach(eo)}}}function create_if_block_4$I(to){var oo,io;let ue,eo,no=(((oo=to[43].display)==null?void 0:oo.type)||((io=to[43].fieldSchema)==null?void 0:io.type))+"",ro;return{c(){ue=element("span"),eo=element("span"),ro=text$1(no),attr(eo,"class","binding__type svelte-jofp16"),attr(ue,"class","binding__typeWrap svelte-jofp16")},m(ao,so){insert$1(ao,ue,so),append$2(ue,eo),append$2(eo,ro)},p(ao,so){var lo,co;so[0]&1024&&no!==(no=(((lo=ao[43].display)==null?void 0:lo.type)||((co=ao[43].fieldSchema)==null?void 0:co.type))+"")&&set_data(ro,no)},d(ao){ao&&detach(ue)}}}function create_each_block_2$8(to){var fo,po;let ue,eo,no,ro,oo;function io(ho,_o){var go,bo;return(go=ho[43].display)!=null&&go.name?create_if_block_5$w:(bo=ho[43].fieldSchema)!=null&&bo.name?create_if_block_6$o:create_else_block$1C}let ao=io(to),so=ao(to),lo=(((fo=to[43].display)==null?void 0:fo.type)||((po=to[43].fieldSchema)==null?void 0:po.type))&&create_if_block_4$I(to);function co(...ho){return to[29](to[43],...ho)}function uo(){return to[30](to[43])}return{c(){ue=element("li"),eo=element("span"),so.c(),no=space$1(),lo&&lo.c(),attr(eo,"class","binding__label svelte-jofp16"),attr(ue,"class","binding svelte-jofp16")},m(ho,_o){insert$1(ho,ue,_o),append$2(ue,eo),so.m(eo,null),append$2(ue,no),lo&&lo.m(ue,null),ro||(oo=[listen(ue,"mouseenter",co),listen(ue,"mouseleave",to[15]),listen(ue,"click",uo)],ro=!0)},p(ho,_o){var go,bo;to=ho,ao===(ao=io(to))&&so?so.p(to,_o):(so.d(1),so=ao(to),so&&(so.c(),so.m(eo,null))),(go=to[43].display)!=null&&go.type||(bo=to[43].fieldSchema)!=null&&bo.type?lo?lo.p(to,_o):(lo=create_if_block_4$I(to),lo.c(),lo.m(ue,null)):lo&&(lo.d(1),lo=null)},d(ho){ho&&detach(ue),so.d(),lo&&lo.d(),ro=!1,run_all(oo)}}}function create_each_block_1$s(to){var ro;let ue,eo,no=((ro=to[40].bindings)==null?void 0:ro.length)&&create_if_block_3$Z(to);return{c(){no&&no.c(),ue=empty$2()},m(oo,io){no&&no.m(oo,io),insert$1(oo,ue,io),eo=!0},p(oo,io){var ao;(ao=oo[40].bindings)!=null&&ao.length?no?(no.p(oo,io),io[0]&1024&&transition_in(no,1)):(no=create_if_block_3$Z(oo),no.c(),transition_in(no,1),no.m(ue.parentNode,ue)):no&&(group_outros(),transition_out(no,1,1,()=>{no=null}),check_outros())},i(oo){eo||(transition_in(no),eo=!0)},o(oo){transition_out(no),eo=!1},d(oo){oo&&detach(ue),no&&no.d(oo)}}}function create_if_block_1$2c(to){var no;let ue,eo=((no=to[9])==null?void 0:no.length)&&create_if_block_2$1m(to);return{c(){eo&&eo.c(),ue=empty$2()},m(ro,oo){eo&&eo.m(ro,oo),insert$1(ro,ue,oo)},p(ro,oo){var io;(io=ro[9])!=null&&io.length?eo?eo.p(ro,oo):(eo=create_if_block_2$1m(ro),eo.c(),eo.m(ue.parentNode,ue)):eo&&(eo.d(1),eo=null)},d(ro){ro&&detach(ue),eo&&eo.d(ro)}}}function create_if_block_2$1m(to){let ue,eo,no=ensure_array_like(to[9]),ro=[];for(let oo=0;oo<no.length;oo+=1)ro[oo]=create_each_block$1I(get_each_context$1I(to,no,oo));return{c(){ue=element("div"),eo=element("ul");for(let oo=0;oo<ro.length;oo+=1)ro[oo].c();attr(eo,"class","helpers svelte-jofp16"),attr(ue,"class","sub-section svelte-jofp16")},m(oo,io){insert$1(oo,ue,io),append$2(ue,eo);for(let ao=0;ao<ro.length;ao+=1)ro[ao]&&ro[ao].m(eo,null)},p(oo,io){if(io[0]&49669){no=ensure_array_like(oo[9]);let ao;for(ao=0;ao<no.length;ao+=1){const so=get_each_context$1I(oo,no,ao);ro[ao]?ro[ao].p(so,io):(ro[ao]=create_each_block$1I(so),ro[ao].c(),ro[ao].m(eo,null))}for(;ao<ro.length;ao+=1)ro[ao].d(1);ro.length=no.length}},d(oo){oo&&detach(ue),destroy_each(ro,oo)}}}function create_each_block$1I(to){let ue,eo,no=to[37].displayText+"",ro,oo,io,ao,so,lo;function co(...fo){return to[31](to[37],...fo)}function uo(){return to[32](to[37])}return{c(){ue=element("li"),eo=element("span"),ro=text$1(no),oo=space$1(),io=element("span"),io.innerHTML='<span class="binding__type svelte-jofp16">function</span>',ao=space$1(),attr(eo,"class","binding__label svelte-jofp16"),attr(io,"class","binding__typeWrap svelte-jofp16"),attr(ue,"class","binding svelte-jofp16")},m(fo,po){insert$1(fo,ue,po),append$2(ue,eo),append$2(eo,ro),append$2(ue,oo),append$2(ue,io),append$2(ue,ao),so||(lo=[listen(ue,"mouseenter",co),listen(ue,"mouseleave",to[15]),listen(ue,"click",uo)],so=!0)},p(fo,po){to=fo,po[0]&512&&no!==(no=to[37].displayText+"")&&set_data(ro,no)},d(fo){fo&&detach(ue),so=!1,run_all(lo)}}}function create_default_slot$5G(to){let ue,eo,no,ro,oo,io=to[4]&&create_if_block_11$4(to),ao=!to[4]&&create_if_block_9$d(to),so=!to[4]&&!to[3]&&create_if_block_8$g(to),lo=(to[4]||to[3])&&create_if_block$48(to);return{c(){io&&io.c(),ue=space$1(),ao&&ao.c(),eo=space$1(),so&&so.c(),no=space$1(),lo&&lo.c(),ro=empty$2()},m(co,uo){io&&io.m(co,uo),insert$1(co,ue,uo),ao&&ao.m(co,uo),insert$1(co,eo,uo),so&&so.m(co,uo),insert$1(co,no,uo),lo&&lo.m(co,uo),insert$1(co,ro,uo),oo=!0},p(co,uo){co[4]?io?(io.p(co,uo),uo[0]&16&&transition_in(io,1)):(io=create_if_block_11$4(co),io.c(),transition_in(io,1),io.m(ue.parentNode,ue)):io&&(group_outros(),transition_out(io,1,1,()=>{io=null}),check_outros()),co[4]?ao&&(group_outros(),transition_out(ao,1,1,()=>{ao=null}),check_outros()):ao?(ao.p(co,uo),uo[0]&16&&transition_in(ao,1)):(ao=create_if_block_9$d(co),ao.c(),transition_in(ao,1),ao.m(eo.parentNode,eo)),!co[4]&&!co[3]?so?(so.p(co,uo),uo[0]&24&&transition_in(so,1)):(so=create_if_block_8$g(co),so.c(),transition_in(so,1),so.m(no.parentNode,no)):so&&(group_outros(),transition_out(so,1,1,()=>{so=null}),check_outros()),co[4]||co[3]?lo?(lo.p(co,uo),uo[0]&24&&transition_in(lo,1)):(lo=create_if_block$48(co),lo.c(),transition_in(lo,1),lo.m(ro.parentNode,ro)):lo&&(group_outros(),transition_out(lo,1,1,()=>{lo=null}),check_outros())},i(co){oo||(transition_in(io),transition_in(ao),transition_in(so),transition_in(lo),oo=!0)},o(co){transition_out(io),transition_out(ao),transition_out(so),transition_out(lo),oo=!1},d(co){co&&(detach(ue),detach(eo),detach(no),detach(ro)),io&&io.d(co),ao&&ao.d(co),so&&so.d(co),lo&&lo.d(co)}}}function create_fragment$8P(to){let ue,eo,no,ro,oo,io={align:"left-outside",anchor:to[7],minWidth:0,maxWidth:480,maxHeight:480,dismissible:!1,$$slots:{default:[create_default_slot_1$3_]},$$scope:{ctx:to}};return ue=new Popover({props:io}),to[25](ue),ue.$on("mouseenter",to[16]),ue.$on("mouseleave",to[15]),ro=new Layout$n({props:{noPadding:!0,gap:"S",$$slots:{default:[create_default_slot$5G]},$$scope:{ctx:to}}}),{c(){create_component(ue.$$.fragment),eo=space$1(),no=element("div"),create_component(ro.$$.fragment),attr(no,"class","binding-side-panel svelte-jofp16")},m(ao,so){mount_component(ue,ao,so),insert$1(ao,eo,so),insert$1(ao,no,so),mount_component(ro,no,null),oo=!0},p(ao,so){const lo={};so[0]&128&&(lo.anchor=ao[7]),so[0]&256|so[1]&262144&&(lo.$$scope={dirty:so,ctx:ao}),ue.$set(lo);const co={};so[0]&7743|so[1]&262144&&(co.$$scope={dirty:so,ctx:ao}),ro.$set(co)},i(ao){oo||(transition_in(ue.$$.fragment,ao),transition_in(ro.$$.fragment,ao),oo=!0)},o(ao){transition_out(ue.$$.fragment,ao),transition_out(ro.$$.fragment,ao),oo=!1},d(ao){ao&&(detach(eo),detach(no)),to[25](null),destroy_component(ue,ao),destroy_component(ro)}}}function instance$8P(to,ue,eo){let no,ro,oo,io,ao,so,lo,{addHelper:co}=ue,{addBinding:uo}=ue,{bindings:fo}=ue,{mode:po}=ue,{allowHelpers:ho}=ue,{context:_o=null}=ue,go="",bo=!1,vo,yo,wo,ko=handlebarsCompletions(),So,Ao;const Io=(Ko,ra)=>{let ea=Ko.example||"";return ra&&(ea=convertToJS(ea).split(`
|
|
888
|
-
`)[0].split("= ")[1],ea==="null;"&&(ea="")),ea||""},Eo=Ko=>{let ra=[...Ko.map(ea=>ea[0])];return ho&&ra.push("Helpers"),ra},To=(Ko,ra)=>{!_o||!Ko.value||Ko.value===""||(Fo(),eo(7,yo=ra),eo(8,wo={helper:!1,code:Ko.valueHTML}),vo.show())},Mo=(Ko,ra)=>{Fo(),!(!Ko.displayText&&Ko.description)&&(eo(7,yo=ra),eo(8,wo={helper:!0,description:Ko.description,code:Io(Ko,po.name==="javascript")}),vo.show())},Vo=()=>{Ao=setTimeout(()=>{vo.hide(),eo(7,yo=null),eo(8,wo=null),Ao=null},100)},Fo=()=>{Ao&&(clearTimeout(Ao),Ao=null)},Po=async()=>{eo(5,bo=!0),eo(3,go="")},Ro=Ko=>{Ko.stopPropagation(),eo(5,bo=!1),eo(3,go="")};function Do(Ko){binding_callbacks[Ko?"unshift":"push"](()=>{vo=Ko,eo(6,vo)})}const Uo=()=>eo(4,So=null);function qo(Ko){go=Ko,eo(3,go)}const xo=Ko=>{eo(4,So=Ko)},Zo=(Ko,ra)=>To(Ko,ra.target),Xo=Ko=>uo(Ko),Yo=(Ko,ra)=>Mo(Ko,ra.target),Qo=Ko=>co(Ko,po.name==="javascript");return to.$$set=Ko=>{"addHelper"in Ko&&eo(0,co=Ko.addHelper),"addBinding"in Ko&&eo(1,uo=Ko.addBinding),"bindings"in Ko&&eo(19,fo=Ko.bindings),"mode"in Ko&&eo(2,po=Ko.mode),"allowHelpers"in Ko&&eo(20,ho=Ko.allowHelpers),"context"in Ko&&eo(21,_o=Ko.context)},to.$$.update=()=>{to.$$.dirty[0]&524288&&eo(24,no=fo==null?void 0:fo.reduce((Ko,ra)=>(ra.icon&&(Ko[ra.category]=Ko[ra.category]||ra.icon),Ko),{})),to.$$.dirty[0]&16777216&&eo(12,ro={...no,Helpers:"MagicWand"}),to.$$.dirty[0]&524288&&eo(23,oo=Object.entries(groupBy$1("category",fo))),to.$$.dirty[0]&8388608&&eo(11,io=Eo(oo)),to.$$.dirty[0]&8&&eo(22,ao=new RegExp(go,"ig")),to.$$.dirty[0]&12582936&&eo(10,so=oo.map(([Ko,ra])=>({name:Ko,bindings:ra==null?void 0:ra.filter(ea=>!go||ea.readableBinding.match(ao))})).filter(Ko=>{var ra;return((ra=Ko.bindings)==null?void 0:ra.length)>0&&(So?So===Ko.name:!0)})),to.$$.dirty[0]&4194316&&eo(9,lo=ko==null?void 0:ko.filter(Ko=>(!go||Ko.label.match(ao)||Ko.description.match(ao))&&(po.name!=="javascript"||Ko.allowsJs)))},[co,uo,po,go,So,bo,vo,yo,wo,lo,so,io,ro,To,Mo,Vo,Fo,Po,Ro,fo,ho,_o,ao,oo,no,Do,Uo,qo,xo,Zo,Xo,Yo,Qo]}class BindingSidePanel extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8P,create_fragment$8P,safe_not_equal,{addHelper:0,addBinding:1,bindings:19,mode:2,allowHelpers:20,context:21},null,[-1,-1])}}const EvaluationSidePanel_svelte_svelte_type_style_lang="";function get_each_context$1H(to,ue,eo){const no=to.slice();return no[13]=ue[eo],no}function create_else_block_1$o(to){let ue,eo,no,ro,oo,io,ao,so=to[1]&&create_if_block_8$f(),lo=!to[2]&&create_if_block_7$k(to);return{c(){ue=element("div"),ue.textContent="Preview",eo=space$1(),so&&so.c(),no=space$1(),ro=element("span"),oo=space$1(),lo&&lo.c(),io=empty$2(),attr(ro,"class","svelte-15nqcli")},m(co,uo){insert$1(co,ue,uo),insert$1(co,eo,uo),so&&so.m(co,uo),insert$1(co,no,uo),insert$1(co,ro,uo),insert$1(co,oo,uo),lo&&lo.m(co,uo),insert$1(co,io,uo),ao=!0},p(co,uo){co[1]?so?uo&2&&transition_in(so,1):(so=create_if_block_8$f(),so.c(),transition_in(so,1),so.m(no.parentNode,no)):so&&(group_outros(),transition_out(so,1,1,()=>{so=null}),check_outros()),co[2]?lo&&(group_outros(),transition_out(lo,1,1,()=>{lo=null}),check_outros()):lo?(lo.p(co,uo),uo&4&&transition_in(lo,1)):(lo=create_if_block_7$k(co),lo.c(),transition_in(lo,1),lo.m(io.parentNode,io))},i(co){ao||(transition_in(so),transition_in(lo),ao=!0)},o(co){transition_out(so),transition_out(lo),ao=!1},d(co){co&&(detach(ue),detach(eo),detach(no),detach(ro),detach(oo),detach(io)),so&&so.d(co),lo&&lo.d(co)}}}function create_if_block_5$v(to){let ue,eo,no,ro,oo,io,ao,so,lo;ue=new Icon({props:{name:"Alert",color:"var(--error-content)"}});let co=to[1]&&create_if_block_6$n();return so=new Icon({props:{name:"Copy",size:"S",hoverable:!0}}),so.$on("click",to[8]),{c(){create_component(ue.$$.fragment),eo=space$1(),no=element("div"),no.textContent="Error",ro=space$1(),co&&co.c(),oo=space$1(),io=element("span"),ao=space$1(),create_component(so.$$.fragment),attr(io,"class","svelte-15nqcli")},m(uo,fo){mount_component(ue,uo,fo),insert$1(uo,eo,fo),insert$1(uo,no,fo),insert$1(uo,ro,fo),co&&co.m(uo,fo),insert$1(uo,oo,fo),insert$1(uo,io,fo),insert$1(uo,ao,fo),mount_component(so,uo,fo),lo=!0},p(uo,fo){uo[1]?co?fo&2&&transition_in(co,1):(co=create_if_block_6$n(),co.c(),transition_in(co,1),co.m(oo.parentNode,oo)):co&&(group_outros(),transition_out(co,1,1,()=>{co=null}),check_outros())},i(uo){lo||(transition_in(ue.$$.fragment,uo),transition_in(co),transition_in(so.$$.fragment,uo),lo=!0)},o(uo){transition_out(ue.$$.fragment,uo),transition_out(co),transition_out(so.$$.fragment,uo),lo=!1},d(uo){uo&&(detach(eo),detach(no),detach(ro),detach(oo),detach(io),detach(ao)),destroy_component(ue,uo),co&&co.d(uo),destroy_component(so,uo)}}}function create_if_block_8$f(to){let ue,eo,no,ro;return eo=new ProgressCircle({props:{size:"S"}}),{c(){ue=element("div"),create_component(eo.$$.fragment)},m(oo,io){insert$1(oo,ue,io),mount_component(eo,ue,null),ro=!0},i(oo){ro||(transition_in(eo.$$.fragment,oo),oo&&add_render_callback(()=>{ro&&(no||(no=create_bidirectional_transition(ue,fade,{duration:130},!0)),no.run(1))}),ro=!0)},o(oo){transition_out(eo.$$.fragment,oo),oo&&(no||(no=create_bidirectional_transition(ue,fade,{duration:130},!1)),no.run(0)),ro=!1},d(oo){oo&&detach(ue),destroy_component(eo),oo&&no&&no.end()}}}function create_if_block_7$k(to){let ue,eo;return ue=new Icon({props:{name:"Copy",newStyles:!0,size:"S",hoverable:!0}}),ue.$on("click",to[8]),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p:noop$6,i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_if_block_6$n(to){let ue,eo,no,ro;return eo=new ProgressCircle({props:{size:"S"}}),{c(){ue=element("div"),create_component(eo.$$.fragment)},m(oo,io){insert$1(oo,ue,io),mount_component(eo,ue,null),ro=!0},i(oo){ro||(transition_in(eo.$$.fragment,oo),oo&&add_render_callback(()=>{ro&&(no||(no=create_bidirectional_transition(ue,fade,{duration:130},!0)),no.run(1))}),ro=!0)},o(oo){transition_out(eo.$$.fragment,oo),oo&&(no||(no=create_bidirectional_transition(ue,fade,{duration:130},!1)),no.run(0)),ro=!1},d(oo){oo&&detach(ue),destroy_component(eo),oo&&no&&no.end()}}}function create_else_block$1B(to){let ue,eo,no,ro,oo=ensure_array_like(to[4]),io=[];for(let so=0;so<oo.length;so+=1)io[so]=create_each_block$1H(get_each_context$1H(to,oo,so));const ao=so=>transition_out(io[so],1,1,()=>{io[so]=null});return{c(){ue=element("div");for(let so=0;so<io.length;so+=1)io[so].c();eo=space$1(),no=element("div"),attr(no,"class","line svelte-15nqcli"),attr(ue,"class","output-lines svelte-15nqcli")},m(so,lo){insert$1(so,ue,lo);for(let co=0;co<io.length;co+=1)io[co]&&io[co].m(ue,null);append$2(ue,eo),append$2(ue,no),no.innerHTML=to[5],ro=!0},p(so,lo){if(lo&16){oo=ensure_array_like(so[4]);let co;for(co=0;co<oo.length;co+=1){const uo=get_each_context$1H(so,oo,co);io[co]?(io[co].p(uo,lo),transition_in(io[co],1)):(io[co]=create_each_block$1H(uo),io[co].c(),transition_in(io[co],1),io[co].m(ue,eo))}for(group_outros(),co=oo.length;co<io.length;co+=1)ao(co);check_outros()}(!ro||lo&32)&&(no.innerHTML=so[5])},i(so){if(!ro){for(let lo=0;lo<oo.length;lo+=1)transition_in(io[lo]);ro=!0}},o(so){io=io.filter(Boolean);for(let lo=0;lo<io.length;lo+=1)transition_out(io[lo]);ro=!1},d(so){so&&detach(ue),destroy_each(io,so)}}}function create_if_block_1$2b(to){let ue=to[7](to[0])+"",eo;return{c(){eo=text$1(ue)},m(no,ro){insert$1(no,eo,ro)},p(no,ro){ro&1&&ue!==(ue=no[7](no[0])+"")&&set_data(eo,ue)},i:noop$6,o:noop$6,d(no){no&&detach(eo)}}}function create_if_block$47(to){let ue;return{c(){ue=text$1("Your expression will be evaluated here")},m(eo,no){insert$1(eo,ue,no)},p:noop$6,i:noop$6,o:noop$6,d(eo){eo&&detach(ue)}}}function create_if_block_4$H(to){let ue,eo;return ue=new Icon({props:{size:"XS",name:"Alert",color:"var(--warning-content)"}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_if_block_3$Y(to){let ue,eo;return ue=new Icon({props:{size:"XS",name:"CloseCircle",color:"var(--error-content)"}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_if_block_2$1l(to){let ue,eo,no=to[13].line+"",ro;return{c(){ue=element("span"),eo=text$1(":"),ro=text$1(no),set_style(ue,"color","var(--blue)")},m(oo,io){insert$1(oo,ue,io),append$2(ue,eo),append$2(ue,ro)},p(oo,io){io&16&&no!==(no=oo[13].line+"")&&set_data(ro,no)},d(oo){oo&&detach(ue)}}}function create_each_block$1H(to){let ue,eo,no,ro,oo,io,ao=to[13].log+"",so,lo;const co=[create_if_block_3$Y,create_if_block_4$H],uo=[];function fo(ho,_o){return ho[13].type==="error"?0:ho[13].type==="warn"?1:-1}~(no=fo(to))&&(ro=uo[no]=co[no](to));let po=to[13].line&&create_if_block_2$1l(to);return{c(){ue=element("div"),eo=element("div"),ro&&ro.c(),oo=space$1(),io=element("span"),so=space$1(),po&&po.c(),attr(eo,"class","icon-log svelte-15nqcli"),attr(ue,"class","line svelte-15nqcli"),toggle_class(ue,"error-log",to[13].type==="error"),toggle_class(ue,"warn-log",to[13].type==="warn")},m(ho,_o){insert$1(ho,ue,_o),append$2(ue,eo),~no&&uo[no].m(eo,null),append$2(eo,oo),append$2(eo,io),io.innerHTML=ao,append$2(ue,so),po&&po.m(ue,null),lo=!0},p(ho,_o){let go=no;no=fo(ho),no!==go&&(ro&&(group_outros(),transition_out(uo[go],1,1,()=>{uo[go]=null}),check_outros()),~no?(ro=uo[no],ro||(ro=uo[no]=co[no](ho),ro.c()),transition_in(ro,1),ro.m(eo,oo)):ro=null),(!lo||_o&16)&&ao!==(ao=ho[13].log+"")&&(io.innerHTML=ao),ho[13].line?po?po.p(ho,_o):(po=create_if_block_2$1l(ho),po.c(),po.m(ue,null)):po&&(po.d(1),po=null),(!lo||_o&16)&&toggle_class(ue,"error-log",ho[13].type==="error"),(!lo||_o&16)&&toggle_class(ue,"warn-log",ho[13].type==="warn")},i(ho){lo||(transition_in(ro),lo=!0)},o(ho){transition_out(ro),lo=!1},d(ho){ho&&detach(ue),~no&&uo[no].d(),po&&po.d()}}}function create_fragment$8O(to){let ue,eo,no,ro,oo,io,ao,so,lo,co;const uo=[create_if_block_5$v,create_else_block_1$o],fo=[];function po(bo,vo){return bo[3]?0:1}ro=po(to),oo=fo[ro]=uo[ro](to);const ho=[create_if_block$47,create_if_block_1$2b,create_else_block$1B],_o=[];function go(bo,vo){return bo[2]?0:bo[3]?1:2}return so=go(to),lo=_o[so]=ho[so](to),{c(){ue=element("div"),eo=element("div"),no=element("div"),oo.c(),io=space$1(),ao=element("div"),lo.c(),attr(no,"class","header-content svelte-15nqcli"),attr(eo,"class","header svelte-15nqcli"),toggle_class(eo,"success",to[6]),toggle_class(eo,"error",to[3]),attr(ao,"class","body svelte-15nqcli"),attr(ue,"class","evaluation-side-panel svelte-15nqcli")},m(bo,vo){insert$1(bo,ue,vo),append$2(ue,eo),append$2(eo,no),fo[ro].m(no,null),append$2(ue,io),append$2(ue,ao),_o[so].m(ao,null),co=!0},p(bo,[vo]){let yo=ro;ro=po(bo),ro===yo?fo[ro].p(bo,vo):(group_outros(),transition_out(fo[yo],1,1,()=>{fo[yo]=null}),check_outros(),oo=fo[ro],oo?oo.p(bo,vo):(oo=fo[ro]=uo[ro](bo),oo.c()),transition_in(oo,1),oo.m(no,null)),(!co||vo&64)&&toggle_class(eo,"success",bo[6]),(!co||vo&8)&&toggle_class(eo,"error",bo[3]);let wo=so;so=go(bo),so===wo?_o[so].p(bo,vo):(group_outros(),transition_out(_o[wo],1,1,()=>{_o[wo]=null}),check_outros(),lo=_o[so],lo?lo.p(bo,vo):(lo=_o[so]=ho[so](bo),lo.c()),transition_in(lo,1),lo.m(ao,null))},i(bo){co||(transition_in(oo),transition_in(lo),co=!0)},o(bo){transition_out(oo),transition_out(lo),co=!1},d(bo){bo&&detach(ue),fo[ro].d(),_o[so].d()}}}function instance$8O(to,ue,eo){let no,ro,oo,io,ao,{expressionResult:so=void 0}=ue,{expressionError:lo=void 0}=ue,{expressionLogs:co=[]}=ue,{evaluating:uo=!1}=ue,{expression:fo=null}=ue;const po=go=>go.code===UserScriptError.code?go.userScriptError.toString():go.toString(),ho=go=>{if(go==null)return"";try{go=JSON.stringify(JSON.parse(go),null,2)}catch{}return format$1(go,{keyColor:"#e06c75",numberColor:"#e5c07b",stringColor:"#98c379",trueColor:"#d19a66",falseColor:"#d19a66",nullColor:"#c678dd"})},_o=()=>{let go=so;typeof go=="object"&&(go=JSON.stringify(go,null,2)),copyToClipboard(go),notifications.success("Value copied to clipboard")};return to.$$set=go=>{"expressionResult"in go&&eo(9,so=go.expressionResult),"expressionError"in go&&eo(0,lo=go.expressionError),"expressionLogs"in go&&eo(10,co=go.expressionLogs),"evaluating"in go&&eo(1,uo=go.evaluating),"expression"in go&&eo(11,fo=go.expression)},to.$$.update=()=>{to.$$.dirty&1&&eo(3,no=lo!=null),to.$$.dirty&2048&&eo(2,ro=fo==null||(fo==null?void 0:fo.trim())===""),to.$$.dirty&12&&eo(6,oo=!no&&!ro),to.$$.dirty&512&&eo(5,io=ho(so)),to.$$.dirty&1024&&eo(4,ao=co.map(go=>({log:ho(go.log.join(", ")),line:go.line,type:go.type})))},[lo,uo,ro,no,ao,io,oo,po,_o,so,co,fo]}class EvaluationSidePanel extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8O,create_fragment$8O,safe_not_equal,{expressionResult:9,expressionError:0,expressionLogs:10,evaluating:1,expression:11})}}const SnippetDrawer_svelte_svelte_type_style_lang="";function create_else_block$1A(to){let ue,eo,no,ro,oo,io,ao;function so(uo){to[15](uo)}let lo={};to[1]!==void 0&&(lo.value=to[1]),ro=new Input$5({props:lo}),binding_callbacks.push(()=>bind$2(ro,"value",so));let co=to[6]&&create_if_block_2$1k(to);return{c(){ue=element("div"),eo=element("span"),eo.textContent="Name",no=space$1(),create_component(ro.$$.fragment),io=space$1(),co&&co.c(),attr(ue,"class","name svelte-8n6wau"),toggle_class(ue,"invalid",to[6]!=null)},m(uo,fo){insert$1(uo,ue,fo),append$2(ue,eo),append$2(ue,no),mount_component(ro,ue,null),append$2(ue,io),co&&co.m(ue,null),ao=!0},p(uo,fo){const po={};!oo&&fo&2&&(oo=!0,po.value=uo[1],add_flush_callback(()=>oo=!1)),ro.$set(po),uo[6]?co?(co.p(uo,fo),fo&64&&transition_in(co,1)):(co=create_if_block_2$1k(uo),co.c(),transition_in(co,1),co.m(ue,null)):co&&(group_outros(),transition_out(co,1,1,()=>{co=null}),check_outros()),(!ao||fo&64)&&toggle_class(ue,"invalid",uo[6]!=null)},i(uo){ao||(transition_in(ro.$$.fragment,uo),transition_in(co),ao=!0)},o(uo){transition_out(ro.$$.fragment,uo),transition_out(co),ao=!1},d(uo){uo&&detach(ue),destroy_component(ro),co&&co.d()}}}function create_if_block_1$2a(to){let ue=to[0].name+"",eo;return{c(){eo=text$1(ue)},m(no,ro){insert$1(no,eo,ro)},p(no,ro){ro&1&&ue!==(ue=no[0].name+"")&&set_data(eo,ue)},i:noop$6,o:noop$6,d(no){no&&detach(eo)}}}function create_if_block_2$1k(to){let ue,eo;return ue=new AbsTooltip({props:{text:to[6],type:TooltipType.Negative,$$slots:{default:[create_default_slot_2$2R]},$$scope:{ctx:to}}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&64&&(oo.text=no[6]),ro&1048576&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_default_slot_2$2R(to){let ue,eo;return ue=new Icon({props:{name:"Help",size:"S",color:"var(--spectrum-global-color-red-400)"}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p:noop$6,i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_title_slot(to){let ue,eo,no,ro;const oo=[create_if_block_1$2a,create_else_block$1A],io=[];function ao(so,lo){return so[0]?0:1}return ue=ao(to),eo=io[ue]=oo[ue](to),{c(){eo.c(),no=empty$2()},m(so,lo){io[ue].m(so,lo),insert$1(so,no,lo),ro=!0},p(so,lo){let co=ue;ue=ao(so),ue===co?io[ue].p(so,lo):(group_outros(),transition_out(io[co],1,1,()=>{io[co]=null}),check_outros(),eo=io[ue],eo?eo.p(so,lo):(eo=io[ue]=oo[ue](so),eo.c()),transition_in(eo,1),eo.m(no.parentNode,no))},i(so){ro||(transition_in(eo),ro=!0)},o(so){transition_out(eo),ro=!1},d(so){so&&detach(no),io[ue].d(so)}}}function create_if_block$46(to){let ue,eo;return ue=new Button({props:{warning:!0,disabled:to[4],$$slots:{default:[create_default_slot_1$3Z]},$$scope:{ctx:to}}}),ue.$on("click",function(){is_function(to[5].show)&&to[5].show.apply(this,arguments)}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){to=no;const oo={};ro&16&&(oo.disabled=to[4]),ro&1048576&&(oo.$$scope={dirty:ro,ctx:to}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_default_slot_1$3Z(to){let ue;return{c(){ue=text$1("Delete")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_default_slot$5F(to){let ue;return{c(){ue=text$1("Save")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_buttons_slot$h(to){let ue,eo,no,ro=to[0]&&create_if_block$46(to);return eo=new Button({props:{cta:!0,disabled:!to[2]||to[4]||to[6],$$slots:{default:[create_default_slot$5F]},$$scope:{ctx:to}}}),eo.$on("click",to[8]),{c(){ro&&ro.c(),ue=space$1(),create_component(eo.$$.fragment)},m(oo,io){ro&&ro.m(oo,io),insert$1(oo,ue,io),mount_component(eo,oo,io),no=!0},p(oo,io){oo[0]?ro?(ro.p(oo,io),io&1&&transition_in(ro,1)):(ro=create_if_block$46(oo),ro.c(),transition_in(ro,1),ro.m(ue.parentNode,ue)):ro&&(group_outros(),transition_out(ro,1,1,()=>{ro=null}),check_outros());const ao={};io&84&&(ao.disabled=!oo[2]||oo[4]||oo[6]),io&1048576&&(ao.$$scope={dirty:io,ctx:oo}),eo.$set(ao)},i(oo){no||(transition_in(ro),transition_in(eo.$$.fragment,oo),no=!0)},o(oo){transition_out(ro),transition_out(eo.$$.fragment,oo),no=!1},d(oo){oo&&detach(ue),ro&&ro.d(oo),destroy_component(eo,oo)}}}function create_tabs_slot(to){let ue,eo,no;return eo=new Input$5({props:{placeholder:"Name"}}),{c(){ue=element("div"),create_component(eo.$$.fragment),attr(ue,"slot","tabs")},m(ro,oo){insert$1(ro,ue,oo),mount_component(eo,ue,null),no=!0},p:noop$6,i(ro){no||(transition_in(eo.$$.fragment,ro),no=!0)},o(ro){transition_out(eo.$$.fragment,ro),no=!1},d(ro){ro&&detach(ue),destroy_component(eo)}}}function create_key_block$i(to){let ue,eo;return ue=new BindingPanel({props:{allowHBS:!1,allowJS:!0,allowSnippets:!1,showTabBar:!1,placeholder:"return function(input) ❴ ... ❵",value:to[2],$$slots:{tabs:[create_tabs_slot]},$$scope:{ctx:to}}}),ue.$on("change",to[14]),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&4&&(oo.value=no[2]),ro&1048576&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_body_slot$g(to){let ue=to[7],eo,no,ro=create_key_block$i(to);return{c(){ro.c(),eo=empty$2()},m(oo,io){ro.m(oo,io),insert$1(oo,eo,io),no=!0},p(oo,io){io&128&&safe_not_equal(ue,ue=oo[7])?(group_outros(),transition_out(ro,1,1,noop$6),check_outros(),ro=create_key_block$i(oo),ro.c(),transition_in(ro,1),ro.m(eo.parentNode,eo)):ro.p(oo,io)},i(oo){no||(transition_in(ro),no=!0)},o(oo){transition_out(ro),no=!1},d(oo){oo&&detach(eo),ro.d(oo)}}}function create_fragment$8N(to){var ao;let ue,eo,no,ro,oo={$$slots:{body:[create_body_slot$g],buttons:[create_buttons_slot$h],title:[create_title_slot]},$$scope:{ctx:to}};ue=new Drawer({props:oo}),to[16](ue);let io={title:"Delete snippet",body:`Are you sure you want to delete ${(ao=to[0])==null?void 0:ao.name}?`,onOk:to[9]};return no=new ConfirmDialog({props:io}),to[17](no),{c(){create_component(ue.$$.fragment),eo=space$1(),create_component(no.$$.fragment)},m(so,lo){mount_component(ue,so,lo),insert$1(so,eo,lo),mount_component(no,so,lo),ro=!0},p(so,[lo]){var fo;const co={};lo&1048823&&(co.$$scope={dirty:lo,ctx:so}),ue.$set(co);const uo={};lo&1&&(uo.body=`Are you sure you want to delete ${(fo=so[0])==null?void 0:fo.name}?`),no.$set(uo)},i(so){ro||(transition_in(ue.$$.fragment,so),transition_in(no.$$.fragment,so),ro=!0)},o(so){transition_out(ue.$$.fragment,so),transition_out(no.$$.fragment,so),ro=!1},d(so){so&&detach(eo),to[16](null),destroy_component(ue,so),to[17](null),destroy_component(no,so)}}}const firstCharNumberRegex=/^[0-9].*$/;function instance$8N(to,ue,eo){let no,ro,oo,io,ao;component_subscribe(to,snippets$1,Ao=>eo(13,ao=Ao));let{snippet:so}=ue;const lo=()=>uo.show(),co=()=>uo.hide();let uo,fo="",po="",ho=!1,_o;const go=async()=>{eo(4,ho=!0);try{const Ao={name:fo,code:oo};await snippets$1.saveSnippet(Ao),uo.hide(),notifications.success(`Snippet ${Ao.name} saved`)}catch(Ao){notifications.error(Ao.message||"Error saving snippet")}eo(4,ho=!1)},bo=async()=>{eo(4,ho=!0);try{await snippets$1.deleteSnippet(so.name),uo.hide()}catch{notifications.error("Error deleting snippet")}eo(4,ho=!1)},vo=(Ao,Io)=>Ao!=null&&Ao.length?!(so!=null&&so.name)&&Io.some(Eo=>Eo.name===Ao)?"That name is already in use":firstCharNumberRegex.test(Ao)?"Can't start with a number":ValidSnippetNameRegex.test(Ao)?null:"No special characters or spaces":"Name is required",yo=Ao=>eo(2,po=Ao.detail);function wo(Ao){fo=Ao,eo(1,fo),eo(0,so),eo(12,no),eo(13,ao)}function ko(Ao){binding_callbacks[Ao?"unshift":"push"](()=>{uo=Ao,eo(3,uo)})}function So(Ao){binding_callbacks[Ao?"unshift":"push"](()=>{_o=Ao,eo(5,_o)})}return to.$$set=Ao=>{"snippet"in Ao&&eo(0,so=Ao.snippet)},to.$$.update=()=>{to.$$.dirty&8192&&eo(12,no=getSequentialName(ao,"MySnippet",{getName:Ao=>Ao.name})),to.$$.dirty&1&&eo(7,ro=so==null?void 0:so.name),to.$$.dirty&4097&&eo(1,fo=(so==null?void 0:so.name)||no),to.$$.dirty&1&&eo(2,po=so!=null&&so.code?encodeJSBinding(so.code):""),to.$$.dirty&4&&(oo=decodeJSBinding(po)),to.$$.dirty&8194&&eo(6,io=vo(fo,ao))},[so,fo,po,uo,ho,_o,io,ro,go,bo,lo,co,no,ao,yo,wo,ko,So]}class SnippetDrawer extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8N,create_fragment$8N,safe_not_equal,{snippet:0,show:10,hide:11})}get show(){return this.$$.ctx[10]}get hide(){return this.$$.ctx[11]}}function create_if_block$45(to){let ue,eo,no,ro,oo;const io=[create_if_block_1$29,create_if_block_2$1j],ao=[];function so(lo,co){var uo,fo;return co&6&&(ue=null),lo[1].cloud&&((fo=(uo=lo[2])==null?void 0:uo.user)!=null&&fo.accountPortalAccess)?0:(ue==null&&(ue=!!(!lo[1].cloud&&isAdmin(lo[2].user))),ue?1:-1)}return~(eo=so(to,-1))&&(no=ao[eo]=io[eo](to)),{c(){no&&no.c(),ro=empty$2()},m(lo,co){~eo&&ao[eo].m(lo,co),insert$1(lo,ro,co),oo=!0},p(lo,co){let uo=eo;eo=so(lo,co),eo===uo?~eo&&ao[eo].p(lo,co):(no&&(group_outros(),transition_out(ao[uo],1,1,()=>{ao[uo]=null}),check_outros()),~eo?(no=ao[eo],no?no.p(lo,co):(no=ao[eo]=io[eo](lo),no.c()),transition_in(no,1),no.m(ro.parentNode,ro)):no=null)},i(lo){oo||(transition_in(no),oo=!0)},o(lo){transition_out(no),oo=!1},d(lo){lo&&detach(ro),~eo&&ao[eo].d(lo)}}}function create_if_block_2$1j(to){let ue,eo;return ue=new Button({props:{cta:!0,size:"M",$$slots:{default:[create_default_slot_1$3Y]},$$scope:{ctx:to}}}),ue.$on("click",to[6]),ue.$on("click",to[7]),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&256&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_if_block_1$29(to){let ue,eo;return ue=new Button({props:{cta:!0,size:"M",$$slots:{default:[create_default_slot$5E]},$$scope:{ctx:to}}}),ue.$on("click",to[4]),ue.$on("click",to[5]),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&256&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_default_slot_1$3Y(to){let ue;return{c(){ue=text$1("Upgrade")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_default_slot$5E(to){let ue;return{c(){ue=text$1("Upgrade")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_fragment$8M(to){let ue,eo,no=!to[0].isEnterprisePlan&&!to[0].isEnterpriseTrial&&create_if_block$45(to);return{c(){no&&no.c(),ue=empty$2()},m(ro,oo){no&&no.m(ro,oo),insert$1(ro,ue,oo),eo=!0},p(ro,[oo]){!ro[0].isEnterprisePlan&&!ro[0].isEnterpriseTrial?no?(no.p(ro,oo),oo&1&&transition_in(no,1)):(no=create_if_block$45(ro),no.c(),transition_in(no,1),no.m(ue.parentNode,ue)):no&&(group_outros(),transition_out(no,1,1,()=>{no=null}),check_outros())},i(ro){eo||(transition_in(no),eo=!0)},o(ro){transition_out(no),eo=!1},d(ro){ro&&detach(ue),no&&no.d(ro)}}}function instance$8M(to,ue,eo){let no,ro,oo,io;component_subscribe(to,licensing,uo=>eo(0,no=uo)),component_subscribe(to,admin,uo=>eo(1,ro=uo)),component_subscribe(to,auth,uo=>eo(2,oo=uo)),component_subscribe(to,goto,uo=>eo(3,io=uo));function ao(uo){bubble.call(this,to,uo)}const so=()=>{window.open(ro.accountPortalUrl+"/portal/upgrade","_blank")},lo=()=>io("/builder/portal/account/upgrade");function co(uo){bubble.call(this,to,uo)}return[no,ro,oo,io,ao,so,lo,co]}class UpgradeButton extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8M,create_fragment$8M,safe_not_equal,{})}}const SnippetSidePanel_svelte_svelte_type_style_lang="";function get_each_context$1G(to,ue,eo){const no=to.slice();return no[27]=ue[eo],no}function create_else_block_3$2(to){let ue,eo,no,ro;return no=new Tags({props:{$$slots:{default:[create_default_slot_4$1F]},$$scope:{ctx:to}}}),{c(){ue=element("div"),eo=text$1(`Snippets
|
|
888
|
+
`)[0].split("= ")[1],ea==="null;"&&(ea="")),ea||""},Eo=Ko=>{let ra=[...Ko.map(ea=>ea[0])];return ho&&ra.push("Helpers"),ra},To=(Ko,ra)=>{!_o||!Ko.value||Ko.value===""||(Fo(),eo(7,yo=ra),eo(8,wo={helper:!1,code:Ko.valueHTML}),vo.show())},Mo=(Ko,ra)=>{Fo(),!(!Ko.displayText&&Ko.description)&&(eo(7,yo=ra),eo(8,wo={helper:!0,description:Ko.description,code:Io(Ko,po.name==="javascript")}),vo.show())},Vo=()=>{Ao=setTimeout(()=>{vo.hide(),eo(7,yo=null),eo(8,wo=null),Ao=null},100)},Fo=()=>{Ao&&(clearTimeout(Ao),Ao=null)},Po=async()=>{eo(5,bo=!0),eo(3,go="")},Ro=Ko=>{Ko.stopPropagation(),eo(5,bo=!1),eo(3,go="")};function Do(Ko){binding_callbacks[Ko?"unshift":"push"](()=>{vo=Ko,eo(6,vo)})}const Uo=()=>eo(4,So=null);function qo(Ko){go=Ko,eo(3,go)}const xo=Ko=>{eo(4,So=Ko)},Zo=(Ko,ra)=>To(Ko,ra.target),Xo=Ko=>uo(Ko),Yo=(Ko,ra)=>Mo(Ko,ra.target),Qo=Ko=>co(Ko,po.name==="javascript");return to.$$set=Ko=>{"addHelper"in Ko&&eo(0,co=Ko.addHelper),"addBinding"in Ko&&eo(1,uo=Ko.addBinding),"bindings"in Ko&&eo(19,fo=Ko.bindings),"mode"in Ko&&eo(2,po=Ko.mode),"allowHelpers"in Ko&&eo(20,ho=Ko.allowHelpers),"context"in Ko&&eo(21,_o=Ko.context)},to.$$.update=()=>{to.$$.dirty[0]&524288&&eo(24,no=fo==null?void 0:fo.reduce((Ko,ra)=>(ra.icon&&(Ko[ra.category]=Ko[ra.category]||ra.icon),Ko),{})),to.$$.dirty[0]&16777216&&eo(12,ro={...no,Helpers:"MagicWand"}),to.$$.dirty[0]&524288&&eo(23,oo=Object.entries(groupBy$1("category",fo))),to.$$.dirty[0]&8388608&&eo(11,io=Eo(oo)),to.$$.dirty[0]&8&&eo(22,ao=new RegExp(go,"ig")),to.$$.dirty[0]&12582936&&eo(10,so=oo.map(([Ko,ra])=>({name:Ko,bindings:ra==null?void 0:ra.filter(ea=>!go||ea.readableBinding.match(ao))})).filter(Ko=>{var ra;return((ra=Ko.bindings)==null?void 0:ra.length)>0&&(So?So===Ko.name:!0)})),to.$$.dirty[0]&4194316&&eo(9,lo=ko==null?void 0:ko.filter(Ko=>(!go||Ko.label.match(ao)||Ko.description.match(ao))&&(po.name!=="javascript"||Ko.allowsJs)))},[co,uo,po,go,So,bo,vo,yo,wo,lo,so,io,ro,To,Mo,Vo,Fo,Po,Ro,fo,ho,_o,ao,oo,no,Do,Uo,qo,xo,Zo,Xo,Yo,Qo]}class BindingSidePanel extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8P,create_fragment$8P,safe_not_equal,{addHelper:0,addBinding:1,bindings:19,mode:2,allowHelpers:20,context:21},null,[-1,-1])}}const EvaluationSidePanel_svelte_svelte_type_style_lang="";function get_each_context$1H(to,ue,eo){const no=to.slice();return no[13]=ue[eo],no}function create_else_block_1$o(to){let ue,eo,no,ro,oo,io,ao,so=to[1]&&create_if_block_8$f(),lo=!to[2]&&create_if_block_7$k(to);return{c(){ue=element("div"),ue.textContent="Preview",eo=space$1(),so&&so.c(),no=space$1(),ro=element("span"),oo=space$1(),lo&&lo.c(),io=empty$2(),attr(ro,"class","svelte-1ui77vs")},m(co,uo){insert$1(co,ue,uo),insert$1(co,eo,uo),so&&so.m(co,uo),insert$1(co,no,uo),insert$1(co,ro,uo),insert$1(co,oo,uo),lo&&lo.m(co,uo),insert$1(co,io,uo),ao=!0},p(co,uo){co[1]?so?uo&2&&transition_in(so,1):(so=create_if_block_8$f(),so.c(),transition_in(so,1),so.m(no.parentNode,no)):so&&(group_outros(),transition_out(so,1,1,()=>{so=null}),check_outros()),co[2]?lo&&(group_outros(),transition_out(lo,1,1,()=>{lo=null}),check_outros()):lo?(lo.p(co,uo),uo&4&&transition_in(lo,1)):(lo=create_if_block_7$k(co),lo.c(),transition_in(lo,1),lo.m(io.parentNode,io))},i(co){ao||(transition_in(so),transition_in(lo),ao=!0)},o(co){transition_out(so),transition_out(lo),ao=!1},d(co){co&&(detach(ue),detach(eo),detach(no),detach(ro),detach(oo),detach(io)),so&&so.d(co),lo&&lo.d(co)}}}function create_if_block_5$v(to){let ue,eo,no,ro,oo,io,ao,so,lo;ue=new Icon({props:{name:"Alert",color:"var(--error-content)"}});let co=to[1]&&create_if_block_6$n();return so=new Icon({props:{name:"Copy",size:"S",hoverable:!0}}),so.$on("click",to[8]),{c(){create_component(ue.$$.fragment),eo=space$1(),no=element("div"),no.textContent="Error",ro=space$1(),co&&co.c(),oo=space$1(),io=element("span"),ao=space$1(),create_component(so.$$.fragment),attr(io,"class","svelte-1ui77vs")},m(uo,fo){mount_component(ue,uo,fo),insert$1(uo,eo,fo),insert$1(uo,no,fo),insert$1(uo,ro,fo),co&&co.m(uo,fo),insert$1(uo,oo,fo),insert$1(uo,io,fo),insert$1(uo,ao,fo),mount_component(so,uo,fo),lo=!0},p(uo,fo){uo[1]?co?fo&2&&transition_in(co,1):(co=create_if_block_6$n(),co.c(),transition_in(co,1),co.m(oo.parentNode,oo)):co&&(group_outros(),transition_out(co,1,1,()=>{co=null}),check_outros())},i(uo){lo||(transition_in(ue.$$.fragment,uo),transition_in(co),transition_in(so.$$.fragment,uo),lo=!0)},o(uo){transition_out(ue.$$.fragment,uo),transition_out(co),transition_out(so.$$.fragment,uo),lo=!1},d(uo){uo&&(detach(eo),detach(no),detach(ro),detach(oo),detach(io),detach(ao)),destroy_component(ue,uo),co&&co.d(uo),destroy_component(so,uo)}}}function create_if_block_8$f(to){let ue,eo,no,ro;return eo=new ProgressCircle({props:{size:"S"}}),{c(){ue=element("div"),create_component(eo.$$.fragment)},m(oo,io){insert$1(oo,ue,io),mount_component(eo,ue,null),ro=!0},i(oo){ro||(transition_in(eo.$$.fragment,oo),oo&&add_render_callback(()=>{ro&&(no||(no=create_bidirectional_transition(ue,fade,{duration:130},!0)),no.run(1))}),ro=!0)},o(oo){transition_out(eo.$$.fragment,oo),oo&&(no||(no=create_bidirectional_transition(ue,fade,{duration:130},!1)),no.run(0)),ro=!1},d(oo){oo&&detach(ue),destroy_component(eo),oo&&no&&no.end()}}}function create_if_block_7$k(to){let ue,eo;return ue=new Icon({props:{name:"Copy",newStyles:!0,size:"S",hoverable:!0}}),ue.$on("click",to[8]),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p:noop$6,i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_if_block_6$n(to){let ue,eo,no,ro;return eo=new ProgressCircle({props:{size:"S"}}),{c(){ue=element("div"),create_component(eo.$$.fragment)},m(oo,io){insert$1(oo,ue,io),mount_component(eo,ue,null),ro=!0},i(oo){ro||(transition_in(eo.$$.fragment,oo),oo&&add_render_callback(()=>{ro&&(no||(no=create_bidirectional_transition(ue,fade,{duration:130},!0)),no.run(1))}),ro=!0)},o(oo){transition_out(eo.$$.fragment,oo),oo&&(no||(no=create_bidirectional_transition(ue,fade,{duration:130},!1)),no.run(0)),ro=!1},d(oo){oo&&detach(ue),destroy_component(eo),oo&&no&&no.end()}}}function create_else_block$1B(to){let ue,eo,no,ro,oo,io=ensure_array_like(to[4]),ao=[];for(let lo=0;lo<io.length;lo+=1)ao[lo]=create_each_block$1H(get_each_context$1H(to,io,lo));const so=lo=>transition_out(ao[lo],1,1,()=>{ao[lo]=null});return{c(){ue=element("div");for(let lo=0;lo<ao.length;lo+=1)ao[lo].c();eo=space$1(),no=element("div"),ro=element("div"),attr(no,"class","line svelte-1ui77vs"),attr(ue,"class","output-lines svelte-1ui77vs")},m(lo,co){insert$1(lo,ue,co);for(let uo=0;uo<ao.length;uo+=1)ao[uo]&&ao[uo].m(ue,null);append$2(ue,eo),append$2(ue,no),append$2(no,ro),ro.innerHTML=to[5],oo=!0},p(lo,co){if(co&16){io=ensure_array_like(lo[4]);let uo;for(uo=0;uo<io.length;uo+=1){const fo=get_each_context$1H(lo,io,uo);ao[uo]?(ao[uo].p(fo,co),transition_in(ao[uo],1)):(ao[uo]=create_each_block$1H(fo),ao[uo].c(),transition_in(ao[uo],1),ao[uo].m(ue,eo))}for(group_outros(),uo=io.length;uo<ao.length;uo+=1)so(uo);check_outros()}(!oo||co&32)&&(ro.innerHTML=lo[5])},i(lo){if(!oo){for(let co=0;co<io.length;co+=1)transition_in(ao[co]);oo=!0}},o(lo){ao=ao.filter(Boolean);for(let co=0;co<ao.length;co+=1)transition_out(ao[co]);oo=!1},d(lo){lo&&detach(ue),destroy_each(ao,lo)}}}function create_if_block_1$2b(to){let ue,eo=to[7](to[0])+"",no;return{c(){ue=element("div"),no=text$1(eo),attr(ue,"class","error-msg svelte-1ui77vs")},m(ro,oo){insert$1(ro,ue,oo),append$2(ue,no)},p(ro,oo){oo&1&&eo!==(eo=ro[7](ro[0])+"")&&set_data(no,eo)},i:noop$6,o:noop$6,d(ro){ro&&detach(ue)}}}function create_if_block$47(to){let ue;return{c(){ue=text$1("Your expression will be evaluated here")},m(eo,no){insert$1(eo,ue,no)},p:noop$6,i:noop$6,o:noop$6,d(eo){eo&&detach(ue)}}}function create_if_block_4$H(to){let ue,eo;return ue=new Icon({props:{size:"XS",name:"Alert",color:"var(--warning-content)"}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_if_block_3$Y(to){let ue,eo;return ue=new Icon({props:{size:"XS",name:"CloseCircle",color:"var(--error-content)"}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_if_block_2$1l(to){let ue,eo,no=to[13].line+"",ro;return{c(){ue=element("span"),eo=text$1(":"),ro=text$1(no),set_style(ue,"color","var(--blue)"),set_style(ue,"overflow-wrap","normal")},m(oo,io){insert$1(oo,ue,io),append$2(ue,eo),append$2(ue,ro)},p(oo,io){io&16&&no!==(no=oo[13].line+"")&&set_data(ro,no)},d(oo){oo&&detach(ue)}}}function create_each_block$1H(to){let ue,eo,no,ro,oo,io,ao=to[13].log+"",so,lo;const co=[create_if_block_3$Y,create_if_block_4$H],uo=[];function fo(ho,_o){return ho[13].type==="error"?0:ho[13].type==="warn"?1:-1}~(no=fo(to))&&(ro=uo[no]=co[no](to));let po=to[13].line&&create_if_block_2$1l(to);return{c(){ue=element("div"),eo=element("div"),ro&&ro.c(),oo=space$1(),io=element("span"),so=space$1(),po&&po.c(),attr(eo,"class","icon-log svelte-1ui77vs"),attr(ue,"class","line svelte-1ui77vs"),toggle_class(ue,"error-log",to[13].type==="error"),toggle_class(ue,"warn-log",to[13].type==="warn")},m(ho,_o){insert$1(ho,ue,_o),append$2(ue,eo),~no&&uo[no].m(eo,null),append$2(eo,oo),append$2(eo,io),io.innerHTML=ao,append$2(ue,so),po&&po.m(ue,null),lo=!0},p(ho,_o){let go=no;no=fo(ho),no!==go&&(ro&&(group_outros(),transition_out(uo[go],1,1,()=>{uo[go]=null}),check_outros()),~no?(ro=uo[no],ro||(ro=uo[no]=co[no](ho),ro.c()),transition_in(ro,1),ro.m(eo,oo)):ro=null),(!lo||_o&16)&&ao!==(ao=ho[13].log+"")&&(io.innerHTML=ao),ho[13].line?po?po.p(ho,_o):(po=create_if_block_2$1l(ho),po.c(),po.m(ue,null)):po&&(po.d(1),po=null),(!lo||_o&16)&&toggle_class(ue,"error-log",ho[13].type==="error"),(!lo||_o&16)&&toggle_class(ue,"warn-log",ho[13].type==="warn")},i(ho){lo||(transition_in(ro),lo=!0)},o(ho){transition_out(ro),lo=!1},d(ho){ho&&detach(ue),~no&&uo[no].d(),po&&po.d()}}}function create_fragment$8O(to){let ue,eo,no,ro,oo,io,ao,so,lo,co;const uo=[create_if_block_5$v,create_else_block_1$o],fo=[];function po(bo,vo){return bo[3]?0:1}ro=po(to),oo=fo[ro]=uo[ro](to);const ho=[create_if_block$47,create_if_block_1$2b,create_else_block$1B],_o=[];function go(bo,vo){return bo[2]?0:bo[3]?1:2}return so=go(to),lo=_o[so]=ho[so](to),{c(){ue=element("div"),eo=element("div"),no=element("div"),oo.c(),io=space$1(),ao=element("div"),lo.c(),attr(no,"class","header-content svelte-1ui77vs"),attr(eo,"class","header svelte-1ui77vs"),toggle_class(eo,"success",to[6]),toggle_class(eo,"error",to[3]),attr(ao,"class","body svelte-1ui77vs"),attr(ue,"class","evaluation-side-panel svelte-1ui77vs")},m(bo,vo){insert$1(bo,ue,vo),append$2(ue,eo),append$2(eo,no),fo[ro].m(no,null),append$2(ue,io),append$2(ue,ao),_o[so].m(ao,null),co=!0},p(bo,[vo]){let yo=ro;ro=po(bo),ro===yo?fo[ro].p(bo,vo):(group_outros(),transition_out(fo[yo],1,1,()=>{fo[yo]=null}),check_outros(),oo=fo[ro],oo?oo.p(bo,vo):(oo=fo[ro]=uo[ro](bo),oo.c()),transition_in(oo,1),oo.m(no,null)),(!co||vo&64)&&toggle_class(eo,"success",bo[6]),(!co||vo&8)&&toggle_class(eo,"error",bo[3]);let wo=so;so=go(bo),so===wo?_o[so].p(bo,vo):(group_outros(),transition_out(_o[wo],1,1,()=>{_o[wo]=null}),check_outros(),lo=_o[so],lo?lo.p(bo,vo):(lo=_o[so]=ho[so](bo),lo.c()),transition_in(lo,1),lo.m(ao,null))},i(bo){co||(transition_in(oo),transition_in(lo),co=!0)},o(bo){transition_out(oo),transition_out(lo),co=!1},d(bo){bo&&detach(ue),fo[ro].d(),_o[so].d()}}}function instance$8O(to,ue,eo){let no,ro,oo,io,ao,{expressionResult:so=void 0}=ue,{expressionError:lo=void 0}=ue,{expressionLogs:co=[]}=ue,{evaluating:uo=!1}=ue,{expression:fo=null}=ue;const po=go=>go.code===UserScriptError.code?go.userScriptError.toString():go.toString(),ho=go=>{if(go==null)return"";try{go=JSON.stringify(JSON.parse(go),null,2)}catch{}return format$1(go,{keyColor:"#e06c75",numberColor:"#e5c07b",stringColor:"#98c379",trueColor:"#d19a66",falseColor:"#d19a66",nullColor:"#c678dd"})},_o=()=>{let go=so;typeof go=="object"&&(go=JSON.stringify(go,null,2)),copyToClipboard(go),notifications.success("Value copied to clipboard")};return to.$$set=go=>{"expressionResult"in go&&eo(9,so=go.expressionResult),"expressionError"in go&&eo(0,lo=go.expressionError),"expressionLogs"in go&&eo(10,co=go.expressionLogs),"evaluating"in go&&eo(1,uo=go.evaluating),"expression"in go&&eo(11,fo=go.expression)},to.$$.update=()=>{to.$$.dirty&1&&eo(3,no=lo!=null),to.$$.dirty&2048&&eo(2,ro=fo==null||(fo==null?void 0:fo.trim())===""),to.$$.dirty&12&&eo(6,oo=!no&&!ro),to.$$.dirty&512&&eo(5,io=ho(so)),to.$$.dirty&1024&&eo(4,ao=co.map(go=>({log:go.log.map(bo=>ho(bo)).join(", "),line:go.line,type:go.type})))},[lo,uo,ro,no,ao,io,oo,po,_o,so,co,fo]}class EvaluationSidePanel extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8O,create_fragment$8O,safe_not_equal,{expressionResult:9,expressionError:0,expressionLogs:10,evaluating:1,expression:11})}}const SnippetDrawer_svelte_svelte_type_style_lang="";function create_else_block$1A(to){let ue,eo,no,ro,oo,io,ao;function so(uo){to[15](uo)}let lo={};to[1]!==void 0&&(lo.value=to[1]),ro=new Input$5({props:lo}),binding_callbacks.push(()=>bind$2(ro,"value",so));let co=to[6]&&create_if_block_2$1k(to);return{c(){ue=element("div"),eo=element("span"),eo.textContent="Name",no=space$1(),create_component(ro.$$.fragment),io=space$1(),co&&co.c(),attr(ue,"class","name svelte-8n6wau"),toggle_class(ue,"invalid",to[6]!=null)},m(uo,fo){insert$1(uo,ue,fo),append$2(ue,eo),append$2(ue,no),mount_component(ro,ue,null),append$2(ue,io),co&&co.m(ue,null),ao=!0},p(uo,fo){const po={};!oo&&fo&2&&(oo=!0,po.value=uo[1],add_flush_callback(()=>oo=!1)),ro.$set(po),uo[6]?co?(co.p(uo,fo),fo&64&&transition_in(co,1)):(co=create_if_block_2$1k(uo),co.c(),transition_in(co,1),co.m(ue,null)):co&&(group_outros(),transition_out(co,1,1,()=>{co=null}),check_outros()),(!ao||fo&64)&&toggle_class(ue,"invalid",uo[6]!=null)},i(uo){ao||(transition_in(ro.$$.fragment,uo),transition_in(co),ao=!0)},o(uo){transition_out(ro.$$.fragment,uo),transition_out(co),ao=!1},d(uo){uo&&detach(ue),destroy_component(ro),co&&co.d()}}}function create_if_block_1$2a(to){let ue=to[0].name+"",eo;return{c(){eo=text$1(ue)},m(no,ro){insert$1(no,eo,ro)},p(no,ro){ro&1&&ue!==(ue=no[0].name+"")&&set_data(eo,ue)},i:noop$6,o:noop$6,d(no){no&&detach(eo)}}}function create_if_block_2$1k(to){let ue,eo;return ue=new AbsTooltip({props:{text:to[6],type:TooltipType.Negative,$$slots:{default:[create_default_slot_2$2R]},$$scope:{ctx:to}}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&64&&(oo.text=no[6]),ro&1048576&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_default_slot_2$2R(to){let ue,eo;return ue=new Icon({props:{name:"Help",size:"S",color:"var(--spectrum-global-color-red-400)"}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p:noop$6,i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_title_slot(to){let ue,eo,no,ro;const oo=[create_if_block_1$2a,create_else_block$1A],io=[];function ao(so,lo){return so[0]?0:1}return ue=ao(to),eo=io[ue]=oo[ue](to),{c(){eo.c(),no=empty$2()},m(so,lo){io[ue].m(so,lo),insert$1(so,no,lo),ro=!0},p(so,lo){let co=ue;ue=ao(so),ue===co?io[ue].p(so,lo):(group_outros(),transition_out(io[co],1,1,()=>{io[co]=null}),check_outros(),eo=io[ue],eo?eo.p(so,lo):(eo=io[ue]=oo[ue](so),eo.c()),transition_in(eo,1),eo.m(no.parentNode,no))},i(so){ro||(transition_in(eo),ro=!0)},o(so){transition_out(eo),ro=!1},d(so){so&&detach(no),io[ue].d(so)}}}function create_if_block$46(to){let ue,eo;return ue=new Button({props:{warning:!0,disabled:to[4],$$slots:{default:[create_default_slot_1$3Z]},$$scope:{ctx:to}}}),ue.$on("click",function(){is_function(to[5].show)&&to[5].show.apply(this,arguments)}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){to=no;const oo={};ro&16&&(oo.disabled=to[4]),ro&1048576&&(oo.$$scope={dirty:ro,ctx:to}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_default_slot_1$3Z(to){let ue;return{c(){ue=text$1("Delete")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_default_slot$5F(to){let ue;return{c(){ue=text$1("Save")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_buttons_slot$h(to){let ue,eo,no,ro=to[0]&&create_if_block$46(to);return eo=new Button({props:{cta:!0,disabled:!to[2]||to[4]||to[6],$$slots:{default:[create_default_slot$5F]},$$scope:{ctx:to}}}),eo.$on("click",to[8]),{c(){ro&&ro.c(),ue=space$1(),create_component(eo.$$.fragment)},m(oo,io){ro&&ro.m(oo,io),insert$1(oo,ue,io),mount_component(eo,oo,io),no=!0},p(oo,io){oo[0]?ro?(ro.p(oo,io),io&1&&transition_in(ro,1)):(ro=create_if_block$46(oo),ro.c(),transition_in(ro,1),ro.m(ue.parentNode,ue)):ro&&(group_outros(),transition_out(ro,1,1,()=>{ro=null}),check_outros());const ao={};io&84&&(ao.disabled=!oo[2]||oo[4]||oo[6]),io&1048576&&(ao.$$scope={dirty:io,ctx:oo}),eo.$set(ao)},i(oo){no||(transition_in(ro),transition_in(eo.$$.fragment,oo),no=!0)},o(oo){transition_out(ro),transition_out(eo.$$.fragment,oo),no=!1},d(oo){oo&&detach(ue),ro&&ro.d(oo),destroy_component(eo,oo)}}}function create_tabs_slot(to){let ue,eo,no;return eo=new Input$5({props:{placeholder:"Name"}}),{c(){ue=element("div"),create_component(eo.$$.fragment),attr(ue,"slot","tabs")},m(ro,oo){insert$1(ro,ue,oo),mount_component(eo,ue,null),no=!0},p:noop$6,i(ro){no||(transition_in(eo.$$.fragment,ro),no=!0)},o(ro){transition_out(eo.$$.fragment,ro),no=!1},d(ro){ro&&detach(ue),destroy_component(eo)}}}function create_key_block$i(to){let ue,eo;return ue=new BindingPanel({props:{allowHBS:!1,allowJS:!0,allowSnippets:!1,showTabBar:!1,placeholder:"return function(input) ❴ ... ❵",value:to[2],$$slots:{tabs:[create_tabs_slot]},$$scope:{ctx:to}}}),ue.$on("change",to[14]),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&4&&(oo.value=no[2]),ro&1048576&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_body_slot$g(to){let ue=to[7],eo,no,ro=create_key_block$i(to);return{c(){ro.c(),eo=empty$2()},m(oo,io){ro.m(oo,io),insert$1(oo,eo,io),no=!0},p(oo,io){io&128&&safe_not_equal(ue,ue=oo[7])?(group_outros(),transition_out(ro,1,1,noop$6),check_outros(),ro=create_key_block$i(oo),ro.c(),transition_in(ro,1),ro.m(eo.parentNode,eo)):ro.p(oo,io)},i(oo){no||(transition_in(ro),no=!0)},o(oo){transition_out(ro),no=!1},d(oo){oo&&detach(eo),ro.d(oo)}}}function create_fragment$8N(to){var ao;let ue,eo,no,ro,oo={$$slots:{body:[create_body_slot$g],buttons:[create_buttons_slot$h],title:[create_title_slot]},$$scope:{ctx:to}};ue=new Drawer({props:oo}),to[16](ue);let io={title:"Delete snippet",body:`Are you sure you want to delete ${(ao=to[0])==null?void 0:ao.name}?`,onOk:to[9]};return no=new ConfirmDialog({props:io}),to[17](no),{c(){create_component(ue.$$.fragment),eo=space$1(),create_component(no.$$.fragment)},m(so,lo){mount_component(ue,so,lo),insert$1(so,eo,lo),mount_component(no,so,lo),ro=!0},p(so,[lo]){var fo;const co={};lo&1048823&&(co.$$scope={dirty:lo,ctx:so}),ue.$set(co);const uo={};lo&1&&(uo.body=`Are you sure you want to delete ${(fo=so[0])==null?void 0:fo.name}?`),no.$set(uo)},i(so){ro||(transition_in(ue.$$.fragment,so),transition_in(no.$$.fragment,so),ro=!0)},o(so){transition_out(ue.$$.fragment,so),transition_out(no.$$.fragment,so),ro=!1},d(so){so&&detach(eo),to[16](null),destroy_component(ue,so),to[17](null),destroy_component(no,so)}}}const firstCharNumberRegex=/^[0-9].*$/;function instance$8N(to,ue,eo){let no,ro,oo,io,ao;component_subscribe(to,snippets$1,Ao=>eo(13,ao=Ao));let{snippet:so}=ue;const lo=()=>uo.show(),co=()=>uo.hide();let uo,fo="",po="",ho=!1,_o;const go=async()=>{eo(4,ho=!0);try{const Ao={name:fo,code:oo};await snippets$1.saveSnippet(Ao),uo.hide(),notifications.success(`Snippet ${Ao.name} saved`)}catch(Ao){notifications.error(Ao.message||"Error saving snippet")}eo(4,ho=!1)},bo=async()=>{eo(4,ho=!0);try{await snippets$1.deleteSnippet(so.name),uo.hide()}catch{notifications.error("Error deleting snippet")}eo(4,ho=!1)},vo=(Ao,Io)=>Ao!=null&&Ao.length?!(so!=null&&so.name)&&Io.some(Eo=>Eo.name===Ao)?"That name is already in use":firstCharNumberRegex.test(Ao)?"Can't start with a number":ValidSnippetNameRegex.test(Ao)?null:"No special characters or spaces":"Name is required",yo=Ao=>eo(2,po=Ao.detail);function wo(Ao){fo=Ao,eo(1,fo),eo(0,so),eo(12,no),eo(13,ao)}function ko(Ao){binding_callbacks[Ao?"unshift":"push"](()=>{uo=Ao,eo(3,uo)})}function So(Ao){binding_callbacks[Ao?"unshift":"push"](()=>{_o=Ao,eo(5,_o)})}return to.$$set=Ao=>{"snippet"in Ao&&eo(0,so=Ao.snippet)},to.$$.update=()=>{to.$$.dirty&8192&&eo(12,no=getSequentialName(ao,"MySnippet",{getName:Ao=>Ao.name})),to.$$.dirty&1&&eo(7,ro=so==null?void 0:so.name),to.$$.dirty&4097&&eo(1,fo=(so==null?void 0:so.name)||no),to.$$.dirty&1&&eo(2,po=so!=null&&so.code?encodeJSBinding(so.code):""),to.$$.dirty&4&&(oo=decodeJSBinding(po)),to.$$.dirty&8194&&eo(6,io=vo(fo,ao))},[so,fo,po,uo,ho,_o,io,ro,go,bo,lo,co,no,ao,yo,wo,ko,So]}class SnippetDrawer extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8N,create_fragment$8N,safe_not_equal,{snippet:0,show:10,hide:11})}get show(){return this.$$.ctx[10]}get hide(){return this.$$.ctx[11]}}function create_if_block$45(to){let ue,eo,no,ro,oo;const io=[create_if_block_1$29,create_if_block_2$1j],ao=[];function so(lo,co){var uo,fo;return co&6&&(ue=null),lo[1].cloud&&((fo=(uo=lo[2])==null?void 0:uo.user)!=null&&fo.accountPortalAccess)?0:(ue==null&&(ue=!!(!lo[1].cloud&&isAdmin(lo[2].user))),ue?1:-1)}return~(eo=so(to,-1))&&(no=ao[eo]=io[eo](to)),{c(){no&&no.c(),ro=empty$2()},m(lo,co){~eo&&ao[eo].m(lo,co),insert$1(lo,ro,co),oo=!0},p(lo,co){let uo=eo;eo=so(lo,co),eo===uo?~eo&&ao[eo].p(lo,co):(no&&(group_outros(),transition_out(ao[uo],1,1,()=>{ao[uo]=null}),check_outros()),~eo?(no=ao[eo],no?no.p(lo,co):(no=ao[eo]=io[eo](lo),no.c()),transition_in(no,1),no.m(ro.parentNode,ro)):no=null)},i(lo){oo||(transition_in(no),oo=!0)},o(lo){transition_out(no),oo=!1},d(lo){lo&&detach(ro),~eo&&ao[eo].d(lo)}}}function create_if_block_2$1j(to){let ue,eo;return ue=new Button({props:{cta:!0,size:"M",$$slots:{default:[create_default_slot_1$3Y]},$$scope:{ctx:to}}}),ue.$on("click",to[6]),ue.$on("click",to[7]),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&256&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_if_block_1$29(to){let ue,eo;return ue=new Button({props:{cta:!0,size:"M",$$slots:{default:[create_default_slot$5E]},$$scope:{ctx:to}}}),ue.$on("click",to[4]),ue.$on("click",to[5]),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&256&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_default_slot_1$3Y(to){let ue;return{c(){ue=text$1("Upgrade")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_default_slot$5E(to){let ue;return{c(){ue=text$1("Upgrade")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_fragment$8M(to){let ue,eo,no=!to[0].isEnterprisePlan&&!to[0].isEnterpriseTrial&&create_if_block$45(to);return{c(){no&&no.c(),ue=empty$2()},m(ro,oo){no&&no.m(ro,oo),insert$1(ro,ue,oo),eo=!0},p(ro,[oo]){!ro[0].isEnterprisePlan&&!ro[0].isEnterpriseTrial?no?(no.p(ro,oo),oo&1&&transition_in(no,1)):(no=create_if_block$45(ro),no.c(),transition_in(no,1),no.m(ue.parentNode,ue)):no&&(group_outros(),transition_out(no,1,1,()=>{no=null}),check_outros())},i(ro){eo||(transition_in(no),eo=!0)},o(ro){transition_out(no),eo=!1},d(ro){ro&&detach(ue),no&&no.d(ro)}}}function instance$8M(to,ue,eo){let no,ro,oo,io;component_subscribe(to,licensing,uo=>eo(0,no=uo)),component_subscribe(to,admin,uo=>eo(1,ro=uo)),component_subscribe(to,auth,uo=>eo(2,oo=uo)),component_subscribe(to,goto,uo=>eo(3,io=uo));function ao(uo){bubble.call(this,to,uo)}const so=()=>{window.open(ro.accountPortalUrl+"/portal/upgrade","_blank")},lo=()=>io("/builder/portal/account/upgrade");function co(uo){bubble.call(this,to,uo)}return[no,ro,oo,io,ao,so,lo,co]}class UpgradeButton extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8M,create_fragment$8M,safe_not_equal,{})}}const SnippetSidePanel_svelte_svelte_type_style_lang="";function get_each_context$1G(to,ue,eo){const no=to.slice();return no[27]=ue[eo],no}function create_else_block_3$2(to){let ue,eo,no,ro;return no=new Tags({props:{$$slots:{default:[create_default_slot_4$1F]},$$scope:{ctx:to}}}),{c(){ue=element("div"),eo=text$1(`Snippets
|
|
889
889
|
`),create_component(no.$$.fragment),attr(ue,"class","title svelte-10gqizr")},m(oo,io){insert$1(oo,ue,io),append$2(ue,eo),mount_component(no,ue,null),ro=!0},p(oo,io){const ao={};io&1073741824&&(ao.$$scope={dirty:io,ctx:oo}),no.$set(ao)},i(oo){ro||(transition_in(no.$$.fragment,oo),ro=!0)},o(oo){transition_out(no.$$.fragment,oo),ro=!1},d(oo){oo&&detach(ue),destroy_component(no)}}}function create_if_block_2$1i(to){let ue,eo,no,ro;const oo=[create_if_block_3$X,create_else_block_2$7],io=[];function ao(so,lo){return so[3]?0:1}return ue=ao(to),eo=io[ue]=oo[ue](to),{c(){eo.c(),no=empty$2()},m(so,lo){io[ue].m(so,lo),insert$1(so,no,lo),ro=!0},p(so,lo){let co=ue;ue=ao(so),ue===co?io[ue].p(so,lo):(group_outros(),transition_out(io[co],1,1,()=>{io[co]=null}),check_outros(),eo=io[ue],eo?eo.p(so,lo):(eo=io[ue]=oo[ue](so),eo.c()),transition_in(eo,1),eo.m(no.parentNode,no))},i(so){ro||(transition_in(eo),ro=!0)},o(so){transition_out(eo),ro=!1},d(so){so&&detach(no),io[ue].d(so)}}}function create_default_slot_5$1h(to){let ue;return{c(){ue=text$1("Premium")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_default_slot_4$1F(to){let ue,eo;return ue=new Tag$1({props:{icon:"LockClosed",$$slots:{default:[create_default_slot_5$1h]},$$scope:{ctx:to}}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&1073741824&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_else_block_2$7(to){let ue,eo,no,ro,oo,io;return no=new Icon({props:{size:"S",name:"Search",hoverable:!0,newStyles:!0}}),no.$on("click",to[13]),oo=new Icon({props:{size:"S",name:"Add",hoverable:!0,newStyles:!0}}),oo.$on("click",to[15]),{c(){ue=element("div"),ue.textContent="Snippets",eo=space$1(),create_component(no.$$.fragment),ro=space$1(),create_component(oo.$$.fragment),attr(ue,"class","title svelte-10gqizr")},m(ao,so){insert$1(ao,ue,so),insert$1(ao,eo,so),mount_component(no,ao,so),insert$1(ao,ro,so),mount_component(oo,ao,so),io=!0},p:noop$6,i(ao){io||(transition_in(no.$$.fragment,ao),transition_in(oo.$$.fragment,ao),io=!0)},o(ao){transition_out(no.$$.fragment,ao),transition_out(oo.$$.fragment,ao),io=!1},d(ao){ao&&(detach(ue),detach(eo),detach(ro)),destroy_component(no,ao),destroy_component(oo,ao)}}}function create_if_block_3$X(to){let ue,eo,no,ro,oo,io;function ao(lo){to[19](lo)}let so={placeholder:"Search for snippets",autocomplete:"off",autofocus:!0};return to[1]!==void 0&&(so.value=to[1]),eo=new Input$5({props:so}),binding_callbacks.push(()=>bind$2(eo,"value",ao)),oo=new Icon({props:{size:"S",name:"Close",hoverable:!0,newStyles:!0}}),oo.$on("click",to[14]),{c(){ue=element("div"),create_component(eo.$$.fragment),ro=space$1(),create_component(oo.$$.fragment),attr(ue,"class","search-input svelte-10gqizr")},m(lo,co){insert$1(lo,ue,co),mount_component(eo,ue,null),insert$1(lo,ro,co),mount_component(oo,lo,co),io=!0},p(lo,co){const uo={};!no&&co&2&&(no=!0,uo.value=lo[1],add_flush_callback(()=>no=!1)),eo.$set(uo)},i(lo){io||(transition_in(eo.$$.fragment,lo),transition_in(oo.$$.fragment,lo),io=!0)},o(lo){transition_out(eo.$$.fragment,lo),transition_out(oo.$$.fragment,lo),io=!1},d(lo){lo&&(detach(ue),detach(ro)),destroy_component(eo),destroy_component(oo,lo)}}}function create_else_block$1z(to){let ue,eo,no,ro,oo,io;eo=new Body({props:{size:"S",$$slots:{default:[create_default_slot_3$2d]},$$scope:{ctx:to}}});const ao=[create_if_block_1$28,create_else_block_1$n],so=[];function lo(co,uo){return co[2]?0:1}return ro=lo(to),oo=so[ro]=ao[ro](to),{c(){ue=element("div"),create_component(eo.$$.fragment),no=space$1(),oo.c(),attr(ue,"class","upgrade svelte-10gqizr")},m(co,uo){insert$1(co,ue,uo),mount_component(eo,ue,null),append$2(ue,no),so[ro].m(ue,null),io=!0},p(co,uo){const fo={};uo&1073741824&&(fo.$$scope={dirty:uo,ctx:co}),eo.$set(fo);let po=ro;ro=lo(co),ro===po?so[ro].p(co,uo):(group_outros(),transition_out(so[po],1,1,()=>{so[po]=null}),check_outros(),oo=so[ro],oo?oo.p(co,uo):(oo=so[ro]=ao[ro](co),oo.c()),transition_in(oo,1),oo.m(ue,null))},i(co){io||(transition_in(eo.$$.fragment,co),transition_in(oo),io=!0)},o(co){transition_out(eo.$$.fragment,co),transition_out(oo),io=!1},d(co){co&&detach(ue),destroy_component(eo),so[ro].d()}}}function create_if_block$44(to){let ue,eo,no=ensure_array_like(to[9]),ro=[];for(let io=0;io<no.length;io+=1)ro[io]=create_each_block$1G(get_each_context$1G(to,no,io));const oo=io=>transition_out(ro[io],1,1,()=>{ro[io]=null});return{c(){for(let io=0;io<ro.length;io+=1)ro[io].c();ue=empty$2()},m(io,ao){for(let so=0;so<ro.length;so+=1)ro[so]&&ro[so].m(io,ao);insert$1(io,ue,ao),eo=!0},p(io,ao){if(ao&69121){no=ensure_array_like(io[9]);let so;for(so=0;so<no.length;so+=1){const lo=get_each_context$1G(io,no,so);ro[so]?(ro[so].p(lo,ao),transition_in(ro[so],1)):(ro[so]=create_each_block$1G(lo),ro[so].c(),transition_in(ro[so],1),ro[so].m(ue.parentNode,ue))}for(group_outros(),so=no.length;so<ro.length;so+=1)oo(so);check_outros()}},i(io){if(!eo){for(let ao=0;ao<no.length;ao+=1)transition_in(ro[ao]);eo=!0}},o(io){ro=ro.filter(Boolean);for(let ao=0;ao<ro.length;ao+=1)transition_out(ro[ao]);eo=!1},d(io){io&&detach(ue),destroy_each(ro,io)}}}function create_default_slot_3$2d(to){let ue;return{c(){ue=text$1(`Snippets let you create reusable JS functions and values that can
|
|
890
890
|
all be managed in one place`)},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_else_block_1$n(to){let ue,eo;return ue=new UpgradeButton({}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p:noop$6,i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_if_block_1$28(to){let ue,eo;return ue=new Button({props:{cta:!0,$$slots:{default:[create_default_slot_2$2Q]},$$scope:{ctx:to}}}),ue.$on("click",to[15]),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&1073741824&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_default_slot_2$2Q(to){let ue;return{c(){ue=text$1("Create snippet")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_each_block$1G(to){let ue,eo=to[27].name+"",no,ro,oo,io,ao,so,lo;function co(...po){return to[20](to[27],...po)}oo=new Icon({props:{name:"Edit",hoverable:!0,newStyles:!0,size:"S"}}),oo.$on("click",co);function uo(...po){return to[21](to[27],...po)}function fo(){return to[22](to[27])}return{c(){ue=element("div"),no=text$1(eo),ro=space$1(),create_component(oo.$$.fragment),io=space$1(),attr(ue,"class","snippet svelte-10gqizr")},m(po,ho){insert$1(po,ue,ho),append$2(ue,no),append$2(ue,ro),mount_component(oo,ue,null),append$2(ue,io),ao=!0,so||(lo=[listen(ue,"mouseenter",uo),listen(ue,"mouseleave",to[11]),listen(ue,"click",fo)],so=!0)},p(po,ho){to=po,(!ao||ho&512)&&eo!==(eo=to[27].name+"")&&set_data(no,eo)},i(po){ao||(transition_in(oo.$$.fragment,po),ao=!0)},o(po){transition_out(oo.$$.fragment,po),ao=!1},d(po){po&&detach(ue),destroy_component(oo),so=!1,run_all(lo)}}}function create_default_slot_1$3X(to){let ue,eo,no,ro,oo,io,ao,so;const lo=[create_if_block_2$1i,create_else_block_3$2],co=[];function uo(_o,go){return _o[2]?0:1}eo=uo(to),no=co[eo]=lo[eo](to);const fo=[create_if_block$44,create_else_block$1z],po=[];function ho(_o,go){var bo;return _o[2]&&((bo=_o[9])!=null&&bo.length)?0:1}return io=ho(to),ao=po[io]=fo[io](to),{c(){ue=element("div"),no.c(),ro=space$1(),oo=element("div"),ao.c(),attr(ue,"class","header svelte-10gqizr"),attr(oo,"class","snippet-list svelte-10gqizr")},m(_o,go){insert$1(_o,ue,go),co[eo].m(ue,null),insert$1(_o,ro,go),insert$1(_o,oo,go),po[io].m(oo,null),so=!0},p(_o,go){let bo=eo;eo=uo(_o),eo===bo?co[eo].p(_o,go):(group_outros(),transition_out(co[bo],1,1,()=>{co[bo]=null}),check_outros(),no=co[eo],no?no.p(_o,go):(no=co[eo]=lo[eo](_o),no.c()),transition_in(no,1),no.m(ue,null));let vo=io;io=ho(_o),io===vo?po[io].p(_o,go):(group_outros(),transition_out(po[vo],1,1,()=>{po[vo]=null}),check_outros(),ao=po[io],ao?ao.p(_o,go):(ao=po[io]=fo[io](_o),ao.c()),transition_in(ao,1),ao.m(oo,null))},i(_o){so||(transition_in(no),transition_in(ao),so=!0)},o(_o){transition_out(no),transition_out(ao),so=!1},d(_o){_o&&(detach(ue),detach(ro),detach(oo)),co[eo].d(),po[io].d()}}}function create_key_block$h(to){var no;let ue,eo;return ue=new CodeEditor({props:{value:(no=to[6].code)==null?void 0:no.trim(),mode:EditorModes$1.JS,readonly:!0}}),{c(){create_component(ue.$$.fragment)},m(ro,oo){mount_component(ue,ro,oo),eo=!0},p(ro,oo){var ao;const io={};oo&64&&(io.value=(ao=ro[6].code)==null?void 0:ao.trim()),ue.$set(io)},i(ro){eo||(transition_in(ue.$$.fragment,ro),eo=!0)},o(ro){transition_out(ue.$$.fragment,ro),eo=!1},d(ro){destroy_component(ue,ro)}}}function create_default_slot$5D(to){let ue,eo=to[6],no,ro=create_key_block$h(to);return{c(){ue=element("div"),ro.c(),attr(ue,"class","snippet-popover svelte-10gqizr")},m(oo,io){insert$1(oo,ue,io),ro.m(ue,null),no=!0},p(oo,io){io&64&&safe_not_equal(eo,eo=oo[6])?(group_outros(),transition_out(ro,1,1,noop$6),check_outros(),ro=create_key_block$h(oo),ro.c(),transition_in(ro,1),ro.m(ue,null)):ro.p(oo,io)},i(oo){no||(transition_in(ro),no=!0)},o(oo){transition_out(ro),no=!1},d(oo){oo&&detach(ue),ro.d(oo)}}}function create_fragment$8L(to){let ue,eo,no,ro,oo,io,ao;eo=new Layout$n({props:{noPadding:!0,gap:"S",$$slots:{default:[create_default_slot_1$3X]},$$scope:{ctx:to}}});let so={align:"left-outside",anchor:to[5],minWidth:0,maxWidth:480,maxHeight:480,dismissible:!1,$$slots:{default:[create_default_slot$5D]},$$scope:{ctx:to}};ro=new Popover({props:so}),to[23](ro),ro.$on("mouseenter",to[12]),ro.$on("mouseleave",to[11]);let lo={snippet:to[8]};return io=new SnippetDrawer({props:lo}),to[24](io),{c(){ue=element("div"),create_component(eo.$$.fragment),no=space$1(),create_component(ro.$$.fragment),oo=space$1(),create_component(io.$$.fragment),attr(ue,"class","snippet-side-panel svelte-10gqizr")},m(co,uo){insert$1(co,ue,uo),mount_component(eo,ue,null),insert$1(co,no,uo),mount_component(ro,co,uo),insert$1(co,oo,uo),mount_component(io,co,uo),ao=!0},p(co,[uo]){const fo={};uo&1073742351&&(fo.$$scope={dirty:uo,ctx:co}),eo.$set(fo);const po={};uo&32&&(po.anchor=co[5]),uo&1073741888&&(po.$$scope={dirty:uo,ctx:co}),ro.$set(po);const ho={};uo&256&&(ho.snippet=co[8]),io.$set(ho)},i(co){ao||(transition_in(eo.$$.fragment,co),transition_in(ro.$$.fragment,co),transition_in(io.$$.fragment,co),ao=!0)},o(co){transition_out(eo.$$.fragment,co),transition_out(ro.$$.fragment,co),transition_out(io.$$.fragment,co),ao=!1},d(co){co&&(detach(ue),detach(no),detach(oo)),destroy_component(eo),to[23](null),destroy_component(ro,co),to[24](null),destroy_component(io,co)}}}function instance$8L(to,ue,eo){let no,ro,oo;component_subscribe(to,licensing,Po=>eo(18,oo=Po));let{addSnippet:io}=ue,{snippets:ao}=ue,so="",lo=!1,co,uo,fo,po,ho,_o;const go=(Po,Ro,Do)=>!Po||!(Ro!=null&&Ro.length)?[]:Do!=null&&Do.length?Ro.filter(Uo=>Uo.name.toLowerCase().includes(Do.toLowerCase())):Ro,bo=(Po,Ro)=>{yo(),eo(5,uo=Ro),eo(6,fo=Po),co.show()},vo=()=>{po=setTimeout(()=>{co.hide(),eo(5,uo=null),eo(6,fo=null),po=null},100)},yo=()=>{po&&(clearTimeout(po),po=null)},wo=()=>{eo(3,lo=!0),eo(1,so="")},ko=()=>{eo(3,lo=!1),eo(1,so="")},So=()=>{eo(8,_o=null),ho.show()},Ao=(Po,Ro)=>{Po.preventDefault(),Po.stopPropagation(),eo(8,_o=Ro),ho.show()};function Io(Po){so=Po,eo(1,so)}const Eo=(Po,Ro)=>Ao(Ro,Po),To=(Po,Ro)=>bo(Po,Ro.target),Mo=Po=>io(Po);function Vo(Po){binding_callbacks[Po?"unshift":"push"](()=>{co=Po,eo(4,co)})}function Fo(Po){binding_callbacks[Po?"unshift":"push"](()=>{ho=Po,eo(7,ho)})}return to.$$set=Po=>{"addSnippet"in Po&&eo(0,io=Po.addSnippet),"snippets"in Po&&eo(17,ao=Po.snippets)},to.$$.update=()=>{to.$$.dirty&262144&&eo(2,no=!oo.isFreePlan),to.$$.dirty&131078&&eo(9,ro=go(no,ao,so))},[io,so,no,lo,co,uo,fo,ho,_o,ro,bo,vo,yo,wo,ko,So,Ao,ao,oo,Io,Eo,To,Mo,Vo,Fo]}class SnippetSidePanel extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8L,create_fragment$8L,safe_not_equal,{addSnippet:0,snippets:17})}}const BindingType={READABLE:"readableBinding",RUNTIME:"runtimeBinding"};class BindingHelpers{constructor(ue,eo,{disableWrapping:no}={}){this.getCaretPosition=ue,this.insertAtPos=eo,this.disableWrapping=no}onSelectHelper(ue,eo,{js:no,dontDecode:ro}){const oo=this.getCaretPosition(),{start:io,end:ao}=oo;if(no){const so=ro?ue:decodeJSBinding(ue),lo=jsInsert(so,io,ao,eo.text,{helper:!0});this.insertAtPos({start:io,end:ao,value:lo})}else{const so=hbInsert(ue,io,ao,eo.text);this.insertAtPos({start:io,end:ao,value:so})}}onSelectBinding(ue,eo,{js:no,dontDecode:ro,type:oo=BindingType.READABLE}){const{start:io,end:ao}=this.getCaretPosition();if(no){const so=ro?ue:decodeJSBinding(ue),lo=jsInsert(so,io,ao,eo[oo],{disableWrapping:this.disableWrapping});this.insertAtPos({start:io,end:ao,value:lo})}else{const so=hbInsert(ue,io,ao,eo[oo]);this.insertAtPos({start:io,end:ao,value:so})}}onSelectSnippet(ue){const eo=this.getCaretPosition(),{start:no,end:ro}=eo;this.insertAtPos({start:no,end:ro,value:`snippets.${ue.name}`})}}const BindingPanel_svelte_svelte_type_style_lang="";function get_each_context$1F(to,ue,eo){const no=to.slice();return no[61]=ue[eo],no}function get_each_context_1$r(to,ue,eo){const no=to.slice();return no[14]=ue[eo],no}function create_if_block_6$m(to){let ue,eo,no,ro,oo,io=ensure_array_like(to[20]),ao=[];for(let fo=0;fo<io.length;fo+=1)ao[fo]=create_each_block_1$r(get_each_context_1$r(to,io,fo));const so=fo=>transition_out(ao[fo],1,1,()=>{ao[fo]=null});let lo=ensure_array_like(to[12]),co=[];for(let fo=0;fo<lo.length;fo+=1)co[fo]=create_each_block$1F(get_each_context$1F(to,lo,fo));const uo=fo=>transition_out(co[fo],1,1,()=>{co[fo]=null});return{c(){ue=element("div"),eo=element("div");for(let fo=0;fo<ao.length;fo+=1)ao[fo].c();no=space$1(),ro=element("div");for(let fo=0;fo<co.length;fo+=1)co[fo].c();attr(eo,"class","editor-tabs svelte-biform"),attr(ro,"class","side-tabs svelte-biform"),attr(ue,"class","tabs svelte-biform")},m(fo,po){insert$1(fo,ue,po),append$2(ue,eo);for(let ho=0;ho<ao.length;ho+=1)ao[ho]&&ao[ho].m(eo,null);append$2(ue,no),append$2(ue,ro);for(let ho=0;ho<co.length;ho+=1)co[ho]&&co[ho].m(ro,null);oo=!0},p(fo,po){if(po[0]&68157504){io=ensure_array_like(fo[20]);let ho;for(ho=0;ho<io.length;ho+=1){const _o=get_each_context_1$r(fo,io,ho);ao[ho]?(ao[ho].p(_o,po),transition_in(ao[ho],1)):(ao[ho]=create_each_block_1$r(_o),ao[ho].c(),transition_in(ao[ho],1),ao[ho].m(eo,null))}for(group_outros(),ho=io.length;ho<ao.length;ho+=1)so(ho);check_outros()}if(po[0]&268439680){lo=ensure_array_like(fo[12]);let ho;for(ho=0;ho<lo.length;ho+=1){const _o=get_each_context$1F(fo,lo,ho);co[ho]?(co[ho].p(_o,po),transition_in(co[ho],1)):(co[ho]=create_each_block$1F(_o),co[ho].c(),transition_in(co[ho],1),co[ho].m(ro,null))}for(group_outros(),ho=lo.length;ho<co.length;ho+=1)uo(ho);check_outros()}},i(fo){if(!oo){for(let po=0;po<io.length;po+=1)transition_in(ao[po]);for(let po=0;po<lo.length;po+=1)transition_in(co[po]);oo=!0}},o(fo){ao=ao.filter(Boolean);for(let po=0;po<ao.length;po+=1)transition_out(ao[po]);co=co.filter(Boolean);for(let po=0;po<co.length;po+=1)transition_out(co[po]);oo=!1},d(fo){fo&&detach(ue),destroy_each(ao,fo),destroy_each(co,fo)}}}function create_default_slot_6$$(to){let ue=capitalise(to[14])+"",eo,no;return{c(){eo=text$1(ue),no=space$1()},m(ro,oo){insert$1(ro,eo,oo),insert$1(ro,no,oo)},p(ro,oo){oo[0]&1048576&&ue!==(ue=capitalise(ro[14])+"")&&set_data(eo,ue)},d(ro){ro&&(detach(eo),detach(no))}}}function create_each_block_1$r(to){let ue,eo;function no(){return to[41](to[14])}return ue=new ActionButton({props:{size:"M",quiet:!0,selected:to[6]===to[14],$$slots:{default:[create_default_slot_6$$]},$$scope:{ctx:to}}}),ue.$on("click",no),{c(){create_component(ue.$$.fragment)},m(ro,oo){mount_component(ue,ro,oo),eo=!0},p(ro,oo){to=ro;const io={};oo[0]&1048640&&(io.selected=to[6]===to[14]),oo[0]&1048576|oo[2]&16&&(io.$$scope={dirty:oo,ctx:to}),ue.$set(io)},i(ro){eo||(transition_in(ue.$$.fragment,ro),eo=!0)},o(ro){transition_out(ue.$$.fragment,ro),eo=!1},d(ro){destroy_component(ue,ro)}}}function create_default_slot_5$1g(to){let ue,eo,no;return ue=new Icon({props:{name:to[61],size:"S"}}),{c(){create_component(ue.$$.fragment),eo=space$1()},m(ro,oo){mount_component(ue,ro,oo),insert$1(ro,eo,oo),no=!0},p(ro,oo){const io={};oo[0]&4096&&(io.name=ro[61]),ue.$set(io)},i(ro){no||(transition_in(ue.$$.fragment,ro),no=!0)},o(ro){transition_out(ue.$$.fragment,ro),no=!1},d(ro){ro&&detach(eo),destroy_component(ue,ro)}}}function create_each_block$1F(to){let ue,eo;function no(){return to[42](to[61])}return ue=new ActionButton({props:{size:"M",quiet:!0,selected:to[7]===to[61],$$slots:{default:[create_default_slot_5$1g]},$$scope:{ctx:to}}}),ue.$on("click",no),{c(){create_component(ue.$$.fragment)},m(ro,oo){mount_component(ue,ro,oo),eo=!0},p(ro,oo){to=ro;const io={};oo[0]&4224&&(io.selected=to[7]===to[61]),oo[0]&4096|oo[2]&16&&(io.$$scope={dirty:oo,ctx:to}),ue.$set(io)},i(ro){eo||(transition_in(ue.$$.fragment,ro),eo=!0)},o(ro){transition_out(ue.$$.fragment,ro),eo=!1},d(ro){destroy_component(ue,ro)}}}function create_if_block_5$u(to){let ue=to[22],eo,no,ro=create_key_block_1(to);return{c(){ro.c(),eo=empty$2()},m(oo,io){ro.m(oo,io),insert$1(oo,eo,io),no=!0},p(oo,io){io[0]&4194304&&safe_not_equal(ue,ue=oo[22])?(group_outros(),transition_out(ro,1,1,noop$6),check_outros(),ro=create_key_block_1(oo),ro.c(),transition_in(ro,1),ro.m(eo.parentNode,eo)):ro.p(oo,io)},i(oo){no||(transition_in(ro),no=!0)},o(oo){transition_out(ro),no=!1},d(oo){oo&&detach(eo),ro.d(oo)}}}function create_if_block_4$G(to){let ue=to[23],eo,no,ro=create_key_block$g(to);return{c(){ro.c(),eo=empty$2()},m(oo,io){ro.m(oo,io),insert$1(oo,eo,io),no=!0},p(oo,io){io[0]&8388608&&safe_not_equal(ue,ue=oo[23])?(group_outros(),transition_out(ro,1,1,noop$6),check_outros(),ro=create_key_block$g(oo),ro.c(),transition_in(ro,1),ro.m(eo.parentNode,eo)):ro.p(oo,io)},i(oo){no||(transition_in(ro),no=!0)},o(oo){transition_out(ro),no=!1},d(oo){oo&&detach(eo),ro.d(oo)}}}function create_key_block_1(to){let ue,eo,no,ro;function oo(so){to[45](so)}function io(so){to[46](so)}let ao={value:to[8]?decodeJSBinding(to[8]):to[8],completions:to[22],mode:EditorModes$1.JS,autofocus:to[3],placeholder:to[4]||"Add bindings by typing $ or use the menu on the right",jsBindingWrapping:!0};return to[10]!==void 0&&(ao.getCaretPosition=to[10]),to[11]!==void 0&&(ao.insertAtPos=to[11]),ue=new CodeEditor({props:ao}),binding_callbacks.push(()=>bind$2(ue,"getCaretPosition",oo)),binding_callbacks.push(()=>bind$2(ue,"insertAtPos",io)),ue.$on("change",to[30]),{c(){create_component(ue.$$.fragment)},m(so,lo){mount_component(ue,so,lo),ro=!0},p(so,lo){const co={};lo[0]&256&&(co.value=so[8]?decodeJSBinding(so[8]):so[8]),lo[0]&4194304&&(co.completions=so[22]),lo[0]&8&&(co.autofocus=so[3]),lo[0]&16&&(co.placeholder=so[4]||"Add bindings by typing $ or use the menu on the right"),!eo&&lo[0]&1024&&(eo=!0,co.getCaretPosition=so[10],add_flush_callback(()=>eo=!1)),!no&&lo[0]&2048&&(no=!0,co.insertAtPos=so[11],add_flush_callback(()=>no=!1)),ue.$set(co)},i(so){ro||(transition_in(ue.$$.fragment,so),ro=!0)},o(so){transition_out(ue.$$.fragment,so),ro=!1},d(so){destroy_component(ue,so)}}}function create_key_block$g(to){let ue,eo,no,ro;function oo(so){to[43](so)}function io(so){to[44](so)}let ao={value:to[9],completions:to[23],autofocus:to[3],placeholder:to[4]||"Add bindings by typing {{ or use the menu on the right",jsBindingWrapping:!1};return to[10]!==void 0&&(ao.getCaretPosition=to[10]),to[11]!==void 0&&(ao.insertAtPos=to[11]),ue=new CodeEditor({props:ao}),binding_callbacks.push(()=>bind$2(ue,"getCaretPosition",oo)),binding_callbacks.push(()=>bind$2(ue,"insertAtPos",io)),ue.$on("change",to[29]),{c(){create_component(ue.$$.fragment)},m(so,lo){mount_component(ue,so,lo),ro=!0},p(so,lo){const co={};lo[0]&512&&(co.value=so[9]),lo[0]&8388608&&(co.completions=so[23]),lo[0]&8&&(co.autofocus=so[3]),lo[0]&16&&(co.placeholder=so[4]||"Add bindings by typing {{ or use the menu on the right"),!eo&&lo[0]&1024&&(eo=!0,co.getCaretPosition=so[10],add_flush_callback(()=>eo=!1)),!no&&lo[0]&2048&&(no=!0,co.insertAtPos=so[11],add_flush_callback(()=>no=!1)),ue.$set(co)},i(so){ro||(transition_in(ue.$$.fragment,so),ro=!0)},o(so){transition_out(ue.$$.fragment,so),ro=!1},d(so){destroy_component(ue,so)}}}function create_if_block_3$W(to){let ue,eo,no,ro,oo,io,ao,so,lo,co,uo;return no=new Heading({props:{size:"S",$$slots:{default:[create_default_slot_4$1E]},$$scope:{ctx:to}}}),oo=new Body({props:{$$slots:{default:[create_default_slot_3$2c]},$$scope:{ctx:to}}}),so=new Button({props:{secondary:!0,size:"S",$$slots:{default:[create_default_slot_2$2P]},$$scope:{ctx:to}}}),so.$on("click",to[47]),co=new Button({props:{cta:!0,size:"S",$$slots:{default:[create_default_slot_1$3W]},$$scope:{ctx:to}}}),co.$on("click",to[27]),{c(){ue=element("div"),eo=element("div"),create_component(no.$$.fragment),ro=space$1(),create_component(oo.$$.fragment),io=space$1(),ao=element("div"),create_component(so.$$.fragment),lo=space$1(),create_component(co.$$.fragment),attr(ao,"class","switch-actions svelte-biform"),attr(eo,"class","prompt-body svelte-biform"),attr(ue,"class","mode-overlay svelte-biform")},m(fo,po){insert$1(fo,ue,po),append$2(ue,eo),mount_component(no,eo,null),append$2(eo,ro),mount_component(oo,eo,null),append$2(eo,io),append$2(eo,ao),mount_component(so,ao,null),append$2(ao,lo),mount_component(co,ao,null),uo=!0},p(fo,po){const ho={};po[0]&32768|po[2]&16&&(ho.$$scope={dirty:po,ctx:fo}),no.$set(ho);const _o={};po[2]&16&&(_o.$$scope={dirty:po,ctx:fo}),oo.$set(_o);const go={};po[0]&64|po[2]&16&&(go.$$scope={dirty:po,ctx:fo}),so.$set(go);const bo={};po[0]&64|po[2]&16&&(bo.$$scope={dirty:po,ctx:fo}),co.$set(bo)},i(fo){uo||(transition_in(no.$$.fragment,fo),transition_in(oo.$$.fragment,fo),transition_in(so.$$.fragment,fo),transition_in(co.$$.fragment,fo),uo=!0)},o(fo){transition_out(no.$$.fragment,fo),transition_out(oo.$$.fragment,fo),transition_out(so.$$.fragment,fo),transition_out(co.$$.fragment,fo),uo=!1},d(fo){fo&&detach(ue),destroy_component(no),destroy_component(oo),destroy_component(so),destroy_component(co)}}}function create_default_slot_4$1E(to){let ue,eo,no;return{c(){ue=text$1("Switch to "),eo=text$1(to[15]),no=text$1("?")},m(ro,oo){insert$1(ro,ue,oo),insert$1(ro,eo,oo),insert$1(ro,no,oo)},p(ro,oo){oo[0]&32768&&set_data(eo,ro[15])},d(ro){ro&&(detach(ue),detach(eo),detach(no))}}}function create_default_slot_3$2c(to){let ue;return{c(){ue=text$1("This will discard anything in your binding")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_default_slot_2$2P(to){let ue,eo;return{c(){ue=text$1("No - keep "),eo=text$1(to[6])},m(no,ro){insert$1(no,ue,ro),insert$1(no,eo,ro)},p(no,ro){ro[0]&64&&set_data(eo,no[6])},d(no){no&&(detach(ue),detach(eo))}}}function create_default_slot_1$3W(to){let ue,eo;return{c(){ue=text$1("Yes - discard "),eo=text$1(to[6])},m(no,ro){insert$1(no,ue,ro),insert$1(no,eo,ro)},p(no,ro){ro[0]&64&&set_data(eo,no[6])},d(no){no&&(detach(ue),detach(eo))}}}function create_if_block_2$1h(to){let ue,eo;return ue=new SnippetSidePanel({props:{addSnippet:to[31],snippets:to[2]}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro[0]&4&&(oo.snippets=no[2]),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_if_block_1$27(to){let ue,eo;return ue=new EvaluationSidePanel({props:{expressionResult:to[16],expressionError:to[18],expressionLogs:to[17],evaluating:to[19],expression:to[21]?to[21]:""}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro[0]&65536&&(oo.expressionResult=no[16]),ro[0]&262144&&(oo.expressionError=no[18]),ro[0]&131072&&(oo.expressionLogs=no[17]),ro[0]&524288&&(oo.evaluating=no[19]),ro[0]&2097152&&(oo.expression=no[21]?no[21]:""),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_if_block$43(to){let ue,eo;return ue=new BindingSidePanel({props:{bindings:to[13],allowHelpers:to[0],context:to[1],addHelper:to[24],addBinding:to[25],mode:to[14]}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro[0]&8192&&(oo.bindings=no[13]),ro[0]&1&&(oo.allowHelpers=no[0]),ro[0]&2&&(oo.context=no[1]),ro[0]&16384&&(oo.mode=no[14]),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_default_slot$5C(to){let ue,eo,no,ro,oo,io,ao,so,lo,co,uo,fo,po=to[5]&&create_if_block_6$m(to);const ho=[create_if_block_4$G,create_if_block_5$u],_o=[];function go(ko,So){return ko[6]===BindingMode.Text?0:ko[6]===BindingMode.JavaScript?1:-1}~(oo=go(to))&&(io=_o[oo]=ho[oo](to));let bo=to[15]&&create_if_block_3$W(to);const vo=[create_if_block$43,create_if_block_1$27,create_if_block_2$1h],yo=[];function wo(ko,So){return ko[7]===SidePanel.Bindings?0:ko[7]===SidePanel.Evaluation?1:ko[7]===SidePanel.Snippets?2:-1}return~(co=wo(to))&&(uo=yo[co]=vo[co](to)),{c(){ue=element("div"),eo=element("div"),po&&po.c(),no=space$1(),ro=element("div"),io&&io.c(),ao=space$1(),bo&&bo.c(),so=space$1(),lo=element("div"),uo&&uo.c(),attr(ro,"class","editor svelte-biform"),attr(eo,"class","main svelte-biform"),attr(lo,"class","side svelte-biform"),toggle_class(lo,"visible",!!to[7]),attr(ue,"class","binding-panel svelte-biform")},m(ko,So){insert$1(ko,ue,So),append$2(ue,eo),po&&po.m(eo,null),append$2(eo,no),append$2(eo,ro),~oo&&_o[oo].m(ro,null),append$2(ro,ao),bo&&bo.m(ro,null),append$2(ue,so),append$2(ue,lo),~co&&yo[co].m(lo,null),fo=!0},p(ko,So){ko[5]?po?(po.p(ko,So),So[0]&32&&transition_in(po,1)):(po=create_if_block_6$m(ko),po.c(),transition_in(po,1),po.m(eo,no)):po&&(group_outros(),transition_out(po,1,1,()=>{po=null}),check_outros());let Ao=oo;oo=go(ko),oo===Ao?~oo&&_o[oo].p(ko,So):(io&&(group_outros(),transition_out(_o[Ao],1,1,()=>{_o[Ao]=null}),check_outros()),~oo?(io=_o[oo],io?io.p(ko,So):(io=_o[oo]=ho[oo](ko),io.c()),transition_in(io,1),io.m(ro,ao)):io=null),ko[15]?bo?(bo.p(ko,So),So[0]&32768&&transition_in(bo,1)):(bo=create_if_block_3$W(ko),bo.c(),transition_in(bo,1),bo.m(ro,null)):bo&&(group_outros(),transition_out(bo,1,1,()=>{bo=null}),check_outros());let Io=co;co=wo(ko),co===Io?~co&&yo[co].p(ko,So):(uo&&(group_outros(),transition_out(yo[Io],1,1,()=>{yo[Io]=null}),check_outros()),~co?(uo=yo[co],uo?uo.p(ko,So):(uo=yo[co]=vo[co](ko),uo.c()),transition_in(uo,1),uo.m(lo,null)):uo=null),(!fo||So[0]&128)&&toggle_class(lo,"visible",!!ko[7])},i(ko){fo||(transition_in(po),transition_in(io),transition_in(bo),transition_in(uo),fo=!0)},o(ko){transition_out(po),transition_out(io),transition_out(bo),transition_out(uo),fo=!1},d(ko){ko&&detach(ue),po&&po.d(),~oo&&_o[oo].d(),bo&&bo.d(),~co&&yo[co].d()}}}function create_fragment$8K(to){let ue,eo;return ue=new DrawerContent({props:{padding:!1,$$slots:{default:[create_default_slot$5C]},$$scope:{ctx:to}}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro[0]&16777215|ro[2]&16&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function instance$8K(to,ue,eo){var Fa;let no,ro,oo,io,ao,so,lo,co,uo,fo,po,ho,_o;component_subscribe(to,licensing,Ia=>eo(40,_o=Ia));const go=createEventDispatcher();let{bindings:bo=[]}=ue,{value:vo=""}=ue,{allowHBS:yo=!0}=ue,{allowJS:wo=!1}=ue,{allowHelpers:ko=!0}=ue,{allowSnippets:So=!0}=ue,{context:Ao=null}=ue,{snippets:Io=null}=ue,{autofocusEditor:Eo=!1}=ue,{placeholder:To=null}=ue,{showTabBar:Mo=!0}=ue,Vo,Fo,Po=(Fa=vo==null?void 0:vo.startsWith)==null?void 0:Fa.call(vo,"{{ js "),Ro=Po?vo:null,Do=Po?null:vo,Uo,qo,xo=null,Zo,Xo,Yo,Qo=!1;const Ko=Ia=>[hbAutocomplete([...Ia,...getHelperCompletions(EditorModes$1.Handlebars)])],ra=(Ia,Za,ls)=>{const xa=[jsAutocomplete([...Ia,...getHelperCompletions(EditorModes$1.JS)])];return ls&&Za&&xa.push(snippetAutoComplete(Za)),xa},ea=(Ia,Za)=>{let ls=[];return Ia&&ls.push(BindingMode.Text),Za&&ls.push(BindingMode.JavaScript),ls},ia=(Ia,Za,ls,xa)=>{let bs=[];return Ia!=null&&Ia.length&&bs.push(SidePanel.Bindings),Za&&Object.keys(Za).length>0&&bs.push(SidePanel.Evaluation),ls&&xa===BindingMode.JavaScript&&bs.push(SidePanel.Snippets),bs},Jo=debounce((Ia,Za,ls)=>{try{eo(18,Yo=void 0);const xa=processStringWithLogsSync(Ia||"",{...Za,snippets:ls},{noThrow:!1});eo(16,Zo=xa.result),eo(17,Xo=xa.logs)}catch(xa){eo(16,Zo=void 0),eo(18,Yo=xa)}eo(19,Qo=!1)},260),sa=(Ia,Za,ls)=>{eo(19,Qo=!0),Jo(Ia,Za,ls)},Aa=Ia=>format$1(Ia,{keyColor:"#e06c75",numberColor:"#e5c07b",stringColor:"#98c379",trueColor:"#d19a66",falseColor:"#d19a66",nullColor:"#c678dd"}),pa=(Ia,Za,ls)=>{const xa=Ia.map(Ss=>Ss.runtimeBinding.startsWith('trim "')?`{{ ${Ss.runtimeBinding} }}`:`{{ literal ${Ss.runtimeBinding} }}`),bs=processObjectSync(xa,{...Za,snippets:ls});return Ia.map((Ss,Xa)=>{if(!Za||typeof bs!="object")return Ss;const Bs=JSON.stringify(bs[Xa],null,2);return{...Ss,value:Bs,valueHTML:Aa(Bs)}})},va=Ia=>{const Za=readableToRuntimeBinding(io,Ia);go("change",Ia),sa(Za,Ao,Io)},da=(Ia,Za)=>{fo.onSelectHelper(Za?Ro:Do,Ia,{js:Za,dontDecode:void 0})},Ra=(Ia,{forceJS:Za}={})=>{const ls=ao||Za;fo.onSelectBinding(ls?Ro:Do,Ia,{js:ls,dontDecode:void 0})},Ba=Ia=>{if(xo||Ia===Vo)return;let Za=lo;Vo===BindingMode.JavaScript&&Za&&(Za=decodeJSBinding(Za)),Za!=null&&Za.length?eo(15,xo=Ia):eo(6,Vo=Ia)},Va=()=>{eo(8,Ro=null),eo(9,Do=null),va(null),eo(6,Vo=xo),eo(15,xo=null)},Oa=Ia=>{eo(7,Fo=Ia===Fo?null:Ia)},Pa=Ia=>{eo(9,Do=Ia.detail),va(Do)},ya=Ia=>{var Za;eo(8,Ro=encodeJSBinding(Ia.detail)),(Za=Ia.detail)!=null&&Za.trim()?va(Ro):va(null)},ds=Ia=>fo.onSelectSnippet(Ia);onMount(()=>{const Ia=Po?BindingMode.JavaScript:BindingMode.Text;ro.includes(Ia)?eo(6,Vo=Ia):eo(6,Vo=ro[0]),eo(7,Fo=oo[0])});const Ma=Ia=>Ba(Ia),ga=Ia=>Oa(Ia);function $a(Ia){Uo=Ia,eo(10,Uo)}function fa(Ia){qo=Ia,eo(11,qo)}function ma(Ia){Uo=Ia,eo(10,Uo)}function Da(Ia){qo=Ia,eo(11,qo)}const wa=()=>{eo(15,xo=null)};return to.$$set=Ia=>{"bindings"in Ia&&eo(32,bo=Ia.bindings),"value"in Ia&&eo(33,vo=Ia.value),"allowHBS"in Ia&&eo(34,yo=Ia.allowHBS),"allowJS"in Ia&&eo(35,wo=Ia.allowJS),"allowHelpers"in Ia&&eo(0,ko=Ia.allowHelpers),"allowSnippets"in Ia&&eo(36,So=Ia.allowSnippets),"context"in Ia&&eo(1,Ao=Ia.context),"snippets"in Ia&&eo(2,Io=Ia.snippets),"autofocusEditor"in Ia&&eo(3,Eo=Ia.autofocusEditor),"placeholder"in Ia&&eo(4,To=Ia.placeholder),"showTabBar"in Ia&&eo(5,Mo=Ia.showTabBar)},to.$$.update=()=>{to.$$.dirty[1]&544&&eo(37,no=So&&!_o.isFreePlan),to.$$.dirty[1]&24&&eo(20,ro=ea(yo,wo)),to.$$.dirty[0]&66|to.$$.dirty[1]&34&&eo(12,oo=ia(bo,Ao,So,Vo)),to.$$.dirty[0]&6|to.$$.dirty[1]&2&&eo(13,io=pa(bo,Ao,Io)),to.$$.dirty[0]&64&&(ao=Vo===BindingMode.JavaScript),to.$$.dirty[0]&64&&eo(14,so=Vo===BindingMode.JavaScript?EditorModes$1.JS:EditorModes$1.Handlebars),to.$$.dirty[0]&17152&&eo(21,lo=so===EditorModes$1.JS?Ro:Do),to.$$.dirty[0]&8192|to.$$.dirty[1]&4&&eo(39,co=readableToRuntimeBinding(io,vo)),to.$$.dirty[0]&6|to.$$.dirty[1]&256&&sa(co,Ao,Io),to.$$.dirty[0]&24576&&eo(38,uo=bindingsToCompletions(io,so)),to.$$.dirty[0]&3072&&(fo=new BindingHelpers(Uo,qo)),to.$$.dirty[1]&128&&eo(23,po=Ko(uo)),to.$$.dirty[0]&4|to.$$.dirty[1]&192&&eo(22,ho=ra(uo,Io,no)),to.$$.dirty[0]&4224&&Fo&&!oo.includes(Fo)&&eo(7,Fo=oo[0])},[ko,Ao,Io,Eo,To,Mo,Vo,Fo,Ro,Do,Uo,qo,oo,io,so,xo,Zo,Xo,Yo,Qo,ro,lo,ho,po,da,Ra,Ba,Va,Oa,Pa,ya,ds,bo,vo,yo,wo,So,no,uo,co,_o,Ma,ga,$a,fa,ma,Da,wa]}class BindingPanel extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8K,create_fragment$8K,safe_not_equal,{bindings:32,value:33,allowHBS:34,allowJS:35,allowHelpers:0,allowSnippets:36,context:1,snippets:2,autofocusEditor:3,placeholder:4,showTabBar:5},null,[-1,-1,-1])}}function create_fragment$8J(to){let ue,eo;return ue=new BindingPanel({props:{bindings:to[6],context:{...to[7].selectedComponentContext,...to[5]},snippets:to[8],value:to[0],allowHBS:to[1],allowJS:to[2],allowHelpers:to[3],autofocusEditor:to[4]}}),ue.$on("change",to[10]),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,[ro]){const oo={};ro&64&&(oo.bindings=no[6]),ro&160&&(oo.context={...no[7].selectedComponentContext,...no[5]}),ro&256&&(oo.snippets=no[8]),ro&1&&(oo.value=no[0]),ro&2&&(oo.allowHBS=no[1]),ro&4&&(oo.allowJS=no[2]),ro&8&&(oo.allowHelpers=no[3]),ro&16&&(oo.autofocusEditor=no[4]),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function instance$8J(to,ue,eo){let no,ro,oo;component_subscribe(to,previewStore,_o=>eo(7,ro=_o)),component_subscribe(to,snippets$1,_o=>eo(8,oo=_o));let{bindings:io=[]}=ue,{value:ao=""}=ue,{allowHBS:so=!0}=ue,{allowJS:lo=!1}=ue,{allowHelpers:co=!0}=ue,{autofocusEditor:uo=!1}=ue,{context:fo=null}=ue;const po=_o=>_o!=null&&_o.length?_o==null?void 0:_o.map(go=>({...go,type:null})):_o;onMount(previewStore.requestComponentContext);function ho(_o){bubble.call(this,to,_o)}return to.$$set=_o=>{"bindings"in _o&&eo(9,io=_o.bindings),"value"in _o&&eo(0,ao=_o.value),"allowHBS"in _o&&eo(1,so=_o.allowHBS),"allowJS"in _o&&eo(2,lo=_o.allowJS),"allowHelpers"in _o&&eo(3,co=_o.allowHelpers),"autofocusEditor"in _o&&eo(4,uo=_o.autofocusEditor),"context"in _o&&eo(5,fo=_o.context)},to.$$.update=()=>{to.$$.dirty&512&&eo(6,no=po(io))},[ao,so,lo,co,uo,fo,no,ro,oo,io,ho]}class ClientBindingPanel extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8J,create_fragment$8J,safe_not_equal,{bindings:9,value:0,allowHBS:1,allowJS:2,allowHelpers:3,autofocusEditor:4,context:5})}}const DrawerBindableInput_svelte_svelte_type_style_lang="";function create_if_block$42(to){let ue,eo,no,ro,oo;return eo=new Icon({props:{size:"S",name:"FlashOn"}}),{c(){ue=element("div"),create_component(eo.$$.fragment),attr(ue,"class","icon svelte-570cq4")},m(io,ao){insert$1(io,ue,ao),mount_component(eo,ue,null),no=!0,ro||(oo=listen(ue,"click",to[25]),ro=!0)},p:noop$6,i(io){no||(transition_in(eo.$$.fragment,io),no=!0)},o(io){transition_out(eo.$$.fragment,io),no=!1},d(io){io&&detach(ue),destroy_component(eo),ro=!1,oo()}}}function create_default_slot$5B(to){let ue;return{c(){ue=text$1("Save")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_buttons_slot$g(to){let ue,eo;return ue=new Button({props:{cta:!0,slot:"buttons",$$slots:{default:[create_default_slot$5B]},$$scope:{ctx:to}}}),ue.$on("click",to[19]),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro[1]&1&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_body_slot$f(to){let ue,eo,no;var ro=to[0];function oo(io,ao){return{props:{slot:"body",value:io[15],bindings:io[1],allowHBS:io[6],allowJS:io[7],allowHelpers:io[8],context:io[13]}}}return ro&&(ue=construct_svelte_component(ro,oo(to)),ue.$on("change",to[26])),{c(){ue&&create_component(ue.$$.fragment),eo=empty$2()},m(io,ao){ue&&mount_component(ue,io,ao),insert$1(io,eo,ao),no=!0},p(io,ao){if(ao[0]&1&&ro!==(ro=io[0])){if(ue){group_outros();const so=ue;transition_out(so.$$.fragment,1,0,()=>{destroy_component(so,1)}),check_outros()}ro?(ue=construct_svelte_component(ro,oo(io)),ue.$on("change",io[26]),create_component(ue.$$.fragment),transition_in(ue.$$.fragment,1),mount_component(ue,eo.parentNode,eo)):ue=null}else if(ro){const so={};ao[0]&32768&&(so.value=io[15]),ao[0]&2&&(so.bindings=io[1]),ao[0]&64&&(so.allowHBS=io[6]),ao[0]&128&&(so.allowJS=io[7]),ao[0]&256&&(so.allowHelpers=io[8]),ao[0]&8192&&(so.context=io[13]),ue.$set(so)}},i(io){no||(ue&&transition_in(ue.$$.fragment,io),no=!0)},o(io){ue&&transition_out(ue.$$.fragment,io),no=!1},d(io){io&&detach(eo),ue&&destroy_component(ue,io)}}}function create_fragment$8I(to){let ue,eo,no,ro,oo,io;eo=new Input$5({props:{label:to[4],disabled:to[5],readonly:to[18],value:to[18]?"(JavaScript function)":to[15],placeholder:to[3],updateOnChange:to[9],autocomplete:to[14]}}),eo.$on("change",to[24]),eo.$on("blur",to[21]);let ao=!to[5]&&!to[11]&&create_if_block$42(to),so={title:to[2]??to[3]??"Bindings",forceModal:to[12],$$slots:{body:[create_body_slot$f],buttons:[create_buttons_slot$g]},$$scope:{ctx:to}};return oo=new Drawer({props:so}),to[27](oo),oo.$on("drawerHide",to[22]),oo.$on("drawerShow",to[28]),{c(){ue=element("div"),create_component(eo.$$.fragment),no=space$1(),ao&&ao.c(),ro=space$1(),create_component(oo.$$.fragment),attr(ue,"class","control svelte-570cq4"),toggle_class(ue,"disabled",to[5])},m(lo,co){insert$1(lo,ue,co),mount_component(eo,ue,null),append$2(ue,no),ao&&ao.m(ue,null),insert$1(lo,ro,co),mount_component(oo,lo,co),io=!0},p(lo,co){const uo={};co[0]&16&&(uo.label=lo[4]),co[0]&32&&(uo.disabled=lo[5]),co[0]&262144&&(uo.readonly=lo[18]),co[0]&294912&&(uo.value=lo[18]?"(JavaScript function)":lo[15]),co[0]&8&&(uo.placeholder=lo[3]),co[0]&512&&(uo.updateOnChange=lo[9]),co[0]&16384&&(uo.autocomplete=lo[14]),eo.$set(uo),!lo[5]&&!lo[11]?ao?(ao.p(lo,co),co[0]&2080&&transition_in(ao,1)):(ao=create_if_block$42(lo),ao.c(),transition_in(ao,1),ao.m(ue,null)):ao&&(group_outros(),transition_out(ao,1,1,()=>{ao=null}),check_outros()),(!io||co[0]&32)&&toggle_class(ue,"disabled",lo[5]);const fo={};co[0]&12&&(fo.title=lo[2]??lo[3]??"Bindings"),co[0]&4096&&(fo.forceModal=lo[12]),co[0]&172483|co[1]&1&&(fo.$$scope={dirty:co,ctx:lo}),oo.$set(fo)},i(lo){io||(transition_in(eo.$$.fragment,lo),transition_in(ao),transition_in(oo.$$.fragment,lo),io=!0)},o(lo){transition_out(eo.$$.fragment,lo),transition_out(ao),transition_out(oo.$$.fragment,lo),io=!1},d(lo){lo&&(detach(ue),detach(ro)),destroy_component(eo),ao&&ao.d(),to[27](null),destroy_component(oo,lo)}}}function instance$8I(to,ue,eo){let no,ro,oo,{panel:io=ClientBindingPanel}=ue,{value:ao=""}=ue,{bindings:so=[]}=ue,{title:lo}=ue,{placeholder:co}=ue,{label:uo}=ue,{disabled:fo=!1}=ue,{allowHBS:po=!0}=ue,{allowJS:ho=!0}=ue,{allowHelpers:_o=!0}=ue,{updateOnChange:go=!0}=ue,{key:bo}=ue,{disableBindings:vo=!1}=ue,{forceModal:yo=!1}=ue,{context:wo=null}=ue,{autocomplete:ko}=ue;const So=createEventDispatcher();let Ao,Io=ao;const Eo=()=>{To(ro),Mo(),builderStore.propertyFocus(),Ao.hide()};setContext("binding-drawer-actions",{save:Eo});const To=qo=>{Io=readableToRuntimeBinding(so,qo),So("change",Io)},Mo=()=>{So("blur",Io)},Vo=qo=>{builderStore.propertyFocus(),So("drawerHide",qo.detail)},Fo=qo=>To(qo.detail),Po=()=>{builderStore.propertyFocus(bo),Ao.show()},Ro=qo=>eo(17,ro=qo.detail);function Do(qo){binding_callbacks[qo?"unshift":"push"](()=>{Ao=qo,eo(16,Ao)})}function Uo(qo){bubble.call(this,to,qo)}return to.$$set=qo=>{"panel"in qo&&eo(0,io=qo.panel),"value"in qo&&eo(23,ao=qo.value),"bindings"in qo&&eo(1,so=qo.bindings),"title"in qo&&eo(2,lo=qo.title),"placeholder"in qo&&eo(3,co=qo.placeholder),"label"in qo&&eo(4,uo=qo.label),"disabled"in qo&&eo(5,fo=qo.disabled),"allowHBS"in qo&&eo(6,po=qo.allowHBS),"allowJS"in qo&&eo(7,ho=qo.allowJS),"allowHelpers"in qo&&eo(8,_o=qo.allowHelpers),"updateOnChange"in qo&&eo(9,go=qo.updateOnChange),"key"in qo&&eo(10,bo=qo.key),"disableBindings"in qo&&eo(11,vo=qo.disableBindings),"forceModal"in qo&&eo(12,yo=qo.forceModal),"context"in qo&&eo(13,wo=qo.context),"autocomplete"in qo&&eo(14,ko=qo.autocomplete)},to.$$.update=()=>{to.$$.dirty[0]&8388610&&eo(15,no=runtimeToReadableBinding(so,ao)),to.$$.dirty[0]&32768&&eo(17,ro=no),to.$$.dirty[0]&8388608&&eo(18,oo=isJSBinding(ao))},[io,so,lo,co,uo,fo,po,ho,_o,go,bo,vo,yo,wo,ko,no,Ao,ro,oo,Eo,To,Mo,Vo,ao,Fo,Po,Ro,Do,Uo]}class DrawerBindableInput extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8I,create_fragment$8I,safe_not_equal,{panel:0,value:23,bindings:1,title:2,placeholder:3,label:4,disabled:5,allowHBS:6,allowJS:7,allowHelpers:8,updateOnChange:9,key:10,disableBindings:11,forceModal:12,context:13,autocomplete:14},null,[-1,-1])}}const KeyValueBuilder_svelte_svelte_type_style_lang="";function get_each_context$1E(to,ue,eo){const no=to.slice();return no[39]=ue[eo],no[40]=ue,no[41]=eo,no}function get_each_context_1$q(to,ue,eo){const no=to.slice();return no[42]=ue[eo],no}function create_if_block_2$1g(to){let ue,eo,no,ro=to[4]&&create_if_block_10$6(to),oo=ensure_array_like(to[23]),io=[];for(let so=0;so<oo.length;so+=1)io[so]=create_each_block$1E(get_each_context$1E(to,oo,so));const ao=so=>transition_out(io[so],1,1,()=>{io[so]=null});return{c(){ro&&ro.c(),ue=space$1(),eo=element("div");for(let so=0;so<io.length;so+=1)io[so].c();attr(eo,"class","container svelte-1gk02qa"),toggle_class(eo,"container-active",to[6]),toggle_class(eo,"container-menu",to[13]),toggle_class(eo,"readOnly",to[1]),toggle_class(eo,"readOnly-menu",to[1]&&to[13])},m(so,lo){ro&&ro.m(so,lo),insert$1(so,ue,lo),insert$1(so,eo,lo);for(let co=0;co<io.length;co+=1)io[co]&&io[co].m(eo,null);no=!0},p(so,lo){if(so[4]?ro?(ro.p(so,lo),lo[0]&16&&transition_in(ro,1)):(ro=create_if_block_10$6(so),ro.c(),transition_in(ro,1),ro.m(ue.parentNode,ue)):ro&&(group_outros(),transition_out(ro,1,1,()=>{ro=null}),check_outros()),lo[0]&128840162){oo=ensure_array_like(so[23]);let co;for(co=0;co<oo.length;co+=1){const uo=get_each_context$1E(so,oo,co);io[co]?(io[co].p(uo,lo),transition_in(io[co],1)):(io[co]=create_each_block$1E(uo),io[co].c(),transition_in(io[co],1),io[co].m(eo,null))}for(group_outros(),co=oo.length;co<io.length;co+=1)ao(co);check_outros()}(!no||lo[0]&64)&&toggle_class(eo,"container-active",so[6]),(!no||lo[0]&8192)&&toggle_class(eo,"container-menu",so[13]),(!no||lo[0]&2)&&toggle_class(eo,"readOnly",so[1]),(!no||lo[0]&8194)&&toggle_class(eo,"readOnly-menu",so[1]&&so[13])},i(so){if(!no){transition_in(ro);for(let lo=0;lo<oo.length;lo+=1)transition_in(io[lo]);no=!0}},o(so){transition_out(ro),io=io.filter(Boolean);for(let lo=0;lo<io.length;lo+=1)transition_out(io[lo]);no=!1},d(so){so&&(detach(ue),detach(eo)),ro&&ro.d(so),destroy_each(io,so)}}}function create_if_block_10$6(to){let ue,eo,no,ro,oo,io;eo=new Label({props:{tooltip:to[11],$$slots:{default:[create_default_slot_5$1f]},$$scope:{ctx:to}}}),ro=new Label({props:{$$slots:{default:[create_default_slot_4$1D]},$$scope:{ctx:to}}});let ao=to[6]&&create_if_block_11$3(to);return{c(){ue=element("div"),create_component(eo.$$.fragment),no=space$1(),create_component(ro.$$.fragment),oo=space$1(),ao&&ao.c(),attr(ue,"class","container svelte-1gk02qa"),toggle_class(ue,"container-active",to[6])},m(so,lo){insert$1(so,ue,lo),mount_component(eo,ue,null),append$2(ue,no),mount_component(ro,ue,null),append$2(ue,oo),ao&&ao.m(ue,null),io=!0},p(so,lo){const co={};lo[0]&2048&&(co.tooltip=so[11]),lo[0]&1152|lo[1]&16384&&(co.$$scope={dirty:lo,ctx:so}),eo.$set(co);const uo={};lo[0]&768|lo[1]&16384&&(uo.$$scope={dirty:lo,ctx:so}),ro.$set(uo),so[6]?ao?lo[0]&64&&transition_in(ao,1):(ao=create_if_block_11$3(so),ao.c(),transition_in(ao,1),ao.m(ue,null)):ao&&(group_outros(),transition_out(ao,1,1,()=>{ao=null}),check_outros()),(!io||lo[0]&64)&&toggle_class(ue,"container-active",so[6])},i(so){io||(transition_in(eo.$$.fragment,so),transition_in(ro.$$.fragment,so),transition_in(ao),io=!0)},o(so){transition_out(eo.$$.fragment,so),transition_out(ro.$$.fragment,so),transition_out(ao),io=!1},d(so){so&&detach(ue),destroy_component(eo),destroy_component(ro),ao&&ao.d()}}}function create_default_slot_5$1f(to){let ue=(to[10]||to[7])+"",eo;return{c(){eo=text$1(ue)},m(no,ro){insert$1(no,eo,ro)},p(no,ro){ro[0]&1152&&ue!==(ue=(no[10]||no[7])+"")&&set_data(eo,ue)},d(no){no&&detach(eo)}}}function create_default_slot_4$1D(to){let ue=(to[9]||to[8])+"",eo;return{c(){eo=text$1(ue)},m(no,ro){insert$1(no,eo,ro)},p(no,ro){ro[0]&768&&ue!==(ue=(no[9]||no[8])+"")&&set_data(eo,ue)},d(no){no&&detach(eo)}}}function create_if_block_11$3(to){let ue,eo;return ue=new Label({props:{$$slots:{default:[create_default_slot_3$2b]},$$scope:{ctx:to}}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_default_slot_3$2b(to){let ue;return{c(){ue=text$1("Active")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_else_block_2$6(to){let ue,eo,no;function ro(io){to[30](io,to[39])}let oo={readonly:to[1]};return to[39].name!==void 0&&(oo.value=to[39].name),ue=new Input$5({props:oo}),binding_callbacks.push(()=>bind$2(ue,"value",ro)),ue.$on("blur",to[26]),{c(){create_component(ue.$$.fragment)},m(io,ao){mount_component(ue,io,ao),no=!0},p(io,ao){to=io;const so={};ao[0]&2&&(so.readonly=to[1]),!eo&&ao[0]&8388608&&(eo=!0,so.value=to[39].name,add_flush_callback(()=>eo=!1)),ue.$set(so)},i(io){no||(transition_in(ue.$$.fragment,io),no=!0)},o(io){transition_out(ue.$$.fragment,io),no=!1},d(io){destroy_component(ue,io)}}}function create_if_block_9$c(to){let ue,eo;function no(...ro){return to[29](to[39],to[40],to[41],...ro)}return ue=new DrawerBindableInput({props:{bindings:to[14],placeholder:to[7],disabled:to[1],value:to[39].name,allowJS:to[19],allowHelpers:to[16],drawerLeft:to[15]}}),ue.$on("blur",no),{c(){create_component(ue.$$.fragment)},m(ro,oo){mount_component(ue,ro,oo),eo=!0},p(ro,oo){to=ro;const io={};oo[0]&16384&&(io.bindings=to[14]),oo[0]&128&&(io.placeholder=to[7]),oo[0]&2&&(io.disabled=to[1]),oo[0]&8388608&&(io.value=to[39].name),oo[0]&524288&&(io.allowJS=to[19]),oo[0]&65536&&(io.allowHelpers=to[16]),oo[0]&32768&&(io.drawerLeft=to[15]),ue.$set(io)},i(ro){eo||(transition_in(ue.$$.fragment,ro),eo=!0)},o(ro){transition_out(ue.$$.fragment,ro),eo=!1},d(ro){destroy_component(ue,ro)}}}function create_else_block_1$m(to){let ue,eo,no;function ro(io){to[33](io,to[39])}let oo={placeholder:to[8],readonly:to[1]};return to[39].value!==void 0&&(oo.value=to[39].value),ue=new Input$5({props:oo}),binding_callbacks.push(()=>bind$2(ue,"value",ro)),ue.$on("blur",to[26]),{c(){create_component(ue.$$.fragment)},m(io,ao){mount_component(ue,io,ao),no=!0},p(io,ao){to=io;const so={};ao[0]&256&&(so.placeholder=to[8]),ao[0]&2&&(so.readonly=to[1]),!eo&&ao[0]&8388608&&(eo=!0,so.value=to[39].value,add_flush_callback(()=>eo=!1)),ue.$set(so)},i(io){no||(transition_in(ue.$$.fragment,io),no=!0)},o(io){transition_out(ue.$$.fragment,io),no=!1},d(io){destroy_component(ue,io)}}}function create_if_block_8$e(to){let ue,eo;function no(...ro){return to[32](to[39],to[40],to[41],...ro)}return ue=new DrawerBindableInput({props:{bindings:to[14],placeholder:to[8],disabled:to[1],value:to[39].value,allowJS:to[19],allowHelpers:to[16],drawerLeft:to[15]}}),ue.$on("blur",no),{c(){create_component(ue.$$.fragment)},m(ro,oo){mount_component(ue,ro,oo),eo=!0},p(ro,oo){to=ro;const io={};oo[0]&16384&&(io.bindings=to[14]),oo[0]&256&&(io.placeholder=to[8]),oo[0]&2&&(io.disabled=to[1]),oo[0]&8388608&&(io.value=to[39].value),oo[0]&524288&&(io.allowJS=to[19]),oo[0]&65536&&(io.allowHelpers=to[16]),oo[0]&32768&&(io.drawerLeft=to[15]),ue.$set(io)},i(ro){eo||(transition_in(ue.$$.fragment,ro),eo=!0)},o(ro){transition_out(ue.$$.fragment,ro),eo=!1},d(ro){destroy_component(ue,ro)}}}function create_if_block_7$j(to){let ue,eo,no;function ro(io){to[31](io,to[39])}let oo={compare:to[21],options:to[5]};return to[39].value!==void 0&&(oo.value=to[39].value),ue=new Select_1$1({props:oo}),binding_callbacks.push(()=>bind$2(ue,"value",ro)),ue.$on("change",to[26]),{c(){create_component(ue.$$.fragment)},m(io,ao){mount_component(ue,io,ao),no=!0},p(io,ao){to=io;const so={};ao[0]&2097152&&(so.compare=to[21]),ao[0]&32&&(so.options=to[5]),!eo&&ao[0]&8388608&&(eo=!0,so.value=to[39].value,add_flush_callback(()=>eo=!1)),ue.$set(so)},i(io){no||(transition_in(ue.$$.fragment,io),no=!0)},o(io){transition_out(ue.$$.fragment,io),no=!1},d(io){destroy_component(ue,io)}}}function create_if_block_6$l(to){let ue,eo;return ue=new Select_1$1({props:{readonly:!0,value:"Array",options:["Array"]}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p:noop$6,i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_if_block_5$t(to){let ue,eo,no;function ro(io){to[34](io,to[41])}let oo={};return to[24][to[41]]!==void 0&&(oo.value=to[24][to[41]]),ue=new Toggle({props:oo}),binding_callbacks.push(()=>bind$2(ue,"value",ro)),ue.$on("change",to[26]),{c(){create_component(ue.$$.fragment)},m(io,ao){mount_component(ue,io,ao),no=!0},p(io,ao){to=io;const so={};!eo&&ao[0]&16777216&&(eo=!0,so.value=to[24][to[41]],add_flush_callback(()=>eo=!1)),ue.$set(so)},i(io){no||(transition_in(ue.$$.fragment,io),no=!0)},o(io){transition_out(ue.$$.fragment,io),no=!1},d(io){destroy_component(ue,io)}}}function create_if_block_4$F(to){let ue,eo;function no(){return to[35](to[41])}return ue=new Icon({props:{hoverable:!0,name:"Close"}}),ue.$on("click",no),{c(){create_component(ue.$$.fragment)},m(ro,oo){mount_component(ue,ro,oo),eo=!0},p(ro,oo){to=ro},i(ro){eo||(transition_in(ue.$$.fragment,ro),eo=!0)},o(ro){transition_out(ue.$$.fragment,ro),eo=!1},d(ro){destroy_component(ue,ro)}}}function create_if_block_3$V(to){let ue,eo;return ue=new ActionMenu({props:{$$slots:{control:[create_control_slot$6],default:[create_default_slot_1$3V]},$$scope:{ctx:to}}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro[0]&8392704|ro[1]&16384&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_default_slot_2$2O(to){let ue=to[42].text+"",eo;return{c(){eo=text$1(ue)},m(no,ro){insert$1(no,eo,ro)},p(no,ro){ro[0]&4096&&ue!==(ue=no[42].text+"")&&set_data(eo,ue)},d(no){no&&detach(eo)}}}function create_each_block_1$q(to){let ue,eo;function no(){return to[36](to[42],to[39])}return ue=new Item$1({props:{$$slots:{default:[create_default_slot_2$2O]},$$scope:{ctx:to}}}),ue.$on("click",no),{c(){create_component(ue.$$.fragment)},m(ro,oo){mount_component(ue,ro,oo),eo=!0},p(ro,oo){to=ro;const io={};oo[0]&4096|oo[1]&16384&&(io.$$scope={dirty:oo,ctx:to}),ue.$set(io)},i(ro){eo||(transition_in(ue.$$.fragment,ro),eo=!0)},o(ro){transition_out(ue.$$.fragment,ro),eo=!1},d(ro){destroy_component(ue,ro)}}}function create_default_slot_1$3V(to){let ue,eo,no=ensure_array_like(to[12]),ro=[];for(let io=0;io<no.length;io+=1)ro[io]=create_each_block_1$q(get_each_context_1$q(to,no,io));const oo=io=>transition_out(ro[io],1,1,()=>{ro[io]=null});return{c(){for(let io=0;io<ro.length;io+=1)ro[io].c();ue=space$1()},m(io,ao){for(let so=0;so<ro.length;so+=1)ro[so]&&ro[so].m(io,ao);insert$1(io,ue,ao),eo=!0},p(io,ao){if(ao[0]&8392704){no=ensure_array_like(io[12]);let so;for(so=0;so<no.length;so+=1){const lo=get_each_context_1$q(io,no,so);ro[so]?(ro[so].p(lo,ao),transition_in(ro[so],1)):(ro[so]=create_each_block_1$q(lo),ro[so].c(),transition_in(ro[so],1),ro[so].m(ue.parentNode,ue))}for(group_outros(),so=no.length;so<ro.length;so+=1)oo(so);check_outros()}},i(io){if(!eo){for(let ao=0;ao<no.length;ao+=1)transition_in(ro[ao]);eo=!0}},o(io){ro=ro.filter(Boolean);for(let ao=0;ao<ro.length;ao+=1)transition_out(ro[ao]);eo=!1},d(io){io&&detach(ue),destroy_each(ro,io)}}}function create_control_slot$6(to){let ue,eo,no,ro;return eo=new Icon({props:{size:"S",hoverable:!0,name:"MoreSmallList"}}),{c(){ue=element("div"),create_component(eo.$$.fragment),no=space$1(),attr(ue,"slot","control"),attr(ue,"class","control icon svelte-1gk02qa")},m(oo,io){insert$1(oo,ue,io),mount_component(eo,ue,null),append$2(ue,no),ro=!0},p:noop$6,i(oo){ro||(transition_in(eo.$$.fragment,oo),ro=!0)},o(oo){transition_out(eo.$$.fragment,oo),ro=!1},d(oo){oo&&detach(ue),destroy_component(eo)}}}function create_each_block$1E(to){var ko;let ue,eo,no,ro,oo,io,ao,so,lo,co,uo;const fo=[create_if_block_9$c,create_else_block_2$6],po=[];function ho(So,Ao){return So[18]?0:1}ue=ho(to),eo=po[ue]=fo[ue](to);const _o=[create_if_block_6$l,create_if_block_7$j,create_if_block_8$e,create_else_block_1$m],go=[];function bo(So,Ao){return Ao[0]&8388608&&(ro=null),ro==null&&(ro=!!isJsonArray(So[39].value)),ro?0:So[5]?1:So[14]&&So[14].length?2:3}oo=bo(to,[-1,-1]),io=go[oo]=_o[oo](to);let vo=to[6]&&create_if_block_5$t(to),yo=!to[1]&&create_if_block_4$F(to),wo=((ko=to[12])==null?void 0:ko.length)>0&&to[13]&&create_if_block_3$V(to);return{c(){eo.c(),no=space$1(),io.c(),ao=space$1(),vo&&vo.c(),so=space$1(),yo&&yo.c(),lo=space$1(),wo&&wo.c(),co=empty$2()},m(So,Ao){po[ue].m(So,Ao),insert$1(So,no,Ao),go[oo].m(So,Ao),insert$1(So,ao,Ao),vo&&vo.m(So,Ao),insert$1(So,so,Ao),yo&&yo.m(So,Ao),insert$1(So,lo,Ao),wo&&wo.m(So,Ao),insert$1(So,co,Ao),uo=!0},p(So,Ao){var To;let Io=ue;ue=ho(So),ue===Io?po[ue].p(So,Ao):(group_outros(),transition_out(po[Io],1,1,()=>{po[Io]=null}),check_outros(),eo=po[ue],eo?eo.p(So,Ao):(eo=po[ue]=fo[ue](So),eo.c()),transition_in(eo,1),eo.m(no.parentNode,no));let Eo=oo;oo=bo(So,Ao),oo===Eo?go[oo].p(So,Ao):(group_outros(),transition_out(go[Eo],1,1,()=>{go[Eo]=null}),check_outros(),io=go[oo],io?io.p(So,Ao):(io=go[oo]=_o[oo](So),io.c()),transition_in(io,1),io.m(ao.parentNode,ao)),So[6]?vo?(vo.p(So,Ao),Ao[0]&64&&transition_in(vo,1)):(vo=create_if_block_5$t(So),vo.c(),transition_in(vo,1),vo.m(so.parentNode,so)):vo&&(group_outros(),transition_out(vo,1,1,()=>{vo=null}),check_outros()),So[1]?yo&&(group_outros(),transition_out(yo,1,1,()=>{yo=null}),check_outros()):yo?(yo.p(So,Ao),Ao[0]&2&&transition_in(yo,1)):(yo=create_if_block_4$F(So),yo.c(),transition_in(yo,1),yo.m(lo.parentNode,lo)),((To=So[12])==null?void 0:To.length)>0&&So[13]?wo?(wo.p(So,Ao),Ao[0]&12288&&transition_in(wo,1)):(wo=create_if_block_3$V(So),wo.c(),transition_in(wo,1),wo.m(co.parentNode,co)):wo&&(group_outros(),transition_out(wo,1,1,()=>{wo=null}),check_outros())},i(So){uo||(transition_in(eo),transition_in(io),transition_in(vo),transition_in(yo),transition_in(wo),uo=!0)},o(So){transition_out(eo),transition_out(io),transition_out(vo),transition_out(yo),transition_out(wo),uo=!1},d(So){So&&(detach(no),detach(ao),detach(so),detach(lo),detach(co)),po[ue].d(So),go[oo].d(So),vo&&vo.d(So),yo&&yo.d(So),wo&&wo.d(So)}}}function create_if_block$41(to){let ue,eo,no;return eo=new ActionButton({props:{disabled:to[20],icon:"Add",secondary:!0,thin:!0,outline:!0,$$slots:{default:[create_default_slot$5A]},$$scope:{ctx:to}}}),eo.$on("click",to[22]),{c(){ue=element("div"),create_component(eo.$$.fragment)},m(ro,oo){insert$1(ro,ue,oo),mount_component(eo,ue,null),no=!0},p(ro,oo){const io={};oo[0]&1048576&&(io.disabled=ro[20]),oo[0]&131080|oo[1]&16384&&(io.$$scope={dirty:oo,ctx:ro}),eo.$set(io)},i(ro){no||(transition_in(eo.$$.fragment,ro),no=!0)},o(ro){transition_out(eo.$$.fragment,ro),no=!1},d(ro){ro&&detach(ue),destroy_component(eo)}}}function create_else_block$1y(to){let ue=`Add${to[3]?` ${lowercase(to[3])}`:""}`,eo;return{c(){eo=text$1(ue)},m(no,ro){insert$1(no,eo,ro)},p(no,ro){ro[0]&8&&ue!==(ue=`Add${no[3]?` ${lowercase(no[3])}`:""}`)&&set_data(eo,ue)},d(no){no&&detach(eo)}}}function create_if_block_1$26(to){let ue;return{c(){ue=text$1(to[17])},m(eo,no){insert$1(eo,ue,no)},p(eo,no){no[0]&131072&&set_data(ue,eo[17])},d(eo){eo&&detach(ue)}}}function create_default_slot$5A(to){let ue;function eo(oo,io){return oo[17]?create_if_block_1$26:create_else_block$1y}let no=eo(to),ro=no(to);return{c(){ro.c(),ue=empty$2()},m(oo,io){ro.m(oo,io),insert$1(oo,ue,io)},p(oo,io){no===(no=eo(oo))&&ro?ro.p(oo,io):(ro.d(1),ro=no(oo),ro&&(ro.c(),ro.m(ue.parentNode,ue)))},d(oo){oo&&detach(ue),ro.d(oo)}}}function create_fragment$8H(to){let ue=Object.keys(to[0]||{}).length>0,eo,no,ro,oo=ue&&create_if_block_2$1g(to),io=!to[1]&&!to[2]&&create_if_block$41(to);return{c(){oo&&oo.c(),eo=space$1(),io&&io.c(),no=empty$2()},m(ao,so){oo&&oo.m(ao,so),insert$1(ao,eo,so),io&&io.m(ao,so),insert$1(ao,no,so),ro=!0},p(ao,so){so[0]&1&&(ue=Object.keys(ao[0]||{}).length>0),ue?oo?(oo.p(ao,so),so[0]&1&&transition_in(oo,1)):(oo=create_if_block_2$1g(ao),oo.c(),transition_in(oo,1),oo.m(eo.parentNode,eo)):oo&&(group_outros(),transition_out(oo,1,1,()=>{oo=null}),check_outros()),!ao[1]&&!ao[2]?io?(io.p(ao,so),so[0]&6&&transition_in(io,1)):(io=create_if_block$41(ao),io.c(),transition_in(io,1),io.m(no.parentNode,no)):io&&(group_outros(),transition_out(io,1,1,()=>{io=null}),check_outros())},i(ao){ro||(transition_in(oo),transition_in(io),ro=!0)},o(ao){transition_out(oo),transition_out(io),ro=!1},d(ao){ao&&(detach(eo),detach(no)),oo&&oo.d(ao),io&&io.d(ao)}}}function isJsonArray(to){return!to||typeof to=="string"?!1:to.type==="array"?!0:to.type==="json"&&to.subtype==="array"}function instance$8H(to,ue,eo){let no=createEventDispatcher(),{defaults:ro}=ue,{object:oo=ro||{}}=ue,{activity:io={}}=ue,{readOnly:ao}=ue,{noAddButton:so}=ue,{name:lo}=ue,{headings:co=!1}=ue,{options:uo}=ue,{toggle:fo}=ue,{keyPlaceholder:po="Key"}=ue,{valuePlaceholder:ho="Value"}=ue,{valueHeading:_o}=ue,{keyHeading:go}=ue,{tooltip:bo}=ue,{menuItems:vo}=ue,{showMenu:yo=!1}=ue,{bindings:wo=[]}=ue,{bindingDrawerLeft:ko}=ue,{allowHelpers:So=!0}=ue,{customButtonText:Ao=null}=ue,{keyBindings:Io=!1}=ue,{allowJS:Eo=!1}=ue,{actionButtonDisabled:To=!1}=ue,{compare:Mo=(ea,ia)=>ea===ia}=ue,Vo=Object.entries(oo||{}).map(([ea,ia])=>({name:ea,value:ia})),Fo=Po(io);function Po(ea){if(!ea||typeof ea!="object")return[];const ia=Array(Vo.length);for(let[Jo,sa]of Object.entries(ea)){const Aa=Vo.find(va=>va.name===Jo),pa=Vo.indexOf(Aa);ia[pa]=pa!==-1?sa:!0}return ia}function Ro(){eo(23,Vo=[...Vo,{name:"",value:""}]),eo(24,Fo=[...Fo,!0]),Uo()}function Do(ea){Vo.splice(ea,1),Fo.splice(ea,1),Uo()}function Uo(){eo(23,Vo);const ea={};for(let ia=0;ia<Vo.length;ia++){const Jo=Vo[ia].name;Jo&&(ea[Jo]=Fo[ia])}eo(27,io=ea),no("change",Vo)}const qo=(ea,ia,Jo,sa)=>{eo(23,ia[Jo].name=sa.detail,Vo),Uo()};function xo(ea,ia){to.$$.not_equal(ia.name,ea)&&(ia.name=ea,eo(23,Vo))}function Zo(ea,ia){to.$$.not_equal(ia.value,ea)&&(ia.value=ea,eo(23,Vo))}const Xo=(ea,ia,Jo,sa)=>{eo(23,ia[Jo].value=sa.detail,Vo),Uo()};function Yo(ea,ia){to.$$.not_equal(ia.value,ea)&&(ia.value=ea,eo(23,Vo))}function Qo(ea,ia){to.$$.not_equal(Fo[ia],ea)&&(Fo[ia]=ea,eo(24,Fo))}const Ko=ea=>Do(ea),ra=(ea,ia)=>ea.onClick(ia);return to.$$set=ea=>{"defaults"in ea&&eo(28,ro=ea.defaults),"object"in ea&&eo(0,oo=ea.object),"activity"in ea&&eo(27,io=ea.activity),"readOnly"in ea&&eo(1,ao=ea.readOnly),"noAddButton"in ea&&eo(2,so=ea.noAddButton),"name"in ea&&eo(3,lo=ea.name),"headings"in ea&&eo(4,co=ea.headings),"options"in ea&&eo(5,uo=ea.options),"toggle"in ea&&eo(6,fo=ea.toggle),"keyPlaceholder"in ea&&eo(7,po=ea.keyPlaceholder),"valuePlaceholder"in ea&&eo(8,ho=ea.valuePlaceholder),"valueHeading"in ea&&eo(9,_o=ea.valueHeading),"keyHeading"in ea&&eo(10,go=ea.keyHeading),"tooltip"in ea&&eo(11,bo=ea.tooltip),"menuItems"in ea&&eo(12,vo=ea.menuItems),"showMenu"in ea&&eo(13,yo=ea.showMenu),"bindings"in ea&&eo(14,wo=ea.bindings),"bindingDrawerLeft"in ea&&eo(15,ko=ea.bindingDrawerLeft),"allowHelpers"in ea&&eo(16,So=ea.allowHelpers),"customButtonText"in ea&&eo(17,Ao=ea.customButtonText),"keyBindings"in ea&&eo(18,Io=ea.keyBindings),"allowJS"in ea&&eo(19,Eo=ea.allowJS),"actionButtonDisabled"in ea&&eo(20,To=ea.actionButtonDisabled),"compare"in ea&&eo(21,Mo=ea.compare)},to.$$.update=()=>{to.$$.dirty[0]&8388608&&eo(0,oo=Vo.reduce((ea,ia)=>({...ea,[ia.name]:ia.value}),{}))},[oo,ao,so,lo,co,uo,fo,po,ho,_o,go,bo,vo,yo,wo,ko,So,Ao,Io,Eo,To,Mo,Ro,Vo,Fo,Do,Uo,io,ro,qo,xo,Zo,Xo,Yo,Qo,Ko,ra]}class KeyValueBuilder extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8H,create_fragment$8H,safe_not_equal,{defaults:28,object:0,activity:27,readOnly:1,noAddButton:2,name:3,headings:4,options:5,toggle:6,keyPlaceholder:7,valuePlaceholder:8,valueHeading:9,keyHeading:10,tooltip:11,menuItems:12,showMenu:13,bindings:14,bindingDrawerLeft:15,allowHelpers:16,customButtonText:17,keyBindings:18,allowJS:19,actionButtonDisabled:20,compare:21,addEntry:22},null,[-1,-1])}get addEntry(){return this.$$.ctx[22]}}const Object_svelte_svelte_type_style_lang="";function create_default_slot_1$3U(to){let ue;return{c(){ue=text$1(to[0])},m(eo,no){insert$1(eo,ue,no)},p(eo,no){no&1&&set_data(ue,eo[0])},d(eo){eo&&detach(ue)}}}function create_default_slot$5z(to){let ue;return{c(){ue=text$1("Add")},m(eo,no){insert$1(eo,ue,no)},d(eo){eo&&detach(ue)}}}function create_fragment$8G(to){let ue,eo,no,ro,oo,io,ao;eo=new Label({props:{$$slots:{default:[create_default_slot_1$3U]},$$scope:{ctx:to}}}),ro=new Button({props:{secondary:!0,thin:!0,outline:!0,$$slots:{default:[create_default_slot$5z]},$$scope:{ctx:to}}}),ro.$on("click",function(){is_function(to[2].addEntry())&&to[2].addEntry().apply(this,arguments)});let so={defaults:to[1],noAddButton:!0};return io=new KeyValueBuilder({props:so}),to[3](io),io.$on("change",to[4]),io.$on("blur",to[5]),{c(){ue=element("div"),create_component(eo.$$.fragment),no=space$1(),create_component(ro.$$.fragment),oo=space$1(),create_component(io.$$.fragment),attr(ue,"class","form-row ssl svelte-13q83tn")},m(lo,co){insert$1(lo,ue,co),mount_component(eo,ue,null),append$2(ue,no),mount_component(ro,ue,null),insert$1(lo,oo,co),mount_component(io,lo,co),ao=!0},p(lo,[co]){to=lo;const uo={};co&65&&(uo.$$scope={dirty:co,ctx:to}),eo.$set(uo);const fo={};co&64&&(fo.$$scope={dirty:co,ctx:to}),ro.$set(fo);const po={};co&2&&(po.defaults=to[1]),io.$set(po)},i(lo){ao||(transition_in(eo.$$.fragment,lo),transition_in(ro.$$.fragment,lo),transition_in(io.$$.fragment,lo),ao=!0)},o(lo){transition_out(eo.$$.fragment,lo),transition_out(ro.$$.fragment,lo),transition_out(io.$$.fragment,lo),ao=!1},d(lo){lo&&(detach(ue),detach(oo)),destroy_component(eo),destroy_component(ro),to[3](null),destroy_component(io,lo)}}}function instance$8G(to,ue,eo){let{name:no}=ue,{value:ro}=ue,oo;function io(lo){binding_callbacks[lo?"unshift":"push"](()=>{oo=lo,eo(2,oo)})}function ao(lo){bubble.call(this,to,lo)}function so(lo){bubble.call(this,to,lo)}return to.$$set=lo=>{"name"in lo&&eo(0,no=lo.name),"value"in lo&&eo(1,ro=lo.value)},[no,ro,oo,io,ao,so]}let Object$1=class extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8G,create_fragment$8G,safe_not_equal,{name:0,value:1})}};const Boolean_svelte_svelte_type_style_lang="";function create_default_slot$5y(to){let ue;return{c(){ue=text$1(to[1])},m(eo,no){insert$1(eo,ue,no)},p(eo,no){no&2&&set_data(ue,eo[1])},d(eo){eo&&detach(ue)}}}function create_fragment$8F(to){let ue,eo,no,ro,oo;return eo=new Label({props:{$$slots:{default:[create_default_slot$5y]},$$scope:{ctx:to}}}),ro=new Toggle({props:{text:"",value:to[0]}}),ro.$on("blur",to[2]),ro.$on("change",to[3]),{c(){ue=element("div"),create_component(eo.$$.fragment),no=space$1(),create_component(ro.$$.fragment),attr(ue,"class","form-row svelte-9sim75")},m(io,ao){insert$1(io,ue,ao),mount_component(eo,ue,null),append$2(ue,no),mount_component(ro,ue,null),oo=!0},p(io,[ao]){const so={};ao&18&&(so.$$scope={dirty:ao,ctx:io}),eo.$set(so);const lo={};ao&1&&(lo.value=io[0]),ro.$set(lo)},i(io){oo||(transition_in(eo.$$.fragment,io),transition_in(ro.$$.fragment,io),oo=!0)},o(io){transition_out(eo.$$.fragment,io),transition_out(ro.$$.fragment,io),oo=!1},d(io){io&&detach(ue),destroy_component(eo),destroy_component(ro)}}}function instance$8F(to,ue,eo){let{value:no}=ue,{name:ro}=ue;function oo(ao){bubble.call(this,to,ao)}function io(ao){bubble.call(this,to,ao)}return to.$$set=ao=>{"value"in ao&&eo(0,no=ao.value),"name"in ao&&eo(1,ro=ao.name)},[no,ro,oo,io]}let Boolean$1=class extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8F,create_fragment$8F,safe_not_equal,{value:0,name:1})}};const LongForm_svelte_svelte_type_style_lang="";function create_default_slot$5x(to){let ue;return{c(){ue=text$1(to[1])},m(eo,no){insert$1(eo,ue,no)},p(eo,no){no&2&&set_data(ue,eo[1])},d(eo){eo&&detach(ue)}}}function create_fragment$8E(to){let ue,eo,no,ro,oo;return eo=new Label({props:{$$slots:{default:[create_default_slot$5x]},$$scope:{ctx:to}}}),ro=new TextArea_1({props:{type:to[0],value:to[2],error:to[3],placeholder:to[4]}}),ro.$on("blur",to[5]),ro.$on("change",to[6]),{c(){ue=element("div"),create_component(eo.$$.fragment),no=space$1(),create_component(ro.$$.fragment),attr(ue,"class","form-row svelte-9sim75")},m(io,ao){insert$1(io,ue,ao),mount_component(eo,ue,null),append$2(ue,no),mount_component(ro,ue,null),oo=!0},p(io,[ao]){const so={};ao&130&&(so.$$scope={dirty:ao,ctx:io}),eo.$set(so);const lo={};ao&1&&(lo.type=io[0]),ao&4&&(lo.value=io[2]),ao&8&&(lo.error=io[3]),ao&16&&(lo.placeholder=io[4]),ro.$set(lo)},i(io){oo||(transition_in(eo.$$.fragment,io),transition_in(ro.$$.fragment,io),oo=!0)},o(io){transition_out(eo.$$.fragment,io),transition_out(ro.$$.fragment,io),oo=!1},d(io){io&&detach(ue),destroy_component(eo),destroy_component(ro)}}}function instance$8E(to,ue,eo){let{type:no}=ue,{name:ro}=ue,{value:oo}=ue,{error:io}=ue,{placeholder:ao}=ue;function so(co){bubble.call(this,to,co)}function lo(co){bubble.call(this,to,co)}return to.$$set=co=>{"type"in co&&eo(0,no=co.type),"name"in co&&eo(1,ro=co.name),"value"in co&&eo(2,oo=co.value),"error"in co&&eo(3,io=co.error),"placeholder"in co&&eo(4,ao=co.placeholder)},[no,ro,oo,io,ao,so,lo]}class LongForm extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8E,create_fragment$8E,safe_not_equal,{type:0,name:1,value:2,error:3,placeholder:4})}}function get_each_context$1D(to,ue,eo){const no=to.slice();return no[6]=ue[eo],no}function create_each_block$1D(to){let ue,eo;const no=[to[6]];function ro(...io){return to[4](to[6],...io)}let oo={};for(let io=0;io<no.length;io+=1)oo=assign$1(oo,no[io]);return ue=new ConfigInput({props:oo}),ue.$on("change",ro),{c(){create_component(ue.$$.fragment)},m(io,ao){mount_component(ue,io,ao),eo=!0},p(io,ao){to=io;const so=ao&1?get_spread_update(no,[get_spread_object(to[6])]):{};ue.$set(so)},i(io){eo||(transition_in(ue.$$.fragment,io),eo=!0)},o(io){transition_out(ue.$$.fragment,io),eo=!1},d(io){destroy_component(ue,io)}}}function create_default_slot_1$3T(to){let ue,eo,no=ensure_array_like(to[0]),ro=[];for(let io=0;io<no.length;io+=1)ro[io]=create_each_block$1D(get_each_context$1D(to,no,io));const oo=io=>transition_out(ro[io],1,1,()=>{ro[io]=null});return{c(){for(let io=0;io<ro.length;io+=1)ro[io].c();ue=empty$2()},m(io,ao){for(let so=0;so<ro.length;so+=1)ro[so]&&ro[so].m(io,ao);insert$1(io,ue,ao),eo=!0},p(io,ao){if(ao&9){no=ensure_array_like(io[0]);let so;for(so=0;so<no.length;so+=1){const lo=get_each_context$1D(io,no,so);ro[so]?(ro[so].p(lo,ao),transition_in(ro[so],1)):(ro[so]=create_each_block$1D(lo),ro[so].c(),transition_in(ro[so],1),ro[so].m(ue.parentNode,ue))}for(group_outros(),so=no.length;so<ro.length;so+=1)oo(so);check_outros()}},i(io){if(!eo){for(let ao=0;ao<no.length;ao+=1)transition_in(ro[ao]);eo=!0}},o(io){ro=ro.filter(Boolean);for(let ao=0;ao<ro.length;ao+=1)transition_out(ro[ao]);eo=!1},d(io){io&&detach(ue),destroy_each(ro,io)}}}function create_default_slot$5w(to){let ue,eo;return ue=new Layout$n({props:{gap:"S",$$slots:{default:[create_default_slot_1$3T]},$$scope:{ctx:to}}}),{c(){create_component(ue.$$.fragment)},m(no,ro){mount_component(ue,no,ro),eo=!0},p(no,ro){const oo={};ro&513&&(oo.$$scope={dirty:ro,ctx:no}),ue.$set(oo)},i(no){eo||(transition_in(ue.$$.fragment,no),eo=!0)},o(no){transition_out(ue.$$.fragment,no),eo=!1},d(no){destroy_component(ue,no)}}}function create_fragment$8D(to){var no;let ue,eo;return ue=new Accordion({props:{initialOpen:((no=to[2])==null?void 0:no.openByDefault)||Object.values(to[0]).some(func$J),header:to[1],$$slots:{default:[create_default_slot$5w]},$$scope:{ctx:to}}}),{c(){create_component(ue.$$.fragment)},m(ro,oo){mount_component(ue,ro,oo),eo=!0},p(ro,[oo]){var ao;const io={};oo&5&&(io.initialOpen=((ao=ro[2])==null?void 0:ao.openByDefault)||Object.values(ro[0]).some(func$J)),oo&2&&(io.header=ro[1]),oo&513&&(io.$$scope={dirty:oo,ctx:ro}),ue.$set(io)},i(ro){eo||(transition_in(ue.$$.fragment,ro),eo=!0)},o(ro){transition_out(ue.$$.fragment,ro),eo=!1},d(ro){destroy_component(ue,ro)}}}const func$J=to=>!!to.value;function instance$8D(to,ue,eo){let{value:no}=ue,{name:ro}=ue,{config:oo}=ue,io=createEventDispatcher();const ao=(lo,co)=>{const uo=no.map(fo=>({key:fo.key,value:fo.key===lo?co:fo.value}));io("change",uo)},so=(lo,co)=>ao(lo.key,co.detail);return to.$$set=lo=>{"value"in lo&&eo(0,no=lo.value),"name"in lo&&eo(1,ro=lo.name),"config"in lo&&eo(2,oo=lo.config)},[no,ro,oo,ao,so]}class FieldGroup extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8D,create_fragment$8D,safe_not_equal,{value:0,name:1,config:2})}}const String_svelte_svelte_type_style_lang="";function create_default_slot$5v(to){let ue;return{c(){ue=text$1(to[1])},m(eo,no){insert$1(eo,ue,no)},p(eo,no){no&2&&set_data(ue,eo[1])},d(eo){eo&&detach(ue)}}}function create_fragment$8C(to){let ue,eo,no,ro,oo;return eo=new Label({props:{$$slots:{default:[create_default_slot$5v]},$$scope:{ctx:to}}}),ro=new EnvDropdown_1({props:{type:to[0]==="port"?"string":to[0],value:to[2],error:to[3],placeholder:to[4],variables:to[7].variables,environmentVariablesEnabled:to[6].environmentVariablesEnabled,showModal:to[5],handleUpgradePanel:to[8]}}),ro.$on("change",to[9]),ro.$on("blur",to[10]),{c(){ue=element("div"),create_component(eo.$$.fragment),no=space$1(),create_component(ro.$$.fragment),attr(ue,"class","form-row svelte-9sim75")},m(io,ao){insert$1(io,ue,ao),mount_component(eo,ue,null),append$2(ue,no),mount_component(ro,ue,null),oo=!0},p(io,[ao]){const so={};ao&2050&&(so.$$scope={dirty:ao,ctx:io}),eo.$set(so);const lo={};ao&1&&(lo.type=io[0]==="port"?"string":io[0]),ao&4&&(lo.value=io[2]),ao&8&&(lo.error=io[3]),ao&16&&(lo.placeholder=io[4]),ao&128&&(lo.variables=io[7].variables),ao&64&&(lo.environmentVariablesEnabled=io[6].environmentVariablesEnabled),ao&32&&(lo.showModal=io[5]),ro.$set(lo)},i(io){oo||(transition_in(eo.$$.fragment,io),transition_in(ro.$$.fragment,io),oo=!0)},o(io){transition_out(eo.$$.fragment,io),transition_out(ro.$$.fragment,io),oo=!1},d(io){io&&detach(ue),destroy_component(eo),destroy_component(ro)}}}function instance$8C(to,ue,eo){let no,ro;component_subscribe(to,licensing,ho=>eo(6,no=ho)),component_subscribe(to,environment,ho=>eo(7,ro=ho));let{type:oo}=ue,{name:io}=ue,{value:ao}=ue,{error:so}=ue,{placeholder:lo}=ue,{showModal:co=()=>{}}=ue;async function uo(){await environment.upgradePanelOpened(),no.goToUpgradePage()}function fo(ho){bubble.call(this,to,ho)}function po(ho){bubble.call(this,to,ho)}return to.$$set=ho=>{"type"in ho&&eo(0,oo=ho.type),"name"in ho&&eo(1,io=ho.name),"value"in ho&&eo(2,ao=ho.value),"error"in ho&&eo(3,so=ho.error),"placeholder"in ho&&eo(4,lo=ho.placeholder),"showModal"in ho&&eo(5,co=ho.showModal)},[oo,io,ao,so,lo,co,no,ro,uo,fo,po]}let String$1=class extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8C,create_fragment$8C,safe_not_equal,{type:0,name:1,value:2,error:3,placeholder:4,showModal:5})}};const Select_svelte_svelte_type_style_lang="";function create_default_slot$5u(to){let ue;return{c(){ue=text$1(to[1])},m(eo,no){insert$1(eo,ue,no)},p(eo,no){no&2&&set_data(ue,eo[1])},d(eo){eo&&detach(ue)}}}function create_fragment$8B(to){let ue,eo,no,ro,oo;return eo=new Label({props:{$$slots:{default:[create_default_slot$5u]},$$scope:{ctx:to}}}),ro=new Select_1$1({props:{options:to[4].options,type:to[0],value:to[2]||void 0,error:to[3],placeholder:to[5]}}),ro.$on("blur",to[6]),ro.$on("change",to[7]),{c(){ue=element("div"),create_component(eo.$$.fragment),no=space$1(),create_component(ro.$$.fragment),attr(ue,"class","form-row svelte-9sim75")},m(io,ao){insert$1(io,ue,ao),mount_component(eo,ue,null),append$2(ue,no),mount_component(ro,ue,null),oo=!0},p(io,[ao]){const so={};ao&258&&(so.$$scope={dirty:ao,ctx:io}),eo.$set(so);const lo={};ao&16&&(lo.options=io[4].options),ao&1&&(lo.type=io[0]),ao&4&&(lo.value=io[2]||void 0),ao&8&&(lo.error=io[3]),ao&32&&(lo.placeholder=io[5]),ro.$set(lo)},i(io){oo||(transition_in(eo.$$.fragment,io),transition_in(ro.$$.fragment,io),oo=!0)},o(io){transition_out(eo.$$.fragment,io),transition_out(ro.$$.fragment,io),oo=!1},d(io){io&&detach(ue),destroy_component(eo),destroy_component(ro)}}}function instance$8B(to,ue,eo){let{type:no}=ue,{name:ro}=ue,{value:oo}=ue,{error:io}=ue,{config:ao}=ue,{placeholder:so}=ue;function lo(uo){bubble.call(this,to,uo)}function co(uo){bubble.call(this,to,uo)}return to.$$set=uo=>{"type"in uo&&eo(0,no=uo.type),"name"in uo&&eo(1,ro=uo.name),"value"in uo&&eo(2,oo=uo.value),"error"in uo&&eo(3,io=uo.error),"config"in uo&&eo(4,ao=uo.config),"placeholder"in uo&&eo(5,so=uo.placeholder)},[no,ro,oo,io,ao,so,lo,co]}class Select_1 extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8B,create_fragment$8B,safe_not_equal,{type:0,name:1,value:2,error:3,config:4,placeholder:5})}}function create_fragment$8A(to){let ue,eo,no;var ro=to[7];function oo(io,ao){return{props:{type:io[0],value:io[1],error:io[2],name:io[3],config:io[4],showModal:io[5],placeholder:io[6]}}}return ro&&(ue=construct_svelte_component(ro,oo(to)),ue.$on("blur",to[8]),ue.$on("change",to[9])),{c(){ue&&create_component(ue.$$.fragment),eo=empty$2()},m(io,ao){ue&&mount_component(ue,io,ao),insert$1(io,eo,ao),no=!0},p(io,[ao]){if(ao&128&&ro!==(ro=io[7])){if(ue){group_outros();const so=ue;transition_out(so.$$.fragment,1,0,()=>{destroy_component(so,1)}),check_outros()}ro?(ue=construct_svelte_component(ro,oo(io)),ue.$on("blur",io[8]),ue.$on("change",io[9]),create_component(ue.$$.fragment),transition_in(ue.$$.fragment,1),mount_component(ue,eo.parentNode,eo)):ue=null}else if(ro){const so={};ao&1&&(so.type=io[0]),ao&2&&(so.value=io[1]),ao&4&&(so.error=io[2]),ao&8&&(so.name=io[3]),ao&16&&(so.config=io[4]),ao&32&&(so.showModal=io[5]),ao&64&&(so.placeholder=io[6]),ue.$set(so)}},i(io){no||(ue&&transition_in(ue.$$.fragment,io),no=!0)},o(io){ue&&transition_out(ue.$$.fragment,io),no=!1},d(io){io&&detach(eo),ue&&destroy_component(ue,io)}}}function instance$8A(to,ue,eo){let no,{type:ro}=ue,{value:oo}=ue,{error:io}=ue,{name:ao}=ue,{config:so}=ue,{showModal:lo=()=>{}}=ue,{placeholder:co}=ue;const uo=ho=>ho==="object"?Object$1:ho==="boolean"?Boolean$1:ho==="longForm"?LongForm:ho==="fieldGroup"?FieldGroup:ho==="select"?Select_1:String$1;function fo(ho){bubble.call(this,to,ho)}function po(ho){bubble.call(this,to,ho)}return to.$$set=ho=>{"type"in ho&&eo(0,ro=ho.type),"value"in ho&&eo(1,oo=ho.value),"error"in ho&&eo(2,io=ho.error),"name"in ho&&eo(3,ao=ho.name),"config"in ho&&eo(4,so=ho.config),"showModal"in ho&&eo(5,lo=ho.showModal),"placeholder"in ho&&eo(6,co=ho.placeholder)},to.$$.update=()=>{to.$$.dirty&1&&eo(7,no=uo(ro))},[ro,oo,io,ao,so,lo,co,no,fo,po]}class ConfigInput extends SvelteComponent{constructor(ue){super(),init$3(this,ue,instance$8A,create_fragment$8A,safe_not_equal,{type:0,value:1,error:2,name:3,config:4,showModal:5,placeholder:6})}}const toString$2=Object.prototype.toString,errorToString=Error.prototype.toString,regExpToString=RegExp.prototype.toString,symbolToString=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",SYMBOL_REGEXP=/^Symbol\((.*)\)(.*)$/;function printNumber(to){return to!=+to?"NaN":to===0&&1/to<0?"-0":""+to}function printSimpleValue(to,ue=!1){if(to==null||to===!0||to===!1)return""+to;const eo=typeof to;if(eo==="number")return printNumber(to);if(eo==="string")return ue?`"${to}"`:to;if(eo==="function")return"[Function "+(to.name||"anonymous")+"]";if(eo==="symbol")return symbolToString.call(to).replace(SYMBOL_REGEXP,"Symbol($1)");const no=toString$2.call(to).slice(8,-1);return no==="Date"?isNaN(to.getTime())?""+to:to.toISOString(to):no==="Error"||to instanceof Error?"["+errorToString.call(to)+"]":no==="RegExp"?regExpToString.call(to):null}function printValue(to,ue){let eo=printSimpleValue(to,ue);return eo!==null?eo:JSON.stringify(to,function(no,ro){let oo=printSimpleValue(this[no],ue);return oo!==null?oo:ro},2)}let mixed={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:to,type:ue,value:eo,originalValue:no})=>{let ro=no!=null&&no!==eo,oo=`${to} must be a \`${ue}\` type, but the final value was: \`${printValue(eo,!0)}\``+(ro?` (cast from the value \`${printValue(no,!0)}\`).`:".");return eo===null&&(oo+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),oo},defined:"${path} must be defined"},string={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},number={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},date={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},boolean={isValue:"${path} field must be ${value}"},object={noUnknown:"${path} field has unspecified keys: ${unknown}"},array$1={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"};Object.assign(Object.create(null),{mixed,string,number,date,object,array:array$1,boolean});const isSchema=to=>to&&to.__isYupSchema__;class Condition{constructor(ue,eo){if(this.fn=void 0,this.refs=ue,this.refs=ue,typeof eo=="function"){this.fn=eo;return}if(!has$7(eo,"is"))throw new TypeError("`is:` is required for `when()` conditions");if(!eo.then&&!eo.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:no,then:ro,otherwise:oo}=eo,io=typeof no=="function"?no:(...ao)=>ao.every(so=>so===no);this.fn=function(...ao){let so=ao.pop(),lo=ao.pop(),co=io(...ao)?ro:oo;if(co)return typeof co=="function"?co(lo):lo.concat(co.resolve(so))}}resolve(ue,eo){let no=this.refs.map(oo=>oo.getValue(eo==null?void 0:eo.value,eo==null?void 0:eo.parent,eo==null?void 0:eo.context)),ro=this.fn.apply(ue,no.concat(ue,eo));if(ro===void 0||ro===ue)return ue;if(!isSchema(ro))throw new TypeError("conditions must return a schema object");return ro.resolve(eo)}}function toArray$1(to){return to==null?[]:[].concat(to)}function _extends$3(){return _extends$3=Object.assign||function(to){for(var ue=1;ue<arguments.length;ue++){var eo=arguments[ue];for(var no in eo)Object.prototype.hasOwnProperty.call(eo,no)&&(to[no]=eo[no])}return to},_extends$3.apply(this,arguments)}let strReg=/\$\{\s*(\w+)\s*\}/g;class ValidationError extends Error{static formatError(ue,eo){const no=eo.label||eo.path||"this";return no!==eo.path&&(eo=_extends$3({},eo,{path:no})),typeof ue=="string"?ue.replace(strReg,(ro,oo)=>printValue(eo[oo])):typeof ue=="function"?ue(eo):ue}static isError(ue){return ue&&ue.name==="ValidationError"}constructor(ue,eo,no,ro){super(),this.value=void 0,this.path=void 0,this.type=void 0,this.errors=void 0,this.params=void 0,this.inner=void 0,this.name="ValidationError",this.value=eo,this.path=no,this.type=ro,this.errors=[],this.inner=[],toArray$1(ue).forEach(oo=>{ValidationError.isError(oo)?(this.errors.push(...oo.errors),this.inner=this.inner.concat(oo.inner.length?oo.inner:oo)):this.errors.push(oo)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,ValidationError)}}const once=to=>{let ue=!1;return(...eo)=>{ue||(ue=!0,to(...eo))}};function runTests(to,ue){let{endEarly:eo,tests:no,args:ro,value:oo,errors:io,sort:ao,path:so}=to,lo=once(ue),co=no.length;const uo=[];if(io=io||[],!co)return io.length?lo(new ValidationError(io,oo,so)):lo(null,oo);for(let fo=0;fo<no.length;fo++){const po=no[fo];po(ro,function(_o){if(_o){if(!ValidationError.isError(_o))return lo(_o,oo);if(eo)return _o.value=oo,lo(_o,oo);uo.push(_o)}if(--co<=0){if(uo.length&&(ao&&uo.sort(ao),io.length&&uo.push(...io),io=uo),io.length){lo(new ValidationError(io,oo,so),oo);return}lo(null,oo)}})}}const prefixes$1={context:"$",value:"."};class Reference{constructor(ue,eo={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,typeof ue!="string")throw new TypeError("ref must be a string, got: "+ue);if(this.key=ue.trim(),ue==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===prefixes$1.context,this.isValue=this.key[0]===prefixes$1.value,this.isSibling=!this.isContext&&!this.isValue;let no=this.isContext?prefixes$1.context:this.isValue?prefixes$1.value:"";this.path=this.key.slice(no.length),this.getter=this.path&&propertyExpr.getter(this.path,!0),this.map=eo.map}getValue(ue,eo,no){let ro=this.isContext?no:this.isValue?ue:eo;return this.getter&&(ro=this.getter(ro||{})),this.map&&(ro=this.map(ro)),ro}cast(ue,eo){return this.getValue(ue,eo==null?void 0:eo.parent,eo==null?void 0:eo.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(ue){return ue&&ue.__isYupRef}}Reference.prototype.__isYupRef=!0;function _extends$2(){return _extends$2=Object.assign||function(to){for(var ue=1;ue<arguments.length;ue++){var eo=arguments[ue];for(var no in eo)Object.prototype.hasOwnProperty.call(eo,no)&&(to[no]=eo[no])}return to},_extends$2.apply(this,arguments)}function _objectWithoutPropertiesLoose(to,ue){if(to==null)return{};var eo={},no=Object.keys(to),ro,oo;for(oo=0;oo<no.length;oo++)ro=no[oo],!(ue.indexOf(ro)>=0)&&(eo[ro]=to[ro]);return eo}function createValidation(to){function ue(eo,no){let{value:ro,path:oo="",label:io,options:ao,originalValue:so,sync:lo}=eo,co=_objectWithoutPropertiesLoose(eo,["value","path","label","options","originalValue","sync"]);const{name:uo,test:fo,params:po,message:ho}=to;let{parent:_o,context:go}=ao;function bo(So){return Reference.isRef(So)?So.getValue(ro,_o,go):So}function vo(So={}){const Ao=mapValues$2(_extends$2({value:ro,originalValue:so,label:io,path:So.path||oo},po,So.params),bo),Io=new ValidationError(ValidationError.formatError(So.message||ho,Ao),ro,Ao.path,So.type||uo);return Io.params=Ao,Io}let yo=_extends$2({path:oo,parent:_o,type:uo,createError:vo,resolve:bo,options:ao,originalValue:so},co);if(!lo){try{Promise.resolve(fo.call(yo,ro,yo)).then(So=>{ValidationError.isError(So)?no(So):So?no(null,So):no(vo())}).catch(no)}catch(So){no(So)}return}let wo;try{var ko;if(wo=fo.call(yo,ro,yo),typeof((ko=wo)==null?void 0:ko.then)=="function")throw new Error(`Validation test of type: "${yo.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(So){no(So);return}ValidationError.isError(wo)?no(wo):wo?no(null,wo):no(vo())}return ue.OPTIONS=to,ue}let trim=to=>to.substr(0,to.length-1).substr(1);function getIn(to,ue,eo,no=eo){let ro,oo,io;return ue?(propertyExpr.forEach(ue,(ao,so,lo)=>{let co=so?trim(ao):ao;if(to=to.resolve({context:no,parent:ro,value:eo}),to.innerType){let uo=lo?parseInt(co,10):0;if(eo&&uo>=eo.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${ao}, in the path: ${ue}. because there is no value at that index. `);ro=eo,eo=eo&&eo[uo],to=to.innerType}if(!lo){if(!to.fields||!to.fields[co])throw new Error(`The schema does not contain the path: ${ue}. (failed at: ${io} which is a type: "${to._type}")`);ro=eo,eo=eo&&eo[co],to=to.fields[co]}oo=co,io=so?"["+ao+"]":"."+ao}),{schema:to,parent:ro,parentPath:oo}):{parent:ro,parentPath:ue,schema:to}}class ReferenceSet{constructor(){this.list=void 0,this.refs=void 0,this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){const ue=[];for(const eo of this.list)ue.push(eo);for(const[,eo]of this.refs)ue.push(eo.describe());return ue}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}resolveAll(ue){return this.toArray().reduce((eo,no)=>eo.concat(Reference.isRef(no)?ue(no):no),[])}add(ue){Reference.isRef(ue)?this.refs.set(ue.key,ue):this.list.add(ue)}delete(ue){Reference.isRef(ue)?this.refs.delete(ue.key):this.list.delete(ue)}clone(){const ue=new ReferenceSet;return ue.list=new Set(this.list),ue.refs=new Map(this.refs),ue}merge(ue,eo){const no=this.clone();return ue.list.forEach(ro=>no.add(ro)),ue.refs.forEach(ro=>no.add(ro)),eo.list.forEach(ro=>no.delete(ro)),eo.refs.forEach(ro=>no.delete(ro)),no}}function _extends$1(){return _extends$1=Object.assign||function(to){for(var ue=1;ue<arguments.length;ue++){var eo=arguments[ue];for(var no in eo)Object.prototype.hasOwnProperty.call(eo,no)&&(to[no]=eo[no])}return to},_extends$1.apply(this,arguments)}class BaseSchema{constructor(ue){this.deps=[],this.tests=void 0,this.transforms=void 0,this.conditions=[],this._mutate=void 0,this._typeError=void 0,this._whitelist=new ReferenceSet,this._blacklist=new ReferenceSet,this.exclusiveTests=Object.create(null),this.spec=void 0,this.tests=[],this.transforms=[],this.withMutation(()=>{this.typeError(mixed.notType)}),this.type=(ue==null?void 0:ue.type)||"mixed",this.spec=_extends$1({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},ue==null?void 0:ue.spec)}get _type(){return this.type}_typeCheck(ue){return!0}clone(ue){if(this._mutate)return ue&&Object.assign(this.spec,ue),this;const eo=Object.create(Object.getPrototypeOf(this));return eo.type=this.type,eo._typeError=this._typeError,eo._whitelistError=this._whitelistError,eo._blacklistError=this._blacklistError,eo._whitelist=this._whitelist.clone(),eo._blacklist=this._blacklist.clone(),eo.exclusiveTests=_extends$1({},this.exclusiveTests),eo.deps=[...this.deps],eo.conditions=[...this.conditions],eo.tests=[...this.tests],eo.transforms=[...this.transforms],eo.spec=clone$3(_extends$1({},this.spec,ue)),eo}label(ue){let eo=this.clone();return eo.spec.label=ue,eo}meta(...ue){if(ue.length===0)return this.spec.meta;let eo=this.clone();return eo.spec.meta=Object.assign(eo.spec.meta||{},ue[0]),eo}withMutation(ue){let eo=this._mutate;this._mutate=!0;let no=ue(this);return this._mutate=eo,no}concat(ue){if(!ue||ue===this)return this;if(ue.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${ue.type}`);let eo=this,no=ue.clone();const ro=_extends$1({},eo.spec,no.spec);return no.spec=ro,no._typeError||(no._typeError=eo._typeError),no._whitelistError||(no._whitelistError=eo._whitelistError),no._blacklistError||(no._blacklistError=eo._blacklistError),no._whitelist=eo._whitelist.merge(ue._whitelist,ue._blacklist),no._blacklist=eo._blacklist.merge(ue._blacklist,ue._whitelist),no.tests=eo.tests,no.exclusiveTests=eo.exclusiveTests,no.withMutation(oo=>{ue.tests.forEach(io=>{oo.test(io.OPTIONS)})}),no.transforms=[...eo.transforms,...no.transforms],no}isType(ue){return this.spec.nullable&&ue===null?!0:this._typeCheck(ue)}resolve(ue){let eo=this;if(eo.conditions.length){let no=eo.conditions;eo=eo.clone(),eo.conditions=[],eo=no.reduce((ro,oo)=>oo.resolve(ro,ue),eo),eo=eo.resolve(ue)}return eo}cast(ue,eo={}){let no=this.resolve(_extends$1({value:ue},eo)),ro=no._cast(ue,eo);if(ue!==void 0&&eo.assert!==!1&&no.isType(ro)!==!0){let oo=printValue(ue),io=printValue(ro);throw new TypeError(`The value of ${eo.path||"field"} could not be cast to a value that satisfies the schema type: "${no._type}".
|
|
891
891
|
|