@budibase/client 3.20.5 → 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.
package/dist/budibase-client.js
CHANGED
|
@@ -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$2=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,w]of Object.entries(f))b.append(y,w);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:w}=await l.getSignedDatasourceURL(f,p,m);return y?(await u.put({url:y,body:b,json:!1,external:!0,parseResponse:v=>v}),{publicUrl:w}):{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 w=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(!w.ok)throw new Error(`HTTP error! status: ${w.status}`);const v=(y=w.body)==null?void 0:y.getReader();if(!v)throw new Error("Failed to get response reader");const k=new TextDecoder;let S="";for(;;){const{done:B,value:O}=await v.read();if(B)break;S+=k.decode(O,{stream:!0});const R=S.split(`
|
|
356
|
-
`);S=R.pop()||"";for(const U of R)if(U.startsWith("data: "))try{const $=U.slice(6);if($.trim()){const X=JSON.parse($);p(X)}}catch($){console.error("Failed to parse SSE data:",$)}}}catch(w){if(m)m(w);else throw w}},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 O=k.statusText,R=null;try{R=await k.json(),R!=null&&R.message?O=R.message:R!=null&&R.error&&(O=JSON.stringify(R.error))}catch{}return{message:O,json:R,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:O,body:R,url:U,parseResponse:$,suppressErrors:X}=k;S=S&&B!==HTTPMethod.GET;let K={Accept:"application/json"};K[Header.SESSION_ID]=APISessionID,O||(K[Header.API_VER]=ApiVersion),S&&(K["Content-Type"]="application/json"),u!=null&&u.attachHeaders&&u.attachHeaders(K);let J=R;if(S)try{J=JSON.stringify(R)}catch{throw p("Invalid JSON body",U,B)}let Z;try{Z=await fetch(U,{method:B,headers:K,body:J,credentials:"same-origin"})}catch{throw delete l[U],p("Failed to send request",U,B)}if(Z.status>=200&&Z.status<400){b(Z);try{return Z.status===204?void 0:$?await $(Z):await Z.json()}catch(se){throw delete l[U],`Failed to parse response: ${se}`}}else throw delete l[U],await f(Z,B,X)},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]},w=k=>async S=>{try{let B={json:!0,external:!1,suppressErrors:!1,cache:!1,method:k,...S},{url:O,cache:R,external:U}=B;return U||(B.url=`/${O}`.replace("//","/")),await(R&&(u==null?void 0:u.enableCaching)?y:m)(B)}catch(B){throw u!=null&&u.onError&&u.onError(B),B}};let v={post:w(HTTPMethod.POST),get:w(HTTPMethod.GET),patch:w(HTTPMethod.PATCH),delete:w(HTTPMethod.DELETE),put:w(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{...v,...buildAIEndpoints(v),...buildAnalyticsEndpoints(v),...buildAppEndpoints(v),...buildAttachmentEndpoints(v),...buildAuthEndpoints(v),...buildAutomationEndpoints(v),...buildConfigEndpoints(v),...buildDatasourceEndpoints(v),...buildFlagEndpoints(v),...buildLayoutEndpoints(v),...buildOtherEndpoints(v),...buildPermissionsEndpoints(v),...buildQueryEndpoints(v),...buildRelationshipEndpoints(v),...buildRoleEndpoints(v),...buildRouteEndpoints(v),...buildRowEndpoints(v),...buildScreenEndpoints(v),...buildTableEndpoints(v),...buildTemplateEndpoints(v),...buildUserEndpoints(v),...buildViewEndpoints(v),...buildSelfEndpoints(v),...buildLicensingEndpoints(v),...buildGroupsEndpoints(v),...buildPluginEndpoints(v),...buildBackupEndpoints(v),...buildEnvironmentVariableEndpoints(v),...buildEventEndpoints(v),...buildAuditLogEndpoints(v),...buildLogsEndpoints(v),...buildMigrationEndpoints(v),...buildAgentEndpoints(v),...buildFeatureFlagEndpoints(v),deployment:buildDeploymentEndpoints(v),viewV2:buildViewV2Endpoints(v),rowActions:buildRowActionEndpoints(v),oauth2:buildOAuth2Endpoints(v),navigation:buildNavigationEndpoints(v),workspaceApp:buildWorkspaceAppEndpoints(v),workspace:buildWorkspaceFavouriteEndpoints(v),resource:buildResourceEndpoints(v),recaptcha:buildRecaptchaEndpoints(v)}};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},w=m?f:fallbackHolder,v="curry"in p&&p.curry,k="fixed"in p&&p.fixed,S="rearg"in p&&p.rearg,B=m?f.runInContext():void 0,O=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},R=O.ary,U=O.assign,$=O.clone,X=O.curry,K=O.forEach,J=O.isArray,Z=O.isError,se=O.isFunction,ie=O.isWeakMap,ce=O.keys,pe=O.rearg,_e=O.toInteger,ye=O.toPath,be=ce(mapping.aryMethod),de={castArray:function(Tt){return function(){var ht=arguments[0];return J(ht)?Tt(cloneArray(ht)):Tt.apply(void 0,arguments)}},iteratee:function(Tt){return function(){var ht=arguments[0],bt=arguments[1],ct=Tt(ht,bt),lt=ct.length;return y.cap&&typeof bt=="number"?(bt=bt>2?bt-2:1,lt&<<=bt?ct:baseAry(ct,bt)):ct}},mixin:function(Tt){return function(ht){var bt=this;if(!se(bt))return Tt(bt,Object(ht));var ct=[];return K(ce(ht),function(lt){se(ht[lt])&&ct.push([lt,bt.prototype[lt]])}),Tt(bt,Object(ht)),K(ct,function(lt){var Et=lt[1];se(Et)?bt.prototype[lt[0]]=Et:delete bt.prototype[lt[0]]}),bt}},nthArg:function(Tt){return function(ht){var bt=ht<0?1:_e(ht)+1;return X(Tt(ht),bt)}},rearg:function(Tt){return function(ht,bt){var ct=bt?bt.length:0;return X(Tt(ht,bt),ct)}},runInContext:function(Tt){return function(ht){return baseConvert$1(u,Tt(ht),p)}}};function Te(Tt,ht){if(y.cap){var bt=mapping.iterateeRearg[Tt];if(bt)return at(ht,bt);var ct=!m&&mapping.iterateeAry[Tt];if(ct)return Ze(ht,ct)}return ht}function Fe(Tt,ht,bt){return v||y.curry&&bt>1?X(ht,bt):ht}function Ue(Tt,ht,bt){if(y.fixed&&(k||!mapping.skipFixed[Tt])){var ct=mapping.methodSpread[Tt],lt=ct&&ct.start;return lt===void 0?R(ht,bt):flatSpread(ht,lt)}return ht}function he(Tt,ht,bt){return y.rearg&&bt>1&&(S||!mapping.skipRearg[Tt])?pe(ht,mapping.methodRearg[Tt]||mapping.aryRearg[bt]):ht}function Oe(Tt,ht){ht=ye(ht);for(var bt=-1,ct=ht.length,lt=ct-1,Et=$(Object(Tt)),ft=Et;ft!=null&&++bt<ct;){var It=ht[bt],zt=ft[It];zt!=null&&!(se(zt)||Z(zt)||ie(zt))&&(ft[It]=$(bt==lt?zt:Object(zt))),ft=ft[It]}return Et}function Re(Tt){return $e.runInContext.convert(Tt)(void 0)}function Ge(Tt,ht){var bt=mapping.aliasToReal[Tt]||Tt,ct=mapping.remap[bt]||bt,lt=p;return function(Et){var ft=m?B:O,It=m?B[ct]:ht,zt=U(U({},lt),Et);return baseConvert$1(ft,bt,It,zt)}}function Ze(Tt,ht){return Pt(Tt,function(bt){return typeof bt=="function"?baseAry(bt,ht):bt})}function at(Tt,ht){return Pt(Tt,function(bt){var ct=ht.length;return baseArity(pe(baseAry(bt,ct),ht),ct)})}function Pt(Tt,ht){return function(){var bt=arguments.length;if(!bt)return Tt();for(var ct=Array(bt);bt--;)ct[bt]=arguments[bt];var lt=y.rearg?0:bt-1;return ct[lt]=ht(ct[lt]),Tt.apply(void 0,ct)}}function _t(Tt,ht,bt){var ct,lt=mapping.aliasToReal[Tt]||Tt,Et=ht,ft=de[lt];return ft?Et=ft(ht):y.immutable&&(mapping.mutate.array[lt]?Et=wrapImmutable(ht,cloneArray):mapping.mutate.object[lt]?Et=wrapImmutable(ht,createCloner(ht)):mapping.mutate.set[lt]&&(Et=wrapImmutable(ht,Oe))),K(be,function(It){return K(mapping.aryMethod[It],function(zt){if(lt==zt){var In=mapping.methodSpread[lt],_n=In&&In.afterRearg;return ct=_n?Ue(lt,he(lt,Et,It),It):he(lt,Ue(lt,Et,It),It),ct=Te(lt,ct),ct=Fe(lt,ct,It),!1}}),!ct}),ct||(ct=Et),ct==ht&&(ct=v?X(ct,1):function(){return ht.apply(this,arguments)}),ct.convert=Ge(lt,ht),ct.placeholder=ht.placeholder=bt,ct}if(!b)return _t(l,f,w);var $e=f,mt=[];return K(be,function(Tt){K(mapping.aryMethod[Tt],function(ht){var bt=$e[mapping.remap[ht]||ht];bt&&mt.push([ht,_t(ht,bt,$e)])})}),K(ce($e),function(Tt){var ht=$e[Tt];if(typeof ht=="function"){for(var bt=mt.length;bt--;)if(mt[bt][0]==Tt)return;ht.convert=Ge(Tt,ht),mt.push([Tt,ht])}}),K(mt,function(Tt){$e[Tt[0]]=Tt[1]}),$e.convert=Re,$e.placeholder=$e,K(ce($e),function(Tt){K(mapping.realToAlias[Tt]||[],function(ht){$e[ht]=$e[Tt]})}),$e}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,w=-1,v=l.length,k=nativeMax$2(b-y,0),S=Array(v+k),B=!p;++w<v;)S[w]=l[w];for(;++m<y;)(B||m<b)&&(S[f[m]]=u[m]);for(;k--;)S[w++]=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,w=f.length,v=-1,k=l.length,S=nativeMax$1(b-w,0),B=Array(S+k),O=!p;++m<S;)B[m]=u[m];for(var R=m;++v<k;)B[R+v]=l[v];for(;++y<w;)(O||m<b)&&(B[R+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=R.pop()||"";for(const U of R)if(U.startsWith("data: "))try{const $=U.slice(6);if($.trim()){const X=JSON.parse($);p(X)}}catch($){console.error("Failed to parse SSE data:",$)}}}catch(w){if(m)m(w);else throw w}},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 O=k.statusText,R=null;try{R=await k.json(),R!=null&&R.message?O=R.message:R!=null&&R.error&&(O=JSON.stringify(R.error))}catch{}return{message:O,json:R,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:O,body:R,url:U,parseResponse:$,suppressErrors:X}=k;S=S&&B!==HTTPMethod.GET;let K={Accept:"application/json"};K[Header.SESSION_ID]=APISessionID,O||(K[Header.API_VER]=ApiVersion),S&&(K["Content-Type"]="application/json"),u!=null&&u.attachHeaders&&u.attachHeaders(K);let J=R;if(S)try{J=JSON.stringify(R)}catch{throw p("Invalid JSON body",U,B)}let Z;try{Z=await fetch(U,{method:B,headers:K,body:J,credentials:"same-origin"})}catch{throw delete l[U],p("Failed to send request",U,B)}if(Z.status>=200&&Z.status<400){b(Z);try{return Z.status===204?void 0:$?await $(Z):await Z.json()}catch(se){throw delete l[U],`Failed to parse response: ${se}`}}else throw delete l[U],await f(Z,B,X)},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]},w=k=>async S=>{try{let B={json:!0,external:!1,suppressErrors:!1,cache:!1,method:k,...S},{url:O,cache:R,external:U}=B;return U||(B.url=`/${O}`.replace("//","/")),await(R&&(u==null?void 0:u.enableCaching)?y:m)(B)}catch(B){throw u!=null&&u.onError&&u.onError(B),B}};let v={post:w(HTTPMethod.POST),get:w(HTTPMethod.GET),patch:w(HTTPMethod.PATCH),delete:w(HTTPMethod.DELETE),put:w(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{...v,...buildAIEndpoints(v),...buildAnalyticsEndpoints(v),...buildAppEndpoints(v),...buildAttachmentEndpoints(v),...buildAuthEndpoints(v),...buildAutomationEndpoints(v),...buildConfigEndpoints(v),...buildDatasourceEndpoints(v),...buildFlagEndpoints(v),...buildLayoutEndpoints(v),...buildOtherEndpoints(v),...buildPermissionsEndpoints(v),...buildQueryEndpoints(v),...buildRelationshipEndpoints(v),...buildRoleEndpoints(v),...buildRouteEndpoints(v),...buildRowEndpoints(v),...buildScreenEndpoints(v),...buildTableEndpoints(v),...buildTemplateEndpoints(v),...buildUserEndpoints(v),...buildViewEndpoints(v),...buildSelfEndpoints(v),...buildLicensingEndpoints(v),...buildGroupsEndpoints(v),...buildPluginEndpoints(v),...buildBackupEndpoints(v),...buildEnvironmentVariableEndpoints(v),...buildEventEndpoints(v),...buildAuditLogEndpoints(v),...buildLogsEndpoints(v),...buildMigrationEndpoints(v),...buildAgentEndpoints(v),...buildFeatureFlagEndpoints(v),deployment:buildDeploymentEndpoints(v),viewV2:buildViewV2Endpoints(v),rowActions:buildRowActionEndpoints(v),oauth2:buildOAuth2Endpoints(v),navigation:buildNavigationEndpoints(v),workspaceApp:buildWorkspaceAppEndpoints(v),workspace:buildWorkspaceFavouriteEndpoints(v),resource:buildResourceEndpoints(v),recaptcha:buildRecaptchaEndpoints(v)}};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},w=m?f:fallbackHolder,v="curry"in p&&p.curry,k="fixed"in p&&p.fixed,S="rearg"in p&&p.rearg,B=m?f.runInContext():void 0,O=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},R=O.ary,U=O.assign,$=O.clone,X=O.curry,K=O.forEach,J=O.isArray,Z=O.isError,se=O.isFunction,ie=O.isWeakMap,ce=O.keys,pe=O.rearg,_e=O.toInteger,ye=O.toPath,be=ce(mapping.aryMethod),de={castArray:function(Tt){return function(){var ht=arguments[0];return J(ht)?Tt(cloneArray(ht)):Tt.apply(void 0,arguments)}},iteratee:function(Tt){return function(){var ht=arguments[0],bt=arguments[1],ct=Tt(ht,bt),lt=ct.length;return y.cap&&typeof bt=="number"?(bt=bt>2?bt-2:1,lt&<<=bt?ct:baseAry(ct,bt)):ct}},mixin:function(Tt){return function(ht){var bt=this;if(!se(bt))return Tt(bt,Object(ht));var ct=[];return K(ce(ht),function(lt){se(ht[lt])&&ct.push([lt,bt.prototype[lt]])}),Tt(bt,Object(ht)),K(ct,function(lt){var Et=lt[1];se(Et)?bt.prototype[lt[0]]=Et:delete bt.prototype[lt[0]]}),bt}},nthArg:function(Tt){return function(ht){var bt=ht<0?1:_e(ht)+1;return X(Tt(ht),bt)}},rearg:function(Tt){return function(ht,bt){var ct=bt?bt.length:0;return X(Tt(ht,bt),ct)}},runInContext:function(Tt){return function(ht){return baseConvert$1(u,Tt(ht),p)}}};function Te(Tt,ht){if(y.cap){var bt=mapping.iterateeRearg[Tt];if(bt)return at(ht,bt);var ct=!m&&mapping.iterateeAry[Tt];if(ct)return Ze(ht,ct)}return ht}function Fe(Tt,ht,bt){return v||y.curry&&bt>1?X(ht,bt):ht}function Ue(Tt,ht,bt){if(y.fixed&&(k||!mapping.skipFixed[Tt])){var ct=mapping.methodSpread[Tt],lt=ct&&ct.start;return lt===void 0?R(ht,bt):flatSpread(ht,lt)}return ht}function he(Tt,ht,bt){return y.rearg&&bt>1&&(S||!mapping.skipRearg[Tt])?pe(ht,mapping.methodRearg[Tt]||mapping.aryRearg[bt]):ht}function Oe(Tt,ht){ht=ye(ht);for(var bt=-1,ct=ht.length,lt=ct-1,Et=$(Object(Tt)),ft=Et;ft!=null&&++bt<ct;){var It=ht[bt],zt=ft[It];zt!=null&&!(se(zt)||Z(zt)||ie(zt))&&(ft[It]=$(bt==lt?zt:Object(zt))),ft=ft[It]}return Et}function Re(Tt){return $e.runInContext.convert(Tt)(void 0)}function Ge(Tt,ht){var bt=mapping.aliasToReal[Tt]||Tt,ct=mapping.remap[bt]||bt,lt=p;return function(Et){var ft=m?B:O,It=m?B[ct]:ht,zt=U(U({},lt),Et);return baseConvert$1(ft,bt,It,zt)}}function Ze(Tt,ht){return Pt(Tt,function(bt){return typeof bt=="function"?baseAry(bt,ht):bt})}function at(Tt,ht){return Pt(Tt,function(bt){var ct=ht.length;return baseArity(pe(baseAry(bt,ct),ht),ct)})}function Pt(Tt,ht){return function(){var bt=arguments.length;if(!bt)return Tt();for(var ct=Array(bt);bt--;)ct[bt]=arguments[bt];var lt=y.rearg?0:bt-1;return ct[lt]=ht(ct[lt]),Tt.apply(void 0,ct)}}function _t(Tt,ht,bt){var ct,lt=mapping.aliasToReal[Tt]||Tt,Et=ht,ft=de[lt];return ft?Et=ft(ht):y.immutable&&(mapping.mutate.array[lt]?Et=wrapImmutable(ht,cloneArray):mapping.mutate.object[lt]?Et=wrapImmutable(ht,createCloner(ht)):mapping.mutate.set[lt]&&(Et=wrapImmutable(ht,Oe))),K(be,function(It){return K(mapping.aryMethod[It],function(zt){if(lt==zt){var In=mapping.methodSpread[lt],_n=In&&In.afterRearg;return ct=_n?Ue(lt,he(lt,Et,It),It):he(lt,Ue(lt,Et,It),It),ct=Te(lt,ct),ct=Fe(lt,ct,It),!1}}),!ct}),ct||(ct=Et),ct==ht&&(ct=v?X(ct,1):function(){return ht.apply(this,arguments)}),ct.convert=Ge(lt,ht),ct.placeholder=ht.placeholder=bt,ct}if(!b)return _t(l,f,w);var $e=f,mt=[];return K(be,function(Tt){K(mapping.aryMethod[Tt],function(ht){var bt=$e[mapping.remap[ht]||ht];bt&&mt.push([ht,_t(ht,bt,$e)])})}),K(ce($e),function(Tt){var ht=$e[Tt];if(typeof ht=="function"){for(var bt=mt.length;bt--;)if(mt[bt][0]==Tt)return;ht.convert=Ge(Tt,ht),mt.push([Tt,ht])}}),K(mt,function(Tt){$e[Tt[0]]=Tt[1]}),$e.convert=Re,$e.placeholder=$e,K(ce($e),function(Tt){K(mapping.realToAlias[Tt]||[],function(ht){$e[ht]=$e[Tt]})}),$e}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,w=-1,v=l.length,k=nativeMax$2(b-y,0),S=Array(v+k),B=!p;++w<v;)S[w]=l[w];for(;++m<y;)(B||m<b)&&(S[f[m]]=u[m]);for(;k--;)S[w++]=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,w=f.length,v=-1,k=l.length,S=nativeMax$1(b-w,0),B=Array(S+k),O=!p;++m<S;)B[m]=u[m];for(var R=m;++v<k;)B[R+v]=l[v];for(;++y<w;)(O||m<b)&&(B[R+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,w,v,k){var S=l&WRAP_CURRY_FLAG$4,B=S?y:void 0,O=S?void 0:y,R=S?b:void 0,U=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 $=[u,l,m,R,B,U,O,w,v,k],X=f.apply(void 0,$);return isLaziable(u)&&setData$1(X,$),X.placeholder=p,setWrapToString$1(X,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,w,v,k){var S=l&WRAP_ARY_FLAG$2,B=l&WRAP_BIND_FLAG$3,O=l&WRAP_BIND_KEY_FLAG$2,R=l&(WRAP_CURRY_FLAG$3|WRAP_CURRY_RIGHT_FLAG$1),U=l&WRAP_FLIP_FLAG,$=O?void 0:createCtor$2(u);function X(){for(var K=arguments.length,J=Array(K),Z=K;Z--;)J[Z]=arguments[Z];if(R)var se=getHolder$1(X),ie=countHolders(J,se);if(p&&(J=composeArgs$1(J,p,m,R)),b&&(J=composeArgsRight$1(J,b,y,R)),K-=ie,R&&K<k){var ce=replaceHolders$2(J,se);return createRecurry$1(u,l,createHybrid$2,X.placeholder,f,J,ce,w,v,k-K)}var pe=B?f:this,_e=O?pe[u]:u;return K=J.length,w?J=reorder(J,w):U&&K>1&&J.reverse(),S&&v<K&&(J.length=v),this&&this!==root$3&&this instanceof X&&(_e=$||createCtor$2(_e)),_e.apply(pe,J)}return X}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),w=b,v=getHolder(m);w--;)y[w]=arguments[w];var k=b<3&&y[0]!==v&&y[b-1]!==v?[]:replaceHolders$1(y,v);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 w=-1,v=arguments.length,k=-1,S=p.length,B=Array(S+v),O=this&&this!==root$1&&this instanceof y?b:u;++k<S;)B[k]=p[k];for(;v--;)B[k++]=arguments[++w];return apply(O,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 w=l[3];if(w){var v=u[3];u[3]=v?composeArgs(v,w,l[4]):w,u[4]=v?replaceHolders(u[3],PLACEHOLDER):l[4]}return w=l[5],w&&(v=u[5],u[5]=v?composeArgsRight(v,w,l[6]):w,u[6]=v?replaceHolders(u[5],PLACEHOLDER):l[6]),w=l[7],w&&(u[7]=w),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,w){var v=l&WRAP_BIND_KEY_FLAG;if(!v&&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),w=w===void 0?w:toInteger(w),k-=m?m.length:0,l&WRAP_PARTIAL_RIGHT_FLAG){var S=p,B=m;p=m=void 0}var O=v?void 0:getData(u),R=[u,l,f,p,m,S,B,b,y,w];if(O&&mergeData(R,O),u=R[0],l=R[1],f=R[2],p=R[3],m=R[4],w=R[9]=R[9]===void 0?v?0:u.length:nativeMax(R[9]-k,0),!w&&l&(WRAP_CURRY_FLAG$1|WRAP_CURRY_RIGHT_FLAG)&&(l&=~(WRAP_CURRY_FLAG$1|WRAP_CURRY_RIGHT_FLAG)),!l||l==WRAP_BIND_FLAG)var U=createBind(u,l,f);else l==WRAP_CURRY_FLAG$1||l==WRAP_CURRY_RIGHT_FLAG?U=createCurry(u,l,w):(l==WRAP_PARTIAL_FLAG||l==(WRAP_BIND_FLAG|WRAP_PARTIAL_FLAG))&&!m.length?U=createPartial(u,l,f,p):U=createHybrid.apply(void 0,R);var $=O?baseSetData:setData;return setWrapToString($(U,R),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 w=l[b],v=p?p(f[w],u[w],w,f,u):void 0;v===void 0&&(v=u[w]),m?baseAssignValue(f,w,v):assignValue$1(f,w,v)}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,w=y?y.allocUnsafe:void 0;function v(k,S){if(S)return k.slice();var B=k.length,O=w?w(B):new k.constructor(B);return k.copy(O),O}u.exports=v}(_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,w=l&CLONE_DEEP_FLAG$2,v=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),!w)return copyArray$1(u,y)}else{var B=getTag$1(u),O=B==funcTag||B==genTag;if(isBuffer(u))return cloneBuffer(u,w);if(B==objectTag||B==argsTag||O&&!m){if(y=v||O?{}:initCloneObject(u),!w)return v?copySymbolsIn(u,baseAssignIn(y,u)):copySymbols(u,baseAssign(y,u))}else{if(!cloneableTags[B])return m?u:{};y=initCloneByTag(u,B,w)}}b||(b=new Stack);var R=b.get(u);if(R)return R;b.set(u,y),isSet(u)?u.forEach(function(X){y.add(baseClone$3(X,l,f,X,u,b))}):isMap(u)&&u.forEach(function(X,K){y.set(K,baseClone$3(X,l,f,K,u,b))});var U=k?v?getAllKeysIn:getAllKeys:v?keysIn:keys,$=S?void 0:U(u);return arrayEach($||u,function(X,K){$&&(K=X,X=u[K]),assignValue(y,K,baseClone$3(X,l,f,K,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,w])=>(b[y]={name:y,type:w.type,subtype:w.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:w,showSaveButton:v,saveButtonLabel:k}=u||{};if(!l)return;const S=`${l}-form`,B=`${l}-repeater`,O=p==null?void 0:p.resourceId,R=y===!1?"":w==null?void 0:w.trim(),U=v===!1?"":k==null?void 0:k.trim(),$=[{"##eventHandlerType":"Validate Form",parameters:{componentId:S}},{"##eventHandlerType":"Save Row",parameters:{providerId:S,tableId:O,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}}]:[]],X=[{"##eventHandlerType":"Delete Row",parameters:{confirm:!0,tableId:O,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}}]:[]],K=[];return f&&["Update","Create"].includes(f)&&v!==!1&&K.push({text:U||"Save",_id:uuid(),_component:"@budibase/standard-components/button",onClick:$,type:"cta"}),f==="Update"&&y!==!1&&K.push({text:R||"Delete",_id:uuid(),_component:"@budibase/standard-components/button",onClick:X,quiet:!0,type:"warning"}),K},buildMultiStepFormBlockDefaultProps=u=>{const{_id:l,stepCount:f,currentStep:p,actionType:m,dataSource:b}=u||{};if(!l||!f)return;const y=`Step {{ [${l}-form].[__currentStep] }}`,w=b==null?void 0:b.resourceId,v=`${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:v},"##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:v}},{parameters:{type:"next",componentId:v},"##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:v}},{"##eventHandlerType":"Save Row",parameters:{tableId:w,providerId:v}},...m!=="Create"?[]:[{"##eventHandlerType":"Clear Form",parameters:{componentId:v}}]]}),{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,w,v;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)],w=lookup$2[u.charCodeAt(p+2)],v=lookup$2[u.charCodeAt(p+3)],S[m++]=b<<2|y>>4,S[m++]=(y&15)<<4|w>>2,S[m++]=(w&3)<<6|v&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,w=>{p[y]=w,++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,w){for(f.push(y);;){if(p===0){if(totalLength(f)<1)break;const v=concatChunks(f,1);b=(v[0]&128)===128,m=v[0]&127,m<126?p=3:m===126?p=1:p=2}else if(p===1){if(totalLength(f)<2)break;const v=concatChunks(f,2);m=new DataView(v.buffer,v.byteOffset,v.length).getUint16(0),p=3}else if(p===2){if(totalLength(f)<8)break;const v=concatChunks(f,8),k=new DataView(v.buffer,v.byteOffset,v.length),S=k.getUint32(0);if(S>Math.pow(2,53-32)-1){w.enqueue(ERROR_PACKET);break}m=S*Math.pow(2,32)+k.getUint32(4),p=3}else{if(totalLength(f)<m)break;const v=concatChunks(f,m);w.enqueue(decodePacket(b?v:TEXT_DECODER.decode(v),l)),p=0}if(m===0||m>u){w.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:w,value:v})=>{w||(this.onPacket(v),b())}).catch(w=>{})};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 O=new Error("probe error");O.transport=f.name,this.emitReserved("upgradeError",O)}}))};function b(){p||(p=!0,S(),f.close(),f=null)}const y=B=>{const O=new Error("probe error: "+B);O.transport=f.name,b(),this.emitReserved("upgradeError",O)};function w(){y("transport closed")}function v(){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",w),this.off("close",v),this.off("upgrading",k)};f.once("open",m),f.once("error",y),f.once("close",w),this.once("close",v),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 w=(m=(p=this.io.engine)===null||p===void 0?void 0:p.transport)===null||m===void 0?void 0:m.writable,v=this.connected&&!(!((b=this.io.engine)===null||b===void 0)&&b._hasPingExpired());return this.flags.volatile&&!w||(v?(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 w=0;w<this.sendBuffer.length;w++)this.sendBuffer[w].id===l&&this.sendBuffer.splice(w,1);f.call(this,new Error("operation has timed out"))},m),y=(...w)=>{this.io.clearTimeoutFn(b),f.apply(this,w)};y.withError=!0,this.acks[l]=y}emitWithAck(l,...f){return new Promise((p,m)=>{const b=(y,w)=>y?m(y):p(w);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=w=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",w),l?l(w):this.maybeReconnectOnOpen()},y=on(f,"error",b);if(this._timeout!==!1){const w=this._timeout,v=this.setTimeoutFn(()=>{m(),b(new Error("timeout")),f.close()},w);this.opts.autoUnref&&v.unref(),this.subs.push(()=>{this.clearTimeoutFn(v)})}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,w=l.forceNew||l["force new connection"]||l.multiplex===!1||y;let v;return w?v=new Manager(p,l):(cache[m]||(cache[m]=new Manager(p,l)),v=cache[m]),f.query&&!l.query&&(l.query=f.queryKey),v.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 w=lookup$1(`${m}//${b}:${y}`,{path:u,reconnectionAttempts:3,reconnectionDelay:5e3,reconnectionDelayMax:5e3,timeout:4e3,transports:["websocket"]}),v;return f&&(v=setInterval(()=>{w.emit(SocketEvent.Heartbeat)},SocketSessionTTL*500)),w.on("disconnect",()=>{clearInterval(v)}),w.onOther=(k,S)=>{w.on(k,B=>{(B==null?void 0:B.apiSessionId)!==APISessionID&&S(B)})},w},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),w=document.createElement("a");w.href=y,w.download=m,w.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 w=deepGet$1(u,m);return b.some(k=>k==null?w!=null&&w!==!1&&w!=="":k===w)!==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,w=parseDate(p,{enableTime:y});return getDateDisplayValue(w,{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 w=m.columns[y];if(!w.visible)continue;const v=`${m.name}.${y}`;f[v]={...w,type:w.type,name:v,related:{field:p,subField:y},cellRenderType:!b&&columnTypeManyTypeOverrides[w.type]||w.type}}}return f},{})}function getRelatedTableValues(u,l,f){var b,y,w,v;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]||(O=>O),S=(v=(w=u[l.related.field])==null?void 0:w.flatMap(O=>O[l.related.subField]))==null?void 0:v.filter(O=>O!=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,w])=>w&&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){Wr(this,"API");Wr(this,"features");Wr(this,"options");Wr(this,"store");Wr(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 v=b==null?void 0:b[this.options.sortColumn];((v==null?void 0:v.type)===FieldType.NUMBER||(v==null?void 0:v.type)===FieldType.BIGINT||"calculationType"in v&&(v!=null&&v.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(v=>({...v,definition:p,schema:b,query:y,loading:!0,cursors:[],cursor:null}));const w=await this.getPage();this.store.update(v=>({...v,loading:!1,loaded:!0,pageNumber:0,rows:w.rows,info:w.info,cursors:f&&w.hasNextPage?[null,w.cursor]:[null],error:w.error,resetKey:Math.random().toString()}))}async getPage(){const{sortColumn:l,sortOrder:f,sortType:p,limit:m,clientSideSearching:b,clientSideSorting:y,clientSideLimiting:w}=this.options,{query:v}=get_store_value(this.store);let{rows:k,info:S,hasNextPage:B,cursor:O,error:R}=await this.getData();return!this.features.supportsSearch&&b&&(k=runQuery(k,v)),!this.features.supportsSort&&y&&p&&(k=sort(k,l,f,p)),!this.features.supportsPagination&&w&&(k=queryLimit(k,m)),{rows:k,info:S,hasNextPage:B,cursor:O,error:R}}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 w of Object.keys(y))f[`${m}.${w}`]={type:y[w].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(v=>({...v,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(v=>({...v,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(v=>({...v,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(v=>({...v,loading:!0,cursor:f,pageNumber:v.pageNumber+1}));const{rows:p,info:m,hasNextPage:b,cursor:y,error:w}=await this.getPage();this.store.update(v=>{let{cursors:k,pageNumber:S}=v;return b&&(k[S+1]=y),{...v,rows:p,info:m,cursors:k,loading:!1,error:w}})}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,w){insert(y,l,w),insert(y,f,w),insert(y,p,w),insert(y,m,w),insert(y,b,w)},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,w){insert(y,l,w),insert(y,f,w),insert(y,p,w),insert(y,m,w),insert(y,b,w)},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,O){return B[0]?create_else_block_1$b:create_if_block_1$W}let y=b(u),w=y(u);function v(B,O){return B[0]?create_else_block$w:create_if_block$1N}let k=v(u),S=k(u);return{c(){l=element("div"),f=element("span"),w.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,O){insert(B,l,O),append$2(l,f),w.m(f,null),append$2(l,p),append$2(l,m),S.m(m,null)},p(B,[O]){y!==(y=b(B))&&(w.d(1),w=y(B),w&&(w.c(),w.m(f,null))),k!==(k=v(B))&&(S.d(1),S=k(B),S&&(S.c(),S.m(m,null))),O&1&&toggle_class(l,"timeout",B[0])},i:noop$4,o:noop$4,d(B){B&&detach(l),w.d(),S.d()}}}function instance$2U(u,l,f){let{isMigrationDone:p}=l,{onMigrationDone:m}=l,{timeoutSeconds:b=60}=l,y=!1;async function w(){let v=0;for(;;){const k=5e3+Math.random()*5e3;if(await new Promise(B=>setTimeout(B,k)),v+=k,await p()){m();return}if(v>b*1e3){f(0,y=!0);return}}}return w(),u.$$set=v=>{"isMigrationDone"in v&&f(1,p=v.isMigrationDone),"onMigrationDone"in v&&f(2,m=v.onMigrationDone),"timeoutSeconds"in v&&f(3,b=v.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 w=0;w<y.length;w++)y[w](b)},subscribe:(m,b)=>{const y=l[m]||[];return l[m]=[...y,b],()=>{l[m]=l[m].filter(w=>w!==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$1=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,v=>{let k={};return v.forEach(S=>{k[S.name]=S}),k}),p=derived(l,v=>v.filter(k=>!k.related)),m=derived(l,v=>v.filter(k=>k.visible)),b=derived(m,v=>v.find(k=>k.primaryDisplay)),y=derived(m,v=>v.filter(k=>!k.primaryDisplay)),w=derived(l,v=>v.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:w}},createActions$e=u=>{const{columns:l,datasource:f}=u;return{columns:{...l,actions:{changeAllColumnWidths:async b=>{get_store_value(l).forEach(w=>{const{related:v}=w,k={width:b};v?f.actions.addSubSchemaMutation(v.subField,v.field,k):f.actions.addSchemaMutation(w.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 w=get_store_value(l);if(!y||!w){f.set([]);return}const v=get_store_value(p);let k;const S=w.primaryDisplay||(v==null?void 0:v.name);S&&y[S]&&(k=S),f.set(Object.keys(y).map(B=>{const O=y[B],R={type:O.type,name:B,label:O.displayName||B,schema:O,width:O.width||DefaultColumnWidth,visible:O.visible??!0,readonly:O.readonly,order:O.order,conditions:O.conditions,related:O.related,calculationType:O.calculationType,format:O.format,__left:void 0,__idx:void 0};return B===k&&(R.order=0,R.primaryDisplay=!0),R}).sort((B,O)=>{var K,J;if(B.name===k)return-1;if(O.name===k)return 1;const R=B.order,U=O.order;if(R!=null&&U!=null)return R<U?-1:1;if(R!=null)return-1;if(U!=null)return 1;const $=(K=B.schema)==null?void 0:K.autocolumn,X=(J=O.schema)==null?void 0:J.autocolumn;return $===X?0:$?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:w}=u;return{menu:{...l,actions:{open:(S,B)=>{var J;B.preventDefault(),B.stopPropagation();const O=document.getElementById(p),R=(J=O==null?void 0:O.getElementsByClassName("grid-data-outer"))==null?void 0:J[0];if(!R)return;const U=B.target.getBoundingClientRect(),$=R.getBoundingClientRect();let X=!1;if(get_store_value(b)>1){const{rowId:Z}=parseCellID(S);Z!==void 0&&get_store_value(m)[Z]&&(X=!0)}let K=!1;!X&&get_store_value(w)>1&&get_store_value(y)[S]&&(K=!0),!X&&!K&&f.set(S),l.set({left:U.left-$.left+B.offsetX,top:U.top-$.top+B.offsetY,visible:!0,multiRowMode:X,multiCellMode:K})},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,w=>w.length,0),b=derived([l,m,p],([w,v,k])=>Math.max(0,v-w-k));derived([b,m],([w,v])=>w<25&&v).subscribe(w=>{w&&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:w,datasource:v,stickyWidth:k,width:S,scrollLeft:B,maxScrollLeft:O}=u;let R=0,U,$;const X=(ye,be)=>{const de=get_store_value(m),Te=get_store_value(y),Fe=get_store_value(k),Ue=de.map(Oe=>({x:Oe.__left-Fe,column:Oe.name,insertAfter:!1})),he=de[de.length-1];he&&Ue.push({x:he.__left+he.width-Fe,column:he.name,insertAfter:!0}),l.set({sourceColumn:ye,targetColumn:null,breakpoints:Ue,gridLeft:Te.left,width:Te.width}),document.addEventListener("mousemove",K),document.addEventListener("mouseup",ie),document.addEventListener("touchmove",K),document.addEventListener("touchend",ie),document.addEventListener("touchcancel",ie),K(be)},K=ye=>{const{x:be}=parseEventLocation(ye);R=be,J();const de=get_store_value(B),Te=get_store_value(O),Fe=get_store_value(l),Ue=Math.min(140,get_store_value(S)/6),he=16,Oe=Math.max(0,Fe.gridLeft+Fe.width-be),Re=Math.max(0,be-Fe.gridLeft);if(Oe<Ue&&de<Te){const Ze=(Ue-Oe)/Ue*he;l.update(at=>({...at,increment:Ze})),Z()}else if(Re<Ue&&de>0){const Ze=-1*(Ue-Re)/Ue*he;l.update(at=>({...at,increment:Ze})),Z()}else se()},J=()=>{const ye=get_store_value(l),be=get_store_value(B);let de,Te=Number.MAX_SAFE_INTEGER;const Fe=R-ye.gridLeft+be;ye.breakpoints.forEach(Ue=>{const he=Math.abs(Ue.x-Fe);he<Te&&(Te=he,de=Ue)}),de&&(de.column!==ye.targetColumn||de.insertAfter!==ye.insertAfter)&&l.update(Ue=>({...Ue,targetColumn:de.column,insertAfter:de.insertAfter}))},Z=()=>{$||($=!0,U=setInterval(()=>{const ye=get_store_value(O),{increment:be}=get_store_value(l);b.update(de=>({...de,left:Math.max(0,Math.min(ye,de.left+be))})),J()},10))},se=()=>{$=!1,clearInterval(U)},ie=async()=>{se(),document.removeEventListener("mousemove",K),document.removeEventListener("mouseup",ie),document.removeEventListener("touchmove",K),document.removeEventListener("touchend",ie),document.removeEventListener("touchcancel",ie);const{sourceColumn:ye,targetColumn:be,insertAfter:de}=get_store_value(l);l.set(reorderInitialState),ye!==be&&await ce({sourceColumn:ye,targetColumn:be,insertAfter:de})},ce=async({sourceColumn:ye,targetColumn:be,insertAfter:de=!1})=>{const Te=get_store_value(f);let Fe=Te.findIndex(he=>he.name===ye),Ue=Te.findIndex(he=>he.name===be);de&&Ue++,f.update(he=>{const Oe=he.splice(Fe,1);return--Ue<Fe&&Ue++,he.toSpliced(Ue,0,Oe[0])}),get_store_value(f).forEach((he,Oe)=>{const{related:Re}=he,Ge={order:Oe};Re?v.actions.addSubSchemaMutation(Re.subField,Re.field,Ge):v.actions.addSchemaMutation(he.name,Ge)}),await v.actions.saveSchemaMutations()};return{reorder:{...l,actions:{startReordering:X,stopReordering:ie,moveColumnLeft:async ye=>{var Fe;const be=get_store_value(w),Te=get_store_value(p)[ye].__idx;await ce({sourceColumn:ye,targetColumn:(Fe=be[Te-1])==null?void 0:Fe.name})},moveColumnRight:async ye=>{var Fe;const be=get_store_value(w),Te=get_store_value(p)[ye].__idx;Te!==be.length-1&&await ce({sourceColumn:ye,targetColumn:(Fe=be[Te+1])==null?void 0:Fe.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=(v,k)=>{const{x:S}=parseEventLocation(k);k.stopPropagation(),k.preventDefault(),f.actions.blur(),l.set({width:v.width,left:v.__left,initialWidth:v.width,initialMouseX:S,column:v.name,related:v.related}),document.addEventListener("mousemove",b),document.addEventListener("mouseup",y),document.addEventListener("touchmove",b),document.addEventListener("touchend",y),document.addEventListener("touchcancel",y)},b=v=>{const{initialMouseX:k,initialWidth:S,width:B,column:O,related:R}=get_store_value(l),{x:U}=parseEventLocation(v),$=U-k,X=Math.round(Math.max(MinColumnWidth,S+$));Math.abs(B-X)<5||(R?p.actions.addSubSchemaMutation(R.subField,R.field,{width:B}):p.actions.addSchemaMutation(O,{width:B}),l.update(K=>({...K,width:X})))},y=async()=>{const v=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),v.width!==v.initialWidth&&await p.actions.saveSchemaMutations()};return{resize:{...l,actions:{startResizing:m,resetSize:async v=>{p.actions.addSchemaMutation(v.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),w=writable(null),v=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:w,definitionMissing:v}},deriveStores$a=u=>{const{rows:l,enrichedSchema:f}=u,p=derived([l,f],([b,y])=>{const w=Object.values(y||{}),v=w.filter(S=>S.related),k=w.filter(S=>S.format);return b.map((S,B)=>{const O=v.reduce((U,$)=>{const X=y[$.related.field];return U[$.name]=getRelatedTableValues(S,{...$,related:$.related},X),U},{}),R=k.reduce((U,$)=>(U[$.name]=$.format(S),U),{});return{...S,...O,__formatted:R,__idx:B}})}),m=derived(p,b=>{let y={};for(let w=0;w<b.length;w++)y[b[w]._id]=b[w];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:w,API:v,scroll:k,validation:S,focusedCellId:B,columns:O,rowChangeCache:R,inProgressChanges:U,hasNextPage:$,error:X,definitionMissing:K,notifications:J,fetch:Z,hasBudibaseIdentifiers:se,refreshing:ie,columnLookupMap:ce}=u,pe=writable(!1);let _e={},ye=null,be=null;w.subscribe(async ct=>{if(ye==null||ye(),ye=null,Z.set(null),pe.set(!1),b.set(!0),!w.actions.isDatasourceValid(ct)){X.set("Datasource is invalid");return}await tick();const lt=get_store_value(m),Et=get_store_value(y),ft=fetchData({API:v,datasource:ct,options:{filter:lt,sortColumn:Et.column,sortOrder:Et.order,limit:RowPageSize,paginate:!0,clientSideLimiting:!1}});ye=ft.subscribe(async It=>{if(It.error){let zt="An unknown error occurred";It.error.status===403?zt="You don't have access to this data":It.error.status===404&&It.error.url&&It.error.url.includes("/api/tables/")||It.error.url.includes("/api/v2/views/")?(K.set(!0),zt=It.error.message):It.error.message&&(zt=It.error.message),X.set(zt)}else if(It.loaded&&!It.loading){X.set(null),$.set(It.hasNextPage);const zt=get_store_value(pe),In=It.resetKey!==be,_n=be;be=It.resetKey,!zt&&_n&&(l.set([]),await tick()),(!zt||In)&&p.set(It.definition??null),zt?In&&k.update(pn=>({...pn,top:0})):(pe.set(!0),k.set({top:0,left:0})),mt(It.rows,In),b.set(!1)}ie.set(It.loading)}),Z.set(ft)});const de=(ct,lt)=>{var ft,It;let Et;if(typeof lt=="string"?Et=lt:typeof(lt==null?void 0:lt.message)=="string"&&(Et=lt.message),typeof lt!="string"&&!((ft=lt==null?void 0:lt.json)!=null&&ft.validationErrors)&&Et){const{field:zt}=parseCellID(get_store_value(B));zt&&(lt={json:{validationErrors:{[zt]:lt.message}}})}if(typeof lt!="string"&&((It=lt==null?void 0:lt.json)!=null&&It.validationErrors)){const zt=Object.keys(lt.json.validationErrors),In=get_store_value(O);let _n=[],pn=[];for(let Bn of zt)w.actions.canUseColumn(Bn)?_n.push(Bn):pn.push(Bn);const{json:fn}=lt;for(let Bn of _n){let Vt=fn.validationErrors[Bn];Array.isArray(Vt)&&(Vt=Vt[0]),(typeof Vt!="string"||!Vt.length)&&(lt="Something went wrong"),S.actions.setError(getCellID(ct,Bn),capitalise(Vt));const kn=In.findIndex(Hn=>Hn.name===Bn);kn!==-1&&!In[kn].visible&&O.update(Hn=>(Hn[kn].visible=!0,Hn.slice()))}for(let Bn of pn)get_store_value(J).error(`${Bn} is required but is missing`)}else get_store_value(J).error(Et||"An unknown error occurred")},Te=async({row:ct,idx:lt,bubble:Et=!1,notify:ft=!0})=>{try{const It=await w.actions.addRow(ct);return lt!=null?(_e[It._id]=!0,l.update(zt=>(zt.splice(lt,0,It),zt.slice()))):mt([It]),ft&&get_store_value(J).success("Row created successfully"),It}catch(It){if(Et)throw It;de(NewRowID,It),S.actions.focusFirstRowError(NewRowID)}},Fe=async ct=>{let lt=bt(ct);delete lt._id,delete lt._rev;try{const Et=await Te({row:lt,idx:ct.__idx+1,bubble:!0,notify:!1});return get_store_value(J).success("Duplicated 1 row"),Et}catch(Et){de(ct._id,Et),S.actions.focusFirstRowError(ct._id)}},Ue=async(ct,lt)=>{const Et=get_store_value(f),ft=ct.map(fn=>{var Bn;return(Bn=Et[fn._id])==null?void 0:Bn.__idx}),It=Math.max(...ft),zt=ct.length,In=ct.map(fn=>{let Bn=bt(fn);return delete Bn._id,delete Bn._rev,Bn});let _n=[],pn=0;for(let fn=0;fn<zt;fn++){try{const Bn=await w.actions.addRow(In[fn]);_n.push(Bn),_e[Bn._id]=!0,await sleep(50)}catch(Bn){pn++,console.error("Duplicating row failed",Bn)}lt==null||lt((fn+1)/zt)}return _n.length&&l.update(fn=>fn.toSpliced(It+1,0,..._n)),pn?get_store_value(J).error(`Failed to duplicate ${pn} of ${zt} rows`):_n.length&&get_store_value(J).success(`Duplicated ${_n.length} rows`),_n},he=(ct,lt)=>{var zt;const Et=get_store_value(l),It=(zt=get_store_value(f)[ct])==null?void 0:zt.__idx;lt?It!=null?l.update(In=>(In[It]={...lt},In)):mt([lt]):It!=null&&Tt([Et[It]])},Oe=async ct=>{try{const lt=await w.actions.getRow(ct);he(ct,lt)}catch{}},Re=async()=>{var ct;await((ct=get_store_value(Z))==null?void 0:ct.getInitialData())},Ge=(ct,lt)=>{const Et=Object.keys(lt||{});return!ct||!Et.length?!1:Et.some(ft=>ct[ft]!==lt[ft])},Ze=(ct,lt)=>{var zt,In;const Et=get_store_value(f),ft=get_store_value(ce),It=Et[ct];for(let _n of Object.keys(lt||{})){const pn=(In=(zt=ft[_n])==null?void 0:zt.schema)==null?void 0:In.type;(pn===FieldType.STRING||pn==FieldType.LONGFORM)&<[_n]!=null&&typeof lt[_n]!="string"&&(lt[_n]=JSON.stringify(lt[_n]))}return!It||!Ge(It,lt)?!1:(R.update(_n=>({..._n,[ct]:{..._n[ct],...lt}})),!0)},at=async({rowId:ct,changes:lt=null,updateState:Et=!0,handleErrors:ft=!0})=>{const zt=get_store_value(f)[ct];if(zt==null)return;let In;try{U.update(Bn=>({...Bn,[ct]:(Bn[ct]||0)+1}));const _n=get_store_value(R)[ct],pn={...bt(zt),..._n,...lt};In=await w.actions.updateRow(pn),In!=null&&In._id?Et&&l.update(Bn=>(Bn[zt.__idx]=In,Bn.slice())):In!=null&&In.id&&await Oe(In.id);const fn=get_store_value(R)[ct];R.update(Bn=>(Object.keys(_n||{}).forEach(Vt=>{_n[Vt]===(fn==null?void 0:fn[Vt])&&delete Bn[ct][Vt]}),Bn))}catch(_n){ft&&(de(ct,_n),S.actions.focusFirstRowError(ct))}return U.update(_n=>({..._n,[ct]:(_n[ct]||1)-1})),In},Pt=async({rowId:ct,column:lt,value:Et,apply:ft=!0})=>{Ze(ct,{[lt]:Et})&&ft&&await at({rowId:ct})},_t=async(ct,lt)=>{const Et=Object.keys(ct||{}),ft=Et.length;if(!ft)return;const It=get_store_value(ce);let zt=[],In=0;for(let _n=0;_n<ft;_n++){const pn=Et[_n];let fn=ct[pn]||{};for(let Bn of Object.keys(fn)){const Vt=It[Bn];O.actions.isReadonly(Vt)&&delete fn[Bn]}if(!Object.keys(fn).length){lt==null||lt((_n+1)/ft);continue}try{const Bn=await at({rowId:pn,changes:ct[pn],updateState:!1,handleErrors:!1});Bn?zt.push(Bn):In++,await sleep(50)}catch(Bn){In++,console.error("Failed to update row",Bn)}lt==null||lt((_n+1)/ft)}if(zt.length){const _n=get_store_value(f);l.update(pn=>{for(let fn of zt){const Bn=_n[fn._id].__idx;pn[Bn]=fn}return pn.slice()})}if(In){const _n=`row${ft===1?"":"s"}`;get_store_value(J).error(`Failed to update ${In} of ${ft} ${_n}`)}else if(zt.length){const _n=`row${zt.length===1?"":"s"}`;get_store_value(J).success(`Updated ${zt.length} ${_n}`)}},$e=async ct=>{ct!=null&&ct.length&&(ct.forEach(lt=>delete lt.__idx),await w.actions.deleteRows(ct),Tt(ct))},mt=(ct,lt)=>{var zt;lt&&(_e={});let Et=[],ft;const It=get_store_value(se);for(let In=0;In<ct.length;In++)ft=ct[In],!It&&!((zt=ft._id)!=null&&zt.length)&&(ft._id=generateRowID()),_e[ft._id]||(_e[ft._id]=!0,Et.push(ft));lt?l.set(Et):Et.length&&l.update(In=>[...In,...Et])},Tt=ct=>{const lt=ct.map(Et=>Et._id);l.update(Et=>Et.filter(ft=>!lt.includes(ft._id)))},ht=()=>{var ct;(ct=get_store_value(Z))==null||ct.nextPage()},bt=ct=>{let lt={...ct};return delete lt.__idx,delete lt.__metadata,delete lt.__formatted,!get_store_value(se)&&isGeneratedRowID(lt._id)&&delete lt._id,lt};return{rows:{...l,actions:{addRow:Te,duplicateRow:Fe,bulkDuplicate:Ue,updateValue:Pt,applyRowChanges:at,deleteRows:$e,loadNextPage:ht,refreshRow:Oe,replaceRow:he,refreshData:Re,cleanRow:bt,bulkUpdate:_t}}}},initialise$b=u=>{const{rowChangeCache:l,inProgressChanges:f,previousFocusedRowId:p,previousFocusedCellId:m,rows:b,validation:y}=u;p.subscribe(w=>{w&&!get_store_value(f)[w]&&Object.keys(get_store_value(l)[w]||{}).length&&l.update(v=>(delete v[w],v))}),m.subscribe(async w=>{if(!w)return;let{rowId:v,field:k}=parseCellID(w);v=v,k=k;const S=k in(get_store_value(l)[v]||{}),B=y.actions.rowHasErrors(v),O=get_store_value(f)[v];v&&!B&&S&&!O&&await b.actions.applyRowChanges({rowId:v})})},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:w,config:v}=u,k=derived(p,K=>((K==null?void 0:K.width)||0)+GutterWidth),S=derived([f,w],([K,J])=>{let Z=GutterWidth+Math.max(J,HPadding);return K.forEach(se=>{Z+=se.width}),Z}),B=derived([b,k],([K,J])=>K+J),O=derived([S,B],([K,J])=>Math.round(Math.max(K-J,0))),R=derived([S,B],([K,J])=>K>J),U=derived([l,m,R,v],([K,J,Z,se])=>{let ie=K.length*J+VPadding;return Z&&(ie+=ScrollBarSize*3),se.canAddRows&&(ie+=J),ie}),$=derived([y,U],([K,J])=>Math.round(Math.max(J-K,0))),X=derived([U,y],([K,J])=>K>J);return{stickyWidth:k,contentHeight:U,contentWidth:S,screenWidth:B,maxScrollTop:$,maxScrollLeft:O,showHScrollbar:R,showVScrollbar:X}},initialise$a=u=>{const{focusedCellId:l,focusedRow:f,scroll:p,bounds:m,rowHeight:b,stickyWidth:y,scrollTop:w,maxScrollTop:v,scrollLeft:k,maxScrollLeft:S,buttonColumnWidth:B,columnLookupMap:O}=u,R=derived([w,v],([$,X])=>$>X,!1),U=derived([k,S],([$,X])=>$>X,!1);R.subscribe($=>{$&&p.update(X=>({...X,top:get_store_value(v)}))}),U.subscribe($=>{$&&p.update(X=>({...X,left:get_store_value(S)}))}),l.subscribe(async $=>{await tick();const X=get_store_value(f),K=get_store_value(p),J=get_store_value(m),Z=get_store_value(b);if(X){const _e=X.__idx*Z,ye=K.top+J.height-Z-FocusedCellMinOffset;let be=_e-ye;if(be>0)p.update(de=>({...de,top:de.top+be}));else{const de=K.top-_e+FocusedCellMinOffset;de>0&&p.update(Te=>({...Te,top:Math.max(0,Te.top-de)}))}}const{field:se}=parseCellID($),ie=get_store_value(O)[se];if(!ie||ie.primaryDisplay)return;const ce=get_store_value(y);let pe=K.left-ie.__left+FocusedCellMinOffset+ce;if(pe>0)p.update(_e=>({..._e,left:Math.max(0,_e.left-pe)}));else{const _e=get_store_value(B),ye=ie.__left+ie.width,be=J.width+K.left-FocusedCellMinOffset-_e;pe=ye-be-ce,pe>0&&p.update(de=>({...de,left:de.left+pe}))}})},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),w=writable(null),v=writable(null),k=writable(!1),S=writable(!1),B=writable(!1),O=writable(0),R=writable({active:!1,sourceCellId:null,targetCellId:null});return{focusedCellId:f,focusedCellAPI:p,previousFocusedRowId:w,previousFocusedCellId:v,hoveredRowId:b,rowHeight:y,gridFocused:k,keyboardBlocked:S,isDragging:B,buttonColumnWidth:O,selectedRows:m,cellSelection:R}},deriveStores$8=u=>{const{focusedCellId:l,rows:f,rowLookupMap:p,rowHeight:m,width:b,selectedRows:y,cellSelection:w,columnLookupMap:v,visibleColumns:k}=u,S=derived(l,Z=>parseCellID(Z).rowId??null),B=derived([S,p],([Z,se])=>{if(Z!==null)return Z===NewRowID?{_id:NewRowID}:se[Z]}),O=derived(m,Z=>Z>=LargeRowHeight?3:Z>=MediumRowHeight?2:1),R=derived(b,Z=>Z<600),U=derived(y,Z=>Object.keys(Z).length),$=derived(w,Z=>Z.active),X=derived([w,p,v],([Z,se,ie])=>{var $e,mt;const{sourceCellId:ce,targetCellId:pe}=Z;if(!ce||!pe||ce===pe)return[];const _e=get_store_value(f),ye=get_store_value(k),be=parseCellID(ce),de=parseCellID(pe);if(be.rowId===NewRowID)return[];const Te=($e=se[be.rowId])==null?void 0:$e.__idx,Fe=(mt=se[de.rowId])==null?void 0:mt.__idx;if(Te==null||Fe==null)return[];const Ue=Math.min(Te,Fe);let he=Math.max(Te,Fe);he=Math.min(he,Ue+49);const Oe=ie[be.field].__idx||0,Re=ie[de.field].__idx||0,Ge=Math.min(Oe,Re),Ze=Math.max(Oe,Re);let at=[],Pt,_t;for(let Tt=Ue;Tt<=he;Tt++){let ht=[];for(let bt=Ge;bt<=Ze;bt++)Pt=_e[Tt]._id,_t=ye[bt].name,ht.push(getCellID(Pt,_t));at.push(ht)}return at}),K=derived(X,Z=>{let se={};for(let ie of Z)for(let ce of ie)se[ce]=!0;return se}),J=derived(K,Z=>Object.keys(Z).length);return{focusedRowId:S,focusedRow:B,contentLines:O,compact:R,selectedRowCount:U,isSelectingCells:$,selectedCells:X,selectedCellMap:K,selectedCellCount:J}},createActions$9=u=>{const{focusedCellId:l,hoveredRowId:f,selectedRows:p,rowLookupMap:m,rows:b,selectedRowCount:y,cellSelection:w,selectedCells:v}=u;let k=null;const S=()=>{l.set(null),f.set(null),K()},B=J=>{p.update(Z=>{let se={...Z,[J]:!Z[J]};return se[J]?k=get_store_value(m)[J].__idx:delete se[J],se})},O=J=>{if(!get_store_value(y)){B(J);return}if(k==null)return;const Z=get_store_value(m)[J].__idx;if(k===Z)return;const se=Math.min(k,Z),ie=Math.max(k,Z),ce=get_store_value(b);p.update(pe=>{for(let _e=se;_e<=ie;_e++)pe[ce[_e]._id]=!0;return pe})},R=J=>{w.set({active:!0,sourceCellId:J,targetCellId:J})},U=J=>{w.update(Z=>({...Z,targetCellId:J}))},$=()=>{w.update(J=>({...J,active:!1}))},X=(J,Z)=>{w.set({active:!1,sourceCellId:J,targetCellId:Z})},K=()=>{w.set({active:!1,sourceCellId:null,targetCellId:null})};return{ui:{actions:{blur:S}},selectedRows:{...p,actions:{toggleRow:B,bulkSelectRows:O}},selectedCells:{...v,actions:{startSelecting:R,updateTarget:U,stopSelecting:$,selectRange:X,clear:K}}}},initialise$9=u=>{const{focusedRowId:l,previousFocusedRowId:f,previousFocusedCellId:p,rowLookupMap:m,focusedCellId:b,selectedRows:y,hoveredRowId:w,definition:v,rowHeight:k,fixedRowHeight:S,selectedRowCount:B,menu:O,selectedCellCount:R,selectedCells:U,cellSelection:$}=u;m.subscribe(async J=>{await tick();const Z=get_store_value(l),se=get_store_value(y),ie=get_store_value(w),ce=_e=>J[_e]!=null;Z&&!ce(Z)&&b.set(null),ie&&!ce(ie)&&w.set(null);const pe=Object.keys(se);if(pe.length){let _e={...se},ye=!1;for(let be=0;be<pe.length;be++)ce(pe[be])||(delete _e[pe[be]],ye=!0);ye&&y.set(_e)}});let X=null;l.subscribe(J=>{f.set(X),X=J});let K=null;b.subscribe(J=>{p.set(K),K=J,J&&get_store_value(w)&&w.set(null),J&&get_store_value(B)&&y.set({}),J&&get_store_value(R)&&U.actions.clear(),O.actions.close()}),v.subscribe(J=>{get_store_value(S)||k.set((J==null?void 0:J.rowHeight)||DefaultRowHeight)}),S.subscribe(J=>{var Z;J?k.set(J):k.set(((Z=get_store_value(v))==null?void 0:Z.rowHeight)||DefaultRowHeight)}),B.subscribe(J=>{J&&(get_store_value(b)&&b.set(null),get_store_value(R)&&U.actions.clear())}),R.subscribe(J=>{J&&get_store_value(B)&&y.set({})}),$.subscribe(async({sourceCellId:J,targetCellId:Z})=>{J&&J!==Z&&get_store_value(b)!==J&&b.set(J)})},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(w=>{var k;const v=(k=w.gridMetadata)==null?void 0:k.focusedCellId;v&&v!==b&&(y[v]=w)}),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 w=y.findIndex(v=>v.sessionId===m.sessionId);return y[w]=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:w}=parseCellID(b);w!==void 0&&(m[w]||(m[w]=[]),m[w].push(b))}}),m})}},createActions$7=u=>{const{validation:l,focusedCellId:f,validationRowLookupMap:p}=u;return{validation:{...l,actions:{setError:(w,v)=>{w&&l.update(k=>({...k,[w]:v}))},rowHasErrors:w=>{var v;return((v=get_store_value(p)[w])==null?void 0:v.length)>0},focusFirstRowError:w=>{const v=get_store_value(p)[w],k=v==null?void 0:v[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 w of b)delete y[w];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:w,rowChangeCache:v,metadata:k}=u,S=derived([m,l],([$,X])=>Math.floor($/X)),B=derived([w,l],([$,X])=>Math.ceil($/X)+1),O=derived([p,S,B,v,k],([$,X,K,J,Z])=>$.slice(X,X+K).map(se=>({...se,...J[se._id],__metadata:Z[se._id]}))),R=derived(b,$=>{const X=MinColumnWidth;return Math.round($/X)*X}),U=derived([f,R,y],([$,X,K])=>{if(!$.length)return{};let J=0,Z=$[0].width;for(;Z<X&&J<$.length-1;)J++,Z+=$[J].width;let se=J+1,ie=Z;for(;ie<K+X&&se<$.length;)ie+=$[se].width,se++;let ce={};return $.slice(Math.max(0,J),se).forEach(pe=>{ce[pe.name]=!0}),ce});return{scrolledRowCount:S,visualRowCapacity:B,renderedRows:O,columnRenderMap:U}},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,w=derived(f,k=>k!=null),v=derived([l,f,p,m,b,y],([k,S,B,O,R,U])=>{var K;let $=k.value!=null;if(!$&&((K=U.externalClipboard)!=null&&K.clipboard)&&($=U.externalClipboard.clipboard.get().value!=null),!$||!O.canEditRows||!S||R===NewRowID)return!1;const X=B>1;return!(!k.multiCellCopy&&!X&&S.isReadonly())});return{copyAllowed:w,pasteAllowed:v}},createActions$6=u=>{const{clipboard:l,focusedCellAPI:f,copyAllowed:p,pasteAllowed:m,selectedCells:b,selectedCellCount:y,rowLookupMap:w,rowChangeCache:v,rows:k,focusedCellId:S,columnLookupMap:B,visibleColumns:O,props:R}=u,U=()=>{if(!get_store_value(p))return;const K=get_store_value(b),J=get_store_value(f),se=get_store_value(y)>1;if(se){const ie=get_store_value(w),ce=get_store_value(v),pe=[];for(const ye of K){const be=[];for(const de of ye){const{rowId:Te="",field:Fe=""}=parseCellID(de),Ue={...ie[Te],...ce[Te]};be.push(Ue[Fe])}pe.push(be)}l.set({value:pe,multiCellCopy:!0});const{externalClipboard:_e}=get_store_value(R);_e!=null&&_e.onCopy&&_e.onCopy({value:pe,multiCellCopy:!0,tableId:_e.tableId,viewId:_e.viewId})}else{const ie=J==null?void 0:J.getValue();l.set({value:ie,multiCellCopy:se});const{externalClipboard:ce}=get_store_value(R);ce!=null&&ce.onCopy&&ce.onCopy({value:ie,multiCellCopy:!1,tableId:ce.tableId,viewId:ce.viewId});let pe="";ie!=null&&ie!==""&&(pe=typeof ie=="object"?JSON.stringify(ie):ie),copyToClipboard(pe)}},$=async K=>{var pe,_e;if(!get_store_value(m))return;const{externalClipboard:J}=get_store_value(R);let Z=get_store_value(l);if(J!=null&&J.clipboard){const ye=J.clipboard.get();ye.value!==void 0&&(ye.multiCellCopy?Z={value:ye.value,multiCellCopy:!0}:Z={value:ye.value,multiCellCopy:!1})}const{value:se,multiCellCopy:ie}=Z,ce=get_store_value(y)>1;if(ie)if(ce){let ye=se;const be=get_store_value(b),de=be.length,Te=be[0].length,Fe=se.length,Ue=se[0].length;if(de>Fe&&Te===Ue){ye=[];for(let he=0;he<de;he++)ye.push(se[he%Fe])}await X(ye,K)}else{const ye=get_store_value(S),{rowId:be,field:de}=parseCellID(ye),Te=get_store_value(w),Fe=get_store_value(B),Ue=Te[be].__idx,he=Fe[de].__idx||0,Oe=get_store_value(k),Re=get_store_value(O),Ge=Re.length,Ze=Oe.length,at=se.length,Pt=se[0].length,_t=Math.min(at,Ze-Ue)-1,$e=Math.min(Pt,Ge-he)-1,mt=Oe[Ue+_t]._id,Tt=Re[he+$e].name,ht=getCellID(mt,Tt);ht===ye?(pe=get_store_value(f))==null||pe.setValue(se[0][0]):(b.actions.selectRange(ye,ht),await X(se,K))}else if(ce){const ye=get_store_value(b).map(be=>be.map(()=>se));await X(ye,K)}else(_e=get_store_value(f))==null||_e.setValue(se??null)},X=async(K,J)=>{const Z=get_store_value(b),se=Math.min(K.length,Z.length),ie=Math.min(K[0].length,Z[0].length);let ce={};for(let pe=0;pe<se;pe++)for(let _e=0;_e<ie;_e++){const ye=Z[pe][_e];let{rowId:be,field:de}=parseCellID(ye);be=be,de=de,ce[be]||(ce[be]={}),ce[be][de]=K[pe][_e]}await k.actions.bulkUpdate(ce,J)};return{clipboard:{...l,actions:{copy:U,paste:$}}}},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,O=>O[B]),p=f("datasource"),m=f("initialSortColumn"),b=f("initialSortOrder"),y=f("initialFilter"),w=f("fixedRowHeight"),v=f("schemaOverrides"),k=f("notifySuccess"),S=f("notifyError");return{datasource:p,initialSortColumn:m,initialSortOrder:b,initialFilter:y,fixedRowHeight:w,schemaOverrides:v,notifySuccess:k,notifyError:S}},deriveStores$3=u=>{const{props:l,definition:f,hasNonAutoColumn:p}=u;return{config:derived([l,f,p],([b,y,w])=>{var S;let v={...b,canSelectRows:!1};const k=(S=b.datasource)==null?void 0:S.type;return k==="viewV2"&&(v.canEditColumns=!1,(y==null?void 0:y.type)===ViewV2Type.CALCULATION&&(v.canAddRows=!1,v.canEditRows=!1,v.canDeleteRows=!1,v.canExpandRows=!1)),w||(v.canAddRows=!1),k&&!["table","viewV2"].includes(k)&&(v.canAddRows=!1,v.canEditRows=!1,v.canDeleteRows=!1,v.canExpandRows=!1,v.canSaveSchema=!1,v.canEditColumns=!1),v.canSelectRows=!0,v})}},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(w=>({...w,column:y}))}),p.subscribe(y=>{l.update(w=>({...w,order:y||SortOrder.ASCENDING}))}),derived([l,m],([y,w])=>!(y!=null&&y.column)||!w?!0:w[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 w;if(!(b!=null&&b.length))return m;const y={logicalOperator:UILogicalOperator.ALL,groups:[{logicalOperator:UILogicalOperator.ALL,filters:b}]};return(w=m==null?void 0:m.groups)!=null&&w.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}`,w=m.schema.type,v={field:m.name,id:y,operator:BasicOperator.STRING,valueType:"value",type:w,value:b};w===FieldType.NUMBER?(v.value=parseFloat(b),v.operator=BasicOperator.EQUAL):w===FieldType.BIGINT?v.operator=BasicOperator.EQUAL:w===FieldType.ARRAY&&(v.operator=ArrayOperator.CONTAINS),f.update(k=>(k=k==null?void 0:k.filter(S=>S.id!==y),b&&k.push(v),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,w=derived(f,S=>{const B=getDatasourceSchema({API:l,datasource:get_store_value(m),definition:S??void 0});return B?(Object.keys(B).forEach(O=>{typeof B[O]!="object"&&(B[O]={name:O,type:B[O]})}),B):null}),v=derived([w,p,b,y],([S,B,O,R])=>{if(!S)return null;const U=enrichSchemaWithRelColumns(S),$={};return Object.keys(U||{}).forEach(X=>{var K;if($[X]={...U==null?void 0:U[X],...B==null?void 0:B[X],...O[X]},R[X]){(K=$[X]).columns??(K.columns={});for(const J of Object.keys(R[X])){const Z=R[X][J];$[X].columns[J]={...$[X].columns[J],...Z}}}}),$}),k=derived([m,f],([S,B])=>{var R,U;let O=S==null?void 0:S.type;return O==="provider"&&(O=(U=(R=S.value)==null?void 0:R.datasource)==null?void 0:U.type),O==="viewV2"&&B&&"type"in B&&B.type===ViewV2Type.CALCULATION?!1:!!O&&["table","viewV2","link"].includes(O)});return{schema:w,enrichedSchema:v,hasBudibaseIdentifiers:k}},createActions$4=u=>{const{API:l,datasource:f,definition:p,config:m,dispatch:b,table:y,viewV2:w,nonPlus:v,schemaMutations:k,subSchemaMutations:S,schema:B,notifications:O}=u,R=()=>{const de=get_store_value(f),Te=de==null?void 0:de.type;if(!Te)return null;switch(Te){case"table":return y;case"viewV2":return w;default:return v}},U=async()=>{const de=await getDatasourceDefinition({API:l,datasource:get_store_value(f)});p.set(de??null)},$=async de=>{var Fe;const Te=get_store_value(p);if(p.set(de),get_store_value(m).canSaveSchema)try{await((Fe=R())==null?void 0:Fe.actions.saveDefinition(de)),b("updatedatasource",de)}catch(Ue){const he=(Ue==null?void 0:Ue.message)||Ue||"Unknown error";get_store_value(O).error(`Error saving schema: ${he}`),p.set(Te)}},X=async de=>{let Te=cloneDeep$4(get_store_value(p));return Te.primaryDisplay=de,Te.schema&&(Te.schema[de].constraints||(Te.schema[de].constraints={}),Te.schema[de].constraints.presence={allowEmpty:!1},"default"in Te.schema[de]&&delete Te.schema[de].default),await $(Te)},K=(de,Te)=>{!de||!Te||k.update(Fe=>({...Fe,[de]:{...Fe[de],...Te}}))},J=(de,Te,Fe)=>{!de||!Te||!Fe||S.update(Ue=>({...Ue,[Te]:{...Ue[Te],[de]:{...(Ue[Te]||{})[de],...Fe}}}))},Z=async()=>{if(!get_store_value(m).canSaveSchema)return;const de=get_store_value(p),Te=get_store_value(k),Fe=get_store_value(S),Ue=get_store_value(B)||{};let he={};Object.keys(Ue).forEach(Oe=>{var Re;if(he[Oe]={...Ue[Oe],...Te[Oe]},Fe[Oe]){(Re=he[Oe]).columns??(Re.columns={});for(const Ge of Object.keys(Fe[Oe])){const Ze=Fe[Oe][Ge];he[Oe].columns[Ge]={...he[Oe].columns[Ge],...Ze}}}}),await $({...de,schema:he}),se()},se=()=>{k.set({}),S.set({})};return{datasource:{...f,actions:{refreshDefinition:U,saveDefinition:$,addRow:async de=>{var Te;return await((Te=R())==null?void 0:Te.actions.addRow(de))},updateRow:async de=>{var Te;return await((Te=R())==null?void 0:Te.actions.updateRow(de))},deleteRows:async de=>{var Te;return await((Te=R())==null?void 0:Te.actions.deleteRows(de))},getRow:async de=>{var Te;return await((Te=R())==null?void 0:Te.actions.getRow(de))},isDatasourceValid:de=>{var Te;return(Te=R())==null?void 0:Te.actions.isDatasourceValid(de)},canUseColumn:de=>{var Te;return(Te=R())==null?void 0:Te.actions.canUseColumn(de)},changePrimaryDisplay:X,addSchemaMutation:K,addSubSchemaMutation:J,saveSchemaMutations:Z,resetSchemaMutations:se}}}},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 O;S={...S,tableId:(O=get_store_value(f))==null?void 0:O.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 R;const B=await l.searchTable(get_store_value(f).tableId,{limit:1,query:{equal:{_id:S}},paginate:!1}),O=(R=B==null?void 0:B.rows)==null?void 0:R[0];if(O)return{...O,_id:O._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:w,initialFilter:v,initialSortColumn:k,initialSortOrder:S}=u;let B=[];l.subscribe(O=>{B==null||B.forEach(R=>R()),B=[],w.actions.isDatasourceValid(O)&&(p.set(get_store_value(v)??void 0),m.set([]),y.set({column:get_store_value(k),order:get_store_value(S)||SortOrder.ASCENDING}),B.push(b.subscribe(R=>{var $,X;const U=get_store_value(f);((X=($=U==null?void 0:U.options)==null?void 0:$.datasource)==null?void 0:X.tableId)===O.tableId&&U.update({filter:R})})),B.push(y.subscribe(R=>{var $,X;const U=get_store_value(f);((X=($=U==null?void 0:U.options)==null?void 0:$.datasource)==null?void 0:X.tableId)===O.tableId&&U.update({sortOrder:R.order||SortOrder.ASCENDING,sortColumn:R.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 O=await l.saveRow(S,SuppressErrors);return{...O,_id:O._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 R;const B=await l.viewV2.fetch(get_store_value(f).id,{limit:1,query:{equal:{_id:S}},paginate:!1}),O=(R=B==null?void 0:B.rows)==null?void 0:R[0];if(O)return{...O,_id:O._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:w,subscribe:v,viewV2:k,initialFilter:S,initialSortColumn:B,initialSortOrder:O,config:R,fetch:U}=u;let $=[];f.subscribe(X=>{if($==null||$.forEach(J=>J()),$=[],!k.actions.isDatasourceValid(X))return;b.set(get_store_value(S)??void 0),y.set([]),p.set({column:get_store_value(B),order:get_store_value(O)||SortOrder.ASCENDING}),$.push(l.subscribe(J=>{var Z,se;get_store_value(R).canSaveSchema&&(!J||!("id"in J)||(J==null?void 0:J.id)===X.id&&(get_store_value(B)||p.set({column:(Z=J.sort)==null?void 0:Z.field,order:((se=J.sort)==null?void 0:se.order)||SortOrder.ASCENDING}),get_store_value(S)||b.set(J.queryUI)))}));function K(J,Z){const se=J.column??null,ie=(Z==null?void 0:Z.field)??null;if(se!==ie)return!0;if(!se)return!1;const ce=J.order??null,pe=(Z==null?void 0:Z.order)??null;return ce!==pe}$.push(p.subscribe(async J=>{var ie,ce;const Z=get_store_value(l);if(!Z||!("id"in Z)||(Z==null?void 0:Z.id)!==X.id||!K(J,Z.sort))return;get_store_value(R).canSaveSchema&&await f.actions.saveDefinition({...Z,sort:{field:J.column,order:J.order||SortOrder.ASCENDING}});const se=get_store_value(U);((ce=(ie=se==null?void 0:se.options)==null?void 0:ie.datasource)==null?void 0:ce.id)===X.id&&se.update({sortOrder:J.order,sortColumn:J.column??void 0})})),$==null||$.push(b.subscribe(async J=>{if(!get_store_value(R).canSaveSchema)return;const Z=get_store_value(l);!Z||!("id"in Z)||(Z==null?void 0:Z.id)===X.id&&JSON.stringify(J)!==JSON.stringify(Z.queryUI)&&(await f.actions.saveDefinition({...Z,queryUI:J}),await m.actions.refreshData())})),$.push(y.subscribe(J=>{var se,ie;if(!get_store_value(R).canSaveSchema)return;const Z=get_store_value(U);((ie=(se=Z==null?void 0:Z.options)==null?void 0:se.datasource)==null?void 0:ie.id)===X.id&&Z.update({filter:J})})),$.push(w.subscribe(J=>{var se,ie;if(get_store_value(R).canSaveSchema)return;const Z=get_store_value(U);((ie=(se=Z==null?void 0:Z.options)==null?void 0:se.datasource)==null?void 0:ie.id)===X.id&&Z.update({filter:J})})),$.push(v("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:w,initialSortColumn:v,initialSortOrder:k,fetch:S}=u;let B=[];l.subscribe(O=>{B==null||B.forEach(R=>R()),B=[],y.actions.isDatasourceValid(O)&&(p.set(get_store_value(w)??void 0),m.set([]),f.set({column:get_store_value(v),order:get_store_value(k)||SortOrder.ASCENDING}),B.push(b.subscribe(R=>{var $;const U=get_store_value(S);isSameDatasource(($=U==null?void 0:U.options)==null?void 0:$.datasource,O)&&(U==null||U.update({filter:R}))})),B.push(f.subscribe(R=>{var $;const U=get_store_value(S);isSameDatasource(($=U==null?void 0:U.options)==null?void 0:$.datasource,O)&&(U==null||U.update({sortOrder:R.order||SortOrder.ASCENDING,sortColumn:R.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 w=>(f[w]||(f[w]=l.fetchTableDefinition(w)),await f[w]);return{cache:{actions:{getPrimaryDisplayForTableId:async w=>{var S,B;const v=await m(w);return(v==null?void 0:v.primaryDisplay)||((B=(S=v==null?void 0:v.schema)==null?void 0:S[0])==null?void 0:B.name)},getTable:async w=>await m(w),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 w of m)for(let v of w.conditions||[])y.push({...v,column:w.name,type:w.schema.type});if(b.buttons)for(let w of b.buttons)for(let v of w.conditions||[])y.push({...v,target:"button",buttonIndex:b.buttons.indexOf(w)});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 w={};for(let v of m){const k=y[v._id];!(!v._rev||k&&k.version!==v._rev||v._rev===EXTERNAL_ROW_REV)&&k||(y[v._id]=evaluateConditions(v,b,u))}Object.keys(w).length&&l.update(v=>({...v,...w}))})},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 v of b.buttons)if(v.getRowConditions){const k=v.getRowConditions(u)||[];for(let S of k)y.push({...S,target:"button",buttonIndex:b.buttons.indexOf(v)})}}const w=new Set;for(let v of y)v.target==="button"&&v.action==="show"&&typeof v.buttonIndex=="number"&&(w.add(v.buttonIndex),p.button[v.buttonIndex]||(p.button[v.buttonIndex]={}),p.button[v.buttonIndex].hidden=!0);for(let v of y)try{let{column:k,type:S,referenceValue:B,operator:O,metadataKey:R,metadataValue:U,target:$,buttonIndex:X,newValue:K,action:J,setting:Z,settingValue:se}=v,ie;$==="button"?ie=K:ie=u[k];let ce=S;S===FieldType.FORMULA&&(ie===!0||ie===!1?ce=FieldType.BOOLEAN:typeof ie=="number"&&(ce=FieldType.NUMBER));const pe=TypeCoercionMap[ce];pe&&(ie=pe(ie),B=pe(B));let ye=buildQuery$1([{operator:O,type:S,field:"value",value:B}]);ye.onEmptyFilter=EmptyFilterOption.RETURN_NONE,runQuery$1([{value:ie}],ye).length>0&&($==="button"&&typeof X=="number"?(p.button[X]||(p.button[X]={}),J==="hide"?p.button[X].hidden=!0:J==="show"?p.button[X].hidden=!1:J==="update"&&Z&&(p.button[X][Z]=se)):$==="row"?p.row={...p.row,[R]:U}:p.cell[k]={...p.cell[k],[R]:U})}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,w){insert(y,l,w),insert(y,f,w),insert(y,p,w),insert(y,m,w),insert(y,b,w)},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,O){return B[0]?create_else_block_1$b:create_if_block_1$W}let y=b(u),w=y(u);function v(B,O){return B[0]?create_else_block$w:create_if_block$1N}let k=v(u),S=k(u);return{c(){l=element("div"),f=element("span"),w.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,O){insert(B,l,O),append$2(l,f),w.m(f,null),append$2(l,p),append$2(l,m),S.m(m,null)},p(B,[O]){y!==(y=b(B))&&(w.d(1),w=y(B),w&&(w.c(),w.m(f,null))),k!==(k=v(B))&&(S.d(1),S=k(B),S&&(S.c(),S.m(m,null))),O&1&&toggle_class(l,"timeout",B[0])},i:noop$4,o:noop$4,d(B){B&&detach(l),w.d(),S.d()}}}function instance$2U(u,l,f){let{isMigrationDone:p}=l,{onMigrationDone:m}=l,{timeoutSeconds:b=60}=l,y=!1;async function w(){let v=0;for(;;){const k=5e3+Math.random()*5e3;if(await new Promise(B=>setTimeout(B,k)),v+=k,await p()){m();return}if(v>b*1e3){f(0,y=!0);return}}}return w(),u.$$set=v=>{"isMigrationDone"in v&&f(1,p=v.isMigrationDone),"onMigrationDone"in v&&f(2,m=v.onMigrationDone),"timeoutSeconds"in v&&f(3,b=v.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 w=0;w<y.length;w++)y[w](b)},subscribe:(m,b)=>{const y=l[m]||[];return l[m]=[...y,b],()=>{l[m]=l[m].filter(w=>w!==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$1=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,v=>{let k={};return v.forEach(S=>{k[S.name]=S}),k}),p=derived(l,v=>v.filter(k=>!k.related)),m=derived(l,v=>v.filter(k=>k.visible)),b=derived(m,v=>v.find(k=>k.primaryDisplay)),y=derived(m,v=>v.filter(k=>!k.primaryDisplay)),w=derived(l,v=>v.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:w}},createActions$e=u=>{const{columns:l,datasource:f}=u;return{columns:{...l,actions:{changeAllColumnWidths:async b=>{get_store_value(l).forEach(w=>{const{related:v}=w,k={width:b};v?f.actions.addSubSchemaMutation(v.subField,v.field,k):f.actions.addSchemaMutation(w.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 w=get_store_value(l);if(!y||!w){f.set([]);return}const v=get_store_value(p);let k;const S=w.primaryDisplay||(v==null?void 0:v.name);S&&y[S]&&(k=S),f.set(Object.keys(y).map(B=>{const O=y[B],R={type:O.type,name:B,label:O.displayName||B,schema:O,width:O.width||DefaultColumnWidth,visible:O.visible??!0,readonly:O.readonly,order:O.order,conditions:O.conditions,related:O.related,calculationType:O.calculationType,format:O.format,__left:void 0,__idx:void 0};return B===k&&(R.order=0,R.primaryDisplay=!0),R}).sort((B,O)=>{var K,J;if(B.name===k)return-1;if(O.name===k)return 1;const R=B.order,U=O.order;if(R!=null&&U!=null)return R<U?-1:1;if(R!=null)return-1;if(U!=null)return 1;const $=(K=B.schema)==null?void 0:K.autocolumn,X=(J=O.schema)==null?void 0:J.autocolumn;return $===X?0:$?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:w}=u;return{menu:{...l,actions:{open:(S,B)=>{var J;B.preventDefault(),B.stopPropagation();const O=document.getElementById(p),R=(J=O==null?void 0:O.getElementsByClassName("grid-data-outer"))==null?void 0:J[0];if(!R)return;const U=B.target.getBoundingClientRect(),$=R.getBoundingClientRect();let X=!1;if(get_store_value(b)>1){const{rowId:Z}=parseCellID(S);Z!==void 0&&get_store_value(m)[Z]&&(X=!0)}let K=!1;!X&&get_store_value(w)>1&&get_store_value(y)[S]&&(K=!0),!X&&!K&&f.set(S),l.set({left:U.left-$.left+B.offsetX,top:U.top-$.top+B.offsetY,visible:!0,multiRowMode:X,multiCellMode:K})},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,w=>w.length,0),b=derived([l,m,p],([w,v,k])=>Math.max(0,v-w-k));derived([b,m],([w,v])=>w<25&&v).subscribe(w=>{w&&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:w,datasource:v,stickyWidth:k,width:S,scrollLeft:B,maxScrollLeft:O}=u;let R=0,U,$;const X=(ye,be)=>{const de=get_store_value(m),Te=get_store_value(y),Fe=get_store_value(k),Ue=de.map(Oe=>({x:Oe.__left-Fe,column:Oe.name,insertAfter:!1})),he=de[de.length-1];he&&Ue.push({x:he.__left+he.width-Fe,column:he.name,insertAfter:!0}),l.set({sourceColumn:ye,targetColumn:null,breakpoints:Ue,gridLeft:Te.left,width:Te.width}),document.addEventListener("mousemove",K),document.addEventListener("mouseup",ie),document.addEventListener("touchmove",K),document.addEventListener("touchend",ie),document.addEventListener("touchcancel",ie),K(be)},K=ye=>{const{x:be}=parseEventLocation(ye);R=be,J();const de=get_store_value(B),Te=get_store_value(O),Fe=get_store_value(l),Ue=Math.min(140,get_store_value(S)/6),he=16,Oe=Math.max(0,Fe.gridLeft+Fe.width-be),Re=Math.max(0,be-Fe.gridLeft);if(Oe<Ue&&de<Te){const Ze=(Ue-Oe)/Ue*he;l.update(at=>({...at,increment:Ze})),Z()}else if(Re<Ue&&de>0){const Ze=-1*(Ue-Re)/Ue*he;l.update(at=>({...at,increment:Ze})),Z()}else se()},J=()=>{const ye=get_store_value(l),be=get_store_value(B);let de,Te=Number.MAX_SAFE_INTEGER;const Fe=R-ye.gridLeft+be;ye.breakpoints.forEach(Ue=>{const he=Math.abs(Ue.x-Fe);he<Te&&(Te=he,de=Ue)}),de&&(de.column!==ye.targetColumn||de.insertAfter!==ye.insertAfter)&&l.update(Ue=>({...Ue,targetColumn:de.column,insertAfter:de.insertAfter}))},Z=()=>{$||($=!0,U=setInterval(()=>{const ye=get_store_value(O),{increment:be}=get_store_value(l);b.update(de=>({...de,left:Math.max(0,Math.min(ye,de.left+be))})),J()},10))},se=()=>{$=!1,clearInterval(U)},ie=async()=>{se(),document.removeEventListener("mousemove",K),document.removeEventListener("mouseup",ie),document.removeEventListener("touchmove",K),document.removeEventListener("touchend",ie),document.removeEventListener("touchcancel",ie);const{sourceColumn:ye,targetColumn:be,insertAfter:de}=get_store_value(l);l.set(reorderInitialState),ye!==be&&await ce({sourceColumn:ye,targetColumn:be,insertAfter:de})},ce=async({sourceColumn:ye,targetColumn:be,insertAfter:de=!1})=>{const Te=get_store_value(f);let Fe=Te.findIndex(he=>he.name===ye),Ue=Te.findIndex(he=>he.name===be);de&&Ue++,f.update(he=>{const Oe=he.splice(Fe,1);return--Ue<Fe&&Ue++,he.toSpliced(Ue,0,Oe[0])}),get_store_value(f).forEach((he,Oe)=>{const{related:Re}=he,Ge={order:Oe};Re?v.actions.addSubSchemaMutation(Re.subField,Re.field,Ge):v.actions.addSchemaMutation(he.name,Ge)}),await v.actions.saveSchemaMutations()};return{reorder:{...l,actions:{startReordering:X,stopReordering:ie,moveColumnLeft:async ye=>{var Fe;const be=get_store_value(w),Te=get_store_value(p)[ye].__idx;await ce({sourceColumn:ye,targetColumn:(Fe=be[Te-1])==null?void 0:Fe.name})},moveColumnRight:async ye=>{var Fe;const be=get_store_value(w),Te=get_store_value(p)[ye].__idx;Te!==be.length-1&&await ce({sourceColumn:ye,targetColumn:(Fe=be[Te+1])==null?void 0:Fe.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=(v,k)=>{const{x:S}=parseEventLocation(k);k.stopPropagation(),k.preventDefault(),f.actions.blur(),l.set({width:v.width,left:v.__left,initialWidth:v.width,initialMouseX:S,column:v.name,related:v.related}),document.addEventListener("mousemove",b),document.addEventListener("mouseup",y),document.addEventListener("touchmove",b),document.addEventListener("touchend",y),document.addEventListener("touchcancel",y)},b=v=>{const{initialMouseX:k,initialWidth:S,width:B,column:O,related:R}=get_store_value(l),{x:U}=parseEventLocation(v),$=U-k,X=Math.round(Math.max(MinColumnWidth,S+$));Math.abs(B-X)<5||(R?p.actions.addSubSchemaMutation(R.subField,R.field,{width:B}):p.actions.addSchemaMutation(O,{width:B}),l.update(K=>({...K,width:X})))},y=async()=>{const v=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),v.width!==v.initialWidth&&await p.actions.saveSchemaMutations()};return{resize:{...l,actions:{startResizing:m,resetSize:async v=>{p.actions.addSchemaMutation(v.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),w=writable(null),v=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:w,definitionMissing:v}},deriveStores$a=u=>{const{rows:l,enrichedSchema:f}=u,p=derived([l,f],([b,y])=>{const w=Object.values(y||{}),v=w.filter(S=>S.related),k=w.filter(S=>S.format);return b.map((S,B)=>{const O=v.reduce((U,$)=>{const X=y[$.related.field];return U[$.name]=getRelatedTableValues(S,{...$,related:$.related},X),U},{}),R=k.reduce((U,$)=>(U[$.name]=$.format(S),U),{});return{...S,...O,__formatted:R,__idx:B}})}),m=derived(p,b=>{let y={};for(let w=0;w<b.length;w++)y[b[w]._id]=b[w];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:w,API:v,scroll:k,validation:S,focusedCellId:B,columns:O,rowChangeCache:R,inProgressChanges:U,hasNextPage:$,error:X,definitionMissing:K,notifications:J,fetch:Z,hasBudibaseIdentifiers:se,refreshing:ie,columnLookupMap:ce}=u,pe=writable(!1);let _e={},ye=null,be=null;w.subscribe(async ct=>{if(ye==null||ye(),ye=null,Z.set(null),pe.set(!1),b.set(!0),!w.actions.isDatasourceValid(ct)){X.set("Datasource is invalid");return}await tick();const lt=get_store_value(m),Et=get_store_value(y),ft=fetchData({API:v,datasource:ct,options:{filter:lt,sortColumn:Et.column,sortOrder:Et.order,limit:RowPageSize,paginate:!0,clientSideLimiting:!1}});ye=ft.subscribe(async It=>{if(It.error){let zt="An unknown error occurred";It.error.status===403?zt="You don't have access to this data":It.error.status===404&&It.error.url&&It.error.url.includes("/api/tables/")||It.error.url.includes("/api/v2/views/")?(K.set(!0),zt=It.error.message):It.error.message&&(zt=It.error.message),X.set(zt)}else if(It.loaded&&!It.loading){X.set(null),$.set(It.hasNextPage);const zt=get_store_value(pe),In=It.resetKey!==be,_n=be;be=It.resetKey,!zt&&_n&&(l.set([]),await tick()),(!zt||In)&&p.set(It.definition??null),zt?In&&k.update(pn=>({...pn,top:0})):(pe.set(!0),k.set({top:0,left:0})),mt(It.rows,In),b.set(!1)}ie.set(It.loading)}),Z.set(ft)});const de=(ct,lt)=>{var ft,It;let Et;if(typeof lt=="string"?Et=lt:typeof(lt==null?void 0:lt.message)=="string"&&(Et=lt.message),typeof lt!="string"&&!((ft=lt==null?void 0:lt.json)!=null&&ft.validationErrors)&&Et){const{field:zt}=parseCellID(get_store_value(B));zt&&(lt={json:{validationErrors:{[zt]:lt.message}}})}if(typeof lt!="string"&&((It=lt==null?void 0:lt.json)!=null&&It.validationErrors)){const zt=Object.keys(lt.json.validationErrors),In=get_store_value(O);let _n=[],pn=[];for(let Bn of zt)w.actions.canUseColumn(Bn)?_n.push(Bn):pn.push(Bn);const{json:fn}=lt;for(let Bn of _n){let Vt=fn.validationErrors[Bn];Array.isArray(Vt)&&(Vt=Vt[0]),(typeof Vt!="string"||!Vt.length)&&(lt="Something went wrong"),S.actions.setError(getCellID(ct,Bn),capitalise(Vt));const kn=In.findIndex(Hn=>Hn.name===Bn);kn!==-1&&!In[kn].visible&&O.update(Hn=>(Hn[kn].visible=!0,Hn.slice()))}for(let Bn of pn)get_store_value(J).error(`${Bn} is required but is missing`)}else get_store_value(J).error(Et||"An unknown error occurred")},Te=async({row:ct,idx:lt,bubble:Et=!1,notify:ft=!0})=>{try{const It=await w.actions.addRow(ct);return lt!=null?(_e[It._id]=!0,l.update(zt=>(zt.splice(lt,0,It),zt.slice()))):mt([It]),ft&&get_store_value(J).success("Row created successfully"),It}catch(It){if(Et)throw It;de(NewRowID,It),S.actions.focusFirstRowError(NewRowID)}},Fe=async ct=>{let lt=bt(ct);delete lt._id,delete lt._rev;try{const Et=await Te({row:lt,idx:ct.__idx+1,bubble:!0,notify:!1});return get_store_value(J).success("Duplicated 1 row"),Et}catch(Et){de(ct._id,Et),S.actions.focusFirstRowError(ct._id)}},Ue=async(ct,lt)=>{const Et=get_store_value(f),ft=ct.map(fn=>{var Bn;return(Bn=Et[fn._id])==null?void 0:Bn.__idx}),It=Math.max(...ft),zt=ct.length,In=ct.map(fn=>{let Bn=bt(fn);return delete Bn._id,delete Bn._rev,Bn});let _n=[],pn=0;for(let fn=0;fn<zt;fn++){try{const Bn=await w.actions.addRow(In[fn]);_n.push(Bn),_e[Bn._id]=!0,await sleep(50)}catch(Bn){pn++,console.error("Duplicating row failed",Bn)}lt==null||lt((fn+1)/zt)}return _n.length&&l.update(fn=>fn.toSpliced(It+1,0,..._n)),pn?get_store_value(J).error(`Failed to duplicate ${pn} of ${zt} rows`):_n.length&&get_store_value(J).success(`Duplicated ${_n.length} rows`),_n},he=(ct,lt)=>{var zt;const Et=get_store_value(l),It=(zt=get_store_value(f)[ct])==null?void 0:zt.__idx;lt?It!=null?l.update(In=>(In[It]={...lt},In)):mt([lt]):It!=null&&Tt([Et[It]])},Oe=async ct=>{try{const lt=await w.actions.getRow(ct);he(ct,lt)}catch{}},Re=async()=>{var ct;await((ct=get_store_value(Z))==null?void 0:ct.getInitialData())},Ge=(ct,lt)=>{const Et=Object.keys(lt||{});return!ct||!Et.length?!1:Et.some(ft=>ct[ft]!==lt[ft])},Ze=(ct,lt)=>{var zt,In;const Et=get_store_value(f),ft=get_store_value(ce),It=Et[ct];for(let _n of Object.keys(lt||{})){const pn=(In=(zt=ft[_n])==null?void 0:zt.schema)==null?void 0:In.type;(pn===FieldType.STRING||pn==FieldType.LONGFORM)&<[_n]!=null&&typeof lt[_n]!="string"&&(lt[_n]=JSON.stringify(lt[_n]))}return!It||!Ge(It,lt)?!1:(R.update(_n=>({..._n,[ct]:{..._n[ct],...lt}})),!0)},at=async({rowId:ct,changes:lt=null,updateState:Et=!0,handleErrors:ft=!0})=>{const zt=get_store_value(f)[ct];if(zt==null)return;let In;try{U.update(Bn=>({...Bn,[ct]:(Bn[ct]||0)+1}));const _n=get_store_value(R)[ct],pn={...bt(zt),..._n,...lt};In=await w.actions.updateRow(pn),In!=null&&In._id?Et&&l.update(Bn=>(Bn[zt.__idx]=In,Bn.slice())):In!=null&&In.id&&await Oe(In.id);const fn=get_store_value(R)[ct];R.update(Bn=>(Object.keys(_n||{}).forEach(Vt=>{_n[Vt]===(fn==null?void 0:fn[Vt])&&delete Bn[ct][Vt]}),Bn))}catch(_n){ft&&(de(ct,_n),S.actions.focusFirstRowError(ct))}return U.update(_n=>({..._n,[ct]:(_n[ct]||1)-1})),In},Pt=async({rowId:ct,column:lt,value:Et,apply:ft=!0})=>{Ze(ct,{[lt]:Et})&&ft&&await at({rowId:ct})},_t=async(ct,lt)=>{const Et=Object.keys(ct||{}),ft=Et.length;if(!ft)return;const It=get_store_value(ce);let zt=[],In=0;for(let _n=0;_n<ft;_n++){const pn=Et[_n];let fn=ct[pn]||{};for(let Bn of Object.keys(fn)){const Vt=It[Bn];O.actions.isReadonly(Vt)&&delete fn[Bn]}if(!Object.keys(fn).length){lt==null||lt((_n+1)/ft);continue}try{const Bn=await at({rowId:pn,changes:ct[pn],updateState:!1,handleErrors:!1});Bn?zt.push(Bn):In++,await sleep(50)}catch(Bn){In++,console.error("Failed to update row",Bn)}lt==null||lt((_n+1)/ft)}if(zt.length){const _n=get_store_value(f);l.update(pn=>{for(let fn of zt){const Bn=_n[fn._id].__idx;pn[Bn]=fn}return pn.slice()})}if(In){const _n=`row${ft===1?"":"s"}`;get_store_value(J).error(`Failed to update ${In} of ${ft} ${_n}`)}else if(zt.length){const _n=`row${zt.length===1?"":"s"}`;get_store_value(J).success(`Updated ${zt.length} ${_n}`)}},$e=async ct=>{ct!=null&&ct.length&&(ct.forEach(lt=>delete lt.__idx),await w.actions.deleteRows(ct),Tt(ct))},mt=(ct,lt)=>{var zt;lt&&(_e={});let Et=[],ft;const It=get_store_value(se);for(let In=0;In<ct.length;In++)ft=ct[In],!It&&!((zt=ft._id)!=null&&zt.length)&&(ft._id=generateRowID()),_e[ft._id]||(_e[ft._id]=!0,Et.push(ft));lt?l.set(Et):Et.length&&l.update(In=>[...In,...Et])},Tt=ct=>{const lt=ct.map(Et=>Et._id);l.update(Et=>Et.filter(ft=>!lt.includes(ft._id)))},ht=()=>{var ct;(ct=get_store_value(Z))==null||ct.nextPage()},bt=ct=>{let lt={...ct};return delete lt.__idx,delete lt.__metadata,delete lt.__formatted,!get_store_value(se)&&isGeneratedRowID(lt._id)&&delete lt._id,lt};return{rows:{...l,actions:{addRow:Te,duplicateRow:Fe,bulkDuplicate:Ue,updateValue:Pt,applyRowChanges:at,deleteRows:$e,loadNextPage:ht,refreshRow:Oe,replaceRow:he,refreshData:Re,cleanRow:bt,bulkUpdate:_t}}}},initialise$b=u=>{const{rowChangeCache:l,inProgressChanges:f,previousFocusedRowId:p,previousFocusedCellId:m,rows:b,validation:y}=u;p.subscribe(w=>{w&&!get_store_value(f)[w]&&Object.keys(get_store_value(l)[w]||{}).length&&l.update(v=>(delete v[w],v))}),m.subscribe(async w=>{if(!w)return;let{rowId:v,field:k}=parseCellID(w);v=v,k=k;const S=k in(get_store_value(l)[v]||{}),B=y.actions.rowHasErrors(v),O=get_store_value(f)[v];v&&!B&&S&&!O&&await b.actions.applyRowChanges({rowId:v})})},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:w,config:v}=u,k=derived(p,K=>((K==null?void 0:K.width)||0)+GutterWidth),S=derived([f,w],([K,J])=>{let Z=GutterWidth+Math.max(J,HPadding);return K.forEach(se=>{Z+=se.width}),Z}),B=derived([b,k],([K,J])=>K+J),O=derived([S,B],([K,J])=>Math.round(Math.max(K-J,0))),R=derived([S,B],([K,J])=>K>J),U=derived([l,m,R,v],([K,J,Z,se])=>{let ie=K.length*J+VPadding;return Z&&(ie+=ScrollBarSize*3),se.canAddRows&&(ie+=J),ie}),$=derived([y,U],([K,J])=>Math.round(Math.max(J-K,0))),X=derived([U,y],([K,J])=>K>J);return{stickyWidth:k,contentHeight:U,contentWidth:S,screenWidth:B,maxScrollTop:$,maxScrollLeft:O,showHScrollbar:R,showVScrollbar:X}},initialise$a=u=>{const{focusedCellId:l,focusedRow:f,scroll:p,bounds:m,rowHeight:b,stickyWidth:y,scrollTop:w,maxScrollTop:v,scrollLeft:k,maxScrollLeft:S,buttonColumnWidth:B,columnLookupMap:O}=u,R=derived([w,v],([$,X])=>$>X,!1),U=derived([k,S],([$,X])=>$>X,!1);R.subscribe($=>{$&&p.update(X=>({...X,top:get_store_value(v)}))}),U.subscribe($=>{$&&p.update(X=>({...X,left:get_store_value(S)}))}),l.subscribe(async $=>{await tick();const X=get_store_value(f),K=get_store_value(p),J=get_store_value(m),Z=get_store_value(b);if(X){const _e=X.__idx*Z,ye=K.top+J.height-Z-FocusedCellMinOffset;let be=_e-ye;if(be>0)p.update(de=>({...de,top:de.top+be}));else{const de=K.top-_e+FocusedCellMinOffset;de>0&&p.update(Te=>({...Te,top:Math.max(0,Te.top-de)}))}}const{field:se}=parseCellID($),ie=get_store_value(O)[se];if(!ie||ie.primaryDisplay)return;const ce=get_store_value(y);let pe=K.left-ie.__left+FocusedCellMinOffset+ce;if(pe>0)p.update(_e=>({..._e,left:Math.max(0,_e.left-pe)}));else{const _e=get_store_value(B),ye=ie.__left+ie.width,be=J.width+K.left-FocusedCellMinOffset-_e;pe=ye-be-ce,pe>0&&p.update(de=>({...de,left:de.left+pe}))}})},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),w=writable(null),v=writable(null),k=writable(!1),S=writable(!1),B=writable(!1),O=writable(0),R=writable({active:!1,sourceCellId:null,targetCellId:null});return{focusedCellId:f,focusedCellAPI:p,previousFocusedRowId:w,previousFocusedCellId:v,hoveredRowId:b,rowHeight:y,gridFocused:k,keyboardBlocked:S,isDragging:B,buttonColumnWidth:O,selectedRows:m,cellSelection:R}},deriveStores$8=u=>{const{focusedCellId:l,rows:f,rowLookupMap:p,rowHeight:m,width:b,selectedRows:y,cellSelection:w,columnLookupMap:v,visibleColumns:k}=u,S=derived(l,Z=>parseCellID(Z).rowId??null),B=derived([S,p],([Z,se])=>{if(Z!==null)return Z===NewRowID?{_id:NewRowID}:se[Z]}),O=derived(m,Z=>Z>=LargeRowHeight?3:Z>=MediumRowHeight?2:1),R=derived(b,Z=>Z<600),U=derived(y,Z=>Object.keys(Z).length),$=derived(w,Z=>Z.active),X=derived([w,p,v],([Z,se,ie])=>{var $e,mt;const{sourceCellId:ce,targetCellId:pe}=Z;if(!ce||!pe||ce===pe)return[];const _e=get_store_value(f),ye=get_store_value(k),be=parseCellID(ce),de=parseCellID(pe);if(be.rowId===NewRowID)return[];const Te=($e=se[be.rowId])==null?void 0:$e.__idx,Fe=(mt=se[de.rowId])==null?void 0:mt.__idx;if(Te==null||Fe==null)return[];const Ue=Math.min(Te,Fe);let he=Math.max(Te,Fe);he=Math.min(he,Ue+49);const Oe=ie[be.field].__idx||0,Re=ie[de.field].__idx||0,Ge=Math.min(Oe,Re),Ze=Math.max(Oe,Re);let at=[],Pt,_t;for(let Tt=Ue;Tt<=he;Tt++){let ht=[];for(let bt=Ge;bt<=Ze;bt++)Pt=_e[Tt]._id,_t=ye[bt].name,ht.push(getCellID(Pt,_t));at.push(ht)}return at}),K=derived(X,Z=>{let se={};for(let ie of Z)for(let ce of ie)se[ce]=!0;return se}),J=derived(K,Z=>Object.keys(Z).length);return{focusedRowId:S,focusedRow:B,contentLines:O,compact:R,selectedRowCount:U,isSelectingCells:$,selectedCells:X,selectedCellMap:K,selectedCellCount:J}},createActions$9=u=>{const{focusedCellId:l,hoveredRowId:f,selectedRows:p,rowLookupMap:m,rows:b,selectedRowCount:y,cellSelection:w,selectedCells:v}=u;let k=null;const S=()=>{l.set(null),f.set(null),K()},B=J=>{p.update(Z=>{let se={...Z,[J]:!Z[J]};return se[J]?k=get_store_value(m)[J].__idx:delete se[J],se})},O=J=>{if(!get_store_value(y)){B(J);return}if(k==null)return;const Z=get_store_value(m)[J].__idx;if(k===Z)return;const se=Math.min(k,Z),ie=Math.max(k,Z),ce=get_store_value(b);p.update(pe=>{for(let _e=se;_e<=ie;_e++)pe[ce[_e]._id]=!0;return pe})},R=J=>{w.set({active:!0,sourceCellId:J,targetCellId:J})},U=J=>{w.update(Z=>({...Z,targetCellId:J}))},$=()=>{w.update(J=>({...J,active:!1}))},X=(J,Z)=>{w.set({active:!1,sourceCellId:J,targetCellId:Z})},K=()=>{w.set({active:!1,sourceCellId:null,targetCellId:null})};return{ui:{actions:{blur:S}},selectedRows:{...p,actions:{toggleRow:B,bulkSelectRows:O}},selectedCells:{...v,actions:{startSelecting:R,updateTarget:U,stopSelecting:$,selectRange:X,clear:K}}}},initialise$9=u=>{const{focusedRowId:l,previousFocusedRowId:f,previousFocusedCellId:p,rowLookupMap:m,focusedCellId:b,selectedRows:y,hoveredRowId:w,definition:v,rowHeight:k,fixedRowHeight:S,selectedRowCount:B,menu:O,selectedCellCount:R,selectedCells:U,cellSelection:$}=u;m.subscribe(async J=>{await tick();const Z=get_store_value(l),se=get_store_value(y),ie=get_store_value(w),ce=_e=>J[_e]!=null;Z&&!ce(Z)&&b.set(null),ie&&!ce(ie)&&w.set(null);const pe=Object.keys(se);if(pe.length){let _e={...se},ye=!1;for(let be=0;be<pe.length;be++)ce(pe[be])||(delete _e[pe[be]],ye=!0);ye&&y.set(_e)}});let X=null;l.subscribe(J=>{f.set(X),X=J});let K=null;b.subscribe(J=>{p.set(K),K=J,J&&get_store_value(w)&&w.set(null),J&&get_store_value(B)&&y.set({}),J&&get_store_value(R)&&U.actions.clear(),O.actions.close()}),v.subscribe(J=>{get_store_value(S)||k.set((J==null?void 0:J.rowHeight)||DefaultRowHeight)}),S.subscribe(J=>{var Z;J?k.set(J):k.set(((Z=get_store_value(v))==null?void 0:Z.rowHeight)||DefaultRowHeight)}),B.subscribe(J=>{J&&(get_store_value(b)&&b.set(null),get_store_value(R)&&U.actions.clear())}),R.subscribe(J=>{J&&get_store_value(B)&&y.set({})}),$.subscribe(async({sourceCellId:J,targetCellId:Z})=>{J&&J!==Z&&get_store_value(b)!==J&&b.set(J)})},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(w=>{var k;const v=(k=w.gridMetadata)==null?void 0:k.focusedCellId;v&&v!==b&&(y[v]=w)}),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 w=y.findIndex(v=>v.sessionId===m.sessionId);return y[w]=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:w}=parseCellID(b);w!==void 0&&(m[w]||(m[w]=[]),m[w].push(b))}}),m})}},createActions$7=u=>{const{validation:l,focusedCellId:f,validationRowLookupMap:p}=u;return{validation:{...l,actions:{setError:(w,v)=>{w&&l.update(k=>({...k,[w]:v}))},rowHasErrors:w=>{var v;return((v=get_store_value(p)[w])==null?void 0:v.length)>0},focusFirstRowError:w=>{const v=get_store_value(p)[w],k=v==null?void 0:v[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 w of b)delete y[w];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:w,rowChangeCache:v,metadata:k}=u,S=derived([m,l],([$,X])=>Math.floor($/X)),B=derived([w,l],([$,X])=>Math.ceil($/X)+1),O=derived([p,S,B,v,k],([$,X,K,J,Z])=>$.slice(X,X+K).map(se=>({...se,...J[se._id],__metadata:Z[se._id]}))),R=derived(b,$=>{const X=MinColumnWidth;return Math.round($/X)*X}),U=derived([f,R,y],([$,X,K])=>{if(!$.length)return{};let J=0,Z=$[0].width;for(;Z<X&&J<$.length-1;)J++,Z+=$[J].width;let se=J+1,ie=Z;for(;ie<K+X&&se<$.length;)ie+=$[se].width,se++;let ce={};return $.slice(Math.max(0,J),se).forEach(pe=>{ce[pe.name]=!0}),ce});return{scrolledRowCount:S,visualRowCapacity:B,renderedRows:O,columnRenderMap:U}},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,w=derived(f,k=>k!=null),v=derived([l,f,p,m,b,y],([k,S,B,O,R,U])=>{var K;let $=k.value!=null;if(!$&&((K=U.externalClipboard)!=null&&K.clipboard)&&($=U.externalClipboard.clipboard.get().value!=null),!$||!O.canEditRows||!S||R===NewRowID)return!1;const X=B>1;return!(!k.multiCellCopy&&!X&&S.isReadonly())});return{copyAllowed:w,pasteAllowed:v}},createActions$6=u=>{const{clipboard:l,focusedCellAPI:f,copyAllowed:p,pasteAllowed:m,selectedCells:b,selectedCellCount:y,rowLookupMap:w,rowChangeCache:v,rows:k,focusedCellId:S,columnLookupMap:B,visibleColumns:O,props:R}=u,U=()=>{if(!get_store_value(p))return;const K=get_store_value(b),J=get_store_value(f),se=get_store_value(y)>1;if(se){const ie=get_store_value(w),ce=get_store_value(v),pe=[];for(const ye of K){const be=[];for(const de of ye){const{rowId:Te="",field:Fe=""}=parseCellID(de),Ue={...ie[Te],...ce[Te]};be.push(Ue[Fe])}pe.push(be)}l.set({value:pe,multiCellCopy:!0});const{externalClipboard:_e}=get_store_value(R);_e!=null&&_e.onCopy&&_e.onCopy({value:pe,multiCellCopy:!0,tableId:_e.tableId,viewId:_e.viewId})}else{const ie=J==null?void 0:J.getValue();l.set({value:ie,multiCellCopy:se});const{externalClipboard:ce}=get_store_value(R);ce!=null&&ce.onCopy&&ce.onCopy({value:ie,multiCellCopy:!1,tableId:ce.tableId,viewId:ce.viewId});let pe="";ie!=null&&ie!==""&&(pe=typeof ie=="object"?JSON.stringify(ie):ie),copyToClipboard(pe)}},$=async K=>{var pe,_e;if(!get_store_value(m))return;const{externalClipboard:J}=get_store_value(R);let Z=get_store_value(l);if(J!=null&&J.clipboard){const ye=J.clipboard.get();ye.value!==void 0&&(ye.multiCellCopy?Z={value:ye.value,multiCellCopy:!0}:Z={value:ye.value,multiCellCopy:!1})}const{value:se,multiCellCopy:ie}=Z,ce=get_store_value(y)>1;if(ie)if(ce){let ye=se;const be=get_store_value(b),de=be.length,Te=be[0].length,Fe=se.length,Ue=se[0].length;if(de>Fe&&Te===Ue){ye=[];for(let he=0;he<de;he++)ye.push(se[he%Fe])}await X(ye,K)}else{const ye=get_store_value(S),{rowId:be,field:de}=parseCellID(ye),Te=get_store_value(w),Fe=get_store_value(B),Ue=Te[be].__idx,he=Fe[de].__idx||0,Oe=get_store_value(k),Re=get_store_value(O),Ge=Re.length,Ze=Oe.length,at=se.length,Pt=se[0].length,_t=Math.min(at,Ze-Ue)-1,$e=Math.min(Pt,Ge-he)-1,mt=Oe[Ue+_t]._id,Tt=Re[he+$e].name,ht=getCellID(mt,Tt);ht===ye?(pe=get_store_value(f))==null||pe.setValue(se[0][0]):(b.actions.selectRange(ye,ht),await X(se,K))}else if(ce){const ye=get_store_value(b).map(be=>be.map(()=>se));await X(ye,K)}else(_e=get_store_value(f))==null||_e.setValue(se??null)},X=async(K,J)=>{const Z=get_store_value(b),se=Math.min(K.length,Z.length),ie=Math.min(K[0].length,Z[0].length);let ce={};for(let pe=0;pe<se;pe++)for(let _e=0;_e<ie;_e++){const ye=Z[pe][_e];let{rowId:be,field:de}=parseCellID(ye);be=be,de=de,ce[be]||(ce[be]={}),ce[be][de]=K[pe][_e]}await k.actions.bulkUpdate(ce,J)};return{clipboard:{...l,actions:{copy:U,paste:$}}}},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,O=>O[B]),p=f("datasource"),m=f("initialSortColumn"),b=f("initialSortOrder"),y=f("initialFilter"),w=f("fixedRowHeight"),v=f("schemaOverrides"),k=f("notifySuccess"),S=f("notifyError");return{datasource:p,initialSortColumn:m,initialSortOrder:b,initialFilter:y,fixedRowHeight:w,schemaOverrides:v,notifySuccess:k,notifyError:S}},deriveStores$3=u=>{const{props:l,definition:f,hasNonAutoColumn:p}=u;return{config:derived([l,f,p],([b,y,w])=>{var S;let v={...b,canSelectRows:!1};const k=(S=b.datasource)==null?void 0:S.type;return k==="viewV2"&&(v.canEditColumns=!1,(y==null?void 0:y.type)===ViewV2Type.CALCULATION&&(v.canAddRows=!1,v.canEditRows=!1,v.canDeleteRows=!1,v.canExpandRows=!1)),w||(v.canAddRows=!1),k&&!["table","viewV2"].includes(k)&&(v.canAddRows=!1,v.canEditRows=!1,v.canDeleteRows=!1,v.canExpandRows=!1,v.canSaveSchema=!1,v.canEditColumns=!1),v.canSelectRows=!0,v})}},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(w=>({...w,column:y}))}),p.subscribe(y=>{l.update(w=>({...w,order:y||SortOrder.ASCENDING}))}),derived([l,m],([y,w])=>!(y!=null&&y.column)||!w?!0:w[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 w;if(!(b!=null&&b.length))return m;const y={logicalOperator:UILogicalOperator.ALL,groups:[{logicalOperator:UILogicalOperator.ALL,filters:b}]};return(w=m==null?void 0:m.groups)!=null&&w.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}`,w=m.schema.type,v={field:m.name,id:y,operator:BasicOperator.STRING,valueType:"value",type:w,value:b};w===FieldType.NUMBER?(v.value=parseFloat(b),v.operator=BasicOperator.EQUAL):w===FieldType.BIGINT?v.operator=BasicOperator.EQUAL:w===FieldType.ARRAY&&(v.operator=ArrayOperator.CONTAINS),f.update(k=>(k=k==null?void 0:k.filter(S=>S.id!==y),b&&k.push(v),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,w=derived(f,S=>{const B=getDatasourceSchema({API:l,datasource:get_store_value(m),definition:S??void 0});return B?(Object.keys(B).forEach(O=>{typeof B[O]!="object"&&(B[O]={name:O,type:B[O]})}),B):null}),v=derived([w,p,b,y],([S,B,O,R])=>{if(!S)return null;const U=enrichSchemaWithRelColumns(S),$={};return Object.keys(U||{}).forEach(X=>{var K;if($[X]={...U==null?void 0:U[X],...B==null?void 0:B[X],...O[X]},R[X]){(K=$[X]).columns??(K.columns={});for(const J of Object.keys(R[X])){const Z=R[X][J];$[X].columns[J]={...$[X].columns[J],...Z}}}}),$}),k=derived([m,f],([S,B])=>{var R,U;let O=S==null?void 0:S.type;return O==="provider"&&(O=(U=(R=S.value)==null?void 0:R.datasource)==null?void 0:U.type),O==="viewV2"&&B&&"type"in B&&B.type===ViewV2Type.CALCULATION?!1:!!O&&["table","viewV2","link"].includes(O)});return{schema:w,enrichedSchema:v,hasBudibaseIdentifiers:k}},createActions$4=u=>{const{API:l,datasource:f,definition:p,config:m,dispatch:b,table:y,viewV2:w,nonPlus:v,schemaMutations:k,subSchemaMutations:S,schema:B,notifications:O}=u,R=()=>{const de=get_store_value(f),Te=de==null?void 0:de.type;if(!Te)return null;switch(Te){case"table":return y;case"viewV2":return w;default:return v}},U=async()=>{const de=await getDatasourceDefinition({API:l,datasource:get_store_value(f)});p.set(de??null)},$=async de=>{var Fe;const Te=get_store_value(p);if(p.set(de),get_store_value(m).canSaveSchema)try{await((Fe=R())==null?void 0:Fe.actions.saveDefinition(de)),b("updatedatasource",de)}catch(Ue){const he=(Ue==null?void 0:Ue.message)||Ue||"Unknown error";get_store_value(O).error(`Error saving schema: ${he}`),p.set(Te)}},X=async de=>{let Te=cloneDeep$4(get_store_value(p));return Te.primaryDisplay=de,Te.schema&&(Te.schema[de].constraints||(Te.schema[de].constraints={}),Te.schema[de].constraints.presence={allowEmpty:!1},"default"in Te.schema[de]&&delete Te.schema[de].default),await $(Te)},K=(de,Te)=>{!de||!Te||k.update(Fe=>({...Fe,[de]:{...Fe[de],...Te}}))},J=(de,Te,Fe)=>{!de||!Te||!Fe||S.update(Ue=>({...Ue,[Te]:{...Ue[Te],[de]:{...(Ue[Te]||{})[de],...Fe}}}))},Z=async()=>{if(!get_store_value(m).canSaveSchema)return;const de=get_store_value(p),Te=get_store_value(k),Fe=get_store_value(S),Ue=get_store_value(B)||{};let he={};Object.keys(Ue).forEach(Oe=>{var Re;if(he[Oe]={...Ue[Oe],...Te[Oe]},Fe[Oe]){(Re=he[Oe]).columns??(Re.columns={});for(const Ge of Object.keys(Fe[Oe])){const Ze=Fe[Oe][Ge];he[Oe].columns[Ge]={...he[Oe].columns[Ge],...Ze}}}}),await $({...de,schema:he}),se()},se=()=>{k.set({}),S.set({})};return{datasource:{...f,actions:{refreshDefinition:U,saveDefinition:$,addRow:async de=>{var Te;return await((Te=R())==null?void 0:Te.actions.addRow(de))},updateRow:async de=>{var Te;return await((Te=R())==null?void 0:Te.actions.updateRow(de))},deleteRows:async de=>{var Te;return await((Te=R())==null?void 0:Te.actions.deleteRows(de))},getRow:async de=>{var Te;return await((Te=R())==null?void 0:Te.actions.getRow(de))},isDatasourceValid:de=>{var Te;return(Te=R())==null?void 0:Te.actions.isDatasourceValid(de)},canUseColumn:de=>{var Te;return(Te=R())==null?void 0:Te.actions.canUseColumn(de)},changePrimaryDisplay:X,addSchemaMutation:K,addSubSchemaMutation:J,saveSchemaMutations:Z,resetSchemaMutations:se}}}},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 O;S={...S,tableId:(O=get_store_value(f))==null?void 0:O.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 R;const B=await l.searchTable(get_store_value(f).tableId,{limit:1,query:{equal:{_id:S}},paginate:!1}),O=(R=B==null?void 0:B.rows)==null?void 0:R[0];if(O)return{...O,_id:O._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:w,initialFilter:v,initialSortColumn:k,initialSortOrder:S}=u;let B=[];l.subscribe(O=>{B==null||B.forEach(R=>R()),B=[],w.actions.isDatasourceValid(O)&&(p.set(get_store_value(v)??void 0),m.set([]),y.set({column:get_store_value(k),order:get_store_value(S)||SortOrder.ASCENDING}),B.push(b.subscribe(R=>{var $,X;const U=get_store_value(f);((X=($=U==null?void 0:U.options)==null?void 0:$.datasource)==null?void 0:X.tableId)===O.tableId&&U.update({filter:R})})),B.push(y.subscribe(R=>{var $,X;const U=get_store_value(f);((X=($=U==null?void 0:U.options)==null?void 0:$.datasource)==null?void 0:X.tableId)===O.tableId&&U.update({sortOrder:R.order||SortOrder.ASCENDING,sortColumn:R.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 O=await l.saveRow(S,SuppressErrors);return{...O,_id:O._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 R;const B=await l.viewV2.fetch(get_store_value(f).id,{limit:1,query:{equal:{_id:S}},paginate:!1}),O=(R=B==null?void 0:B.rows)==null?void 0:R[0];if(O)return{...O,_id:O._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:w,subscribe:v,viewV2:k,initialFilter:S,initialSortColumn:B,initialSortOrder:O,config:R,fetch:U}=u;let $=[];f.subscribe(X=>{if($==null||$.forEach(J=>J()),$=[],!k.actions.isDatasourceValid(X))return;b.set(get_store_value(S)??void 0),y.set([]),p.set({column:get_store_value(B),order:get_store_value(O)||SortOrder.ASCENDING}),$.push(l.subscribe(J=>{var Z,se;get_store_value(R).canSaveSchema&&(!J||!("id"in J)||(J==null?void 0:J.id)===X.id&&(get_store_value(B)||p.set({column:(Z=J.sort)==null?void 0:Z.field,order:((se=J.sort)==null?void 0:se.order)||SortOrder.ASCENDING}),get_store_value(S)||b.set(J.queryUI)))}));function K(J,Z){const se=J.column??null,ie=(Z==null?void 0:Z.field)??null;if(se!==ie)return!0;if(!se)return!1;const ce=J.order??null,pe=(Z==null?void 0:Z.order)??null;return ce!==pe}$.push(p.subscribe(async J=>{var ie,ce;const Z=get_store_value(l);if(!Z||!("id"in Z)||(Z==null?void 0:Z.id)!==X.id||!K(J,Z.sort))return;get_store_value(R).canSaveSchema&&await f.actions.saveDefinition({...Z,sort:{field:J.column,order:J.order||SortOrder.ASCENDING}});const se=get_store_value(U);((ce=(ie=se==null?void 0:se.options)==null?void 0:ie.datasource)==null?void 0:ce.id)===X.id&&se.update({sortOrder:J.order,sortColumn:J.column??void 0})})),$==null||$.push(b.subscribe(async J=>{if(!get_store_value(R).canSaveSchema)return;const Z=get_store_value(l);!Z||!("id"in Z)||(Z==null?void 0:Z.id)===X.id&&JSON.stringify(J)!==JSON.stringify(Z.queryUI)&&(await f.actions.saveDefinition({...Z,queryUI:J}),await m.actions.refreshData())})),$.push(y.subscribe(J=>{var se,ie;if(!get_store_value(R).canSaveSchema)return;const Z=get_store_value(U);((ie=(se=Z==null?void 0:Z.options)==null?void 0:se.datasource)==null?void 0:ie.id)===X.id&&Z.update({filter:J})})),$.push(w.subscribe(J=>{var se,ie;if(get_store_value(R).canSaveSchema)return;const Z=get_store_value(U);((ie=(se=Z==null?void 0:Z.options)==null?void 0:se.datasource)==null?void 0:ie.id)===X.id&&Z.update({filter:J})})),$.push(v("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:w,initialSortColumn:v,initialSortOrder:k,fetch:S}=u;let B=[];l.subscribe(O=>{B==null||B.forEach(R=>R()),B=[],y.actions.isDatasourceValid(O)&&(p.set(get_store_value(w)??void 0),m.set([]),f.set({column:get_store_value(v),order:get_store_value(k)||SortOrder.ASCENDING}),B.push(b.subscribe(R=>{var $;const U=get_store_value(S);isSameDatasource(($=U==null?void 0:U.options)==null?void 0:$.datasource,O)&&(U==null||U.update({filter:R}))})),B.push(f.subscribe(R=>{var $;const U=get_store_value(S);isSameDatasource(($=U==null?void 0:U.options)==null?void 0:$.datasource,O)&&(U==null||U.update({sortOrder:R.order||SortOrder.ASCENDING,sortColumn:R.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 w=>(f[w]||(f[w]=l.fetchTableDefinition(w)),await f[w]);return{cache:{actions:{getPrimaryDisplayForTableId:async w=>{var S,B;const v=await m(w);return(v==null?void 0:v.primaryDisplay)||((B=(S=v==null?void 0:v.schema)==null?void 0:S[0])==null?void 0:B.name)},getTable:async w=>await m(w),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 w of m)for(let v of w.conditions||[])y.push({...v,column:w.name,type:w.schema.type});if(b.buttons)for(let w=0;w<b.buttons.length;w++){const v=b.buttons[w];for(let k of v.conditions||[])y.push({...k,target:"button",buttonIndex:w})}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 w={};for(let v of m){const k=y[v._id];!(!v._rev||k&&k.version!==v._rev||v._rev===EXTERNAL_ROW_REV)&&k||(y[v._id]=evaluateConditions(v,b,u))}Object.keys(w).length&&l.update(v=>({...v,...w}))})},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 v=0;v<b.buttons.length;v++){const k=b.buttons[v];if(!k.getRowConditions)continue;const S=k.getRowConditions(u)||[];if(S.length){y=y.filter(B=>!(B.target==="button"&&B.buttonIndex===v));for(let B of S)y.push({...B,target:"button",buttonIndex:v})}}const w=new Set;for(let v of y)v.target==="button"&&v.action==="show"&&typeof v.buttonIndex=="number"&&(w.add(v.buttonIndex),p.button[v.buttonIndex]||(p.button[v.buttonIndex]={}),p.button[v.buttonIndex].hidden=!0);for(let v of y)try{let{column:k,type:S,referenceValue:B,operator:O,metadataKey:R,metadataValue:U,target:$,buttonIndex:X,newValue:K,action:J,setting:Z,settingValue:se}=v,ie;$==="button"?ie=K:ie=u[k];let ce=S;S===FieldType.FORMULA&&(ie===!0||ie===!1?ce=FieldType.BOOLEAN:typeof ie=="number"&&(ce=FieldType.NUMBER));const pe=TypeCoercionMap[ce];pe&&(ie=pe(ie),B=pe(B));let ye=buildQuery$1([{operator:O,type:S,field:"value",value:B}]);ye.onEmptyFilter=EmptyFilterOption.RETURN_NONE,runQuery$1([{value:ie}],ye).length>0&&($==="button"&&typeof X=="number"?(p.button[X]||(p.button[X]={}),J==="hide"?p.button[X].hidden=!0:J==="show"?p.button[X].hidden=!1:J==="update"&&Z&&(p.button[X][Z]=se)):$==="row"?p.row={...p.row,[R]:U}:p.cell[k]={...p.cell[k],[R]:U})}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(w,v){insert(w,l,v),insert(w,f,v),insert(w,p,v),y&&y.m(w,v),insert(w,m,v),b=!0},p(w,v){(!b||v&16)&&set_data(f,w[4]),w[2]?y?(y.p(w,v),v&4&&transition_in(y,1)):(y=create_if_block_1$V(w),y.c(),transition_in(y,1),y.m(m.parentNode,m)):y&&(group_outros(),transition_out(y,1,1,()=>{y=null}),check_outros())},i(w){b||(transition_in(y),b=!0)},o(w){transition_out(y),b=!1},d(w){w&&(detach(l),detach(f),detach(p),detach(m)),y&&y.d(w)}}}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(w,v){insert(w,l,v),insert(w,f,v),insert(w,p,v),y&&y.m(w,v),insert(w,m,v),b=!0},p(w,v){(!b||v&16)&&set_data(f,w[4]),w[2]?y?(y.p(w,v),v&4&&transition_in(y,1)):(y=create_if_block$1M(w),y.c(),transition_in(y,1),y.m(m.parentNode,m)):y&&(group_outros(),transition_out(y,1,1,()=>{y=null}),check_outros())},i(w){b||(transition_in(y),b=!0)},o(w){transition_out(y),b=!1},d(w){w&&(detach(l),detach(f),detach(p),detach(m)),y&&y.d(w)}}}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(w,v){mount_component(l,w,v),insert(w,f,v),mount_component(p,w,v),m=!0},p(w,[v]){const k={};v&268435484&&(k.$$scope={dirty:v,ctx:w}),l.$set(k);const S={};v&268435484&&(S.$$scope={dirty:v,ctx:w}),p.$set(S)},i(w){m||(transition_in(l.$$.fragment,w),transition_in(p.$$.fragment,w),m=!0)},o(w){transition_out(l.$$.fragment,w),transition_out(p.$$.fragment,w),m=!1},d(w){w&&detach(f),u[16](null),destroy_component(l,w),u[17](null),destroy_component(p,w)}}}const duration$2=260;function instance$2T(u,l,f){let p,m,b,y,w,v,k,S;const{selectedRows:B,rows:O,subscribe:R,notifications:U,menu:$,selectedCellCount:X,selectedRowCount:K,selectedCells:J,rowLookupMap:Z,config:se}=getContext$1("grid");component_subscribe(u,B,he=>f(15,S=he)),component_subscribe(u,U,he=>f(20,b=he)),component_subscribe(u,X,he=>f(21,y=he)),component_subscribe(u,K,he=>f(23,v=he)),component_subscribe(u,J,he=>f(19,m=he)),component_subscribe(u,Z,he=>f(14,k=he)),component_subscribe(u,se,he=>f(22,w=he));let ie,ce,pe=!1,_e=0,ye=0;const be=()=>{f(3,_e=0),$.actions.close(),v&&w.canDeleteRows?v===1?de():(f(4,ye=v),ie==null||ie.show()):y&&w.canEditRows&&(f(4,ye=y),ce==null||ce.show())},de=async()=>{f(2,pe=!0);const he=p.length;await O.actions.deleteRows(p),f(3,_e=100),await sleep(duration$2),b.success(`Deleted ${he} row${he===1?"":"s"}`),f(2,pe=!1)},Te=async()=>{f(2,pe=!0);let he={};for(let Oe of m)for(let Re of Oe){const{rowId:Ge,field:Ze}=parseCellID(Re);he[Ge]||(he[Ge]={}),he[Ge][Ze]=null}await O.actions.bulkUpdate(he,Oe=>{f(3,_e=Oe*100)}),await sleep(duration$2),f(2,pe=!1)};onMount(()=>R("request-bulk-delete",be));function Fe(he){binding_callbacks[he?"unshift":"push"](()=>{ie=he,f(0,ie)})}function Ue(he){binding_callbacks[he?"unshift":"push"](()=>{ce=he,f(1,ce)})}return u.$$.update=()=>{u.$$.dirty&49152&&(p=Object.keys(S).map(he=>k[he]).filter(he=>he!=null))},[ie,ce,pe,_e,ye,B,U,X,K,J,Z,se,de,Te,k,S,Fe,Ue]}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(w,v){insert(w,l,v),insert(w,f,v),insert(w,p,v),y&&y.m(w,v),insert(w,m,v),b=!0},p(w,v){(!b||v&8)&&set_data(f,w[3]),w[2]?y?(y.p(w,v),v&4&&transition_in(y,1)):(y=create_if_block$1L(w),y.c(),transition_in(y,1),y.m(m.parentNode,m)):y&&(group_outros(),transition_out(y,1,1,()=>{y=null}),check_outros())},i(w){b||(transition_in(y),b=!0)},o(w){transition_out(y),b=!1},d(w){w&&(detach(l),detach(f),detach(p),detach(m)),y&&y.d(w)}}}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:w,rows:v,subscribe:k,selectedRowCount:S,visibleColumns:B,selectedCells:O,rowLookupMap:R}=getContext$1("grid");component_subscribe(u,w,ie=>f(13,y=ie)),component_subscribe(u,S,ie=>f(10,p=ie)),component_subscribe(u,B,ie=>f(11,m=ie)),component_subscribe(u,R,ie=>f(12,b=ie));let U,$=0,X=!1,K=0;const J=async()=>{f(1,$=0),f(2,X=!0);const ie=Object.keys(y).map(pe=>b[pe]),ce=await v.actions.bulkDuplicate(ie,pe=>{f(1,$=pe*100)});if(await sleep(duration$1),ce.length){const pe=ce[0],_e=ce[ce.length-1],ye=m[0],be=m[m.length-1],de=getCellID(pe._id,ye.name),Te=getCellID(_e._id,be.name);O.actions.selectRange(de,Te)}f(2,X=!1)},Z=()=>{f(3,K=p),U==null||U.show()};onMount(()=>k("request-bulk-duplicate",Z));function se(ie){binding_callbacks[ie?"unshift":"push"](()=>{U=ie,f(0,U)})}return[U,$,X,K,w,S,B,R,J,se]}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.
|