@budibase/client 3.20.6 → 3.20.7
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.
|
@@ -353,7 +353,7 @@ ${u}
|
|
|
353
353
|
</g>
|
|
354
354
|
</svg>
|
|
355
355
|
`;var HTTPMethod=(u=>(u.POST="POST",u.PATCH="PATCH",u.GET="GET",u.PUT="PUT",u.DELETE="DELETE",u))(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=(u=>(u.USERS="ta_users",u))(TableNames||{});const BudibaseRoles={AppUser:"appUser",Developer:"developer",Creator:"creator",Admin:"admin",Owner:"owner"},BudibaseRoleOptionsOld=[{label:"Developer",value:BudibaseRoles.Developer,sortOrder:2}],BudibaseRoleOptions=[{label:"Tenant admin",value:BudibaseRoles.Admin,subtitle:"Has full access to all workspaces in your tenant",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",PREMIUM_PLUS:"premium_plus",ENTERPRISE:"enterprise",ENTERPRISE_BASIC_TRIAL:"enterprise_basic_trial"},ApiVersion="1",Roles={ADMIN:"ADMIN",POWER:"POWER",BASIC:"BASIC",PUBLIC:"PUBLIC",BUILDER:"BUILDER",CREATOR:"CREATOR",GROUP:"GROUP"},EventPublishType={ENV_VAR_UPGRADE_PANEL_OPENED:"environment_variable_upgrade_panel_opened"},TypeIconMap={[FieldType.STRING]:"text-align-left",[FieldType.OPTIONS]:"caret-circle-down",[FieldType.DATETIME]:"calendar",[FieldType.BARCODEQR]:"barcode",[FieldType.SIGNATURE_SINGLE]:"pen-nib",[FieldType.LONGFORM]:"text-align-left",[FieldType.ARRAY]:"list-checks",[FieldType.NUMBER]:"hash",[FieldType.BOOLEAN]:"toggle-right",[FieldType.ATTACHMENTS]:"files",[FieldType.ATTACHMENT_SINGLE]:"file",[FieldType.LINK]:"arrow-circle-up-right",[FieldType.FORMULA]:"calculator",[FieldType.AI]:"sparkle",[FieldType.JSON]:"brackets-angle",[FieldType.BIGINT]:"text-bolder",[FieldType.AUTO]:"shapes",[FieldType.BB_REFERENCE]:{[BBReferenceFieldSubType.USER]:"users-three",[BBReferenceFieldSubType.USERS]:"users-three"},[FieldType.BB_REFERENCE_SINGLE]:{[BBReferenceFieldSubType.USER]:"user"}},OptionColours=[...new Array(12).keys()].map(u=>`hsla(${(u+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={WRITABLE:"writable",READONLY:"readonly",HIDDEN:"hidden"},APP_NAME_REGEX=/^[\w\s]+$/,APP_URL_REGEX=/^[0-9a-zA-Z-_]+$/,Constants$1=Object.freeze(Object.defineProperty({__proto__:null,APP_NAME_REGEX,APP_URL_REGEX,ApiVersion,BannedSearchTypes,BudibaseRoleOptions,BudibaseRoleOptionsOld,BudibaseRoles,ContextScopes:ComponentContextScopes,Cookies,DEFAULT_BB_DATASOURCE_ID,EventPublishType,ExtendedBudibaseRoleOptions,Features:Feature,FieldPermissions,FilterOperator,FilterValueType,OnEmptyFilter,OperatorOptions,OptionColours,PlanType,Roles,SqlNumberTypeRangeMap,TableNames,TypeIconMap},Symbol.toStringTag,{value:"Module"})),buildAnalyticsEndpoints=u=>({getAnalyticsStatus:async()=>await u.get({url:"/api/bbtel"}),analyticsPing:async l=>await u.post({url:"/api/bbtel/ping",body:{...l,timezone:Intl.DateTimeFormat().resolvedOptions().timeZone}})}),buildAIEndpoints=u=>({generateCronExpression:async l=>await u.post({url:"/api/ai/cron",body:{prompt:l}}),generateJs:async l=>await u.post({url:"/api/ai/js",body:l}),generateTables:async l=>await u.post({url:"/api/ai/tables",body:l})}),buildAppEndpoints=u=>({fetchAppPackage:async l=>await u.get({url:`/api/applications/${l}/appPackage`}),saveAppMetadata:async(l,f)=>await u.put({url:`/api/applications/${l}`,body:f}),publishAppChanges:async(l,f)=>await u.post({url:`/api/applications/${l}/publish`,body:f}),revertAppChanges:async l=>await u.post({url:`/api/dev/${l}/revert`}),updateAppClientVersion:async l=>await u.post({url:`/api/applications/${l}/client/update`}),revertAppClientVersion:async l=>await u.post({url:`/api/applications/${l}/client/revert`}),getAppDeployments:async()=>await u.get({url:"/api/deployments"}),createApp:async l=>l instanceof FormData?await u.post({url:"/api/applications",body:l,json:!1}):await u.post({url:"/api/applications",body:l}),duplicateApp:async(l,f)=>await u.post({url:`/api/applications/${l}/duplicate`,body:f}),updateAppFromExport:async(l,f,p)=>{const m=getDevAppID(l),b=new FormData;b.append("appExport",p);for(const[y,v]of Object.entries(f))b.append(y,v);return await u.post({url:`/api/applications/${m}/import`,body:b,json:!1})},importApps:async l=>await u.post({url:"/api/cloud/import",body:l,json:!1}),unpublishApp:async l=>await u.post({url:`/api/applications/${l}/unpublish`}),deleteApp:async l=>await u.delete({url:`/api/applications/${l}`}),releaseAppLock:async l=>await u.delete({url:`/api/dev/${l}/lock`}),fetchSystemDebugInfo:async()=>await u.get({url:"/api/debug/diagnostics"}),getApps:async()=>await u.get({url:"/api/applications?status=all"}),fetchComponentLibDefinitions:async l=>await u.get({url:`/api/${l}/components/definitions`}),addSampleData:async l=>await u.post({url:`/api/applications/${l}/sample`}),getPublishedApps:async()=>(await u.get({url:"/api/client/applications"})).apps}),buildAttachmentEndpoints=u=>{const l={getSignedDatasourceURL:async(f,p,m)=>await u.post({url:`/api/attachments/${f}/url`,body:{bucket:p,key:m}})};return{...l,uploadAttachment:async(f,p)=>await u.post({url:`/api/attachments/${f}/upload`,body:p,json:!1}),uploadBuilderAttachment:async f=>await u.post({url:"/api/attachments/process",body:f,json:!1}),uploadPWAZip:async f=>await u.post({url:"/api/pwa/process-zip",body:f,json:!1}),externalUpload:async(f,p,m,b)=>{const{signedUrl:y,publicUrl:v}=await l.getSignedDatasourceURL(f,p,m);return y?(await u.put({url:y,body:b,json:!1,external:!0,parseResponse:w=>w}),{publicUrl:v}):{publicUrl:void 0}},downloadAttachment:async(f,p,m)=>await u.get({url:`/api/${f}/rows/${p}/attachment/${m}`,parseResponse:b=>b,suppressErrors:!0})}},buildAuthEndpoints=u=>({logIn:async(l,f,p)=>await u.post({url:`/api/global/auth/${l}/login`,body:{username:f,password:p},parseResponse:async m=>{const b=await m.json(),y=m.headers.get("X-Session-Invalidated-Count");return{...b,invalidatedSessionCount:y?parseInt(y):0}}}),logOut:async()=>await u.post({url:"/api/global/auth/logout"}),setInitInfo:async l=>await u.post({url:"/api/global/auth/init",body:l}),getInitInfo:async()=>await u.get({url:"/api/global/auth/init"}),requestForgotPassword:async(l,f)=>await u.post({url:`/api/global/auth/${l}/reset`,body:{email:f}}),resetPassword:async(l,f,p)=>await u.post({url:`/api/global/auth/${l}/reset/update`,body:{password:f,resetCode:p}})}),buildAutomationEndpoints=u=>({triggerAutomation:async(l,f,p)=>await u.post({url:`/api/automations/${l}/trigger`,body:{fields:f,timeout:p}}),testAutomation:async(l,f)=>await u.post({url:`/api/automations/${l}/test`,body:f}),getAutomations:async()=>await u.get({url:"/api/automations"}),getAutomationDefinitions:async()=>await u.get({url:"/api/automations/definitions/list"}),createAutomation:async l=>await u.post({url:"/api/automations",body:l}),updateAutomation:async l=>await u.put({url:"/api/automations",body:l}),deleteAutomation:async(l,f)=>await u.delete({url:`/api/automations/${l}/${f}`}),getAutomationLogs:async l=>await u.post({url:"/api/automations/logs/search",body:l}),clearAutomationLogErrors:async(l,f)=>await u.delete({url:"/api/automations/logs",body:{appId:f,automationId:l}})}),buildConfigEndpoints=u=>({saveConfig:async l=>await u.post({url:"/api/global/configs",body:l}),getConfig:async l=>await u.get({url:`/api/global/configs/${l}`}),deleteConfig:async(l,f)=>await u.delete({url:`/api/global/configs/${l}/${f}`}),getTenantConfig:async l=>await u.get({url:`/api/global/configs/public?tenantId=${l}`}),getOIDCConfigs:async l=>await u.get({url:`/api/global/configs/public/oidc?tenantId=${l}`}),getChecklist:async l=>await u.get({url:`/api/global/configs/checklist?tenantId=${l}`}),uploadLogo:async l=>await u.post({url:"/api/global/configs/upload/settings/logoUrl",body:l,json:!1}),uploadFavicon:async l=>await u.post({url:"/api/global/configs/upload/settings/faviconUrl",body:l,json:!1}),uploadOIDCLogo:async(l,f)=>await u.post({url:`/api/global/configs/upload/logos_oidc/${l}`,body:f,json:!1}),getOIDCLogos:async()=>await u.get({url:"/api/global/configs/logos_oidc"})}),buildDatasourceEndpoints=u=>({getDatasources:async()=>await u.get({url:"/api/datasources"}),buildDatasourceSchema:async(l,f)=>await u.post({url:`/api/datasources/${l}/schema`,body:{tablesFilter:f}}),createDatasource:async l=>await u.post({url:"/api/datasources",body:l}),updateDatasource:async l=>await u.put({url:`/api/datasources/${l._id}`,body:l}),deleteDatasource:async(l,f)=>await u.delete({url:`/api/datasources/${l}/${f}`}),validateDatasource:async l=>await u.post({url:"/api/datasources/verify",body:{datasource:l}}),fetchInfoForDatasource:async l=>await u.post({url:"/api/datasources/info",body:{datasource:l}}),fetchExternalSchema:async l=>await u.get({url:`/api/datasources/${l}/schema/external`})}),buildFlagEndpoints=u=>({getFlags:async()=>await u.get({url:"/api/users/flags"}),updateFlag:async(l,f)=>await u.post({url:"/api/users/flags",body:{flag:l,value:f}})}),buildLayoutEndpoints=u=>({saveLayout:async l=>await u.post({url:"/api/layouts",body:l}),deleteLayout:async(l,f)=>await u.delete({url:`/api/layouts/${l}/${f}`})}),buildOtherEndpoints=u=>({getEnvironment:async()=>await u.get({url:"/api/system/environment"}),getSystemStatus:async()=>await u.get({url:"/api/system/status"}),getIntegrations:async()=>await u.get({url:"/api/integrations"}),getBudibaseVersion:async()=>(await u.get({url:"/api/dev/version"})).version,getBasePermissions:async()=>await u.get({url:"/api/permission/builtin"})}),buildPermissionsEndpoints=u=>({getPermissionForResource:async l=>await u.get({url:`/api/permission/${l}`}),updatePermissionForResource:async(l,f,p)=>await u.post({url:`/api/permission/${f}/${l}/${p}`}),removePermissionFromResource:async(l,f,p)=>await u.delete({url:`/api/permission/${f}/${l}/${p}`}),getDependants:async l=>await u.get({url:`/api/permission/${l}/dependants`})}),buildQueryEndpoints=u=>({executeQuery:async(l,{pagination:f,parameters:p}={})=>await u.post({url:`/api/v2/queries/${l}`,body:{parameters:p,pagination:f}}),fetchQueryDefinition:async l=>await u.get({url:`/api/queries/${l}`,cache:!0}),getQueries:async()=>await u.get({url:"/api/queries"}),saveQuery:async l=>await u.post({url:"/api/queries",body:l}),deleteQuery:async(l,f)=>await u.delete({url:`/api/queries/${l}/${f}`}),importQueries:async l=>await u.post({url:"/api/queries/import",body:l}),previewQuery:async l=>await u.post({url:"/api/queries/preview",body:l})}),buildRelationshipEndpoints=u=>({fetchRelationshipData:async(l,f,p)=>{const m=await u.get({url:`/api/${l}/${f}/enrich?field=${p}`});return p?m[p]||[]:[m]}}),buildRoleEndpoints=u=>({deleteRole:async(l,f)=>await u.delete({url:`/api/roles/${l}/${f}`}),saveRole:async l=>await u.post({url:"/api/roles",body:l}),getRoles:async()=>await u.get({url:"/api/roles"}),getRolesForApp:async l=>await u.get({url:`/api/global/roles/${l}`}),getAccessibleRoles:async()=>await u.get({url:"/api/roles/accessible"})}),buildRouteEndpoints=u=>({fetchClientAppRoutes:async()=>await u.get({url:"/api/routing/client"}),fetchAppRoutes:async()=>await u.get({url:"/api/routing"})}),buildRowEndpoints=u=>({fetchRow:async(l,f)=>await u.get({url:`/api/${l}/rows/${f}`}),saveRow:async(l,f=!1)=>{const p=l._viewId||l.tableId;return await u.post({url:`/api/${p}/rows`,body:l,suppressErrors:f})},patchRow:async(l,f=!1)=>{const p=l._viewId||l.tableId;return await u.patch({url:`/api/${p}/rows`,body:l,suppressErrors:f})},deleteRow:async(l,f)=>await u.delete({url:`/api/${l}/rows`,body:{_id:f}}),deleteRows:async(l,f)=>(f.forEach(p=>{typeof p=="object"&&(p==null||delete p._viewId)}),await u.delete({url:`/api/${l}/rows`,body:{rows:f}})),exportRows:async(l,f,p)=>await u.post({url:`/api/${l}/rows/exportRows?format=${f}`,body:p,parseResponse:async m=>await m.text()})}),buildScreenEndpoints=u=>({saveScreen:async l=>await u.post({url:"/api/screens",body:l}),deleteScreen:async(l,f)=>await u.delete({url:`/api/screens/${l}/${f}`}),usageInScreens:async l=>await u.post({url:`/api/screens/usage/${l}`})}),buildTableEndpoints=u=>({fetchTableDefinition:async l=>await u.get({url:`/api/tables/${l}`,cache:!0}),fetchTableData:async l=>await u.get({url:`/api/${l}/rows`}),searchTable:async(l,f)=>await u.post({url:`/api/${l}/search`,body:f}),importTableData:async(l,f,p)=>await u.post({url:`/api/tables/${l}/import`,body:{rows:f,identifierFields:p}}),csvToJson:async l=>await u.post({url:"/api/convert/csvToJson",body:{csvString:l}}),getTables:async()=>await u.get({url:"/api/tables"}),getTable:async l=>await u.get({url:`/api/tables/${l}`}),saveTable:async l=>await u.post({url:"/api/tables",body:l}),deleteTable:async(l,f)=>await u.delete({url:`/api/tables/${l}/${f}`}),validateNewTableImport:async(l,f)=>await u.post({url:"/api/tables/validateNewTableImport",body:{rows:l,schema:f}}),validateExistingTableImport:async(l,f)=>await u.post({url:"/api/tables/validateExistingTableImport",body:{rows:l,tableId:f}}),migrateColumn:async(l,f,p)=>await u.post({url:`/api/tables/${l}/migrate`,body:{oldColumn:f,newColumn:p}}),duplicateTable:async l=>await u.post({url:`/api/tables/${l}/duplicate`})}),buildTemplateEndpoints=u=>({getEmailTemplateDefinitions:async()=>await u.get({url:"/api/global/template/definitions"}),getEmailTemplates:async()=>await u.get({url:"/api/global/template/email"}),saveEmailTemplate:async l=>await u.post({url:"/api/global/template",body:l}),getAppTemplates:async()=>await u.get({url:"/api/templates"})}),buildUserEndpoints=u=>({getUsers:async()=>await u.get({url:"/api/global/users"}),searchUsers:async l=>await u.post({url:"/api/global/users/search",body:l}),getUser:async l=>await u.get({url:`/api/global/users/${l}`}),updateOwnMetadata:async l=>await u.post({url:"/api/users/metadata/self",body:l}),createAdminUser:async l=>await u.post({url:"/api/global/users/init",body:l}),saveUser:async l=>await u.post({url:"/api/global/users",body:l}),createUsers:async(l,f)=>(await u.post({url:"/api/global/users/bulk",body:{create:{users:l,groups:f}}})).created,deleteUser:async l=>await u.delete({url:`/api/global/users/${l}`}),deleteUsers:async l=>(await u.post({url:"/api/global/users/bulk",body:{delete:{users:l}}})).deleted,onboardUsers:async l=>await u.post({url:"/api/global/users/onboard",body:l}),addWorkspaceIdToInvite:async(l,f)=>await u.post({url:`/api/global/users/invite/${l}/${f}`}),removeWorkspaceIdFromInvite:async l=>await u.delete({url:`/api/global/users/invite/${l}`}),addUserToWorkspace:async(l,f,p)=>await u.post({url:`/api/global/users/${l}/permission/${f}`,body:{_rev:p}}),removeUserFromWorkspace:async(l,f)=>await u.delete({url:`/api/global/users/${l}/permission`,body:{_rev:f}}),getUserInvite:async l=>await u.get({url:`/api/global/users/invite/${l}`}),getUserInvites:async()=>await u.get({url:"/api/global/users/invites"}),inviteUsers:async l=>await u.post({url:"/api/global/users/multi/invite",body:l}),removeUserInvites:async l=>await u.post({url:"/api/global/users/multi/invite/delete",body:l}),acceptInvite:async l=>await u.post({url:"/api/global/users/invite/accept",body:l}),getUserCountByApp:async l=>(await u.get({url:`/api/global/users/count/${l}`})).userCount,getAccountHolder:async()=>await u.get({url:"/api/global/users/accountholder"})}),buildSelfEndpoints=u=>({generateAPIKey:async()=>{const l=await u.post({url:"/api/global/self/api_key"});return l==null?void 0:l.apiKey},fetchDeveloperInfo:async()=>u.get({url:"/api/global/self/api_key"}),fetchSelf:async()=>await u.get({url:"/api/self"}),fetchBuilderSelf:async()=>await u.get({url:"/api/global/self"}),updateSelf:async l=>await u.post({url:"/api/global/self",body:l})}),buildViewEndpoints=u=>({fetchViewData:async(l,{field:f,groupBy:p,calculation:m})=>{const b=new URLSearchParams;m&&(f&&b.set("field",f),b.set("calculation",m)),p&&b.set("group",p);const y=f?`/api/views/${encodeURIComponent(l)}?${b}`:`/api/views/${encodeURIComponent(l)}`;return await u.get({url:y})},exportView:async(l,f)=>{const p=encodeURIComponent(l);return await u.get({url:`/api/views/export?view=${p}&format=${f}`,parseResponse:async m=>await m.text()})},saveView:async l=>await u.post({url:"/api/views",body:l}),deleteView:async l=>await u.delete({url:`/api/views/${encodeURIComponent(l)}`})}),buildViewV2Endpoints=u=>({fetchDefinition:async l=>await u.get({url:`/api/v2/views/${encodeURIComponent(l)}`,cache:!0}),create:async l=>await u.post({url:"/api/v2/views",body:l}),update:async l=>await u.put({url:`/api/v2/views/${encodeURIComponent(l.id)}`,body:l}),fetch:async(l,f)=>await u.post({url:`/api/v2/views/${encodeURIComponent(l)}/search`,body:f}),delete:async l=>await u.delete({url:`/api/v2/views/${encodeURIComponent(l)}`})}),buildLicensingEndpoints=u=>({activateLicenseKey:async l=>u.post({url:"/api/global/license/key",body:{licenseKey:l}}),deleteLicenseKey:async()=>u.delete({url:"/api/global/license/key"}),getLicenseKey:async()=>{try{return await u.get({url:"/api/global/license/key"})}catch(l){if(l.status!==404)throw l}},getInstallInfo:async()=>{try{return await u.get({url:"/api/global/install"})}catch(l){if(l.status!==404)throw l}},activateOfflineLicense:async l=>u.post({url:"/api/global/license/offline",body:{offlineLicenseToken:l}}),deleteOfflineLicense:async()=>u.delete({url:"/api/global/license/offline"}),getOfflineLicense:async()=>{try{return await u.get({url:"/api/global/license/offline"})}catch(l){if(l.status!==404)throw l}},getOfflineLicenseIdentifier:async()=>await u.get({url:"/api/global/license/offline/identifier"}),refreshLicense:async()=>u.post({url:"/api/global/license/refresh"}),getQuotaUsage:async()=>u.get({url:"/api/global/license/usage"})}),buildGroupsEndpoints=u=>{async function l(f,p,m,b){return await u.post({url:`/api/global/groups/${f}/${p}`,body:{[m]:b}})}return{saveGroup:async f=>await u.post({url:"/api/global/groups",body:f}),getGroups:async()=>(await u.get({url:"/api/global/groups"})).data,getGroup:async f=>await u.get({url:`/api/global/groups/${f}`}),deleteGroup:async(f,p)=>await u.delete({url:`/api/global/groups/${f}/${p}`}),getGroupUsers:async({id:f,bookmark:p,emailSearch:m})=>{let b=`/api/global/groups/${f}/users?`;return p&&(b+=`bookmark=${p}&`),m&&(b+=`emailSearch=${m}`),await u.get({url:b})},addUsersToGroup:async(f,p)=>l(f,"users","add",p),removeUsersFromGroup:async(f,p)=>l(f,"users","remove",p),addAppsToGroup:async(f,p)=>l(f,"apps","add",p),removeAppsFromGroup:async(f,p)=>l(f,"apps","remove",p),bulkAddUsersFromCsv:async(f,p)=>await u.post({url:`/api/global/groups/${f}/users/bulk`,body:{csvContent:p}})}},buildPluginEndpoints=u=>({uploadPlugin:async l=>await u.post({url:"/api/plugin/upload",body:l,json:!1}),createPlugin:async l=>await u.post({url:"/api/plugin",body:l}),getPlugins:async()=>await u.get({url:"/api/plugin"}),deletePlugin:async l=>await u.delete({url:`/api/plugin/${encodeURIComponent(l)}`})}),buildBackupEndpoints=u=>({createManualBackup:async l=>await u.post({url:`/api/apps/${l}/backups`}),searchBackups:async(l,f)=>await u.post({url:`/api/apps/${l}/backups/search`,body:f}),deleteBackup:async(l,f)=>await u.delete({url:`/api/apps/${l}/backups/${f}`}),deleteBackups:async(l,f)=>await u.delete({url:`/api/apps/${l}/backups`,body:{backupIds:f}}),restoreBackup:async(l,f,p)=>await u.post({url:`/api/apps/${l}/backups/${f}/import`,body:{name:p}}),clearBackupErrors:async(l,f)=>await u.delete({url:"/api/backups/logs",body:{appId:l,backupId:f}})}),buildEnvironmentVariableEndpoints=u=>({checkEnvironmentVariableStatus:async()=>await u.get({url:"/api/env/variables/status"}),fetchEnvironmentVariables:async()=>await u.get({url:"/api/env/variables",json:!1}),createEnvironmentVariable:async l=>await u.post({url:"/api/env/variables",body:l}),deleteEnvironmentVariable:async l=>await u.delete({url:`/api/env/variables/${l}`}),updateEnvironmentVariable:async(l,f)=>await u.patch({url:`/api/env/variables/${l}`,body:f})}),buildEventEndpoints=u=>({publishEvent:async l=>await u.post({url:"/api/global/event/publish",body:{type:l}})}),buildAuditLogEndpoints=u=>({searchAuditLogs:async l=>await u.post({url:"/api/global/auditlogs/search",body:l}),getEventDefinitions:async()=>await u.get({url:"/api/global/auditlogs/definitions"}),getDownloadUrl:l=>`/api/global/auditlogs/download?query=${encodeURIComponent(JSON.stringify(l))}`}),buildLogsEndpoints=u=>({getSystemLogs:async()=>await u.get({url:"/api/system/logs",json:!1,parseResponse:async l=>l})}),buildMigrationEndpoints=u=>({getMigrationStatus:async()=>await u.get({url:"/api/migrations/status"})}),buildRowActionEndpoints=u=>({fetch:async l=>(await u.get({url:`/api/tables/${l}/actions`})).actions,create:async(l,f)=>await u.post({url:`/api/tables/${l}/actions`,body:{name:f}}),delete:async(l,f)=>await u.delete({url:`/api/tables/${l}/actions/${f}`}),enableView:async(l,f,p)=>await u.post({url:`/api/tables/${l}/actions/${f}/permissions/${p}`}),disableView:async(l,f,p)=>await u.delete({url:`/api/tables/${l}/actions/${f}/permissions/${p}`}),trigger:async(l,f,p)=>await u.post({url:`/api/tables/${l}/actions/${f}/trigger`,body:{rowId:p}})}),buildOAuth2Endpoints=u=>({fetch:async()=>(await u.get({url:"/api/oauth2"})).configs,create:async l=>await u.post({url:"/api/oauth2",body:{...l}}),update:async l=>await u.put({url:`/api/oauth2/${l._id}`,body:{...l}}),delete:async(l,f)=>await u.delete({url:`/api/oauth2/${l}/${f}`}),validate:async function(l){return await u.post({url:"/api/oauth2/validate",body:{...l}})}}),buildAgentEndpoints=u=>({agentChat:async l=>{const f=l;return await u.post({url:"/api/agent/chat",body:f})},agentChatStream:async(l,f,p,m)=>{var y;const b=l;try{const v=await fetch("/api/agent/chat/stream",{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json",[Header.APP_ID]:f},body:JSON.stringify(b),credentials:"same-origin"});if(!v.ok)throw new Error(`HTTP error! status: ${v.status}`);const w=(y=v.body)==null?void 0:y.getReader();if(!w)throw new Error("Failed to get response reader");const k=new TextDecoder;let S="";for(;;){const{done:B,value:E}=await w.read();if(B)break;S+=k.decode(E,{stream:!0});const F=S.split(`
|
|
356
|
-
`);S=F.pop()||"";for(const O of F)if(O.startsWith("data: "))try{const D=O.slice(6);if(D.trim()){const M=JSON.parse(D);p(M)}}catch(D){console.error("Failed to parse SSE data:",D)}}}catch(v){if(m)m(v);else throw v}},removeChat:async l=>await u.delete({url:`/api/agent/history/${l}`}),fetchChats:async()=>await u.get({url:"/api/agent/history"}),fetchToolSources:async()=>await u.get({url:"/api/agent/toolsource"}),createToolSource:async l=>await u.post({url:"/api/agent/toolsource",body:l}),updateToolSource:async l=>await u.put({url:"/api/agent/toolsource",body:l}),deleteToolSource:async l=>await u.delete({url:`/api/agent/toolsource/${l}`})}),buildFeatureFlagEndpoints=u=>({overrideFeatureFlags:async l=>{const f={flags:l};return await u.patch({url:"/api/features",body:f,parseResponse:()=>{}})}}),buildNavigationEndpoints=u=>({updateNavigation:async(l,f)=>await u.put({url:`/api/navigation/${l}`,body:f})}),buildWorkspaceAppEndpoints=u=>({find:async l=>await u.get({url:`/api/workspaceApp/${l}`}),fetch:async()=>await u.get({url:"/api/workspaceApp"}),create:async l=>await u.post({url:"/api/workspaceApp",body:l}),update:async l=>await u.put({url:`/api/workspaceApp/${l._id}`,body:l}),delete:async(l,f)=>await u.delete({url:`/api/workspaceApp/${l}/${f}`})}),buildResourceEndpoints=u=>({searchForUsage:async l=>await u.post({url:"/api/resources/usage",body:l})}),buildDeploymentEndpoints=u=>({getPublishStatus:async()=>await u.get({url:"/api/deploy/status"})}),buildWorkspaceFavouriteEndpoints=u=>({fetch:async()=>await u.get({url:"/api/workspace/favourites"}),create:async l=>await u.post({url:"/api/workspace/favourites",body:l}),delete:async(l,f)=>await u.delete({url:`/api/workspace/favourites/${l}/${f}`})}),buildRecaptchaEndpoints=u=>({verify:async l=>await u.post({url:"/api/recaptcha/verify",body:{token:l}}),check:async()=>await u.get({url:"/api/recaptcha/check"})}),APISessionID=uuid(),createAPIClient=(u={})=>{let l={};const f=async(k,S,B=!1)=>{let E=k.statusText,F=null;try{F=await k.json(),F!=null&&F.message?E=F.message:F!=null&&F.error&&(E=JSON.stringify(F.error))}catch{}return{message:E,json:F,status:k.status,url:k.url,method:S,handled:!0,suppressErrors:B}},p=(k,S,B)=>({message:k,json:null,status:400,url:S,method:B,handled:!0,suppressErrors:!1}),m=async k=>{let{json:S,method:B,external:E,body:F,url:O,parseResponse:D,suppressErrors:M}=k;S=S&&B!==HTTPMethod.GET;let U={Accept:"application/json"};U[Header.SESSION_ID]=APISessionID,E||(U[Header.API_VER]=ApiVersion),S&&(U["Content-Type"]="application/json"),u!=null&&u.attachHeaders&&u.attachHeaders(U);let $=F;if(S)try{$=JSON.stringify(F)}catch{throw p("Invalid JSON body",O,B)}let N;try{N=await fetch(O,{method:B,headers:U,body:$,credentials:"same-origin"})}catch{throw delete l[O],p("Failed to send request",O,B)}if(N.status>=200&&N.status<400){b(N);try{return N.status===204?void 0:D?await D(N):await N.json()}catch(z){throw delete l[O],`Failed to parse response: ${z}`}}else throw delete l[O],await f(N,B,M)},b=k=>{if(!u.onMigrationDetected)return;const S=k.headers.get(Header.MIGRATING_APP);S&&u.onMigrationDetected(S)},y=async k=>{const S=k.url;return l[S]||(l[S]=m(k),l[S]=await l[S]),await l[S]},v=k=>async S=>{try{let B={json:!0,external:!1,suppressErrors:!1,cache:!1,method:k,...S},{url:E,cache:F,external:O}=B;return O||(B.url=`/${E}`.replace("//","/")),await(F&&(u==null?void 0:u.enableCaching)?y:m)(B)}catch(B){throw u!=null&&u.onError&&u.onError(B),B}};let w={post:v(HTTPMethod.POST),get:v(HTTPMethod.GET),patch:v(HTTPMethod.PATCH),delete:v(HTTPMethod.DELETE),put:v(HTTPMethod.PUT),invalidateCache:()=>{l={}},getAppID:()=>{var S;let k={};return(S=u==null?void 0:u.attachHeaders)==null||S.call(u,k),k==null?void 0:k[Header.APP_ID]}};return{...w,...buildAIEndpoints(w),...buildAnalyticsEndpoints(w),...buildAppEndpoints(w),...buildAttachmentEndpoints(w),...buildAuthEndpoints(w),...buildAutomationEndpoints(w),...buildConfigEndpoints(w),...buildDatasourceEndpoints(w),...buildFlagEndpoints(w),...buildLayoutEndpoints(w),...buildOtherEndpoints(w),...buildPermissionsEndpoints(w),...buildQueryEndpoints(w),...buildRelationshipEndpoints(w),...buildRoleEndpoints(w),...buildRouteEndpoints(w),...buildRowEndpoints(w),...buildScreenEndpoints(w),...buildTableEndpoints(w),...buildTemplateEndpoints(w),...buildUserEndpoints(w),...buildViewEndpoints(w),...buildSelfEndpoints(w),...buildLicensingEndpoints(w),...buildGroupsEndpoints(w),...buildPluginEndpoints(w),...buildBackupEndpoints(w),...buildEnvironmentVariableEndpoints(w),...buildEventEndpoints(w),...buildAuditLogEndpoints(w),...buildLogsEndpoints(w),...buildMigrationEndpoints(w),...buildAgentEndpoints(w),...buildFeatureFlagEndpoints(w),deployment:buildDeploymentEndpoints(w),viewV2:buildViewV2Endpoints(w),rowActions:buildRowActionEndpoints(w),oauth2:buildOAuth2Endpoints(w),navigation:buildNavigationEndpoints(w),workspaceApp:buildWorkspaceAppEndpoints(w),workspace:buildWorkspaceFavouriteEndpoints(w),resource:buildResourceEndpoints(w),recaptcha:buildRecaptchaEndpoints(w)}};var _mapping={};(function(u){u.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},u.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]},u.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},u.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},u.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},u.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},u.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},u.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},u.realToAlias=function(){var l=Object.prototype.hasOwnProperty,f=u.aliasToReal,p={};for(var m in f){var b=f[m];l.call(p,b)?p[b].push(m):p[b]=[m]}return p}(),u.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},u.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},u.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}})(_mapping);var placeholder,hasRequiredPlaceholder;function requirePlaceholder(){return hasRequiredPlaceholder||(hasRequiredPlaceholder=1,placeholder={}),placeholder}var mapping=_mapping,fallbackHolder=requirePlaceholder(),push$1=Array.prototype.push;function baseArity(u,l){return l==2?function(f,p){return u.apply(void 0,arguments)}:function(f){return u.apply(void 0,arguments)}}function baseAry(u,l){return l==2?function(f,p){return u(f,p)}:function(f){return u(f)}}function cloneArray(u){for(var l=u?u.length:0,f=Array(l);l--;)f[l]=u[l];return f}function createCloner(u){return function(l){return u({},l)}}function flatSpread(u,l){return function(){for(var f=arguments.length,p=f-1,m=Array(f);f--;)m[f]=arguments[f];var b=m[l],y=m.slice(0,l);return b&&push$1.apply(y,b),l!=p&&push$1.apply(y,m.slice(l+1)),u.apply(this,y)}}function wrapImmutable(u,l){return function(){var f=arguments.length;if(f){for(var p=Array(f);f--;)p[f]=arguments[f];var m=p[0]=l.apply(void 0,p);return u.apply(void 0,p),m}}}function baseConvert$1(u,l,f,p){var m=typeof l=="function",b=l===Object(l);if(b&&(p=f,f=l,l=void 0),f==null)throw new TypeError;p||(p={});var y={cap:"cap"in p?p.cap:!0,curry:"curry"in p?p.curry:!0,fixed:"fixed"in p?p.fixed:!0,immutable:"immutable"in p?p.immutable:!0,rearg:"rearg"in p?p.rearg:!0},v=m?f:fallbackHolder,w="curry"in p&&p.curry,k="fixed"in p&&p.fixed,S="rearg"in p&&p.rearg,B=m?f.runInContext():void 0,E=m?f:{ary:u.ary,assign:u.assign,clone:u.clone,curry:u.curry,forEach:u.forEach,isArray:u.isArray,isError:u.isError,isFunction:u.isFunction,isWeakMap:u.isWeakMap,iteratee:u.iteratee,keys:u.keys,rearg:u.rearg,toInteger:u.toInteger,toPath:u.toPath},F=E.ary,O=E.assign,D=E.clone,M=E.curry,U=E.forEach,$=E.isArray,N=E.isError,z=E.isFunction,W=E.isWeakMap,q=E.keys,Z=E.rearg,ne=E.toInteger,te=E.toPath,J=q(mapping.aryMethod),V={castArray:function(Ge){return function(){var xe=arguments[0];return $(xe)?Ge(cloneArray(xe)):Ge.apply(void 0,arguments)}},iteratee:function(Ge){return function(){var xe=arguments[0],Me=arguments[1],Oe=Ge(xe,Me),Te=Oe.length;return y.cap&&typeof Me=="number"?(Me=Me>2?Me-2:1,Te&&Te<=Me?Oe:baseAry(Oe,Me)):Oe}},mixin:function(Ge){return function(xe){var Me=this;if(!z(Me))return Ge(Me,Object(xe));var Oe=[];return U(q(xe),function(Te){z(xe[Te])&&Oe.push([Te,Me.prototype[Te]])}),Ge(Me,Object(xe)),U(Oe,function(Te){var qe=Te[1];z(qe)?Me.prototype[Te[0]]=qe:delete Me.prototype[Te[0]]}),Me}},nthArg:function(Ge){return function(xe){var Me=xe<0?1:ne(xe)+1;return M(Ge(xe),Me)}},rearg:function(Ge){return function(xe,Me){var Oe=Me?Me.length:0;return M(Ge(xe,Me),Oe)}},runInContext:function(Ge){return function(xe){return baseConvert$1(u,Ge(xe),p)}}};function oe(Ge,xe){if(y.cap){var Me=mapping.iterateeRearg[Ge];if(Me)return Be(xe,Me);var Oe=!m&&mapping.iterateeAry[Ge];if(Oe)return be(xe,Oe)}return xe}function se(Ge,xe,Me){return w||y.curry&&Me>1?M(xe,Me):xe}function fe(Ge,xe,Me){if(y.fixed&&(k||!mapping.skipFixed[Ge])){var Oe=mapping.methodSpread[Ge],Te=Oe&&Oe.start;return Te===void 0?F(xe,Me):flatSpread(xe,Te)}return xe}function X(Ge,xe,Me){return y.rearg&&Me>1&&(S||!mapping.skipRearg[Ge])?Z(xe,mapping.methodRearg[Ge]||mapping.aryRearg[Me]):xe}function ae(Ge,xe){xe=te(xe);for(var Me=-1,Oe=xe.length,Te=Oe-1,qe=D(Object(Ge)),Fe=qe;Fe!=null&&++Me<Oe;){var We=xe[Me],At=Fe[We];At!=null&&!(z(At)||N(At)||W(At))&&(Fe[We]=D(Me==Te?At:Object(At))),Fe=Fe[We]}return qe}function le(Ge){return de.runInContext.convert(Ge)(void 0)}function he(Ge,xe){var Me=mapping.aliasToReal[Ge]||Ge,Oe=mapping.remap[Me]||Me,Te=p;return function(qe){var Fe=m?B:E,We=m?B[Oe]:xe,At=O(O({},Te),qe);return baseConvert$1(Fe,Me,We,At)}}function be(Ge,xe){return tt(Ge,function(Me){return typeof Me=="function"?baseAry(Me,xe):Me})}function Be(Ge,xe){return tt(Ge,function(Me){var Oe=xe.length;return baseArity(Z(baseAry(Me,Oe),xe),Oe)})}function tt(Ge,xe){return function(){var Me=arguments.length;if(!Me)return Ge();for(var Oe=Array(Me);Me--;)Oe[Me]=arguments[Me];var Te=y.rearg?0:Me-1;return Oe[Te]=xe(Oe[Te]),Ge.apply(void 0,Oe)}}function Ne(Ge,xe,Me){var Oe,Te=mapping.aliasToReal[Ge]||Ge,qe=xe,Fe=V[Te];return Fe?qe=Fe(xe):y.immutable&&(mapping.mutate.array[Te]?qe=wrapImmutable(xe,cloneArray):mapping.mutate.object[Te]?qe=wrapImmutable(xe,createCloner(xe)):mapping.mutate.set[Te]&&(qe=wrapImmutable(xe,ae))),U(J,function(We){return U(mapping.aryMethod[We],function(At){if(Te==At){var rn=mapping.methodSpread[Te],Ht=rn&&rn.afterRearg;return Oe=Ht?fe(Te,X(Te,qe,We),We):X(Te,fe(Te,qe,We),We),Oe=oe(Te,Oe),Oe=se(Te,Oe,We),!1}}),!Oe}),Oe||(Oe=qe),Oe==xe&&(Oe=w?M(Oe,1):function(){return xe.apply(this,arguments)}),Oe.convert=he(Te,xe),Oe.placeholder=xe.placeholder=Me,Oe}if(!b)return Ne(l,f,v);var de=f,Ue=[];return U(J,function(Ge){U(mapping.aryMethod[Ge],function(xe){var Me=de[mapping.remap[xe]||xe];Me&&Ue.push([xe,Ne(xe,Me,de)])})}),U(q(de),function(Ge){var xe=de[Ge];if(typeof xe=="function"){for(var Me=Ue.length;Me--;)if(Ue[Me][0]==Ge)return;xe.convert=he(Ge,xe),Ue.push([Ge,xe])}}),U(Ue,function(Ge){de[Ge[0]]=Ge[1]}),de.convert=le,de.placeholder=de,U(q(de),function(Ge){U(mapping.realToAlias[Ge]||[],function(xe){de[xe]=de[Ge]})}),de}var _baseConvert=baseConvert$1,WeakMap$1=_WeakMap$1,metaMap$2=WeakMap$1&&new WeakMap$1,_metaMap=metaMap$2,identity=identity_1$1,metaMap$1=_metaMap,baseSetData$2=metaMap$1?function(u,l){return metaMap$1.set(u,l),u}:identity,_baseSetData=baseSetData$2,isObject$5=isObject_1$1,objectCreate=Object.create,baseCreate$4=function(){function u(){}return function(l){if(!isObject$5(l))return{};if(objectCreate)return objectCreate(l);u.prototype=l;var f=new u;return u.prototype=void 0,f}}(),_baseCreate=baseCreate$4,baseCreate$3=_baseCreate,isObject$4=isObject_1$1;function createCtor$4(u){return function(){var l=arguments;switch(l.length){case 0:return new u;case 1:return new u(l[0]);case 2:return new u(l[0],l[1]);case 3:return new u(l[0],l[1],l[2]);case 4:return new u(l[0],l[1],l[2],l[3]);case 5:return new u(l[0],l[1],l[2],l[3],l[4]);case 6:return new u(l[0],l[1],l[2],l[3],l[4],l[5]);case 7:return new u(l[0],l[1],l[2],l[3],l[4],l[5],l[6])}var f=baseCreate$3(u.prototype),p=u.apply(f,l);return isObject$4(p)?p:f}}var _createCtor=createCtor$4,createCtor$3=_createCtor,root$4=_root$1,WRAP_BIND_FLAG$6=1;function createBind$1(u,l,f){var p=l&WRAP_BIND_FLAG$6,m=createCtor$3(u);function b(){var y=this&&this!==root$4&&this instanceof b?m:u;return y.apply(p?f:this,arguments)}return b}var _createBind=createBind$1,nativeMax$2=Math.max;function composeArgs$2(u,l,f,p){for(var m=-1,b=u.length,y=f.length,v=-1,w=l.length,k=nativeMax$2(b-y,0),S=Array(w+k),B=!p;++v<w;)S[v]=l[v];for(;++m<y;)(B||m<b)&&(S[f[m]]=u[m]);for(;k--;)S[v++]=u[m++];return S}var _composeArgs=composeArgs$2,nativeMax$1=Math.max;function composeArgsRight$2(u,l,f,p){for(var m=-1,b=u.length,y=-1,v=f.length,w=-1,k=l.length,S=nativeMax$1(b-v,0),B=Array(S+k),E=!p;++m<S;)B[m]=u[m];for(var F=m;++w<k;)B[F+w]=l[w];for(;++y<v;)(E||m<b)&&(B[F+f[y]]=u[m++]);return B}var _composeArgsRight=composeArgsRight$2;function countHolders$1(u,l){for(var f=u.length,p=0;f--;)u[f]===l&&++p;return p}var _countHolders=countHolders$1;function baseLodash$3(){}var _baseLodash=baseLodash$3,baseCreate$2=_baseCreate,baseLodash$2=_baseLodash,MAX_ARRAY_LENGTH=4294967295;function LazyWrapper$3(u){this.__wrapped__=u,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$1(){}var noop_1=noop$1,metaMap=_metaMap,noop=noop_1,getData$2=metaMap?function(u){return metaMap.get(u)}:noop,_getData=getData$2,realNames$1={},_realNames=realNames$1,realNames=_realNames,objectProto$2=Object.prototype,hasOwnProperty$2=objectProto$2.hasOwnProperty;function getFuncName$1(u){for(var l=u.name+"",f=realNames[l],p=hasOwnProperty$2.call(realNames,l)?f.length:0;p--;){var m=f[p],b=m.func;if(b==null||b==u)return m.name}return l}var _getFuncName=getFuncName$1,baseCreate$1=_baseCreate,baseLodash$1=_baseLodash;function LodashWrapper$2(u,l){this.__wrapped__=u,this.__actions__=[],this.__chain__=!!l,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(u,l){var f=-1,p=u.length;for(l||(l=Array(p));++f<p;)l[f]=u[f];return l}var _copyArray=copyArray$4,LazyWrapper$2=_LazyWrapper,LodashWrapper$1=_LodashWrapper,copyArray$3=_copyArray;function wrapperClone$1(u){if(u instanceof LazyWrapper$2)return u.clone();var l=new LodashWrapper$1(u.__wrapped__,u.__chain__);return l.__actions__=copyArray$3(u.__actions__),l.__index__=u.__index__,l.__values__=u.__values__,l}var _wrapperClone=wrapperClone$1,LazyWrapper$1=_LazyWrapper,LodashWrapper=_LodashWrapper,baseLodash=_baseLodash,isArray$2=isArray_1$1,isObjectLike$4=isObjectLike_1$1,wrapperClone=_wrapperClone,objectProto$1=Object.prototype,hasOwnProperty$1=objectProto$1.hasOwnProperty;function lodash$1(u){if(isObjectLike$4(u)&&!isArray$2(u)&&!(u instanceof LazyWrapper$1)){if(u instanceof LodashWrapper)return u;if(hasOwnProperty$1.call(u,"__wrapped__"))return wrapperClone(u)}return new LodashWrapper(u)}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(u){var l=getFuncName(u),f=lodash[l];if(typeof f!="function"||!(l in LazyWrapper.prototype))return!1;if(u===f)return!0;var p=getData$1(f);return!!p&&u===p[0]}var _isLaziable=isLaziable$1,baseSetData$1=_baseSetData,shortOut=_shortOut$1,setData$2=shortOut(baseSetData$1),_setData=setData$2,reWrapDetails=/\{\n\/\* \[wrapped with (.+)\] \*/,reSplitDetails=/,? & /;function getWrapDetails$1(u){var l=u.match(reWrapDetails);return l?l[1].split(reSplitDetails):[]}var _getWrapDetails=getWrapDetails$1,reWrapComment=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function insertWrapDetails$1(u,l){var f=l.length;if(!f)return u;var p=f-1;return l[p]=(f>1?"& ":"")+l[p],l=l.join(f>2?", ":" "),u.replace(reWrapComment,`{
|
|
356
|
+
`);S=F.pop()||"";for(const O of F)if(O.startsWith("data: "))try{const D=O.slice(6);if(D.trim()){const M=JSON.parse(D);p(M)}}catch(D){console.error("Failed to parse SSE data:",D)}}}catch(v){if(m)m(v);else throw v}},removeChat:async l=>await u.delete({url:`/api/agent/history/${l}`}),fetchChats:async()=>await u.get({url:"/api/agent/history"}),fetchToolSources:async()=>await u.get({url:"/api/agent/toolsource"}),createToolSource:async l=>await u.post({url:"/api/agent/toolsource",body:l}),updateToolSource:async l=>await u.put({url:"/api/agent/toolsource",body:l}),deleteToolSource:async l=>await u.delete({url:`/api/agent/toolsource/${l}`})}),buildFeatureFlagEndpoints=u=>({overrideFeatureFlags:async l=>{const f={flags:l};return await u.patch({url:"/api/features",body:f,parseResponse:()=>{}})}}),buildNavigationEndpoints=u=>({updateNavigation:async(l,f)=>await u.put({url:`/api/navigation/${l}`,body:f})}),buildWorkspaceAppEndpoints=u=>({find:async l=>await u.get({url:`/api/workspaceApp/${l}`}),fetch:async()=>await u.get({url:"/api/workspaceApp"}),create:async l=>await u.post({url:"/api/workspaceApp",body:l}),duplicate:async l=>await u.post({url:`/api/workspaceApp/${l}/duplicate`}),update:async l=>await u.put({url:`/api/workspaceApp/${l._id}`,body:l}),delete:async(l,f)=>await u.delete({url:`/api/workspaceApp/${l}/${f}`})}),buildResourceEndpoints=u=>({searchForUsage:async l=>await u.post({url:"/api/resources/usage",body:l})}),buildDeploymentEndpoints=u=>({getPublishStatus:async()=>await u.get({url:"/api/deploy/status"})}),buildWorkspaceFavouriteEndpoints=u=>({fetch:async()=>await u.get({url:"/api/workspace/favourites"}),create:async l=>await u.post({url:"/api/workspace/favourites",body:l}),delete:async(l,f)=>await u.delete({url:`/api/workspace/favourites/${l}/${f}`})}),buildRecaptchaEndpoints=u=>({verify:async l=>await u.post({url:"/api/recaptcha/verify",body:{token:l}}),check:async()=>await u.get({url:"/api/recaptcha/check"})}),APISessionID=uuid(),createAPIClient=(u={})=>{let l={};const f=async(k,S,B=!1)=>{let E=k.statusText,F=null;try{F=await k.json(),F!=null&&F.message?E=F.message:F!=null&&F.error&&(E=JSON.stringify(F.error))}catch{}return{message:E,json:F,status:k.status,url:k.url,method:S,handled:!0,suppressErrors:B}},p=(k,S,B)=>({message:k,json:null,status:400,url:S,method:B,handled:!0,suppressErrors:!1}),m=async k=>{let{json:S,method:B,external:E,body:F,url:O,parseResponse:D,suppressErrors:M}=k;S=S&&B!==HTTPMethod.GET;let U={Accept:"application/json"};U[Header.SESSION_ID]=APISessionID,E||(U[Header.API_VER]=ApiVersion),S&&(U["Content-Type"]="application/json"),u!=null&&u.attachHeaders&&u.attachHeaders(U);let $=F;if(S)try{$=JSON.stringify(F)}catch{throw p("Invalid JSON body",O,B)}let N;try{N=await fetch(O,{method:B,headers:U,body:$,credentials:"same-origin"})}catch{throw delete l[O],p("Failed to send request",O,B)}if(N.status>=200&&N.status<400){b(N);try{return N.status===204?void 0:D?await D(N):await N.json()}catch(z){throw delete l[O],`Failed to parse response: ${z}`}}else throw delete l[O],await f(N,B,M)},b=k=>{if(!u.onMigrationDetected)return;const S=k.headers.get(Header.MIGRATING_APP);S&&u.onMigrationDetected(S)},y=async k=>{const S=k.url;return l[S]||(l[S]=m(k),l[S]=await l[S]),await l[S]},v=k=>async S=>{try{let B={json:!0,external:!1,suppressErrors:!1,cache:!1,method:k,...S},{url:E,cache:F,external:O}=B;return O||(B.url=`/${E}`.replace("//","/")),await(F&&(u==null?void 0:u.enableCaching)?y:m)(B)}catch(B){throw u!=null&&u.onError&&u.onError(B),B}};let w={post:v(HTTPMethod.POST),get:v(HTTPMethod.GET),patch:v(HTTPMethod.PATCH),delete:v(HTTPMethod.DELETE),put:v(HTTPMethod.PUT),invalidateCache:()=>{l={}},getAppID:()=>{var S;let k={};return(S=u==null?void 0:u.attachHeaders)==null||S.call(u,k),k==null?void 0:k[Header.APP_ID]}};return{...w,...buildAIEndpoints(w),...buildAnalyticsEndpoints(w),...buildAppEndpoints(w),...buildAttachmentEndpoints(w),...buildAuthEndpoints(w),...buildAutomationEndpoints(w),...buildConfigEndpoints(w),...buildDatasourceEndpoints(w),...buildFlagEndpoints(w),...buildLayoutEndpoints(w),...buildOtherEndpoints(w),...buildPermissionsEndpoints(w),...buildQueryEndpoints(w),...buildRelationshipEndpoints(w),...buildRoleEndpoints(w),...buildRouteEndpoints(w),...buildRowEndpoints(w),...buildScreenEndpoints(w),...buildTableEndpoints(w),...buildTemplateEndpoints(w),...buildUserEndpoints(w),...buildViewEndpoints(w),...buildSelfEndpoints(w),...buildLicensingEndpoints(w),...buildGroupsEndpoints(w),...buildPluginEndpoints(w),...buildBackupEndpoints(w),...buildEnvironmentVariableEndpoints(w),...buildEventEndpoints(w),...buildAuditLogEndpoints(w),...buildLogsEndpoints(w),...buildMigrationEndpoints(w),...buildAgentEndpoints(w),...buildFeatureFlagEndpoints(w),deployment:buildDeploymentEndpoints(w),viewV2:buildViewV2Endpoints(w),rowActions:buildRowActionEndpoints(w),oauth2:buildOAuth2Endpoints(w),navigation:buildNavigationEndpoints(w),workspaceApp:buildWorkspaceAppEndpoints(w),workspace:buildWorkspaceFavouriteEndpoints(w),resource:buildResourceEndpoints(w),recaptcha:buildRecaptchaEndpoints(w)}};var _mapping={};(function(u){u.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},u.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]},u.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},u.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},u.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},u.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},u.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},u.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},u.realToAlias=function(){var l=Object.prototype.hasOwnProperty,f=u.aliasToReal,p={};for(var m in f){var b=f[m];l.call(p,b)?p[b].push(m):p[b]=[m]}return p}(),u.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},u.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},u.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}})(_mapping);var placeholder,hasRequiredPlaceholder;function requirePlaceholder(){return hasRequiredPlaceholder||(hasRequiredPlaceholder=1,placeholder={}),placeholder}var mapping=_mapping,fallbackHolder=requirePlaceholder(),push$1=Array.prototype.push;function baseArity(u,l){return l==2?function(f,p){return u.apply(void 0,arguments)}:function(f){return u.apply(void 0,arguments)}}function baseAry(u,l){return l==2?function(f,p){return u(f,p)}:function(f){return u(f)}}function cloneArray(u){for(var l=u?u.length:0,f=Array(l);l--;)f[l]=u[l];return f}function createCloner(u){return function(l){return u({},l)}}function flatSpread(u,l){return function(){for(var f=arguments.length,p=f-1,m=Array(f);f--;)m[f]=arguments[f];var b=m[l],y=m.slice(0,l);return b&&push$1.apply(y,b),l!=p&&push$1.apply(y,m.slice(l+1)),u.apply(this,y)}}function wrapImmutable(u,l){return function(){var f=arguments.length;if(f){for(var p=Array(f);f--;)p[f]=arguments[f];var m=p[0]=l.apply(void 0,p);return u.apply(void 0,p),m}}}function baseConvert$1(u,l,f,p){var m=typeof l=="function",b=l===Object(l);if(b&&(p=f,f=l,l=void 0),f==null)throw new TypeError;p||(p={});var y={cap:"cap"in p?p.cap:!0,curry:"curry"in p?p.curry:!0,fixed:"fixed"in p?p.fixed:!0,immutable:"immutable"in p?p.immutable:!0,rearg:"rearg"in p?p.rearg:!0},v=m?f:fallbackHolder,w="curry"in p&&p.curry,k="fixed"in p&&p.fixed,S="rearg"in p&&p.rearg,B=m?f.runInContext():void 0,E=m?f:{ary:u.ary,assign:u.assign,clone:u.clone,curry:u.curry,forEach:u.forEach,isArray:u.isArray,isError:u.isError,isFunction:u.isFunction,isWeakMap:u.isWeakMap,iteratee:u.iteratee,keys:u.keys,rearg:u.rearg,toInteger:u.toInteger,toPath:u.toPath},F=E.ary,O=E.assign,D=E.clone,M=E.curry,U=E.forEach,$=E.isArray,N=E.isError,z=E.isFunction,W=E.isWeakMap,q=E.keys,Z=E.rearg,ne=E.toInteger,te=E.toPath,J=q(mapping.aryMethod),V={castArray:function(Ge){return function(){var xe=arguments[0];return $(xe)?Ge(cloneArray(xe)):Ge.apply(void 0,arguments)}},iteratee:function(Ge){return function(){var xe=arguments[0],Me=arguments[1],Oe=Ge(xe,Me),Te=Oe.length;return y.cap&&typeof Me=="number"?(Me=Me>2?Me-2:1,Te&&Te<=Me?Oe:baseAry(Oe,Me)):Oe}},mixin:function(Ge){return function(xe){var Me=this;if(!z(Me))return Ge(Me,Object(xe));var Oe=[];return U(q(xe),function(Te){z(xe[Te])&&Oe.push([Te,Me.prototype[Te]])}),Ge(Me,Object(xe)),U(Oe,function(Te){var qe=Te[1];z(qe)?Me.prototype[Te[0]]=qe:delete Me.prototype[Te[0]]}),Me}},nthArg:function(Ge){return function(xe){var Me=xe<0?1:ne(xe)+1;return M(Ge(xe),Me)}},rearg:function(Ge){return function(xe,Me){var Oe=Me?Me.length:0;return M(Ge(xe,Me),Oe)}},runInContext:function(Ge){return function(xe){return baseConvert$1(u,Ge(xe),p)}}};function oe(Ge,xe){if(y.cap){var Me=mapping.iterateeRearg[Ge];if(Me)return Be(xe,Me);var Oe=!m&&mapping.iterateeAry[Ge];if(Oe)return be(xe,Oe)}return xe}function se(Ge,xe,Me){return w||y.curry&&Me>1?M(xe,Me):xe}function fe(Ge,xe,Me){if(y.fixed&&(k||!mapping.skipFixed[Ge])){var Oe=mapping.methodSpread[Ge],Te=Oe&&Oe.start;return Te===void 0?F(xe,Me):flatSpread(xe,Te)}return xe}function X(Ge,xe,Me){return y.rearg&&Me>1&&(S||!mapping.skipRearg[Ge])?Z(xe,mapping.methodRearg[Ge]||mapping.aryRearg[Me]):xe}function ae(Ge,xe){xe=te(xe);for(var Me=-1,Oe=xe.length,Te=Oe-1,qe=D(Object(Ge)),Fe=qe;Fe!=null&&++Me<Oe;){var We=xe[Me],At=Fe[We];At!=null&&!(z(At)||N(At)||W(At))&&(Fe[We]=D(Me==Te?At:Object(At))),Fe=Fe[We]}return qe}function le(Ge){return de.runInContext.convert(Ge)(void 0)}function he(Ge,xe){var Me=mapping.aliasToReal[Ge]||Ge,Oe=mapping.remap[Me]||Me,Te=p;return function(qe){var Fe=m?B:E,We=m?B[Oe]:xe,At=O(O({},Te),qe);return baseConvert$1(Fe,Me,We,At)}}function be(Ge,xe){return tt(Ge,function(Me){return typeof Me=="function"?baseAry(Me,xe):Me})}function Be(Ge,xe){return tt(Ge,function(Me){var Oe=xe.length;return baseArity(Z(baseAry(Me,Oe),xe),Oe)})}function tt(Ge,xe){return function(){var Me=arguments.length;if(!Me)return Ge();for(var Oe=Array(Me);Me--;)Oe[Me]=arguments[Me];var Te=y.rearg?0:Me-1;return Oe[Te]=xe(Oe[Te]),Ge.apply(void 0,Oe)}}function Ne(Ge,xe,Me){var Oe,Te=mapping.aliasToReal[Ge]||Ge,qe=xe,Fe=V[Te];return Fe?qe=Fe(xe):y.immutable&&(mapping.mutate.array[Te]?qe=wrapImmutable(xe,cloneArray):mapping.mutate.object[Te]?qe=wrapImmutable(xe,createCloner(xe)):mapping.mutate.set[Te]&&(qe=wrapImmutable(xe,ae))),U(J,function(We){return U(mapping.aryMethod[We],function(At){if(Te==At){var rn=mapping.methodSpread[Te],Ht=rn&&rn.afterRearg;return Oe=Ht?fe(Te,X(Te,qe,We),We):X(Te,fe(Te,qe,We),We),Oe=oe(Te,Oe),Oe=se(Te,Oe,We),!1}}),!Oe}),Oe||(Oe=qe),Oe==xe&&(Oe=w?M(Oe,1):function(){return xe.apply(this,arguments)}),Oe.convert=he(Te,xe),Oe.placeholder=xe.placeholder=Me,Oe}if(!b)return Ne(l,f,v);var de=f,Ue=[];return U(J,function(Ge){U(mapping.aryMethod[Ge],function(xe){var Me=de[mapping.remap[xe]||xe];Me&&Ue.push([xe,Ne(xe,Me,de)])})}),U(q(de),function(Ge){var xe=de[Ge];if(typeof xe=="function"){for(var Me=Ue.length;Me--;)if(Ue[Me][0]==Ge)return;xe.convert=he(Ge,xe),Ue.push([Ge,xe])}}),U(Ue,function(Ge){de[Ge[0]]=Ge[1]}),de.convert=le,de.placeholder=de,U(q(de),function(Ge){U(mapping.realToAlias[Ge]||[],function(xe){de[xe]=de[Ge]})}),de}var _baseConvert=baseConvert$1,WeakMap$1=_WeakMap$1,metaMap$2=WeakMap$1&&new WeakMap$1,_metaMap=metaMap$2,identity=identity_1$1,metaMap$1=_metaMap,baseSetData$2=metaMap$1?function(u,l){return metaMap$1.set(u,l),u}:identity,_baseSetData=baseSetData$2,isObject$5=isObject_1$1,objectCreate=Object.create,baseCreate$4=function(){function u(){}return function(l){if(!isObject$5(l))return{};if(objectCreate)return objectCreate(l);u.prototype=l;var f=new u;return u.prototype=void 0,f}}(),_baseCreate=baseCreate$4,baseCreate$3=_baseCreate,isObject$4=isObject_1$1;function createCtor$4(u){return function(){var l=arguments;switch(l.length){case 0:return new u;case 1:return new u(l[0]);case 2:return new u(l[0],l[1]);case 3:return new u(l[0],l[1],l[2]);case 4:return new u(l[0],l[1],l[2],l[3]);case 5:return new u(l[0],l[1],l[2],l[3],l[4]);case 6:return new u(l[0],l[1],l[2],l[3],l[4],l[5]);case 7:return new u(l[0],l[1],l[2],l[3],l[4],l[5],l[6])}var f=baseCreate$3(u.prototype),p=u.apply(f,l);return isObject$4(p)?p:f}}var _createCtor=createCtor$4,createCtor$3=_createCtor,root$4=_root$1,WRAP_BIND_FLAG$6=1;function createBind$1(u,l,f){var p=l&WRAP_BIND_FLAG$6,m=createCtor$3(u);function b(){var y=this&&this!==root$4&&this instanceof b?m:u;return y.apply(p?f:this,arguments)}return b}var _createBind=createBind$1,nativeMax$2=Math.max;function composeArgs$2(u,l,f,p){for(var m=-1,b=u.length,y=f.length,v=-1,w=l.length,k=nativeMax$2(b-y,0),S=Array(w+k),B=!p;++v<w;)S[v]=l[v];for(;++m<y;)(B||m<b)&&(S[f[m]]=u[m]);for(;k--;)S[v++]=u[m++];return S}var _composeArgs=composeArgs$2,nativeMax$1=Math.max;function composeArgsRight$2(u,l,f,p){for(var m=-1,b=u.length,y=-1,v=f.length,w=-1,k=l.length,S=nativeMax$1(b-v,0),B=Array(S+k),E=!p;++m<S;)B[m]=u[m];for(var F=m;++w<k;)B[F+w]=l[w];for(;++y<v;)(E||m<b)&&(B[F+f[y]]=u[m++]);return B}var _composeArgsRight=composeArgsRight$2;function countHolders$1(u,l){for(var f=u.length,p=0;f--;)u[f]===l&&++p;return p}var _countHolders=countHolders$1;function baseLodash$3(){}var _baseLodash=baseLodash$3,baseCreate$2=_baseCreate,baseLodash$2=_baseLodash,MAX_ARRAY_LENGTH=4294967295;function LazyWrapper$3(u){this.__wrapped__=u,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$1(){}var noop_1=noop$1,metaMap=_metaMap,noop=noop_1,getData$2=metaMap?function(u){return metaMap.get(u)}:noop,_getData=getData$2,realNames$1={},_realNames=realNames$1,realNames=_realNames,objectProto$2=Object.prototype,hasOwnProperty$2=objectProto$2.hasOwnProperty;function getFuncName$1(u){for(var l=u.name+"",f=realNames[l],p=hasOwnProperty$2.call(realNames,l)?f.length:0;p--;){var m=f[p],b=m.func;if(b==null||b==u)return m.name}return l}var _getFuncName=getFuncName$1,baseCreate$1=_baseCreate,baseLodash$1=_baseLodash;function LodashWrapper$2(u,l){this.__wrapped__=u,this.__actions__=[],this.__chain__=!!l,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(u,l){var f=-1,p=u.length;for(l||(l=Array(p));++f<p;)l[f]=u[f];return l}var _copyArray=copyArray$4,LazyWrapper$2=_LazyWrapper,LodashWrapper$1=_LodashWrapper,copyArray$3=_copyArray;function wrapperClone$1(u){if(u instanceof LazyWrapper$2)return u.clone();var l=new LodashWrapper$1(u.__wrapped__,u.__chain__);return l.__actions__=copyArray$3(u.__actions__),l.__index__=u.__index__,l.__values__=u.__values__,l}var _wrapperClone=wrapperClone$1,LazyWrapper$1=_LazyWrapper,LodashWrapper=_LodashWrapper,baseLodash=_baseLodash,isArray$2=isArray_1$1,isObjectLike$4=isObjectLike_1$1,wrapperClone=_wrapperClone,objectProto$1=Object.prototype,hasOwnProperty$1=objectProto$1.hasOwnProperty;function lodash$1(u){if(isObjectLike$4(u)&&!isArray$2(u)&&!(u instanceof LazyWrapper$1)){if(u instanceof LodashWrapper)return u;if(hasOwnProperty$1.call(u,"__wrapped__"))return wrapperClone(u)}return new LodashWrapper(u)}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(u){var l=getFuncName(u),f=lodash[l];if(typeof f!="function"||!(l in LazyWrapper.prototype))return!1;if(u===f)return!0;var p=getData$1(f);return!!p&&u===p[0]}var _isLaziable=isLaziable$1,baseSetData$1=_baseSetData,shortOut=_shortOut$1,setData$2=shortOut(baseSetData$1),_setData=setData$2,reWrapDetails=/\{\n\/\* \[wrapped with (.+)\] \*/,reSplitDetails=/,? & /;function getWrapDetails$1(u){var l=u.match(reWrapDetails);return l?l[1].split(reSplitDetails):[]}var _getWrapDetails=getWrapDetails$1,reWrapComment=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;function insertWrapDetails$1(u,l){var f=l.length;if(!f)return u;var p=f-1;return l[p]=(f>1?"& ":"")+l[p],l=l.join(f>2?", ":" "),u.replace(reWrapComment,`{
|
|
357
357
|
/* [wrapped with `+l+`] */
|
|
358
358
|
`)}var _insertWrapDetails=insertWrapDetails$1;function arrayEach$2(u,l){for(var f=-1,p=u==null?0:u.length;++f<p&&l(u[f],f,u)!==!1;);return u}var _arrayEach=arrayEach$2;function baseFindIndex$1(u,l,f,p){for(var m=u.length,b=f+(p?1:-1);p?b--:++b<m;)if(l(u[b],b,u))return b;return-1}var _baseFindIndex=baseFindIndex$1;function baseIsNaN$1(u){return u!==u}var _baseIsNaN=baseIsNaN$1;function strictIndexOf$1(u,l,f){for(var p=f-1,m=u.length;++p<m;)if(u[p]===l)return p;return-1}var _strictIndexOf=strictIndexOf$1,baseFindIndex=_baseFindIndex,baseIsNaN=_baseIsNaN,strictIndexOf=_strictIndexOf;function baseIndexOf$1(u,l,f){return l===l?strictIndexOf(u,l,f):baseFindIndex(u,baseIsNaN,f)}var _baseIndexOf=baseIndexOf$1,baseIndexOf=_baseIndexOf;function arrayIncludes$1(u,l){var f=u==null?0:u.length;return!!f&&baseIndexOf(u,l,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(u,l){return arrayEach$1(wrapFlags,function(f){var p="_."+f[0];l&f[1]&&!arrayIncludes(u,p)&&u.push(p)}),u.sort()}var _updateWrapDetails=updateWrapDetails$1,getWrapDetails=_getWrapDetails,insertWrapDetails=_insertWrapDetails,setToString=_setToString$1,updateWrapDetails=_updateWrapDetails;function setWrapToString$2(u,l,f){var p=l+"";return setToString(u,insertWrapDetails(p,updateWrapDetails(getWrapDetails(p),f)))}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(u,l,f,p,m,b,y,v,w,k){var S=l&WRAP_CURRY_FLAG$4,B=S?y:void 0,E=S?void 0:y,F=S?b:void 0,O=S?void 0:b;l|=S?WRAP_PARTIAL_FLAG$1:WRAP_PARTIAL_RIGHT_FLAG$1,l&=~(S?WRAP_PARTIAL_RIGHT_FLAG$1:WRAP_PARTIAL_FLAG$1),l&WRAP_CURRY_BOUND_FLAG$1||(l&=~(WRAP_BIND_FLAG$4|WRAP_BIND_KEY_FLAG$3));var D=[u,l,m,F,B,O,E,v,w,k],M=f.apply(void 0,D);return isLaziable(u)&&setData$1(M,D),M.placeholder=p,setWrapToString$1(M,u,l)}var _createRecurry=createRecurry$2;function getHolder$2(u){var l=u;return l.placeholder}var _getHolder=getHolder$2,copyArray$2=_copyArray,isIndex=_isIndex$1,nativeMin$1=Math.min;function reorder$1(u,l){for(var f=u.length,p=nativeMin$1(l.length,f),m=copyArray$2(u);p--;){var b=l[p];u[p]=isIndex(b,f)?m[b]:void 0}return u}var _reorder=reorder$1,PLACEHOLDER$1="__lodash_placeholder__";function replaceHolders$3(u,l){for(var f=-1,p=u.length,m=0,b=[];++f<p;){var y=u[f];(y===l||y===PLACEHOLDER$1)&&(u[f]=PLACEHOLDER$1,b[m++]=f)}return b}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$1,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(u,l,f,p,m,b,y,v,w,k){var S=l&WRAP_ARY_FLAG$2,B=l&WRAP_BIND_FLAG$3,E=l&WRAP_BIND_KEY_FLAG$2,F=l&(WRAP_CURRY_FLAG$3|WRAP_CURRY_RIGHT_FLAG$1),O=l&WRAP_FLIP_FLAG,D=E?void 0:createCtor$2(u);function M(){for(var U=arguments.length,$=Array(U),N=U;N--;)$[N]=arguments[N];if(F)var z=getHolder$1(M),W=countHolders($,z);if(p&&($=composeArgs$1($,p,m,F)),b&&($=composeArgsRight$1($,b,y,F)),U-=W,F&&U<k){var q=replaceHolders$2($,z);return createRecurry$1(u,l,createHybrid$2,M.placeholder,f,$,q,v,w,k-U)}var Z=B?f:this,ne=E?Z[u]:u;return U=$.length,v?$=reorder($,v):O&&U>1&&$.reverse(),S&&w<U&&($.length=w),this&&this!==root$3&&this instanceof M&&(ne=D||createCtor$2(ne)),ne.apply(Z,$)}return M}var _createHybrid=createHybrid$2,apply$1=_apply$1,createCtor$1=_createCtor,createHybrid$1=_createHybrid,createRecurry=_createRecurry,getHolder=_getHolder,replaceHolders$1=_replaceHolders,root$2=_root$1;function createCurry$1(u,l,f){var p=createCtor$1(u);function m(){for(var b=arguments.length,y=Array(b),v=b,w=getHolder(m);v--;)y[v]=arguments[v];var k=b<3&&y[0]!==w&&y[b-1]!==w?[]:replaceHolders$1(y,w);if(b-=k.length,b<f)return createRecurry(u,l,createHybrid$1,m.placeholder,void 0,y,k,void 0,void 0,f-b);var S=this&&this!==root$2&&this instanceof m?p:u;return apply$1(S,this,y)}return m}var _createCurry=createCurry$1,apply=_apply$1,createCtor=_createCtor,root$1=_root$1,WRAP_BIND_FLAG$2=1;function createPartial$1(u,l,f,p){var m=l&WRAP_BIND_FLAG$2,b=createCtor(u);function y(){for(var v=-1,w=arguments.length,k=-1,S=p.length,B=Array(S+w),E=this&&this!==root$1&&this instanceof y?b:u;++k<S;)B[k]=p[k];for(;w--;)B[k++]=arguments[++v];return apply(E,m?f:this,B)}return y}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(u,l){var f=u[1],p=l[1],m=f|p,b=m<(WRAP_BIND_FLAG$1|WRAP_BIND_KEY_FLAG$1|WRAP_ARY_FLAG$1),y=p==WRAP_ARY_FLAG$1&&f==WRAP_CURRY_FLAG$2||p==WRAP_ARY_FLAG$1&&f==WRAP_REARG_FLAG$1&&u[7].length<=l[8]||p==(WRAP_ARY_FLAG$1|WRAP_REARG_FLAG$1)&&l[7].length<=l[8]&&f==WRAP_CURRY_FLAG$2;if(!(b||y))return u;p&WRAP_BIND_FLAG$1&&(u[2]=l[2],m|=f&WRAP_BIND_FLAG$1?0:WRAP_CURRY_BOUND_FLAG);var v=l[3];if(v){var w=u[3];u[3]=w?composeArgs(w,v,l[4]):v,u[4]=w?replaceHolders(u[3],PLACEHOLDER):l[4]}return v=l[5],v&&(w=u[5],u[5]=w?composeArgsRight(w,v,l[6]):v,u[6]=w?replaceHolders(u[5],PLACEHOLDER):l[6]),v=l[7],v&&(u[7]=v),p&WRAP_ARY_FLAG$1&&(u[8]=u[8]==null?l[8]:nativeMin(u[8],l[8])),u[9]==null&&(u[9]=l[9]),u[0]=l[0],u[1]=m,u}var _mergeData=mergeData$1,reWhitespace=/\s/;function trimmedEndIndex$1(u){for(var l=u.length;l--&&reWhitespace.test(u.charAt(l)););return l}var _trimmedEndIndex=trimmedEndIndex$1,trimmedEndIndex=_trimmedEndIndex,reTrimStart=/^\s+/;function baseTrim$1(u){return u&&u.slice(0,trimmedEndIndex(u)+1).replace(reTrimStart,"")}var _baseTrim=baseTrim$1,baseTrim=_baseTrim,isObject$3=isObject_1$1,isSymbol$1=isSymbol_1$1,NAN=0/0,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsOctal=/^0o[0-7]+$/i,freeParseInt=parseInt;function toNumber$1(u){if(typeof u=="number")return u;if(isSymbol$1(u))return NAN;if(isObject$3(u)){var l=typeof u.valueOf=="function"?u.valueOf():u;u=isObject$3(l)?l+"":l}if(typeof u!="string")return u===0?u:+u;u=baseTrim(u);var f=reIsBinary.test(u);return f||reIsOctal.test(u)?freeParseInt(u.slice(2),f?2:8):reIsBadHex.test(u)?NAN:+u}var toNumber_1=toNumber$1,toNumber=toNumber_1,INFINITY=1/0,MAX_INTEGER=17976931348623157e292;function toFinite$1(u){if(!u)return u===0?u:0;if(u=toNumber(u),u===INFINITY||u===-INFINITY){var l=u<0?-1:1;return l*MAX_INTEGER}return u===u?u:0}var toFinite_1=toFinite$1,toFinite=toFinite_1;function toInteger$1(u){var l=toFinite(u),f=l%1;return l===l?f?l-f:l: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=Math.max;function createWrap$3(u,l,f,p,m,b,y,v){var w=l&WRAP_BIND_KEY_FLAG;if(!w&&typeof u!="function")throw new TypeError(FUNC_ERROR_TEXT);var k=p?p.length:0;if(k||(l&=~(WRAP_PARTIAL_FLAG|WRAP_PARTIAL_RIGHT_FLAG),p=m=void 0),y=y===void 0?y:nativeMax(toInteger(y),0),v=v===void 0?v:toInteger(v),k-=m?m.length:0,l&WRAP_PARTIAL_RIGHT_FLAG){var S=p,B=m;p=m=void 0}var E=w?void 0:getData(u),F=[u,l,f,p,m,S,B,b,y,v];if(E&&mergeData(F,E),u=F[0],l=F[1],f=F[2],p=F[3],m=F[4],v=F[9]=F[9]===void 0?w?0:u.length:nativeMax(F[9]-k,0),!v&&l&(WRAP_CURRY_FLAG$1|WRAP_CURRY_RIGHT_FLAG)&&(l&=~(WRAP_CURRY_FLAG$1|WRAP_CURRY_RIGHT_FLAG)),!l||l==WRAP_BIND_FLAG)var O=createBind(u,l,f);else l==WRAP_CURRY_FLAG$1||l==WRAP_CURRY_RIGHT_FLAG?O=createCurry(u,l,v):(l==WRAP_PARTIAL_FLAG||l==(WRAP_BIND_FLAG|WRAP_PARTIAL_FLAG))&&!m.length?O=createPartial(u,l,f,p):O=createHybrid.apply(void 0,F);var D=E?baseSetData:setData;return setWrapToString(D(O,F),u,l)}var _createWrap=createWrap$3,createWrap$2=_createWrap,WRAP_ARY_FLAG=128;function ary(u,l,f){return l=f?void 0:l,l=u&&l==null?u.length:l,createWrap$2(u,WRAP_ARY_FLAG,void 0,void 0,void 0,void 0,l)}var ary_1=ary,assignValue$1=_assignValue$1,baseAssignValue=_baseAssignValue$1;function copyObject$4(u,l,f,p){var m=!f;f||(f={});for(var b=-1,y=l.length;++b<y;){var v=l[b],w=p?p(f[v],u[v],v,f,u):void 0;w===void 0&&(w=u[v]),m?baseAssignValue(f,v,w):assignValue$1(f,v,w)}return f}var _copyObject=copyObject$4,copyObject$3=_copyObject,keys$1=keys_1$1;function baseAssign$1(u,l){return u&©Object$3(l,keys$1(l),u)}var _baseAssign=baseAssign$1,copyObject$2=_copyObject,keysIn$1=keysIn_1$1;function baseAssignIn$1(u,l){return u&©Object$2(l,keysIn$1(l),u)}var _baseAssignIn=baseAssignIn$1,_cloneBuffer={exports:{}};_cloneBuffer.exports,function(u,l){var f=_root$1,p=l&&!l.nodeType&&l,m=p&&!0&&u&&!u.nodeType&&u,b=m&&m.exports===p,y=b?f.Buffer:void 0,v=y?y.allocUnsafe:void 0;function w(k,S){if(S)return k.slice();var B=k.length,E=v?v(B):new k.constructor(B);return k.copy(E),E}u.exports=w}(_cloneBuffer,_cloneBuffer.exports);var _cloneBufferExports=_cloneBuffer.exports,copyObject$1=_copyObject,getSymbols=_getSymbols$1;function copySymbols$1(u,l){return copyObject$1(u,getSymbols(u),l)}var _copySymbols=copySymbols$1,copyObject=_copyObject,getSymbolsIn=_getSymbolsIn$1;function copySymbolsIn$1(u,l){return copyObject(u,getSymbolsIn(u),l)}var _copySymbolsIn=copySymbolsIn$1,objectProto=Object.prototype,hasOwnProperty=objectProto.hasOwnProperty;function initCloneArray$1(u){var l=u.length,f=new u.constructor(l);return l&&typeof u[0]=="string"&&hasOwnProperty.call(u,"index")&&(f.index=u.index,f.input=u.input),f}var _initCloneArray=initCloneArray$1,Uint8Array$1=_Uint8Array$1;function cloneArrayBuffer$3(u){var l=new u.constructor(u.byteLength);return new Uint8Array$1(l).set(new Uint8Array$1(u)),l}var _cloneArrayBuffer=cloneArrayBuffer$3,cloneArrayBuffer$2=_cloneArrayBuffer;function cloneDataView$1(u,l){var f=l?cloneArrayBuffer$2(u.buffer):u.buffer;return new u.constructor(f,u.byteOffset,u.byteLength)}var _cloneDataView=cloneDataView$1,reFlags=/\w*$/;function cloneRegExp$1(u){var l=new u.constructor(u.source,reFlags.exec(u));return l.lastIndex=u.lastIndex,l}var _cloneRegExp=cloneRegExp$1,Symbol$1=_Symbol$1,symbolProto=Symbol$1?Symbol$1.prototype:void 0,symbolValueOf=symbolProto?symbolProto.valueOf:void 0;function cloneSymbol$1(u){return symbolValueOf?Object(symbolValueOf.call(u)):{}}var _cloneSymbol=cloneSymbol$1,cloneArrayBuffer$1=_cloneArrayBuffer;function cloneTypedArray$1(u,l){var f=l?cloneArrayBuffer$1(u.buffer):u.buffer;return new u.constructor(f,u.byteOffset,u.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(u,l,f){var p=u.constructor;switch(l){case arrayBufferTag$1:return cloneArrayBuffer(u);case boolTag$1:case dateTag$1:return new p(+u);case dataViewTag$1:return cloneDataView(u,f);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(u,f);case mapTag$2:return new p;case numberTag$1:case stringTag$1:return new p(u);case regexpTag$1:return cloneRegExp(u);case setTag$2:return new p;case symbolTag$1:return cloneSymbol(u)}}var _initCloneByTag=initCloneByTag$1,baseCreate=_baseCreate,getPrototype=_getPrototype$1,isPrototype=_isPrototype$1;function initCloneObject$1(u){return typeof u.constructor=="function"&&!isPrototype(u)?baseCreate(getPrototype(u)):{}}var _initCloneObject=initCloneObject$1,getTag$3=_getTag$1,isObjectLike$3=isObjectLike_1$1,mapTag$1="[object Map]";function baseIsMap$1(u){return isObjectLike$3(u)&&getTag$3(u)==mapTag$1}var _baseIsMap=baseIsMap$1,baseIsMap=_baseIsMap,baseUnary$1=_baseUnary$1,nodeUtil$1=_nodeUtilExports,nodeIsMap=nodeUtil$1&&nodeUtil$1.isMap,isMap$1=nodeIsMap?baseUnary$1(nodeIsMap):baseIsMap,isMap_1=isMap$1,getTag$2=_getTag$1,isObjectLike$2=isObjectLike_1$1,setTag$1="[object Set]";function baseIsSet$1(u){return isObjectLike$2(u)&&getTag$2(u)==setTag$1}var _baseIsSet=baseIsSet$1,baseIsSet=_baseIsSet,baseUnary=_baseUnary$1,nodeUtil=_nodeUtilExports,nodeIsSet=nodeUtil&&nodeUtil.isSet,isSet$1=nodeIsSet?baseUnary(nodeIsSet):baseIsSet,isSet_1=isSet$1,Stack=_Stack$1,arrayEach=_arrayEach,assignValue=_assignValue$1,baseAssign=_baseAssign,baseAssignIn=_baseAssignIn,cloneBuffer=_cloneBufferExports,copyArray$1=_copyArray,copySymbols=_copySymbols,copySymbolsIn=_copySymbolsIn,getAllKeys=_getAllKeys$1,getAllKeysIn=_getAllKeysIn$1,getTag$1=_getTag$1,initCloneArray=_initCloneArray,initCloneByTag=_initCloneByTag,initCloneObject=_initCloneObject,isArray$1=isArray_1$1,isBuffer=isBufferExports,isMap=isMap_1,isObject$2=isObject_1$1,isSet=isSet_1,keys=keys_1$1,keysIn=keysIn_1$1,CLONE_DEEP_FLAG$2=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG$2=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="[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]=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$3(u,l,f,p,m,b){var y,v=l&CLONE_DEEP_FLAG$2,w=l&CLONE_FLAT_FLAG,k=l&CLONE_SYMBOLS_FLAG$2;if(f&&(y=m?f(u,p,m,b):f(u)),y!==void 0)return y;if(!isObject$2(u))return u;var S=isArray$1(u);if(S){if(y=initCloneArray(u),!v)return copyArray$1(u,y)}else{var B=getTag$1(u),E=B==funcTag||B==genTag;if(isBuffer(u))return cloneBuffer(u,v);if(B==objectTag||B==argsTag||E&&!m){if(y=w||E?{}:initCloneObject(u),!v)return w?copySymbolsIn(u,baseAssignIn(y,u)):copySymbols(u,baseAssign(y,u))}else{if(!cloneableTags[B])return m?u:{};y=initCloneByTag(u,B,v)}}b||(b=new Stack);var F=b.get(u);if(F)return F;b.set(u,y),isSet(u)?u.forEach(function(M){y.add(baseClone$3(M,l,f,M,u,b))}):isMap(u)&&u.forEach(function(M,U){y.set(U,baseClone$3(M,l,f,U,u,b))});var O=k?w?getAllKeysIn:getAllKeys:w?keysIn:keys,D=S?void 0:O(u);return arrayEach(D||u,function(M,U){D&&(U=M,M=u[U]),assignValue(y,U,baseClone$3(M,l,f,U,u,b))}),y}var _baseClone=baseClone$3,baseClone$2=_baseClone,CLONE_SYMBOLS_FLAG$1=4;function clone(u){return baseClone$2(u,CLONE_SYMBOLS_FLAG$1)}var clone_1=clone,createWrap$1=_createWrap,WRAP_CURRY_FLAG=8;function curry(u,l,f){l=f?void 0:l;var p=createWrap$1(u,WRAP_CURRY_FLAG,void 0,void 0,void 0,void 0,void 0,l);return p.placeholder=curry.placeholder,p}curry.placeholder={};var curry_1=curry,baseGetTag=_baseGetTag$1,isObjectLike$1=isObjectLike_1$1,isPlainObject$3=isPlainObject_1$1,domExcTag="[object DOMException]",errorTag="[object Error]";function isError(u){if(!isObjectLike$1(u))return!1;var l=baseGetTag(u);return l==errorTag||l==domExcTag||typeof u.message=="string"&&typeof u.name=="string"&&!isPlainObject$3(u)}var isError_1=isError,getTag=_getTag$1,isObjectLike=isObjectLike_1$1,weakMapTag="[object WeakMap]";function isWeakMap(u){return isObjectLike(u)&&getTag(u)==weakMapTag}var isWeakMap_1=isWeakMap,baseClone$1=_baseClone,baseIteratee=_baseIteratee$1,CLONE_DEEP_FLAG$1=1;function iteratee(u){return baseIteratee(typeof u=="function"?u:baseClone$1(u,CLONE_DEEP_FLAG$1))}var iteratee_1=iteratee,createWrap=_createWrap,flatRest=_flatRest$1,WRAP_REARG_FLAG=256,rearg=flatRest(function(u,l){return createWrap(u,WRAP_REARG_FLAG,void 0,void 0,void 0,l)}),rearg_1=rearg,arrayMap=_arrayMap$1,copyArray=_copyArray,isArray=isArray_1$1,isSymbol=isSymbol_1$1,stringToPath=_stringToPath$1,toKey=_toKey$1,toString$1=toString_1$1;function toPath(u){return isArray(u)?arrayMap(u,toKey):isSymbol(u)?[u]:copyArray(stringToPath(toString$1(u)))}var toPath_1=toPath,_util={ary:ary_1,assign:_baseAssign,clone:clone_1,curry:curry_1,forEach:_arrayEach,isArray:isArray_1$1,isError:isError_1,isFunction:isFunction_1$1,isWeakMap:isWeakMap_1,iteratee:iteratee_1,keys:_baseKeys$1,rearg:rearg_1,toInteger:toInteger_1,toPath:toPath_1},baseConvert=_baseConvert,util=_util;function convert$1(u,l,f){return baseConvert(util,u,l,f)}var convert_1=convert$1,baseClone=_baseClone,CLONE_DEEP_FLAG=1,CLONE_SYMBOLS_FLAG=4;function cloneDeep$3(u){return baseClone(u,CLONE_DEEP_FLAG|CLONE_SYMBOLS_FLAG)}var cloneDeep_1=cloneDeep$3;const cloneDeep$4=getDefaultExportFromCjs$1(cloneDeep_1);var _falseOptions,hasRequired_falseOptions;function require_falseOptions(){return hasRequired_falseOptions||(hasRequired_falseOptions=1,_falseOptions={cap:!1,curry:!1,fixed:!1,immutable:!1,rearg:!1}),_falseOptions}var convert=convert_1,func$5=convert("cloneDeep",cloneDeep_1,require_falseOptions());func$5.placeholder=requirePlaceholder();var cloneDeep$1=func$5;const cloneDeep$2=getDefaultExportFromCjs$1(cloneDeep$1),getJSONArrayDatasourceSchema=(u,l)=>{let f=u,p=[];l.prefixKeys&&(p=l.prefixKeys.concat(["schema"])),p=p.concat(l.label.split(".").slice(2));for(let m=0;m<p.length;m++)f=f==null?void 0:f[p[m]],f!=null&&f.schema&&(f=f.schema);return convertJSONSchemaToTableSchema(f,{squashObjects:!0,prefixKeys:p})},convertJSONSchemaToTableSchema=(u,l)=>{if(!u)return null;l={squashObjects:!1,prefixKeys:null,...l},u.schema?u=u.schema:u={value:u};const f=extractJSONSchemaKeys(u,l.squashObjects);let p={};return f.forEach(({key:m,type:b})=>{p[m]={type:b,name:m,prefixKeys:l.prefixKeys}}),p},extractJSONSchemaKeys=(u,l=!1)=>{if(!u||!Object.keys(u).length)return[];let f=[];return Object.keys(u).forEach(p=>{const m=u[p].type;if(m==="json"&&l){const b=extractJSONSchemaKeys(u[p].schema,l);f=f.concat(b.map(y=>({key:`${p}.${y.key}`,type:y.type})))}else f.push({key:p,type:m==="array"?"jsonarray":m})}),f},generateQueryArraySchemas=(u,l)=>{var f,p;for(let m in u)((f=u[m])==null?void 0:f.type)==="json"&&((p=u[m])==null?void 0:p.subtype)==="array"&&hasSchema(l[m])&&(u[m]={schema:{schema:Object.entries(l[m]||{}).reduce((b,[y,v])=>(b[y]={name:y,type:v.type,subtype:v.subtype},b),{}),type:"json"},type:"json",subtype:"array"});return u};function setCookie(u,l,f){getCookie(u)&&removeCookie(u);let p=`${u}=${l}; Path=/;`;f&&(p+=` Domain=${f};`),window.document.cookie=p}function getCookie(u){const f=`; ${document.cookie}`.split(`; ${u}=`);if(f.length===2)return f[1].split(";").shift()}function removeCookie(u){getCookie(u)&&(document.cookie=`${u}=; Max-Age=-99999999; Path=/;`)}const RolePriorities={[Roles.ADMIN]:5,[Roles.CREATOR]:4,[Roles.POWER]:3,[Roles.BASIC]:2,[Roles.PUBLIC]:1},getRolePriority=u=>RolePriorities[u]??0,sleep=u=>new Promise(l=>setTimeout(l,u)),debounce=(u,l=1e3)=>{let f;return async(...p)=>new Promise(m=>{f&&clearTimeout(f),f=setTimeout(async()=>{const b=await u(...p);m(b)},l)})},throttle=(u,l=1e3)=>{let f,p=!1,m=!1;const b=(...y)=>{if(f=y,p){m=!0;return}u(...f),p=!0,setTimeout(()=>{p=!1,m&&(m=!1,b(...f))},l)};return b},domDebounce=u=>{let l=!1,f;return(...p)=>{f=p,l||(l=!0,requestAnimationFrame(()=>{u(...f),l=!1}))}},buildFormBlockButtonConfig=u=>{const{_id:l,actionType:f,dataSource:p,notificationOverride:m,actionUrl:b,showDeleteButton:y,deleteButtonLabel:v,showSaveButton:w,saveButtonLabel:k}=u||{};if(!l)return;const S=`${l}-form`,B=`${l}-repeater`,E=p==null?void 0:p.resourceId,F=y===!1?"":v==null?void 0:v.trim(),O=w===!1?"":k==null?void 0:k.trim(),D=[{"##eventHandlerType":"Validate Form",parameters:{componentId:S}},{"##eventHandlerType":"Save Row",parameters:{providerId:S,tableId:E,notificationOverride:m,confirm:null}},{"##eventHandlerType":"Close Screen Modal"},{"##eventHandlerType":"Close Side Panel"},{"##eventHandlerType":"Close Modal"},...f!=="Create"?[]:[{"##eventHandlerType":"Clear Form",parameters:{componentId:S}}],...b?[{"##eventHandlerType":"Navigate To",parameters:{url:b}}]:[]],M=[{"##eventHandlerType":"Delete Row",parameters:{confirm:!0,tableId:E,rowId:`{{ ${makePropSafe(B)}.${makePropSafe("_id")} }}`,revId:`{{ ${makePropSafe(B)}.${makePropSafe("_rev")} }}`,notificationOverride:m}},{"##eventHandlerType":"Close Screen Modal"},{"##eventHandlerType":"Close Side Panel"},{"##eventHandlerType":"Close Modal"},...b?[{"##eventHandlerType":"Navigate To",parameters:{url:b}}]:[]],U=[];return f&&["Update","Create"].includes(f)&&w!==!1&&U.push({text:O||"Save",_id:uuid(),_component:"@budibase/standard-components/button",onClick:D,type:"cta"}),f==="Update"&&y!==!1&&U.push({text:F||"Delete",_id:uuid(),_component:"@budibase/standard-components/button",onClick:M,quiet:!0,type:"warning"}),U},buildMultiStepFormBlockDefaultProps=u=>{const{_id:l,stepCount:f,currentStep:p,actionType:m,dataSource:b}=u||{};if(!l||!f)return;const y=`Step {{ [${l}-form].[__currentStep] }}`,v=b==null?void 0:b.resourceId,w=`${l}-form`;let k=[];return p!==0&&k.push({_id:uuid(),_component:"@budibase/standard-components/button",_instanceName:uuid(),text:"Back",type:"secondary",size:"M",onClick:[{parameters:{type:"prev",componentId:w},"##eventHandlerType":"Change Form Step"}]}),p!==f-1&&k.push({_id:uuid(),_component:"@budibase/standard-components/button",_instanceName:uuid(),text:"Next",type:"cta",size:"M",onClick:[{"##eventHandlerType":"Validate Form",parameters:{componentId:w}},{parameters:{type:"next",componentId:w},"##eventHandlerType":"Change Form Step"}]}),m!=="View"&&p===f-1&&k.push({_id:uuid(),_component:"@budibase/standard-components/button",_instanceName:uuid(),text:"Save",type:"cta",size:"M",onClick:[{"##eventHandlerType":"Validate Form",parameters:{componentId:w}},{"##eventHandlerType":"Save Row",parameters:{tableId:v,providerId:w}},...m!=="Create"?[]:[{"##eventHandlerType":"Clear Form",parameters:{componentId:w}}]]}),{buttons:k,title:y}};function parseFilter(u){if(!(u!=null&&u.groups))return u;const l=cloneDeep$4(u);return l.groups&&(l.groups=l.groups.map(f=>{var p;return f.filters?(f.filters=f.filters.filter(m=>m.field&&m.operator),(p=f.filters)!=null&&p.length?f:null):f}).filter(f=>!!f)),l}const isBetterSample=(u,l)=>{if(l==null&&u!=null)return!0;if(l!=null&&u==null)return!1;const f=typeof l,p=typeof u;return f!==p?!1:p==="string"&&u.length>l.length||p==="object"&&Object.keys(u).length>Object.keys(l).length},generateGoldenSample=u=>{let l={};return u==null||u.slice(0,100).forEach(f=>{Object.keys(f).forEach(p=>{isBetterSample(f[p],l[p])&&(l[p]=f[p])})}),l},getColumnIcon=u=>{if(u.schema.icon&&!u.schema.icon.startsWith("ri-"))return u.schema.icon;if(u.calculationType)return"calculator";if(u.schema.autocolumn)return"shapes";if(isDeprecatedSingleUserColumn(u.schema))return"user";const{type:l,subtype:f}=u.schema;return(typeof TypeIconMap[l]=="object"&&f?TypeIconMap[l][f]:TypeIconMap[l])||"article"},memo=u=>{const l=writable(u);let f=JSON.stringify(u);const p=m=>{const b=JSON.stringify(m);b!==f&&(l.set(m),f=b)};return{subscribe:l.subscribe,set:p,update:m=>{let b=JSON.parse(f);const y=m(b);p(y)}}},derivedMemo=(u,l)=>{const f=derived(u,l),p=memo(get_store_value(f));return f.subscribe(p.set),p},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(u=>{PACKET_TYPES_REVERSE[PACKET_TYPES[u]]=u});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=u=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(u):u&&u.buffer instanceof ArrayBuffer,encodePacket=({type:u,data:l},f,p)=>withNativeBlob$1&&l instanceof Blob?f?p(l):encodeBlobAsBase64(l,p):withNativeArrayBuffer$2&&(l instanceof ArrayBuffer||isView$1(l))?f?p(l):encodeBlobAsBase64(new Blob([l]),p):p(PACKET_TYPES[u]+(l||"")),encodeBlobAsBase64=(u,l)=>{const f=new FileReader;return f.onload=function(){const p=f.result.split(",")[1];l("b"+(p||""))},f.readAsDataURL(u)};function toArray(u){return u instanceof Uint8Array?u:u instanceof ArrayBuffer?new Uint8Array(u):new Uint8Array(u.buffer,u.byteOffset,u.byteLength)}let TEXT_ENCODER;function encodePacketToBinary(u,l){if(withNativeBlob$1&&u.data instanceof Blob)return u.data.arrayBuffer().then(toArray).then(l);if(withNativeArrayBuffer$2&&(u.data instanceof ArrayBuffer||isView$1(u.data)))return l(toArray(u.data));encodePacket(u,!1,f=>{TEXT_ENCODER||(TEXT_ENCODER=new TextEncoder),l(TEXT_ENCODER.encode(f))})}const chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lookup$2=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let u=0;u<chars.length;u++)lookup$2[chars.charCodeAt(u)]=u;const decode$2=u=>{let l=u.length*.75,f=u.length,p,m=0,b,y,v,w;u[u.length-1]==="="&&(l--,u[u.length-2]==="="&&l--);const k=new ArrayBuffer(l),S=new Uint8Array(k);for(p=0;p<f;p+=4)b=lookup$2[u.charCodeAt(p)],y=lookup$2[u.charCodeAt(p+1)],v=lookup$2[u.charCodeAt(p+2)],w=lookup$2[u.charCodeAt(p+3)],S[m++]=b<<2|y>>4,S[m++]=(y&15)<<4|v>>2,S[m++]=(v&3)<<6|w&63;return k},withNativeArrayBuffer$1=typeof ArrayBuffer=="function",decodePacket=(u,l)=>{if(typeof u!="string")return{type:"message",data:mapBinary(u,l)};const f=u.charAt(0);return f==="b"?{type:"message",data:decodeBase64Packet(u.substring(1),l)}:PACKET_TYPES_REVERSE[f]?u.length>1?{type:PACKET_TYPES_REVERSE[f],data:u.substring(1)}:{type:PACKET_TYPES_REVERSE[f]}:ERROR_PACKET},decodeBase64Packet=(u,l)=>{if(withNativeArrayBuffer$1){const f=decode$2(u);return mapBinary(f,l)}else return{base64:!0,data:u}},mapBinary=(u,l)=>{switch(l){case"blob":return u instanceof Blob?u:new Blob([u]);case"arraybuffer":default:return u instanceof ArrayBuffer?u:u.buffer}},SEPARATOR=String.fromCharCode(30),encodePayload=(u,l)=>{const f=u.length,p=new Array(f);let m=0;u.forEach((b,y)=>{encodePacket(b,!1,v=>{p[y]=v,++m===f&&l(p.join(SEPARATOR))})})},decodePayload=(u,l)=>{const f=u.split(SEPARATOR),p=[];for(let m=0;m<f.length;m++){const b=decodePacket(f[m],l);if(p.push(b),b.type==="error")break}return p};function createPacketEncoderStream(){return new TransformStream({transform(u,l){encodePacketToBinary(u,f=>{const p=f.length;let m;if(p<126)m=new Uint8Array(1),new DataView(m.buffer).setUint8(0,p);else if(p<65536){m=new Uint8Array(3);const b=new DataView(m.buffer);b.setUint8(0,126),b.setUint16(1,p)}else{m=new Uint8Array(9);const b=new DataView(m.buffer);b.setUint8(0,127),b.setBigUint64(1,BigInt(p))}u.data&&typeof u.data!="string"&&(m[0]|=128),l.enqueue(m),l.enqueue(f)})}})}let TEXT_DECODER;function totalLength(u){return u.reduce((l,f)=>l+f.length,0)}function concatChunks(u,l){if(u[0].length===l)return u.shift();const f=new Uint8Array(l);let p=0;for(let m=0;m<l;m++)f[m]=u[0][p++],p===u[0].length&&(u.shift(),p=0);return u.length&&p<u[0].length&&(u[0]=u[0].slice(p)),f}function createPacketDecoderStream(u,l){TEXT_DECODER||(TEXT_DECODER=new TextDecoder);const f=[];let p=0,m=-1,b=!1;return new TransformStream({transform(y,v){for(f.push(y);;){if(p===0){if(totalLength(f)<1)break;const w=concatChunks(f,1);b=(w[0]&128)===128,m=w[0]&127,m<126?p=3:m===126?p=1:p=2}else if(p===1){if(totalLength(f)<2)break;const w=concatChunks(f,2);m=new DataView(w.buffer,w.byteOffset,w.length).getUint16(0),p=3}else if(p===2){if(totalLength(f)<8)break;const w=concatChunks(f,8),k=new DataView(w.buffer,w.byteOffset,w.length),S=k.getUint32(0);if(S>Math.pow(2,53-32)-1){v.enqueue(ERROR_PACKET);break}m=S*Math.pow(2,32)+k.getUint32(4),p=3}else{if(totalLength(f)<m)break;const w=concatChunks(f,m);v.enqueue(decodePacket(b?w:TEXT_DECODER.decode(w),l)),p=0}if(m===0||m>u){v.enqueue(ERROR_PACKET);break}}}})}const protocol$1=4;function Emitter(u){if(u)return mixin(u)}function mixin(u){for(var l in Emitter.prototype)u[l]=Emitter.prototype[l];return u}Emitter.prototype.on=Emitter.prototype.addEventListener=function(u,l){return this._callbacks=this._callbacks||{},(this._callbacks["$"+u]=this._callbacks["$"+u]||[]).push(l),this},Emitter.prototype.once=function(u,l){function f(){this.off(u,f),l.apply(this,arguments)}return f.fn=l,this.on(u,f),this},Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(u,l){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var f=this._callbacks["$"+u];if(!f)return this;if(arguments.length==1)return delete this._callbacks["$"+u],this;for(var p,m=0;m<f.length;m++)if(p=f[m],p===l||p.fn===l){f.splice(m,1);break}return f.length===0&&delete this._callbacks["$"+u],this},Emitter.prototype.emit=function(u){this._callbacks=this._callbacks||{};for(var l=new Array(arguments.length-1),f=this._callbacks["$"+u],p=1;p<arguments.length;p++)l[p-1]=arguments[p];if(f){f=f.slice(0);for(var p=0,m=f.length;p<m;++p)f[p].apply(this,l)}return this},Emitter.prototype.emitReserved=Emitter.prototype.emit,Emitter.prototype.listeners=function(u){return this._callbacks=this._callbacks||{},this._callbacks["$"+u]||[]},Emitter.prototype.hasListeners=function(u){return!!this.listeners(u).length};const nextTick=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?l=>Promise.resolve().then(l):(l,f)=>f(l,0))(),globalThisShim=(()=>typeof self<"u"?self:typeof window<"u"?window:Function("return this")())(),defaultBinaryType="arraybuffer";function createCookieJar(){}function pick(u,...l){return l.reduce((f,p)=>(u.hasOwnProperty(p)&&(f[p]=u[p]),f),{})}const NATIVE_SET_TIMEOUT=globalThisShim.setTimeout,NATIVE_CLEAR_TIMEOUT=globalThisShim.clearTimeout;function installTimerFunctions(u,l){l.useNativeTimers?(u.setTimeoutFn=NATIVE_SET_TIMEOUT.bind(globalThisShim),u.clearTimeoutFn=NATIVE_CLEAR_TIMEOUT.bind(globalThisShim)):(u.setTimeoutFn=globalThisShim.setTimeout.bind(globalThisShim),u.clearTimeoutFn=globalThisShim.clearTimeout.bind(globalThisShim))}const BASE64_OVERHEAD=1.33;function byteLength(u){return typeof u=="string"?utf8Length(u):Math.ceil((u.byteLength||u.size)*BASE64_OVERHEAD)}function utf8Length(u){let l=0,f=0;for(let p=0,m=u.length;p<m;p++)l=u.charCodeAt(p),l<128?f+=1:l<2048?f+=2:l<55296||l>=57344?f+=3:(p++,f+=4);return f}function randomString(){return Date.now().toString(36).substring(3)+Math.random().toString(36).substring(2,5)}function encode$3(u){let l="";for(let f in u)u.hasOwnProperty(f)&&(l.length&&(l+="&"),l+=encodeURIComponent(f)+"="+encodeURIComponent(u[f]));return l}function decode$1(u){let l={},f=u.split("&");for(let p=0,m=f.length;p<m;p++){let b=f[p].split("=");l[decodeURIComponent(b[0])]=decodeURIComponent(b[1])}return l}class TransportError extends Error{constructor(l,f,p){super(l),this.description=f,this.context=p,this.type="TransportError"}}class Transport extends Emitter{constructor(l){super(),this.writable=!1,installTimerFunctions(this,l),this.opts=l,this.query=l.query,this.socket=l.socket,this.supportsBinary=!l.forceBase64}onError(l,f,p){return super.emitReserved("error",new TransportError(l,f,p)),this}open(){return this.readyState="opening",this.doOpen(),this}close(){return(this.readyState==="opening"||this.readyState==="open")&&(this.doClose(),this.onClose()),this}send(l){this.readyState==="open"&&this.write(l)}onOpen(){this.readyState="open",this.writable=!0,super.emitReserved("open")}onData(l){const f=decodePacket(l,this.socket.binaryType);this.onPacket(f)}onPacket(l){super.emitReserved("packet",l)}onClose(l){this.readyState="closed",super.emitReserved("close",l)}pause(l){}createUri(l,f={}){return l+"://"+this._hostname()+this._port()+this.opts.path+this._query(f)}_hostname(){const l=this.opts.hostname;return l.indexOf(":")===-1?l:"["+l+"]"}_port(){return this.opts.port&&(this.opts.secure&&+(this.opts.port!==443)||!this.opts.secure&&Number(this.opts.port)!==80)?":"+this.opts.port:""}_query(l){const f=encode$3(l);return f.length?"?"+f:""}}class Polling extends Transport{constructor(){super(...arguments),this._polling=!1}get name(){return"polling"}doOpen(){this._poll()}pause(l){this.readyState="pausing";const f=()=>{this.readyState="paused",l()};if(this._polling||!this.writable){let p=0;this._polling&&(p++,this.once("pollComplete",function(){--p||f()})),this.writable||(p++,this.once("drain",function(){--p||f()}))}else f()}_poll(){this._polling=!0,this.doPoll(),this.emitReserved("poll")}onData(l){const f=p=>{if(this.readyState==="opening"&&p.type==="open"&&this.onOpen(),p.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(p)};decodePayload(l,this.socket.binaryType).forEach(f),this.readyState!=="closed"&&(this._polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this._poll())}doClose(){const l=()=>{this.write([{type:"close"}])};this.readyState==="open"?l():this.once("open",l)}write(l){this.writable=!1,encodePayload(l,f=>{this.doWrite(f,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const l=this.opts.secure?"https":"http",f=this.query||{};return this.opts.timestampRequests!==!1&&(f[this.opts.timestampParam]=randomString()),!this.supportsBinary&&!f.sid&&(f.b64=1),this.createUri(l,f)}}let value$1=!1;try{value$1=typeof XMLHttpRequest<"u"&&"withCredentials"in new XMLHttpRequest}catch(u){}const hasCORS=value$1;function empty(){}class BaseXHR extends Polling{constructor(l){if(super(l),typeof location<"u"){const f=location.protocol==="https:";let p=location.port;p||(p=f?"443":"80"),this.xd=typeof location<"u"&&l.hostname!==location.hostname||p!==l.port}}doWrite(l,f){const p=this.request({method:"POST",data:l});p.on("success",f),p.on("error",(m,b)=>{this.onError("xhr post error",m,b)})}doPoll(){const l=this.request();l.on("data",this.onData.bind(this)),l.on("error",(f,p)=>{this.onError("xhr poll error",f,p)}),this.pollXhr=l}}class Request extends Emitter{constructor(l,f,p){super(),this.createRequest=l,installTimerFunctions(this,p),this._opts=p,this._method=p.method||"GET",this._uri=f,this._data=p.data!==void 0?p.data:null,this._create()}_create(){var l;const f=pick(this._opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");f.xdomain=!!this._opts.xd;const p=this._xhr=this.createRequest(f);try{p.open(this._method,this._uri,!0);try{if(this._opts.extraHeaders){p.setDisableHeaderCheck&&p.setDisableHeaderCheck(!0);for(let m in this._opts.extraHeaders)this._opts.extraHeaders.hasOwnProperty(m)&&p.setRequestHeader(m,this._opts.extraHeaders[m])}}catch{}if(this._method==="POST")try{p.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{p.setRequestHeader("Accept","*/*")}catch{}(l=this._opts.cookieJar)===null||l===void 0||l.addCookies(p),"withCredentials"in p&&(p.withCredentials=this._opts.withCredentials),this._opts.requestTimeout&&(p.timeout=this._opts.requestTimeout),p.onreadystatechange=()=>{var m;p.readyState===3&&((m=this._opts.cookieJar)===null||m===void 0||m.parseCookies(p.getResponseHeader("set-cookie"))),p.readyState===4&&(p.status===200||p.status===1223?this._onLoad():this.setTimeoutFn(()=>{this._onError(typeof p.status=="number"?p.status:0)},0))},p.send(this._data)}catch(m){this.setTimeoutFn(()=>{this._onError(m)},0);return}typeof document<"u"&&(this._index=Request.requestsCount++,Request.requests[this._index]=this)}_onError(l){this.emitReserved("error",l,this._xhr),this._cleanup(!0)}_cleanup(l){if(!(typeof this._xhr>"u"||this._xhr===null)){if(this._xhr.onreadystatechange=empty,l)try{this._xhr.abort()}catch{}typeof document<"u"&&delete Request.requests[this._index],this._xhr=null}}_onLoad(){const l=this._xhr.responseText;l!==null&&(this.emitReserved("data",l),this.emitReserved("success"),this._cleanup())}abort(){this._cleanup()}}if(Request.requestsCount=0,Request.requests={},typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",unloadHandler);else if(typeof addEventListener=="function"){const u="onpagehide"in globalThisShim?"pagehide":"unload";addEventListener(u,unloadHandler,!1)}}function unloadHandler(){for(let u in Request.requests)Request.requests.hasOwnProperty(u)&&Request.requests[u].abort()}const hasXHR2=function(){const u=newRequest({xdomain:!1});return u&&u.responseType!==null}();class XHR extends BaseXHR{constructor(l){super(l);const f=l&&l.forceBase64;this.supportsBinary=hasXHR2&&!f}request(l={}){return Object.assign(l,{xd:this.xd},this.opts),new Request(newRequest,this.uri(),l)}}function newRequest(u){const l=u.xdomain;try{if(typeof XMLHttpRequest<"u"&&(!l||hasCORS))return new XMLHttpRequest}catch{}if(!l)try{return new globalThisShim[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP")}catch{}}const isReactNative=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class BaseWS extends Transport{get name(){return"websocket"}doOpen(){const l=this.uri(),f=this.opts.protocols,p=isReactNative?{}:pick(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(p.headers=this.opts.extraHeaders);try{this.ws=this.createSocket(l,f,p)}catch(m){return this.emitReserved("error",m)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=l=>this.onClose({description:"websocket connection closed",context:l}),this.ws.onmessage=l=>this.onData(l.data),this.ws.onerror=l=>this.onError("websocket error",l)}write(l){this.writable=!1;for(let f=0;f<l.length;f++){const p=l[f],m=f===l.length-1;encodePacket(p,this.supportsBinary,b=>{try{this.doWrite(p,b)}catch{}m&&nextTick(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.onerror=()=>{},this.ws.close(),this.ws=null)}uri(){const l=this.opts.secure?"wss":"ws",f=this.query||{};return this.opts.timestampRequests&&(f[this.opts.timestampParam]=randomString()),this.supportsBinary||(f.b64=1),this.createUri(l,f)}}const WebSocketCtor=globalThisShim.WebSocket||globalThisShim.MozWebSocket;class WS extends BaseWS{createSocket(l,f,p){return isReactNative?new WebSocketCtor(l,f,p):f?new WebSocketCtor(l,f):new WebSocketCtor(l)}doWrite(l,f){this.ws.send(f)}}class WT extends Transport{get name(){return"webtransport"}doOpen(){try{this._transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name])}catch(l){return this.emitReserved("error",l)}this._transport.closed.then(()=>{this.onClose()}).catch(l=>{this.onError("webtransport error",l)}),this._transport.ready.then(()=>{this._transport.createBidirectionalStream().then(l=>{const f=createPacketDecoderStream(Number.MAX_SAFE_INTEGER,this.socket.binaryType),p=l.readable.pipeThrough(f).getReader(),m=createPacketEncoderStream();m.readable.pipeTo(l.writable),this._writer=m.writable.getWriter();const b=()=>{p.read().then(({done:v,value:w})=>{v||(this.onPacket(w),b())}).catch(v=>{})};b();const y={type:"open"};this.query.sid&&(y.data=`{"sid":"${this.query.sid}"}`),this._writer.write(y).then(()=>this.onOpen())})})}write(l){this.writable=!1;for(let f=0;f<l.length;f++){const p=l[f],m=f===l.length-1;this._writer.write(p).then(()=>{m&&nextTick(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var l;(l=this._transport)===null||l===void 0||l.close()}}const transports={websocket:WS,webtransport:WT,polling:XHR},re=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(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$6(u){if(u.length>8e3)throw"URI too long";const l=u,f=u.indexOf("["),p=u.indexOf("]");f!=-1&&p!=-1&&(u=u.substring(0,f)+u.substring(f,p).replace(/:/g,";")+u.substring(p,u.length));let m=re.exec(u||""),b={},y=14;for(;y--;)b[parts[y]]=m[y]||"";return f!=-1&&p!=-1&&(b.source=l,b.host=b.host.substring(1,b.host.length-1).replace(/;/g,":"),b.authority=b.authority.replace("[","").replace("]","").replace(/;/g,":"),b.ipv6uri=!0),b.pathNames=pathNames(b,b.path),b.queryKey=queryKey(b,b.query),b}function pathNames(u,l){const f=/\/{2,9}/g,p=l.replace(f,"/").split("/");return(l.slice(0,1)=="/"||l.length===0)&&p.splice(0,1),l.slice(-1)=="/"&&p.splice(p.length-1,1),p}function queryKey(u,l){const f={};return l.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(p,m,b){m&&(f[m]=b)}),f}const withEventListeners=typeof addEventListener=="function"&&typeof removeEventListener=="function",OFFLINE_EVENT_LISTENERS=[];withEventListeners&&addEventListener("offline",()=>{OFFLINE_EVENT_LISTENERS.forEach(u=>u())},!1);class SocketWithoutUpgrade extends Emitter{constructor(l,f){if(super(),this.binaryType=defaultBinaryType,this.writeBuffer=[],this._prevBufferLen=0,this._pingInterval=-1,this._pingTimeout=-1,this._maxPayload=-1,this._pingTimeoutTime=1/0,l&&typeof l=="object"&&(f=l,l=null),l){const p=parse$6(l);f.hostname=p.host,f.secure=p.protocol==="https"||p.protocol==="wss",f.port=p.port,p.query&&(f.query=p.query)}else f.host&&(f.hostname=parse$6(f.host).host);installTimerFunctions(this,f),this.secure=f.secure!=null?f.secure:typeof location<"u"&&location.protocol==="https:",f.hostname&&!f.port&&(f.port=this.secure?"443":"80"),this.hostname=f.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=f.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=[],this._transportsByName={},f.transports.forEach(p=>{const m=p.prototype.name;this.transports.push(m),this._transportsByName[m]=p}),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},f),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=decode$1(this.opts.query)),withEventListeners&&(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"})},OFFLINE_EVENT_LISTENERS.push(this._offlineEventListener))),this.opts.withCredentials&&(this._cookieJar=void 0),this._open()}createTransport(l){const f=Object.assign({},this.opts.query);f.EIO=protocol$1,f.transport=l,this.id&&(f.sid=this.id);const p=Object.assign({},this.opts,{query:f,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[l]);return new this._transportsByName[l](p)}_open(){if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}const l=this.opts.rememberUpgrade&&SocketWithoutUpgrade.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1?"websocket":this.transports[0];this.readyState="opening";const f=this.createTransport(l);f.open(),this.setTransport(f)}setTransport(l){this.transport&&this.transport.removeAllListeners(),this.transport=l,l.on("drain",this._onDrain.bind(this)).on("packet",this._onPacket.bind(this)).on("error",this._onError.bind(this)).on("close",f=>this._onClose("transport close",f))}onOpen(){this.readyState="open",SocketWithoutUpgrade.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush()}_onPacket(l){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")switch(this.emitReserved("packet",l),this.emitReserved("heartbeat"),l.type){case"open":this.onHandshake(JSON.parse(l.data));break;case"ping":this._sendPacket("pong"),this.emitReserved("ping"),this.emitReserved("pong"),this._resetPingTimeout();break;case"error":const f=new Error("server error");f.code=l.data,this._onError(f);break;case"message":this.emitReserved("data",l.data),this.emitReserved("message",l.data);break}}onHandshake(l){this.emitReserved("handshake",l),this.id=l.sid,this.transport.query.sid=l.sid,this._pingInterval=l.pingInterval,this._pingTimeout=l.pingTimeout,this._maxPayload=l.maxPayload,this.onOpen(),this.readyState!=="closed"&&this._resetPingTimeout()}_resetPingTimeout(){this.clearTimeoutFn(this._pingTimeoutTimer);const l=this._pingInterval+this._pingTimeout;this._pingTimeoutTime=Date.now()+l,this._pingTimeoutTimer=this.setTimeoutFn(()=>{this._onClose("ping timeout")},l),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 l=this._getWritablePackets();this.transport.send(l),this._prevBufferLen=l.length,this.emitReserved("flush")}}_getWritablePackets(){if(!(this._maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let f=1;for(let p=0;p<this.writeBuffer.length;p++){const m=this.writeBuffer[p].data;if(m&&(f+=byteLength(m)),p>0&&f>this._maxPayload)return this.writeBuffer.slice(0,p);f+=2}return this.writeBuffer}_hasPingExpired(){if(!this._pingTimeoutTime)return!0;const l=Date.now()>this._pingTimeoutTime;return l&&(this._pingTimeoutTime=0,nextTick(()=>{this._onClose("ping timeout")},this.setTimeoutFn)),l}write(l,f,p){return this._sendPacket("message",l,f,p),this}send(l,f,p){return this._sendPacket("message",l,f,p),this}_sendPacket(l,f,p,m){if(typeof f=="function"&&(m=f,f=void 0),typeof p=="function"&&(m=p,p=null),this.readyState==="closing"||this.readyState==="closed")return;p=p||{},p.compress=p.compress!==!1;const b={type:l,data:f,options:p};this.emitReserved("packetCreate",b),this.writeBuffer.push(b),m&&this.once("flush",m),this.flush()}close(){const l=()=>{this._onClose("forced close"),this.transport.close()},f=()=>{this.off("upgrade",f),this.off("upgradeError",f),l()},p=()=>{this.once("upgrade",f),this.once("upgradeError",f)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?p():l()}):this.upgrading?p():l()),this}_onError(l){if(SocketWithoutUpgrade.priorWebsocketSuccess=!1,this.opts.tryAllTransports&&this.transports.length>1&&this.readyState==="opening")return this.transports.shift(),this._open();this.emitReserved("error",l),this._onClose("transport error",l)}_onClose(l,f){if(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing"){if(this.clearTimeoutFn(this._pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),withEventListeners&&(this._beforeunloadEventListener&&removeEventListener("beforeunload",this._beforeunloadEventListener,!1),this._offlineEventListener)){const p=OFFLINE_EVENT_LISTENERS.indexOf(this._offlineEventListener);p!==-1&&OFFLINE_EVENT_LISTENERS.splice(p,1)}this.readyState="closed",this.id=null,this.emitReserved("close",l,f),this.writeBuffer=[],this._prevBufferLen=0}}}SocketWithoutUpgrade.protocol=protocol$1;class SocketWithUpgrade extends SocketWithoutUpgrade{constructor(){super(...arguments),this._upgrades=[]}onOpen(){if(super.onOpen(),this.readyState==="open"&&this.opts.upgrade)for(let l=0;l<this._upgrades.length;l++)this._probe(this._upgrades[l])}_probe(l){let f=this.createTransport(l),p=!1;SocketWithoutUpgrade.priorWebsocketSuccess=!1;const m=()=>{p||(f.send([{type:"ping",data:"probe"}]),f.once("packet",B=>{if(!p)if(B.type==="pong"&&B.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",f),!f)return;SocketWithoutUpgrade.priorWebsocketSuccess=f.name==="websocket",this.transport.pause(()=>{p||this.readyState!=="closed"&&(S(),this.setTransport(f),f.send([{type:"upgrade"}]),this.emitReserved("upgrade",f),f=null,this.upgrading=!1,this.flush())})}else{const E=new Error("probe error");E.transport=f.name,this.emitReserved("upgradeError",E)}}))};function b(){p||(p=!0,S(),f.close(),f=null)}const y=B=>{const E=new Error("probe error: "+B);E.transport=f.name,b(),this.emitReserved("upgradeError",E)};function v(){y("transport closed")}function w(){y("socket closed")}function k(B){f&&B.name!==f.name&&b()}const S=()=>{f.removeListener("open",m),f.removeListener("error",y),f.removeListener("close",v),this.off("close",w),this.off("upgrading",k)};f.once("open",m),f.once("error",y),f.once("close",v),this.once("close",w),this.once("upgrading",k),this._upgrades.indexOf("webtransport")!==-1&&l!=="webtransport"?this.setTimeoutFn(()=>{p||f.open()},200):f.open()}onHandshake(l){this._upgrades=this._filterUpgrades(l.upgrades),super.onHandshake(l)}_filterUpgrades(l){const f=[];for(let p=0;p<l.length;p++)~this.transports.indexOf(l[p])&&f.push(l[p]);return f}}let Socket$1=class extends SocketWithUpgrade{constructor(l,f={}){const p=typeof l=="object"?l:f;(!p.transports||p.transports&&typeof p.transports[0]=="string")&&(p.transports=(p.transports||["polling","websocket","webtransport"]).map(m=>transports[m]).filter(m=>!!m)),super(l,p)}};function url(u,l="",f){let p=u;f=f||typeof location<"u"&&location,u==null&&(u=f.protocol+"//"+f.host),typeof u=="string"&&(u.charAt(0)==="/"&&(u.charAt(1)==="/"?u=f.protocol+u:u=f.host+u),/^(https?|wss?):\/\//.test(u)||(typeof f<"u"?u=f.protocol+"//"+u:u="https://"+u),p=parse$6(u)),p.port||(/^(http|ws)$/.test(p.protocol)?p.port="80":/^(http|ws)s$/.test(p.protocol)&&(p.port="443")),p.path=p.path||"/";const b=p.host.indexOf(":")!==-1?"["+p.host+"]":p.host;return p.id=p.protocol+"://"+b+":"+p.port+l,p.href=p.protocol+"://"+b+(f&&f.port===p.port?"":":"+p.port),p}const withNativeArrayBuffer=typeof ArrayBuffer=="function",isView=u=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(u):u.buffer instanceof ArrayBuffer,toString=Object.prototype.toString,withNativeBlob=typeof Blob=="function"||typeof Blob<"u"&&toString.call(Blob)==="[object BlobConstructor]",withNativeFile=typeof File=="function"||typeof File<"u"&&toString.call(File)==="[object FileConstructor]";function isBinary(u){return withNativeArrayBuffer&&(u instanceof ArrayBuffer||isView(u))||withNativeBlob&&u instanceof Blob||withNativeFile&&u instanceof File}function hasBinary(u,l){if(!u||typeof u!="object")return!1;if(Array.isArray(u)){for(let f=0,p=u.length;f<p;f++)if(hasBinary(u[f]))return!0;return!1}if(isBinary(u))return!0;if(u.toJSON&&typeof u.toJSON=="function"&&arguments.length===1)return hasBinary(u.toJSON(),!0);for(const f in u)if(Object.prototype.hasOwnProperty.call(u,f)&&hasBinary(u[f]))return!0;return!1}function deconstructPacket(u){const l=[],f=u.data,p=u;return p.data=_deconstructPacket(f,l),p.attachments=l.length,{packet:p,buffers:l}}function _deconstructPacket(u,l){if(!u)return u;if(isBinary(u)){const f={_placeholder:!0,num:l.length};return l.push(u),f}else if(Array.isArray(u)){const f=new Array(u.length);for(let p=0;p<u.length;p++)f[p]=_deconstructPacket(u[p],l);return f}else if(typeof u=="object"&&!(u instanceof Date)){const f={};for(const p in u)Object.prototype.hasOwnProperty.call(u,p)&&(f[p]=_deconstructPacket(u[p],l));return f}return u}function reconstructPacket(u,l){return u.data=_reconstructPacket(u.data,l),delete u.attachments,u}function _reconstructPacket(u,l){if(!u)return u;if(u&&u._placeholder===!0){if(typeof u.num=="number"&&u.num>=0&&u.num<l.length)return l[u.num];throw new Error("illegal attachments")}else if(Array.isArray(u))for(let f=0;f<u.length;f++)u[f]=_reconstructPacket(u[f],l);else if(typeof u=="object")for(const f in u)Object.prototype.hasOwnProperty.call(u,f)&&(u[f]=_reconstructPacket(u[f],l));return u}const RESERVED_EVENTS$1=["connect","connect_error","disconnect","disconnecting","newListener","removeListener"],protocol=5;var PacketType;(function(u){u[u.CONNECT=0]="CONNECT",u[u.DISCONNECT=1]="DISCONNECT",u[u.EVENT=2]="EVENT",u[u.ACK=3]="ACK",u[u.CONNECT_ERROR=4]="CONNECT_ERROR",u[u.BINARY_EVENT=5]="BINARY_EVENT",u[u.BINARY_ACK=6]="BINARY_ACK"})(PacketType||(PacketType={}));class Encoder{constructor(l){this.replacer=l}encode(l){return(l.type===PacketType.EVENT||l.type===PacketType.ACK)&&hasBinary(l)?this.encodeAsBinary({type:l.type===PacketType.EVENT?PacketType.BINARY_EVENT:PacketType.BINARY_ACK,nsp:l.nsp,data:l.data,id:l.id}):[this.encodeAsString(l)]}encodeAsString(l){let f=""+l.type;return(l.type===PacketType.BINARY_EVENT||l.type===PacketType.BINARY_ACK)&&(f+=l.attachments+"-"),l.nsp&&l.nsp!=="/"&&(f+=l.nsp+","),l.id!=null&&(f+=l.id),l.data!=null&&(f+=JSON.stringify(l.data,this.replacer)),f}encodeAsBinary(l){const f=deconstructPacket(l),p=this.encodeAsString(f.packet),m=f.buffers;return m.unshift(p),m}}function isObject$1(u){return Object.prototype.toString.call(u)==="[object Object]"}class Decoder extends Emitter{constructor(l){super(),this.reviver=l}add(l){let f;if(typeof l=="string"){if(this.reconstructor)throw new Error("got plaintext data when reconstructing a packet");f=this.decodeString(l);const p=f.type===PacketType.BINARY_EVENT;p||f.type===PacketType.BINARY_ACK?(f.type=p?PacketType.EVENT:PacketType.ACK,this.reconstructor=new BinaryReconstructor(f),f.attachments===0&&super.emitReserved("decoded",f)):super.emitReserved("decoded",f)}else if(isBinary(l)||l.base64)if(this.reconstructor)f=this.reconstructor.takeBinaryData(l),f&&(this.reconstructor=null,super.emitReserved("decoded",f));else throw new Error("got binary data when not reconstructing a packet");else throw new Error("Unknown type: "+l)}decodeString(l){let f=0;const p={type:Number(l.charAt(0))};if(PacketType[p.type]===void 0)throw new Error("unknown packet type "+p.type);if(p.type===PacketType.BINARY_EVENT||p.type===PacketType.BINARY_ACK){const b=f+1;for(;l.charAt(++f)!=="-"&&f!=l.length;);const y=l.substring(b,f);if(y!=Number(y)||l.charAt(f)!=="-")throw new Error("Illegal attachments");p.attachments=Number(y)}if(l.charAt(f+1)==="/"){const b=f+1;for(;++f&&!(l.charAt(f)===","||f===l.length););p.nsp=l.substring(b,f)}else p.nsp="/";const m=l.charAt(f+1);if(m!==""&&Number(m)==m){const b=f+1;for(;++f;){const y=l.charAt(f);if(y==null||Number(y)!=y){--f;break}if(f===l.length)break}p.id=Number(l.substring(b,f+1))}if(l.charAt(++f)){const b=this.tryParse(l.substr(f));if(Decoder.isPayloadValid(p.type,b))p.data=b;else throw new Error("invalid payload")}return p}tryParse(l){try{return JSON.parse(l,this.reviver)}catch{return!1}}static isPayloadValid(l,f){switch(l){case PacketType.CONNECT:return isObject$1(f);case PacketType.DISCONNECT:return f===void 0;case PacketType.CONNECT_ERROR:return typeof f=="string"||isObject$1(f);case PacketType.EVENT:case PacketType.BINARY_EVENT:return Array.isArray(f)&&(typeof f[0]=="number"||typeof f[0]=="string"&&RESERVED_EVENTS$1.indexOf(f[0])===-1);case PacketType.ACK:case PacketType.BINARY_ACK:return Array.isArray(f)}}destroy(){this.reconstructor&&(this.reconstructor.finishedReconstruction(),this.reconstructor=null)}}class BinaryReconstructor{constructor(l){this.packet=l,this.buffers=[],this.reconPack=l}takeBinaryData(l){if(this.buffers.push(l),this.buffers.length===this.reconPack.attachments){const f=reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),f}return null}finishedReconstruction(){this.reconPack=null,this.buffers=[]}}const parser$1=Object.freeze(Object.defineProperty({__proto__:null,Decoder,Encoder,get PacketType(){return PacketType},protocol},Symbol.toStringTag,{value:"Module"}));function on(u,l,f){return u.on(l,f),function(){u.off(l,f)}}const RESERVED_EVENTS=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class Socket extends Emitter{constructor(l,f,p){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=l,this.nsp=f,p&&p.auth&&(this.auth=p.auth),this._opts=Object.assign({},p),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const l=this.io;this.subs=[on(l,"open",this.onopen.bind(this)),on(l,"packet",this.onpacket.bind(this)),on(l,"error",this.onerror.bind(this)),on(l,"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(...l){return l.unshift("message"),this.emit.apply(this,l),this}emit(l,...f){var p,m,b;if(RESERVED_EVENTS.hasOwnProperty(l))throw new Error('"'+l.toString()+'" is a reserved event name');if(f.unshift(l),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(f),this;const y={type:PacketType.EVENT,data:f};if(y.options={},y.options.compress=this.flags.compress!==!1,typeof f[f.length-1]=="function"){const S=this.ids++,B=f.pop();this._registerAckCallback(S,B),y.id=S}const v=(m=(p=this.io.engine)===null||p===void 0?void 0:p.transport)===null||m===void 0?void 0:m.writable,w=this.connected&&!(!((b=this.io.engine)===null||b===void 0)&&b._hasPingExpired());return this.flags.volatile&&!v||(w?(this.notifyOutgoingListeners(y),this.packet(y)):this.sendBuffer.push(y)),this.flags={},this}_registerAckCallback(l,f){var p;const m=(p=this.flags.timeout)!==null&&p!==void 0?p:this._opts.ackTimeout;if(m===void 0){this.acks[l]=f;return}const b=this.io.setTimeoutFn(()=>{delete this.acks[l];for(let v=0;v<this.sendBuffer.length;v++)this.sendBuffer[v].id===l&&this.sendBuffer.splice(v,1);f.call(this,new Error("operation has timed out"))},m),y=(...v)=>{this.io.clearTimeoutFn(b),f.apply(this,v)};y.withError=!0,this.acks[l]=y}emitWithAck(l,...f){return new Promise((p,m)=>{const b=(y,v)=>y?m(y):p(v);b.withError=!0,f.push(b),this.emit(l,...f)})}_addToQueue(l){let f;typeof l[l.length-1]=="function"&&(f=l.pop());const p={id:this._queueSeq++,tryCount:0,pending:!1,args:l,flags:Object.assign({fromQueue:!0},this.flags)};l.push((m,...b)=>p!==this._queue[0]?void 0:(m!==null?p.tryCount>this._opts.retries&&(this._queue.shift(),f&&f(m)):(this._queue.shift(),f&&f(null,...b)),p.pending=!1,this._drainQueue())),this._queue.push(p),this._drainQueue()}_drainQueue(l=!1){if(!this.connected||this._queue.length===0)return;const f=this._queue[0];f.pending&&!l||(f.pending=!0,f.tryCount++,this.flags=f.flags,this.emit.apply(this,f.args))}packet(l){l.nsp=this.nsp,this.io._packet(l)}onopen(){typeof this.auth=="function"?this.auth(l=>{this._sendConnectPacket(l)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(l){this.packet({type:PacketType.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},l):l})}onerror(l){this.connected||this.emitReserved("connect_error",l)}onclose(l,f){this.connected=!1,delete this.id,this.emitReserved("disconnect",l,f),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(l=>{if(!this.sendBuffer.some(p=>String(p.id)===l)){const p=this.acks[l];delete this.acks[l],p.withError&&p.call(this,new Error("socket has been disconnected"))}})}onpacket(l){if(l.nsp===this.nsp)switch(l.type){case PacketType.CONNECT:l.data&&l.data.sid?this.onconnect(l.data.sid,l.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(l);break;case PacketType.ACK:case PacketType.BINARY_ACK:this.onack(l);break;case PacketType.DISCONNECT:this.ondisconnect();break;case PacketType.CONNECT_ERROR:this.destroy();const p=new Error(l.data.message);p.data=l.data.data,this.emitReserved("connect_error",p);break}}onevent(l){const f=l.data||[];l.id!=null&&f.push(this.ack(l.id)),this.connected?this.emitEvent(f):this.receiveBuffer.push(Object.freeze(f))}emitEvent(l){if(this._anyListeners&&this._anyListeners.length){const f=this._anyListeners.slice();for(const p of f)p.apply(this,l)}super.emit.apply(this,l),this._pid&&l.length&&typeof l[l.length-1]=="string"&&(this._lastOffset=l[l.length-1])}ack(l){const f=this;let p=!1;return function(...m){p||(p=!0,f.packet({type:PacketType.ACK,id:l,data:m}))}}onack(l){const f=this.acks[l.id];typeof f=="function"&&(delete this.acks[l.id],f.withError&&l.data.unshift(null),f.apply(this,l.data))}onconnect(l,f){this.id=l,this.recovered=f&&this._pid===f,this._pid=f,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(l=>this.emitEvent(l)),this.receiveBuffer=[],this.sendBuffer.forEach(l=>{this.notifyOutgoingListeners(l),this.packet(l)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(l=>l()),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(l){return this.flags.compress=l,this}get volatile(){return this.flags.volatile=!0,this}timeout(l){return this.flags.timeout=l,this}onAny(l){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(l),this}prependAny(l){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(l),this}offAny(l){if(!this._anyListeners)return this;if(l){const f=this._anyListeners;for(let p=0;p<f.length;p++)if(l===f[p])return f.splice(p,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(l){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(l),this}prependAnyOutgoing(l){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(l),this}offAnyOutgoing(l){if(!this._anyOutgoingListeners)return this;if(l){const f=this._anyOutgoingListeners;for(let p=0;p<f.length;p++)if(l===f[p])return f.splice(p,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(l){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const f=this._anyOutgoingListeners.slice();for(const p of f)p.apply(this,l.data)}}}function Backoff(u){u=u||{},this.ms=u.min||100,this.max=u.max||1e4,this.factor=u.factor||2,this.jitter=u.jitter>0&&u.jitter<=1?u.jitter:0,this.attempts=0}Backoff.prototype.duration=function(){var u=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var l=Math.random(),f=Math.floor(l*this.jitter*u);u=Math.floor(l*10)&1?u+f:u-f}return Math.min(u,this.max)|0},Backoff.prototype.reset=function(){this.attempts=0},Backoff.prototype.setMin=function(u){this.ms=u},Backoff.prototype.setMax=function(u){this.max=u},Backoff.prototype.setJitter=function(u){this.jitter=u};class Manager extends Emitter{constructor(l,f){var p;super(),this.nsps={},this.subs=[],l&&typeof l=="object"&&(f=l,l=void 0),f=f||{},f.path=f.path||"/socket.io",this.opts=f,installTimerFunctions(this,f),this.reconnection(f.reconnection!==!1),this.reconnectionAttempts(f.reconnectionAttempts||1/0),this.reconnectionDelay(f.reconnectionDelay||1e3),this.reconnectionDelayMax(f.reconnectionDelayMax||5e3),this.randomizationFactor((p=f.randomizationFactor)!==null&&p!==void 0?p:.5),this.backoff=new Backoff({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(f.timeout==null?2e4:f.timeout),this._readyState="closed",this.uri=l;const m=f.parser||parser$1;this.encoder=new m.Encoder,this.decoder=new m.Decoder,this._autoConnect=f.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(l){return arguments.length?(this._reconnection=!!l,l||(this.skipReconnect=!0),this):this._reconnection}reconnectionAttempts(l){return l===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=l,this)}reconnectionDelay(l){var f;return l===void 0?this._reconnectionDelay:(this._reconnectionDelay=l,(f=this.backoff)===null||f===void 0||f.setMin(l),this)}randomizationFactor(l){var f;return l===void 0?this._randomizationFactor:(this._randomizationFactor=l,(f=this.backoff)===null||f===void 0||f.setJitter(l),this)}reconnectionDelayMax(l){var f;return l===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=l,(f=this.backoff)===null||f===void 0||f.setMax(l),this)}timeout(l){return arguments.length?(this._timeout=l,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(l){if(~this._readyState.indexOf("open"))return this;this.engine=new Socket$1(this.uri,this.opts);const f=this.engine,p=this;this._readyState="opening",this.skipReconnect=!1;const m=on(f,"open",function(){p.onopen(),l&&l()}),b=v=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",v),l?l(v):this.maybeReconnectOnOpen()},y=on(f,"error",b);if(this._timeout!==!1){const v=this._timeout,w=this.setTimeoutFn(()=>{m(),b(new Error("timeout")),f.close()},v);this.opts.autoUnref&&w.unref(),this.subs.push(()=>{this.clearTimeoutFn(w)})}return this.subs.push(m),this.subs.push(y),this}connect(l){return this.open(l)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const l=this.engine;this.subs.push(on(l,"ping",this.onping.bind(this)),on(l,"data",this.ondata.bind(this)),on(l,"error",this.onerror.bind(this)),on(l,"close",this.onclose.bind(this)),on(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(l){try{this.decoder.add(l)}catch(f){this.onclose("parse error",f)}}ondecoded(l){nextTick(()=>{this.emitReserved("packet",l)},this.setTimeoutFn)}onerror(l){this.emitReserved("error",l)}socket(l,f){let p=this.nsps[l];return p?this._autoConnect&&!p.active&&p.connect():(p=new Socket(this,l,f),this.nsps[l]=p),p}_destroy(l){const f=Object.keys(this.nsps);for(const p of f)if(this.nsps[p].active)return;this._close()}_packet(l){const f=this.encoder.encode(l);for(let p=0;p<f.length;p++)this.engine.write(f[p],l.options)}cleanup(){this.subs.forEach(l=>l()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close")}disconnect(){return this._close()}onclose(l,f){var p;this.cleanup(),(p=this.engine)===null||p===void 0||p.close(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",l,f),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const l=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const f=this.backoff.duration();this._reconnecting=!0;const p=this.setTimeoutFn(()=>{l.skipReconnect||(this.emitReserved("reconnect_attempt",l.backoff.attempts),!l.skipReconnect&&l.open(m=>{m?(l._reconnecting=!1,l.reconnect(),this.emitReserved("reconnect_error",m)):l.onreconnect()}))},f);this.opts.autoUnref&&p.unref(),this.subs.push(()=>{this.clearTimeoutFn(p)})}}onreconnect(){const l=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",l)}}const cache={};function lookup$1(u,l){typeof u=="object"&&(l=u,u=void 0),l=l||{};const f=url(u,l.path||"/socket.io"),p=f.source,m=f.id,b=f.path,y=cache[m]&&b in cache[m].nsps,v=l.forceNew||l["force new connection"]||l.multiplex===!1||y;let w;return v?w=new Manager(p,l):(cache[m]||(cache[m]=new Manager(p,l)),w=cache[m]),f.query&&!l.query&&(l.query=f.queryKey),w.socket(f.path,l)}Object.assign(lookup$1,{Manager,Socket,io:lookup$1,connect:lookup$1});const DefaultOptions={heartbeat:!0},createWebsocket=(u,l=DefaultOptions)=>{if(!u)throw"A websocket path must be provided";const{heartbeat:f}={...DefaultOptions,...l},p=location.protocol==="https:",m=p?"wss:":"ws:",b=location.hostname,y=location.port||(p?443:80);let v=lookup$1(`${m}//${b}:${y}`,{path:u,reconnectionAttempts:3,reconnectionDelay:5e3,reconnectionDelayMax:5e3,timeout:4e3,transports:["websocket"]}),w;return f&&(w=setInterval(()=>{v.emit(SocketEvent.Heartbeat)},SocketSessionTTL*500)),v.on("disconnect",()=>{clearInterval(w)}),v.onOther=(k,S)=>{v.on(k,B=>{(B==null?void 0:B.apiSessionId)!==APISessionID&&S(B)})},v},extractFileNameRegex=/filename[^;=\n]*=((['"]).*?\2|[^;\n]*)/;async function downloadStream(u){const l=await u.blob(),f=u.headers.get("Content-Disposition"),m=extractFileNameRegex.exec(f)[1].replace(/['"]/g,""),b=new Blob([l]),y=URL.createObjectURL(b),v=document.createElement("a");v.href=y,v.download=m,v.click(),URL.revokeObjectURL(y)}const shouldDisplaySetting=(u,l)=>{if(l.nestedOnly&&!l.nested)return!1;let f=l.dependsOn;return f&&!Array.isArray(f)&&(f=[f]),f!=null&&f.length?f.every(p=>{let m=p,b=null,y=!!p.invert;if(typeof p=="object"&&(m=p.setting,b=p.value),!m)return!1;Array.isArray(b)||(b=[b]);const v=deepGet$1(u,m);return b.some(k=>k==null?v!=null&&v!==!1&&v!=="":k===v)!==y}):!0},columnTypeManyTypeOverrides={[FieldType.DATETIME]:FieldType.STRING,[FieldType.BOOLEAN]:FieldType.STRING,[FieldType.SIGNATURE_SINGLE]:FieldType.ATTACHMENTS},columnTypeManyParser={[FieldType.DATETIME]:(u,l)=>{function f(p){const{timeOnly:m,dateOnly:b}=l||{},y=!b,v=parseDate(p,{enableTime:y});return getDateDisplayValue(v,{enableTime:y,timeOnly:m})}return u.map(p=>f(p))},[FieldType.BOOLEAN]:u=>u.map(l=>!!l),[FieldType.BB_REFERENCE_SINGLE]:u=>[...new Map(u.map(l=>[l._id,l])).values()],[FieldType.BB_REFERENCE]:u=>[...new Map(u.map(l=>[l._id,l])).values()],[FieldType.ARRAY]:u=>Array.from(new Set(u))};function enrichSchemaWithRelColumns(u){return Object.keys(u).reduce((f,p)=>{const m=u[p];if(f[p]=m,m.visible!==!1&&isRelationshipField(m)&&m.columns){const b=(m==null?void 0:m.relationshipType)===RelationshipType.ONE_TO_MANY;for(const y of Object.keys(m.columns)){const v=m.columns[y];if(!v.visible)continue;const w=`${m.name}.${y}`;f[w]={...v,type:v.type,name:w,related:{field:p,subField:y},cellRenderType:!b&&columnTypeManyTypeOverrides[v.type]||v.type}}}return f},{})}function getRelatedTableValues(u,l,f){var b,y,v,w;const p=isRelationshipField(f)&&(f==null?void 0:f.relationshipType)===RelationshipType.ONE_TO_MANY;let m="";if(p)m=(y=(b=u[l.related.field])==null?void 0:b[0])==null?void 0:y[l.related.subField];else{const k=columnTypeManyParser[l.type]||(E=>E),S=(w=(v=u[l.related.field])==null?void 0:v.flatMap(E=>E[l.related.subField]))==null?void 0:w.filter(E=>E!=null),B=k(S||[],l);m=B,[FieldType.STRING,FieldType.NUMBER,FieldType.BIGINT,FieldType.BOOLEAN,FieldType.DATETIME,FieldType.LONGFORM,FieldType.BARCODEQR].includes(l.type)&&(m=B==null?void 0:B.join(", "))}return m}function canBeDisplayColumn(u){return!(!canBeDisplayColumn$1(u.type)||u.related)}function canBeSortColumn(u){return u.calculationType?!0:!(!canBeSortColumn$1(u.type)||u.related)}const getSettingsDefinition=u=>{var f;if(!u)return[];let l=[];return(f=u.settings)==null||f.forEach(p=>{var m;p.section?l=l.concat((m=p.settings||[])==null?void 0:m.map(b=>({...b,sectionDependsOn:p.dependsOn}))):l.push(p)}),l};function requiredValidator(u){return u!=null&&u!==""||"This field is required"}function createValidationStore(u,...l){let f=!1;const p=writable(u||""),m=derived(p,()=>f||(f=!0,!1)),b=derived([p,m],([y,v])=>v&&validate(y,l));return[p,b,m]}function validate(u,l){const f=l.find(p=>p(u)!==!0);return f&&f(u)}const NumberFormatter=Intl.NumberFormat(),formatNumber=u=>{const l=typeof u;if(l!=="string"&&l!=="number"||l==="string"&&!u.trim().length)return"";const f=NumberFormatter.format(u);return f==="NaN"?stringifyValue(u):f},stringifyValue=u=>{if(u==null)return"";if(typeof u=="string")return u;if(typeof u.toString=="function")return stringifyValue(u.toString());try{return JSON.stringify(u)}catch{return""}},stringifyField=(u,l)=>{switch(l.type){case FieldType.AUTO:return"";case FieldType.SIGNATURE_SINGLE:return u?"Yes":"No";case FieldType.ATTACHMENT_SINGLE:case FieldType.ATTACHMENTS:return u?(Array.isArray(u)?u:[u]).map(p=>p.name).filter(p=>!!p).join(", "):"";case FieldType.LINK:return u?(Array.isArray(u)?u:[u]).map(p=>p.primaryDisplay).filter(p=>!!p).join(", "):"";case FieldType.JSON:return u?JSON.stringify(u):"";case FieldType.BB_REFERENCE:case FieldType.BB_REFERENCE_SINGLE:{if(l.subtype!==BBReferenceFieldSubType.USERS&&l.subtype!==BBReferenceFieldSubType.USER||!u)return"";const f=Array.isArray(u)?u:[u];return(f==null?void 0:f.map(p=>p.primaryDisplay).join(", "))||""}case FieldType.ARRAY:return(u==null?void 0:u.join(", "))||"";case FieldType.BOOLEAN:return capitalise((u==null?void 0:u.toString())||"false");case FieldType.DATETIME:return getDateDisplayValue(u,{enableTime:!l.dateOnly,timeOnly:l.timeOnly});case FieldType.NUMBER:return formatNumber(u);case FieldType.STRING:case FieldType.LONGFORM:case FieldType.BIGINT:case FieldType.OPTIONS:case FieldType.AI:case FieldType.BARCODEQR:return u||"";case FieldType.FORMULA:default:return stringifyValue(u)}},stringifyRow=(u,l)=>{let f={};return Object.entries(l).forEach(([p,m])=>{f[p]=stringifyField(deepGet(u,p),m)}),f},SESSIONS_INVALIDATED_KEY="bb-sessions-invalidated";function popNumSessionsInvalidated(){const u=parseInt(localStorage.getItem(SESSIONS_INVALIDATED_KEY)||"0",10);return localStorage.removeItem(SESSIONS_INVALIDATED_KEY),u}function invalidationMessage(u){return`You've been logged out of ${u} other ${u===1?"session":"sessions"} because users are only allowed ${MAX_SESSIONS_PER_USER} active sessions at any one time.`}const{buildQuery,limit:queryLimit,runQuery,sort}=QueryUtils;class BaseDataFetch{constructor(l){ur(this,"API");ur(this,"features");ur(this,"options");ur(this,"store");ur(this,"derivedStore");if(this.features={supportsSearch:!1,supportsSort:!1,supportsPagination:!1},this.options={datasource:l.datasource,limit:10,filter:null,query:l.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:l.query,pageNumber:0,cursor:null,cursors:[],resetKey:Math.random().toString(),error:null}),this.API=l==null?void 0:l.API,this.options={...this.options,...l},!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,f=>({...f,...this.features,hasNextPage:this.hasNextPage(f),hasPrevPage:this.hasPrevPage(f)})),!this.options.datasource){this.store.update(f=>({...f,loaded:!0}));return}}get subscribe(){return this.derivedStore.subscribe}getDefaultSortColumn(l,f){return l!=null&&l.primaryDisplay&&f[l.primaryDisplay]?l.primaryDisplay:Object.keys(f)[0]}async getInitialData(){const{filter:l,paginate:f}=this.options,p=await this.getDefinition(),m=await this.determineFeatureFlags();this.features={supportsSearch:!!(m!=null&&m.supportsSearch),supportsSort:!!(m!=null&&m.supportsSort),supportsPagination:f&&!!(m!=null&&m.supportsPagination)};let b=this.getSchema(p);if(!b)return;if(b=this.enrichSchema(b),this.options.sortColumn&&!b[this.options.sortColumn]&&(this.options.sortColumn=null),this.options.sortColumn||(this.options.sortColumn=this.getDefaultSortColumn(p,b)),!this.options.sortColumn)this.options.sortOrder=SortOrder.ASCENDING,this.options.sortType=null;else{this.options.sortType=SortType.STRING;const w=b==null?void 0:b[this.options.sortColumn];((w==null?void 0:w.type)===FieldType.NUMBER||(w==null?void 0:w.type)===FieldType.BIGINT||"calculationType"in w&&(w!=null&&w.calculationType))&&(this.options.sortType=SortType.NUMBER),this.options.sortOrder?this.options.sortOrder=this.options.sortOrder.toLowerCase():this.options.sortOrder=SortOrder.ASCENDING}let y=this.options.query;y||(y=buildQuery(l??void 0)),this.store.update(w=>({...w,definition:p,schema:b,query:y,loading:!0,cursors:[],cursor:null}));const v=await this.getPage();this.store.update(w=>({...w,loading:!1,loaded:!0,pageNumber:0,rows:v.rows,info:v.info,cursors:f&&v.hasNextPage?[null,v.cursor]:[null],error:v.error,resetKey:Math.random().toString()}))}async getPage(){const{sortColumn:l,sortOrder:f,sortType:p,limit:m,clientSideSearching:b,clientSideSorting:y,clientSideLimiting:v}=this.options,{query:w}=get_store_value(this.store);let{rows:k,info:S,hasNextPage:B,cursor:E,error:F}=await this.getData();return!this.features.supportsSearch&&b&&(k=runQuery(k,w)),!this.features.supportsSort&&y&&p&&(k=sort(k,l,f,p)),!this.features.supportsPagination&&v&&(k=queryLimit(k,m)),{rows:k,info:S,hasNextPage:B,cursor:E,error:F}}getSchema(l){return(l==null?void 0:l.schema)??void 0}enrichSchema(l){let f={};for(const m of Object.keys(l)){const b=l[m];if(b.type===FieldType.JSON){const y=convertJSONSchemaToTableSchema(b,{squashObjects:!0});if(y)for(const v of Object.keys(y))f[`${m}.${v}`]={type:y[v].type,nestedJSON:!0}}}let p={};return Object.entries({...l,...f}).forEach(([m,b])=>{typeof b=="string"?p[m]={type:b,name:m}:p[m]={...b,type:b.type,name:m}}),p}async determineFeatureFlags(){return{supportsSearch:!1,supportsSort:!1,supportsPagination:!1}}async update(l){let f=!1;for(const[p,m]of Object.entries(l||{})){const b=this.options[p]??null;if(JSON.stringify(m??null)!==JSON.stringify(b)){f=!0;break}}f&&(this.options={...this.options,...cloneDeep$2(l)},await this.getInitialData())}async refresh(){if(get_store_value(this.store).loading)return;this.store.update(w=>({...w,loading:!0}));const{rows:l,info:f,error:p,cursor:m}=await this.getPage();let{cursors:b}=get_store_value(this.store);const{pageNumber:y}=get_store_value(this.store);if(!l.length&&y>0)return this.store.update(w=>({...w,loading:!1,cursors:b.slice(0,y)})),await this.prevPage();b[y+1]!=m&&(b=b.slice(0,y+1),b[y+1]=m),this.store.update(w=>({...w,rows:l,info:f,loading:!1,error:p,cursors:b}))}hasNextPage(l){return l.cursors[l.pageNumber+1]!=null}hasPrevPage(l){return l.pageNumber>0}async nextPage(){const l=get_store_value(this.derivedStore);if(l.loading||!this.options.paginate||!l.hasNextPage)return;const f=l.cursors[l.pageNumber+1];this.store.update(w=>({...w,loading:!0,cursor:f,pageNumber:w.pageNumber+1}));const{rows:p,info:m,hasNextPage:b,cursor:y,error:v}=await this.getPage();this.store.update(w=>{let{cursors:k,pageNumber:S}=w;return b&&(k[S+1]=y),{...w,rows:p,info:m,cursors:k,loading:!1,error:v}})}async prevPage(){const l=get_store_value(this.derivedStore);if(l.loading||!this.options.paginate||!l.hasPrevPage)return;const f=l.cursors[l.pageNumber-1];this.store.update(y=>({...y,loading:!0,cursor:f,pageNumber:y.pageNumber-1}));const{rows:p,info:m,error:b}=await this.getPage();this.store.update(y=>({...y,rows:p,info:m,loading:!1,error:b}))}}class CustomFetch extends BaseDataFetch{getType(l){return l==null?"string":typeof l==="object"?Array.isArray(l)?"array":"json":isNaN(l)?"string":"number"}parseCustomData(l){if(!l)return[];if(Array.isArray(l))return l;if(typeof l=="string"){try{const f=JSON.parse(l);return Array.isArray(f)?f:[f]}catch{}return l.includes(`
|
|
359
359
|
`)?l.split(`
|
|
@@ -364,7 +364,7 @@ ${u}
|
|
|
364
364
|
issue persists.`),attr(m,"href","https://budibase.com/support/"),attr(m,"target","_blank"),attr(m,"class","svelte-1kjb5e")},m(y,v){insert(y,l,v),insert(y,f,v),insert(y,p,v),insert(y,m,v),insert(y,b,v)},d(y){y&&(detach(l),detach(f),detach(p),detach(m),detach(b))}}}function create_if_block$1N(u){let l,f,p,m,b;return{c(){l=text$1(`Please wait and we'll be back in a second!
|
|
365
365
|
`),f=element("br"),p=text$1(`
|
|
366
366
|
Check out the
|
|
367
|
-
`),m=element("a"),m.textContent="documentation",b=text$1(" on app migrations."),attr(m,"href","https://docs.budibase.com/docs/app-migrations"),attr(m,"target","_blank"),attr(m,"class","svelte-1kjb5e")},m(y,v){insert(y,l,v),insert(y,f,v),insert(y,p,v),insert(y,m,v),insert(y,b,v)},d(y){y&&(detach(l),detach(f),detach(p),detach(m),detach(b))}}}function create_fragment$2W(u){let l,f,p,m;function b(B,E){return B[0]?create_else_block_1$b:create_if_block_1$W}let y=b(u),v=y(u);function w(B,E){return B[0]?create_else_block$w:create_if_block$1N}let k=w(u),S=k(u);return{c(){l=element("div"),f=element("span"),v.c(),p=space(),m=element("span"),S.c(),attr(f,"class","header svelte-1kjb5e"),attr(m,"class","subtext svelte-1kjb5e"),attr(l,"class","loading svelte-1kjb5e"),toggle_class(l,"timeout",u[0])},m(B,E){insert(B,l,E),append$2(l,f),v.m(f,null),append$2(l,p),append$2(l,m),S.m(m,null)},p(B,[E]){y!==(y=b(B))&&(v.d(1),v=y(B),v&&(v.c(),v.m(f,null))),k!==(k=w(B))&&(S.d(1),S=k(B),S&&(S.c(),S.m(m,null))),E&1&&toggle_class(l,"timeout",B[0])},i:noop$4,o:noop$4,d(B){B&&detach(l),v.d(),S.d()}}}function instance$2U(u,l,f){let{isMigrationDone:p}=l,{onMigrationDone:m}=l,{timeoutSeconds:b=60}=l,y=!1;async function v(){let w=0;for(;;){const k=5e3+Math.random()*5e3;if(await new Promise(B=>setTimeout(B,k)),w+=k,await p()){m();return}if(w>b*1e3){f(0,y=!0);return}}}return v(),u.$$set=w=>{"isMigrationDone"in w&&f(1,p=w.isMigrationDone),"onMigrationDone"in w&&f(2,m=w.onMigrationDone),"timeoutSeconds"in w&&f(3,b=w.timeoutSeconds)},[y,p,m,b]}class Updating extends SvelteComponent{constructor(l){super(),init$1(this,l,instance$2U,create_fragment$2W,safe_not_equal,{isMigrationDone:1,onMigrationDone:2,timeoutSeconds:3})}}const createEventManagers=()=>{const u=createEventDispatcher();let l={};return{dispatch:(m,b)=>{u(m,b);const y=l[m]||[];for(let v=0;v<y.length;v++)y[v](b)},subscribe:(m,b)=>{const y=l[m]||[];return l[m]=[...y,b],()=>{l[m]=l[m].filter(v=>v!==b)}}}},createStores$g=()=>{const u=writable({left:0,top:0,width:0,height:0}),l=derived(u,p=>p.width,0),f=derived(u,p=>p.height,0);return{bounds:u,height:f,width:l}},Bounds=Object.freeze(Object.defineProperty({__proto__:null,createStores:createStores$g},Symbol.toStringTag,{value:"Module"})),SmallRowHeight=36,MediumRowHeight=64,LargeRowHeight=92,DefaultRowHeight=SmallRowHeight,VPadding=0,HPadding=80,ScrollBarSize=8,GutterWidth=72,DefaultColumnWidth=200,MinColumnWidth=56,NewRowID="new",BlankRowID="blank",GeneratedIDPrefix="‽‽",CellIDSeparator="‽‽",RowPageSize=100,FocusedCellMinOffset=ScrollBarSize*3,ControlsHeight=50,PopoverMinWidth=200,PopoverMaxWidth=400,PopoverMaxHeight=236,MaxCellRenderOverflow=222,Constants=Object.freeze(Object.defineProperty({__proto__:null,BlankRowID,CellIDSeparator,ControlsHeight,DefaultColumnWidth,DefaultRowHeight,FocusedCellMinOffset,GeneratedIDPrefix,GutterWidth,HPadding,LargeRowHeight,MaxCellRenderOverflow,MediumRowHeight,MinColumnWidth,NewRowID,PopoverMaxHeight,PopoverMaxWidth,PopoverMinWidth,RowPageSize,ScrollBarSize,SmallRowHeight,VPadding},Symbol.toStringTag,{value:"Module"})),createStores$f=()=>{const u=writable([]),l=derived(u,f=>{let p=GutterWidth,m=0;return f.map(b=>{const y={...b,__idx:m,__left:p};return b.visible&&(m++,p+=b.width??0),y})});return{columns:{...u,subscribe:l.subscribe}}},deriveStores$b=u=>{const{columns:l}=u,f=derived(l,w=>{let k={};return w.forEach(S=>{k[S.name]=S}),k}),p=derived(l,w=>w.filter(k=>!k.related)),m=derived(l,w=>w.filter(k=>k.visible)),b=derived(m,w=>w.find(k=>k.primaryDisplay)),y=derived(m,w=>w.filter(k=>!k.primaryDisplay)),v=derived(l,w=>w.filter(S=>{var B;return!((B=S.schema)!=null&&B.autocolumn)}).length>0);return{tableColumns:p,displayColumn:b,columnLookupMap:f,visibleColumns:m,scrollableColumns:y,hasNonAutoColumn:v}},createActions$e=u=>{const{columns:l,datasource:f}=u;return{columns:{...l,actions:{changeAllColumnWidths:async b=>{get_store_value(l).forEach(v=>{const{related:w}=v,k={width:b};w?f.actions.addSubSchemaMutation(w.subField,w.field,k):f.actions.addSchemaMutation(v.name,k)}),await f.actions.saveSchemaMutations()},isReadonly:b=>b!=null&&b.schema?b.schema.autocolumn||b.schema.disabled||b.schema.type==="formula"||b.schema.type==="ai"||b.schema.readonly:!1}}}},initialise$d=u=>{const{definition:l,columns:f,displayColumn:p,enrichedSchema:m}=u,b=y=>{const v=get_store_value(l);if(!y||!v){f.set([]);return}const w=get_store_value(p);let k;const S=v.primaryDisplay||(w==null?void 0:w.name);S&&y[S]&&(k=S),f.set(Object.keys(y).map(B=>{const E=y[B],F={type:E.type,name:B,label:E.displayName||B,schema:E,width:E.width||DefaultColumnWidth,visible:E.visible??!0,readonly:E.readonly,order:E.order,conditions:E.conditions,related:E.related,calculationType:E.calculationType,format:E.format,__left:void 0,__idx:void 0};return B===k&&(F.order=0,F.primaryDisplay=!0),F}).sort((B,E)=>{var U,$;if(B.name===k)return-1;if(E.name===k)return 1;const F=B.order,O=E.order;if(F!=null&&O!=null)return F<O?-1:1;if(F!=null)return-1;if(O!=null)return 1;const D=(U=B.schema)==null?void 0:U.autocolumn,M=($=E.schema)==null?void 0:$.autocolumn;return D===M?0:D?1:-1}))};m.subscribe(b)},Columns=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$e,createStores:createStores$f,deriveStores:deriveStores$b,initialise:initialise$d},Symbol.toStringTag,{value:"Module"})),parseCellID=u=>{if(!u)return{rowId:void 0,field:void 0};const l=u.split(CellIDSeparator),f=l.pop();return{rowId:l.join(CellIDSeparator),field:f}},getCellID=(u,l)=>`${u}${CellIDSeparator}${l}`,parseEventLocation=u=>{var f,p,m,b;const l=u;return{x:l.clientX??((p=(f=l.touches)==null?void 0:f[0])==null?void 0:p.clientX),y:l.clientY??((b=(m=l.touches)==null?void 0:m[0])==null?void 0:b.clientY)}},generateRowID=()=>`${GeneratedIDPrefix}${uuid()}`,isGeneratedRowID=u=>u==null?void 0:u.startsWith(GeneratedIDPrefix),createStores$e=()=>({menu:writable({left:0,top:0,visible:!1,multiRowMode:!1,multiCellMode:!1})}),createActions$d=u=>{const{menu:l,focusedCellId:f,gridID:p,selectedRows:m,selectedRowCount:b,selectedCellMap:y,selectedCellCount:v}=u;return{menu:{...l,actions:{open:(S,B)=>{var $;B.preventDefault(),B.stopPropagation();const E=document.getElementById(p),F=($=E==null?void 0:E.getElementsByClassName("grid-data-outer"))==null?void 0:$[0];if(!F)return;const O=B.target.getBoundingClientRect(),D=F.getBoundingClientRect();let M=!1;if(get_store_value(b)>1){const{rowId:N}=parseCellID(S);N!==void 0&&get_store_value(m)[N]&&(M=!0)}let U=!1;!M&&get_store_value(v)>1&&get_store_value(y)[S]&&(U=!0),!M&&!U&&f.set(S),l.set({left:O.left-D.left+B.offsetX,top:O.top-D.top+B.offsetY,visible:!0,multiRowMode:M,multiCellMode:U})},close:()=>{l.update(S=>({...S,visible:!1}))}}}}},Menu=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$d,createStores:createStores$e},Symbol.toStringTag,{value:"Module"})),initialise$c=u=>{const{scrolledRowCount:l,rows:f,visualRowCapacity:p}=u,m=derived(f,v=>v.length,0),b=derived([l,m,p],([v,w,k])=>Math.max(0,w-v-k));derived([b,m],([v,w])=>v<25&&w).subscribe(v=>{v&&f.actions.loadNextPage()})},Pagination=Object.freeze(Object.defineProperty({__proto__:null,initialise:initialise$c},Symbol.toStringTag,{value:"Module"})),reorderInitialState={sourceColumn:null,targetColumn:null,insertAfter:!1,breakpoints:[],gridLeft:0,width:0,increment:0},createStores$d=()=>{const u=writable(reorderInitialState),l=derived(u,f=>!!f.sourceColumn,!1);return{reorder:u,isReordering:l}},createActions$c=u=>{const{reorder:l,columns:f,columnLookupMap:p,scrollableColumns:m,scroll:b,bounds:y,visibleColumns:v,datasource:w,stickyWidth:k,width:S,scrollLeft:B,maxScrollLeft:E}=u;let F=0,O,D;const M=(te,J)=>{const V=get_store_value(m),oe=get_store_value(y),se=get_store_value(k),fe=V.map(ae=>({x:ae.__left-se,column:ae.name,insertAfter:!1})),X=V[V.length-1];X&&fe.push({x:X.__left+X.width-se,column:X.name,insertAfter:!0}),l.set({sourceColumn:te,targetColumn:null,breakpoints:fe,gridLeft:oe.left,width:oe.width}),document.addEventListener("mousemove",U),document.addEventListener("mouseup",W),document.addEventListener("touchmove",U),document.addEventListener("touchend",W),document.addEventListener("touchcancel",W),U(J)},U=te=>{const{x:J}=parseEventLocation(te);F=J,$();const V=get_store_value(B),oe=get_store_value(E),se=get_store_value(l),fe=Math.min(140,get_store_value(S)/6),X=16,ae=Math.max(0,se.gridLeft+se.width-J),le=Math.max(0,J-se.gridLeft);if(ae<fe&&V<oe){const be=(fe-ae)/fe*X;l.update(Be=>({...Be,increment:be})),N()}else if(le<fe&&V>0){const be=-1*(fe-le)/fe*X;l.update(Be=>({...Be,increment:be})),N()}else z()},$=()=>{const te=get_store_value(l),J=get_store_value(B);let V,oe=Number.MAX_SAFE_INTEGER;const se=F-te.gridLeft+J;te.breakpoints.forEach(fe=>{const X=Math.abs(fe.x-se);X<oe&&(oe=X,V=fe)}),V&&(V.column!==te.targetColumn||V.insertAfter!==te.insertAfter)&&l.update(fe=>({...fe,targetColumn:V.column,insertAfter:V.insertAfter}))},N=()=>{D||(D=!0,O=setInterval(()=>{const te=get_store_value(E),{increment:J}=get_store_value(l);b.update(V=>({...V,left:Math.max(0,Math.min(te,V.left+J))})),$()},10))},z=()=>{D=!1,clearInterval(O)},W=async()=>{z(),document.removeEventListener("mousemove",U),document.removeEventListener("mouseup",W),document.removeEventListener("touchmove",U),document.removeEventListener("touchend",W),document.removeEventListener("touchcancel",W);const{sourceColumn:te,targetColumn:J,insertAfter:V}=get_store_value(l);l.set(reorderInitialState),te!==J&&await q({sourceColumn:te,targetColumn:J,insertAfter:V})},q=async({sourceColumn:te,targetColumn:J,insertAfter:V=!1})=>{const oe=get_store_value(f);let se=oe.findIndex(X=>X.name===te),fe=oe.findIndex(X=>X.name===J);V&&fe++,f.update(X=>{const ae=X.splice(se,1);return--fe<se&&fe++,X.toSpliced(fe,0,ae[0])}),get_store_value(f).forEach((X,ae)=>{const{related:le}=X,he={order:ae};le?w.actions.addSubSchemaMutation(le.subField,le.field,he):w.actions.addSchemaMutation(X.name,he)}),await w.actions.saveSchemaMutations()};return{reorder:{...l,actions:{startReordering:M,stopReordering:W,moveColumnLeft:async te=>{var se;const J=get_store_value(v),oe=get_store_value(p)[te].__idx;await q({sourceColumn:te,targetColumn:(se=J[oe-1])==null?void 0:se.name})},moveColumnRight:async te=>{var se;const J=get_store_value(v),oe=get_store_value(p)[te].__idx;oe!==J.length-1&&await q({sourceColumn:te,targetColumn:(se=J[oe+1])==null?void 0:se.name,insertAfter:!0})}}}}},Reorder=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$c,createStores:createStores$d},Symbol.toStringTag,{value:"Module"})),initialState$5={initialMouseX:null,initialWidth:null,column:null,width:0,left:0},createStores$c=()=>{const u=writable(initialState$5),l=derived(u,f=>f.column!=null,!1);return{resize:u,isResizing:l}},createActions$b=u=>{const{resize:l,ui:f,datasource:p}=u,m=(w,k)=>{const{x:S}=parseEventLocation(k);k.stopPropagation(),k.preventDefault(),f.actions.blur(),l.set({width:w.width,left:w.__left,initialWidth:w.width,initialMouseX:S,column:w.name,related:w.related}),document.addEventListener("mousemove",b),document.addEventListener("mouseup",y),document.addEventListener("touchmove",b),document.addEventListener("touchend",y),document.addEventListener("touchcancel",y)},b=w=>{const{initialMouseX:k,initialWidth:S,width:B,column:E,related:F}=get_store_value(l),{x:O}=parseEventLocation(w),D=O-k,M=Math.round(Math.max(MinColumnWidth,S+D));Math.abs(B-M)<5||(F?p.actions.addSubSchemaMutation(F.subField,F.field,{width:B}):p.actions.addSchemaMutation(E,{width:B}),l.update(U=>({...U,width:M})))},y=async()=>{const w=get_store_value(l);l.set(initialState$5),document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",y),document.removeEventListener("touchmove",b),document.removeEventListener("touchend",y),document.removeEventListener("touchcancel",y),w.width!==w.initialWidth&&await p.actions.saveSchemaMutations()};return{resize:{...l,actions:{startResizing:m,resetSize:async w=>{p.actions.addSchemaMutation(w.name,{width:DefaultColumnWidth}),await p.actions.saveSchemaMutations()}}}}},Resize=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$b,createStores:createStores$c},Symbol.toStringTag,{value:"Module"})),createStores$b=()=>{const u=writable([]),l=writable(!1),f=writable(!1),p=writable(!1),m=writable({}),b=writable({}),y=writable(!1),v=writable(null),w=writable(!1),k=writable(null);let S=!1;return l.subscribe(B=>{B?S=!0:S&&f.set(!0)}),{rows:u,fetch:k,loaded:f,refreshing:p,loading:l,rowChangeCache:m,inProgressChanges:b,hasNextPage:y,error:v,definitionMissing:w}},deriveStores$a=u=>{const{rows:l,enrichedSchema:f}=u,p=derived([l,f],([b,y])=>{const v=Object.values(y||{}),w=v.filter(S=>S.related),k=v.filter(S=>S.format);return b.map((S,B)=>{const E=w.reduce((O,D)=>{const M=y[D.related.field];return O[D.name]=getRelatedTableValues(S,{...D,related:D.related},M),O},{}),F=k.reduce((O,D)=>(O[D.name]=D.format(S),O),{});return{...S,...E,__formatted:F,__idx:B}})}),m=derived(p,b=>{let y={};for(let v=0;v<b.length;v++)y[b[v]._id]=b[v];return y});return{rows:{...l,subscribe:p.subscribe},rowLookupMap:m}},createActions$a=u=>{const{rows:l,rowLookupMap:f,definition:p,allFilters:m,loading:b,sort:y,datasource:v,API:w,scroll:k,validation:S,focusedCellId:B,columns:E,rowChangeCache:F,inProgressChanges:O,hasNextPage:D,error:M,definitionMissing:U,notifications:$,fetch:N,hasBudibaseIdentifiers:z,refreshing:W,columnLookupMap:q}=u,Z=writable(!1);let ne={},te=null,J=null;v.subscribe(async Oe=>{if(te==null||te(),te=null,N.set(null),Z.set(!1),b.set(!0),!v.actions.isDatasourceValid(Oe)){M.set("Datasource is invalid");return}await tick();const Te=get_store_value(m),qe=get_store_value(y),Fe=fetchData({API:w,datasource:Oe,options:{filter:Te,sortColumn:qe.column,sortOrder:qe.order,limit:RowPageSize,paginate:!0,clientSideLimiting:!1}});te=Fe.subscribe(async We=>{if(We.error){let At="An unknown error occurred";We.error.status===403?At="You don't have access to this data":We.error.status===404&&We.error.url&&We.error.url.includes("/api/tables/")||We.error.url.includes("/api/v2/views/")?(U.set(!0),At=We.error.message):We.error.message&&(At=We.error.message),M.set(At)}else if(We.loaded&&!We.loading){M.set(null),D.set(We.hasNextPage);const At=get_store_value(Z),rn=We.resetKey!==J,Ht=J;J=We.resetKey,!At&&Ht&&(l.set([]),await tick()),(!At||rn)&&p.set(We.definition??null),At?rn&&k.update(Mt=>({...Mt,top:0})):(Z.set(!0),k.set({top:0,left:0})),Ue(We.rows,rn),b.set(!1)}W.set(We.loading)}),N.set(Fe)});const V=(Oe,Te)=>{var Fe,We;let qe;if(typeof Te=="string"?qe=Te:typeof(Te==null?void 0:Te.message)=="string"&&(qe=Te.message),typeof Te!="string"&&!((Fe=Te==null?void 0:Te.json)!=null&&Fe.validationErrors)&&qe){const{field:At}=parseCellID(get_store_value(B));At&&(Te={json:{validationErrors:{[At]:Te.message}}})}if(typeof Te!="string"&&((We=Te==null?void 0:Te.json)!=null&&We.validationErrors)){const At=Object.keys(Te.json.validationErrors),rn=get_store_value(E);let Ht=[],Mt=[];for(let ln of At)v.actions.canUseColumn(ln)?Ht.push(ln):Mt.push(ln);const{json:Nt}=Te;for(let ln of Ht){let pt=Nt.validationErrors[ln];Array.isArray(pt)&&(pt=pt[0]),(typeof pt!="string"||!pt.length)&&(Te="Something went wrong"),S.actions.setError(getCellID(Oe,ln),capitalise(pt));const Vt=rn.findIndex(Dn=>Dn.name===ln);Vt!==-1&&!rn[Vt].visible&&E.update(Dn=>(Dn[Vt].visible=!0,Dn.slice()))}for(let ln of Mt)get_store_value($).error(`${ln} is required but is missing`)}else get_store_value($).error(qe||"An unknown error occurred")},oe=async({row:Oe,idx:Te,bubble:qe=!1,notify:Fe=!0})=>{try{const We=await v.actions.addRow(Oe);return Te!=null?(ne[We._id]=!0,l.update(At=>(At.splice(Te,0,We),At.slice()))):Ue([We]),Fe&&get_store_value($).success("Row created successfully"),We}catch(We){if(qe)throw We;V(NewRowID,We),S.actions.focusFirstRowError(NewRowID)}},se=async Oe=>{let Te=Me(Oe);delete Te._id,delete Te._rev;try{const qe=await oe({row:Te,idx:Oe.__idx+1,bubble:!0,notify:!1});return get_store_value($).success("Duplicated 1 row"),qe}catch(qe){V(Oe._id,qe),S.actions.focusFirstRowError(Oe._id)}},fe=async(Oe,Te)=>{const qe=get_store_value(f),Fe=Oe.map(Nt=>{var ln;return(ln=qe[Nt._id])==null?void 0:ln.__idx}),We=Math.max(...Fe),At=Oe.length,rn=Oe.map(Nt=>{let ln=Me(Nt);return delete ln._id,delete ln._rev,ln});let Ht=[],Mt=0;for(let Nt=0;Nt<At;Nt++){try{const ln=await v.actions.addRow(rn[Nt]);Ht.push(ln),ne[ln._id]=!0,await sleep(50)}catch(ln){Mt++,console.error("Duplicating row failed",ln)}Te==null||Te((Nt+1)/At)}return Ht.length&&l.update(Nt=>Nt.toSpliced(We+1,0,...Ht)),Mt?get_store_value($).error(`Failed to duplicate ${Mt} of ${At} rows`):Ht.length&&get_store_value($).success(`Duplicated ${Ht.length} rows`),Ht},X=(Oe,Te)=>{var At;const qe=get_store_value(l),We=(At=get_store_value(f)[Oe])==null?void 0:At.__idx;Te?We!=null?l.update(rn=>(rn[We]={...Te},rn)):Ue([Te]):We!=null&&Ge([qe[We]])},ae=async Oe=>{try{const Te=await v.actions.getRow(Oe);X(Oe,Te)}catch{}},le=async()=>{var Oe;await((Oe=get_store_value(N))==null?void 0:Oe.getInitialData())},he=(Oe,Te)=>{const qe=Object.keys(Te||{});return!Oe||!qe.length?!1:qe.some(Fe=>Oe[Fe]!==Te[Fe])},be=(Oe,Te)=>{var At,rn;const qe=get_store_value(f),Fe=get_store_value(q),We=qe[Oe];for(let Ht of Object.keys(Te||{})){const Mt=(rn=(At=Fe[Ht])==null?void 0:At.schema)==null?void 0:rn.type;(Mt===FieldType.STRING||Mt==FieldType.LONGFORM)&&Te[Ht]!=null&&typeof Te[Ht]!="string"&&(Te[Ht]=JSON.stringify(Te[Ht]))}return!We||!he(We,Te)?!1:(F.update(Ht=>({...Ht,[Oe]:{...Ht[Oe],...Te}})),!0)},Be=async({rowId:Oe,changes:Te=null,updateState:qe=!0,handleErrors:Fe=!0})=>{const At=get_store_value(f)[Oe];if(At==null)return;let rn;try{O.update(ln=>({...ln,[Oe]:(ln[Oe]||0)+1}));const Ht=get_store_value(F)[Oe],Mt={...Me(At),...Ht,...Te};rn=await v.actions.updateRow(Mt),rn!=null&&rn._id?qe&&l.update(ln=>(ln[At.__idx]=rn,ln.slice())):rn!=null&&rn.id&&await ae(rn.id);const Nt=get_store_value(F)[Oe];F.update(ln=>(Object.keys(Ht||{}).forEach(pt=>{Ht[pt]===(Nt==null?void 0:Nt[pt])&&delete ln[Oe][pt]}),ln))}catch(Ht){Fe&&(V(Oe,Ht),S.actions.focusFirstRowError(Oe))}return O.update(Ht=>({...Ht,[Oe]:(Ht[Oe]||1)-1})),rn},tt=async({rowId:Oe,column:Te,value:qe,apply:Fe=!0})=>{be(Oe,{[Te]:qe})&&Fe&&await Be({rowId:Oe})},Ne=async(Oe,Te)=>{const qe=Object.keys(Oe||{}),Fe=qe.length;if(!Fe)return;const We=get_store_value(q);let At=[],rn=0;for(let Ht=0;Ht<Fe;Ht++){const Mt=qe[Ht];let Nt=Oe[Mt]||{};for(let ln of Object.keys(Nt)){const pt=We[ln];E.actions.isReadonly(pt)&&delete Nt[ln]}if(!Object.keys(Nt).length){Te==null||Te((Ht+1)/Fe);continue}try{const ln=await Be({rowId:Mt,changes:Oe[Mt],updateState:!1,handleErrors:!1});ln?At.push(ln):rn++,await sleep(50)}catch(ln){rn++,console.error("Failed to update row",ln)}Te==null||Te((Ht+1)/Fe)}if(At.length){const Ht=get_store_value(f);l.update(Mt=>{for(let Nt of At){const ln=Ht[Nt._id].__idx;Mt[ln]=Nt}return Mt.slice()})}if(rn){const Ht=`row${Fe===1?"":"s"}`;get_store_value($).error(`Failed to update ${rn} of ${Fe} ${Ht}`)}else if(At.length){const Ht=`row${At.length===1?"":"s"}`;get_store_value($).success(`Updated ${At.length} ${Ht}`)}},de=async Oe=>{Oe!=null&&Oe.length&&(Oe.forEach(Te=>delete Te.__idx),await v.actions.deleteRows(Oe),Ge(Oe))},Ue=(Oe,Te)=>{var At;Te&&(ne={});let qe=[],Fe;const We=get_store_value(z);for(let rn=0;rn<Oe.length;rn++)Fe=Oe[rn],!We&&!((At=Fe._id)!=null&&At.length)&&(Fe._id=generateRowID()),ne[Fe._id]||(ne[Fe._id]=!0,qe.push(Fe));Te?l.set(qe):qe.length&&l.update(rn=>[...rn,...qe])},Ge=Oe=>{const Te=Oe.map(qe=>qe._id);l.update(qe=>qe.filter(Fe=>!Te.includes(Fe._id)))},xe=()=>{var Oe;(Oe=get_store_value(N))==null||Oe.nextPage()},Me=Oe=>{let Te={...Oe};return delete Te.__idx,delete Te.__metadata,delete Te.__formatted,!get_store_value(z)&&isGeneratedRowID(Te._id)&&delete Te._id,Te};return{rows:{...l,actions:{addRow:oe,duplicateRow:se,bulkDuplicate:fe,updateValue:tt,applyRowChanges:Be,deleteRows:de,loadNextPage:xe,refreshRow:ae,replaceRow:X,refreshData:le,cleanRow:Me,bulkUpdate:Ne}}}},initialise$b=u=>{const{rowChangeCache:l,inProgressChanges:f,previousFocusedRowId:p,previousFocusedCellId:m,rows:b,validation:y}=u;p.subscribe(v=>{v&&!get_store_value(f)[v]&&Object.keys(get_store_value(l)[v]||{}).length&&l.update(w=>(delete w[v],w))}),m.subscribe(async v=>{if(!v)return;let{rowId:w,field:k}=parseCellID(v);w=w,k=k;const S=k in(get_store_value(l)[w]||{}),B=y.actions.rowHasErrors(w),E=get_store_value(f)[w];w&&!B&&S&&!E&&await b.actions.applyRowChanges({rowId:w})})},Rows=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$a,createStores:createStores$b,deriveStores:deriveStores$a,initialise:initialise$b},Symbol.toStringTag,{value:"Module"})),createStores$a=()=>{const u=writable({left:0,top:0}),l=derived(u,p=>Math.round(p.top)),f=derived(u,p=>Math.round(p.left));return{scroll:u,scrollTop:l,scrollLeft:f}},deriveStores$9=u=>{const{rows:l,visibleColumns:f,displayColumn:p,rowHeight:m,width:b,height:y,buttonColumnWidth:v,config:w}=u,k=derived(p,U=>((U==null?void 0:U.width)||0)+GutterWidth),S=derived([f,v],([U,$])=>{let N=GutterWidth+Math.max($,HPadding);return U.forEach(z=>{N+=z.width}),N}),B=derived([b,k],([U,$])=>U+$),E=derived([S,B],([U,$])=>Math.round(Math.max(U-$,0))),F=derived([S,B],([U,$])=>U>$),O=derived([l,m,F,w],([U,$,N,z])=>{let W=U.length*$+VPadding;return N&&(W+=ScrollBarSize*3),z.canAddRows&&(W+=$),W}),D=derived([y,O],([U,$])=>Math.round(Math.max($-U,0))),M=derived([O,y],([U,$])=>U>$);return{stickyWidth:k,contentHeight:O,contentWidth:S,screenWidth:B,maxScrollTop:D,maxScrollLeft:E,showHScrollbar:F,showVScrollbar:M}},initialise$a=u=>{const{focusedCellId:l,focusedRow:f,scroll:p,bounds:m,rowHeight:b,stickyWidth:y,scrollTop:v,maxScrollTop:w,scrollLeft:k,maxScrollLeft:S,buttonColumnWidth:B,columnLookupMap:E}=u,F=derived([v,w],([D,M])=>D>M,!1),O=derived([k,S],([D,M])=>D>M,!1);F.subscribe(D=>{D&&p.update(M=>({...M,top:get_store_value(w)}))}),O.subscribe(D=>{D&&p.update(M=>({...M,left:get_store_value(S)}))}),l.subscribe(async D=>{await tick();const M=get_store_value(f),U=get_store_value(p),$=get_store_value(m),N=get_store_value(b);if(M){const ne=M.__idx*N,te=U.top+$.height-N-FocusedCellMinOffset;let J=ne-te;if(J>0)p.update(V=>({...V,top:V.top+J}));else{const V=U.top-ne+FocusedCellMinOffset;V>0&&p.update(oe=>({...oe,top:Math.max(0,oe.top-V)}))}}const{field:z}=parseCellID(D),W=get_store_value(E)[z];if(!W||W.primaryDisplay)return;const q=get_store_value(y);let Z=U.left-W.__left+FocusedCellMinOffset+q;if(Z>0)p.update(ne=>({...ne,left:Math.max(0,ne.left-Z)}));else{const ne=get_store_value(B),te=W.__left+W.width,J=$.width+U.left-FocusedCellMinOffset-ne;Z=te-J-q,Z>0&&p.update(V=>({...V,left:V.left+Z}))}})},Scroll=Object.freeze(Object.defineProperty({__proto__:null,createStores:createStores$a,deriveStores:deriveStores$9,initialise:initialise$a},Symbol.toStringTag,{value:"Module"})),createStores$9=u=>{const{props:l}=u,f=writable(null),p=writable(null),m=writable({}),b=writable(null),y=writable(get_store_value(l).fixedRowHeight||DefaultRowHeight),v=writable(null),w=writable(null),k=writable(!1),S=writable(!1),B=writable(!1),E=writable(0),F=writable({active:!1,sourceCellId:null,targetCellId:null});return{focusedCellId:f,focusedCellAPI:p,previousFocusedRowId:v,previousFocusedCellId:w,hoveredRowId:b,rowHeight:y,gridFocused:k,keyboardBlocked:S,isDragging:B,buttonColumnWidth:E,selectedRows:m,cellSelection:F}},deriveStores$8=u=>{const{focusedCellId:l,rows:f,rowLookupMap:p,rowHeight:m,width:b,selectedRows:y,cellSelection:v,columnLookupMap:w,visibleColumns:k}=u,S=derived(l,N=>parseCellID(N).rowId??null),B=derived([S,p],([N,z])=>{if(N!==null)return N===NewRowID?{_id:NewRowID}:z[N]}),E=derived(m,N=>N>=LargeRowHeight?3:N>=MediumRowHeight?2:1),F=derived(b,N=>N<600),O=derived(y,N=>Object.keys(N).length),D=derived(v,N=>N.active),M=derived([v,p,w],([N,z,W])=>{var de,Ue;const{sourceCellId:q,targetCellId:Z}=N;if(!q||!Z||q===Z)return[];const ne=get_store_value(f),te=get_store_value(k),J=parseCellID(q),V=parseCellID(Z);if(J.rowId===NewRowID)return[];const oe=(de=z[J.rowId])==null?void 0:de.__idx,se=(Ue=z[V.rowId])==null?void 0:Ue.__idx;if(oe==null||se==null)return[];const fe=Math.min(oe,se);let X=Math.max(oe,se);X=Math.min(X,fe+49);const ae=W[J.field].__idx||0,le=W[V.field].__idx||0,he=Math.min(ae,le),be=Math.max(ae,le);let Be=[],tt,Ne;for(let Ge=fe;Ge<=X;Ge++){let xe=[];for(let Me=he;Me<=be;Me++)tt=ne[Ge]._id,Ne=te[Me].name,xe.push(getCellID(tt,Ne));Be.push(xe)}return Be}),U=derived(M,N=>{let z={};for(let W of N)for(let q of W)z[q]=!0;return z}),$=derived(U,N=>Object.keys(N).length);return{focusedRowId:S,focusedRow:B,contentLines:E,compact:F,selectedRowCount:O,isSelectingCells:D,selectedCells:M,selectedCellMap:U,selectedCellCount:$}},createActions$9=u=>{const{focusedCellId:l,hoveredRowId:f,selectedRows:p,rowLookupMap:m,rows:b,selectedRowCount:y,cellSelection:v,selectedCells:w}=u;let k=null;const S=()=>{l.set(null),f.set(null),U()},B=$=>{p.update(N=>{let z={...N,[$]:!N[$]};return z[$]?k=get_store_value(m)[$].__idx:delete z[$],z})},E=$=>{if(!get_store_value(y)){B($);return}if(k==null)return;const N=get_store_value(m)[$].__idx;if(k===N)return;const z=Math.min(k,N),W=Math.max(k,N),q=get_store_value(b);p.update(Z=>{for(let ne=z;ne<=W;ne++)Z[q[ne]._id]=!0;return Z})},F=$=>{v.set({active:!0,sourceCellId:$,targetCellId:$})},O=$=>{v.update(N=>({...N,targetCellId:$}))},D=()=>{v.update($=>({...$,active:!1}))},M=($,N)=>{v.set({active:!1,sourceCellId:$,targetCellId:N})},U=()=>{v.set({active:!1,sourceCellId:null,targetCellId:null})};return{ui:{actions:{blur:S}},selectedRows:{...p,actions:{toggleRow:B,bulkSelectRows:E}},selectedCells:{...w,actions:{startSelecting:F,updateTarget:O,stopSelecting:D,selectRange:M,clear:U}}}},initialise$9=u=>{const{focusedRowId:l,previousFocusedRowId:f,previousFocusedCellId:p,rowLookupMap:m,focusedCellId:b,selectedRows:y,hoveredRowId:v,definition:w,rowHeight:k,fixedRowHeight:S,selectedRowCount:B,menu:E,selectedCellCount:F,selectedCells:O,cellSelection:D}=u;m.subscribe(async $=>{await tick();const N=get_store_value(l),z=get_store_value(y),W=get_store_value(v),q=ne=>$[ne]!=null;N&&!q(N)&&b.set(null),W&&!q(W)&&v.set(null);const Z=Object.keys(z);if(Z.length){let ne={...z},te=!1;for(let J=0;J<Z.length;J++)q(Z[J])||(delete ne[Z[J]],te=!0);te&&y.set(ne)}});let M=null;l.subscribe($=>{f.set(M),M=$});let U=null;b.subscribe($=>{p.set(U),U=$,$&&get_store_value(v)&&v.set(null),$&&get_store_value(B)&&y.set({}),$&&get_store_value(F)&&O.actions.clear(),E.actions.close()}),w.subscribe($=>{get_store_value(S)||k.set(($==null?void 0:$.rowHeight)||DefaultRowHeight)}),S.subscribe($=>{var N;$?k.set($):k.set(((N=get_store_value(w))==null?void 0:N.rowHeight)||DefaultRowHeight)}),B.subscribe($=>{$&&(get_store_value(b)&&b.set(null),get_store_value(F)&&O.actions.clear())}),F.subscribe($=>{$&&get_store_value(B)&&y.set({})}),D.subscribe(async({sourceCellId:$,targetCellId:N})=>{$&&$!==N&&get_store_value(b)!==$&&b.set($)})},UI=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$9,createStores:createStores$9,deriveStores:deriveStores$8,initialise:initialise$9},Symbol.toStringTag,{value:"Module"})),createStores$8=()=>{const u=writable([]),l=derived(u,f=>f.map(p=>({...p,color:getUserColor(p),label:getUserLabel(p)})));return{users:{...u,subscribe:l.subscribe}}},deriveStores$7=u=>{const{users:l,focusedCellId:f}=u;return{userCellMap:derived([l,f],([m,b])=>{let y={};return m.forEach(v=>{var k;const w=(k=v.gridMetadata)==null?void 0:k.focusedCellId;w&&w!==b&&(y[w]=v)}),y})}},createActions$8=u=>{const{users:l}=u;return{users:{...l,actions:{updateUser:m=>{const b=get_store_value(l);b.some(y=>y.sessionId===m.sessionId)?l.update(y=>{const v=y.findIndex(w=>w.sessionId===m.sessionId);return y[v]=m,y.slice()}):l.set([...b,m])},removeUser:m=>{l.update(b=>b.filter(y=>y.sessionId!==m))}}}}},Users=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$8,createStores:createStores$8,deriveStores:deriveStores$7},Symbol.toStringTag,{value:"Module"})),createStores$7=()=>({validation:writable({})}),deriveStores$6=u=>{const{validation:l}=u;return{validationRowLookupMap:derived(l,p=>{const m={};return Object.entries(p).forEach(([b,y])=>{if(y){const{rowId:v}=parseCellID(b);v!==void 0&&(m[v]||(m[v]=[]),m[v].push(b))}}),m})}},createActions$7=u=>{const{validation:l,focusedCellId:f,validationRowLookupMap:p}=u;return{validation:{...l,actions:{setError:(v,w)=>{v&&l.update(k=>({...k,[v]:w}))},rowHasErrors:v=>{var w;return((w=get_store_value(p)[v])==null?void 0:w.length)>0},focusFirstRowError:v=>{const w=get_store_value(p)[v],k=w==null?void 0:w[0];k&&f.set(k)}}}}},initialise$8=u=>{const{validation:l,previousFocusedRowId:f,validationRowLookupMap:p}=u;f.subscribe(m=>{if(m){const b=get_store_value(p)[m];b!=null&&b.length&&l.update(y=>{for(let v of b)delete y[v];return y})}})},Validation=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$7,createStores:createStores$7,deriveStores:deriveStores$6,initialise:initialise$8},Symbol.toStringTag,{value:"Module"})),deriveStores$5=u=>{const{rowHeight:l,scrollableColumns:f,rows:p,scrollTop:m,scrollLeft:b,width:y,height:v,rowChangeCache:w,metadata:k}=u,S=derived([m,l],([D,M])=>Math.floor(D/M)),B=derived([v,l],([D,M])=>Math.ceil(D/M)+1),E=derived([p,S,B,w,k],([D,M,U,$,N])=>D.slice(M,M+U).map(z=>({...z,...$[z._id],__metadata:N[z._id]}))),F=derived(b,D=>{const M=MinColumnWidth;return Math.round(D/M)*M}),O=derived([f,F,y],([D,M,U])=>{if(!D.length)return{};let $=0,N=D[0].width;for(;N<M&&$<D.length-1;)$++,N+=D[$].width;let z=$+1,W=N;for(;W<U+M&&z<D.length;)W+=D[z].width,z++;let q={};return D.slice(Math.max(0,$),z).forEach(Z=>{q[Z.name]=!0}),q});return{scrolledRowCount:S,visualRowCapacity:B,renderedRows:E,columnRenderMap:O}},Viewport=Object.freeze(Object.defineProperty({__proto__:null,deriveStores:deriveStores$5},Symbol.toStringTag,{value:"Module"})),createStores$6=u=>{var p;let l;if((p=u==null?void 0:u.externalClipboard)!=null&&p.clipboard){const m=u.externalClipboard.clipboard.get();m.multiCellCopy?l={value:m.value,multiCellCopy:!0}:l={value:m.value,multiCellCopy:!1}}else l={value:void 0,multiCellCopy:!1};return{clipboard:writable(l)}},deriveStores$4=u=>{const{clipboard:l,focusedCellAPI:f,selectedCellCount:p,config:m,focusedRowId:b,props:y}=u,v=derived(f,k=>k!=null),w=derived([l,f,p,m,b,y],([k,S,B,E,F,O])=>{var U;let D=k.value!=null;if(!D&&((U=O.externalClipboard)!=null&&U.clipboard)&&(D=O.externalClipboard.clipboard.get().value!=null),!D||!E.canEditRows||!S||F===NewRowID)return!1;const M=B>1;return!(!k.multiCellCopy&&!M&&S.isReadonly())});return{copyAllowed:v,pasteAllowed:w}},createActions$6=u=>{const{clipboard:l,focusedCellAPI:f,copyAllowed:p,pasteAllowed:m,selectedCells:b,selectedCellCount:y,rowLookupMap:v,rowChangeCache:w,rows:k,focusedCellId:S,columnLookupMap:B,visibleColumns:E,props:F}=u,O=()=>{if(!get_store_value(p))return;const U=get_store_value(b),$=get_store_value(f),z=get_store_value(y)>1;if(z){const W=get_store_value(v),q=get_store_value(w),Z=[];for(const te of U){const J=[];for(const V of te){const{rowId:oe="",field:se=""}=parseCellID(V),fe={...W[oe],...q[oe]};J.push(fe[se])}Z.push(J)}l.set({value:Z,multiCellCopy:!0});const{externalClipboard:ne}=get_store_value(F);ne!=null&&ne.onCopy&&ne.onCopy({value:Z,multiCellCopy:!0,tableId:ne.tableId,viewId:ne.viewId})}else{const W=$==null?void 0:$.getValue();l.set({value:W,multiCellCopy:z});const{externalClipboard:q}=get_store_value(F);q!=null&&q.onCopy&&q.onCopy({value:W,multiCellCopy:!1,tableId:q.tableId,viewId:q.viewId});let Z="";W!=null&&W!==""&&(Z=typeof W=="object"?JSON.stringify(W):W),copyToClipboard(Z)}},D=async U=>{var Z,ne;if(!get_store_value(m))return;const{externalClipboard:$}=get_store_value(F);let N=get_store_value(l);if($!=null&&$.clipboard){const te=$.clipboard.get();te.value!==void 0&&(te.multiCellCopy?N={value:te.value,multiCellCopy:!0}:N={value:te.value,multiCellCopy:!1})}const{value:z,multiCellCopy:W}=N,q=get_store_value(y)>1;if(W)if(q){let te=z;const J=get_store_value(b),V=J.length,oe=J[0].length,se=z.length,fe=z[0].length;if(V>se&&oe===fe){te=[];for(let X=0;X<V;X++)te.push(z[X%se])}await M(te,U)}else{const te=get_store_value(S),{rowId:J,field:V}=parseCellID(te),oe=get_store_value(v),se=get_store_value(B),fe=oe[J].__idx,X=se[V].__idx||0,ae=get_store_value(k),le=get_store_value(E),he=le.length,be=ae.length,Be=z.length,tt=z[0].length,Ne=Math.min(Be,be-fe)-1,de=Math.min(tt,he-X)-1,Ue=ae[fe+Ne]._id,Ge=le[X+de].name,xe=getCellID(Ue,Ge);xe===te?(Z=get_store_value(f))==null||Z.setValue(z[0][0]):(b.actions.selectRange(te,xe),await M(z,U))}else if(q){const te=get_store_value(b).map(J=>J.map(()=>z));await M(te,U)}else(ne=get_store_value(f))==null||ne.setValue(z??null)},M=async(U,$)=>{const N=get_store_value(b),z=Math.min(U.length,N.length),W=Math.min(U[0].length,N[0].length);let q={};for(let Z=0;Z<z;Z++)for(let ne=0;ne<W;ne++){const te=N[Z][ne];let{rowId:J,field:V}=parseCellID(te);J=J,V=V,q[J]||(q[J]={}),q[J][V]=U[Z][ne]}await k.actions.bulkUpdate(q,$)};return{clipboard:{...l,actions:{copy:O,paste:D}}}},Clipboard=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$6,createStores:createStores$6,deriveStores:deriveStores$4},Symbol.toStringTag,{value:"Module"})),createStores$5=u=>{const{props:l}=u,f=B=>derivedMemo(l,E=>E[B]),p=f("datasource"),m=f("initialSortColumn"),b=f("initialSortOrder"),y=f("initialFilter"),v=f("fixedRowHeight"),w=f("schemaOverrides"),k=f("notifySuccess"),S=f("notifyError");return{datasource:p,initialSortColumn:m,initialSortOrder:b,initialFilter:y,fixedRowHeight:v,schemaOverrides:w,notifySuccess:k,notifyError:S}},deriveStores$3=u=>{const{props:l,definition:f,hasNonAutoColumn:p}=u;return{config:derived([l,f,p],([b,y,v])=>{var S;let w={...b,canSelectRows:!1};const k=(S=b.datasource)==null?void 0:S.type;return k==="viewV2"&&(w.canEditColumns=!1,(y==null?void 0:y.type)===ViewV2Type.CALCULATION&&(w.canAddRows=!1,w.canEditRows=!1,w.canDeleteRows=!1,w.canExpandRows=!1)),v||(w.canAddRows=!1),k&&!["table","viewV2"].includes(k)&&(w.canAddRows=!1,w.canEditRows=!1,w.canDeleteRows=!1,w.canExpandRows=!1,w.canSaveSchema=!1,w.canEditColumns=!1),w.canSelectRows=!0,w})}},Config=Object.freeze(Object.defineProperty({__proto__:null,createStores:createStores$5,deriveStores:deriveStores$3},Symbol.toStringTag,{value:"Module"})),createStores$4=u=>{const{props:l}=u,f=get_store_value(l);return{sort:memo({column:f.initialSortColumn,order:f.initialSortOrder||SortOrder.ASCENDING})}},initialise$7=u=>{const{sort:l,initialSortColumn:f,initialSortOrder:p,schema:m}=u;f.subscribe(y=>{l.update(v=>({...v,column:y}))}),p.subscribe(y=>{l.update(v=>({...v,order:y||SortOrder.ASCENDING}))}),derived([l,m],([y,v])=>!(y!=null&&y.column)||!v?!0:v[y.column]!=null).subscribe(y=>{y||l.set({column:null,order:SortOrder.ASCENDING})})},Sort=Object.freeze(Object.defineProperty({__proto__:null,createStores:createStores$4,initialise:initialise$7},Symbol.toStringTag,{value:"Module"})),createStores$3=u=>{const{props:l}=u,f=memo(get_store_value(l).initialFilter??void 0),p=memo([]);return{filter:f,inlineFilters:p}},deriveStores$2=u=>{const{filter:l,inlineFilters:f}=u;return{allFilters:derived([l,f],([m,b])=>{var v;if(!(b!=null&&b.length))return m;const y={logicalOperator:UILogicalOperator.ALL,groups:[{logicalOperator:UILogicalOperator.ALL,filters:b}]};return(v=m==null?void 0:m.groups)!=null&&v.length&&(y.groups=[...y.groups,...m.groups]),y})}},createActions$5=u=>{const{filter:l,inlineFilters:f}=u;return{filter:{...l,actions:{addInlineFilter:(m,b)=>{const y=`inline-${m.name}`,v=m.schema.type,w={field:m.name,id:y,operator:BasicOperator.STRING,valueType:"value",type:v,value:b};v===FieldType.NUMBER?(w.value=parseFloat(b),w.operator=BasicOperator.EQUAL):v===FieldType.BIGINT?w.operator=BasicOperator.EQUAL:v===FieldType.ARRAY&&(w.operator=ArrayOperator.CONTAINS),f.update(k=>(k=k==null?void 0:k.filter(S=>S.id!==y),b&&k.push(w),k))}}}}},initialise$6=u=>{const{filter:l,initialFilter:f}=u;f.subscribe(p=>l.set(p??void 0))},Filter$1=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$5,createStores:createStores$3,deriveStores:deriveStores$2,initialise:initialise$6},Symbol.toStringTag,{value:"Module"})),createStores$2=u=>{const{notifySuccess:l,notifyError:f}=u;return{notifications:derived([l,f],([m,b])=>({success:m||notifications.success,error:b||notifications.error}))}},Notifications=Object.freeze(Object.defineProperty({__proto__:null,createStores:createStores$2},Symbol.toStringTag,{value:"Module"})),createStores$1=()=>{const u=memo(null),l=memo({}),f=memo({});return{definition:u,schemaMutations:l,subSchemaMutations:f}},deriveStores$1=u=>{const{API:l,definition:f,schemaOverrides:p,datasource:m,schemaMutations:b,subSchemaMutations:y}=u,v=derived(f,S=>{const B=getDatasourceSchema({API:l,datasource:get_store_value(m),definition:S??void 0});return B?(Object.keys(B).forEach(E=>{typeof B[E]!="object"&&(B[E]={name:E,type:B[E]})}),B):null}),w=derived([v,p,b,y],([S,B,E,F])=>{if(!S)return null;const O=enrichSchemaWithRelColumns(S),D={};return Object.keys(O||{}).forEach(M=>{var U;if(D[M]={...O==null?void 0:O[M],...B==null?void 0:B[M],...E[M]},F[M]){(U=D[M]).columns??(U.columns={});for(const $ of Object.keys(F[M])){const N=F[M][$];D[M].columns[$]={...D[M].columns[$],...N}}}}),D}),k=derived([m,f],([S,B])=>{var F,O;let E=S==null?void 0:S.type;return E==="provider"&&(E=(O=(F=S.value)==null?void 0:F.datasource)==null?void 0:O.type),E==="viewV2"&&B&&"type"in B&&B.type===ViewV2Type.CALCULATION?!1:!!E&&["table","viewV2","link"].includes(E)});return{schema:v,enrichedSchema:w,hasBudibaseIdentifiers:k}},createActions$4=u=>{const{API:l,datasource:f,definition:p,config:m,dispatch:b,table:y,viewV2:v,nonPlus:w,schemaMutations:k,subSchemaMutations:S,schema:B,notifications:E}=u,F=()=>{const V=get_store_value(f),oe=V==null?void 0:V.type;if(!oe)return null;switch(oe){case"table":return y;case"viewV2":return v;default:return w}},O=async()=>{const V=await getDatasourceDefinition({API:l,datasource:get_store_value(f)});p.set(V??null)},D=async V=>{var se;const oe=get_store_value(p);if(p.set(V),get_store_value(m).canSaveSchema)try{await((se=F())==null?void 0:se.actions.saveDefinition(V)),b("updatedatasource",V)}catch(fe){const X=(fe==null?void 0:fe.message)||fe||"Unknown error";get_store_value(E).error(`Error saving schema: ${X}`),p.set(oe)}},M=async V=>{let oe=cloneDeep$4(get_store_value(p));return oe.primaryDisplay=V,oe.schema&&(oe.schema[V].constraints||(oe.schema[V].constraints={}),oe.schema[V].constraints.presence={allowEmpty:!1},"default"in oe.schema[V]&&delete oe.schema[V].default),await D(oe)},U=(V,oe)=>{!V||!oe||k.update(se=>({...se,[V]:{...se[V],...oe}}))},$=(V,oe,se)=>{!V||!oe||!se||S.update(fe=>({...fe,[oe]:{...fe[oe],[V]:{...(fe[oe]||{})[V],...se}}}))},N=async()=>{if(!get_store_value(m).canSaveSchema)return;const V=get_store_value(p),oe=get_store_value(k),se=get_store_value(S),fe=get_store_value(B)||{};let X={};Object.keys(fe).forEach(ae=>{var le;if(X[ae]={...fe[ae],...oe[ae]},se[ae]){(le=X[ae]).columns??(le.columns={});for(const he of Object.keys(se[ae])){const be=se[ae][he];X[ae].columns[he]={...X[ae].columns[he],...be}}}}),await D({...V,schema:X}),z()},z=()=>{k.set({}),S.set({})};return{datasource:{...f,actions:{refreshDefinition:O,saveDefinition:D,addRow:async V=>{var oe;return await((oe=F())==null?void 0:oe.actions.addRow(V))},updateRow:async V=>{var oe;return await((oe=F())==null?void 0:oe.actions.updateRow(V))},deleteRows:async V=>{var oe;return await((oe=F())==null?void 0:oe.actions.deleteRows(V))},getRow:async V=>{var oe;return await((oe=F())==null?void 0:oe.actions.getRow(V))},isDatasourceValid:V=>{var oe;return(oe=F())==null?void 0:oe.actions.isDatasourceValid(V)},canUseColumn:V=>{var oe;return(oe=F())==null?void 0:oe.actions.canUseColumn(V)},changePrimaryDisplay:M,addSchemaMutation:U,addSubSchemaMutation:$,saveSchemaMutations:N,resetSchemaMutations:z}}}},Datasource=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$4,createStores:createStores$1,deriveStores:deriveStores$1},Symbol.toStringTag,{value:"Module"})),SuppressErrors$1=!0,createActions$3=u=>{const{API:l,datasource:f,columns:p}=u,m=async S=>{await l.saveTable(S)},b=async S=>{var E;S={...S,tableId:(E=get_store_value(f))==null?void 0:E.tableId};const B=await l.saveRow(S,SuppressErrors$1);return{...B,_id:B._id}};return{table:{actions:{saveDefinition:m,addRow:b,updateRow:b,deleteRows:async S=>{await l.deleteRows(get_store_value(f).tableId,S)},getRow:async S=>{var F;const B=await l.searchTable(get_store_value(f).tableId,{limit:1,query:{equal:{_id:S}},paginate:!1}),E=(F=B==null?void 0:B.rows)==null?void 0:F[0];if(E)return{...E,_id:E._id}},isDatasourceValid:S=>(S==null?void 0:S.type)==="table"&&!!(S!=null&&S.tableId),canUseColumn:S=>get_store_value(p).some(B=>B.name===S)}}}},initialise$5=u=>{const{datasource:l,fetch:f,filter:p,inlineFilters:m,allFilters:b,sort:y,table:v,initialFilter:w,initialSortColumn:k,initialSortOrder:S}=u;let B=[];l.subscribe(E=>{B==null||B.forEach(F=>F()),B=[],v.actions.isDatasourceValid(E)&&(p.set(get_store_value(w)??void 0),m.set([]),y.set({column:get_store_value(k),order:get_store_value(S)||SortOrder.ASCENDING}),B.push(b.subscribe(F=>{var D,M;const O=get_store_value(f);((M=(D=O==null?void 0:O.options)==null?void 0:D.datasource)==null?void 0:M.tableId)===E.tableId&&O.update({filter:F})})),B.push(y.subscribe(F=>{var D,M;const O=get_store_value(f);((M=(D=O==null?void 0:O.options)==null?void 0:D.datasource)==null?void 0:M.tableId)===E.tableId&&O.update({sortOrder:F.order||SortOrder.ASCENDING,sortColumn:F.column??void 0})})))})},Table=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$3,initialise:initialise$5},Symbol.toStringTag,{value:"Module"})),SuppressErrors=!0,createActions$2=u=>{const{API:l,datasource:f,columns:p}=u,m=async S=>{await l.viewV2.update(S)},b=async S=>{const B=get_store_value(f);S={...S,tableId:B==null?void 0:B.tableId,_viewId:B==null?void 0:B.id};const E=await l.saveRow(S,SuppressErrors);return{...E,_id:E._id,_viewId:S._viewId}};return{viewV2:{actions:{saveDefinition:m,addRow:b,updateRow:b,deleteRows:async S=>{await l.deleteRows(get_store_value(f).id,S)},getRow:async S=>{var F;const B=await l.viewV2.fetch(get_store_value(f).id,{limit:1,query:{equal:{_id:S}},paginate:!1}),E=(F=B==null?void 0:B.rows)==null?void 0:F[0];if(E)return{...E,_id:E._id}},isDatasourceValid:S=>(S==null?void 0:S.type)==="viewV2"&&!!(S!=null&&S.id)&&!!(S!=null&&S.tableId),canUseColumn:S=>get_store_value(p).some(B=>B.name===S&&B.visible)}}}},initialise$4=u=>{const{definition:l,datasource:f,sort:p,rows:m,filter:b,inlineFilters:y,allFilters:v,subscribe:w,viewV2:k,initialFilter:S,initialSortColumn:B,initialSortOrder:E,config:F,fetch:O}=u;let D=[];f.subscribe(M=>{if(D==null||D.forEach($=>$()),D=[],!k.actions.isDatasourceValid(M))return;b.set(get_store_value(S)??void 0),y.set([]),p.set({column:get_store_value(B),order:get_store_value(E)||SortOrder.ASCENDING}),D.push(l.subscribe($=>{var N,z;get_store_value(F).canSaveSchema&&(!$||!("id"in $)||($==null?void 0:$.id)===M.id&&(get_store_value(B)||p.set({column:(N=$.sort)==null?void 0:N.field,order:((z=$.sort)==null?void 0:z.order)||SortOrder.ASCENDING}),get_store_value(S)||b.set($.queryUI)))}));function U($,N){const z=$.column??null,W=(N==null?void 0:N.field)??null;if(z!==W)return!0;if(!z)return!1;const q=$.order??null,Z=(N==null?void 0:N.order)??null;return q!==Z}D.push(p.subscribe(async $=>{var W,q;const N=get_store_value(l);if(!N||!("id"in N)||(N==null?void 0:N.id)!==M.id||!U($,N.sort))return;get_store_value(F).canSaveSchema&&await f.actions.saveDefinition({...N,sort:{field:$.column,order:$.order||SortOrder.ASCENDING}});const z=get_store_value(O);((q=(W=z==null?void 0:z.options)==null?void 0:W.datasource)==null?void 0:q.id)===M.id&&z.update({sortOrder:$.order,sortColumn:$.column??void 0})})),D==null||D.push(b.subscribe(async $=>{if(!get_store_value(F).canSaveSchema)return;const N=get_store_value(l);!N||!("id"in N)||(N==null?void 0:N.id)===M.id&&JSON.stringify($)!==JSON.stringify(N.queryUI)&&(await f.actions.saveDefinition({...N,queryUI:$}),await m.actions.refreshData())})),D.push(y.subscribe($=>{var z,W;if(!get_store_value(F).canSaveSchema)return;const N=get_store_value(O);((W=(z=N==null?void 0:N.options)==null?void 0:z.datasource)==null?void 0:W.id)===M.id&&N.update({filter:$})})),D.push(v.subscribe($=>{var z,W;if(get_store_value(F).canSaveSchema)return;const N=get_store_value(O);((W=(z=N==null?void 0:N.options)==null?void 0:z.datasource)==null?void 0:W.id)===M.id&&N.update({filter:$})})),D.push(w("show-column",async()=>{await m.actions.refreshData()}))})},ViewV2=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$2,initialise:initialise$4},Symbol.toStringTag,{value:"Module"})),createActions$1=u=>{const{columns:l,table:f,viewV2:p}=u,m=async()=>{throw"This datasource does not support updating the definition"},b=async()=>{throw"This datasource does not support saving rows"};return{nonPlus:{actions:{saveDefinition:m,addRow:b,updateRow:b,deleteRows:async()=>{throw"This datasource does not support deleting rows"},getRow:()=>{throw"This datasource does not support fetching individual rows"},isDatasourceValid:S=>!f.actions.isDatasourceValid(S)&&!p.actions.isDatasourceValid(S)&&(S==null?void 0:S.type)!=null,canUseColumn:S=>get_store_value(l).some(B=>B.name===S)}}}},isSameDatasource=(u,l)=>JSON.stringify(u)===JSON.stringify(l),initialise$3=u=>{const{datasource:l,sort:f,filter:p,inlineFilters:m,allFilters:b,nonPlus:y,initialFilter:v,initialSortColumn:w,initialSortOrder:k,fetch:S}=u;let B=[];l.subscribe(E=>{B==null||B.forEach(F=>F()),B=[],y.actions.isDatasourceValid(E)&&(p.set(get_store_value(v)??void 0),m.set([]),f.set({column:get_store_value(w),order:get_store_value(k)||SortOrder.ASCENDING}),B.push(b.subscribe(F=>{var D;const O=get_store_value(S);isSameDatasource((D=O==null?void 0:O.options)==null?void 0:D.datasource,E)&&(O==null||O.update({filter:F}))})),B.push(f.subscribe(F=>{var D;const O=get_store_value(S);isSameDatasource((D=O==null?void 0:O.options)==null?void 0:D.datasource,E)&&(O==null||O.update({sortOrder:F.order||SortOrder.ASCENDING,sortColumn:F.column??void 0}))})))})},NonPlus=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$1,initialise:initialise$3},Symbol.toStringTag,{value:"Module"})),createActions=u=>{const{API:l}=u;let f={};const p=()=>{f={}},m=async v=>(f[v]||(f[v]=l.fetchTableDefinition(v)),await f[v]);return{cache:{actions:{getPrimaryDisplayForTableId:async v=>{var S,B;const w=await m(v);return(w==null?void 0:w.primaryDisplay)||((B=(S=w==null?void 0:w.schema)==null?void 0:S[0])==null?void 0:B.name)},getTable:async v=>await m(v),resetCache:p}}}},initialise$2=u=>{const{datasource:l,cache:f}=u;l.subscribe(f.actions.resetCache)},Cache=Object.freeze(Object.defineProperty({__proto__:null,createActions,initialise:initialise$2},Symbol.toStringTag,{value:"Module"})),createStores=()=>({metadata:writable({})}),deriveStores=u=>{const{columns:l,props:f}=u;return{conditions:derivedMemo(derived([l,f],([m,b])=>{let y=[];for(let v of m)for(let w of v.conditions||[])y.push({...w,column:v.name,type:v.schema.type});if(b.buttons)for(let v of b.buttons)for(let w of v.conditions||[])y.push({...w,target:"button",buttonIndex:b.buttons.indexOf(v)});return y}),m=>m)}},initialise$1=u=>{const{metadata:l,conditions:f,rows:p}=u;f.subscribe(m=>{let b={};if(m!=null&&m.length)for(let y of get_store_value(p))b[y._id]=evaluateConditions(y,m,u);l.set(b)}),p.subscribe(m=>{const b=get_store_value(f);if(!(b!=null&&b.length))return;const y=get_store_value(l);let v={};for(let w of m){const k=y[w._id];!(!w._rev||k&&k.version!==w._rev||w._rev===EXTERNAL_ROW_REV)&&k||(y[w._id]=evaluateConditions(w,b,u))}Object.keys(v).length&&l.update(w=>({...w,...v}))})},TypeCoercionMap={[FieldType.NUMBER]:parseFloat,[FieldType.DATETIME]:u=>u?new Date(u).toISOString():null,[FieldType.BOOLEAN]:u=>`${u}`.toLowerCase().trim()==="true"?!0:`${u}`.toLowerCase().trim()==="false"?!1:null},evaluateConditions=(u,l,f)=>{const p={version:u._rev,row:{},cell:{},button:{}},{props:m}=f,b=get_store_value(m);let y=[...l];if(b.buttons){for(let w of b.buttons)if(w.getRowConditions){const k=w.getRowConditions(u)||[];for(let S of k)y.push({...S,target:"button",buttonIndex:b.buttons.indexOf(w)})}}const v=new Set;for(let w of y)w.target==="button"&&w.action==="show"&&typeof w.buttonIndex=="number"&&(v.add(w.buttonIndex),p.button[w.buttonIndex]||(p.button[w.buttonIndex]={}),p.button[w.buttonIndex].hidden=!0);for(let w of y)try{let{column:k,type:S,referenceValue:B,operator:E,metadataKey:F,metadataValue:O,target:D,buttonIndex:M,newValue:U,action:$,setting:N,settingValue:z}=w,W;D==="button"?W=U:W=u[k];let q=S;S===FieldType.FORMULA&&(W===!0||W===!1?q=FieldType.BOOLEAN:typeof W=="number"&&(q=FieldType.NUMBER));const Z=TypeCoercionMap[q];Z&&(W=Z(W),B=Z(B));let te=buildQuery$1([{operator:E,type:S,field:"value",value:B}]);te.onEmptyFilter=EmptyFilterOption.RETURN_NONE,runQuery$1([{value:W}],te).length>0&&(D==="button"&&typeof M=="number"?(p.button[M]||(p.button[M]={}),$==="hide"?p.button[M].hidden=!0:$==="show"?p.button[M].hidden=!1:$==="update"&&N&&(p.button[M][N]=z)):D==="row"?p.row={...p.row,[F]:O}:p.cell[k]={...p.cell[k],[F]:O})}catch{}return p},Conditions=Object.freeze(Object.defineProperty({__proto__:null,createStores,deriveStores,initialise:initialise$1},Symbol.toStringTag,{value:"Module"})),DependencyOrderedStores=[Sort,Filter$1,Bounds,Table,ViewV2,NonPlus,Datasource,Columns,Config,Scroll,Validation,Rows,Conditions,UI,Resize,Viewport,Reorder,Users,Menu,Pagination,Clipboard,Notifications,Cache],attachStores=u=>{var l,f,p,m;for(let b of DependencyOrderedStores)"createStores"in b&&(u={...u,...(l=b.createStores)==null?void 0:l.call(b,u)});for(let b of DependencyOrderedStores)"deriveStores"in b&&(u={...u,...(f=b.deriveStores)==null?void 0:f.call(b,u)});for(let b of DependencyOrderedStores)"createActions"in b&&(u={...u,...(p=b.createActions)==null?void 0:p.call(b,u)});for(let b of DependencyOrderedStores)"initialise"in b&&((m=b.initialise)==null||m.call(b,u));return u};function create_if_block_1$V(u){let l,f;return l=new ProgressBar({props:{size:"L",value:u[3],duration:duration$2,width:"100%"}}),{c(){create_component(l.$$.fragment)},m(p,m){mount_component(l,p,m),f=!0},p(p,m){const b={};m&8&&(b.value=p[3]),l.$set(b)},i(p){f||(transition_in(l.$$.fragment,p),f=!0)},o(p){transition_out(l.$$.fragment,p),f=!1},d(p){destroy_component(l,p)}}}function create_default_slot_3$l(u){let l,f,p,m,b,y=u[2]&&create_if_block_1$V(u);return{c(){l=text$1("Are you sure you want to delete "),f=text$1(u[4]),p=text$1(` rows?
|
|
367
|
+
`),m=element("a"),m.textContent="documentation",b=text$1(" on app migrations."),attr(m,"href","https://docs.budibase.com/docs/app-migrations"),attr(m,"target","_blank"),attr(m,"class","svelte-1kjb5e")},m(y,v){insert(y,l,v),insert(y,f,v),insert(y,p,v),insert(y,m,v),insert(y,b,v)},d(y){y&&(detach(l),detach(f),detach(p),detach(m),detach(b))}}}function create_fragment$2W(u){let l,f,p,m;function b(B,E){return B[0]?create_else_block_1$b:create_if_block_1$W}let y=b(u),v=y(u);function w(B,E){return B[0]?create_else_block$w:create_if_block$1N}let k=w(u),S=k(u);return{c(){l=element("div"),f=element("span"),v.c(),p=space(),m=element("span"),S.c(),attr(f,"class","header svelte-1kjb5e"),attr(m,"class","subtext svelte-1kjb5e"),attr(l,"class","loading svelte-1kjb5e"),toggle_class(l,"timeout",u[0])},m(B,E){insert(B,l,E),append$2(l,f),v.m(f,null),append$2(l,p),append$2(l,m),S.m(m,null)},p(B,[E]){y!==(y=b(B))&&(v.d(1),v=y(B),v&&(v.c(),v.m(f,null))),k!==(k=w(B))&&(S.d(1),S=k(B),S&&(S.c(),S.m(m,null))),E&1&&toggle_class(l,"timeout",B[0])},i:noop$4,o:noop$4,d(B){B&&detach(l),v.d(),S.d()}}}function instance$2U(u,l,f){let{isMigrationDone:p}=l,{onMigrationDone:m}=l,{timeoutSeconds:b=60}=l,y=!1;async function v(){let w=0;for(;;){const k=5e3+Math.random()*5e3;if(await new Promise(B=>setTimeout(B,k)),w+=k,await p()){m();return}if(w>b*1e3){f(0,y=!0);return}}}return v(),u.$$set=w=>{"isMigrationDone"in w&&f(1,p=w.isMigrationDone),"onMigrationDone"in w&&f(2,m=w.onMigrationDone),"timeoutSeconds"in w&&f(3,b=w.timeoutSeconds)},[y,p,m,b]}class Updating extends SvelteComponent{constructor(l){super(),init$1(this,l,instance$2U,create_fragment$2W,safe_not_equal,{isMigrationDone:1,onMigrationDone:2,timeoutSeconds:3})}}const createEventManagers=()=>{const u=createEventDispatcher();let l={};return{dispatch:(m,b)=>{u(m,b);const y=l[m]||[];for(let v=0;v<y.length;v++)y[v](b)},subscribe:(m,b)=>{const y=l[m]||[];return l[m]=[...y,b],()=>{l[m]=l[m].filter(v=>v!==b)}}}},createStores$g=()=>{const u=writable({left:0,top:0,width:0,height:0}),l=derived(u,p=>p.width,0),f=derived(u,p=>p.height,0);return{bounds:u,height:f,width:l}},Bounds=Object.freeze(Object.defineProperty({__proto__:null,createStores:createStores$g},Symbol.toStringTag,{value:"Module"})),SmallRowHeight=36,MediumRowHeight=64,LargeRowHeight=92,DefaultRowHeight=SmallRowHeight,VPadding=0,HPadding=80,ScrollBarSize=8,GutterWidth=72,DefaultColumnWidth=200,MinColumnWidth=56,NewRowID="new",BlankRowID="blank",GeneratedIDPrefix="‽‽",CellIDSeparator="‽‽",RowPageSize=100,FocusedCellMinOffset=ScrollBarSize*3,ControlsHeight=50,PopoverMinWidth=200,PopoverMaxWidth=400,PopoverMaxHeight=236,MaxCellRenderOverflow=222,Constants=Object.freeze(Object.defineProperty({__proto__:null,BlankRowID,CellIDSeparator,ControlsHeight,DefaultColumnWidth,DefaultRowHeight,FocusedCellMinOffset,GeneratedIDPrefix,GutterWidth,HPadding,LargeRowHeight,MaxCellRenderOverflow,MediumRowHeight,MinColumnWidth,NewRowID,PopoverMaxHeight,PopoverMaxWidth,PopoverMinWidth,RowPageSize,ScrollBarSize,SmallRowHeight,VPadding},Symbol.toStringTag,{value:"Module"})),createStores$f=()=>{const u=writable([]),l=derived(u,f=>{let p=GutterWidth,m=0;return f.map(b=>{const y={...b,__idx:m,__left:p};return b.visible&&(m++,p+=b.width??0),y})});return{columns:{...u,subscribe:l.subscribe}}},deriveStores$b=u=>{const{columns:l}=u,f=derived(l,w=>{let k={};return w.forEach(S=>{k[S.name]=S}),k}),p=derived(l,w=>w.filter(k=>!k.related)),m=derived(l,w=>w.filter(k=>k.visible)),b=derived(m,w=>w.find(k=>k.primaryDisplay)),y=derived(m,w=>w.filter(k=>!k.primaryDisplay)),v=derived(l,w=>w.filter(S=>{var B;return!((B=S.schema)!=null&&B.autocolumn)}).length>0);return{tableColumns:p,displayColumn:b,columnLookupMap:f,visibleColumns:m,scrollableColumns:y,hasNonAutoColumn:v}},createActions$e=u=>{const{columns:l,datasource:f}=u;return{columns:{...l,actions:{changeAllColumnWidths:async b=>{get_store_value(l).forEach(v=>{const{related:w}=v,k={width:b};w?f.actions.addSubSchemaMutation(w.subField,w.field,k):f.actions.addSchemaMutation(v.name,k)}),await f.actions.saveSchemaMutations()},isReadonly:b=>b!=null&&b.schema?b.schema.autocolumn||b.schema.disabled||b.schema.type==="formula"||b.schema.type==="ai"||b.schema.readonly:!1}}}},initialise$d=u=>{const{definition:l,columns:f,displayColumn:p,enrichedSchema:m}=u,b=y=>{const v=get_store_value(l);if(!y||!v){f.set([]);return}const w=get_store_value(p);let k;const S=v.primaryDisplay||(w==null?void 0:w.name);S&&y[S]&&(k=S),f.set(Object.keys(y).map(B=>{const E=y[B],F={type:E.type,name:B,label:E.displayName||B,schema:E,width:E.width||DefaultColumnWidth,visible:E.visible??!0,readonly:E.readonly,order:E.order,conditions:E.conditions,related:E.related,calculationType:E.calculationType,format:E.format,__left:void 0,__idx:void 0};return B===k&&(F.order=0,F.primaryDisplay=!0),F}).sort((B,E)=>{var U,$;if(B.name===k)return-1;if(E.name===k)return 1;const F=B.order,O=E.order;if(F!=null&&O!=null)return F<O?-1:1;if(F!=null)return-1;if(O!=null)return 1;const D=(U=B.schema)==null?void 0:U.autocolumn,M=($=E.schema)==null?void 0:$.autocolumn;return D===M?0:D?1:-1}))};m.subscribe(b)},Columns=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$e,createStores:createStores$f,deriveStores:deriveStores$b,initialise:initialise$d},Symbol.toStringTag,{value:"Module"})),parseCellID=u=>{if(!u)return{rowId:void 0,field:void 0};const l=u.split(CellIDSeparator),f=l.pop();return{rowId:l.join(CellIDSeparator),field:f}},getCellID=(u,l)=>`${u}${CellIDSeparator}${l}`,parseEventLocation=u=>{var f,p,m,b;const l=u;return{x:l.clientX??((p=(f=l.touches)==null?void 0:f[0])==null?void 0:p.clientX),y:l.clientY??((b=(m=l.touches)==null?void 0:m[0])==null?void 0:b.clientY)}},generateRowID=()=>`${GeneratedIDPrefix}${uuid()}`,isGeneratedRowID=u=>u==null?void 0:u.startsWith(GeneratedIDPrefix),createStores$e=()=>({menu:writable({left:0,top:0,visible:!1,multiRowMode:!1,multiCellMode:!1})}),createActions$d=u=>{const{menu:l,focusedCellId:f,gridID:p,selectedRows:m,selectedRowCount:b,selectedCellMap:y,selectedCellCount:v}=u;return{menu:{...l,actions:{open:(S,B)=>{var $;B.preventDefault(),B.stopPropagation();const E=document.getElementById(p),F=($=E==null?void 0:E.getElementsByClassName("grid-data-outer"))==null?void 0:$[0];if(!F)return;const O=B.target.getBoundingClientRect(),D=F.getBoundingClientRect();let M=!1;if(get_store_value(b)>1){const{rowId:N}=parseCellID(S);N!==void 0&&get_store_value(m)[N]&&(M=!0)}let U=!1;!M&&get_store_value(v)>1&&get_store_value(y)[S]&&(U=!0),!M&&!U&&f.set(S),l.set({left:O.left-D.left+B.offsetX,top:O.top-D.top+B.offsetY,visible:!0,multiRowMode:M,multiCellMode:U})},close:()=>{l.update(S=>({...S,visible:!1}))}}}}},Menu=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$d,createStores:createStores$e},Symbol.toStringTag,{value:"Module"})),initialise$c=u=>{const{scrolledRowCount:l,rows:f,visualRowCapacity:p}=u,m=derived(f,v=>v.length,0),b=derived([l,m,p],([v,w,k])=>Math.max(0,w-v-k));derived([b,m],([v,w])=>v<25&&w).subscribe(v=>{v&&f.actions.loadNextPage()})},Pagination=Object.freeze(Object.defineProperty({__proto__:null,initialise:initialise$c},Symbol.toStringTag,{value:"Module"})),reorderInitialState={sourceColumn:null,targetColumn:null,insertAfter:!1,breakpoints:[],gridLeft:0,width:0,increment:0},createStores$d=()=>{const u=writable(reorderInitialState),l=derived(u,f=>!!f.sourceColumn,!1);return{reorder:u,isReordering:l}},createActions$c=u=>{const{reorder:l,columns:f,columnLookupMap:p,scrollableColumns:m,scroll:b,bounds:y,visibleColumns:v,datasource:w,stickyWidth:k,width:S,scrollLeft:B,maxScrollLeft:E}=u;let F=0,O,D;const M=(te,J)=>{const V=get_store_value(m),oe=get_store_value(y),se=get_store_value(k),fe=V.map(ae=>({x:ae.__left-se,column:ae.name,insertAfter:!1})),X=V[V.length-1];X&&fe.push({x:X.__left+X.width-se,column:X.name,insertAfter:!0}),l.set({sourceColumn:te,targetColumn:null,breakpoints:fe,gridLeft:oe.left,width:oe.width}),document.addEventListener("mousemove",U),document.addEventListener("mouseup",W),document.addEventListener("touchmove",U),document.addEventListener("touchend",W),document.addEventListener("touchcancel",W),U(J)},U=te=>{const{x:J}=parseEventLocation(te);F=J,$();const V=get_store_value(B),oe=get_store_value(E),se=get_store_value(l),fe=Math.min(140,get_store_value(S)/6),X=16,ae=Math.max(0,se.gridLeft+se.width-J),le=Math.max(0,J-se.gridLeft);if(ae<fe&&V<oe){const be=(fe-ae)/fe*X;l.update(Be=>({...Be,increment:be})),N()}else if(le<fe&&V>0){const be=-1*(fe-le)/fe*X;l.update(Be=>({...Be,increment:be})),N()}else z()},$=()=>{const te=get_store_value(l),J=get_store_value(B);let V,oe=Number.MAX_SAFE_INTEGER;const se=F-te.gridLeft+J;te.breakpoints.forEach(fe=>{const X=Math.abs(fe.x-se);X<oe&&(oe=X,V=fe)}),V&&(V.column!==te.targetColumn||V.insertAfter!==te.insertAfter)&&l.update(fe=>({...fe,targetColumn:V.column,insertAfter:V.insertAfter}))},N=()=>{D||(D=!0,O=setInterval(()=>{const te=get_store_value(E),{increment:J}=get_store_value(l);b.update(V=>({...V,left:Math.max(0,Math.min(te,V.left+J))})),$()},10))},z=()=>{D=!1,clearInterval(O)},W=async()=>{z(),document.removeEventListener("mousemove",U),document.removeEventListener("mouseup",W),document.removeEventListener("touchmove",U),document.removeEventListener("touchend",W),document.removeEventListener("touchcancel",W);const{sourceColumn:te,targetColumn:J,insertAfter:V}=get_store_value(l);l.set(reorderInitialState),te!==J&&await q({sourceColumn:te,targetColumn:J,insertAfter:V})},q=async({sourceColumn:te,targetColumn:J,insertAfter:V=!1})=>{const oe=get_store_value(f);let se=oe.findIndex(X=>X.name===te),fe=oe.findIndex(X=>X.name===J);V&&fe++,f.update(X=>{const ae=X.splice(se,1);return--fe<se&&fe++,X.toSpliced(fe,0,ae[0])}),get_store_value(f).forEach((X,ae)=>{const{related:le}=X,he={order:ae};le?w.actions.addSubSchemaMutation(le.subField,le.field,he):w.actions.addSchemaMutation(X.name,he)}),await w.actions.saveSchemaMutations()};return{reorder:{...l,actions:{startReordering:M,stopReordering:W,moveColumnLeft:async te=>{var se;const J=get_store_value(v),oe=get_store_value(p)[te].__idx;await q({sourceColumn:te,targetColumn:(se=J[oe-1])==null?void 0:se.name})},moveColumnRight:async te=>{var se;const J=get_store_value(v),oe=get_store_value(p)[te].__idx;oe!==J.length-1&&await q({sourceColumn:te,targetColumn:(se=J[oe+1])==null?void 0:se.name,insertAfter:!0})}}}}},Reorder=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$c,createStores:createStores$d},Symbol.toStringTag,{value:"Module"})),initialState$5={initialMouseX:null,initialWidth:null,column:null,width:0,left:0},createStores$c=()=>{const u=writable(initialState$5),l=derived(u,f=>f.column!=null,!1);return{resize:u,isResizing:l}},createActions$b=u=>{const{resize:l,ui:f,datasource:p}=u,m=(w,k)=>{const{x:S}=parseEventLocation(k);k.stopPropagation(),k.preventDefault(),f.actions.blur(),l.set({width:w.width,left:w.__left,initialWidth:w.width,initialMouseX:S,column:w.name,related:w.related}),document.addEventListener("mousemove",b),document.addEventListener("mouseup",y),document.addEventListener("touchmove",b),document.addEventListener("touchend",y),document.addEventListener("touchcancel",y)},b=w=>{const{initialMouseX:k,initialWidth:S,width:B,column:E,related:F}=get_store_value(l),{x:O}=parseEventLocation(w),D=O-k,M=Math.round(Math.max(MinColumnWidth,S+D));Math.abs(B-M)<5||(F?p.actions.addSubSchemaMutation(F.subField,F.field,{width:B}):p.actions.addSchemaMutation(E,{width:B}),l.update(U=>({...U,width:M})))},y=async()=>{const w=get_store_value(l);l.set(initialState$5),document.removeEventListener("mousemove",b),document.removeEventListener("mouseup",y),document.removeEventListener("touchmove",b),document.removeEventListener("touchend",y),document.removeEventListener("touchcancel",y),w.width!==w.initialWidth&&await p.actions.saveSchemaMutations()};return{resize:{...l,actions:{startResizing:m,resetSize:async w=>{p.actions.addSchemaMutation(w.name,{width:DefaultColumnWidth}),await p.actions.saveSchemaMutations()}}}}},Resize=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$b,createStores:createStores$c},Symbol.toStringTag,{value:"Module"})),createStores$b=()=>{const u=writable([]),l=writable(!1),f=writable(!1),p=writable(!1),m=writable({}),b=writable({}),y=writable(!1),v=writable(null),w=writable(!1),k=writable(null);let S=!1;return l.subscribe(B=>{B?S=!0:S&&f.set(!0)}),{rows:u,fetch:k,loaded:f,refreshing:p,loading:l,rowChangeCache:m,inProgressChanges:b,hasNextPage:y,error:v,definitionMissing:w}},deriveStores$a=u=>{const{rows:l,enrichedSchema:f}=u,p=derived([l,f],([b,y])=>{const v=Object.values(y||{}),w=v.filter(S=>S.related),k=v.filter(S=>S.format);return b.map((S,B)=>{const E=w.reduce((O,D)=>{const M=y[D.related.field];return O[D.name]=getRelatedTableValues(S,{...D,related:D.related},M),O},{}),F=k.reduce((O,D)=>(O[D.name]=D.format(S),O),{});return{...S,...E,__formatted:F,__idx:B}})}),m=derived(p,b=>{let y={};for(let v=0;v<b.length;v++)y[b[v]._id]=b[v];return y});return{rows:{...l,subscribe:p.subscribe},rowLookupMap:m}},createActions$a=u=>{const{rows:l,rowLookupMap:f,definition:p,allFilters:m,loading:b,sort:y,datasource:v,API:w,scroll:k,validation:S,focusedCellId:B,columns:E,rowChangeCache:F,inProgressChanges:O,hasNextPage:D,error:M,definitionMissing:U,notifications:$,fetch:N,hasBudibaseIdentifiers:z,refreshing:W,columnLookupMap:q}=u,Z=writable(!1);let ne={},te=null,J=null;v.subscribe(async Oe=>{if(te==null||te(),te=null,N.set(null),Z.set(!1),b.set(!0),!v.actions.isDatasourceValid(Oe)){M.set("Datasource is invalid");return}await tick();const Te=get_store_value(m),qe=get_store_value(y),Fe=fetchData({API:w,datasource:Oe,options:{filter:Te,sortColumn:qe.column,sortOrder:qe.order,limit:RowPageSize,paginate:!0,clientSideLimiting:!1}});te=Fe.subscribe(async We=>{if(We.error){let At="An unknown error occurred";We.error.status===403?At="You don't have access to this data":We.error.status===404&&We.error.url&&We.error.url.includes("/api/tables/")||We.error.url.includes("/api/v2/views/")?(U.set(!0),At=We.error.message):We.error.message&&(At=We.error.message),M.set(At)}else if(We.loaded&&!We.loading){M.set(null),D.set(We.hasNextPage);const At=get_store_value(Z),rn=We.resetKey!==J,Ht=J;J=We.resetKey,!At&&Ht&&(l.set([]),await tick()),(!At||rn)&&p.set(We.definition??null),At?rn&&k.update(Mt=>({...Mt,top:0})):(Z.set(!0),k.set({top:0,left:0})),Ue(We.rows,rn),b.set(!1)}W.set(We.loading)}),N.set(Fe)});const V=(Oe,Te)=>{var Fe,We;let qe;if(typeof Te=="string"?qe=Te:typeof(Te==null?void 0:Te.message)=="string"&&(qe=Te.message),typeof Te!="string"&&!((Fe=Te==null?void 0:Te.json)!=null&&Fe.validationErrors)&&qe){const{field:At}=parseCellID(get_store_value(B));At&&(Te={json:{validationErrors:{[At]:Te.message}}})}if(typeof Te!="string"&&((We=Te==null?void 0:Te.json)!=null&&We.validationErrors)){const At=Object.keys(Te.json.validationErrors),rn=get_store_value(E);let Ht=[],Mt=[];for(let ln of At)v.actions.canUseColumn(ln)?Ht.push(ln):Mt.push(ln);const{json:Nt}=Te;for(let ln of Ht){let pt=Nt.validationErrors[ln];Array.isArray(pt)&&(pt=pt[0]),(typeof pt!="string"||!pt.length)&&(Te="Something went wrong"),S.actions.setError(getCellID(Oe,ln),capitalise(pt));const Vt=rn.findIndex(Dn=>Dn.name===ln);Vt!==-1&&!rn[Vt].visible&&E.update(Dn=>(Dn[Vt].visible=!0,Dn.slice()))}for(let ln of Mt)get_store_value($).error(`${ln} is required but is missing`)}else get_store_value($).error(qe||"An unknown error occurred")},oe=async({row:Oe,idx:Te,bubble:qe=!1,notify:Fe=!0})=>{try{const We=await v.actions.addRow(Oe);return Te!=null?(ne[We._id]=!0,l.update(At=>(At.splice(Te,0,We),At.slice()))):Ue([We]),Fe&&get_store_value($).success("Row created successfully"),We}catch(We){if(qe)throw We;V(NewRowID,We),S.actions.focusFirstRowError(NewRowID)}},se=async Oe=>{let Te=Me(Oe);delete Te._id,delete Te._rev;try{const qe=await oe({row:Te,idx:Oe.__idx+1,bubble:!0,notify:!1});return get_store_value($).success("Duplicated 1 row"),qe}catch(qe){V(Oe._id,qe),S.actions.focusFirstRowError(Oe._id)}},fe=async(Oe,Te)=>{const qe=get_store_value(f),Fe=Oe.map(Nt=>{var ln;return(ln=qe[Nt._id])==null?void 0:ln.__idx}),We=Math.max(...Fe),At=Oe.length,rn=Oe.map(Nt=>{let ln=Me(Nt);return delete ln._id,delete ln._rev,ln});let Ht=[],Mt=0;for(let Nt=0;Nt<At;Nt++){try{const ln=await v.actions.addRow(rn[Nt]);Ht.push(ln),ne[ln._id]=!0,await sleep(50)}catch(ln){Mt++,console.error("Duplicating row failed",ln)}Te==null||Te((Nt+1)/At)}return Ht.length&&l.update(Nt=>Nt.toSpliced(We+1,0,...Ht)),Mt?get_store_value($).error(`Failed to duplicate ${Mt} of ${At} rows`):Ht.length&&get_store_value($).success(`Duplicated ${Ht.length} rows`),Ht},X=(Oe,Te)=>{var At;const qe=get_store_value(l),We=(At=get_store_value(f)[Oe])==null?void 0:At.__idx;Te?We!=null?l.update(rn=>(rn[We]={...Te},rn)):Ue([Te]):We!=null&&Ge([qe[We]])},ae=async Oe=>{try{const Te=await v.actions.getRow(Oe);X(Oe,Te)}catch{}},le=async()=>{var Oe;await((Oe=get_store_value(N))==null?void 0:Oe.getInitialData())},he=(Oe,Te)=>{const qe=Object.keys(Te||{});return!Oe||!qe.length?!1:qe.some(Fe=>Oe[Fe]!==Te[Fe])},be=(Oe,Te)=>{var At,rn;const qe=get_store_value(f),Fe=get_store_value(q),We=qe[Oe];for(let Ht of Object.keys(Te||{})){const Mt=(rn=(At=Fe[Ht])==null?void 0:At.schema)==null?void 0:rn.type;(Mt===FieldType.STRING||Mt==FieldType.LONGFORM)&&Te[Ht]!=null&&typeof Te[Ht]!="string"&&(Te[Ht]=JSON.stringify(Te[Ht]))}return!We||!he(We,Te)?!1:(F.update(Ht=>({...Ht,[Oe]:{...Ht[Oe],...Te}})),!0)},Be=async({rowId:Oe,changes:Te=null,updateState:qe=!0,handleErrors:Fe=!0})=>{const At=get_store_value(f)[Oe];if(At==null)return;let rn;try{O.update(ln=>({...ln,[Oe]:(ln[Oe]||0)+1}));const Ht=get_store_value(F)[Oe],Mt={...Me(At),...Ht,...Te};rn=await v.actions.updateRow(Mt),rn!=null&&rn._id?qe&&l.update(ln=>(ln[At.__idx]=rn,ln.slice())):rn!=null&&rn.id&&await ae(rn.id);const Nt=get_store_value(F)[Oe];F.update(ln=>(Object.keys(Ht||{}).forEach(pt=>{Ht[pt]===(Nt==null?void 0:Nt[pt])&&delete ln[Oe][pt]}),ln))}catch(Ht){Fe&&(V(Oe,Ht),S.actions.focusFirstRowError(Oe))}return O.update(Ht=>({...Ht,[Oe]:(Ht[Oe]||1)-1})),rn},tt=async({rowId:Oe,column:Te,value:qe,apply:Fe=!0})=>{be(Oe,{[Te]:qe})&&Fe&&await Be({rowId:Oe})},Ne=async(Oe,Te)=>{const qe=Object.keys(Oe||{}),Fe=qe.length;if(!Fe)return;const We=get_store_value(q);let At=[],rn=0;for(let Ht=0;Ht<Fe;Ht++){const Mt=qe[Ht];let Nt=Oe[Mt]||{};for(let ln of Object.keys(Nt)){const pt=We[ln];E.actions.isReadonly(pt)&&delete Nt[ln]}if(!Object.keys(Nt).length){Te==null||Te((Ht+1)/Fe);continue}try{const ln=await Be({rowId:Mt,changes:Oe[Mt],updateState:!1,handleErrors:!1});ln?At.push(ln):rn++,await sleep(50)}catch(ln){rn++,console.error("Failed to update row",ln)}Te==null||Te((Ht+1)/Fe)}if(At.length){const Ht=get_store_value(f);l.update(Mt=>{for(let Nt of At){const ln=Ht[Nt._id].__idx;Mt[ln]=Nt}return Mt.slice()})}if(rn){const Ht=`row${Fe===1?"":"s"}`;get_store_value($).error(`Failed to update ${rn} of ${Fe} ${Ht}`)}else if(At.length){const Ht=`row${At.length===1?"":"s"}`;get_store_value($).success(`Updated ${At.length} ${Ht}`)}},de=async Oe=>{Oe!=null&&Oe.length&&(Oe.forEach(Te=>delete Te.__idx),await v.actions.deleteRows(Oe),Ge(Oe))},Ue=(Oe,Te)=>{var At;Te&&(ne={});let qe=[],Fe;const We=get_store_value(z);for(let rn=0;rn<Oe.length;rn++)Fe=Oe[rn],!We&&!((At=Fe._id)!=null&&At.length)&&(Fe._id=generateRowID()),ne[Fe._id]||(ne[Fe._id]=!0,qe.push(Fe));Te?l.set(qe):qe.length&&l.update(rn=>[...rn,...qe])},Ge=Oe=>{const Te=Oe.map(qe=>qe._id);l.update(qe=>qe.filter(Fe=>!Te.includes(Fe._id)))},xe=()=>{var Oe;(Oe=get_store_value(N))==null||Oe.nextPage()},Me=Oe=>{let Te={...Oe};return delete Te.__idx,delete Te.__metadata,delete Te.__formatted,!get_store_value(z)&&isGeneratedRowID(Te._id)&&delete Te._id,Te};return{rows:{...l,actions:{addRow:oe,duplicateRow:se,bulkDuplicate:fe,updateValue:tt,applyRowChanges:Be,deleteRows:de,loadNextPage:xe,refreshRow:ae,replaceRow:X,refreshData:le,cleanRow:Me,bulkUpdate:Ne}}}},initialise$b=u=>{const{rowChangeCache:l,inProgressChanges:f,previousFocusedRowId:p,previousFocusedCellId:m,rows:b,validation:y}=u;p.subscribe(v=>{v&&!get_store_value(f)[v]&&Object.keys(get_store_value(l)[v]||{}).length&&l.update(w=>(delete w[v],w))}),m.subscribe(async v=>{if(!v)return;let{rowId:w,field:k}=parseCellID(v);w=w,k=k;const S=k in(get_store_value(l)[w]||{}),B=y.actions.rowHasErrors(w),E=get_store_value(f)[w];w&&!B&&S&&!E&&await b.actions.applyRowChanges({rowId:w})})},Rows=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$a,createStores:createStores$b,deriveStores:deriveStores$a,initialise:initialise$b},Symbol.toStringTag,{value:"Module"})),createStores$a=()=>{const u=writable({left:0,top:0}),l=derived(u,p=>Math.round(p.top)),f=derived(u,p=>Math.round(p.left));return{scroll:u,scrollTop:l,scrollLeft:f}},deriveStores$9=u=>{const{rows:l,visibleColumns:f,displayColumn:p,rowHeight:m,width:b,height:y,buttonColumnWidth:v,config:w}=u,k=derived(p,U=>((U==null?void 0:U.width)||0)+GutterWidth),S=derived([f,v],([U,$])=>{let N=GutterWidth+Math.max($,HPadding);return U.forEach(z=>{N+=z.width}),N}),B=derived([b,k],([U,$])=>U+$),E=derived([S,B],([U,$])=>Math.round(Math.max(U-$,0))),F=derived([S,B],([U,$])=>U>$),O=derived([l,m,F,w],([U,$,N,z])=>{let W=U.length*$+VPadding;return N&&(W+=ScrollBarSize*3),z.canAddRows&&(W+=$),W}),D=derived([y,O],([U,$])=>Math.round(Math.max($-U,0))),M=derived([O,y],([U,$])=>U>$);return{stickyWidth:k,contentHeight:O,contentWidth:S,screenWidth:B,maxScrollTop:D,maxScrollLeft:E,showHScrollbar:F,showVScrollbar:M}},initialise$a=u=>{const{focusedCellId:l,focusedRow:f,scroll:p,bounds:m,rowHeight:b,stickyWidth:y,scrollTop:v,maxScrollTop:w,scrollLeft:k,maxScrollLeft:S,buttonColumnWidth:B,columnLookupMap:E}=u,F=derived([v,w],([D,M])=>D>M,!1),O=derived([k,S],([D,M])=>D>M,!1);F.subscribe(D=>{D&&p.update(M=>({...M,top:get_store_value(w)}))}),O.subscribe(D=>{D&&p.update(M=>({...M,left:get_store_value(S)}))}),l.subscribe(async D=>{await tick();const M=get_store_value(f),U=get_store_value(p),$=get_store_value(m),N=get_store_value(b);if(M){const ne=M.__idx*N,te=U.top+$.height-N-FocusedCellMinOffset;let J=ne-te;if(J>0)p.update(V=>({...V,top:V.top+J}));else{const V=U.top-ne+FocusedCellMinOffset;V>0&&p.update(oe=>({...oe,top:Math.max(0,oe.top-V)}))}}const{field:z}=parseCellID(D),W=get_store_value(E)[z];if(!W||W.primaryDisplay)return;const q=get_store_value(y);let Z=U.left-W.__left+FocusedCellMinOffset+q;if(Z>0)p.update(ne=>({...ne,left:Math.max(0,ne.left-Z)}));else{const ne=get_store_value(B),te=W.__left+W.width,J=$.width+U.left-FocusedCellMinOffset-ne;Z=te-J-q,Z>0&&p.update(V=>({...V,left:V.left+Z}))}})},Scroll=Object.freeze(Object.defineProperty({__proto__:null,createStores:createStores$a,deriveStores:deriveStores$9,initialise:initialise$a},Symbol.toStringTag,{value:"Module"})),createStores$9=u=>{const{props:l}=u,f=writable(null),p=writable(null),m=writable({}),b=writable(null),y=writable(get_store_value(l).fixedRowHeight||DefaultRowHeight),v=writable(null),w=writable(null),k=writable(!1),S=writable(!1),B=writable(!1),E=writable(0),F=writable({active:!1,sourceCellId:null,targetCellId:null});return{focusedCellId:f,focusedCellAPI:p,previousFocusedRowId:v,previousFocusedCellId:w,hoveredRowId:b,rowHeight:y,gridFocused:k,keyboardBlocked:S,isDragging:B,buttonColumnWidth:E,selectedRows:m,cellSelection:F}},deriveStores$8=u=>{const{focusedCellId:l,rows:f,rowLookupMap:p,rowHeight:m,width:b,selectedRows:y,cellSelection:v,columnLookupMap:w,visibleColumns:k}=u,S=derived(l,N=>parseCellID(N).rowId??null),B=derived([S,p],([N,z])=>{if(N!==null)return N===NewRowID?{_id:NewRowID}:z[N]}),E=derived(m,N=>N>=LargeRowHeight?3:N>=MediumRowHeight?2:1),F=derived(b,N=>N<600),O=derived(y,N=>Object.keys(N).length),D=derived(v,N=>N.active),M=derived([v,p,w],([N,z,W])=>{var de,Ue;const{sourceCellId:q,targetCellId:Z}=N;if(!q||!Z||q===Z)return[];const ne=get_store_value(f),te=get_store_value(k),J=parseCellID(q),V=parseCellID(Z);if(J.rowId===NewRowID)return[];const oe=(de=z[J.rowId])==null?void 0:de.__idx,se=(Ue=z[V.rowId])==null?void 0:Ue.__idx;if(oe==null||se==null)return[];const fe=Math.min(oe,se);let X=Math.max(oe,se);X=Math.min(X,fe+49);const ae=W[J.field].__idx||0,le=W[V.field].__idx||0,he=Math.min(ae,le),be=Math.max(ae,le);let Be=[],tt,Ne;for(let Ge=fe;Ge<=X;Ge++){let xe=[];for(let Me=he;Me<=be;Me++)tt=ne[Ge]._id,Ne=te[Me].name,xe.push(getCellID(tt,Ne));Be.push(xe)}return Be}),U=derived(M,N=>{let z={};for(let W of N)for(let q of W)z[q]=!0;return z}),$=derived(U,N=>Object.keys(N).length);return{focusedRowId:S,focusedRow:B,contentLines:E,compact:F,selectedRowCount:O,isSelectingCells:D,selectedCells:M,selectedCellMap:U,selectedCellCount:$}},createActions$9=u=>{const{focusedCellId:l,hoveredRowId:f,selectedRows:p,rowLookupMap:m,rows:b,selectedRowCount:y,cellSelection:v,selectedCells:w}=u;let k=null;const S=()=>{l.set(null),f.set(null),U()},B=$=>{p.update(N=>{let z={...N,[$]:!N[$]};return z[$]?k=get_store_value(m)[$].__idx:delete z[$],z})},E=$=>{if(!get_store_value(y)){B($);return}if(k==null)return;const N=get_store_value(m)[$].__idx;if(k===N)return;const z=Math.min(k,N),W=Math.max(k,N),q=get_store_value(b);p.update(Z=>{for(let ne=z;ne<=W;ne++)Z[q[ne]._id]=!0;return Z})},F=$=>{v.set({active:!0,sourceCellId:$,targetCellId:$})},O=$=>{v.update(N=>({...N,targetCellId:$}))},D=()=>{v.update($=>({...$,active:!1}))},M=($,N)=>{v.set({active:!1,sourceCellId:$,targetCellId:N})},U=()=>{v.set({active:!1,sourceCellId:null,targetCellId:null})};return{ui:{actions:{blur:S}},selectedRows:{...p,actions:{toggleRow:B,bulkSelectRows:E}},selectedCells:{...w,actions:{startSelecting:F,updateTarget:O,stopSelecting:D,selectRange:M,clear:U}}}},initialise$9=u=>{const{focusedRowId:l,previousFocusedRowId:f,previousFocusedCellId:p,rowLookupMap:m,focusedCellId:b,selectedRows:y,hoveredRowId:v,definition:w,rowHeight:k,fixedRowHeight:S,selectedRowCount:B,menu:E,selectedCellCount:F,selectedCells:O,cellSelection:D}=u;m.subscribe(async $=>{await tick();const N=get_store_value(l),z=get_store_value(y),W=get_store_value(v),q=ne=>$[ne]!=null;N&&!q(N)&&b.set(null),W&&!q(W)&&v.set(null);const Z=Object.keys(z);if(Z.length){let ne={...z},te=!1;for(let J=0;J<Z.length;J++)q(Z[J])||(delete ne[Z[J]],te=!0);te&&y.set(ne)}});let M=null;l.subscribe($=>{f.set(M),M=$});let U=null;b.subscribe($=>{p.set(U),U=$,$&&get_store_value(v)&&v.set(null),$&&get_store_value(B)&&y.set({}),$&&get_store_value(F)&&O.actions.clear(),E.actions.close()}),w.subscribe($=>{get_store_value(S)||k.set(($==null?void 0:$.rowHeight)||DefaultRowHeight)}),S.subscribe($=>{var N;$?k.set($):k.set(((N=get_store_value(w))==null?void 0:N.rowHeight)||DefaultRowHeight)}),B.subscribe($=>{$&&(get_store_value(b)&&b.set(null),get_store_value(F)&&O.actions.clear())}),F.subscribe($=>{$&&get_store_value(B)&&y.set({})}),D.subscribe(async({sourceCellId:$,targetCellId:N})=>{$&&$!==N&&get_store_value(b)!==$&&b.set($)})},UI=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$9,createStores:createStores$9,deriveStores:deriveStores$8,initialise:initialise$9},Symbol.toStringTag,{value:"Module"})),createStores$8=()=>{const u=writable([]),l=derived(u,f=>f.map(p=>({...p,color:getUserColor(p),label:getUserLabel(p)})));return{users:{...u,subscribe:l.subscribe}}},deriveStores$7=u=>{const{users:l,focusedCellId:f}=u;return{userCellMap:derived([l,f],([m,b])=>{let y={};return m.forEach(v=>{var k;const w=(k=v.gridMetadata)==null?void 0:k.focusedCellId;w&&w!==b&&(y[w]=v)}),y})}},createActions$8=u=>{const{users:l}=u;return{users:{...l,actions:{updateUser:m=>{const b=get_store_value(l);b.some(y=>y.sessionId===m.sessionId)?l.update(y=>{const v=y.findIndex(w=>w.sessionId===m.sessionId);return y[v]=m,y.slice()}):l.set([...b,m])},removeUser:m=>{l.update(b=>b.filter(y=>y.sessionId!==m))}}}}},Users=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$8,createStores:createStores$8,deriveStores:deriveStores$7},Symbol.toStringTag,{value:"Module"})),createStores$7=()=>({validation:writable({})}),deriveStores$6=u=>{const{validation:l}=u;return{validationRowLookupMap:derived(l,p=>{const m={};return Object.entries(p).forEach(([b,y])=>{if(y){const{rowId:v}=parseCellID(b);v!==void 0&&(m[v]||(m[v]=[]),m[v].push(b))}}),m})}},createActions$7=u=>{const{validation:l,focusedCellId:f,validationRowLookupMap:p}=u;return{validation:{...l,actions:{setError:(v,w)=>{v&&l.update(k=>({...k,[v]:w}))},rowHasErrors:v=>{var w;return((w=get_store_value(p)[v])==null?void 0:w.length)>0},focusFirstRowError:v=>{const w=get_store_value(p)[v],k=w==null?void 0:w[0];k&&f.set(k)}}}}},initialise$8=u=>{const{validation:l,previousFocusedRowId:f,validationRowLookupMap:p}=u;f.subscribe(m=>{if(m){const b=get_store_value(p)[m];b!=null&&b.length&&l.update(y=>{for(let v of b)delete y[v];return y})}})},Validation=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$7,createStores:createStores$7,deriveStores:deriveStores$6,initialise:initialise$8},Symbol.toStringTag,{value:"Module"})),deriveStores$5=u=>{const{rowHeight:l,scrollableColumns:f,rows:p,scrollTop:m,scrollLeft:b,width:y,height:v,rowChangeCache:w,metadata:k}=u,S=derived([m,l],([D,M])=>Math.floor(D/M)),B=derived([v,l],([D,M])=>Math.ceil(D/M)+1),E=derived([p,S,B,w,k],([D,M,U,$,N])=>D.slice(M,M+U).map(z=>({...z,...$[z._id],__metadata:N[z._id]}))),F=derived(b,D=>{const M=MinColumnWidth;return Math.round(D/M)*M}),O=derived([f,F,y],([D,M,U])=>{if(!D.length)return{};let $=0,N=D[0].width;for(;N<M&&$<D.length-1;)$++,N+=D[$].width;let z=$+1,W=N;for(;W<U+M&&z<D.length;)W+=D[z].width,z++;let q={};return D.slice(Math.max(0,$),z).forEach(Z=>{q[Z.name]=!0}),q});return{scrolledRowCount:S,visualRowCapacity:B,renderedRows:E,columnRenderMap:O}},Viewport=Object.freeze(Object.defineProperty({__proto__:null,deriveStores:deriveStores$5},Symbol.toStringTag,{value:"Module"})),createStores$6=u=>{var p;let l;if((p=u==null?void 0:u.externalClipboard)!=null&&p.clipboard){const m=u.externalClipboard.clipboard.get();m.multiCellCopy?l={value:m.value,multiCellCopy:!0}:l={value:m.value,multiCellCopy:!1}}else l={value:void 0,multiCellCopy:!1};return{clipboard:writable(l)}},deriveStores$4=u=>{const{clipboard:l,focusedCellAPI:f,selectedCellCount:p,config:m,focusedRowId:b,props:y}=u,v=derived(f,k=>k!=null),w=derived([l,f,p,m,b,y],([k,S,B,E,F,O])=>{var U;let D=k.value!=null;if(!D&&((U=O.externalClipboard)!=null&&U.clipboard)&&(D=O.externalClipboard.clipboard.get().value!=null),!D||!E.canEditRows||!S||F===NewRowID)return!1;const M=B>1;return!(!k.multiCellCopy&&!M&&S.isReadonly())});return{copyAllowed:v,pasteAllowed:w}},createActions$6=u=>{const{clipboard:l,focusedCellAPI:f,copyAllowed:p,pasteAllowed:m,selectedCells:b,selectedCellCount:y,rowLookupMap:v,rowChangeCache:w,rows:k,focusedCellId:S,columnLookupMap:B,visibleColumns:E,props:F}=u,O=()=>{if(!get_store_value(p))return;const U=get_store_value(b),$=get_store_value(f),z=get_store_value(y)>1;if(z){const W=get_store_value(v),q=get_store_value(w),Z=[];for(const te of U){const J=[];for(const V of te){const{rowId:oe="",field:se=""}=parseCellID(V),fe={...W[oe],...q[oe]};J.push(fe[se])}Z.push(J)}l.set({value:Z,multiCellCopy:!0});const{externalClipboard:ne}=get_store_value(F);ne!=null&&ne.onCopy&&ne.onCopy({value:Z,multiCellCopy:!0,tableId:ne.tableId,viewId:ne.viewId})}else{const W=$==null?void 0:$.getValue();l.set({value:W,multiCellCopy:z});const{externalClipboard:q}=get_store_value(F);q!=null&&q.onCopy&&q.onCopy({value:W,multiCellCopy:!1,tableId:q.tableId,viewId:q.viewId});let Z="";W!=null&&W!==""&&(Z=typeof W=="object"?JSON.stringify(W):W),copyToClipboard(Z)}},D=async U=>{var Z,ne;if(!get_store_value(m))return;const{externalClipboard:$}=get_store_value(F);let N=get_store_value(l);if($!=null&&$.clipboard){const te=$.clipboard.get();te.value!==void 0&&(te.multiCellCopy?N={value:te.value,multiCellCopy:!0}:N={value:te.value,multiCellCopy:!1})}const{value:z,multiCellCopy:W}=N,q=get_store_value(y)>1;if(W)if(q){let te=z;const J=get_store_value(b),V=J.length,oe=J[0].length,se=z.length,fe=z[0].length;if(V>se&&oe===fe){te=[];for(let X=0;X<V;X++)te.push(z[X%se])}await M(te,U)}else{const te=get_store_value(S),{rowId:J,field:V}=parseCellID(te),oe=get_store_value(v),se=get_store_value(B),fe=oe[J].__idx,X=se[V].__idx||0,ae=get_store_value(k),le=get_store_value(E),he=le.length,be=ae.length,Be=z.length,tt=z[0].length,Ne=Math.min(Be,be-fe)-1,de=Math.min(tt,he-X)-1,Ue=ae[fe+Ne]._id,Ge=le[X+de].name,xe=getCellID(Ue,Ge);xe===te?(Z=get_store_value(f))==null||Z.setValue(z[0][0]):(b.actions.selectRange(te,xe),await M(z,U))}else if(q){const te=get_store_value(b).map(J=>J.map(()=>z));await M(te,U)}else(ne=get_store_value(f))==null||ne.setValue(z??null)},M=async(U,$)=>{const N=get_store_value(b),z=Math.min(U.length,N.length),W=Math.min(U[0].length,N[0].length);let q={};for(let Z=0;Z<z;Z++)for(let ne=0;ne<W;ne++){const te=N[Z][ne];let{rowId:J,field:V}=parseCellID(te);J=J,V=V,q[J]||(q[J]={}),q[J][V]=U[Z][ne]}await k.actions.bulkUpdate(q,$)};return{clipboard:{...l,actions:{copy:O,paste:D}}}},Clipboard=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$6,createStores:createStores$6,deriveStores:deriveStores$4},Symbol.toStringTag,{value:"Module"})),createStores$5=u=>{const{props:l}=u,f=B=>derivedMemo(l,E=>E[B]),p=f("datasource"),m=f("initialSortColumn"),b=f("initialSortOrder"),y=f("initialFilter"),v=f("fixedRowHeight"),w=f("schemaOverrides"),k=f("notifySuccess"),S=f("notifyError");return{datasource:p,initialSortColumn:m,initialSortOrder:b,initialFilter:y,fixedRowHeight:v,schemaOverrides:w,notifySuccess:k,notifyError:S}},deriveStores$3=u=>{const{props:l,definition:f,hasNonAutoColumn:p}=u;return{config:derived([l,f,p],([b,y,v])=>{var S;let w={...b,canSelectRows:!1};const k=(S=b.datasource)==null?void 0:S.type;return k==="viewV2"&&(w.canEditColumns=!1,(y==null?void 0:y.type)===ViewV2Type.CALCULATION&&(w.canAddRows=!1,w.canEditRows=!1,w.canDeleteRows=!1,w.canExpandRows=!1)),v||(w.canAddRows=!1),k&&!["table","viewV2"].includes(k)&&(w.canAddRows=!1,w.canEditRows=!1,w.canDeleteRows=!1,w.canExpandRows=!1,w.canSaveSchema=!1,w.canEditColumns=!1),w.canSelectRows=!0,w})}},Config=Object.freeze(Object.defineProperty({__proto__:null,createStores:createStores$5,deriveStores:deriveStores$3},Symbol.toStringTag,{value:"Module"})),createStores$4=u=>{const{props:l}=u,f=get_store_value(l);return{sort:memo({column:f.initialSortColumn,order:f.initialSortOrder||SortOrder.ASCENDING})}},initialise$7=u=>{const{sort:l,initialSortColumn:f,initialSortOrder:p,schema:m}=u;f.subscribe(y=>{l.update(v=>({...v,column:y}))}),p.subscribe(y=>{l.update(v=>({...v,order:y||SortOrder.ASCENDING}))}),derived([l,m],([y,v])=>!(y!=null&&y.column)||!v?!0:v[y.column]!=null).subscribe(y=>{y||l.set({column:null,order:SortOrder.ASCENDING})})},Sort=Object.freeze(Object.defineProperty({__proto__:null,createStores:createStores$4,initialise:initialise$7},Symbol.toStringTag,{value:"Module"})),createStores$3=u=>{const{props:l}=u,f=memo(get_store_value(l).initialFilter??void 0),p=memo([]);return{filter:f,inlineFilters:p}},deriveStores$2=u=>{const{filter:l,inlineFilters:f}=u;return{allFilters:derived([l,f],([m,b])=>{var v;if(!(b!=null&&b.length))return m;const y={logicalOperator:UILogicalOperator.ALL,groups:[{logicalOperator:UILogicalOperator.ALL,filters:b}]};return(v=m==null?void 0:m.groups)!=null&&v.length&&(y.groups=[...y.groups,...m.groups]),y})}},createActions$5=u=>{const{filter:l,inlineFilters:f}=u;return{filter:{...l,actions:{addInlineFilter:(m,b)=>{const y=`inline-${m.name}`,v=m.schema.type,w={field:m.name,id:y,operator:BasicOperator.STRING,valueType:"value",type:v,value:b};v===FieldType.NUMBER?(w.value=parseFloat(b),w.operator=BasicOperator.EQUAL):v===FieldType.BIGINT?w.operator=BasicOperator.EQUAL:v===FieldType.ARRAY&&(w.operator=ArrayOperator.CONTAINS),f.update(k=>(k=k==null?void 0:k.filter(S=>S.id!==y),b&&k.push(w),k))}}}}},initialise$6=u=>{const{filter:l,initialFilter:f}=u;f.subscribe(p=>l.set(p??void 0))},Filter$1=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$5,createStores:createStores$3,deriveStores:deriveStores$2,initialise:initialise$6},Symbol.toStringTag,{value:"Module"})),createStores$2=u=>{const{notifySuccess:l,notifyError:f}=u;return{notifications:derived([l,f],([m,b])=>({success:m||notifications.success,error:b||notifications.error}))}},Notifications=Object.freeze(Object.defineProperty({__proto__:null,createStores:createStores$2},Symbol.toStringTag,{value:"Module"})),createStores$1=()=>{const u=memo(null),l=memo({}),f=memo({});return{definition:u,schemaMutations:l,subSchemaMutations:f}},deriveStores$1=u=>{const{API:l,definition:f,schemaOverrides:p,datasource:m,schemaMutations:b,subSchemaMutations:y}=u,v=derived(f,S=>{const B=getDatasourceSchema({API:l,datasource:get_store_value(m),definition:S??void 0});return B?(Object.keys(B).forEach(E=>{typeof B[E]!="object"&&(B[E]={name:E,type:B[E]})}),B):null}),w=derived([v,p,b,y],([S,B,E,F])=>{if(!S)return null;const O=enrichSchemaWithRelColumns(S),D={};return Object.keys(O||{}).forEach(M=>{var U;if(D[M]={...O==null?void 0:O[M],...B==null?void 0:B[M],...E[M]},F[M]){(U=D[M]).columns??(U.columns={});for(const $ of Object.keys(F[M])){const N=F[M][$];D[M].columns[$]={...D[M].columns[$],...N}}}}),D}),k=derived([m,f],([S,B])=>{var F,O;let E=S==null?void 0:S.type;return E==="provider"&&(E=(O=(F=S.value)==null?void 0:F.datasource)==null?void 0:O.type),E==="viewV2"&&B&&"type"in B&&B.type===ViewV2Type.CALCULATION?!1:!!E&&["table","viewV2","link"].includes(E)});return{schema:v,enrichedSchema:w,hasBudibaseIdentifiers:k}},createActions$4=u=>{const{API:l,datasource:f,definition:p,config:m,dispatch:b,table:y,viewV2:v,nonPlus:w,schemaMutations:k,subSchemaMutations:S,schema:B,notifications:E}=u,F=()=>{const V=get_store_value(f),oe=V==null?void 0:V.type;if(!oe)return null;switch(oe){case"table":return y;case"viewV2":return v;default:return w}},O=async()=>{const V=await getDatasourceDefinition({API:l,datasource:get_store_value(f)});p.set(V??null)},D=async V=>{var se;const oe=get_store_value(p);if(p.set(V),get_store_value(m).canSaveSchema)try{await((se=F())==null?void 0:se.actions.saveDefinition(V)),b("updatedatasource",V)}catch(fe){const X=(fe==null?void 0:fe.message)||fe||"Unknown error";get_store_value(E).error(`Error saving schema: ${X}`),p.set(oe)}},M=async V=>{let oe=cloneDeep$4(get_store_value(p));return oe.primaryDisplay=V,oe.schema&&(oe.schema[V].constraints||(oe.schema[V].constraints={}),oe.schema[V].constraints.presence={allowEmpty:!1},"default"in oe.schema[V]&&delete oe.schema[V].default),await D(oe)},U=(V,oe)=>{!V||!oe||k.update(se=>({...se,[V]:{...se[V],...oe}}))},$=(V,oe,se)=>{!V||!oe||!se||S.update(fe=>({...fe,[oe]:{...fe[oe],[V]:{...(fe[oe]||{})[V],...se}}}))},N=async()=>{if(!get_store_value(m).canSaveSchema)return;const V=get_store_value(p),oe=get_store_value(k),se=get_store_value(S),fe=get_store_value(B)||{};let X={};Object.keys(fe).forEach(ae=>{var le;if(X[ae]={...fe[ae],...oe[ae]},se[ae]){(le=X[ae]).columns??(le.columns={});for(const he of Object.keys(se[ae])){const be=se[ae][he];X[ae].columns[he]={...X[ae].columns[he],...be}}}}),await D({...V,schema:X}),z()},z=()=>{k.set({}),S.set({})};return{datasource:{...f,actions:{refreshDefinition:O,saveDefinition:D,addRow:async V=>{var oe;return await((oe=F())==null?void 0:oe.actions.addRow(V))},updateRow:async V=>{var oe;return await((oe=F())==null?void 0:oe.actions.updateRow(V))},deleteRows:async V=>{var oe;return await((oe=F())==null?void 0:oe.actions.deleteRows(V))},getRow:async V=>{var oe;return await((oe=F())==null?void 0:oe.actions.getRow(V))},isDatasourceValid:V=>{var oe;return(oe=F())==null?void 0:oe.actions.isDatasourceValid(V)},canUseColumn:V=>{var oe;return(oe=F())==null?void 0:oe.actions.canUseColumn(V)},changePrimaryDisplay:M,addSchemaMutation:U,addSubSchemaMutation:$,saveSchemaMutations:N,resetSchemaMutations:z}}}},Datasource=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$4,createStores:createStores$1,deriveStores:deriveStores$1},Symbol.toStringTag,{value:"Module"})),SuppressErrors$1=!0,createActions$3=u=>{const{API:l,datasource:f,columns:p}=u,m=async S=>{await l.saveTable(S)},b=async S=>{var E;S={...S,tableId:(E=get_store_value(f))==null?void 0:E.tableId};const B=await l.saveRow(S,SuppressErrors$1);return{...B,_id:B._id}};return{table:{actions:{saveDefinition:m,addRow:b,updateRow:b,deleteRows:async S=>{await l.deleteRows(get_store_value(f).tableId,S)},getRow:async S=>{var F;const B=await l.searchTable(get_store_value(f).tableId,{limit:1,query:{equal:{_id:S}},paginate:!1}),E=(F=B==null?void 0:B.rows)==null?void 0:F[0];if(E)return{...E,_id:E._id}},isDatasourceValid:S=>(S==null?void 0:S.type)==="table"&&!!(S!=null&&S.tableId),canUseColumn:S=>get_store_value(p).some(B=>B.name===S)}}}},initialise$5=u=>{const{datasource:l,fetch:f,filter:p,inlineFilters:m,allFilters:b,sort:y,table:v,initialFilter:w,initialSortColumn:k,initialSortOrder:S}=u;let B=[];l.subscribe(E=>{B==null||B.forEach(F=>F()),B=[],v.actions.isDatasourceValid(E)&&(p.set(get_store_value(w)??void 0),m.set([]),y.set({column:get_store_value(k),order:get_store_value(S)||SortOrder.ASCENDING}),B.push(b.subscribe(F=>{var D,M;const O=get_store_value(f);((M=(D=O==null?void 0:O.options)==null?void 0:D.datasource)==null?void 0:M.tableId)===E.tableId&&O.update({filter:F})})),B.push(y.subscribe(F=>{var D,M;const O=get_store_value(f);((M=(D=O==null?void 0:O.options)==null?void 0:D.datasource)==null?void 0:M.tableId)===E.tableId&&O.update({sortOrder:F.order||SortOrder.ASCENDING,sortColumn:F.column??void 0})})))})},Table=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$3,initialise:initialise$5},Symbol.toStringTag,{value:"Module"})),SuppressErrors=!0,createActions$2=u=>{const{API:l,datasource:f,columns:p}=u,m=async S=>{await l.viewV2.update(S)},b=async S=>{const B=get_store_value(f);S={...S,tableId:B==null?void 0:B.tableId,_viewId:B==null?void 0:B.id};const E=await l.saveRow(S,SuppressErrors);return{...E,_id:E._id,_viewId:S._viewId}};return{viewV2:{actions:{saveDefinition:m,addRow:b,updateRow:b,deleteRows:async S=>{await l.deleteRows(get_store_value(f).id,S)},getRow:async S=>{var F;const B=await l.viewV2.fetch(get_store_value(f).id,{limit:1,query:{equal:{_id:S}},paginate:!1}),E=(F=B==null?void 0:B.rows)==null?void 0:F[0];if(E)return{...E,_id:E._id}},isDatasourceValid:S=>(S==null?void 0:S.type)==="viewV2"&&!!(S!=null&&S.id)&&!!(S!=null&&S.tableId),canUseColumn:S=>get_store_value(p).some(B=>B.name===S&&B.visible)}}}},initialise$4=u=>{const{definition:l,datasource:f,sort:p,rows:m,filter:b,inlineFilters:y,allFilters:v,subscribe:w,viewV2:k,initialFilter:S,initialSortColumn:B,initialSortOrder:E,config:F,fetch:O}=u;let D=[];f.subscribe(M=>{if(D==null||D.forEach($=>$()),D=[],!k.actions.isDatasourceValid(M))return;b.set(get_store_value(S)??void 0),y.set([]),p.set({column:get_store_value(B),order:get_store_value(E)||SortOrder.ASCENDING}),D.push(l.subscribe($=>{var N,z;get_store_value(F).canSaveSchema&&(!$||!("id"in $)||($==null?void 0:$.id)===M.id&&(get_store_value(B)||p.set({column:(N=$.sort)==null?void 0:N.field,order:((z=$.sort)==null?void 0:z.order)||SortOrder.ASCENDING}),get_store_value(S)||b.set($.queryUI)))}));function U($,N){const z=$.column??null,W=(N==null?void 0:N.field)??null;if(z!==W)return!0;if(!z)return!1;const q=$.order??null,Z=(N==null?void 0:N.order)??null;return q!==Z}D.push(p.subscribe(async $=>{var W,q;const N=get_store_value(l);if(!N||!("id"in N)||(N==null?void 0:N.id)!==M.id||!U($,N.sort))return;get_store_value(F).canSaveSchema&&await f.actions.saveDefinition({...N,sort:{field:$.column,order:$.order||SortOrder.ASCENDING}});const z=get_store_value(O);((q=(W=z==null?void 0:z.options)==null?void 0:W.datasource)==null?void 0:q.id)===M.id&&z.update({sortOrder:$.order,sortColumn:$.column??void 0})})),D==null||D.push(b.subscribe(async $=>{if(!get_store_value(F).canSaveSchema)return;const N=get_store_value(l);!N||!("id"in N)||(N==null?void 0:N.id)===M.id&&JSON.stringify($)!==JSON.stringify(N.queryUI)&&(await f.actions.saveDefinition({...N,queryUI:$}),await m.actions.refreshData())})),D.push(y.subscribe($=>{var z,W;if(!get_store_value(F).canSaveSchema)return;const N=get_store_value(O);((W=(z=N==null?void 0:N.options)==null?void 0:z.datasource)==null?void 0:W.id)===M.id&&N.update({filter:$})})),D.push(v.subscribe($=>{var z,W;if(get_store_value(F).canSaveSchema)return;const N=get_store_value(O);((W=(z=N==null?void 0:N.options)==null?void 0:z.datasource)==null?void 0:W.id)===M.id&&N.update({filter:$})})),D.push(w("show-column",async()=>{await m.actions.refreshData()}))})},ViewV2=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$2,initialise:initialise$4},Symbol.toStringTag,{value:"Module"})),createActions$1=u=>{const{columns:l,table:f,viewV2:p}=u,m=async()=>{throw"This datasource does not support updating the definition"},b=async()=>{throw"This datasource does not support saving rows"};return{nonPlus:{actions:{saveDefinition:m,addRow:b,updateRow:b,deleteRows:async()=>{throw"This datasource does not support deleting rows"},getRow:()=>{throw"This datasource does not support fetching individual rows"},isDatasourceValid:S=>!f.actions.isDatasourceValid(S)&&!p.actions.isDatasourceValid(S)&&(S==null?void 0:S.type)!=null,canUseColumn:S=>get_store_value(l).some(B=>B.name===S)}}}},isSameDatasource=(u,l)=>JSON.stringify(u)===JSON.stringify(l),initialise$3=u=>{const{datasource:l,sort:f,filter:p,inlineFilters:m,allFilters:b,nonPlus:y,initialFilter:v,initialSortColumn:w,initialSortOrder:k,fetch:S}=u;let B=[];l.subscribe(E=>{B==null||B.forEach(F=>F()),B=[],y.actions.isDatasourceValid(E)&&(p.set(get_store_value(v)??void 0),m.set([]),f.set({column:get_store_value(w),order:get_store_value(k)||SortOrder.ASCENDING}),B.push(b.subscribe(F=>{var D;const O=get_store_value(S);isSameDatasource((D=O==null?void 0:O.options)==null?void 0:D.datasource,E)&&(O==null||O.update({filter:F}))})),B.push(f.subscribe(F=>{var D;const O=get_store_value(S);isSameDatasource((D=O==null?void 0:O.options)==null?void 0:D.datasource,E)&&(O==null||O.update({sortOrder:F.order||SortOrder.ASCENDING,sortColumn:F.column??void 0}))})))})},NonPlus=Object.freeze(Object.defineProperty({__proto__:null,createActions:createActions$1,initialise:initialise$3},Symbol.toStringTag,{value:"Module"})),createActions=u=>{const{API:l}=u;let f={};const p=()=>{f={}},m=async v=>(f[v]||(f[v]=l.fetchTableDefinition(v)),await f[v]);return{cache:{actions:{getPrimaryDisplayForTableId:async v=>{var S,B;const w=await m(v);return(w==null?void 0:w.primaryDisplay)||((B=(S=w==null?void 0:w.schema)==null?void 0:S[0])==null?void 0:B.name)},getTable:async v=>await m(v),resetCache:p}}}},initialise$2=u=>{const{datasource:l,cache:f}=u;l.subscribe(f.actions.resetCache)},Cache=Object.freeze(Object.defineProperty({__proto__:null,createActions,initialise:initialise$2},Symbol.toStringTag,{value:"Module"})),createStores=()=>({metadata:writable({})}),deriveStores=u=>{const{columns:l,props:f}=u;return{conditions:derivedMemo(derived([l,f],([m,b])=>{let y=[];for(let v of m)for(let w of v.conditions||[])y.push({...w,column:v.name,type:v.schema.type});if(b.buttons)for(let v=0;v<b.buttons.length;v++){const w=b.buttons[v];for(let k of w.conditions||[])y.push({...k,target:"button",buttonIndex:v})}return y}),m=>m)}},initialise$1=u=>{const{metadata:l,conditions:f,rows:p}=u;f.subscribe(m=>{let b={};if(m!=null&&m.length)for(let y of get_store_value(p))b[y._id]=evaluateConditions(y,m,u);l.set(b)}),p.subscribe(m=>{const b=get_store_value(f);if(!(b!=null&&b.length))return;const y=get_store_value(l);let v={};for(let w of m){const k=y[w._id];!(!w._rev||k&&k.version!==w._rev||w._rev===EXTERNAL_ROW_REV)&&k||(y[w._id]=evaluateConditions(w,b,u))}Object.keys(v).length&&l.update(w=>({...w,...v}))})},TypeCoercionMap={[FieldType.NUMBER]:parseFloat,[FieldType.DATETIME]:u=>u?new Date(u).toISOString():null,[FieldType.BOOLEAN]:u=>`${u}`.toLowerCase().trim()==="true"?!0:`${u}`.toLowerCase().trim()==="false"?!1:null},evaluateConditions=(u,l,f)=>{const p={version:u._rev,row:{},cell:{},button:{}},{props:m}=f,b=get_store_value(m);let y=[...l];if(b.buttons)for(let w=0;w<b.buttons.length;w++){const k=b.buttons[w];if(!k.getRowConditions)continue;const S=k.getRowConditions(u)||[];if(S.length){y=y.filter(B=>!(B.target==="button"&&B.buttonIndex===w));for(let B of S)y.push({...B,target:"button",buttonIndex:w})}}const v=new Set;for(let w of y)w.target==="button"&&w.action==="show"&&typeof w.buttonIndex=="number"&&(v.add(w.buttonIndex),p.button[w.buttonIndex]||(p.button[w.buttonIndex]={}),p.button[w.buttonIndex].hidden=!0);for(let w of y)try{let{column:k,type:S,referenceValue:B,operator:E,metadataKey:F,metadataValue:O,target:D,buttonIndex:M,newValue:U,action:$,setting:N,settingValue:z}=w,W;D==="button"?W=U:W=u[k];let q=S;S===FieldType.FORMULA&&(W===!0||W===!1?q=FieldType.BOOLEAN:typeof W=="number"&&(q=FieldType.NUMBER));const Z=TypeCoercionMap[q];Z&&(W=Z(W),B=Z(B));let te=buildQuery$1([{operator:E,type:S,field:"value",value:B}]);te.onEmptyFilter=EmptyFilterOption.RETURN_NONE,runQuery$1([{value:W}],te).length>0&&(D==="button"&&typeof M=="number"?(p.button[M]||(p.button[M]={}),$==="hide"?p.button[M].hidden=!0:$==="show"?p.button[M].hidden=!1:$==="update"&&N&&(p.button[M][N]=z)):D==="row"?p.row={...p.row,[F]:O}:p.cell[k]={...p.cell[k],[F]:O})}catch{}return p},Conditions=Object.freeze(Object.defineProperty({__proto__:null,createStores,deriveStores,initialise:initialise$1},Symbol.toStringTag,{value:"Module"})),DependencyOrderedStores=[Sort,Filter$1,Bounds,Table,ViewV2,NonPlus,Datasource,Columns,Config,Scroll,Validation,Rows,Conditions,UI,Resize,Viewport,Reorder,Users,Menu,Pagination,Clipboard,Notifications,Cache],attachStores=u=>{var l,f,p,m;for(let b of DependencyOrderedStores)"createStores"in b&&(u={...u,...(l=b.createStores)==null?void 0:l.call(b,u)});for(let b of DependencyOrderedStores)"deriveStores"in b&&(u={...u,...(f=b.deriveStores)==null?void 0:f.call(b,u)});for(let b of DependencyOrderedStores)"createActions"in b&&(u={...u,...(p=b.createActions)==null?void 0:p.call(b,u)});for(let b of DependencyOrderedStores)"initialise"in b&&((m=b.initialise)==null||m.call(b,u));return u};function create_if_block_1$V(u){let l,f;return l=new ProgressBar({props:{size:"L",value:u[3],duration:duration$2,width:"100%"}}),{c(){create_component(l.$$.fragment)},m(p,m){mount_component(l,p,m),f=!0},p(p,m){const b={};m&8&&(b.value=p[3]),l.$set(b)},i(p){f||(transition_in(l.$$.fragment,p),f=!0)},o(p){transition_out(l.$$.fragment,p),f=!1},d(p){destroy_component(l,p)}}}function create_default_slot_3$l(u){let l,f,p,m,b,y=u[2]&&create_if_block_1$V(u);return{c(){l=text$1("Are you sure you want to delete "),f=text$1(u[4]),p=text$1(` rows?
|
|
368
368
|
`),y&&y.c(),m=empty$1()},m(v,w){insert(v,l,w),insert(v,f,w),insert(v,p,w),y&&y.m(v,w),insert(v,m,w),b=!0},p(v,w){(!b||w&16)&&set_data(f,v[4]),v[2]?y?(y.p(v,w),w&4&&transition_in(y,1)):(y=create_if_block_1$V(v),y.c(),transition_in(y,1),y.m(m.parentNode,m)):y&&(group_outros(),transition_out(y,1,1,()=>{y=null}),check_outros())},i(v){b||(transition_in(y),b=!0)},o(v){transition_out(y),b=!1},d(v){v&&(detach(l),detach(f),detach(p),detach(m)),y&&y.d(v)}}}function create_default_slot_2$q(u){let l,f;return l=new ModalContent({props:{title:"Delete rows",confirmText:"Continue",cancelText:"Cancel",onConfirm:u[12],size:"M",$$slots:{default:[create_default_slot_3$l]},$$scope:{ctx:u}}}),{c(){create_component(l.$$.fragment)},m(p,m){mount_component(l,p,m),f=!0},p(p,m){const b={};m&268435484&&(b.$$scope={dirty:m,ctx:p}),l.$set(b)},i(p){f||(transition_in(l.$$.fragment,p),f=!0)},o(p){transition_out(l.$$.fragment,p),f=!1},d(p){destroy_component(l,p)}}}function create_if_block$1M(u){let l,f;return l=new ProgressBar({props:{size:"L",value:u[3],duration:duration$2,width:"100%"}}),{c(){create_component(l.$$.fragment)},m(p,m){mount_component(l,p,m),f=!0},p(p,m){const b={};m&8&&(b.value=p[3]),l.$set(b)},i(p){f||(transition_in(l.$$.fragment,p),f=!0)},o(p){transition_out(l.$$.fragment,p),f=!1},d(p){destroy_component(l,p)}}}function create_default_slot_1$H(u){let l,f,p,m,b,y=u[2]&&create_if_block$1M(u);return{c(){l=text$1("Are you sure you want to delete "),f=text$1(u[4]),p=text$1(` cells?
|
|
369
369
|
`),y&&y.c(),m=empty$1()},m(v,w){insert(v,l,w),insert(v,f,w),insert(v,p,w),y&&y.m(v,w),insert(v,m,w),b=!0},p(v,w){(!b||w&16)&&set_data(f,v[4]),v[2]?y?(y.p(v,w),w&4&&transition_in(y,1)):(y=create_if_block$1M(v),y.c(),transition_in(y,1),y.m(m.parentNode,m)):y&&(group_outros(),transition_out(y,1,1,()=>{y=null}),check_outros())},i(v){b||(transition_in(y),b=!0)},o(v){transition_out(y),b=!1},d(v){v&&(detach(l),detach(f),detach(p),detach(m)),y&&y.d(v)}}}function create_default_slot$1x(u){let l,f;return l=new ModalContent({props:{title:"Delete cells",confirmText:"Continue",cancelText:"Cancel",onConfirm:u[13],size:"M",$$slots:{default:[create_default_slot_1$H]},$$scope:{ctx:u}}}),{c(){create_component(l.$$.fragment)},m(p,m){mount_component(l,p,m),f=!0},p(p,m){const b={};m&268435484&&(b.$$scope={dirty:m,ctx:p}),l.$set(b)},i(p){f||(transition_in(l.$$.fragment,p),f=!0)},o(p){transition_out(l.$$.fragment,p),f=!1},d(p){destroy_component(l,p)}}}function create_fragment$2V(u){let l,f,p,m,b={$$slots:{default:[create_default_slot_2$q]},$$scope:{ctx:u}};l=new Modal({props:b}),u[16](l);let y={$$slots:{default:[create_default_slot$1x]},$$scope:{ctx:u}};return p=new Modal({props:y}),u[17](p),{c(){create_component(l.$$.fragment),f=space(),create_component(p.$$.fragment)},m(v,w){mount_component(l,v,w),insert(v,f,w),mount_component(p,v,w),m=!0},p(v,[w]){const k={};w&268435484&&(k.$$scope={dirty:w,ctx:v}),l.$set(k);const S={};w&268435484&&(S.$$scope={dirty:w,ctx:v}),p.$set(S)},i(v){m||(transition_in(l.$$.fragment,v),transition_in(p.$$.fragment,v),m=!0)},o(v){transition_out(l.$$.fragment,v),transition_out(p.$$.fragment,v),m=!1},d(v){v&&detach(f),u[16](null),destroy_component(l,v),u[17](null),destroy_component(p,v)}}}const duration$2=260;function instance$2T(u,l,f){let p,m,b,y,v,w,k,S;const{selectedRows:B,rows:E,subscribe:F,notifications:O,menu:D,selectedCellCount:M,selectedRowCount:U,selectedCells:$,rowLookupMap:N,config:z}=getContext$1("grid");component_subscribe(u,B,X=>f(15,S=X)),component_subscribe(u,O,X=>f(20,b=X)),component_subscribe(u,M,X=>f(21,y=X)),component_subscribe(u,U,X=>f(23,w=X)),component_subscribe(u,$,X=>f(19,m=X)),component_subscribe(u,N,X=>f(14,k=X)),component_subscribe(u,z,X=>f(22,v=X));let W,q,Z=!1,ne=0,te=0;const J=()=>{f(3,ne=0),D.actions.close(),w&&v.canDeleteRows?w===1?V():(f(4,te=w),W==null||W.show()):y&&v.canEditRows&&(f(4,te=y),q==null||q.show())},V=async()=>{f(2,Z=!0);const X=p.length;await E.actions.deleteRows(p),f(3,ne=100),await sleep(duration$2),b.success(`Deleted ${X} row${X===1?"":"s"}`),f(2,Z=!1)},oe=async()=>{f(2,Z=!0);let X={};for(let ae of m)for(let le of ae){const{rowId:he,field:be}=parseCellID(le);X[he]||(X[he]={}),X[he][be]=null}await E.actions.bulkUpdate(X,ae=>{f(3,ne=ae*100)}),await sleep(duration$2),f(2,Z=!1)};onMount(()=>F("request-bulk-delete",J));function se(X){binding_callbacks[X?"unshift":"push"](()=>{W=X,f(0,W)})}function fe(X){binding_callbacks[X?"unshift":"push"](()=>{q=X,f(1,q)})}return u.$$.update=()=>{u.$$.dirty&49152&&(p=Object.keys(S).map(X=>k[X]).filter(X=>X!=null))},[W,q,Z,ne,te,B,O,M,U,$,N,z,V,oe,k,S,se,fe]}class BulkDeleteHandler extends SvelteComponent{constructor(l){super(),init$1(this,l,instance$2T,create_fragment$2V,safe_not_equal,{})}}function create_if_block$1L(u){let l,f;return l=new ProgressBar({props:{size:"L",value:u[1],duration:duration$1,width:"100%"}}),{c(){create_component(l.$$.fragment)},m(p,m){mount_component(l,p,m),f=!0},p(p,m){const b={};m&2&&(b.value=p[1]),l.$set(b)},i(p){f||(transition_in(l.$$.fragment,p),f=!0)},o(p){transition_out(l.$$.fragment,p),f=!1},d(p){destroy_component(l,p)}}}function create_default_slot_1$G(u){let l,f,p,m,b,y=u[2]&&create_if_block$1L(u);return{c(){l=text$1("Are you sure you want to duplicate "),f=text$1(u[3]),p=text$1(` rows?
|
|
370
370
|
`),y&&y.c(),m=empty$1()},m(v,w){insert(v,l,w),insert(v,f,w),insert(v,p,w),y&&y.m(v,w),insert(v,m,w),b=!0},p(v,w){(!b||w&8)&&set_data(f,v[3]),v[2]?y?(y.p(v,w),w&4&&transition_in(y,1)):(y=create_if_block$1L(v),y.c(),transition_in(y,1),y.m(m.parentNode,m)):y&&(group_outros(),transition_out(y,1,1,()=>{y=null}),check_outros())},i(v){b||(transition_in(y),b=!0)},o(v){transition_out(y),b=!1},d(v){v&&(detach(l),detach(f),detach(p),detach(m)),y&&y.d(v)}}}function create_default_slot$1w(u){let l,f;return l=new ModalContent({props:{title:"Duplicate rows",confirmText:"Continue",cancelText:"Cancel",onConfirm:u[8],size:"M",$$slots:{default:[create_default_slot_1$G]},$$scope:{ctx:u}}}),{c(){create_component(l.$$.fragment)},m(p,m){mount_component(l,p,m),f=!0},p(p,m){const b={};m&262158&&(b.$$scope={dirty:m,ctx:p}),l.$set(b)},i(p){f||(transition_in(l.$$.fragment,p),f=!0)},o(p){transition_out(l.$$.fragment,p),f=!1},d(p){destroy_component(l,p)}}}function create_fragment$2U(u){let l,f,p={$$slots:{default:[create_default_slot$1w]},$$scope:{ctx:u}};return l=new Modal({props:p}),u[9](l),{c(){create_component(l.$$.fragment)},m(m,b){mount_component(l,m,b),f=!0},p(m,[b]){const y={};b&262158&&(y.$$scope={dirty:b,ctx:m}),l.$set(y)},i(m){f||(transition_in(l.$$.fragment,m),f=!0)},o(m){transition_out(l.$$.fragment,m),f=!1},d(m){u[9](null),destroy_component(l,m)}}}const duration$1=260;function instance$2S(u,l,f){let p,m,b,y;const{selectedRows:v,rows:w,subscribe:k,selectedRowCount:S,visibleColumns:B,selectedCells:E,rowLookupMap:F}=getContext$1("grid");component_subscribe(u,v,W=>f(13,y=W)),component_subscribe(u,S,W=>f(10,p=W)),component_subscribe(u,B,W=>f(11,m=W)),component_subscribe(u,F,W=>f(12,b=W));let O,D=0,M=!1,U=0;const $=async()=>{f(1,D=0),f(2,M=!0);const W=Object.keys(y).map(Z=>b[Z]),q=await w.actions.bulkDuplicate(W,Z=>{f(1,D=Z*100)});if(await sleep(duration$1),q.length){const Z=q[0],ne=q[q.length-1],te=m[0],J=m[m.length-1],V=getCellID(Z._id,te.name),oe=getCellID(ne._id,J.name);E.actions.selectRange(V,oe)}f(2,M=!1)},N=()=>{f(3,U=p),O==null||O.show()};onMount(()=>k("request-bulk-duplicate",N));function z(W){binding_callbacks[W?"unshift":"push"](()=>{O=W,f(0,O)})}return[O,D,M,U,v,S,B,F,$,z]}class BulkDuplicationHandler extends SvelteComponent{constructor(l){super(),init$1(this,l,instance$2S,create_fragment$2U,safe_not_equal,{})}}function create_if_block$1K(u){let l,f;return l=new ProgressBar({props:{size:"L",value:u[1],duration,width:"100%"}}),{c(){create_component(l.$$.fragment)},m(p,m){mount_component(l,p,m),f=!0},p(p,m){const b={};m&2&&(b.value=p[1]),l.$set(b)},i(p){f||(transition_in(l.$$.fragment,p),f=!0)},o(p){transition_out(l.$$.fragment,p),f=!1},d(p){destroy_component(l,p)}}}function create_default_slot_1$F(u){let l,f,p,m=u[2]&&create_if_block$1K(u);return{c(){l=text$1(`Are you sure you want to paste? This will update multiple values.
|