@augmentd-labs/canvas-web 2.26.34 → 2.26.35
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/assets/CalendarApplet-gN_A0sQe.js +2 -0
- package/dist/assets/{DocumentBodyEditor-DRFQgBNB.js → DocumentBodyEditor-CVO5KPCs.js} +1 -1
- package/dist/assets/{DocumentIcon-ByDAILhm.js → DocumentIcon-9i1uCMQa.js} +1 -1
- package/dist/assets/{EditorOverlay-DpQKmxkR.js → EditorOverlay-D5t3xg4w.js} +1 -1
- package/dist/assets/{FileForm-B6eFRKG-.js → FileForm-C35drQ_R.js} +1 -1
- package/dist/assets/{FiltersApplet-B3UrkkQk.js → FiltersApplet-NltVCRY8.js} +1 -1
- package/dist/assets/{HomeFab-D83jf0To.js → HomeFab-Cc33x4F2.js} +1 -1
- package/dist/assets/{IdentityFields-CEDxU-Hd.js → IdentityFields-DZRqtnIG.js} +1 -1
- package/dist/assets/{LensApplet-BvgmmKLC.js → LensApplet-D-E4YyKz.js} +1 -1
- package/dist/assets/{LinkToCard-VXpoeMDH.js → LinkToCard-BQ1yoFDr.js} +1 -1
- package/dist/assets/{MarkdownEditor-Dnyez7VT.js → MarkdownEditor-DbpRWbO6.js} +2 -2
- package/dist/assets/{MessageComposerDialog-BKGlI7jO.js → MessageComposerDialog-CdPp-3GR.js} +1 -1
- package/dist/assets/{NextShell-BvKyH2Oj.js → NextShell-BfQHKEKO.js} +1 -1
- package/dist/assets/{NotesApplet-BJwWkYe_.js → NotesApplet-DZ7lSkfC.js} +1 -1
- package/dist/assets/{ObjectPropertiesCard-B9gkyowI.js → ObjectPropertiesCard-BTTwYnN9.js} +4 -4
- package/dist/assets/{PathPickerField-B58yeJGw.js → PathPickerField-B4yFUjgD.js} +1 -1
- package/dist/assets/{PickDocumentsCard-B72XNYh3.js → PickDocumentsCard-CFDQL70e.js} +1 -1
- package/dist/assets/{SketchApplet-BHee4eKG.js → SketchApplet-14xrogy3.js} +1 -1
- package/dist/assets/{SketchEditor-Knj-HA0P.js → SketchEditor-B2LYe_MO.js} +1 -1
- package/dist/assets/{TerminalApplet-Djk4l1Jm.js → TerminalApplet-BNeLmNFF.js} +1 -1
- package/dist/assets/{TextDocumentEditor-rgHsbLCL.js → TextDocumentEditor-CU5ersd_.js} +1 -1
- package/dist/assets/{TodosApplet-DZVcRHmh.js → TodosApplet-ASG9wXjL.js} +1 -1
- package/dist/assets/{TodosWidget-DdN3vJfS.js → TodosWidget-CYK5RbYD.js} +1 -1
- package/dist/assets/{UploadProgressList-CHQ-Kn-e.js → UploadProgressList-Ci1akl_D.js} +1 -1
- package/dist/assets/{_agentId_-Ctolhe8r.js → _agentId_-BuZ9wBek.js} +0 -0
- package/dist/assets/{_contextId_-Cj78rDep.js → _contextId_-DURo7ANU.js} +1 -1
- package/dist/assets/{_workspaceName_-CU9Y7Zvt.js → _workspaceName_-JpQwQGvI.js} +1 -1
- package/dist/assets/{about-OY_bpfUf.js → about-BpN8_1bC.js} +1 -1
- package/dist/assets/{add-D7ysLgO3.js → add-B7zdhw47.js} +1 -1
- package/dist/assets/{agents-DgJX7Rbh.js → agents-ChD6m_5J.js} +1 -1
- package/dist/assets/{agents-DEJU4O1Z.js → agents-DxqAi3vk.js} +1 -1
- package/dist/assets/{alert-dialog-CShuAcnP.js → alert-dialog-CFeuDt0T.js} +1 -1
- package/dist/assets/{api-tokens-CmHhwd58.js → api-tokens-drrVuCYc.js} +1 -1
- package/dist/assets/{appearance-D3YShC7g.js → appearance-DEL04cKR.js} +1 -1
- package/dist/assets/{applet-target-Bl9Je1N-.js → applet-target-I8w6EPj0.js} +1 -1
- package/dist/assets/{apps-CJ5g43ts.js → apps-BYrwwspU.js} +1 -1
- package/dist/assets/{auth-_bmIEN02.js → auth-PqttD05H.js} +1 -1
- package/dist/assets/backend-sync-progress-tUU2XWtW.js +7 -0
- package/dist/assets/{button-Bum-POPT.js → button-SeUZ_Pvi.js} +1 -1
- package/dist/assets/{content-app-view-CH0wMWqu.js → content-app-view-Dcknmau8.js} +1 -1
- package/dist/assets/{context-BGgz0Y_q.js → context-DZ1Hn7tt.js} +1 -1
- package/dist/assets/{contexts-Dtl9oERX.js → contexts-DDJagU4j.js} +1 -1
- package/dist/assets/{contexts-CwGdjtXy2.js → contexts-Df-cWUlj2.js} +1 -1
- package/dist/assets/date-time-picker-txVhlNO0.js +1 -0
- package/dist/assets/{devices-CmVlYbam.js → devices-BwU9M8-W.js} +1 -1
- package/dist/assets/{document-CdrNjy0Z.js → document-CTvT2Qa5.js} +1 -1
- package/dist/assets/document-list-CQ1_7Sja.js +2 -0
- package/dist/assets/{embedding-2EjzoVFT.js → embedding-BvXcVfij.js} +1 -1
- package/dist/assets/{embedding-BqI3l5RB.js → embedding-D-I_ygUZ.js} +1 -1
- package/dist/assets/{form-panel-DZj3WZ3z.js → form-panel-3p-ncEVK.js} +1 -1
- package/dist/assets/{home-BYUM64nU.js → home-Bg5pLpIh.js} +1 -1
- package/dist/assets/index-C51Jk0Xq.css +2 -0
- package/dist/assets/index-VAgMESOp.js +16 -0
- package/dist/assets/{inferd-config-editor-CyDCQJRs.js → inferd-config-editor-B8x_XPOt.js} +1 -1
- package/dist/assets/{key-bindings-BhC3zpgE.js → key-bindings--OI4Iz7e.js} +1 -1
- package/dist/assets/{label-DJc8-3CQ.js → label-BSTdjCWU.js} +1 -1
- package/dist/assets/{lazy-editor-Bdm5JEXv.js → lazy-editor-BUFAkTGl.js} +2 -2
- package/dist/assets/{logs-DUeiDqCX.js → logs-DjG8_wJ2.js} +1 -1
- package/dist/assets/{offline-yfQ63Zr7.js → offline-sNCjxnp-.js} +1 -1
- package/dist/assets/{page-header-BoCaZiqu.js → page-header-DrDt1sQ2.js} +1 -1
- package/dist/assets/{public-share-D2S8DEsv.js → public-share-D5yz-Pmo.js} +1 -1
- package/dist/assets/{query-debug-CZacGe0M.js → query-debug-CQ0I3cXX.js} +1 -1
- package/dist/assets/registry-DQPkddij.js +2 -0
- package/dist/assets/{remotes-BjjlqN_M.js → remotes-RPGcw6fH.js} +1 -1
- package/dist/assets/{roles-CuqCEPC7.js → roles-DoR2drD1.js} +1 -1
- package/dist/assets/{roles-BHJYWaBs.js → roles-p2cRajz-.js} +1 -1
- package/dist/assets/{settings-_xaqx07q.js → settings-B6TQfRMQ.js} +1 -1
- package/dist/assets/{settings-j7fHuCH-.js → settings-BQmgBTa-.js} +1 -1
- package/dist/assets/settings-BgqCRJzb.js +16 -0
- package/dist/assets/{settings-e2lvFtNs.js → settings-CljJz3ui.js} +1 -1
- package/dist/assets/{share-target-BNWYelcQ.js → share-target-BZmiLt2r.js} +1 -1
- package/dist/assets/{shared-C-uHNNY8.js → shared-BnpwVpxG.js} +1 -1
- package/dist/assets/{shared-td0TEahe.js → shared-qweQ1MKt.js} +1 -1
- package/dist/assets/sketch-lazy-BbNgGbR3.js +2 -0
- package/dist/assets/{subtree-transfer-dialog-BN9xBB9n.js → subtree-transfer-dialog-DQM5zfx2.js} +1 -1
- package/dist/assets/{text-documents-CFW8MWES.js → text-documents-BaXhu3ra.js} +1 -1
- package/dist/assets/ui-CDoK3F3U.js +41 -0
- package/dist/assets/{use-applet-docs-DBshA7yq.js → use-applet-docs-B2dk__vk.js} +1 -1
- package/dist/assets/{use-applet-target-DmIdCxa_.js → use-applet-target-ffIGaAqT.js} +1 -1
- package/dist/assets/{use-canvas-pins-BfT9xMi5.js → use-canvas-pins-DkWN9oEd.js} +1 -1
- package/dist/assets/{use-menu-CaiLyPdw.js → use-menu-DIP1zh7I.js} +1 -1
- package/dist/assets/use-settings-back-DGmLAD63.js +1 -0
- package/dist/assets/{use-sortable-data-W2inLcb5.js → use-sortable-data-BBKmqs79.js} +1 -1
- package/dist/assets/{use-workspace-identity-KxY9injc.js → use-workspace-identity-B8gOMGj4.js} +1 -1
- package/dist/assets/{useAddTarget-D4ra50Am.js → useAddTarget-B3b6TyZr.js} +1 -1
- package/dist/assets/{useAgentModels-C9Qu2rhq.js → useAgentModels-Bda5ilvQ.js} +1 -1
- package/dist/assets/{useDocumentThumbnail-Bs2Ju0eb.js → useDocumentThumbnail-wW0lSOEy.js} +1 -1
- package/dist/assets/{useEditNoteFields-CKYMBf8V.js → useEditNoteFields-DXLTFEqL.js} +1 -1
- package/dist/assets/{users-DInwKAxz.js → users-DuVk-TEd.js} +1 -1
- package/dist/assets/{workspace-46EFyEKZ.js → workspace-BJELPCNs.js} +1 -1
- package/dist/assets/{workspace-area-menu-DEyR7-bZ.js → workspace-area-menu-BFw2yUHk.js} +1 -1
- package/dist/assets/{workspace-content-gate-CGZmT2kw.js → workspace-content-gate-NLuRPvbm.js} +1 -1
- package/dist/assets/{workspace-import-form-Bu1nlv8u.js → workspace-import-form-Bb6z42nw.js} +1 -1
- package/dist/assets/{workspaces-BryjR7k9.js → workspaces-BK7Rj72s.js} +1 -1
- package/dist/assets/{workspaces-p959p9BR.js → workspaces-CqHYstZv.js} +1 -1
- package/dist/index.html +36 -36
- package/dist/sw.js +1 -1
- package/package.json +2 -2
- package/dist/assets/CalendarApplet-CVcB6nT5.js +0 -1
- package/dist/assets/backend-sync-progress-BJsLP7o5.js +0 -7
- package/dist/assets/date-time-picker-Bzu8H_Oa.js +0 -1
- package/dist/assets/document-list-BX13fcRu.js +0 -2
- package/dist/assets/index-CJapDuPp.js +0 -16
- package/dist/assets/index-lwdPSalm.css +0 -2
- package/dist/assets/registry-C7aVPPMW.js +0 -2
- package/dist/assets/settings-HUPOeACw.js +0 -16
- package/dist/assets/sketch-lazy-BOFTGGTA.js +0 -2
- package/dist/assets/ui-76Hw0NU_.js +0 -41
- package/dist/assets/use-settings-back-DE0SPb7h.js +0 -1
package/dist/sw.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e=`share-target-inbox`;async function t(e,t,n){let r=`/share-target-inbox/${t}`,i=[],a=async e=>{await Promise.all(i.map(e=>n.delete(e))),await n.put(`${r}/meta`,new Response(JSON.stringify({status:`error`,error:e,stashedAt:Date.now()})))};try{if(Number(e.headers.get(`content-length`))>105906176){await e.body?.cancel().catch(()=>{}),await a(`too-large`);return}let t=await e.formData(),o=t.getAll(`files`).filter(e=>e instanceof File);if(o.some(e=>e.size===0)){await a(`empty-file`);return}if(o.reduce((e,t)=>e+t.size,0)>104857600){await a(`too-large`);return}let s=e=>{let n=t.get(e);return typeof n==`string`?n:``},c=s(`title`),l=s(`text`),u=s(`url`);if(!o.length&&![c,l,u].some(e=>e.trim())){await a(`empty-share`);return}for(let[e,t]of o.entries()){let a=`${r}/file-${e}`;await n.put(a,new Response(t,{headers:{"Content-Type":t.type||`application/octet-stream`}})),i.push(a)}await n.put(`${r}/meta`,new Response(JSON.stringify({status:`ready`,title:c,text:l,url:u,fileNames:o.map(e=>e.name),stashedAt:Date.now()})))}catch{await a(`stash-failed`)}}try{self[`workbox:core:7.4.0`]&&_()}catch{}var n=(e,...t)=>{let n=e;return t.length>0&&(n+=` :: ${JSON.stringify(t)}`),n},r=class extends Error{constructor(e,t){let r=n(e,t);super(r),this.name=e,this.details=t}},i={googleAnalytics:`googleAnalytics`,precache:`precache-v2`,prefix:`workbox`,runtime:`runtime`,suffix:typeof registration<`u`?registration.scope:``},a=e=>[i.prefix,e,i.suffix].filter(e=>e&&e.length>0).join(`-`),o=e=>{for(let t of Object.keys(i))e(t)},s={updateDetails:e=>{o(t=>{typeof e[t]==`string`&&(i[t]=e[t])})},getGoogleAnalyticsName:e=>e||a(i.googleAnalytics),getPrecacheName:e=>e||a(i.precache),getPrefix:()=>i.prefix,getRuntimeName:e=>e||a(i.runtime),getSuffix:()=>i.suffix};function c(e,t){let n=t();return e.waitUntil(n),n}try{self[`workbox:precaching:7.4.0`]&&_()}catch{}var l=`__WB_REVISION__`;function u(e){if(!e)throw new r(`add-to-cache-list-unexpected-type`,{entry:e});if(typeof e==`string`){let t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}let{revision:t,url:n}=e;if(!n)throw new r(`add-to-cache-list-unexpected-type`,{entry:e});if(!t){let e=new URL(n,location.href);return{cacheKey:e.href,url:e.href}}let i=new URL(n,location.href),a=new URL(n,location.href);return i.searchParams.set(l,t),{cacheKey:i.href,url:a.href}}var ee=class{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:n})=>{if(e.type===`install`&&t&&t.originalRequest&&t.originalRequest instanceof Request){let e=t.originalRequest.url;n?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return n}}},te=class{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:e,params:t})=>{let n=t?.cacheKey||this._precacheController.getCacheKeyForURL(e.url);return n?new Request(n,{headers:e.headers}):e},this._precacheController=e}},d;function ne(){if(d===void 0){let e=new Response(``);if(`body`in e)try{new Response(e.body),d=!0}catch{d=!1}d=!1}return d}async function re(e,t){let n=null;if(e.url&&(n=new URL(e.url).origin),n!==self.location.origin)throw new r(`cross-origin-copy-response`,{origin:n});let i=e.clone(),a={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=t?t(a):a,s=ne()?i.body:await i.blob();return new Response(s,o)}var ie=e=>new URL(String(e),location.href).href.replace(RegExp(`^${location.origin}`),``);function f(e,t){let n=new URL(e);for(let e of t)n.searchParams.delete(e);return n.href}async function ae(e,t,n,r){let i=f(t.url,n);if(t.url===i)return e.match(t,r);let a=Object.assign(Object.assign({},r),{ignoreSearch:!0}),o=await e.keys(t,a);for(let t of o)if(i===f(t.url,n))return e.match(t,r)}var oe=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}},p=new Set;async function m(){for(let e of p)await e()}function h(e){return new Promise(t=>setTimeout(t,e))}try{self[`workbox:strategies:7.4.0`]&&_()}catch{}function g(e){return typeof e==`string`?new Request(e):e}var se=class{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new oe,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(let e of this._plugins)this._pluginStateMap.set(e,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){let{event:t}=this,n=g(e);if(n.mode===`navigate`&&t instanceof FetchEvent&&t.preloadResponse){let e=await t.preloadResponse;if(e)return e}let i=this.hasCallback(`fetchDidFail`)?n.clone():null;try{for(let e of this.iterateCallbacks(`requestWillFetch`))n=await e({request:n.clone(),event:t})}catch(e){if(e instanceof Error)throw new r(`plugin-error-request-will-fetch`,{thrownErrorMessage:e.message})}let a=n.clone();try{let e;e=await fetch(n,n.mode===`navigate`?void 0:this._strategy.fetchOptions);for(let n of this.iterateCallbacks(`fetchDidSucceed`))e=await n({event:t,request:a,response:e});return e}catch(e){throw i&&await this.runCallbacks(`fetchDidFail`,{error:e,event:t,originalRequest:i.clone(),request:a.clone()}),e}}async fetchAndCachePut(e){let t=await this.fetch(e),n=t.clone();return this.waitUntil(this.cachePut(e,n)),t}async cacheMatch(e){let t=g(e),n,{cacheName:r,matchOptions:i}=this._strategy,a=await this.getCacheKey(t,`read`),o=Object.assign(Object.assign({},i),{cacheName:r});n=await caches.match(a,o);for(let e of this.iterateCallbacks(`cachedResponseWillBeUsed`))n=await e({cacheName:r,matchOptions:i,cachedResponse:n,request:a,event:this.event})||void 0;return n}async cachePut(e,t){let n=g(e);await h(0);let i=await this.getCacheKey(n,`write`);if(!t)throw new r(`cache-put-with-no-response`,{url:ie(i.url)});let a=await this._ensureResponseSafeToCache(t);if(!a)return!1;let{cacheName:o,matchOptions:s}=this._strategy,c=await self.caches.open(o),l=this.hasCallback(`cacheDidUpdate`),u=l?await ae(c,i.clone(),[`__WB_REVISION__`],s):null;try{await c.put(i,l?a.clone():a)}catch(e){if(e instanceof Error)throw e.name===`QuotaExceededError`&&await m(),e}for(let e of this.iterateCallbacks(`cacheDidUpdate`))await e({cacheName:o,oldResponse:u,newResponse:a.clone(),request:i,event:this.event});return!0}async getCacheKey(e,t){let n=`${e.url} | ${t}`;if(!this._cacheKeys[n]){let r=e;for(let e of this.iterateCallbacks(`cacheKeyWillBeUsed`))r=g(await e({mode:t,request:r,event:this.event,params:this.params}));this._cacheKeys[n]=r}return this._cacheKeys[n]}hasCallback(e){for(let t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(let n of this.iterateCallbacks(e))await n(t)}*iterateCallbacks(e){for(let t of this._strategy.plugins)if(typeof t[e]==`function`){let n=this._pluginStateMap.get(t);yield r=>{let i=Object.assign(Object.assign({},r),{state:n});return t[e](i)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){for(;this._extendLifetimePromises.length;){let e=this._extendLifetimePromises.splice(0),t=(await Promise.allSettled(e)).find(e=>e.status===`rejected`);if(t)throw t.reason}}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,n=!1;for(let e of this.iterateCallbacks(`cacheWillUpdate`))if(t=await e({request:this.request,response:t,event:this.event})||void 0,n=!0,!t)break;return n||t&&t.status!==200&&(t=void 0),t}},ce=class{constructor(e={}){this.cacheName=s.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){let[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});let t=e.event,n=typeof e.request==`string`?new Request(e.request):e.request,r=`params`in e?e.params:void 0,i=new se(this,{event:t,request:n,params:r}),a=this._getResponse(i,n,t);return[a,this._awaitComplete(a,i,n,t)]}async _getResponse(e,t,n){await e.runCallbacks(`handlerWillStart`,{event:n,request:t});let i;try{if(i=await this._handle(t,e),!i||i.type===`error`)throw new r(`no-response`,{url:t.url})}catch(r){if(r instanceof Error){for(let a of e.iterateCallbacks(`handlerDidError`))if(i=await a({error:r,event:n,request:t}),i)break}if(!i)throw r}for(let r of e.iterateCallbacks(`handlerWillRespond`))i=await r({event:n,request:t,response:i});return i}async _awaitComplete(e,t,n,r){let i,a;try{i=await e}catch{}try{await t.runCallbacks(`handlerDidRespond`,{event:r,request:n,response:i}),await t.doneWaiting()}catch(e){e instanceof Error&&(a=e)}if(await t.runCallbacks(`handlerDidComplete`,{event:r,request:n,response:i,error:a}),t.destroy(),a)throw a}},v=class e extends ce{constructor(t={}){t.cacheName=s.getPrecacheName(t.cacheName),super(t),this._fallbackToNetwork=t.fallbackToNetwork!==!1,this.plugins.push(e.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){return await t.cacheMatch(e)||(t.event&&t.event.type===`install`?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let n,i=t.params||{};if(this._fallbackToNetwork){let r=i.integrity,a=e.integrity,o=!a||a===r;n=await t.fetch(new Request(e,{integrity:e.mode===`no-cors`?void 0:a||r})),r&&o&&e.mode!==`no-cors`&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,n.clone()))}else throw new r(`missing-precache-entry`,{cacheName:this.cacheName,url:e.url});return n}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();let n=await t.fetch(e);if(!await t.cachePut(e,n.clone()))throw new r(`bad-precaching-response`,{url:e.url,status:n.status});return n}_useDefaultCacheabilityPluginIfNeeded(){let t=null,n=0;for(let[r,i]of this.plugins.entries())i!==e.copyRedirectedCacheableResponsesPlugin&&(i===e.defaultPrecacheCacheabilityPlugin&&(t=r),i.cacheWillUpdate&&n++);n===0?this.plugins.push(e.defaultPrecacheCacheabilityPlugin):n>1&&t!==null&&this.plugins.splice(t,1)}};v.defaultPrecacheCacheabilityPlugin={async cacheWillUpdate({response:e}){return!e||e.status>=400?null:e}},v.copyRedirectedCacheableResponsesPlugin={async cacheWillUpdate({response:e}){return e.redirected?await re(e):e}};var le=class{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:n=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new v({cacheName:s.getPrecacheName(e),plugins:[...t,new te({precacheController:this})],fallbackToNetwork:n}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||=(self.addEventListener(`install`,this.install),self.addEventListener(`activate`,this.activate),!0)}addToCacheList(e){let t=[];for(let n of e){typeof n==`string`?t.push(n):n&&n.revision===void 0&&t.push(n.url);let{cacheKey:e,url:i}=u(n),a=typeof n!=`string`&&n.revision?`reload`:`default`;if(this._urlsToCacheKeys.has(i)&&this._urlsToCacheKeys.get(i)!==e)throw new r(`add-to-cache-list-conflicting-entries`,{firstEntry:this._urlsToCacheKeys.get(i),secondEntry:e});if(typeof n!=`string`&&n.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==n.integrity)throw new r(`add-to-cache-list-conflicting-integrities`,{url:i});this._cacheKeysToIntegrities.set(e,n.integrity)}if(this._urlsToCacheKeys.set(i,e),this._urlsToCacheModes.set(i,a),t.length>0){let e=`Workbox is precaching URLs without revision info: ${t.join(`, `)}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(e)}}}install(e){return c(e,async()=>{let t=new ee;this.strategy.plugins.push(t);for(let[t,n]of this._urlsToCacheKeys){let r=this._cacheKeysToIntegrities.get(n),i=this._urlsToCacheModes.get(t),a=new Request(t,{integrity:r,cache:i,credentials:`same-origin`});await Promise.all(this.strategy.handleAll({params:{cacheKey:n},request:a,event:e}))}let{updatedURLs:n,notUpdatedURLs:r}=t;return{updatedURLs:n,notUpdatedURLs:r}})}activate(e){return c(e,async()=>{let e=await self.caches.open(this.strategy.cacheName),t=await e.keys(),n=new Set(this._urlsToCacheKeys.values()),r=[];for(let i of t)n.has(i.url)||(await e.delete(i),r.push(i.url));return{deletedURLs:r}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){let t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){let t=e instanceof Request?e.url:e,n=this.getCacheKeyForURL(t);if(n)return(await self.caches.open(this.strategy.cacheName)).match(n)}createHandlerBoundToURL(e){let t=this.getCacheKeyForURL(e);if(!t)throw new r(`non-precached-url`,{url:e});return n=>(n.request=new Request(e),n.params=Object.assign({cacheKey:t},n.params),this.strategy.handle(n))}},y,b=()=>(y||=new le,y);try{self[`workbox:routing:7.4.0`]&&_()}catch{}var x=e=>e&&typeof e==`object`?e:{handle:e},S=class{constructor(e,t,n=`GET`){this.handler=x(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=x(e)}},ue=class extends S{constructor(e,t,n){super(({url:t})=>{let n=e.exec(t.href);if(n&&(t.origin===location.origin||n.index===0))return n.slice(1)},t,n)}},de=class{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener(`fetch`,(e=>{let{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)}))}addCacheListener(){self.addEventListener(`message`,(e=>{if(e.data&&e.data.type===`CACHE_URLS`){let{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(t=>{typeof t==`string`&&(t=[t]);let n=new Request(...t);return this.handleRequest({request:n,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}}))}handleRequest({request:e,event:t}){let n=new URL(e.url,location.href);if(!n.protocol.startsWith(`http`))return;let r=n.origin===location.origin,{params:i,route:a}=this.findMatchingRoute({event:t,request:e,sameOrigin:r,url:n}),o=a&&a.handler,s=e.method;if(!o&&this._defaultHandlerMap.has(s)&&(o=this._defaultHandlerMap.get(s)),!o)return;let c;try{c=o.handle({url:n,request:e,event:t,params:i})}catch(e){c=Promise.reject(e)}let l=a&&a.catchHandler;return c instanceof Promise&&(this._catchHandler||l)&&(c=c.catch(async r=>{if(l)try{return await l.handle({url:n,request:e,event:t,params:i})}catch(e){e instanceof Error&&(r=e)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw r})),c}findMatchingRoute({url:e,sameOrigin:t,request:n,event:r}){let i=this._routes.get(n.method)||[];for(let a of i){let i,o=a.match({url:e,sameOrigin:t,request:n,event:r});if(o)return i=o,(Array.isArray(i)&&i.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o==`boolean`)&&(i=void 0),{route:a,params:i}}return{}}setDefaultHandler(e,t=`GET`){this._defaultHandlerMap.set(t,x(e))}setCatchHandler(e){this._catchHandler=x(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new r(`unregister-route-but-not-found-with-method`,{method:e.method});let t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new r(`unregister-route-route-not-registered`)}},C,fe=()=>(C||(C=new de,C.addFetchListener(),C.addCacheListener()),C);function pe(e,t,n){let i;if(typeof e==`string`){let r=new URL(e,location.href);i=new S(({url:e})=>e.href===r.href,t,n)}else if(e instanceof RegExp)i=new ue(e,t,n);else if(typeof e==`function`)i=new S(e,t,n);else if(e instanceof S)i=e;else throw new r(`unsupported-route-type`,{moduleName:`workbox-routing`,funcName:`registerRoute`,paramName:`capture`});return fe().registerRoute(i),i}function me(e,t=[]){for(let n of[...e.searchParams.keys()])t.some(e=>e.test(n))&&e.searchParams.delete(n);return e}function*he(e,{ignoreURLParametersMatching:t=[/^utm_/,/^fbclid$/],directoryIndex:n=`index.html`,cleanURLs:r=!0,urlManipulation:i}={}){let a=new URL(e,location.href);a.hash=``,yield a.href;let o=me(a,t);if(yield o.href,n&&o.pathname.endsWith(`/`)){let e=new URL(o.href);e.pathname+=n,yield e.href}if(r){let e=new URL(o.href);e.pathname+=`.html`,yield e.href}if(i){let e=i({url:a});for(let t of e)yield t.href}}var w=class extends S{constructor(e,t){super(({request:n})=>{let r=e.getURLsToCacheKeys();for(let i of he(n.url,t)){let t=r.get(i);if(t)return{cacheKey:t,integrity:e.getIntegrityForCacheKey(t)}}},e.strategy)}};function T(e){pe(new w(b(),e))}var E=`-precache-`,D=async(e,t=E)=>{let n=(await self.caches.keys()).filter(n=>n.includes(t)&&n.includes(self.registration.scope)&&n!==e);return await Promise.all(n.map(e=>self.caches.delete(e))),n};function O(){self.addEventListener(`activate`,(e=>{let t=s.getPrecacheName();e.waitUntil(D(t).then(e=>{}))}))}function k(e){return b().matchPrecache(e)}function A(e){b().precache(e)}function j(e,t){A(e),T(t)}var M=`offline-content-v1`,N=`offline-api-v1`,P={enabled:!1,budgetBytes:4294967296,excludedWorkspaces:[]};function F(e){let t=e.match(/^\/rest\/v2\/workspaces\/([^/?#]+)/);return t?decodeURIComponent(t[1]):null}var I=1e3,L=`canvas-offline`,R=2,z=null;function B(){return z||(z=new Promise((e,t)=>{let n=indexedDB.open(L,R);n.onupgradeneeded=e=>{let t=n.result;if(t.objectStoreNames.contains(`config`)||t.createObjectStore(`config`),t.objectStoreNames.contains(`entries`)||t.createObjectStore(`entries`,{keyPath:`url`}),e.oldVersion>=1&&t.objectStoreNames.contains(`pins`)){t.deleteObjectStore(`pins`);let e=n.transaction.objectStore(`entries`).openCursor();e.onsuccess=()=>{let t=e.result;if(!t)return;let n=t.value;n.pinned&&t.update({...n,pinned:!1}),t.continue()}}t.objectStoreNames.contains(`scopes`)||t.createObjectStore(`scopes`,{keyPath:`id`})},n.onsuccess=()=>{n.result.onversionchange=()=>{n.result.close(),z=null},e(n.result)},n.onerror=()=>{z=null,t(n.error)}}),z)}function V(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error),e.onabort=()=>n(e.error)})}function H(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}async function U(e,t){return H((await B()).transaction(e).objectStore(e).get(t))}async function ge(e){return H((await B()).transaction(e).objectStore(e).getAll())}async function W(e,t,n){let r=(await B()).transaction(e,`readwrite`);return r.objectStore(e).put(t,n),V(r)}async function G(e,t){let n=(await B()).transaction(e,`readwrite`);return n.objectStore(e).delete(t),V(n)}async function _e(){try{let e=await U(`config`,`settings`);return e?{...P,...e}:P}catch{return P}}async function K(e,t,n){let r=await U(`entries`,e);await W(`entries`,{url:e,kind:t,size:n,lastAccess:Date.now(),pinned:r?.pinned??!1})}var ve=6e4,q=new Map;async function J(e){let t=q.get(e),n=Date.now();if(t&&n-t<ve)return;q.set(e,n),q.size>4096&&q.clear();let r=await U(`entries`,e);r&&await W(`entries`,{...r,lastAccess:n})}async function ye(e){let t=await ge(`entries`),n=t.filter(e=>e.kind===`api`).sort((e,t)=>e.lastAccess-t.lastAccess),r=n.slice(0,Math.max(0,n.length-I)),i=t.filter(e=>e.kind===`content`),a=i.reduce((e,t)=>e+t.size,0),o=i.filter(e=>!e.pinned).sort((e,t)=>e.lastAccess-t.lastAccess),s=[];for(let t of o){if(a<=e)break;s.push(t),a-=t.size}if(!r.length&&!s.length)return;let[c,l]=await Promise.all([caches.open(N),caches.open(M)]);await Promise.all([...r.map(async e=>{await c.delete(e.url),await G(`entries`,e.url)}),...s.map(async e=>{await l.delete(e.url),await G(`entries`,e.url)})])}O(),j([{"revision":"65d91515eab26017ac39e55473b36ea6","url":"index.html"},{"revision":"d0c188df2432c882c53e561e64cd29a2","url":"favicon_wl.png"},{"revision":"243f17f04cf5eb5b298d9701dbd3b4b9","url":"favicon.png"},{"revision":"339e5b64fa2c186631343b5399fe3898","url":"wallpapers/files/canvas_3.svg"},{"revision":"b164dca13ae630411fdc766586da3f61","url":"wallpapers/files/canvas_1.svg"},{"revision":"6ffe60f1b1d220a5b59ef1fe376122f6","url":"screenshots/s3.png"},{"revision":"be57d83f15923b5351a2a7cde1f35bf8","url":"screenshots/s2.png"},{"revision":"c3af5f4e79b0e4b5794d10e1ed3be39a","url":"screenshots/s1.png"},{"revision":"265dfc3ecb9788a5ae8974ec254ac651","url":"js/particles.min.js"},{"revision":"443e87a6d23acf7c849051ffd38106db","url":"images/logo_orig.png"},{"revision":"d0c188df2432c882c53e561e64cd29a2","url":"images/logo_64x64.png"},{"revision":"1c314d3790ee0733defb3e75079ba8d9","url":"images/logo_512x512.png"},{"revision":"d6363d0e5249f161c4b7d78045a210e5","url":"images/logo_256x256.png"},{"revision":"6f763ad15fbd8e2e93893c0d98a9905d","url":"images/logo_128x128.png"},{"revision":"bc4e038a89ae062004dd9ff297bba3f5","url":"images/logo_1024x1024.png"},{"revision":"1c1dcdd3b47bee973de6f323b504dda5","url":"images/logo-wr_orig.png"},{"revision":"34a0677b471ec1dcf5f25eeac90539e2","url":"images/logo-wr_64x64.png"},{"revision":"de6735f441492f065a0da94eacb982de","url":"images/logo-wr_512x512.png"},{"revision":"3018eca652753d237061b855645f93c9","url":"images/logo-wr_256x256.png"},{"revision":"509310a186188c5b0751569a536ee83a","url":"images/logo-wr_128x128.png"},{"revision":"c23aea3f0209c8f5817796449af52472","url":"images/logo-wr_1024x1024.png"},{"revision":"8119caf9106c961943456e5113c26cfc","url":"images/logo-br_orig.png"},{"revision":"ed7721ca00c7df91460006ae11340980","url":"images/logo-br_64x64.png"},{"revision":"657409bce8f4fe2efaa08f441d91cb26","url":"images/logo-br_512x512.png"},{"revision":"1d1659355d80946eedf1063501b091b8","url":"images/logo-br_256x256.png"},{"revision":"733bf2efe01b5cb056534806772aabd2","url":"images/logo-br_128x128.png"},{"revision":"e7561ccec1eefad2a36e697ddbebcd78","url":"images/logo-br_1024x1024.png"},{"revision":"05d9d6e8842b65d5a6b7f9b83eb6e786","url":"images/logo-bl_orig.png"},{"revision":"243f17f04cf5eb5b298d9701dbd3b4b9","url":"images/logo-bl_64x64.png"},{"revision":"a34687e37e32da4d4c127831c6f9779c","url":"images/logo-bl_512x512.png"},{"revision":"0260dd99a07186b7fc3d101023068658","url":"images/logo-bl_256x256.png"},{"revision":"ddb2b89e0437a22554694e1f0a2b894b","url":"images/logo-bl_128x128.png"},{"revision":"1ca5897439475c3b2acab290959559b9","url":"images/logo-bl_1024x1024.png"},{"revision":"d0c188df2432c882c53e561e64cd29a2","url":"images/favicon.png"},{"revision":"d6363d0e5249f161c4b7d78045a210e5","url":"images/apple-touch-icon.png"},{"revision":"1c314d3790ee0733defb3e75079ba8d9","url":"images/android-chrome-512x512.png"},{"revision":"452c6675af891c549b493895764c855d","url":"images/avatars/default.png"},{"revision":null,"url":"assets/zh-TW-RAJ6MFWO-BTknr43S.js"},{"revision":null,"url":"assets/zh-HK-E62DVLB3-dcRoFFJT.js"},{"revision":null,"url":"assets/zh-CN-LNUGB5OW-N0-P-YPg.js"},{"revision":null,"url":"assets/xychartDiagram-S5SC5T6Z-Cg27DCiq.js"},{"revision":null,"url":"assets/workspaces-p959p9BR.js"},{"revision":null,"url":"assets/workspaces-BryjR7k9.js"},{"revision":null,"url":"assets/workspace-import-form-Bu1nlv8u.js"},{"revision":null,"url":"assets/workspace-content-gate-CGZmT2kw.js"},{"revision":null,"url":"assets/workspace-area-menu-DEyR7-bZ.js"},{"revision":null,"url":"assets/workspace-access-C9nZlBBZ.js"},{"revision":null,"url":"assets/workspace-BydSRtST.js"},{"revision":null,"url":"assets/workspace-46EFyEKZ.js"},{"revision":null,"url":"assets/workbox-window.prod.es5-Bd17z0YL.js"},{"revision":null,"url":"assets/wardleyDiagram-VM6X3IG4-XOnMkSi-.js"},{"revision":null,"url":"assets/wardley-WFR3VGLG-C6N1rULY.js"},{"revision":null,"url":"assets/vi-VN-M7AON7JQ-BFEVKFOA.js"},{"revision":null,"url":"assets/vennDiagram-4TSXK5OY-P6FI4YvP.js"},{"revision":null,"url":"assets/utils-BxVxyehK.js"},{"revision":null,"url":"assets/utils-2pl1SbIp.js"},{"revision":null,"url":"assets/users-DInwKAxz.js"},{"revision":null,"url":"assets/useToastHelpers-CRrpIIdY.js"},{"revision":null,"url":"assets/useSocketSubscription-ifW-vnlb.js"},{"revision":null,"url":"assets/useEscapeClose-DR_xKT_k.js"},{"revision":null,"url":"assets/useEditNoteFields-CKYMBf8V.js"},{"revision":null,"url":"assets/useDocumentThumbnail-Bs2Ju0eb.js"},{"revision":null,"url":"assets/useAgentModels-C9Qu2rhq.js"},{"revision":null,"url":"assets/useAddTarget-D4ra50Am.js"},{"revision":null,"url":"assets/use-workspace-identity-KxY9injc.js"},{"revision":null,"url":"assets/use-toolbox-Ck_cLGgf.js"},{"revision":null,"url":"assets/use-toast-BlLDqSUO.js"},{"revision":null,"url":"assets/use-theme-DaxpiICf.js"},{"revision":null,"url":"assets/use-sortable-data-W2inLcb5.js"},{"revision":null,"url":"assets/use-settings-back-DE0SPb7h.js"},{"revision":null,"url":"assets/use-mobile-Db-vWu9Y.js"},{"revision":null,"url":"assets/use-menu-CaiLyPdw.js"},{"revision":null,"url":"assets/use-document-modal-PG8bQyIB.js"},{"revision":null,"url":"assets/use-create-panel-DhSNIGtr.js"},{"revision":null,"url":"assets/use-canvas-pins-C57Vbkrq.css"},{"revision":null,"url":"assets/use-canvas-pins-BfT9xMi5.js"},{"revision":null,"url":"assets/use-applet-target-DmIdCxa_.js"},{"revision":null,"url":"assets/use-applet-docs-DBshA7yq.js"},{"revision":null,"url":"assets/url-params-n7kU_WZ-.js"},{"revision":null,"url":"assets/uk-UA-QMV73CPH-BfWne7LV.js"},{"revision":null,"url":"assets/ui-76Hw0NU_.js"},{"revision":null,"url":"assets/treemap-WGGIJYW6-Cg7tyfH8.js"},{"revision":null,"url":"assets/treeView-Q6P3EWNA-BTTYcvrF.js"},{"revision":null,"url":"assets/tr-TR-DEFEU3FU-Q633YFo2.js"},{"revision":null,"url":"assets/timeline-definition-24CTP7MA-HQ5YMAQc.js"},{"revision":null,"url":"assets/th-TH-HPSO5L25-swaKUA2N.js"},{"revision":null,"url":"assets/text-documents-CFW8MWES.js"},{"revision":null,"url":"assets/tags-YamdPoBK.js"},{"revision":null,"url":"assets/ta-IN-2NMHFXQM-D1gPGRIR.js"},{"revision":null,"url":"assets/swimlanesDiagram-VR7AAH4N-DACbRCkF.js"},{"revision":null,"url":"assets/swimlanes-42K2YHIH-f0gJOzIY.js"},{"revision":null,"url":"assets/sv-SE-XGPEYMSR-CWEjOHYD.js"},{"revision":null,"url":"assets/subtree-transfer-dialog-BN9xBB9n.js"},{"revision":null,"url":"assets/subset-worker.chunk-D4w07nYk.js"},{"revision":null,"url":"assets/subset-shared.chunk-CzQ5JF2O.js"},{"revision":null,"url":"assets/stateDiagram-v2-MP3YSRHH-UMuzQhZ7.js"},{"revision":null,"url":"assets/stateDiagram-D77RDMKH-Dsv4fQ8Y.js"},{"revision":null,"url":"assets/src-CllyRBe0.js"},{"revision":null,"url":"assets/socket-hM4c-ZSl.js"},{"revision":null,"url":"assets/socket-CtH3EU9m.js"},{"revision":null,"url":"assets/sl-SI-NN7IZMDC-DFJxhRNE.js"},{"revision":null,"url":"assets/sketch-lazy-BOFTGGTA.js"},{"revision":null,"url":"assets/sk-SK-C5VTKIMK-NlHjiedH.js"},{"revision":null,"url":"assets/sizeCapture-INFHLROL-B0uUizjq.js"},{"revision":null,"url":"assets/si-LK-N5RQ5JYF-ROLYABqx.js"},{"revision":null,"url":"assets/shared-td0TEahe.js"},{"revision":null,"url":"assets/shared-C-uHNNY8.js"},{"revision":null,"url":"assets/share-target-BNWYelcQ.js"},{"revision":null,"url":"assets/sha256-65KIjGvZ.js"},{"revision":null,"url":"assets/settings-j7fHuCH-.js"},{"revision":null,"url":"assets/settings-e2lvFtNs.js"},{"revision":null,"url":"assets/settings-_xaqx07q.js"},{"revision":null,"url":"assets/settings-HUPOeACw.js"},{"revision":null,"url":"assets/sequenceDiagram-WJ2MYXX4-Dyn971wT.js"},{"revision":null,"url":"assets/search-COMZIxA7.js"},{"revision":null,"url":"assets/sankeyDiagram-P5KCCOFB-CBdZpflq.js"},{"revision":null,"url":"assets/sanitize-DrVcFY1Q.js"},{"revision":null,"url":"assets/ru-RU-B4JR7IUQ-n637KE87.js"},{"revision":null,"url":"assets/roundRect-D01gJrlt.js"},{"revision":null,"url":"assets/rough.esm-Dy-Kn_BL.js"},{"revision":null,"url":"assets/rolldown-runtime-C0FnF6B9.js"},{"revision":null,"url":"assets/roles-CuqCEPC7.js"},{"revision":null,"url":"assets/roles-BHJYWaBs.js"},{"revision":null,"url":"assets/role-C5I0Plgn.js"},{"revision":null,"url":"assets/ro-RO-JPDTUUEW-BqxNXAVP.js"},{"revision":null,"url":"assets/requirementDiagram-BXWQKSXE-S99ev3k7.js"},{"revision":null,"url":"assets/remotes-BjjlqN_M.js"},{"revision":null,"url":"assets/relation-events-CKio19hE.js"},{"revision":null,"url":"assets/registry-C7aVPPMW.js"},{"revision":null,"url":"assets/react-BHzhHVTZ.js"},{"revision":null,"url":"assets/railroadDiagram-O6MQD6OU-Cjw_zMBC.js"},{"revision":null,"url":"assets/railroad-peg-WCYAUIDC-BQiIsX_p.js"},{"revision":null,"url":"assets/railroad-ebnf-LZEXJU2U-V0aQVv9m.js"},{"revision":null,"url":"assets/railroad-abnf-HS5TGJTU-Cq7y22IA.js"},{"revision":null,"url":"assets/railroad-74A4TZTK-CGtTWdGc.js"},{"revision":null,"url":"assets/radar-RG4KPBEZ-B6h6pWOs.js"},{"revision":null,"url":"assets/query-debug-CZacGe0M.js"},{"revision":null,"url":"assets/quadrantDiagram-AXDQQJYC-CAXFELe7.js"},{"revision":null,"url":"assets/punycode.es6-ZbLrB_Dn.js"},{"revision":null,"url":"assets/public-share-D2S8DEsv.js"},{"revision":null,"url":"assets/pt-PT-UZXXM6DQ-DXzHR8rJ.js"},{"revision":null,"url":"assets/pt-BR-5N22H2LF-CeODeunU.js"},{"revision":null,"url":"assets/preload-helper-Czpn1I53.js"},{"revision":null,"url":"assets/pl-PL-T2D74RX3-DgfcfsGT.js"},{"revision":null,"url":"assets/pieDiagram-E7YTZNPT-Cs2lygkh.js"},{"revision":null,"url":"assets/pie-WAS4IAKB-qxv01Y8W.js"},{"revision":null,"url":"assets/pica-XznpCgP2.js"},{"revision":null,"url":"assets/percentages-BXMCSKIN-BPGA3zHb.js"},{"revision":null,"url":"assets/pegDiagram-XKGWAZYB-DqjEkpXQ.js"},{"revision":null,"url":"assets/pdf.worker.min-C8Ts8bNu.js"},{"revision":null,"url":"assets/pdf-Ciz5_WNq.js"},{"revision":null,"url":"assets/path-fybaL0A-.js"},{"revision":null,"url":"assets/page-header-BoCaZiqu.js"},{"revision":null,"url":"assets/packet-AYTQ26CC-BSJEH9Lb.js"},{"revision":null,"url":"assets/pa-IN-N4M65BXN-wsiZwueU.js"},{"revision":null,"url":"assets/ordinal-BDEzSJ7C.js"},{"revision":null,"url":"assets/offline-yfQ63Zr7.js"},{"revision":null,"url":"assets/oc-FR-POXYY2M6-Cn1eE_Zu.js"},{"revision":null,"url":"assets/note-save-status-DPz4VzL6.js"},{"revision":null,"url":"assets/nn-NO-6E72VCQL-Dfy734xI.js"},{"revision":null,"url":"assets/nl-NL-IS3SIHDZ-C4-Hez0V.js"},{"revision":null,"url":"assets/nb-NO-T6EIAALU-BQeWbEx1.js"},{"revision":null,"url":"assets/my-MM-5M5IBNSE-BXTnMvRC.js"},{"revision":null,"url":"assets/mr-IN-CRQNXWMA-9iKXC6Ya.js"},{"revision":null,"url":"assets/mindmap-definition-YA3MSWOX-aAz9cEjj.js"},{"revision":null,"url":"assets/mermaid-parser.core-CN1hT9Tn.js"},{"revision":null,"url":"assets/markdown-view-BBBZtNSR.js"},{"revision":null,"url":"assets/markdown-it-DRESbtwK.js"},{"revision":null,"url":"assets/markdown-html-DtQ7-esK.css"},{"revision":null,"url":"assets/markdown-html-CZMGihx6.js"},{"revision":null,"url":"assets/map-BxCwdK0d.js"},{"revision":null,"url":"assets/map-BcsP_QXj.css"},{"revision":null,"url":"assets/lv-LV-5QDEKY6T-BTnV-PCT.js"},{"revision":null,"url":"assets/lt-LT-XHIRWOB4-B6H0gZ-C.js"},{"revision":null,"url":"assets/logs-DUeiDqCX.js"},{"revision":null,"url":"assets/linear-aVQWq3ZZ.js"},{"revision":null,"url":"assets/line-DXCbHsGS.js"},{"revision":null,"url":"assets/lazy-editor-Bdm5JEXv.js"},{"revision":null,"url":"assets/layer-style-Byl5LNFR.js"},{"revision":null,"url":"assets/last-path-BbXWC3b3.js"},{"revision":null,"url":"assets/label-DJc8-3CQ.js"},{"revision":null,"url":"assets/ku-TR-6OUDTVRD-Ky7FAdew.js"},{"revision":null,"url":"assets/ko-KR-MTYHY66A-BdMJRRpv.js"},{"revision":null,"url":"assets/km-KH-HSX4SM5Z-CaYVKl3D.js"},{"revision":null,"url":"assets/kk-KZ-P5N5QNE5-D52-yIxL.js"},{"revision":null,"url":"assets/key-bindings-BhC3zpgE.js"},{"revision":null,"url":"assets/katex-CXMH3UgJ.js"},{"revision":null,"url":"assets/kanban-definition-UXKFOSKX-BqkLgv78.js"},{"revision":null,"url":"assets/kab-KAB-ZGHBKWFO-BXYUMKRc.js"},{"revision":null,"url":"assets/kaa-6HZHGXH3-0hNa4m6s.js"},{"revision":null,"url":"assets/journeyDiagram-3NMN7TZE-CL9Lqe59.js"},{"revision":null,"url":"assets/ja-JP-DBVTYXUO-DSHejo8t.js"},{"revision":null,"url":"assets/it-IT-JPQ66NNP-D6FUHYuZ.js"},{"revision":null,"url":"assets/ishikawaDiagram-5VMMS53U-Hs60L6ow.js"},{"revision":null,"url":"assets/input-BOtCd4HP.js"},{"revision":null,"url":"assets/init-C-OQMol4.js"},{"revision":null,"url":"assets/infoDiagram-27XIBGKW-BuJx_j6a.js"},{"revision":null,"url":"assets/info-A6RAGUB7-BlU-8_xu.js"},{"revision":null,"url":"assets/inferd-config-editor-CyDCQJRs.js"},{"revision":null,"url":"assets/index-lwdPSalm.css"},{"revision":null,"url":"assets/index-CJapDuPp.js"},{"revision":null,"url":"assets/image-blob-reduce.esm-Dj7YBvMv.js"},{"revision":null,"url":"assets/image-GAAHSSAO-CI-0hUck.js"},{"revision":null,"url":"assets/id-ID-SAP4L64H-ZZuXM5fX.js"},{"revision":null,"url":"assets/icons-DTuc_pxj.js"},{"revision":null,"url":"assets/hu-HU-A5ZG7DT2-BBrlHtCw.js"},{"revision":null,"url":"assets/home-BYUM64nU.js"},{"revision":null,"url":"assets/hi-IN-IWLTKZ5I-Dzr4DvnL.js"},{"revision":null,"url":"assets/he-IL-6SHJWFNN-9Ylp6ncb.js"},{"revision":null,"url":"assets/graphlib-DS17s2tU.js"},{"revision":null,"url":"assets/gl-ES-HMX3MZ6V-4bQs8jWL.js"},{"revision":null,"url":"assets/gitGraphDiagram-WWUBYQGX-D6Gfp0nt.js"},{"revision":null,"url":"assets/gitGraph-4MIJSDKK-DYlXv_yJ.js"},{"revision":null,"url":"assets/geo-CZfs0E-x.js"},{"revision":null,"url":"assets/ganttDiagram-EL5Y4UJY-BKBiwfwb.js"},{"revision":null,"url":"assets/fr-FR-RHASNOE6-BH99frB1.js"},{"revision":null,"url":"assets/form-panel-DZj3WZ3z.js"},{"revision":null,"url":"assets/flowDiagram-HODETNUW-BrKzgeF8.js"},{"revision":null,"url":"assets/file-save-745eba88-Bwdfz6OZ.js"},{"revision":null,"url":"assets/file-save-3189631c-CO9S4HFW.js"},{"revision":null,"url":"assets/file-open-7c801643-DZtJT5zp.js"},{"revision":null,"url":"assets/file-open-002ab408-BHUWm0Sh.js"},{"revision":null,"url":"assets/fi-FI-Z5N7JZ37-DC3Y34Y8.js"},{"revision":null,"url":"assets/fa-IR-HGAKTJCU-ddIdgP13.js"},{"revision":null,"url":"assets/eventmodeling-NTZA5JFV-BR2FzK4R.js"},{"revision":null,"url":"assets/eu-ES-A7QVB2H4-CAoFumRj.js"},{"revision":null,"url":"assets/es-ES-U4NZUMDT-D_KzWrdW.js"},{"revision":null,"url":"assets/erDiagram-RLTQ6QDP-CL7FBspC.js"},{"revision":null,"url":"assets/en-B4ZKOASM-BClIFgbE.js"},{"revision":null,"url":"assets/embedding-BqI3l5RB.js"},{"revision":null,"url":"assets/embedding-2EjzoVFT.js"},{"revision":null,"url":"assets/el-GR-BZB4AONW-Chellj6d.js"},{"revision":null,"url":"assets/ebnfDiagram-PWID7BFC-B9wGidHs.js"},{"revision":null,"url":"assets/document-open-mode-DoImW-xs.js"},{"revision":null,"url":"assets/document-list-DAYdk5vh.css"},{"revision":null,"url":"assets/document-list-BX13fcRu.js"},{"revision":null,"url":"assets/document-CdrNjy0Z.js"},{"revision":null,"url":"assets/dist-zgyESmtJ.js"},{"revision":null,"url":"assets/dist-Cz2MTljl.js"},{"revision":null,"url":"assets/directory-open-4ed118d0-1i309Asm.js"},{"revision":null,"url":"assets/directory-open-01563666-D4xXyWb_.js"},{"revision":null,"url":"assets/diagram-Z3DM3KII-aAOMR4aJ.js"},{"revision":null,"url":"assets/diagram-VX7I27RA-D-UFFc5T.js"},{"revision":null,"url":"assets/diagram-VSXAHHWV-BR6t4bem.js"},{"revision":null,"url":"assets/diagram-UQ7AKVKN-CC4synlk.js"},{"revision":null,"url":"assets/diagram-S7CK7UJ4-BCYFjoge.js"},{"revision":null,"url":"assets/devices-CmVlYbam.js"},{"revision":null,"url":"assets/devices-CAa1bRxk.js"},{"revision":null,"url":"assets/desk-dI_FvLsK.js"},{"revision":null,"url":"assets/defaultLocale-BFoDCU3G.js"},{"revision":null,"url":"assets/de-DE-XR44H4JA-DNaOwkE9.js"},{"revision":null,"url":"assets/date-time-picker-Bzu8H_Oa.js"},{"revision":null,"url":"assets/dagre-PrKaheQc.js"},{"revision":null,"url":"assets/dagre-GXQ25YYZ-DAaeOVEp.js"},{"revision":null,"url":"assets/da-DK-5WZEPLOC-D55fbhpB.js"},{"revision":null,"url":"assets/cytoscape.esm-CGd-uY3x.js"},{"revision":null,"url":"assets/cynefinDiagram-5FMLGOSQ-Bwsug0X5.js"},{"revision":null,"url":"assets/cynefin-OW5HDTMX-7tP7QfM3.js"},{"revision":null,"url":"assets/cs-CZ-2BRQDIVT-Bz62EbC5.js"},{"revision":null,"url":"assets/cose-bilkent-JH36ORCC-DIeJt_L_.js"},{"revision":null,"url":"assets/contexts-Dtl9oERX.js"},{"revision":null,"url":"assets/contexts-CwGdjtXy2.js"},{"revision":null,"url":"assets/context-BGgz0Y_q.js"},{"revision":null,"url":"assets/content-app-view-CH0wMWqu.js"},{"revision":null,"url":"assets/color-DFEH4BfK.js"},{"revision":null,"url":"assets/code-editor-BOIngd5F.js"},{"revision":null,"url":"assets/classDiagram-v2-VYDZK3BY-DLpT76o5.js"},{"revision":null,"url":"assets/classDiagram-ZZMXUADV-DLpT76o5.js"},{"revision":null,"url":"assets/chunk-Z3N5DIM6-D9TMVU7m.js"},{"revision":null,"url":"assets/chunk-Y2CYZVJY-DsF7k-Jl.js"},{"revision":null,"url":"assets/chunk-XXDRQBXY-CazVBYiP.js"},{"revision":null,"url":"assets/chunk-XHIXRSVI-BFQ6B8BE.js"},{"revision":null,"url":"assets/chunk-UY3FDG6J-CnmaAkG5.js"},{"revision":null,"url":"assets/chunk-TLUHSLCS-C47Epi2D.js"},{"revision":null,"url":"assets/chunk-TICWLB2K-jXepk-qW.js"},{"revision":null,"url":"assets/chunk-SVP7TREG-CoPu3EjZ.js"},{"revision":null,"url":"assets/chunk-SRAX5OIU-Dhm3gOdh.js"},{"revision":null,"url":"assets/chunk-SHT3W25Y-75CQ5pWa.js"},{"revision":null,"url":"assets/chunk-PWAF6VOD-DPI_wv9p.js"},{"revision":null,"url":"assets/chunk-POPQ4Y6H-B7yAy58S.js"},{"revision":null,"url":"assets/chunk-P2QGCYS3-DsGP3wH9.js"},{"revision":null,"url":"assets/chunk-OUJLGHUK-D0j2JRSg.js"},{"revision":null,"url":"assets/chunk-OSK3NFVY-fNjfug78.js"},{"revision":null,"url":"assets/chunk-LNGE3PJU-DWpGwHrW.js"},{"revision":null,"url":"assets/chunk-L3NEJ4N5-Cl0-d4Gu.js"},{"revision":null,"url":"assets/chunk-KI3K4JFJ-Rma-0k_M.js"},{"revision":null,"url":"assets/chunk-K2UTITRG-BvHe9UPk.js"},{"revision":null,"url":"assets/chunk-JWPE2WC7-DVXcaiue.js"},{"revision":null,"url":"assets/chunk-IMKFNOWR-BuKGugNz.js"},{"revision":null,"url":"assets/chunk-IH6LHLGP-CC6I9F3i.js"},{"revision":null,"url":"assets/chunk-ICYGCRZG-749o-pGJ.js"},{"revision":null,"url":"assets/chunk-I5DQTOEV-Hm2LfiYI.js"},{"revision":null,"url":"assets/chunk-GVQU2GXP-BMi2Lqv6.js"},{"revision":null,"url":"assets/chunk-GMAD6QVW-tEmtNh72.js"},{"revision":null,"url":"assets/chunk-FOHPRMQF-DHwB1DNv.js"},{"revision":null,"url":"assets/chunk-F27PBJKO-B8_NVNfE.js"},{"revision":null,"url":"assets/chunk-EIO257PC-CAhBf1ig.js"},{"revision":null,"url":"assets/chunk-DU6HZSFF-BlZbyIL6.js"},{"revision":null,"url":"assets/chunk-CLGD4ZFX-BzBIdJij.js"},{"revision":null,"url":"assets/chunk-75Z2AOVW-CzSd0Veu.js"},{"revision":null,"url":"assets/chunk-747NJXEK-BFkZPlab.js"},{"revision":null,"url":"assets/chunk-6U3AYISY-C6-Mtja1.js"},{"revision":null,"url":"assets/chunk-6TQVIW2G-DKlLbNIP.js"},{"revision":null,"url":"assets/chunk-6K3QC6MW-CqVsVn-y.js"},{"revision":null,"url":"assets/chunk-6EIED4P4-DdUJkP0f.js"},{"revision":null,"url":"assets/chunk-6AZGARVD-BB6FqMl-.js"},{"revision":null,"url":"assets/chunk-62JRHF6Z-vspAGgtK.js"},{"revision":null,"url":"assets/chunk-5VM5RSS4-ZNzvKenW.js"},{"revision":null,"url":"assets/chunk-5V3GS4D5-i-ZDOEnP.js"},{"revision":null,"url":"assets/chunk-4HAMMTFA-DwG4o-7o.js"},{"revision":null,"url":"assets/chunk-3Z5EZCMW-DMniOlPd.js"},{"revision":null,"url":"assets/chunk-2ZTRR5NV-C2qZJila.js"},{"revision":null,"url":"assets/chunk-2Q5K7J3B-C1jixKkw.js"},{"revision":null,"url":"assets/chunk-2E4U76K2-BX8JWCIb.js"},{"revision":null,"url":"assets/channel-DbE-WRyM.js"},{"revision":null,"url":"assets/ca-ES-6MX7JW3Y-QAg3jm2p.js"},{"revision":null,"url":"assets/c4Diagram-7LVT6UL2-aDTW23RC.js"},{"revision":null,"url":"assets/button-Bum-POPT.js"},{"revision":null,"url":"assets/bn-BD-2XOGV67Q-KCzfC93t.js"},{"revision":null,"url":"assets/blockDiagram-I7D4REHJ-DJlTH4XU.js"},{"revision":null,"url":"assets/blobs-WiXP9QRi.js"},{"revision":null,"url":"assets/bg-BG-XCXSNQG7-DFFjBv03.js"},{"revision":null,"url":"assets/backend-sync-progress-DU-e9TWi.css"},{"revision":null,"url":"assets/backend-sync-progress-BJsLP7o5.js"},{"revision":null,"url":"assets/az-AZ-76LH7QW2-8v0TczD5.js"},{"revision":null,"url":"assets/auth-_bmIEN02.js"},{"revision":null,"url":"assets/auth-Bx9fAZmz.js"},{"revision":null,"url":"assets/array-BifhSqXX.js"},{"revision":null,"url":"assets/architectureDiagram-5GKGNRK7-2gVOlDi3.js"},{"revision":null,"url":"assets/architecture-7GRP2DOG-BMOPAkUC.js"},{"revision":null,"url":"assets/arc-SXJSVd7o.js"},{"revision":null,"url":"assets/ar-SA-G6X2FPQ2-BJ7kJfgn.js"},{"revision":null,"url":"assets/apps-CJ5g43ts.js"},{"revision":null,"url":"assets/applet-target-Bl9Je1N-.js"},{"revision":null,"url":"assets/appearance-D3YShC7g.js"},{"revision":null,"url":"assets/api-tokens-CmHhwd58.js"},{"revision":null,"url":"assets/api-CA6WiiYM.js"},{"revision":null,"url":"assets/alert-dialog-CShuAcnP.js"},{"revision":null,"url":"assets/agents-DgJX7Rbh.js"},{"revision":null,"url":"assets/agents-DEJU4O1Z.js"},{"revision":null,"url":"assets/admin-Bhg9QBHL.js"},{"revision":null,"url":"assets/add-D7ysLgO3.js"},{"revision":null,"url":"assets/about-OY_bpfUf.js"},{"revision":null,"url":"assets/abnfDiagram-VCTEODGH-Cy_5vShZ.js"},{"revision":null,"url":"assets/_workspaceName_-CU9Y7Zvt.js"},{"revision":null,"url":"assets/_contextId_-Cj78rDep.js"},{"revision":null,"url":"assets/_agentId_-Ctolhe8r.js"},{"revision":null,"url":"assets/UploadProgressList-CHQ-Kn-e.js"},{"revision":null,"url":"assets/TodosWidget-DdN3vJfS.js"},{"revision":null,"url":"assets/TodosApplet-DZVcRHmh.js"},{"revision":null,"url":"assets/TextDocumentEditor-rgHsbLCL.js"},{"revision":null,"url":"assets/TerminalApplet-Djk4l1Jm.js"},{"revision":null,"url":"assets/TerminalApplet-BrP-ENHg.css"},{"revision":null,"url":"assets/SketchEditor-Knj-HA0P.js"},{"revision":null,"url":"assets/SketchEditor-DtRVLazd.css"},{"revision":null,"url":"assets/SketchApplet-BHee4eKG.js"},{"revision":null,"url":"assets/PickDocumentsCard-B72XNYh3.js"},{"revision":null,"url":"assets/PathPickerField-B58yeJGw.js"},{"revision":null,"url":"assets/ObjectPropertiesCard-Docu7O5V.css"},{"revision":null,"url":"assets/ObjectPropertiesCard-B9gkyowI.js"},{"revision":null,"url":"assets/NotesApplet-BJwWkYe_.js"},{"revision":null,"url":"assets/NextShell-BvKyH2Oj.js"},{"revision":null,"url":"assets/NextShell-BT6-_CFY.css"},{"revision":null,"url":"assets/MessageComposerDialog-BKGlI7jO.js"},{"revision":null,"url":"assets/MarkdownEditor-Dnyez7VT.js"},{"revision":null,"url":"assets/MarkdownEditor-DWa37grk.css"},{"revision":null,"url":"assets/LocationTab-DAtqAQ3l.js"},{"revision":null,"url":"assets/LinkToSidePanel-eCy3nW4R.js"},{"revision":null,"url":"assets/LinkToCard-VXpoeMDH.js"},{"revision":null,"url":"assets/LensApplet-BvgmmKLC.js"},{"revision":null,"url":"assets/IdentityFields-CEDxU-Hd.js"},{"revision":null,"url":"assets/HomeFab-D83jf0To.js"},{"revision":null,"url":"assets/FiltersApplet-B3UrkkQk.js"},{"revision":null,"url":"assets/FileForm-B6eFRKG-.js"},{"revision":null,"url":"assets/EditorOverlay-DpQKmxkR.js"},{"revision":null,"url":"assets/DocumentIcon-ByDAILhm.js"},{"revision":null,"url":"assets/DocumentBodyEditor-DRFQgBNB.js"},{"revision":null,"url":"assets/CalendarApplet-CVcB6nT5.js"},{"revision":"1c314d3790ee0733defb3e75079ba8d9","url":"images/android-chrome-512x512.png"},{"revision":"bc4e038a89ae062004dd9ff297bba3f5","url":"images/logo_1024x1024.png"},{"revision":"6f763ad15fbd8e2e93893c0d98a9905d","url":"images/logo_128x128.png"},{"revision":"d6363d0e5249f161c4b7d78045a210e5","url":"images/logo_256x256.png"},{"revision":"1c314d3790ee0733defb3e75079ba8d9","url":"images/logo_512x512.png"},{"revision":"d0c188df2432c882c53e561e64cd29a2","url":"images/logo_64x64.png"},{"revision":"caa9715e027d2757550109f1f9653d7c","url":"manifest.webmanifest"}]),self.addEventListener(`message`,e=>{e.data&&e.data.type===`SKIP_WAITING`&&self.skipWaiting()}),self.addEventListener(`activate`,e=>{e.waitUntil(Promise.all([self.clients.claim(),Ee()]))});var be=864e5,Y=/^\/rest\/v2\/workspaces\/[^/]+\/documents\/[^/]+\/(content|thumbnail)$/,xe=/^\/rest\/v2\/(auth|admin|ping|events)\b/,X=null;async function Z(){if(X&&Date.now()-X.at<1e4)return X.value;let e=await _e().catch(()=>({enabled:!1,budgetBytes:0,excludedWorkspaces:[]}));return X={at:Date.now(),value:e},e}function Q(e,t){let n=F(t);return n!==null&&e.excludedWorkspaces.includes(n)}self.addEventListener(`message`,e=>{e.data&&e.data.type===`OFFLINE_SETTINGS_CHANGED`&&(X=null)}),self.addEventListener(`fetch`,e=>{let{request:t}=e,n=new URL(t.url);if(t.method===`POST`&&n.pathname===`/share-target`){e.respondWith(Te(e));return}if(t.method===`GET`&&n.origin===self.location.origin&&n.pathname.startsWith(`/rest/v2/`)){if(Y.test(n.pathname)&&!n.searchParams.has(`download`)&&!t.headers.has(`range`)){e.respondWith(Se(e,t));return}if(!xe.test(n.pathname)&&!Y.test(n.pathname)){e.respondWith(Ce(e,t));return}}t.mode===`navigate`&&!$(n.pathname)&&e.respondWith(we(t))});function $(e){return e.startsWith(`/rest/`)||e.startsWith(`/dav/`)||e.startsWith(`/.well-known/`)}async function Se(e,t){let n=await Z();if(!n.enabled||Q(n,new URL(t.url).pathname))return fetch(t);let r=await caches.open(M),i=await r.match(t.url,{ignoreVary:!0});if(i)return e.waitUntil(J(t.url).catch(()=>{})),i;let a=await fetch(t);if(a.ok&&a.status===200){let i=a.clone();e.waitUntil((async()=>{try{await r.put(t.url,i);let e=Number(a.headers.get(`content-length`))||(await(await r.match(t.url))?.blob())?.size||0;await K(t.url,`content`,e),await ye(n.budgetBytes)}catch(e){console.warn(`[sw] offline content cache put failed`,e)}})())}return a}async function Ce(e,t){let n=await Z();if(!n.enabled||Q(n,new URL(t.url).pathname))return fetch(t);try{let n=await fetch(t);if(n.ok&&n.status===200){let r=n.clone();e.waitUntil((async()=>{try{await(await caches.open(N)).put(t.url,r),await K(t.url,`api`,Number(n.headers.get(`content-length`))||0)}catch(e){console.warn(`[sw] offline api cache put failed`,e)}})())}return n}catch(n){let r=await(await caches.open(N)).match(t.url,{ignoreVary:!0});if(r){e.waitUntil(J(t.url).catch(()=>{}));let n=new Headers(r.headers);return n.set(`X-Canvas-Offline`,`fallback`),new Response(r.body,{status:r.status,statusText:r.statusText,headers:n})}throw n}}async function we(e){try{return await fetch(e)}catch{let e=await k(`/index.html`);if(e)return e;throw Error(`offline and index.html is not precached`)}}function Te(n){let r=crypto.randomUUID();return caches.open(e).then(async e=>(await e.put(`/share-target-inbox/${r}/meta`,new Response(JSON.stringify({status:`receiving`,stashedAt:Date.now()}))),e)).then(e=>t(n.request,r,e)).then(()=>Response.redirect(new URL(`/share-target?token=${r}`,self.location.origin).href,303),()=>Response.redirect(new URL(`/share-target?error=stash-failed`,self.location.origin).href,303))}async function Ee(){try{if(!await caches.has(`share-target-inbox`))return;let t=await caches.open(e),n=await t.keys(),r=new Set;for(let e of n){let{pathname:n}=new URL(e.url);if(!n.endsWith(`/meta`))continue;let i=n.split(`/`)[2];if(!i)continue;let a=0;try{let n=await t.match(e);a=n?Number((await n.json()).stashedAt??0):0}catch{}(!a||Date.now()-a>be)&&r.add(i)}await Promise.all(n.filter(e=>r.has(new URL(e.url).pathname.split(`/`)[2])).map(e=>t.delete(e)))}catch(e){console.error(`[sw] share inbox prune failed`,e)}}
|
|
1
|
+
var e=`share-target-inbox`;async function t(e,t,n){let r=`/share-target-inbox/${t}`,i=[],a=async e=>{await Promise.all(i.map(e=>n.delete(e))),await n.put(`${r}/meta`,new Response(JSON.stringify({status:`error`,error:e,stashedAt:Date.now()})))};try{if(Number(e.headers.get(`content-length`))>105906176){await e.body?.cancel().catch(()=>{}),await a(`too-large`);return}let t=await e.formData(),o=t.getAll(`files`).filter(e=>e instanceof File);if(o.some(e=>e.size===0)){await a(`empty-file`);return}if(o.reduce((e,t)=>e+t.size,0)>104857600){await a(`too-large`);return}let s=e=>{let n=t.get(e);return typeof n==`string`?n:``},c=s(`title`),l=s(`text`),u=s(`url`);if(!o.length&&![c,l,u].some(e=>e.trim())){await a(`empty-share`);return}for(let[e,t]of o.entries()){let a=`${r}/file-${e}`;await n.put(a,new Response(t,{headers:{"Content-Type":t.type||`application/octet-stream`}})),i.push(a)}await n.put(`${r}/meta`,new Response(JSON.stringify({status:`ready`,title:c,text:l,url:u,fileNames:o.map(e=>e.name),stashedAt:Date.now()})))}catch{await a(`stash-failed`)}}try{self[`workbox:core:7.4.0`]&&_()}catch{}var n=(e,...t)=>{let n=e;return t.length>0&&(n+=` :: ${JSON.stringify(t)}`),n},r=class extends Error{constructor(e,t){let r=n(e,t);super(r),this.name=e,this.details=t}},i={googleAnalytics:`googleAnalytics`,precache:`precache-v2`,prefix:`workbox`,runtime:`runtime`,suffix:typeof registration<`u`?registration.scope:``},a=e=>[i.prefix,e,i.suffix].filter(e=>e&&e.length>0).join(`-`),o=e=>{for(let t of Object.keys(i))e(t)},s={updateDetails:e=>{o(t=>{typeof e[t]==`string`&&(i[t]=e[t])})},getGoogleAnalyticsName:e=>e||a(i.googleAnalytics),getPrecacheName:e=>e||a(i.precache),getPrefix:()=>i.prefix,getRuntimeName:e=>e||a(i.runtime),getSuffix:()=>i.suffix};function c(e,t){let n=t();return e.waitUntil(n),n}try{self[`workbox:precaching:7.4.0`]&&_()}catch{}var l=`__WB_REVISION__`;function u(e){if(!e)throw new r(`add-to-cache-list-unexpected-type`,{entry:e});if(typeof e==`string`){let t=new URL(e,location.href);return{cacheKey:t.href,url:t.href}}let{revision:t,url:n}=e;if(!n)throw new r(`add-to-cache-list-unexpected-type`,{entry:e});if(!t){let e=new URL(n,location.href);return{cacheKey:e.href,url:e.href}}let i=new URL(n,location.href),a=new URL(n,location.href);return i.searchParams.set(l,t),{cacheKey:i.href,url:a.href}}var ee=class{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:e,state:t})=>{t&&(t.originalRequest=e)},this.cachedResponseWillBeUsed=async({event:e,state:t,cachedResponse:n})=>{if(e.type===`install`&&t&&t.originalRequest&&t.originalRequest instanceof Request){let e=t.originalRequest.url;n?this.notUpdatedURLs.push(e):this.updatedURLs.push(e)}return n}}},te=class{constructor({precacheController:e}){this.cacheKeyWillBeUsed=async({request:e,params:t})=>{let n=t?.cacheKey||this._precacheController.getCacheKeyForURL(e.url);return n?new Request(n,{headers:e.headers}):e},this._precacheController=e}},d;function ne(){if(d===void 0){let e=new Response(``);if(`body`in e)try{new Response(e.body),d=!0}catch{d=!1}d=!1}return d}async function re(e,t){let n=null;if(e.url&&(n=new URL(e.url).origin),n!==self.location.origin)throw new r(`cross-origin-copy-response`,{origin:n});let i=e.clone(),a={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=t?t(a):a,s=ne()?i.body:await i.blob();return new Response(s,o)}var ie=e=>new URL(String(e),location.href).href.replace(RegExp(`^${location.origin}`),``);function f(e,t){let n=new URL(e);for(let e of t)n.searchParams.delete(e);return n.href}async function ae(e,t,n,r){let i=f(t.url,n);if(t.url===i)return e.match(t,r);let a=Object.assign(Object.assign({},r),{ignoreSearch:!0}),o=await e.keys(t,a);for(let t of o)if(i===f(t.url,n))return e.match(t,r)}var oe=class{constructor(){this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}},p=new Set;async function m(){for(let e of p)await e()}function h(e){return new Promise(t=>setTimeout(t,e))}try{self[`workbox:strategies:7.4.0`]&&_()}catch{}function g(e){return typeof e==`string`?new Request(e):e}var se=class{constructor(e,t){this._cacheKeys={},Object.assign(this,t),this.event=t.event,this._strategy=e,this._handlerDeferred=new oe,this._extendLifetimePromises=[],this._plugins=[...e.plugins],this._pluginStateMap=new Map;for(let e of this._plugins)this._pluginStateMap.set(e,{});this.event.waitUntil(this._handlerDeferred.promise)}async fetch(e){let{event:t}=this,n=g(e);if(n.mode===`navigate`&&t instanceof FetchEvent&&t.preloadResponse){let e=await t.preloadResponse;if(e)return e}let i=this.hasCallback(`fetchDidFail`)?n.clone():null;try{for(let e of this.iterateCallbacks(`requestWillFetch`))n=await e({request:n.clone(),event:t})}catch(e){if(e instanceof Error)throw new r(`plugin-error-request-will-fetch`,{thrownErrorMessage:e.message})}let a=n.clone();try{let e;e=await fetch(n,n.mode===`navigate`?void 0:this._strategy.fetchOptions);for(let n of this.iterateCallbacks(`fetchDidSucceed`))e=await n({event:t,request:a,response:e});return e}catch(e){throw i&&await this.runCallbacks(`fetchDidFail`,{error:e,event:t,originalRequest:i.clone(),request:a.clone()}),e}}async fetchAndCachePut(e){let t=await this.fetch(e),n=t.clone();return this.waitUntil(this.cachePut(e,n)),t}async cacheMatch(e){let t=g(e),n,{cacheName:r,matchOptions:i}=this._strategy,a=await this.getCacheKey(t,`read`),o=Object.assign(Object.assign({},i),{cacheName:r});n=await caches.match(a,o);for(let e of this.iterateCallbacks(`cachedResponseWillBeUsed`))n=await e({cacheName:r,matchOptions:i,cachedResponse:n,request:a,event:this.event})||void 0;return n}async cachePut(e,t){let n=g(e);await h(0);let i=await this.getCacheKey(n,`write`);if(!t)throw new r(`cache-put-with-no-response`,{url:ie(i.url)});let a=await this._ensureResponseSafeToCache(t);if(!a)return!1;let{cacheName:o,matchOptions:s}=this._strategy,c=await self.caches.open(o),l=this.hasCallback(`cacheDidUpdate`),u=l?await ae(c,i.clone(),[`__WB_REVISION__`],s):null;try{await c.put(i,l?a.clone():a)}catch(e){if(e instanceof Error)throw e.name===`QuotaExceededError`&&await m(),e}for(let e of this.iterateCallbacks(`cacheDidUpdate`))await e({cacheName:o,oldResponse:u,newResponse:a.clone(),request:i,event:this.event});return!0}async getCacheKey(e,t){let n=`${e.url} | ${t}`;if(!this._cacheKeys[n]){let r=e;for(let e of this.iterateCallbacks(`cacheKeyWillBeUsed`))r=g(await e({mode:t,request:r,event:this.event,params:this.params}));this._cacheKeys[n]=r}return this._cacheKeys[n]}hasCallback(e){for(let t of this._strategy.plugins)if(e in t)return!0;return!1}async runCallbacks(e,t){for(let n of this.iterateCallbacks(e))await n(t)}*iterateCallbacks(e){for(let t of this._strategy.plugins)if(typeof t[e]==`function`){let n=this._pluginStateMap.get(t);yield r=>{let i=Object.assign(Object.assign({},r),{state:n});return t[e](i)}}}waitUntil(e){return this._extendLifetimePromises.push(e),e}async doneWaiting(){for(;this._extendLifetimePromises.length;){let e=this._extendLifetimePromises.splice(0),t=(await Promise.allSettled(e)).find(e=>e.status===`rejected`);if(t)throw t.reason}}destroy(){this._handlerDeferred.resolve(null)}async _ensureResponseSafeToCache(e){let t=e,n=!1;for(let e of this.iterateCallbacks(`cacheWillUpdate`))if(t=await e({request:this.request,response:t,event:this.event})||void 0,n=!0,!t)break;return n||t&&t.status!==200&&(t=void 0),t}},ce=class{constructor(e={}){this.cacheName=s.getRuntimeName(e.cacheName),this.plugins=e.plugins||[],this.fetchOptions=e.fetchOptions,this.matchOptions=e.matchOptions}handle(e){let[t]=this.handleAll(e);return t}handleAll(e){e instanceof FetchEvent&&(e={event:e,request:e.request});let t=e.event,n=typeof e.request==`string`?new Request(e.request):e.request,r=`params`in e?e.params:void 0,i=new se(this,{event:t,request:n,params:r}),a=this._getResponse(i,n,t);return[a,this._awaitComplete(a,i,n,t)]}async _getResponse(e,t,n){await e.runCallbacks(`handlerWillStart`,{event:n,request:t});let i;try{if(i=await this._handle(t,e),!i||i.type===`error`)throw new r(`no-response`,{url:t.url})}catch(r){if(r instanceof Error){for(let a of e.iterateCallbacks(`handlerDidError`))if(i=await a({error:r,event:n,request:t}),i)break}if(!i)throw r}for(let r of e.iterateCallbacks(`handlerWillRespond`))i=await r({event:n,request:t,response:i});return i}async _awaitComplete(e,t,n,r){let i,a;try{i=await e}catch{}try{await t.runCallbacks(`handlerDidRespond`,{event:r,request:n,response:i}),await t.doneWaiting()}catch(e){e instanceof Error&&(a=e)}if(await t.runCallbacks(`handlerDidComplete`,{event:r,request:n,response:i,error:a}),t.destroy(),a)throw a}},v=class e extends ce{constructor(t={}){t.cacheName=s.getPrecacheName(t.cacheName),super(t),this._fallbackToNetwork=t.fallbackToNetwork!==!1,this.plugins.push(e.copyRedirectedCacheableResponsesPlugin)}async _handle(e,t){return await t.cacheMatch(e)||(t.event&&t.event.type===`install`?await this._handleInstall(e,t):await this._handleFetch(e,t))}async _handleFetch(e,t){let n,i=t.params||{};if(this._fallbackToNetwork){let r=i.integrity,a=e.integrity,o=!a||a===r;n=await t.fetch(new Request(e,{integrity:e.mode===`no-cors`?void 0:a||r})),r&&o&&e.mode!==`no-cors`&&(this._useDefaultCacheabilityPluginIfNeeded(),await t.cachePut(e,n.clone()))}else throw new r(`missing-precache-entry`,{cacheName:this.cacheName,url:e.url});return n}async _handleInstall(e,t){this._useDefaultCacheabilityPluginIfNeeded();let n=await t.fetch(e);if(!await t.cachePut(e,n.clone()))throw new r(`bad-precaching-response`,{url:e.url,status:n.status});return n}_useDefaultCacheabilityPluginIfNeeded(){let t=null,n=0;for(let[r,i]of this.plugins.entries())i!==e.copyRedirectedCacheableResponsesPlugin&&(i===e.defaultPrecacheCacheabilityPlugin&&(t=r),i.cacheWillUpdate&&n++);n===0?this.plugins.push(e.defaultPrecacheCacheabilityPlugin):n>1&&t!==null&&this.plugins.splice(t,1)}};v.defaultPrecacheCacheabilityPlugin={async cacheWillUpdate({response:e}){return!e||e.status>=400?null:e}},v.copyRedirectedCacheableResponsesPlugin={async cacheWillUpdate({response:e}){return e.redirected?await re(e):e}};var le=class{constructor({cacheName:e,plugins:t=[],fallbackToNetwork:n=!0}={}){this._urlsToCacheKeys=new Map,this._urlsToCacheModes=new Map,this._cacheKeysToIntegrities=new Map,this._strategy=new v({cacheName:s.getPrecacheName(e),plugins:[...t,new te({precacheController:this})],fallbackToNetwork:n}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this._strategy}precache(e){this.addToCacheList(e),this._installAndActiveListenersAdded||=(self.addEventListener(`install`,this.install),self.addEventListener(`activate`,this.activate),!0)}addToCacheList(e){let t=[];for(let n of e){typeof n==`string`?t.push(n):n&&n.revision===void 0&&t.push(n.url);let{cacheKey:e,url:i}=u(n),a=typeof n!=`string`&&n.revision?`reload`:`default`;if(this._urlsToCacheKeys.has(i)&&this._urlsToCacheKeys.get(i)!==e)throw new r(`add-to-cache-list-conflicting-entries`,{firstEntry:this._urlsToCacheKeys.get(i),secondEntry:e});if(typeof n!=`string`&&n.integrity){if(this._cacheKeysToIntegrities.has(e)&&this._cacheKeysToIntegrities.get(e)!==n.integrity)throw new r(`add-to-cache-list-conflicting-integrities`,{url:i});this._cacheKeysToIntegrities.set(e,n.integrity)}if(this._urlsToCacheKeys.set(i,e),this._urlsToCacheModes.set(i,a),t.length>0){let e=`Workbox is precaching URLs without revision info: ${t.join(`, `)}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(e)}}}install(e){return c(e,async()=>{let t=new ee;this.strategy.plugins.push(t);for(let[t,n]of this._urlsToCacheKeys){let r=this._cacheKeysToIntegrities.get(n),i=this._urlsToCacheModes.get(t),a=new Request(t,{integrity:r,cache:i,credentials:`same-origin`});await Promise.all(this.strategy.handleAll({params:{cacheKey:n},request:a,event:e}))}let{updatedURLs:n,notUpdatedURLs:r}=t;return{updatedURLs:n,notUpdatedURLs:r}})}activate(e){return c(e,async()=>{let e=await self.caches.open(this.strategy.cacheName),t=await e.keys(),n=new Set(this._urlsToCacheKeys.values()),r=[];for(let i of t)n.has(i.url)||(await e.delete(i),r.push(i.url));return{deletedURLs:r}})}getURLsToCacheKeys(){return this._urlsToCacheKeys}getCachedURLs(){return[...this._urlsToCacheKeys.keys()]}getCacheKeyForURL(e){let t=new URL(e,location.href);return this._urlsToCacheKeys.get(t.href)}getIntegrityForCacheKey(e){return this._cacheKeysToIntegrities.get(e)}async matchPrecache(e){let t=e instanceof Request?e.url:e,n=this.getCacheKeyForURL(t);if(n)return(await self.caches.open(this.strategy.cacheName)).match(n)}createHandlerBoundToURL(e){let t=this.getCacheKeyForURL(e);if(!t)throw new r(`non-precached-url`,{url:e});return n=>(n.request=new Request(e),n.params=Object.assign({cacheKey:t},n.params),this.strategy.handle(n))}},y,b=()=>(y||=new le,y);try{self[`workbox:routing:7.4.0`]&&_()}catch{}var x=e=>e&&typeof e==`object`?e:{handle:e},S=class{constructor(e,t,n=`GET`){this.handler=x(t),this.match=e,this.method=n}setCatchHandler(e){this.catchHandler=x(e)}},ue=class extends S{constructor(e,t,n){super(({url:t})=>{let n=e.exec(t.href);if(n&&(t.origin===location.origin||n.index===0))return n.slice(1)},t,n)}},de=class{constructor(){this._routes=new Map,this._defaultHandlerMap=new Map}get routes(){return this._routes}addFetchListener(){self.addEventListener(`fetch`,(e=>{let{request:t}=e,n=this.handleRequest({request:t,event:e});n&&e.respondWith(n)}))}addCacheListener(){self.addEventListener(`message`,(e=>{if(e.data&&e.data.type===`CACHE_URLS`){let{payload:t}=e.data,n=Promise.all(t.urlsToCache.map(t=>{typeof t==`string`&&(t=[t]);let n=new Request(...t);return this.handleRequest({request:n,event:e})}));e.waitUntil(n),e.ports&&e.ports[0]&&n.then(()=>e.ports[0].postMessage(!0))}}))}handleRequest({request:e,event:t}){let n=new URL(e.url,location.href);if(!n.protocol.startsWith(`http`))return;let r=n.origin===location.origin,{params:i,route:a}=this.findMatchingRoute({event:t,request:e,sameOrigin:r,url:n}),o=a&&a.handler,s=e.method;if(!o&&this._defaultHandlerMap.has(s)&&(o=this._defaultHandlerMap.get(s)),!o)return;let c;try{c=o.handle({url:n,request:e,event:t,params:i})}catch(e){c=Promise.reject(e)}let l=a&&a.catchHandler;return c instanceof Promise&&(this._catchHandler||l)&&(c=c.catch(async r=>{if(l)try{return await l.handle({url:n,request:e,event:t,params:i})}catch(e){e instanceof Error&&(r=e)}if(this._catchHandler)return this._catchHandler.handle({url:n,request:e,event:t});throw r})),c}findMatchingRoute({url:e,sameOrigin:t,request:n,event:r}){let i=this._routes.get(n.method)||[];for(let a of i){let i,o=a.match({url:e,sameOrigin:t,request:n,event:r});if(o)return i=o,(Array.isArray(i)&&i.length===0||o.constructor===Object&&Object.keys(o).length===0||typeof o==`boolean`)&&(i=void 0),{route:a,params:i}}return{}}setDefaultHandler(e,t=`GET`){this._defaultHandlerMap.set(t,x(e))}setCatchHandler(e){this._catchHandler=x(e)}registerRoute(e){this._routes.has(e.method)||this._routes.set(e.method,[]),this._routes.get(e.method).push(e)}unregisterRoute(e){if(!this._routes.has(e.method))throw new r(`unregister-route-but-not-found-with-method`,{method:e.method});let t=this._routes.get(e.method).indexOf(e);if(t>-1)this._routes.get(e.method).splice(t,1);else throw new r(`unregister-route-route-not-registered`)}},C,fe=()=>(C||(C=new de,C.addFetchListener(),C.addCacheListener()),C);function pe(e,t,n){let i;if(typeof e==`string`){let r=new URL(e,location.href);i=new S(({url:e})=>e.href===r.href,t,n)}else if(e instanceof RegExp)i=new ue(e,t,n);else if(typeof e==`function`)i=new S(e,t,n);else if(e instanceof S)i=e;else throw new r(`unsupported-route-type`,{moduleName:`workbox-routing`,funcName:`registerRoute`,paramName:`capture`});return fe().registerRoute(i),i}function me(e,t=[]){for(let n of[...e.searchParams.keys()])t.some(e=>e.test(n))&&e.searchParams.delete(n);return e}function*he(e,{ignoreURLParametersMatching:t=[/^utm_/,/^fbclid$/],directoryIndex:n=`index.html`,cleanURLs:r=!0,urlManipulation:i}={}){let a=new URL(e,location.href);a.hash=``,yield a.href;let o=me(a,t);if(yield o.href,n&&o.pathname.endsWith(`/`)){let e=new URL(o.href);e.pathname+=n,yield e.href}if(r){let e=new URL(o.href);e.pathname+=`.html`,yield e.href}if(i){let e=i({url:a});for(let t of e)yield t.href}}var w=class extends S{constructor(e,t){super(({request:n})=>{let r=e.getURLsToCacheKeys();for(let i of he(n.url,t)){let t=r.get(i);if(t)return{cacheKey:t,integrity:e.getIntegrityForCacheKey(t)}}},e.strategy)}};function T(e){pe(new w(b(),e))}var E=`-precache-`,D=async(e,t=E)=>{let n=(await self.caches.keys()).filter(n=>n.includes(t)&&n.includes(self.registration.scope)&&n!==e);return await Promise.all(n.map(e=>self.caches.delete(e))),n};function O(){self.addEventListener(`activate`,(e=>{let t=s.getPrecacheName();e.waitUntil(D(t).then(e=>{}))}))}function k(e){return b().matchPrecache(e)}function A(e){b().precache(e)}function j(e,t){A(e),T(t)}var M=`offline-content-v1`,N=`offline-api-v1`,P={enabled:!1,budgetBytes:4294967296,excludedWorkspaces:[]};function F(e){let t=e.match(/^\/rest\/v2\/workspaces\/([^/?#]+)/);return t?decodeURIComponent(t[1]):null}var I=1e3,L=`canvas-offline`,R=2,z=null;function B(){return z||(z=new Promise((e,t)=>{let n=indexedDB.open(L,R);n.onupgradeneeded=e=>{let t=n.result;if(t.objectStoreNames.contains(`config`)||t.createObjectStore(`config`),t.objectStoreNames.contains(`entries`)||t.createObjectStore(`entries`,{keyPath:`url`}),e.oldVersion>=1&&t.objectStoreNames.contains(`pins`)){t.deleteObjectStore(`pins`);let e=n.transaction.objectStore(`entries`).openCursor();e.onsuccess=()=>{let t=e.result;if(!t)return;let n=t.value;n.pinned&&t.update({...n,pinned:!1}),t.continue()}}t.objectStoreNames.contains(`scopes`)||t.createObjectStore(`scopes`,{keyPath:`id`})},n.onsuccess=()=>{n.result.onversionchange=()=>{n.result.close(),z=null},e(n.result)},n.onerror=()=>{z=null,t(n.error)}}),z)}function V(e){return new Promise((t,n)=>{e.oncomplete=()=>t(),e.onerror=()=>n(e.error),e.onabort=()=>n(e.error)})}function H(e){return new Promise((t,n)=>{e.onsuccess=()=>t(e.result),e.onerror=()=>n(e.error)})}async function U(e,t){return H((await B()).transaction(e).objectStore(e).get(t))}async function ge(e){return H((await B()).transaction(e).objectStore(e).getAll())}async function W(e,t,n){let r=(await B()).transaction(e,`readwrite`);return r.objectStore(e).put(t,n),V(r)}async function G(e,t){let n=(await B()).transaction(e,`readwrite`);return n.objectStore(e).delete(t),V(n)}async function _e(){try{let e=await U(`config`,`settings`);return e?{...P,...e}:P}catch{return P}}async function K(e,t,n){let r=await U(`entries`,e);await W(`entries`,{url:e,kind:t,size:n,lastAccess:Date.now(),pinned:r?.pinned??!1})}var ve=6e4,q=new Map;async function J(e){let t=q.get(e),n=Date.now();if(t&&n-t<ve)return;q.set(e,n),q.size>4096&&q.clear();let r=await U(`entries`,e);r&&await W(`entries`,{...r,lastAccess:n})}async function ye(e){let t=await ge(`entries`),n=t.filter(e=>e.kind===`api`).sort((e,t)=>e.lastAccess-t.lastAccess),r=n.slice(0,Math.max(0,n.length-I)),i=t.filter(e=>e.kind===`content`),a=i.reduce((e,t)=>e+t.size,0),o=i.filter(e=>!e.pinned).sort((e,t)=>e.lastAccess-t.lastAccess),s=[];for(let t of o){if(a<=e)break;s.push(t),a-=t.size}if(!r.length&&!s.length)return;let[c,l]=await Promise.all([caches.open(N),caches.open(M)]);await Promise.all([...r.map(async e=>{await c.delete(e.url),await G(`entries`,e.url)}),...s.map(async e=>{await l.delete(e.url),await G(`entries`,e.url)})])}O(),j([{"revision":"058bbbe5614ec13335dcefc4a2c54618","url":"index.html"},{"revision":"d0c188df2432c882c53e561e64cd29a2","url":"favicon_wl.png"},{"revision":"243f17f04cf5eb5b298d9701dbd3b4b9","url":"favicon.png"},{"revision":"339e5b64fa2c186631343b5399fe3898","url":"wallpapers/files/canvas_3.svg"},{"revision":"b164dca13ae630411fdc766586da3f61","url":"wallpapers/files/canvas_1.svg"},{"revision":"6ffe60f1b1d220a5b59ef1fe376122f6","url":"screenshots/s3.png"},{"revision":"be57d83f15923b5351a2a7cde1f35bf8","url":"screenshots/s2.png"},{"revision":"c3af5f4e79b0e4b5794d10e1ed3be39a","url":"screenshots/s1.png"},{"revision":"265dfc3ecb9788a5ae8974ec254ac651","url":"js/particles.min.js"},{"revision":"443e87a6d23acf7c849051ffd38106db","url":"images/logo_orig.png"},{"revision":"d0c188df2432c882c53e561e64cd29a2","url":"images/logo_64x64.png"},{"revision":"1c314d3790ee0733defb3e75079ba8d9","url":"images/logo_512x512.png"},{"revision":"d6363d0e5249f161c4b7d78045a210e5","url":"images/logo_256x256.png"},{"revision":"6f763ad15fbd8e2e93893c0d98a9905d","url":"images/logo_128x128.png"},{"revision":"bc4e038a89ae062004dd9ff297bba3f5","url":"images/logo_1024x1024.png"},{"revision":"1c1dcdd3b47bee973de6f323b504dda5","url":"images/logo-wr_orig.png"},{"revision":"34a0677b471ec1dcf5f25eeac90539e2","url":"images/logo-wr_64x64.png"},{"revision":"de6735f441492f065a0da94eacb982de","url":"images/logo-wr_512x512.png"},{"revision":"3018eca652753d237061b855645f93c9","url":"images/logo-wr_256x256.png"},{"revision":"509310a186188c5b0751569a536ee83a","url":"images/logo-wr_128x128.png"},{"revision":"c23aea3f0209c8f5817796449af52472","url":"images/logo-wr_1024x1024.png"},{"revision":"8119caf9106c961943456e5113c26cfc","url":"images/logo-br_orig.png"},{"revision":"ed7721ca00c7df91460006ae11340980","url":"images/logo-br_64x64.png"},{"revision":"657409bce8f4fe2efaa08f441d91cb26","url":"images/logo-br_512x512.png"},{"revision":"1d1659355d80946eedf1063501b091b8","url":"images/logo-br_256x256.png"},{"revision":"733bf2efe01b5cb056534806772aabd2","url":"images/logo-br_128x128.png"},{"revision":"e7561ccec1eefad2a36e697ddbebcd78","url":"images/logo-br_1024x1024.png"},{"revision":"05d9d6e8842b65d5a6b7f9b83eb6e786","url":"images/logo-bl_orig.png"},{"revision":"243f17f04cf5eb5b298d9701dbd3b4b9","url":"images/logo-bl_64x64.png"},{"revision":"a34687e37e32da4d4c127831c6f9779c","url":"images/logo-bl_512x512.png"},{"revision":"0260dd99a07186b7fc3d101023068658","url":"images/logo-bl_256x256.png"},{"revision":"ddb2b89e0437a22554694e1f0a2b894b","url":"images/logo-bl_128x128.png"},{"revision":"1ca5897439475c3b2acab290959559b9","url":"images/logo-bl_1024x1024.png"},{"revision":"d0c188df2432c882c53e561e64cd29a2","url":"images/favicon.png"},{"revision":"d6363d0e5249f161c4b7d78045a210e5","url":"images/apple-touch-icon.png"},{"revision":"1c314d3790ee0733defb3e75079ba8d9","url":"images/android-chrome-512x512.png"},{"revision":"452c6675af891c549b493895764c855d","url":"images/avatars/default.png"},{"revision":null,"url":"assets/zh-TW-RAJ6MFWO-BTknr43S.js"},{"revision":null,"url":"assets/zh-HK-E62DVLB3-dcRoFFJT.js"},{"revision":null,"url":"assets/zh-CN-LNUGB5OW-N0-P-YPg.js"},{"revision":null,"url":"assets/xychartDiagram-S5SC5T6Z-Cg27DCiq.js"},{"revision":null,"url":"assets/workspaces-CqHYstZv.js"},{"revision":null,"url":"assets/workspaces-BK7Rj72s.js"},{"revision":null,"url":"assets/workspace-import-form-Bb6z42nw.js"},{"revision":null,"url":"assets/workspace-content-gate-NLuRPvbm.js"},{"revision":null,"url":"assets/workspace-area-menu-BFw2yUHk.js"},{"revision":null,"url":"assets/workspace-access-C9nZlBBZ.js"},{"revision":null,"url":"assets/workspace-BydSRtST.js"},{"revision":null,"url":"assets/workspace-BJELPCNs.js"},{"revision":null,"url":"assets/workbox-window.prod.es5-Bd17z0YL.js"},{"revision":null,"url":"assets/wardleyDiagram-VM6X3IG4-XOnMkSi-.js"},{"revision":null,"url":"assets/wardley-WFR3VGLG-C6N1rULY.js"},{"revision":null,"url":"assets/vi-VN-M7AON7JQ-BFEVKFOA.js"},{"revision":null,"url":"assets/vennDiagram-4TSXK5OY-P6FI4YvP.js"},{"revision":null,"url":"assets/utils-BxVxyehK.js"},{"revision":null,"url":"assets/utils-2pl1SbIp.js"},{"revision":null,"url":"assets/users-DuVk-TEd.js"},{"revision":null,"url":"assets/useToastHelpers-CRrpIIdY.js"},{"revision":null,"url":"assets/useSocketSubscription-ifW-vnlb.js"},{"revision":null,"url":"assets/useEscapeClose-DR_xKT_k.js"},{"revision":null,"url":"assets/useEditNoteFields-DXLTFEqL.js"},{"revision":null,"url":"assets/useDocumentThumbnail-wW0lSOEy.js"},{"revision":null,"url":"assets/useAgentModels-Bda5ilvQ.js"},{"revision":null,"url":"assets/useAddTarget-B3b6TyZr.js"},{"revision":null,"url":"assets/use-workspace-identity-B8gOMGj4.js"},{"revision":null,"url":"assets/use-toolbox-Ck_cLGgf.js"},{"revision":null,"url":"assets/use-toast-BlLDqSUO.js"},{"revision":null,"url":"assets/use-theme-DaxpiICf.js"},{"revision":null,"url":"assets/use-sortable-data-BBKmqs79.js"},{"revision":null,"url":"assets/use-settings-back-DGmLAD63.js"},{"revision":null,"url":"assets/use-mobile-Db-vWu9Y.js"},{"revision":null,"url":"assets/use-menu-DIP1zh7I.js"},{"revision":null,"url":"assets/use-document-modal-PG8bQyIB.js"},{"revision":null,"url":"assets/use-create-panel-DhSNIGtr.js"},{"revision":null,"url":"assets/use-canvas-pins-DkWN9oEd.js"},{"revision":null,"url":"assets/use-canvas-pins-C57Vbkrq.css"},{"revision":null,"url":"assets/use-applet-target-ffIGaAqT.js"},{"revision":null,"url":"assets/use-applet-docs-B2dk__vk.js"},{"revision":null,"url":"assets/url-params-n7kU_WZ-.js"},{"revision":null,"url":"assets/uk-UA-QMV73CPH-BfWne7LV.js"},{"revision":null,"url":"assets/ui-CDoK3F3U.js"},{"revision":null,"url":"assets/treemap-WGGIJYW6-Cg7tyfH8.js"},{"revision":null,"url":"assets/treeView-Q6P3EWNA-BTTYcvrF.js"},{"revision":null,"url":"assets/tr-TR-DEFEU3FU-Q633YFo2.js"},{"revision":null,"url":"assets/timeline-definition-24CTP7MA-HQ5YMAQc.js"},{"revision":null,"url":"assets/th-TH-HPSO5L25-swaKUA2N.js"},{"revision":null,"url":"assets/text-documents-BaXhu3ra.js"},{"revision":null,"url":"assets/tags-YamdPoBK.js"},{"revision":null,"url":"assets/ta-IN-2NMHFXQM-D1gPGRIR.js"},{"revision":null,"url":"assets/swimlanesDiagram-VR7AAH4N-DACbRCkF.js"},{"revision":null,"url":"assets/swimlanes-42K2YHIH-f0gJOzIY.js"},{"revision":null,"url":"assets/sv-SE-XGPEYMSR-CWEjOHYD.js"},{"revision":null,"url":"assets/subtree-transfer-dialog-DQM5zfx2.js"},{"revision":null,"url":"assets/subset-worker.chunk-D4w07nYk.js"},{"revision":null,"url":"assets/subset-shared.chunk-CzQ5JF2O.js"},{"revision":null,"url":"assets/stateDiagram-v2-MP3YSRHH-UMuzQhZ7.js"},{"revision":null,"url":"assets/stateDiagram-D77RDMKH-Dsv4fQ8Y.js"},{"revision":null,"url":"assets/src-CllyRBe0.js"},{"revision":null,"url":"assets/socket-hM4c-ZSl.js"},{"revision":null,"url":"assets/socket-CtH3EU9m.js"},{"revision":null,"url":"assets/sl-SI-NN7IZMDC-DFJxhRNE.js"},{"revision":null,"url":"assets/sketch-lazy-BbNgGbR3.js"},{"revision":null,"url":"assets/sk-SK-C5VTKIMK-NlHjiedH.js"},{"revision":null,"url":"assets/sizeCapture-INFHLROL-B0uUizjq.js"},{"revision":null,"url":"assets/si-LK-N5RQ5JYF-ROLYABqx.js"},{"revision":null,"url":"assets/shared-qweQ1MKt.js"},{"revision":null,"url":"assets/shared-BnpwVpxG.js"},{"revision":null,"url":"assets/share-target-BZmiLt2r.js"},{"revision":null,"url":"assets/sha256-65KIjGvZ.js"},{"revision":null,"url":"assets/settings-CljJz3ui.js"},{"revision":null,"url":"assets/settings-BgqCRJzb.js"},{"revision":null,"url":"assets/settings-BQmgBTa-.js"},{"revision":null,"url":"assets/settings-B6TQfRMQ.js"},{"revision":null,"url":"assets/sequenceDiagram-WJ2MYXX4-Dyn971wT.js"},{"revision":null,"url":"assets/search-COMZIxA7.js"},{"revision":null,"url":"assets/sankeyDiagram-P5KCCOFB-CBdZpflq.js"},{"revision":null,"url":"assets/sanitize-DrVcFY1Q.js"},{"revision":null,"url":"assets/ru-RU-B4JR7IUQ-n637KE87.js"},{"revision":null,"url":"assets/roundRect-D01gJrlt.js"},{"revision":null,"url":"assets/rough.esm-Dy-Kn_BL.js"},{"revision":null,"url":"assets/rolldown-runtime-C0FnF6B9.js"},{"revision":null,"url":"assets/roles-p2cRajz-.js"},{"revision":null,"url":"assets/roles-DoR2drD1.js"},{"revision":null,"url":"assets/role-C5I0Plgn.js"},{"revision":null,"url":"assets/ro-RO-JPDTUUEW-BqxNXAVP.js"},{"revision":null,"url":"assets/requirementDiagram-BXWQKSXE-S99ev3k7.js"},{"revision":null,"url":"assets/remotes-RPGcw6fH.js"},{"revision":null,"url":"assets/relation-events-CKio19hE.js"},{"revision":null,"url":"assets/registry-DQPkddij.js"},{"revision":null,"url":"assets/react-BHzhHVTZ.js"},{"revision":null,"url":"assets/railroadDiagram-O6MQD6OU-Cjw_zMBC.js"},{"revision":null,"url":"assets/railroad-peg-WCYAUIDC-BQiIsX_p.js"},{"revision":null,"url":"assets/railroad-ebnf-LZEXJU2U-V0aQVv9m.js"},{"revision":null,"url":"assets/railroad-abnf-HS5TGJTU-Cq7y22IA.js"},{"revision":null,"url":"assets/railroad-74A4TZTK-CGtTWdGc.js"},{"revision":null,"url":"assets/radar-RG4KPBEZ-B6h6pWOs.js"},{"revision":null,"url":"assets/query-debug-CQ0I3cXX.js"},{"revision":null,"url":"assets/quadrantDiagram-AXDQQJYC-CAXFELe7.js"},{"revision":null,"url":"assets/punycode.es6-ZbLrB_Dn.js"},{"revision":null,"url":"assets/public-share-D5yz-Pmo.js"},{"revision":null,"url":"assets/pt-PT-UZXXM6DQ-DXzHR8rJ.js"},{"revision":null,"url":"assets/pt-BR-5N22H2LF-CeODeunU.js"},{"revision":null,"url":"assets/preload-helper-Czpn1I53.js"},{"revision":null,"url":"assets/pl-PL-T2D74RX3-DgfcfsGT.js"},{"revision":null,"url":"assets/pieDiagram-E7YTZNPT-Cs2lygkh.js"},{"revision":null,"url":"assets/pie-WAS4IAKB-qxv01Y8W.js"},{"revision":null,"url":"assets/pica-XznpCgP2.js"},{"revision":null,"url":"assets/percentages-BXMCSKIN-BPGA3zHb.js"},{"revision":null,"url":"assets/pegDiagram-XKGWAZYB-DqjEkpXQ.js"},{"revision":null,"url":"assets/pdf.worker.min-C8Ts8bNu.js"},{"revision":null,"url":"assets/pdf-Ciz5_WNq.js"},{"revision":null,"url":"assets/path-fybaL0A-.js"},{"revision":null,"url":"assets/page-header-DrDt1sQ2.js"},{"revision":null,"url":"assets/packet-AYTQ26CC-BSJEH9Lb.js"},{"revision":null,"url":"assets/pa-IN-N4M65BXN-wsiZwueU.js"},{"revision":null,"url":"assets/ordinal-BDEzSJ7C.js"},{"revision":null,"url":"assets/offline-sNCjxnp-.js"},{"revision":null,"url":"assets/oc-FR-POXYY2M6-Cn1eE_Zu.js"},{"revision":null,"url":"assets/note-save-status-DPz4VzL6.js"},{"revision":null,"url":"assets/nn-NO-6E72VCQL-Dfy734xI.js"},{"revision":null,"url":"assets/nl-NL-IS3SIHDZ-C4-Hez0V.js"},{"revision":null,"url":"assets/nb-NO-T6EIAALU-BQeWbEx1.js"},{"revision":null,"url":"assets/my-MM-5M5IBNSE-BXTnMvRC.js"},{"revision":null,"url":"assets/mr-IN-CRQNXWMA-9iKXC6Ya.js"},{"revision":null,"url":"assets/mindmap-definition-YA3MSWOX-aAz9cEjj.js"},{"revision":null,"url":"assets/mermaid-parser.core-CN1hT9Tn.js"},{"revision":null,"url":"assets/markdown-view-BBBZtNSR.js"},{"revision":null,"url":"assets/markdown-it-DRESbtwK.js"},{"revision":null,"url":"assets/markdown-html-DtQ7-esK.css"},{"revision":null,"url":"assets/markdown-html-CZMGihx6.js"},{"revision":null,"url":"assets/map-BxCwdK0d.js"},{"revision":null,"url":"assets/map-BcsP_QXj.css"},{"revision":null,"url":"assets/lv-LV-5QDEKY6T-BTnV-PCT.js"},{"revision":null,"url":"assets/lt-LT-XHIRWOB4-B6H0gZ-C.js"},{"revision":null,"url":"assets/logs-DjG8_wJ2.js"},{"revision":null,"url":"assets/linear-aVQWq3ZZ.js"},{"revision":null,"url":"assets/line-DXCbHsGS.js"},{"revision":null,"url":"assets/lazy-editor-BUFAkTGl.js"},{"revision":null,"url":"assets/layer-style-Byl5LNFR.js"},{"revision":null,"url":"assets/last-path-BbXWC3b3.js"},{"revision":null,"url":"assets/label-BSTdjCWU.js"},{"revision":null,"url":"assets/ku-TR-6OUDTVRD-Ky7FAdew.js"},{"revision":null,"url":"assets/ko-KR-MTYHY66A-BdMJRRpv.js"},{"revision":null,"url":"assets/km-KH-HSX4SM5Z-CaYVKl3D.js"},{"revision":null,"url":"assets/kk-KZ-P5N5QNE5-D52-yIxL.js"},{"revision":null,"url":"assets/key-bindings--OI4Iz7e.js"},{"revision":null,"url":"assets/katex-CXMH3UgJ.js"},{"revision":null,"url":"assets/kanban-definition-UXKFOSKX-BqkLgv78.js"},{"revision":null,"url":"assets/kab-KAB-ZGHBKWFO-BXYUMKRc.js"},{"revision":null,"url":"assets/kaa-6HZHGXH3-0hNa4m6s.js"},{"revision":null,"url":"assets/journeyDiagram-3NMN7TZE-CL9Lqe59.js"},{"revision":null,"url":"assets/ja-JP-DBVTYXUO-DSHejo8t.js"},{"revision":null,"url":"assets/it-IT-JPQ66NNP-D6FUHYuZ.js"},{"revision":null,"url":"assets/ishikawaDiagram-5VMMS53U-Hs60L6ow.js"},{"revision":null,"url":"assets/input-BOtCd4HP.js"},{"revision":null,"url":"assets/init-C-OQMol4.js"},{"revision":null,"url":"assets/infoDiagram-27XIBGKW-BuJx_j6a.js"},{"revision":null,"url":"assets/info-A6RAGUB7-BlU-8_xu.js"},{"revision":null,"url":"assets/inferd-config-editor-B8x_XPOt.js"},{"revision":null,"url":"assets/index-VAgMESOp.js"},{"revision":null,"url":"assets/index-C51Jk0Xq.css"},{"revision":null,"url":"assets/image-blob-reduce.esm-Dj7YBvMv.js"},{"revision":null,"url":"assets/image-GAAHSSAO-CI-0hUck.js"},{"revision":null,"url":"assets/id-ID-SAP4L64H-ZZuXM5fX.js"},{"revision":null,"url":"assets/icons-DTuc_pxj.js"},{"revision":null,"url":"assets/hu-HU-A5ZG7DT2-BBrlHtCw.js"},{"revision":null,"url":"assets/home-Bg5pLpIh.js"},{"revision":null,"url":"assets/hi-IN-IWLTKZ5I-Dzr4DvnL.js"},{"revision":null,"url":"assets/he-IL-6SHJWFNN-9Ylp6ncb.js"},{"revision":null,"url":"assets/graphlib-DS17s2tU.js"},{"revision":null,"url":"assets/gl-ES-HMX3MZ6V-4bQs8jWL.js"},{"revision":null,"url":"assets/gitGraphDiagram-WWUBYQGX-D6Gfp0nt.js"},{"revision":null,"url":"assets/gitGraph-4MIJSDKK-DYlXv_yJ.js"},{"revision":null,"url":"assets/geo-CZfs0E-x.js"},{"revision":null,"url":"assets/ganttDiagram-EL5Y4UJY-BKBiwfwb.js"},{"revision":null,"url":"assets/fr-FR-RHASNOE6-BH99frB1.js"},{"revision":null,"url":"assets/form-panel-3p-ncEVK.js"},{"revision":null,"url":"assets/flowDiagram-HODETNUW-BrKzgeF8.js"},{"revision":null,"url":"assets/file-save-745eba88-Bwdfz6OZ.js"},{"revision":null,"url":"assets/file-save-3189631c-CO9S4HFW.js"},{"revision":null,"url":"assets/file-open-7c801643-DZtJT5zp.js"},{"revision":null,"url":"assets/file-open-002ab408-BHUWm0Sh.js"},{"revision":null,"url":"assets/fi-FI-Z5N7JZ37-DC3Y34Y8.js"},{"revision":null,"url":"assets/fa-IR-HGAKTJCU-ddIdgP13.js"},{"revision":null,"url":"assets/eventmodeling-NTZA5JFV-BR2FzK4R.js"},{"revision":null,"url":"assets/eu-ES-A7QVB2H4-CAoFumRj.js"},{"revision":null,"url":"assets/es-ES-U4NZUMDT-D_KzWrdW.js"},{"revision":null,"url":"assets/erDiagram-RLTQ6QDP-CL7FBspC.js"},{"revision":null,"url":"assets/en-B4ZKOASM-BClIFgbE.js"},{"revision":null,"url":"assets/embedding-D-I_ygUZ.js"},{"revision":null,"url":"assets/embedding-BvXcVfij.js"},{"revision":null,"url":"assets/el-GR-BZB4AONW-Chellj6d.js"},{"revision":null,"url":"assets/ebnfDiagram-PWID7BFC-B9wGidHs.js"},{"revision":null,"url":"assets/document-open-mode-DoImW-xs.js"},{"revision":null,"url":"assets/document-list-DAYdk5vh.css"},{"revision":null,"url":"assets/document-list-CQ1_7Sja.js"},{"revision":null,"url":"assets/document-CTvT2Qa5.js"},{"revision":null,"url":"assets/dist-zgyESmtJ.js"},{"revision":null,"url":"assets/dist-Cz2MTljl.js"},{"revision":null,"url":"assets/directory-open-4ed118d0-1i309Asm.js"},{"revision":null,"url":"assets/directory-open-01563666-D4xXyWb_.js"},{"revision":null,"url":"assets/diagram-Z3DM3KII-aAOMR4aJ.js"},{"revision":null,"url":"assets/diagram-VX7I27RA-D-UFFc5T.js"},{"revision":null,"url":"assets/diagram-VSXAHHWV-BR6t4bem.js"},{"revision":null,"url":"assets/diagram-UQ7AKVKN-CC4synlk.js"},{"revision":null,"url":"assets/diagram-S7CK7UJ4-BCYFjoge.js"},{"revision":null,"url":"assets/devices-CAa1bRxk.js"},{"revision":null,"url":"assets/devices-BwU9M8-W.js"},{"revision":null,"url":"assets/desk-dI_FvLsK.js"},{"revision":null,"url":"assets/defaultLocale-BFoDCU3G.js"},{"revision":null,"url":"assets/de-DE-XR44H4JA-DNaOwkE9.js"},{"revision":null,"url":"assets/date-time-picker-txVhlNO0.js"},{"revision":null,"url":"assets/dagre-PrKaheQc.js"},{"revision":null,"url":"assets/dagre-GXQ25YYZ-DAaeOVEp.js"},{"revision":null,"url":"assets/da-DK-5WZEPLOC-D55fbhpB.js"},{"revision":null,"url":"assets/cytoscape.esm-CGd-uY3x.js"},{"revision":null,"url":"assets/cynefinDiagram-5FMLGOSQ-Bwsug0X5.js"},{"revision":null,"url":"assets/cynefin-OW5HDTMX-7tP7QfM3.js"},{"revision":null,"url":"assets/cs-CZ-2BRQDIVT-Bz62EbC5.js"},{"revision":null,"url":"assets/cose-bilkent-JH36ORCC-DIeJt_L_.js"},{"revision":null,"url":"assets/contexts-Df-cWUlj2.js"},{"revision":null,"url":"assets/contexts-DDJagU4j.js"},{"revision":null,"url":"assets/context-DZ1Hn7tt.js"},{"revision":null,"url":"assets/content-app-view-Dcknmau8.js"},{"revision":null,"url":"assets/color-DFEH4BfK.js"},{"revision":null,"url":"assets/code-editor-BOIngd5F.js"},{"revision":null,"url":"assets/classDiagram-v2-VYDZK3BY-DLpT76o5.js"},{"revision":null,"url":"assets/classDiagram-ZZMXUADV-DLpT76o5.js"},{"revision":null,"url":"assets/chunk-Z3N5DIM6-D9TMVU7m.js"},{"revision":null,"url":"assets/chunk-Y2CYZVJY-DsF7k-Jl.js"},{"revision":null,"url":"assets/chunk-XXDRQBXY-CazVBYiP.js"},{"revision":null,"url":"assets/chunk-XHIXRSVI-BFQ6B8BE.js"},{"revision":null,"url":"assets/chunk-UY3FDG6J-CnmaAkG5.js"},{"revision":null,"url":"assets/chunk-TLUHSLCS-C47Epi2D.js"},{"revision":null,"url":"assets/chunk-TICWLB2K-jXepk-qW.js"},{"revision":null,"url":"assets/chunk-SVP7TREG-CoPu3EjZ.js"},{"revision":null,"url":"assets/chunk-SRAX5OIU-Dhm3gOdh.js"},{"revision":null,"url":"assets/chunk-SHT3W25Y-75CQ5pWa.js"},{"revision":null,"url":"assets/chunk-PWAF6VOD-DPI_wv9p.js"},{"revision":null,"url":"assets/chunk-POPQ4Y6H-B7yAy58S.js"},{"revision":null,"url":"assets/chunk-P2QGCYS3-DsGP3wH9.js"},{"revision":null,"url":"assets/chunk-OUJLGHUK-D0j2JRSg.js"},{"revision":null,"url":"assets/chunk-OSK3NFVY-fNjfug78.js"},{"revision":null,"url":"assets/chunk-LNGE3PJU-DWpGwHrW.js"},{"revision":null,"url":"assets/chunk-L3NEJ4N5-Cl0-d4Gu.js"},{"revision":null,"url":"assets/chunk-KI3K4JFJ-Rma-0k_M.js"},{"revision":null,"url":"assets/chunk-K2UTITRG-BvHe9UPk.js"},{"revision":null,"url":"assets/chunk-JWPE2WC7-DVXcaiue.js"},{"revision":null,"url":"assets/chunk-IMKFNOWR-BuKGugNz.js"},{"revision":null,"url":"assets/chunk-IH6LHLGP-CC6I9F3i.js"},{"revision":null,"url":"assets/chunk-ICYGCRZG-749o-pGJ.js"},{"revision":null,"url":"assets/chunk-I5DQTOEV-Hm2LfiYI.js"},{"revision":null,"url":"assets/chunk-GVQU2GXP-BMi2Lqv6.js"},{"revision":null,"url":"assets/chunk-GMAD6QVW-tEmtNh72.js"},{"revision":null,"url":"assets/chunk-FOHPRMQF-DHwB1DNv.js"},{"revision":null,"url":"assets/chunk-F27PBJKO-B8_NVNfE.js"},{"revision":null,"url":"assets/chunk-EIO257PC-CAhBf1ig.js"},{"revision":null,"url":"assets/chunk-DU6HZSFF-BlZbyIL6.js"},{"revision":null,"url":"assets/chunk-CLGD4ZFX-BzBIdJij.js"},{"revision":null,"url":"assets/chunk-75Z2AOVW-CzSd0Veu.js"},{"revision":null,"url":"assets/chunk-747NJXEK-BFkZPlab.js"},{"revision":null,"url":"assets/chunk-6U3AYISY-C6-Mtja1.js"},{"revision":null,"url":"assets/chunk-6TQVIW2G-DKlLbNIP.js"},{"revision":null,"url":"assets/chunk-6K3QC6MW-CqVsVn-y.js"},{"revision":null,"url":"assets/chunk-6EIED4P4-DdUJkP0f.js"},{"revision":null,"url":"assets/chunk-6AZGARVD-BB6FqMl-.js"},{"revision":null,"url":"assets/chunk-62JRHF6Z-vspAGgtK.js"},{"revision":null,"url":"assets/chunk-5VM5RSS4-ZNzvKenW.js"},{"revision":null,"url":"assets/chunk-5V3GS4D5-i-ZDOEnP.js"},{"revision":null,"url":"assets/chunk-4HAMMTFA-DwG4o-7o.js"},{"revision":null,"url":"assets/chunk-3Z5EZCMW-DMniOlPd.js"},{"revision":null,"url":"assets/chunk-2ZTRR5NV-C2qZJila.js"},{"revision":null,"url":"assets/chunk-2Q5K7J3B-C1jixKkw.js"},{"revision":null,"url":"assets/chunk-2E4U76K2-BX8JWCIb.js"},{"revision":null,"url":"assets/channel-DbE-WRyM.js"},{"revision":null,"url":"assets/ca-ES-6MX7JW3Y-QAg3jm2p.js"},{"revision":null,"url":"assets/c4Diagram-7LVT6UL2-aDTW23RC.js"},{"revision":null,"url":"assets/button-SeUZ_Pvi.js"},{"revision":null,"url":"assets/bn-BD-2XOGV67Q-KCzfC93t.js"},{"revision":null,"url":"assets/blockDiagram-I7D4REHJ-DJlTH4XU.js"},{"revision":null,"url":"assets/blobs-WiXP9QRi.js"},{"revision":null,"url":"assets/bg-BG-XCXSNQG7-DFFjBv03.js"},{"revision":null,"url":"assets/backend-sync-progress-tUU2XWtW.js"},{"revision":null,"url":"assets/backend-sync-progress-DU-e9TWi.css"},{"revision":null,"url":"assets/az-AZ-76LH7QW2-8v0TczD5.js"},{"revision":null,"url":"assets/auth-PqttD05H.js"},{"revision":null,"url":"assets/auth-Bx9fAZmz.js"},{"revision":null,"url":"assets/array-BifhSqXX.js"},{"revision":null,"url":"assets/architectureDiagram-5GKGNRK7-2gVOlDi3.js"},{"revision":null,"url":"assets/architecture-7GRP2DOG-BMOPAkUC.js"},{"revision":null,"url":"assets/arc-SXJSVd7o.js"},{"revision":null,"url":"assets/ar-SA-G6X2FPQ2-BJ7kJfgn.js"},{"revision":null,"url":"assets/apps-BYrwwspU.js"},{"revision":null,"url":"assets/applet-target-I8w6EPj0.js"},{"revision":null,"url":"assets/appearance-DEL04cKR.js"},{"revision":null,"url":"assets/api-tokens-drrVuCYc.js"},{"revision":null,"url":"assets/api-CA6WiiYM.js"},{"revision":null,"url":"assets/alert-dialog-CFeuDt0T.js"},{"revision":null,"url":"assets/agents-DxqAi3vk.js"},{"revision":null,"url":"assets/agents-ChD6m_5J.js"},{"revision":null,"url":"assets/admin-Bhg9QBHL.js"},{"revision":null,"url":"assets/add-B7zdhw47.js"},{"revision":null,"url":"assets/about-BpN8_1bC.js"},{"revision":null,"url":"assets/abnfDiagram-VCTEODGH-Cy_5vShZ.js"},{"revision":null,"url":"assets/_workspaceName_-JpQwQGvI.js"},{"revision":null,"url":"assets/_contextId_-DURo7ANU.js"},{"revision":null,"url":"assets/_agentId_-BuZ9wBek.js"},{"revision":null,"url":"assets/UploadProgressList-Ci1akl_D.js"},{"revision":null,"url":"assets/TodosWidget-CYK5RbYD.js"},{"revision":null,"url":"assets/TodosApplet-ASG9wXjL.js"},{"revision":null,"url":"assets/TextDocumentEditor-CU5ersd_.js"},{"revision":null,"url":"assets/TerminalApplet-BrP-ENHg.css"},{"revision":null,"url":"assets/TerminalApplet-BNeLmNFF.js"},{"revision":null,"url":"assets/SketchEditor-DtRVLazd.css"},{"revision":null,"url":"assets/SketchEditor-B2LYe_MO.js"},{"revision":null,"url":"assets/SketchApplet-14xrogy3.js"},{"revision":null,"url":"assets/PickDocumentsCard-CFDQL70e.js"},{"revision":null,"url":"assets/PathPickerField-B4yFUjgD.js"},{"revision":null,"url":"assets/ObjectPropertiesCard-Docu7O5V.css"},{"revision":null,"url":"assets/ObjectPropertiesCard-BTTwYnN9.js"},{"revision":null,"url":"assets/NotesApplet-DZ7lSkfC.js"},{"revision":null,"url":"assets/NextShell-BfQHKEKO.js"},{"revision":null,"url":"assets/NextShell-BT6-_CFY.css"},{"revision":null,"url":"assets/MessageComposerDialog-CdPp-3GR.js"},{"revision":null,"url":"assets/MarkdownEditor-DbpRWbO6.js"},{"revision":null,"url":"assets/MarkdownEditor-DWa37grk.css"},{"revision":null,"url":"assets/LocationTab-DAtqAQ3l.js"},{"revision":null,"url":"assets/LinkToSidePanel-eCy3nW4R.js"},{"revision":null,"url":"assets/LinkToCard-BQ1yoFDr.js"},{"revision":null,"url":"assets/LensApplet-D-E4YyKz.js"},{"revision":null,"url":"assets/IdentityFields-DZRqtnIG.js"},{"revision":null,"url":"assets/HomeFab-Cc33x4F2.js"},{"revision":null,"url":"assets/FiltersApplet-NltVCRY8.js"},{"revision":null,"url":"assets/FileForm-C35drQ_R.js"},{"revision":null,"url":"assets/EditorOverlay-D5t3xg4w.js"},{"revision":null,"url":"assets/DocumentIcon-9i1uCMQa.js"},{"revision":null,"url":"assets/DocumentBodyEditor-CVO5KPCs.js"},{"revision":null,"url":"assets/CalendarApplet-gN_A0sQe.js"},{"revision":"1c314d3790ee0733defb3e75079ba8d9","url":"images/android-chrome-512x512.png"},{"revision":"bc4e038a89ae062004dd9ff297bba3f5","url":"images/logo_1024x1024.png"},{"revision":"6f763ad15fbd8e2e93893c0d98a9905d","url":"images/logo_128x128.png"},{"revision":"d6363d0e5249f161c4b7d78045a210e5","url":"images/logo_256x256.png"},{"revision":"1c314d3790ee0733defb3e75079ba8d9","url":"images/logo_512x512.png"},{"revision":"d0c188df2432c882c53e561e64cd29a2","url":"images/logo_64x64.png"},{"revision":"caa9715e027d2757550109f1f9653d7c","url":"manifest.webmanifest"}]),self.addEventListener(`message`,e=>{e.data&&e.data.type===`SKIP_WAITING`&&self.skipWaiting()}),self.addEventListener(`activate`,e=>{e.waitUntil(Promise.all([self.clients.claim(),Ee()]))});var be=864e5,Y=/^\/rest\/v2\/workspaces\/[^/]+\/documents\/[^/]+\/(content|thumbnail)$/,xe=/^\/rest\/v2\/(auth|admin|ping|events)\b/,X=null;async function Z(){if(X&&Date.now()-X.at<1e4)return X.value;let e=await _e().catch(()=>({enabled:!1,budgetBytes:0,excludedWorkspaces:[]}));return X={at:Date.now(),value:e},e}function Q(e,t){let n=F(t);return n!==null&&e.excludedWorkspaces.includes(n)}self.addEventListener(`message`,e=>{e.data&&e.data.type===`OFFLINE_SETTINGS_CHANGED`&&(X=null)}),self.addEventListener(`fetch`,e=>{let{request:t}=e,n=new URL(t.url);if(t.method===`POST`&&n.pathname===`/share-target`){e.respondWith(Te(e));return}if(t.method===`GET`&&n.origin===self.location.origin&&n.pathname.startsWith(`/rest/v2/`)){if(Y.test(n.pathname)&&!n.searchParams.has(`download`)&&!t.headers.has(`range`)){e.respondWith(Se(e,t));return}if(!xe.test(n.pathname)&&!Y.test(n.pathname)){e.respondWith(Ce(e,t));return}}t.mode===`navigate`&&!$(n.pathname)&&e.respondWith(we(t))});function $(e){return e.startsWith(`/rest/`)||e.startsWith(`/dav/`)||e.startsWith(`/.well-known/`)}async function Se(e,t){let n=await Z();if(!n.enabled||Q(n,new URL(t.url).pathname))return fetch(t);let r=await caches.open(M),i=await r.match(t.url,{ignoreVary:!0});if(i)return e.waitUntil(J(t.url).catch(()=>{})),i;let a=await fetch(t);if(a.ok&&a.status===200){let i=a.clone();e.waitUntil((async()=>{try{await r.put(t.url,i);let e=Number(a.headers.get(`content-length`))||(await(await r.match(t.url))?.blob())?.size||0;await K(t.url,`content`,e),await ye(n.budgetBytes)}catch(e){console.warn(`[sw] offline content cache put failed`,e)}})())}return a}async function Ce(e,t){let n=await Z();if(!n.enabled||Q(n,new URL(t.url).pathname))return fetch(t);try{let n=await fetch(t);if(n.ok&&n.status===200){let r=n.clone();e.waitUntil((async()=>{try{await(await caches.open(N)).put(t.url,r),await K(t.url,`api`,Number(n.headers.get(`content-length`))||0)}catch(e){console.warn(`[sw] offline api cache put failed`,e)}})())}return n}catch(n){let r=await(await caches.open(N)).match(t.url,{ignoreVary:!0});if(r){e.waitUntil(J(t.url).catch(()=>{}));let n=new Headers(r.headers);return n.set(`X-Canvas-Offline`,`fallback`),new Response(r.body,{status:r.status,statusText:r.statusText,headers:n})}throw n}}async function we(e){try{return await fetch(e)}catch{let e=await k(`/index.html`);if(e)return e;throw Error(`offline and index.html is not precached`)}}function Te(n){let r=crypto.randomUUID();return caches.open(e).then(async e=>(await e.put(`/share-target-inbox/${r}/meta`,new Response(JSON.stringify({status:`receiving`,stashedAt:Date.now()}))),e)).then(e=>t(n.request,r,e)).then(()=>Response.redirect(new URL(`/share-target?token=${r}`,self.location.origin).href,303),()=>Response.redirect(new URL(`/share-target?error=stash-failed`,self.location.origin).href,303))}async function Ee(){try{if(!await caches.has(`share-target-inbox`))return;let t=await caches.open(e),n=await t.keys(),r=new Set;for(let e of n){let{pathname:n}=new URL(e.url);if(!n.endsWith(`/meta`))continue;let i=n.split(`/`)[2];if(!i)continue;let a=0;try{let n=await t.match(e);a=n?Number((await n.json()).stashedAt??0):0}catch{}(!a||Date.now()-a>be)&&r.add(i)}await Promise.all(n.filter(e=>r.has(new URL(e.url).pathname.split(`/`)[2])).map(e=>t.delete(e)))}catch(e){console.error(`[sw] share inbox prune failed`,e)}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@augmentd-labs/canvas-web",
|
|
3
|
-
"version": "2.26.
|
|
3
|
+
"version": "2.26.35",
|
|
4
4
|
"description": "Canvas web UI (prebuilt dist)",
|
|
5
5
|
"license": "AGPL-3.0-or-later",
|
|
6
6
|
"author": "Jozef Melich <me@idnc.sk>",
|
|
@@ -12,5 +12,5 @@
|
|
|
12
12
|
"dist",
|
|
13
13
|
"NOTICE"
|
|
14
14
|
],
|
|
15
|
-
"canvasRev": "
|
|
15
|
+
"canvasRev": "127d4ec"
|
|
16
16
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{l as t,u as n}from"./code-editor-BOIngd5F.js";import{r}from"./chunk-62JRHF6Z-vspAGgtK.js";import{Fr as i,Hr as a,L as o,Ot as s,Pt as c,Vr as l,X as u,ct as d,jr as f,mr as p,pn as m,qr as h,vn as g}from"./ui-76Hw0NU_.js";import{t as _}from"./utils-2pl1SbIp.js";import{Hn as v,In as y,St as b,jt as x,rt as S,vn as C,w,wn as T}from"./workspace-46EFyEKZ.js";import{o as E,t as D}from"./useAddTarget-D4ra50Am.js";import{a as O,o as k}from"./context-BGgz0Y_q.js";import{a as A,o as j,t as M}from"./date-time-picker-Bzu8H_Oa.js";import{n as N}from"./use-applet-target-DmIdCxa_.js";import{y as P}from"./index-CJapDuPp.js";import{r as ee,t as te}from"./shared-C-uHNNY8.js";var F=e(n(),1),I=864e5,L=[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`];function R(e){return String(e).padStart(2,`0`)}function z(e){return`${e.getFullYear()}-${R(e.getMonth()+1)}-${R(e.getDate())}`}function B(e){let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r)}function V(e){return`${z(e)}T${R(e.getHours())}:${R(e.getMinutes())}`}function H(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}function U(e,t){return new Date(e.getFullYear(),e.getMonth(),e.getDate()+t,e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds())}function ne(e,t){return new Date(e.getFullYear(),e.getMonth()+t,1)}function re(e){let t=H(e);return U(t,-((t.getDay()+6)%7))}function ie(e){return new Date(e.getFullYear(),e.getMonth(),1)}function W(e,t){return e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function G(e){let t=re(ie(e));return Array.from({length:42},(e,n)=>U(t,n))}function K(e,t){let n=[],r=t.getTime()>e.getTime()?new Date(t.getTime()-1):e;for(let t=H(e);t.getTime()<=r.getTime();t=U(t,1))n.push(t);return n}function q(e,t){let n=e.getTime()-H(t).getTime();return Math.max(0,Math.min(I,n))/6e4}var ae=new Intl.DateTimeFormat(void 0,{month:`long`,year:`numeric`}),J=new Intl.DateTimeFormat(void 0,{month:`short`}),oe=new Intl.DateTimeFormat(void 0,{weekday:`long`,day:`numeric`,month:`long`,year:`numeric`}),se=new Intl.DateTimeFormat(void 0,{weekday:`short`,day:`numeric`,month:`short`}),ce=new Intl.DateTimeFormat(void 0,{hour:`numeric`,minute:`2-digit`});function le(e){return ae.format(e)}function ue(e){return J.format(e)}function de(e){return oe.format(e)}function fe(e){return se.format(e)}function Y(e){return ce.format(e)}function pe(e){let t=U(e,6),n=e,r=t;return n.getFullYear()===r.getFullYear()?n.getMonth()===r.getMonth()?`${n.getDate()} – ${r.getDate()} ${J.format(n)} ${n.getFullYear()}`:`${n.getDate()} ${J.format(n)} – ${r.getDate()} ${J.format(r)} ${r.getFullYear()}`:`${n.getDate()} ${J.format(n)} ${n.getFullYear()} – ${r.getDate()} ${J.format(r)} ${r.getFullYear()}`}function me(e){return ce.format(new Date(2e3,0,1,e,0)).replace(/:00(?=\s|$)/,``)}var he={SU:0,MO:1,TU:2,WE:3,TH:4,FR:5,SA:6},ge=new Set([`FREQ`,`INTERVAL`,`COUNT`,`UNTIL`,`BYDAY`,`BYMONTHDAY`,`BYMONTH`,`WKST`]);function X(e){let t={};for(let n of e.replace(/^RRULE:/i,``).split(`;`)){let e=n.trim();if(!e)continue;let r=e.indexOf(`=`);if(r<1)return null;t[e.slice(0,r).toUpperCase()]=e.slice(r+1).toUpperCase()}if(Object.keys(t).some(e=>!ge.has(e)))return null;let n=t.FREQ;if(n!==`DAILY`&&n!==`WEEKLY`&&n!==`MONTHLY`&&n!==`YEARLY`)return null;let r=t.INTERVAL?Number(t.INTERVAL):1;if(!Number.isInteger(r)||r<1)return null;let i=t.COUNT?Number(t.COUNT):null;if(i!==null&&(!Number.isInteger(i)||i<1))return null;let a=null;if(t.UNTIL){let e=/^(\d{4})(\d{2})(\d{2})(?:T(\d{2})(\d{2})(\d{2})(Z?))?$/.exec(t.UNTIL);if(!e)return null;let[,n,r,i,o,s,c,l]=e;if(a=o===void 0?new Date(Number(n),Number(r)-1,Number(i),23,59,59,999):l?new Date(Date.UTC(Number(n),Number(r)-1,Number(i),Number(o),Number(s),Number(c))):new Date(Number(n),Number(r)-1,Number(i),Number(o),Number(s),Number(c)),Number.isNaN(a.getTime()))return null}let o=[];if(t.BYDAY)for(let e of t.BYDAY.split(`,`)){let t=/^([+-]?\d{1,2})?(SU|MO|TU|WE|TH|FR|SA)$/.exec(e.trim());if(!t)return null;o.push({day:he[t[2]],ordinal:t[1]?Number(t[1]):null})}let s=t.BYMONTHDAY?t.BYMONTHDAY.split(`,`).map(Number):[];if(s.some(e=>!Number.isInteger(e)||e===0||e<-31||e>31))return null;let c=t.BYMONTH?t.BYMONTH.split(`,`).map(Number):[];return c.some(e=>!Number.isInteger(e)||e<1||e>12)||o.some(e=>e.ordinal!==null)&&n!==`MONTHLY`&&n!==`YEARLY`?null:{freq:n,interval:r,count:i,until:a,byDay:o,byMonthDay:s,byMonth:c}}function _e(e,t){return new Date(e.getFullYear(),e.getMonth(),e.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds())}function ve(e,t){return new Date(e,t+1,0).getDate()}function ye(e,t,n,r){let i=ve(e,t),a=new Set;if(n.byMonthDay.length)for(let e of n.byMonthDay){let t=e>0?e:i+1+e;t>=1&&t<=i&&a.add(t)}if(n.byDay.length){let r=new Set;for(let{day:a,ordinal:o}of n.byDay){let n=[];for(let r=1;r<=i;r++)new Date(e,t,r).getDay()===a&&n.push(r);if(o===null)n.forEach(e=>r.add(e));else{let e=o>0?n[o-1]:n[n.length+o];e&&r.add(e)}}if(n.byMonthDay.length)for(let e of[...a])r.has(e)||a.delete(e);else r.forEach(e=>a.add(e))}return!n.byMonthDay.length&&!n.byDay.length&&r.getDate()<=i&&a.add(r.getDate()),[...a].sort((e,t)=>e-t).map(n=>_e(new Date(e,t,n),r))}function be(e,t,n,r,i=0,a=5e3){let o=[],s=n.getTime()-Math.max(0,i),c=r.getTime(),l=0,u=t=>{let n=t.getTime();return e.until&&n>e.until.getTime()||(l++,n>=s&&n<c&&o.push(t),e.count!==null&&l>=e.count)?!1:l<a};if(!u(t))return o;let d=t.getTime();if(e.freq===`DAILY`){for(let n=e.interval,r=0;r<a*12;n+=e.interval,r++){let r=_e(new Date(t.getFullYear(),t.getMonth(),t.getDate()+n),t);if(r.getTime()>=c&&e.count===null||!(e.byMonth.length&&!e.byMonth.includes(r.getMonth()+1))&&!u(r))break}return o}if(e.freq===`WEEKLY`){let n=e.byDay.length?[...new Set(e.byDay.map(e=>e.day))]:[t.getDay()],r=new Date(t.getFullYear(),t.getMonth(),t.getDate()-(t.getDay()+6)%7);for(let i=0;;i+=e.interval){let a=new Date(r.getFullYear(),r.getMonth(),r.getDate()+i*7);if(a.getTime()>=c+6048e5&&e.count===null)break;let o=!1;for(let e=0;e<7;e++){let r=new Date(a.getFullYear(),a.getMonth(),a.getDate()+e);if(!n.includes(r.getDay()))continue;let i=_e(r,t);if(!(i.getTime()<=d)&&!u(i)){o=!0;break}}if(o)break}return o}let f=e.freq===`MONTHLY`?e.interval:12*e.interval;for(let n=0;;n+=f){let r=t.getFullYear()+Math.floor((t.getMonth()+n)/12),i=(t.getMonth()+n)%12;if(new Date(r,i,1).getTime()>=c&&e.count===null)break;if(e.freq===`YEARLY`&&e.byMonth.length&&!e.byMonth.includes(i+1)){let n=!1;for(let i of e.byMonth){for(let a of ye(r,i-1,e,t))if(!(a.getTime()<=d)&&!u(a)){n=!0;break}if(n)break}if(n)break;continue}if(e.freq===`MONTHLY`&&e.byMonth.length&&!e.byMonth.includes(i+1))continue;let a=!1;for(let n of ye(r,i,e,t))if(!(n.getTime()<=d)&&!u(n)){a=!0;break}if(a||n>4800)break}return o}function xe(e){let t={DAILY:`day`,WEEKLY:`week`,MONTHLY:`month`,YEARLY:`year`}[e.freq],n=e.interval===1?`Every ${t}`:`Every ${e.interval} ${t}s`,r=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];return e.byDay.length?n+=` on `+e.byDay.map(({day:e,ordinal:t})=>t===null?r[e]:`${t===-1?`last`:`${t}.`} ${r[e]}`).join(`, `):e.byMonthDay.length&&(n+=` on day `+e.byMonthDay.join(`, `)),e.count!==null&&(n+=`, ${e.count} times`),e.until&&(n+=` until ${e.until.toLocaleDateString(void 0,{day:`numeric`,month:`short`,year:`numeric`})}`),n}function Se(e){if(!e)return`none`;let t=X(e);return!t||t.count!==null||t.until||t.interval!==1||t.byMonthDay.length||t.byMonth.length?`custom`:t.freq===`WEEKLY`&&t.byDay.length===5&&t.byDay.every(e=>e.ordinal===null&&e.day>=1&&e.day<=5)?`weekdays`:t.byDay.length?`custom`:{DAILY:`daily`,WEEKLY:`weekly`,MONTHLY:`monthly`,YEARLY:`yearly`}[t.freq]}function Ce(e){switch(e){case`daily`:return`FREQ=DAILY`;case`weekly`:return`FREQ=WEEKLY`;case`monthly`:return`FREQ=MONTHLY`;case`yearly`:return`FREQ=YEARLY`;case`weekdays`:return`FREQ=WEEKLY;BYDAY=MO,TU,WE,TH,FR`;default:return}}var we=`tasks`,Te=`data/schema/event`,Ee=`data/schema/task`;function De(e){if(typeof e!=`string`||!e)return null;let t=new Date(e);return Number.isNaN(t.getTime())?null:t}function Oe(e){return new Date(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate())}function ke(e){return e.schema.startsWith(Te)}function Ae(e){return e.schema===Ee}function je(e,t,n){let r=e.data??{};if(Ae(e)){let i=De(r.dueDate);if(!i||i<t||i>=n)return[];let a=String(r.status??`pending`);return[{key:`${e.id}@${i.getTime()}`,doc:e,kind:`task`,title:String(r.title??`Untitled`),start:i,end:i,allDay:!1,calendar:we,recurring:!1,unsupportedRule:!1,done:a===`completed`||a===`cancelled`}]}if(!ke(e))return[];let i=De(r.start);if(!i)return[];let a=r.allDay===!0,o=r.end===null?null:De(r.end),s=a?Oe(i):i,c=a?o?Oe(o):U(s,1):o??(r.end===null?n:s),l=Math.max(0,c.getTime()-s.getTime()),u={doc:e,kind:`event`,title:String(r.title??`Untitled`),allDay:a,calendar:typeof r.calendar==`string`?r.calendar:``,done:!1},d=typeof r.recurrence==`string`?r.recurrence:``;if(!d)return c.getTime()<=t.getTime()&&!(c.getTime()===s.getTime()&&s>=t)||s>=n?[]:[{...u,key:`${e.id}@${s.getTime()}`,start:s,end:c,recurring:!1,unsupportedRule:!1}];let f=X(d);return f?be(f,s,t,n,l).map(t=>({...u,key:`${e.id}@${t.getTime()}`,start:t,end:new Date(t.getTime()+l),recurring:!0,unsupportedRule:!1})):c<=t||s>=n?[]:[{...u,key:`${e.id}@${s.getTime()}`,start:s,end:c,recurring:!0,unsupportedRule:!0}]}function Me(e,t,n){return e.flatMap(e=>je(e,t,n)).sort((e,t)=>e.start.getTime()-t.start.getTime()||t.end.getTime()-e.end.getTime()||e.title.localeCompare(t.title))}function Ne(e){let t=new Map;for(let n of e)for(let e of K(n.start,n.end)){let r=`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,i=t.get(r);i?i.push(n):t.set(r,[n])}return t}function Pe(e){return e.allDay||e.end.getTime()-e.start.getTime()>=864e5||!W(e.start,new Date(e.end.getTime()-1))&&e.end.getTime()>e.start.getTime()}function Fe(e,t,n=30){let r=H(e),i=t.filter(e=>!Pe(e)).map(e=>{let t=q(e.start,r),i=Math.max(n,q(e.end,r)-t);return{occurrence:e,top:t,height:Math.min(i,1440-t),column:0,columns:1}}).sort((e,t)=>e.top-t.top||t.height-e.height),a=[],o=-1,s=()=>{let e=[];for(let t of a){let n=e.findIndex(e=>e<=t.top);n<0&&(n=e.length,e.push(0)),e[n]=t.top+t.height,t.column=n}for(let t of a)t.columns=e.length;a=[]};for(let e of i)a.length&&e.top>=o&&s(),a.push(e),o=Math.max(o,e.top+e.height);return a.length&&s(),i}var Ie=[{id:`day`,label:`Day`,key:`d`},{id:`week`,label:`Week`,key:`w`},{id:`month`,label:`Month`,key:`m`},{id:`year`,label:`Year`,key:`y`},{id:`schedule`,label:`Schedule`,key:`s`}],Le={view:`week`,hidden:[],showTasks:!0,defaultCalendar:`Personal`},Re=`canvas:calendar:prefs`;function ze(e){return`${Re}:${e??`global`}`}function Be(e){try{let t=JSON.parse(localStorage.getItem(ze(e))||`null`);if(!t||typeof t!=`object`)return Le;let n=t;return{view:Ie.some(e=>e.id===n.view)?n.view:Le.view,hidden:Array.isArray(n.hidden)?n.hidden.filter(e=>typeof e==`string`):[],showTasks:n.showTasks!==!1,defaultCalendar:typeof n.defaultCalendar==`string`&&n.defaultCalendar.trim()?n.defaultCalendar:Le.defaultCalendar}}catch{return Le}}function Ve(e,t){try{localStorage.setItem(ze(e),JSON.stringify(t))}catch{}}function He(e,t){let n=z(U(H(e),-1)),r=z(U(H(t),1));return{events:`t:events:${n}..${r}`,tasks:`t:tasks:${n}..${r}`}}var Ue=5e3;function We(e){return!!e&&!e.includes(`:`)&&![`content`,`events`,`tasks`].includes(e.toLowerCase())}function Ge(e){return e?e.mode===`context`?`ctx:${e.contextId}`:`${e.workspaceName}:${e.treeName}:${e.treeType}:${e.path}`:``}function Ke(e,t,n,r){let[i,a]=(0,F.useState)([]),[o,s]=(0,F.useState)(!1),[c,l]=(0,F.useState)(null),[u,d]=(0,F.useState)(null),[f,p]=(0,F.useState)([]),m=t.getTime(),h=n.getTime(),g=(0,F.useCallback)(()=>{if(!e)return Promise.resolve();let t=He(new Date(m),new Date(h));return(e.mode===`context`?Promise.all([k(e.contextId,[y],[t.events],{limit:Ue}),r?k(e.contextId,[v],[t.tasks],{limit:Ue}):Promise.resolve([]),O(e.contextId)]).then(([e,t,n])=>{a([...e,...t]);let r=n.workspaceName||n.workspaceId;d(r?{workspaceName:r,path:n.path||`/`,treeName:n.treeId||`context`,treeType:`context`}:null)}):(()=>{let{workspaceName:n,path:i,treeName:o,treeType:s}=e,c={treeName:o,treeType:s,limit:0};return Promise.all([S(n,i,[y],{...c,filters:[t.events]}),r?S(n,i,[v],{...c,filters:[t.tasks]}):Promise.resolve({payload:[]})]).then(([e,t])=>{a([...e.payload||[],...t.payload||[]]),d({workspaceName:n,path:i,treeName:o,treeType:s})})})()).catch(e=>l(e instanceof Error?e.message:`Failed to load calendar`)).finally(()=>s(!1))},[e,m,h,r]),_=(0,F.useCallback)(async()=>{if(!e){a([]),d(null);return}s(!0),l(null),await g()},[e,g]),[C,T]=(0,F.useState)(null),E=`${Ge(e)}|${m}|${h}|${r}`;C!==E&&(T(E),e?(s(!0),l(null)):(a([]),d(null))),(0,F.useEffect)(()=>{g()},[g]),(0,F.useEffect)(()=>{let e=()=>{_()};return window.addEventListener(`workspace:documents:refresh`,e),()=>window.removeEventListener(`workspace:documents:refresh`,e)},[_]);let D=u?.workspaceName??null,A=(0,F.useCallback)(()=>D?Promise.all([b(D),x(D)]).then(([e,t])=>{let n=new Set;for(let t of e)t.startsWith(`data/calendar/`)&&t.length>14&&n.add(t.slice(14));for(let e of t)We(e.name)&&n.add(e.name);p([...n].sort())}).catch(()=>{}):Promise.resolve(),[D]);(0,F.useEffect)(()=>{A()},[A,i.length]),(0,F.useEffect)(()=>{let e=()=>{A()};return window.addEventListener(`workspace:timelines:changed`,e),()=>window.removeEventListener(`workspace:timelines:changed`,e)},[A]);let j=(0,F.useCallback)(async e=>{if(!u)throw Error(`No workspace scope resolved`);await w(u.workspaceName,[e],u.path,[],u.treeName,u.treeType),a(t=>t.filter(t=>t.id!==e))},[u]),M=(0,F.useCallback)(e=>{a(t=>t.some(t=>t.id===e.id)?t.map(t=>t.id===e.id?e:t):[...t,e])},[]);return(0,F.useMemo)(()=>({docs:i,loading:o,error:c,scope:u,knownCalendars:f,reload:_,removeDoc:j,patchDoc:M}),[i,o,c,u,f,_,j,M])}function Z(e){return P(e?e.toLowerCase():`events`)}function qe(e){return e.kind===`task`?P(we):Z(e.calendar)}function Je(e,t=18){return`color-mix(in oklch, ${e} ${t}%, transparent)`}var Q=t();function Ye({month:e,selected:t,marks:n,onPick:r,onPrev:i,onNext:o,onTitle:s,title:c,className:u}){let d=new Date,f=G(e),p=c??le(e);return(0,Q.jsxs)(`div`,{className:_(`select-none`,u),children:[(0,Q.jsxs)(`div`,{className:`mb-1 flex items-center justify-between`,children:[i?(0,Q.jsx)(`button`,{type:`button`,onClick:i,className:`rounded p-0.5 text-muted-foreground hover:bg-muted hover:text-foreground`,"aria-label":`Previous month`,children:(0,Q.jsx)(a,{className:`h-3.5 w-3.5`})}):(0,Q.jsx)(`span`,{}),s?(0,Q.jsx)(`button`,{type:`button`,onClick:s,className:`text-xs font-semibold hover:underline`,children:p}):(0,Q.jsx)(`span`,{className:`text-xs font-semibold`,children:p}),o?(0,Q.jsx)(`button`,{type:`button`,onClick:o,className:`rounded p-0.5 text-muted-foreground hover:bg-muted hover:text-foreground`,"aria-label":`Next month`,children:(0,Q.jsx)(l,{className:`h-3.5 w-3.5`})}):(0,Q.jsx)(`span`,{})]}),(0,Q.jsx)(`div`,{className:`grid grid-cols-7 text-center text-[10px] text-muted-foreground`,children:L.map(e=>(0,Q.jsx)(`span`,{children:e[0]},e))}),(0,Q.jsx)(`div`,{className:`grid grid-cols-7 text-center text-[11px]`,children:f.map(i=>{let a=z(i),o=i.getMonth()===e.getMonth(),s=W(i,d),c=!!t&&W(i,t),l=n?.get(a)??0;return(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>r(i),"aria-label":i.toDateString(),className:_(`relative mx-auto flex h-6 w-6 items-center justify-center rounded-full transition-colors hover:bg-muted`,!o&&`text-muted-foreground/40`,s&&!c&&`font-bold text-primary`,c&&`bg-primary text-primary-foreground hover:bg-primary`),children:[i.getDate(),l>0&&!c&&(0,Q.jsx)(`span`,{className:_(`absolute bottom-0.5 h-1 w-1 rounded-full`,l>2?`bg-foreground`:`bg-muted-foreground`)})]},a)})})]})}function Xe(e,t,n,r,i,a=30){let o=Math.max(0,Math.min(e.length-1,t)),s=Math.max(0,Math.min(e.length-1,r));if(o!==s){let[t,n]=o<s?[o,s]:[s,o];return{start:H(e[t]),end:U(H(e[n]),1),allDay:!0}}let c=e=>Math.floor(e/a)*a,l=c(Math.min(n,i)),u=c(Math.max(n,i))+a;l=Math.max(0,Math.min(1440-a,l)),u=Math.max(l+a,Math.min(1440,u));let d=H(e[o]);return{start:new Date(d.getTime()+l*6e4),end:new Date(d.getTime()+u*6e4),allDay:!1}}function Ze(e,t){let[n,r]=e.getTime()<=t.getTime()?[e,t]:[t,e];return{start:H(n),end:U(H(r),1),allDay:!0}}function Qe({occurrence:e,selected:t,showTime:n=!0,onSelect:r,className:a}){let o=qe(e),c=!e.allDay&&e.kind===`event`&&e.end.getTime()>e.start.getTime();return(0,Q.jsxs)(`button`,{type:`button`,onClick:t=>{t.stopPropagation(),r(e)},title:`${e.title}${e.calendar?` · ${e.calendar}`:``}`,className:_(`flex w-full min-w-0 items-center gap-1 truncate rounded px-1 py-px text-left text-[11px] leading-4 text-foreground transition-colors hover:brightness-110`,t&&`ring-1 ring-ring`,e.done&&`line-through opacity-60`,a),style:{background:Je(o,e.allDay||e.kind===`task`?28:14),borderLeft:`3px solid ${o}`},children:[e.kind===`task`&&(0,Q.jsx)(i,{className:`h-3 w-3 shrink-0`,style:{color:o}}),n&&c&&(0,Q.jsx)(`span`,{className:`shrink-0 tabular-nums text-muted-foreground`,children:Y(e.start)}),(0,Q.jsx)(`span`,{className:`truncate`,children:e.title}),e.recurring&&(0,Q.jsx)(s,{className:`ml-auto h-2.5 w-2.5 shrink-0 text-muted-foreground`})]})}var $=48,$e=30,et=`w-12`,tt=48;function nt({days:e,occurrences:t,selectedKey:n,pending:r,onSelect:i,onCreate:a,onPickDay:o,compact:s}){let c=(0,F.useRef)(null),l=(0,F.useRef)(null),[u,d]=(0,F.useState)(null),f=(0,F.useRef)(u);(0,F.useEffect)(()=>{f.current=u});let p=t=>{let n=l.current;if(!n)return null;let r=n.getBoundingClientRect(),i=(r.width-tt)/e.length,a=Math.floor((t.clientX-r.left-tt)/i),o=Math.max(0,Math.min(1439,(t.clientY-r.top)/$*60));return a<0||a>=e.length?null:{day:a,min:o}},m=e=>{if(e.button!==0||e.target.closest(`button`))return;let t=p(e);t&&(e.currentTarget.setPointerCapture(e.pointerId),d({fromDay:t.day,fromMin:t.min,toDay:t.day,toMin:t.min}))},h=e=>{if(!f.current)return;let t=p(e);t&&d({...f.current,toDay:t.day,toMin:t.min})},g=t=>{let n=f.current;if(!n)return;t.currentTarget.releasePointerCapture(t.pointerId),d(null);let r=Xe(e,n.fromDay,n.fromMin,n.toDay,n.toMin,$e);a(r.start,r.allDay,r.end)},v=u?Xe(e,u.fromDay,u.fromMin,u.toDay,u.toMin,$e):r,y=(0,F.useMemo)(()=>Ne(t),[t]),[b,x]=(0,F.useState)(()=>new Date);(0,F.useEffect)(()=>{let e=setInterval(()=>x(new Date),6e4);return()=>clearInterval(e)},[]);let S=z(e[0]);(0,F.useEffect)(()=>{let t=c.current;t&&(t.scrollTop=(e.some(e=>W(e,b))?Math.max(0,b.getHours()-1):7)*$)},[S,e.length]);let C=Array.from({length:24},(e,t)=>t),w=e.map(e=>(y.get(z(e))??[]).filter(Pe)),T=Math.max(0,...w.map(e=>e.length));return(0,Q.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,Q.jsxs)(`div`,{className:`flex shrink-0 border-b border-border`,children:[(0,Q.jsx)(`div`,{className:_(et,`shrink-0`)}),e.map(e=>{let t=W(e,b);return(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>o(e),className:`flex min-w-0 flex-1 flex-col items-center border-l border-border/60 py-1 hover:bg-muted/50`,title:`Open day`,children:[(0,Q.jsx)(`span`,{className:`text-[10px] uppercase tracking-wide text-muted-foreground`,children:L[(e.getDay()+6)%7]}),(0,Q.jsx)(`span`,{className:_(`flex h-7 w-7 items-center justify-center rounded-full text-sm font-semibold`,t&&`bg-primary text-primary-foreground`),children:e.getDate()})]},z(e))})]}),T>0&&(0,Q.jsxs)(`div`,{className:`flex shrink-0 border-b border-border bg-muted/20`,children:[(0,Q.jsx)(`div`,{className:_(et,`shrink-0 py-1 pr-1 text-right text-[10px] text-muted-foreground`),children:s?``:`all day`}),e.map((e,t)=>(0,Q.jsx)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-0.5 border-l border-border/60 p-0.5`,onClick:t=>{t.target===t.currentTarget&&a(H(e),!0)},children:w[t].map(e=>(0,Q.jsx)(Qe,{occurrence:e,selected:e.key===n,showTime:!1,onSelect:i},e.key))},z(e)))]}),(0,Q.jsx)(`div`,{ref:c,className:`min-h-0 flex-1 overflow-y-auto`,children:(0,Q.jsxs)(`div`,{ref:l,className:_(`relative flex select-none`,u&&`cursor-crosshair`),style:{height:1152},onPointerDown:m,onPointerMove:h,onPointerUp:g,onPointerCancel:()=>d(null),children:[(0,Q.jsx)(`div`,{className:_(et,`relative shrink-0`),children:C.map(e=>(0,Q.jsx)(`div`,{className:`absolute right-1 -translate-y-1/2 text-[10px] tabular-nums text-muted-foreground`,style:{top:e*$},children:e===0?``:me(e)},e))}),e.map(e=>{let t=Fe(e,y.get(z(e))??[]),r=W(e,b)?(b.getHours()*60+b.getMinutes())/60*$:null;return(0,Q.jsxs)(`div`,{className:`relative min-w-0 flex-1 cursor-cell border-l border-border/60`,role:`presentation`,children:[v&&v.end>e&&v.start<H(new Date(e.getTime()+864e5))&&(0,Q.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0.5 z-[5] rounded-md border border-primary bg-primary/15`,style:{top:q(v.start,e)/60*$,height:Math.max(8,(q(v.end,e)-q(v.start,e))/60*$)},children:(0,Q.jsx)(`span`,{className:`absolute left-1 top-0.5 text-[10px] font-medium text-primary`,children:v.allDay?`All day`:`${Y(v.start)} – ${Y(v.end)}`})}),C.map(e=>(0,Q.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 border-t border-border/50`,style:{top:e*$}},e)),t.map(e=>{let t=e.occurrence,r=qe(t),a=100/e.columns,o=e.height<45;return(0,Q.jsxs)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),i(t)},title:`${t.title} · ${Y(t.start)}${t.end>t.start?` – ${Y(t.end)}`:``}`,className:_(`absolute overflow-hidden rounded-md border-l-[3px] px-1.5 text-left text-[11px] leading-tight text-foreground shadow-elevation-1 transition-[filter] hover:brightness-110`,t.key===n&&`ring-1 ring-ring`,t.done&&`line-through opacity-60`),style:{top:e.top/60*$,height:Math.max(18,e.height/60*$-2),left:`calc(${e.column*a}% + 2px)`,width:`calc(${a}% - 4px)`,background:Je(r,24),borderLeftColor:r,paddingTop:o?1:3},children:[(0,Q.jsx)(`span`,{className:_(`font-medium`,o?`inline`:`block truncate`),children:t.title}),!o&&(0,Q.jsxs)(`span`,{className:`block truncate text-[10px] text-muted-foreground`,children:[Y(t.start),t.end>t.start?` – ${Y(t.end)}`:``,t.calendar&&!s?` · ${t.calendar}`:``]})]},t.key)}),r!==null&&(0,Q.jsx)(`div`,{className:`pointer-events-none absolute inset-x-0 z-10 border-t-2 border-destructive`,style:{top:r},children:(0,Q.jsx)(`span`,{className:`absolute -left-1 -top-[5px] h-2 w-2 rounded-full bg-destructive`})})]},z(e))})]})})]})}var rt=3;function it({month:e,occurrences:t,selectedKey:n,pending:r,onSelect:i,onCreate:a,onPickDay:o,narrow:s}){let c=G(e),l=(0,F.useMemo)(()=>Ne(t),[t]),u=new Date,[d,f]=(0,F.useState)(null),p=(0,F.useRef)(d);(0,F.useEffect)(()=>{p.current=d});let m=e=>(document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-day]`))?.dataset.day??null,h=e=>{if(s||e.button!==0||e.target.closest(`button`))return;let t=m(e);t&&(e.currentTarget.setPointerCapture(e.pointerId),f({from:t,to:t}))},g=e=>{if(!p.current)return;let t=m(e);t&&t!==p.current.to&&f({...p.current,to:t})},v=e=>{let t=p.current;if(!t)return;e.currentTarget.releasePointerCapture(e.pointerId),f(null);let n=Ze(B(t.from),B(t.to));a(n.start,!0,n.end)},y=d?Ze(B(d.from),B(d.to)):r;return(0,Q.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,Q.jsx)(`div`,{className:`grid shrink-0 grid-cols-7 border-b border-border text-center text-[10px] uppercase tracking-wide text-muted-foreground`,children:L.map(e=>(0,Q.jsx)(`span`,{className:`py-1`,children:s?e[0]:e},e))}),(0,Q.jsx)(`div`,{className:_(`grid min-h-0 flex-1 grid-cols-7 grid-rows-6 overflow-y-auto`,d&&`cursor-crosshair select-none`),onPointerDown:h,onPointerMove:g,onPointerUp:v,onPointerCancel:()=>f(null),children:c.map(t=>{let r=z(t),a=l.get(r)??[],c=t.getMonth()===e.getMonth(),d=W(t,u),f=a.length-rt;return(0,Q.jsxs)(`div`,{role:`presentation`,"data-day":r,onClick:e=>{s&&e.target===e.currentTarget&&o(t)},className:_(`flex min-h-[3.5rem] min-w-0 flex-col gap-0.5 border-b border-r border-border/60 p-0.5`,!c&&`bg-muted/20 text-muted-foreground/60`,!s&&`cursor-cell`,y&&t>=y.start&&t<y.end&&`bg-primary/15 ring-1 ring-inset ring-primary`),children:[(0,Q.jsx)(`button`,{type:`button`,onClick:()=>o(t),className:_(`mx-auto flex h-5 w-5 items-center justify-center rounded-full text-[11px] hover:bg-muted sm:mx-0`,d&&`bg-primary font-bold text-primary-foreground hover:bg-primary`),title:`Open day`,children:t.getDate()}),s?(0,Q.jsx)(`div`,{className:`flex flex-wrap justify-center gap-0.5 px-0.5`,children:a.slice(0,4).map(e=>(0,Q.jsx)(`span`,{className:`h-1.5 w-1.5 rounded-full`,style:{background:qe(e)}},e.key))}):(0,Q.jsxs)(Q.Fragment,{children:[a.slice(0,rt).map(e=>(0,Q.jsx)(Qe,{occurrence:e,selected:e.key===n,onSelect:i},e.key)),f>0&&(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>o(t),className:`px-1 text-left text-[10px] text-muted-foreground hover:text-foreground`,children:[`+`,f,` more`]})]})]},r)})})]})}function at({year:e,occurrences:t,onPickDay:n,onPickMonth:r}){let i=(0,F.useMemo)(()=>{let e=new Map;for(let[n,r]of Ne(t))e.set(n,r.length);return e},[t]),a=Array.from({length:12},(t,n)=>new Date(e,n,1));return(0,Q.jsx)(`div`,{className:`grid h-full min-h-0 grid-cols-[repeat(auto-fill,minmax(11rem,1fr))] gap-x-4 gap-y-5 overflow-y-auto p-3`,children:a.map(e=>(0,Q.jsx)(Ye,{month:e,marks:i,title:e.toLocaleDateString(void 0,{month:`long`}),onTitle:()=>r(e),onPick:n},z(e)))})}function ot({occurrences:e,selectedKey:t,onSelect:n,onEarlier:r,onLater:i,onPickDay:a,loading:o}){let s=(0,F.useMemo)(()=>[...Ne(e).entries()].sort(([e],[t])=>e.localeCompare(t)),[e]),c=new Date;return(0,Q.jsxs)(`div`,{className:`h-full min-h-0 overflow-y-auto`,children:[(0,Q.jsx)(`div`,{className:`flex justify-center py-2`,children:(0,Q.jsx)(`button`,{type:`button`,onClick:r,className:`rounded-md border border-border px-3 py-1 text-xs text-muted-foreground hover:bg-muted hover:text-foreground`,children:`Earlier`})}),!o&&!s.length&&(0,Q.jsx)(`p`,{className:`py-10 text-center text-sm text-muted-foreground`,children:`Nothing scheduled in this range.`}),s.map(([e,r])=>{let i=B(e),o=W(i,c);return(0,Q.jsxs)(`div`,{className:`flex border-t border-border/60 px-2 py-2`,children:[(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>a(i),className:`flex w-14 shrink-0 flex-col items-start`,title:`Open day`,children:[(0,Q.jsx)(`span`,{className:_(`flex h-8 w-8 items-center justify-center rounded-full text-lg font-semibold`,o&&`bg-primary text-primary-foreground`),children:i.getDate()}),(0,Q.jsxs)(`span`,{className:`text-[10px] uppercase tracking-wide text-muted-foreground`,children:[ue(i),`, `,L[(i.getDay()+6)%7]]})]}),(0,Q.jsx)(`div`,{className:`min-w-0 flex-1 space-y-0.5`,children:r.map(e=>{let r=qe(e),i=!Pe(e)&&e.kind===`event`;return(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>n(e),className:_(`flex w-full items-center gap-2 rounded-md px-2 py-1 text-left text-sm hover:bg-muted`,e.key===t&&`bg-muted ring-1 ring-ring`,e.done&&`line-through opacity-60`),children:[(0,Q.jsx)(`span`,{className:`h-2.5 w-2.5 shrink-0 rounded-full`,style:{background:r}}),(0,Q.jsx)(`span`,{className:`w-[7.5rem] shrink-0 text-xs tabular-nums text-muted-foreground`,children:i?`${Y(e.start)}${e.end>e.start?` – ${Y(e.end)}`:``}`:e.kind===`task`?`due ${Y(e.start)}`:`All day`}),(0,Q.jsx)(`span`,{className:`truncate`,children:e.title}),e.calendar&&e.kind===`event`&&(0,Q.jsx)(`span`,{className:`ml-auto shrink-0 text-[10px] text-muted-foreground`,children:e.calendar})]},e.key)})})]},e)}),(0,Q.jsx)(`div`,{className:`flex justify-center py-2`,children:(0,Q.jsx)(`button`,{type:`button`,onClick:i,className:`rounded-md border border-border px-3 py-1 text-xs text-muted-foreground hover:bg-muted hover:text-foreground`,children:`Later`})})]})}var st=`3.0`,ct=[{id:`none`,label:`Does not repeat`},{id:`daily`,label:`Every day`},{id:`weekdays`,label:`Every weekday`},{id:`weekly`,label:`Every week`},{id:`monthly`,label:`Every month`},{id:`yearly`,label:`Every year`},{id:`custom`,label:`Custom (RRULE)…`}];function lt(e,t){let n=e.data??{},r=n.allDay===!0,i=String(n.start??``),a=typeof n.end==`string`?n.end:``,o=typeof n.recurrence==`string`?n.recurrence:``,s=Se(o||void 0);return{title:String(n.title??``),calendar:typeof n.calendar==`string`?n.calendar:dt(e)?``:t,allDay:r,start:r?i.slice(0,10):A(i),end:r?ft(i.slice(0,10),a):A(a),location:String(n.location??``),description:String(n.description??``),repeat:s,rrule:o}}function ut(e,t){let n=e.end??new Date(e.start.getTime()+36e5);return{title:``,calendar:t,allDay:e.allDay,start:e.allDay?z(e.start):V(e.start),end:e.allDay?z(U(n,-1)<e.start?e.start:U(n,-1)):V(n),location:``,description:``,repeat:`none`,rrule:``}}function dt(e){let t=e.metadata;return typeof t?.source==`string`&&t.source?{source:t.source,connector:typeof t.connector==`string`?t.connector:``}:null}function ft(e,t){if(!t)return``;let[n,r,i]=t.slice(0,10).split(`-`).map(Number),a=z(new Date(n,r-1,i-1));return a<e?e:a}function pt(e){return`${z(U(B(e),1))}T00:00:00.000Z`}function mt(e,t){let n={...e,title:t.title.trim()},r=(e,t)=>{t===void 0||t===``||t===!1?delete n[e]:n[e]=t};return r(`calendar`,t.calendar.trim()),r(`allDay`,t.allDay),r(`location`,t.location.trim()),r(`description`,t.description.trim()),r(`recurrence`,t.repeat===`custom`?t.rrule.trim():Ce(t.repeat)),t.allDay?(n.start=`${t.start}T00:00:00.000Z`,r(`end`,t.end?pt(t.end):void 0)):(n.start=j(t.start),r(`end`,j(t.end))),n}function ht(e){return e.title.trim()?e.start?e.end&&e.end<e.start?`The end is before the start.`:e.calendar.includes(`:`)?`A calendar name cannot contain ":".`:e.repeat===`custom`&&(!e.rrule.trim()||!X(e.rrule))?`Enter a supported RRULE (FREQ=…, INTERVAL, COUNT, UNTIL, BYDAY, BYMONTHDAY, BYMONTH).`:null:`Pick a start.`:`Give the event a title.`}function gt({subject:e,target:t,workspaceName:n,calendars:i,defaultCalendar:a,onClose:c,onSaved:l,onDelete:d}){let f=e.kind===`occurrence`?e.occurrence.doc:null,h=e.kind===`occurrence`&&e.occurrence.kind===`task`,[v,b]=(0,F.useState)(()=>f?lt(f,a):ut(e.draft,a)),[x,S]=(0,F.useState)(!1),[w,T]=(0,F.useState)(null),[D,O]=(0,F.useState)(!1),k=e.kind===`draft`?`draft:${e.draft.start.getTime()}:${e.draft.end?.getTime()??``}:${e.draft.allDay}`:e.occurrence.key,[A,j]=(0,F.useState)(k);A!==k&&(j(k),b(f?lt(f,a):ut(e.draft,a)),T(null)),(0,F.useEffect)(()=>{let e=e=>{e.key===`Escape`&&c()};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[c]);let N=e=>b(t=>({...t,...e})),P=f?dt(f):null,I=typeof f?.data?.htmlLink==`string`?f.data.htmlLink:null,L=async()=>{let e=ht(v);if(e){T(e);return}S(!0),T(null);try{if(f){if(!n)throw Error(`No workspace resolved for this calendar`);await C(n,{id:f.id,schema:f.schema,schemaVersion:f.schemaVersion||st,data:mt(f.data??{},v),metadata:f.metadata})}else await E(t,[{schema:y,schemaVersion:st,data:mt({},v),metadata:{features:[]}}]);l(v.calendar.trim())}catch(e){T(e instanceof Error?e.message:`Failed to save the event`)}finally{S(!1)}},R=h?`Task`:f?`Event`:`New event`;return(0,Q.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-2 border-b border-border px-3 py-2`,children:[(0,Q.jsx)(`span`,{className:`h-3 w-3 rounded-full`,style:{background:Z(h?`tasks`:v.calendar)}}),(0,Q.jsx)(`span`,{className:`text-sm font-semibold`,children:R}),f&&(0,Q.jsxs)(`span`,{className:`text-[10px] text-muted-foreground`,children:[`#`,f.id]}),(0,Q.jsx)(`span`,{className:`flex-1`}),f&&n&&(0,Q.jsx)(r,{to:`/workspaces/${encodeURIComponent(n)}/documents/${f.id}`,className:`rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground`,title:`Open document`,"aria-label":`Open document`,children:(0,Q.jsx)(p,{className:`h-3.5 w-3.5`})}),f&&(0,Q.jsx)(`button`,{type:`button`,onClick:()=>O(!0),className:`rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground`,title:`Link to…`,"aria-label":`Link to…`,children:(0,Q.jsx)(g,{className:`h-3.5 w-3.5`})}),f&&!h&&(0,Q.jsx)(`button`,{type:`button`,onClick:()=>{d(f)},className:`rounded p-1 text-muted-foreground hover:bg-muted hover:text-destructive`,title:`Delete (moves to trash)`,"aria-label":`Delete`,children:(0,Q.jsx)(u,{className:`h-3.5 w-3.5`})}),(0,Q.jsx)(`button`,{type:`button`,onClick:c,className:`rounded p-1 text-muted-foreground hover:bg-muted hover:text-foreground`,"aria-label":`Close`,children:(0,Q.jsx)(o,{className:`h-4 w-4`})})]}),h&&f?(0,Q.jsx)(yt,{doc:f,occurrence:e.occurrence,workspaceName:n,onSaved:()=>l(``)}):(0,Q.jsxs)(`div`,{className:`min-h-0 flex-1 space-y-3 overflow-y-auto p-3`,children:[(0,Q.jsx)(`input`,{value:v.title,onChange:e=>N({title:e.target.value}),placeholder:`Title`,autoFocus:!f,spellCheck:!1,className:`w-full border-0 border-b border-border bg-transparent px-0 py-1 text-base font-semibold outline-none placeholder:text-muted-foreground/60 focus:border-ring`}),(0,Q.jsx)(_t,{value:v.calendar,calendars:i,onChange:e=>N({calendar:e})}),(0,Q.jsxs)(`label`,{className:`flex items-center gap-2 text-xs`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,checked:v.allDay,onChange:e=>{let t=e.target.checked;if(t)N({allDay:t,start:v.start.slice(0,10),end:(v.end||v.start).slice(0,10)});else{let e=v.start.slice(0,10)||z(new Date);N({allDay:t,start:`${e}T09:00`,end:`${(v.end||e).slice(0,10)}T10:00`})}},className:`h-4 w-4 accent-primary`}),`All day`]}),(0,Q.jsxs)(`div`,{className:`grid grid-cols-1 gap-2 sm:grid-cols-2`,children:[(0,Q.jsxs)(`label`,{className:`block text-xs`,children:[(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:`Start`}),v.allDay?(0,Q.jsx)(`input`,{type:`date`,value:v.start,onChange:e=>N({start:e.target.value,end:v.end&&v.end<e.target.value?e.target.value:v.end}),className:`mt-1 h-8 w-full rounded-md border border-input bg-transparent px-2 text-sm`}):(0,Q.jsx)(`div`,{className:`mt-1`,children:(0,Q.jsx)(M,{value:v.start,onChange:e=>N({start:e}),clearable:!1})})]}),(0,Q.jsxs)(`label`,{className:`block text-xs`,children:[(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:`End`}),v.allDay?(0,Q.jsx)(`input`,{type:`date`,value:v.end,min:v.start,onChange:e=>N({end:e.target.value}),className:`mt-1 h-8 w-full rounded-md border border-input bg-transparent px-2 text-sm`}):(0,Q.jsx)(`div`,{className:`mt-1`,children:(0,Q.jsx)(M,{value:v.end,onChange:e=>N({end:e}),placeholder:`No end`})})]})]}),(0,Q.jsxs)(`label`,{className:`block text-xs`,children:[(0,Q.jsxs)(`span`,{className:`flex items-center gap-1 text-muted-foreground`,children:[(0,Q.jsx)(s,{className:`h-3 w-3`}),` Repeat`]}),(0,Q.jsx)(`select`,{value:v.repeat,onChange:e=>N({repeat:e.target.value,rrule:e.target.value===`custom`?v.rrule||Ce(v.repeat)||`FREQ=WEEKLY`:v.rrule}),className:`mt-1 h-8 w-full rounded-md border border-input bg-transparent px-2 text-sm`,children:ct.map(e=>(0,Q.jsx)(`option`,{value:e.id,children:e.label},e.id))}),v.repeat===`custom`&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`input`,{value:v.rrule,onChange:e=>N({rrule:e.target.value}),placeholder:`FREQ=WEEKLY;INTERVAL=2;BYDAY=TU,TH`,spellCheck:!1,className:`mt-1 h-8 w-full rounded-md border border-input bg-transparent px-2 font-mono text-xs`}),(0,Q.jsx)(`span`,{className:`mt-0.5 block text-[11px] text-muted-foreground`,children:X(v.rrule)?xe(X(v.rrule)):`RFC 5545 RRULE value`})]})]}),(0,Q.jsxs)(`label`,{className:`block text-xs`,children:[(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:`Location`}),(0,Q.jsx)(`input`,{value:v.location,onChange:e=>N({location:e.target.value}),spellCheck:!1,className:`mt-1 h-8 w-full rounded-md border border-input bg-transparent px-2 text-sm`})]}),(0,Q.jsxs)(`div`,{className:`text-xs`,children:[(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:`Description`}),(0,Q.jsx)(`div`,{className:`mt-1 rounded-md border border-input px-2 py-1.5`,children:(0,Q.jsx)(te,{value:v.description,onChange:e=>N({description:e}),placeholder:`Notes, agenda, links…`})})]}),P&&(0,Q.jsxs)(`p`,{className:`rounded-md bg-muted/50 px-2 py-1.5 text-[11px] text-muted-foreground`,children:[`Synced from `,P.connector||P.source,`. Edits stay in Canvas unless the connector supports write-back.`,I&&(0,Q.jsxs)(Q.Fragment,{children:[` `,(0,Q.jsx)(`a`,{href:I,target:`_blank`,rel:`noopener noreferrer`,className:`underline hover:text-foreground`,children:`Open at source`})]})]}),e.kind===`occurrence`&&e.occurrence.unsupportedRule&&(0,Q.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`This series uses RRULE parts the calendar cannot expand; only its first occurrence is shown.`}),w&&(0,Q.jsx)(`p`,{className:`text-xs text-destructive`,role:`alert`,children:w})]}),!h&&(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center justify-end gap-2 border-t border-border px-3 py-2`,children:[(0,Q.jsx)(vt,{doc:f}),(0,Q.jsx)(`button`,{type:`button`,onClick:c,className:`rounded-md border border-border px-3 py-1.5 text-xs hover:bg-muted`,children:`Cancel`}),(0,Q.jsxs)(`button`,{type:`button`,onClick:L,disabled:x,className:_(`flex items-center gap-1 rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground disabled:opacity-50`),children:[x&&(0,Q.jsx)(m,{className:`h-3 w-3 animate-spin`}),f?`Save`:`Create`]})]}),D&&f&&(0,Q.jsx)(ee,{documentId:f.id,workspaceName:n??void 0,onClose:()=>O(!1)})]})}function _t({value:e,calendars:t,onChange:n}){let r=t.some(t=>t.toLowerCase()===e.toLowerCase()),[i,a]=(0,F.useState)(!r&&!e&&t.length===0),s=r||!e?t:[e,...t];return(0,Q.jsxs)(`label`,{className:`block text-xs`,children:[(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:`Calendar`}),i?(0,Q.jsxs)(`span`,{className:`mt-1 flex gap-1`,children:[(0,Q.jsx)(`input`,{autoFocus:!0,value:e,onChange:e=>n(e.target.value),placeholder:`New calendar name`,spellCheck:!1,className:`h-8 min-w-0 flex-1 rounded-md border border-input bg-transparent px-2 text-sm outline-none focus-visible:ring-1 focus-visible:ring-ring`}),t.length>0&&(0,Q.jsx)(`button`,{type:`button`,onClick:()=>{a(!1),n(t[0])},className:`rounded-md border border-border px-2 text-xs text-muted-foreground hover:bg-muted`,"aria-label":`Pick an existing calendar`,children:(0,Q.jsx)(o,{className:`h-3 w-3`})})]}):(0,Q.jsxs)(`select`,{value:e,onChange:e=>{e.target.value===`\0new`?(a(!0),n(``)):n(e.target.value)},className:`mt-1 h-8 w-full rounded-md border border-input bg-transparent px-2 text-sm`,children:[!e&&(0,Q.jsx)(`option`,{value:``,children:`No calendar`}),s.map(e=>(0,Q.jsx)(`option`,{value:e,children:e},e)),(0,Q.jsx)(`option`,{value:`\0new`,children:`New calendar…`})]})]})}function vt({doc:e}){let t=T(e??{id:-1,locations:[]});return!e||!t.replicating?null:(0,Q.jsx)(`span`,{className:`mr-auto text-[10px] text-muted-foreground`,children:t.label})}function yt({doc:e,occurrence:t,workspaceName:n,onSaved:r}){let[a,o]=(0,F.useState)(!1),s=t.done;return(0,Q.jsxs)(`div`,{className:`space-y-3 p-3 text-sm`,children:[(0,Q.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,Q.jsx)(`button`,{type:`button`,onClick:async()=>{if(n){o(!0);try{let t=s?`pending`:`completed`;await C(n,{id:e.id,schema:e.schema,schemaVersion:e.schemaVersion,data:{...e.data??{},status:t,completed:t===`completed`},metadata:e.metadata}),r()}finally{o(!1)}}},disabled:a,className:`mt-0.5 text-muted-foreground hover:text-foreground`,"aria-label":s?`Mark as pending`:`Mark as completed`,children:s?(0,Q.jsx)(i,{className:`h-4 w-4 text-success`}):(0,Q.jsx)(f,{className:`h-4 w-4`})}),(0,Q.jsxs)(`div`,{className:`min-w-0`,children:[(0,Q.jsx)(`p`,{className:_(`font-semibold`,s&&`line-through text-muted-foreground`),children:t.title}),(0,Q.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`Due `,t.start.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})]})]})]}),typeof e.data?.description==`string`&&e.data.description&&(0,Q.jsx)(`p`,{className:`whitespace-pre-wrap text-xs text-muted-foreground`,children:e.data.description}),(0,Q.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Edit the task in the Todos app or on its document page.`})]})}var bt=640,xt=420,St=30;function Ct(e,t,n){switch(e){case`day`:{let e=H(t);return{start:e,end:U(e,1)}}case`week`:{let e=re(t);return{start:e,end:U(e,7)}}case`month`:{let e=G(t);return{start:e[0],end:U(e[41],1)}}case`year`:return{start:new Date(t.getFullYear(),0,1),end:new Date(t.getFullYear()+1,0,1)};case`schedule`:{let e=H(t);return{start:U(e,-n.before),end:U(e,n.after)}}}}function wt(e,t,n){switch(e){case`day`:return U(t,n);case`week`:return U(t,7*n);case`month`:return ne(t,n);case`year`:return new Date(t.getFullYear()+n,t.getMonth(),1);case`schedule`:return U(t,St*n)}}function Tt(e,t,n){switch(e){case`day`:return n?fe(t):de(t);case`week`:return pe(re(t));case`month`:return le(t);case`year`:return String(t.getFullYear());case`schedule`:return n?fe(t):`From ${de(t)}`}}function Et({autoAdd:e=!1}){let t=N(),n=t?.mode===`workspace`?t.workspaceName:t?.mode===`context`?`ctx:${t.contextId}`:null,[r,i]=(0,F.useState)(()=>Be(n)),o=(0,F.useCallback)(e=>{i(t=>{let r={...t,...e};return Ve(n,r),r})},[n]),s=r.view,[u,f]=(0,F.useState)(()=>H(new Date)),[p,g]=(0,F.useState)({before:0,after:St}),[v,y]=(0,F.useState)(()=>e?{kind:`draft`,draft:{start:Dt(),allDay:!1}}:null),[b,x]=(0,F.useState)(!1),S=(0,F.useRef)(null),[C,w]=(0,F.useState)(1024);(0,F.useEffect)(()=>{let e=S.current;if(!e)return;let t=new ResizeObserver(e=>{for(let t of e)w(t.contentRect.width)});return t.observe(e),()=>t.disconnect()},[]);let T=C<bt,E=C<xt,O=(0,F.useMemo)(()=>Ct(s,u,p),[s,u,p]),{docs:k,loading:A,error:j,scope:M,knownCalendars:P,reload:ee,removeDoc:te}=Ke(t,O.start,O.end,r.showTasks),I=(0,F.useMemo)(()=>{let e=new Map;for(let t of P)e.set(t,t);for(let t of k){let n=t.data?.calendar;typeof n==`string`&&n.trim()&&e.set(n.trim().toLowerCase(),n.trim())}return r.defaultCalendar&&e.set(r.defaultCalendar.toLowerCase(),e.get(r.defaultCalendar.toLowerCase())??r.defaultCalendar),[...e.values()].sort((e,t)=>e.localeCompare(t))},[P,k,r.defaultCalendar]),L=(0,F.useMemo)(()=>new Set(r.hidden),[r.hidden]),R=(0,F.useMemo)(()=>k.some(e=>e.schema.startsWith(`data/schema/event`)&&!(typeof e.data?.calendar==`string`&&e.data.calendar.trim())),[k]),z=(0,F.useMemo)(()=>Me(k.filter(e=>{let t=typeof e.data?.calendar==`string`?e.data.calendar.trim().toLowerCase():``;return!L.has(t||``)}),O.start,O.end),[k,L,O]),B=v?.kind===`occurrence`?v.occurrence.key:null,V=(0,F.useCallback)((e,t)=>{f(H(e)),g({before:0,after:St}),t&&o({view:t})},[o]),W=(0,F.useMemo)(()=>{if(v?.kind!==`draft`)return null;let{start:e,allDay:t,end:n}=v.draft;return{start:e,allDay:t,end:n??(t?U(H(e),1):new Date(e.getTime()+36e5))}},[v]),G=(0,F.useCallback)((e,t,n)=>y({kind:`draft`,draft:{start:e,allDay:t,end:n}}),[]),K=(0,F.useCallback)(e=>y({kind:`occurrence`,occurrence:e}),[]),q=(0,F.useCallback)(async e=>{let t=e.data?.title?`"${e.data.title}"`:`#${e.id}`;if(window.confirm(`Delete event ${t}?\n\nIt is removed from this path and moves to the workspace trash if nothing else links it.`))try{await te(e.id),y(null)}catch{}},[te]),ae=e=>{let t=e.target;if(!([`INPUT`,`TEXTAREA`,`SELECT`].includes(t.tagName)||t.isContentEditable)){if(e.key===`ArrowLeft`)V(wt(s,u,-1)),e.preventDefault();else if(e.key===`ArrowRight`)V(wt(s,u,1)),e.preventDefault();else if(e.key===`t`)V(new Date);else if(e.key===`n`)G(Dt(u),!1);else if(e.key===`Escape`)y(null),x(!1);else{let t=Ie.find(t=>t.key===e.key);t&&o({view:t.id})}}};if(!t)return(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center p-6 text-center text-sm text-muted-foreground`,children:D(t)});let J=e=>{let t=e.toLowerCase();o({hidden:L.has(t)?r.hidden.filter(e=>e!==t):[...r.hidden,t]})},oe=(0,Q.jsxs)(`div`,{className:`space-y-1 text-xs`,children:[(0,Q.jsx)(`p`,{className:`px-1 text-[10px] uppercase tracking-wide text-muted-foreground`,children:`Calendars`}),I.map(e=>(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 rounded px-1 py-0.5 hover:bg-muted`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,checked:!L.has(e.toLowerCase()),onChange:()=>J(e),className:`h-3.5 w-3.5 accent-primary`,style:{accentColor:Z(e)}}),(0,Q.jsx)(`span`,{className:`h-2.5 w-2.5 shrink-0 rounded-sm`,style:{background:Z(e)}}),(0,Q.jsx)(`span`,{className:`truncate`,children:e})]},e)),R&&(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 rounded px-1 py-0.5 hover:bg-muted`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,checked:!L.has(``),onChange:()=>J(``),className:`h-3.5 w-3.5 accent-primary`}),(0,Q.jsx)(`span`,{className:`h-2.5 w-2.5 shrink-0 rounded-sm`,style:{background:Z(``)}}),(0,Q.jsx)(`span`,{className:`truncate text-muted-foreground`,children:`Other events`})]}),(0,Q.jsxs)(`label`,{className:`flex cursor-pointer items-center gap-2 rounded px-1 py-0.5 hover:bg-muted`,children:[(0,Q.jsx)(`input`,{type:`checkbox`,checked:r.showTasks,onChange:e=>o({showTasks:e.target.checked}),className:`h-3.5 w-3.5 accent-primary`}),(0,Q.jsx)(`span`,{className:`h-2.5 w-2.5 shrink-0 rounded-sm`,style:{background:Z(we)}}),(0,Q.jsx)(`span`,{className:`truncate`,children:`Tasks (due dates)`})]})]}),se=(()=>{switch(s){case`day`:return(0,Q.jsx)(nt,{days:[H(u)],occurrences:z,selectedKey:B,pending:W,onSelect:K,onCreate:G,onPickDay:e=>V(e,`day`),compact:E});case`week`:return(0,Q.jsx)(nt,{days:Array.from({length:7},(e,t)=>U(re(u),t)),occurrences:z,selectedKey:B,pending:W,onSelect:K,onCreate:G,onPickDay:e=>V(e,`day`),compact:T});case`month`:return(0,Q.jsx)(it,{month:ie(u),occurrences:z,selectedKey:B,pending:W,onSelect:K,onCreate:G,onPickDay:e=>V(e,`day`),narrow:T});case`year`:return(0,Q.jsx)(at,{year:u.getFullYear(),occurrences:z,onPickDay:e=>V(e,`day`),onPickMonth:e=>V(e,`month`)});case`schedule`:return(0,Q.jsx)(ot,{occurrences:z,selectedKey:B,onSelect:K,loading:A,onEarlier:()=>g(e=>({...e,before:e.before+St})),onLater:()=>g(e=>({...e,after:e.after+St})),onPickDay:e=>V(e,`day`)})}})();return(0,Q.jsxs)(`div`,{ref:S,tabIndex:0,onKeyDown:ae,className:`relative flex h-full min-h-0 flex-col outline-none`,children:[(0,Q.jsxs)(`div`,{className:`flex shrink-0 flex-wrap items-center gap-1.5 border-b border-border px-2 py-1.5`,children:[(0,Q.jsx)(`button`,{type:`button`,onClick:()=>V(new Date),className:`rounded-md border border-border px-2 py-1 text-xs hover:bg-muted`,title:`Today (t)`,children:`Today`}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>V(wt(s,u,-1)),className:`rounded-md p-1 text-muted-foreground hover:bg-muted hover:text-foreground`,"aria-label":`Previous`,title:`Previous (←)`,children:(0,Q.jsx)(a,{className:`h-4 w-4`})}),(0,Q.jsx)(`button`,{type:`button`,onClick:()=>V(wt(s,u,1)),className:`rounded-md p-1 text-muted-foreground hover:bg-muted hover:text-foreground`,"aria-label":`Next`,title:`Next (→)`,children:(0,Q.jsx)(l,{className:`h-4 w-4`})}),(0,Q.jsx)(`span`,{className:`min-w-0 truncate text-sm font-semibold`,children:Tt(s,u,E)}),A&&(0,Q.jsx)(m,{className:`h-3.5 w-3.5 animate-spin text-muted-foreground`}),(0,Q.jsx)(`span`,{className:`flex-1`}),E?(0,Q.jsx)(`select`,{value:s,onChange:e=>o({view:e.target.value}),"aria-label":`View`,className:`h-7 rounded-md border border-input bg-transparent px-1.5 text-xs`,children:Ie.map(e=>(0,Q.jsx)(`option`,{value:e.id,children:e.label},e.id))}):(0,Q.jsx)(`div`,{className:`flex overflow-hidden rounded-md border border-border`,role:`tablist`,"aria-label":`View`,children:Ie.map(e=>(0,Q.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":s===e.id,onClick:()=>o({view:e.id}),title:`${e.label} (${e.key})`,className:_(`px-2 py-1 text-xs transition-colors`,s===e.id?`bg-foreground text-background`:`text-muted-foreground hover:bg-muted hover:text-foreground`),children:e.label},e.id))}),T&&(0,Q.jsx)(`button`,{type:`button`,onClick:()=>x(e=>!e),className:_(`rounded-md border p-1.5`,b?`border-foreground text-foreground`:`border-border text-muted-foreground hover:bg-muted hover:text-foreground`),"aria-label":`Calendars`,title:`Calendars`,children:(0,Q.jsx)(d,{className:`h-3.5 w-3.5`})}),(0,Q.jsxs)(`button`,{type:`button`,onClick:()=>G(Dt(u),!1),className:`flex items-center gap-1 rounded-md bg-primary px-2 py-1.5 text-xs text-primary-foreground`,title:`New event (n)`,children:[(0,Q.jsx)(c,{className:`h-3.5 w-3.5`}),!E&&`Event`]})]}),j&&(0,Q.jsx)(`p`,{className:`border-b border-border px-3 py-2 text-xs text-destructive`,children:j}),(0,Q.jsxs)(`div`,{className:`flex min-h-0 flex-1`,children:[!T&&(0,Q.jsxs)(`aside`,{className:`flex w-52 shrink-0 flex-col gap-4 overflow-y-auto border-r border-border p-3`,children:[(0,Q.jsx)(Ye,{month:ie(u),selected:u,onPick:e=>V(e,s===`year`||s===`month`?`day`:s),onPrev:()=>f(e=>ne(e,-1)),onNext:()=>f(e=>ne(e,1))}),oe]}),(0,Q.jsxs)(`div`,{className:`relative min-w-0 flex-1`,children:[se,T&&b&&(0,Q.jsx)(`div`,{className:`absolute right-2 top-2 z-20 w-56 rounded-md border border-border bg-popover p-2 text-popover-foreground shadow-elevation-2`,children:oe})]}),v&&!T&&(0,Q.jsx)(`aside`,{className:`w-80 shrink-0 border-l border-border bg-card`,children:(0,Q.jsx)(gt,{subject:v,target:t,workspaceName:M?.workspaceName??null,calendars:I,defaultCalendar:r.defaultCalendar,onClose:()=>y(null),onSaved:e=>{e&&o({defaultCalendar:e}),y(null),ee()},onDelete:q})})]}),v&&T&&(0,Q.jsx)(`div`,{className:`absolute inset-0 z-30 flex flex-col bg-card`,children:(0,Q.jsx)(gt,{subject:v,target:t,workspaceName:M?.workspaceName??null,calendars:I,defaultCalendar:r.defaultCalendar,onClose:()=>y(null),onSaved:e=>{e&&o({defaultCalendar:e}),y(null),ee()},onDelete:q})}),!A&&!j&&!k.length&&s!==`schedule`&&(0,Q.jsxs)(`p`,{className:`pointer-events-none absolute bottom-2 left-1/2 -translate-x-1/2 rounded-full bg-muted/80 px-3 py-1 text-[11px] text-muted-foreground`,children:[(0,Q.jsx)(h,{className:`mr-1 inline h-3 w-3`}),`Nothing here yet — click or drag a slot to add an event.`]})]})}function Dt(e){let t=new Date,n=e&&!Ot(e,t)?new Date(e.getFullYear(),e.getMonth(),e.getDate(),9,0):new Date(t);return(!e||Ot(e,t))&&n.setMinutes(t.getMinutes()<30?30:60,0,0),n}function Ot(e,t){return e.toDateString()===t.toDateString()}export{Et as CalendarApplet};
|