@100mslive/hms-whiteboard 0.1.1 → 0.1.2-alpha.0
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/ErrorFallback.js +1 -1
- package/dist/ErrorFallback.js.map +1 -1
- package/dist/index.cjs.js +2 -2
- package/dist/index.cjs.js.map +1 -1
- package/package.json +2 -2
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/ArraySet.mjs.js +0 -2
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/ArraySet.mjs.js.map +0 -1
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/Computed.mjs.js +0 -2
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/Computed.mjs.js.map +0 -1
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/EffectScheduler.mjs.js +0 -2
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/EffectScheduler.mjs.js.map +0 -1
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/HistoryBuffer.mjs.js +0 -2
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/HistoryBuffer.mjs.js.map +0 -1
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/capture.mjs.js +0 -2
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/capture.mjs.js.map +0 -1
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/constants.mjs.js +0 -2
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/constants.mjs.js.map +0 -1
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/helpers.mjs.js +0 -2
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/helpers.mjs.js.map +0 -1
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/transactions.mjs.js +0 -2
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/transactions.mjs.js.map +0 -1
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/types.mjs.js +0 -2
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/types.mjs.js.map +0 -1
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/warnings.mjs.js +0 -2
- package/dist/node_modules/@tldraw/state/dist-esm/lib/core/warnings.mjs.js.map +0 -1
- package/dist/node_modules/@tldraw/state/dist-esm/lib/react/useValue.mjs.js +0 -2
- package/dist/node_modules/@tldraw/state/dist-esm/lib/react/useValue.mjs.js.map +0 -1
package/dist/ErrorFallback.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__awaiter as e}from"./node_modules/tslib/tslib.es6.mjs.js";import t,{useRef as r,useState as n,useEffect as o,useLayoutEffect as l}from"react";import
|
|
1
|
+
import{__awaiter as e}from"./node_modules/tslib/tslib.es6.mjs.js";import t,{useRef as r,useState as n,useEffect as o,useLayoutEffect as l}from"react";import{useValue as a}from"@tldraw/state";import{hardResetEditor as c}from"@tldraw/tldraw";import s from"./node_modules/classnames/index.js";const m=({error:m,editor:d,refresh:i})=>{const u=r(null),[_,E]=n("production"!==process.env.NODE_ENV),[h,p]=n(!1),[b,y]=n(!1),f=m instanceof Error?m.message:String(m),v=m instanceof Error?m.stack:null;o((()=>{console.error("Whiteboard ErrorFallback:",f,v)}),[f,v]);const g=a("isDarkMode",(()=>{try{if(d)return d.user.getIsDarkMode()}catch(e){}return null}),[d]),[,k]=n(null);l((()=>{var e;null!==g&&k(g);let t=null===(e=u.current)||void 0===e?void 0:e.parentElement,r=!1;for(;t;){if(t.classList.contains("tl-theme__dark")||t.classList.contains("tl-theme__light")){r=!0;break}t=t.parentElement}k(r?null:window.matchMedia("(prefers-color-scheme: dark)").matches)}),[g]),o((()=>{if(h){const e=setTimeout((()=>{p(!1)}),2e3);return()=>clearTimeout(e)}}),[h]);return t.createElement("div",{ref:u,className:s("tl-container tl-error-boundary","tl-theme__light"),style:{position:"static"}},t.createElement("div",{className:"tl-error-boundary__overlay"}),t.createElement("div",{className:s("tl-modal","tl-error-boundary__content",{"tl-error-boundary__content__expanded":_&&!b})},b?t.createElement(t.Fragment,null,t.createElement("h2",null,"Are you sure?"),t.createElement("p",null,"Resetting your data will delete your drawing and cannot be undone."),t.createElement("div",{className:"tl-error-boundary__content__actions"},t.createElement("button",{onClick:()=>y(!1)},"Cancel"),t.createElement("button",{className:"tl-error-boundary__reset",onClick:()=>e(void 0,void 0,void 0,(function*(){c()}))},"Reset data"))):t.createElement(t.Fragment,null,t.createElement("h2",null,"Something's gone wrong."),t.createElement("p",null,"Sorry, we encountered an error. Please refresh the page to continue. If you keep seeing this error, you can ",t.createElement("a",{href:"https://dashboard.100ms.live/dashboard"},"ask for help on Dashboard"),"."),_&&t.createElement("div",{className:"tl-error-boundary__content__error"},t.createElement("pre",null,t.createElement("code",null,null!=v?v:f)),t.createElement("button",{onClick:()=>{const e=document.createElement("textarea");e.value=null!=v?v:f,document.body.appendChild(e),e.select(),document.execCommand("copy"),e.remove(),p(!0)}},h?"Copied!":"Copy")),t.createElement("div",{className:"tl-error-boundary__content__actions"},t.createElement("button",{onClick:()=>E(!_)},_?"Hide details":"Show details"),t.createElement("div",{className:"tl-error-boundary__content__actions__group"},t.createElement("button",{className:"tl-error-boundary__refresh",onClick:i},"Refresh"))))))};export{m as ErrorFallback};
|
|
2
2
|
//# sourceMappingURL=ErrorFallback.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorFallback.js","sources":["../src/ErrorFallback.tsx"],"sourcesContent":[null],"names":["ErrorFallback","error","editor","refresh","containerRef","useRef","shouldShowError","setShouldShowError","useState","process","env","NODE_ENV","didCopy","setDidCopy","shouldShowResetConfirmation","setShouldShowResetConfirmation","errorMessage","Error","message","String","errorStack","stack","useEffect","console","isDarkModeFromApp","useValue","user","getIsDarkMode","_a","setIsDarkMode","useLayoutEffect","parent","current","parentElement","foundParentThemeClass","classList","contains","window","matchMedia","matches","timeout","setTimeout","clearTimeout","React","createElement","ref","className","classNames","style","position","Fragment","onClick","__awaiter","href","textarea","document","value","body","appendChild","select","execCommand","remove"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ErrorFallback.js","sources":["../src/ErrorFallback.tsx"],"sourcesContent":[null],"names":["ErrorFallback","error","editor","refresh","containerRef","useRef","shouldShowError","setShouldShowError","useState","process","env","NODE_ENV","didCopy","setDidCopy","shouldShowResetConfirmation","setShouldShowResetConfirmation","errorMessage","Error","message","String","errorStack","stack","useEffect","console","isDarkModeFromApp","useValue","user","getIsDarkMode","_a","setIsDarkMode","useLayoutEffect","parent","current","parentElement","foundParentThemeClass","classList","contains","window","matchMedia","matches","timeout","setTimeout","clearTimeout","React","createElement","ref","className","classNames","style","position","Fragment","onClick","__awaiter","href","textarea","document","value","body","appendChild","select","execCommand","remove"],"mappings":"kSAKA,MAQaA,EAA0C,EAAGC,QAAOC,SAAQC,cACjE,MAAAC,EAAeC,EAAuB,OACrCC,EAAiBC,GAAsBC,EAAkC,eAAzBC,QAAQC,IAAIC,WAC5DC,EAASC,GAAcL,GAAS,IAChCM,EAA6BC,GAAkCP,GAAS,GAEzEQ,EAAef,aAAiBgB,MAAQhB,EAAMiB,QAAUC,OAAOlB,GAC/DmB,EAAanB,aAAiBgB,MAAQhB,EAAMoB,MAAQ,KAE1DC,GAAU,KACAC,QAAAtB,MAAM,4BAA6Be,EAAcI,EAAU,GAClE,CAACJ,EAAcI,IAEZ,MAAAI,EAAoBC,EACxB,cACA,KACM,IACF,GAAIvB,EACK,OAAAA,EAAOwB,KAAKC,sBAErBC,GAGF,CACO,OAAA,IAAA,GAET,CAAC1B,KAEG,CAGJ2B,GACErB,EAAyB,MAC7BsB,GAAgB,WAEY,OAAtBN,GACFK,EAAcL,GAKZ,IAAAO,EAA6B,QAApBH,EAAAxB,EAAa4B,eAAO,IAAAJ,OAAA,EAAAA,EAAEK,cAC/BC,GAAwB,EAC5B,KAAOH,GAAQ,CACT,GAAAA,EAAOI,UAAUC,SAAS,mBAAqBL,EAAOI,UAAUC,SAAS,mBAAoB,CACvEF,GAAA,EACxB,KACF,CACAH,EAASA,EAAOE,aAClB,CAEEJ,EADEK,EACY,KAMFG,OAAOC,WAAW,gCAAgCC,QAAO,GACtE,CAACf,IAEJF,GAAU,KACR,GAAIV,EAAS,CACL,MAAA4B,EAAUC,YAAW,KACzB5B,GAAW,EAAK,GACf,KACI,MAAA,IAAM6B,aAAaF,EAC5B,IACC,CAAC5B,IAgBJ,OACE+B,EACEC,cAAA,MAAA,CAAAC,IAAKzC,EACL0C,UAAWC,EACT,iCAMA,mBAEFC,MAAO,CAAEC,SAAU,WAEnBN,EAAKC,cAAA,MAAA,CAAAE,UAAU,+BAgBfH,EAAAC,cAAA,MAAA,CACEE,UAAWC,EAAW,WAAY,6BAA8B,CAC9D,uCAAwCzC,IAAoBQ,KAG7DA,EACC6B,EAAAC,cAAAD,EAAAO,SAAA,KACEP,EAAsBC,cAAA,KAAA,KAAA,iBACtBD,EAAyEC,cAAA,IAAA,KAAA,sEACzED,EAAKC,cAAA,MAAA,CAAAE,UAAU,uCACbH,EAAQC,cAAA,SAAA,CAAAO,QAAS,IAAMpC,GAA+B,IAAuB,UAC7E4B,EAAAC,cAAA,SAAA,CAAQE,UAAU,2BAA2BK,QA7CjC,IAAWC,OAAA,OAAA,OAAA,GAAA,oBA+Cd,gBAIbT,EAAAC,cAAAD,EAAAO,SAAA,KACEP,EAAqCC,cAAA,KAAA,KAAA,2BACrCD,EAAAC,cAAA,IAAA,oHAEMD,EAAGC,cAAA,IAAA,CAAAS,KA9IC,0CA8IiD,6BACvD,KACH/C,GACCqC,EAAKC,cAAA,MAAA,CAAAE,UAAU,qCACbH,EAAAC,cAAA,MAAA,KACED,EAAOC,cAAA,OAAA,KAAAxB,QAAAA,EAAcJ,IAEvB2B,EAAAC,cAAA,SAAA,CAAQO,QAxEJ,KACV,MAAAG,EAAWC,SAASX,cAAc,YACxCU,EAASE,MAAQpC,QAAAA,EAAcJ,EACtBuC,SAAAE,KAAKC,YAAYJ,GAC1BA,EAASK,SACTJ,SAASK,YAAY,QACrBN,EAASO,SACThD,GAAW,EAAI,GAiE0BD,EAAU,UAAY,SAGvD+B,EAAKC,cAAA,MAAA,CAAAE,UAAU,uCACbH,EAAQC,cAAA,SAAA,CAAAO,QAAS,IAAM5C,GAAoBD,IACxCA,EAAkB,eAAiB,gBAEtCqC,EAAKC,cAAA,MAAA,CAAAE,UAAU,8CACbH,EAAAC,cAAA,SAAA,CAAQE,UAAU,6BAA6BK,QAAShD,GAE/C,eAKb"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@tldraw/tldraw"),n=require("@protobuf-ts/grpcweb-transport"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("@tldraw/tldraw"),n=require("@tldraw/state"),r=require("@protobuf-ts/grpcweb-transport"),a=require("@protobuf-ts/runtime"),s=require("@protobuf-ts/runtime-rpc");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=o(e);function l(e,t,n,r){return new(n||(n=Promise))((function(a,s){function o(e){try{l(r.next(e))}catch(e){s(e)}}function i(e){try{l(r.throw(e))}catch(e){s(e)}}function l(e){var t;e.done?a(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,i)}l((r=r.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;var c,d={exports:{}};
|
|
2
2
|
/*!
|
|
3
3
|
Copyright (c) 2018 Jed Watson.
|
|
4
4
|
Licensed under the MIT License (MIT), see
|
|
5
5
|
http://jedwatson.github.io/classnames
|
|
6
|
-
*/O=B,function(){var e={}.hasOwnProperty;function t(){for(var e="",t=0;t<arguments.length;t++){var s=arguments[t];s&&(e=r(e,n(s)))}return e}function n(n){if("string"==typeof n||"number"==typeof n)return n;if("object"!=typeof n)return"";if(Array.isArray(n))return t.apply(null,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]"))return n.toString();var s="";for(var a in n)e.call(n,a)&&n[a]&&(s=r(s,a));return s}function r(e,t){return t?e?e+" "+t:e+t:e}O.exports?(t.default=t,O.exports=t):window.classNames=t}();var I=B.exports;const M=({error:n,editor:r,refresh:s})=>{const a=e.useRef(null),[l,c]=e.useState("production"!==process.env.NODE_ENV),[d,u]=e.useState(!1),[h,p]=e.useState(!1),f=n instanceof Error?n.message:String(n),g=n instanceof Error?n.stack:null;e.useEffect((()=>{console.error("Whiteboard ErrorFallback:",f,g)}),[f,g]);const y=x("isDarkMode",(()=>{try{if(r)return r.user.getIsDarkMode()}catch(e){}return null}),[r]),[,m]=e.useState(null);e.useLayoutEffect((()=>{var e;null!==y&&m(y);let t=null===(e=a.current)||void 0===e?void 0:e.parentElement,n=!1;for(;t;){if(t.classList.contains("tl-theme__dark")||t.classList.contains("tl-theme__light")){n=!0;break}t=t.parentElement}m(n?null:window.matchMedia("(prefers-color-scheme: dark)").matches)}),[y]),e.useEffect((()=>{if(d){const e=setTimeout((()=>{u(!1)}),2e3);return()=>clearTimeout(e)}}),[d]);return i.default.createElement("div",{ref:a,className:I("tl-container tl-error-boundary","tl-theme__light"),style:{position:"static"}},i.default.createElement("div",{className:"tl-error-boundary__overlay"}),i.default.createElement("div",{className:I("tl-modal","tl-error-boundary__content",{"tl-error-boundary__content__expanded":l&&!h})},h?i.default.createElement(i.default.Fragment,null,i.default.createElement("h2",null,"Are you sure?"),i.default.createElement("p",null,"Resetting your data will delete your drawing and cannot be undone."),i.default.createElement("div",{className:"tl-error-boundary__content__actions"},i.default.createElement("button",{onClick:()=>p(!1)},"Cancel"),i.default.createElement("button",{className:"tl-error-boundary__reset",onClick:()=>o(void 0,void 0,void 0,(function*(){t.hardResetEditor()}))},"Reset data"))):i.default.createElement(i.default.Fragment,null,i.default.createElement("h2",null,"Something's gone wrong."),i.default.createElement("p",null,"Sorry, we encountered an error. Please refresh the page to continue. If you keep seeing this error, you can ",i.default.createElement("a",{href:"https://dashboard.100ms.live/dashboard"},"ask for help on Dashboard"),"."),l&&i.default.createElement("div",{className:"tl-error-boundary__content__error"},i.default.createElement("pre",null,i.default.createElement("code",null,null!=g?g:f)),i.default.createElement("button",{onClick:()=>{const e=document.createElement("textarea");e.value=null!=g?g:f,document.body.appendChild(e),e.select(),document.execCommand("copy"),e.remove(),u(!0)}},d?"Copied!":"Copy")),i.default.createElement("div",{className:"tl-error-boundary__content__actions"},i.default.createElement("button",{onClick:()=>c(!l)},l?"Hide details":"Show details"),i.default.createElement("div",{className:"tl-error-boundary__content__actions__group"},i.default.createElement("button",{className:"tl-error-boundary__refresh",onClick:s},"Refresh"))))))},P={store:{"document:document":{gridSize:10,name:"",meta:{},id:"document:document",typeName:"document"},"pointer:pointer":{id:"pointer:pointer",typeName:"pointer",x:0,y:0,lastActivityTimestamp:0,meta:{}},"page:page":{meta:{},id:"page:page",name:"Page 1",index:"a1",typeName:"page"},"camera:page:page":{x:0,y:0,z:1,meta:{},id:"camera:page:page",typeName:"camera"},"instance_page_state:page:page":{editingShapeId:null,croppingShapeId:null,selectedShapeIds:[],hoveredShapeId:null,erasingShapeIds:[],hintingShapeIds:[],focusedGroupId:null,meta:{},id:"instance_page_state:page:page",pageId:"page:page",typeName:"instance_page_state"},"instance:instance":{followingUserId:null,opacityForNextShape:1,stylesForNextShape:{},brush:null,scribble:null,cursor:{type:"default",rotation:0},isFocusMode:!1,exportBackground:!0,isDebugMode:!1,isToolLocked:!1,screenBounds:{x:0,y:0,w:720,h:400},zoomBrush:null,isGridMode:!1,isPenMode:!1,chatMessage:"",isChatting:!1,highlightedUserIds:[],canMoveCamera:!0,isFocused:!0,devicePixelRatio:2,isCoarsePointer:!1,isHoveringCanvas:!1,openMenus:[],isChangingStyle:!1,isReadonly:!1,meta:{},id:"instance:instance",currentPageId:"page:page",typeName:"instance"}},schema:{schemaVersion:1,storeVersion:4,recordVersions:{asset:{version:1,subTypeKey:"type",subTypeVersions:{image:2,video:2,bookmark:0}},camera:{version:1},document:{version:2},instance:{version:21},instance_page_state:{version:5},page:{version:1},shape:{version:3,subTypeKey:"type",subTypeVersions:{group:0,text:1,bookmark:1,draw:1,geo:7,note:4,line:1,frame:0,arrow:1,highlight:0,embed:4,image:2,video:1}},instance_presence:{version:5},pointer:{version:1}}}};var L,D;(D=L||(L={}))[D.NONE=0]="NONE",D[D.BYTES=1]="BYTES",D[D.STRING=2]="STRING",D[D.INTEGER=3]="INTEGER",D[D.FLOAT=4]="FLOAT";class $ extends r.MessageType{constructor(){super("sessionstorepb.HelloRequest",[{no:1,name:"name",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.name="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();if(1===t)a.name=e.string();else{let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.name&&t.tag(1,r.WireType.LengthDelimited).string(e.name);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const j=new $;class H extends r.MessageType{constructor(){super("sessionstorepb.HelloResponse",[{no:1,name:"response",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.response="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();if(1===t)a.response=e.string();else{let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.response&&t.tag(1,r.WireType.LengthDelimited).string(e.response);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const K=new H;class A extends r.MessageType{constructor(){super("sessionstorepb.SubscribeRequest",[{no:1,name:"name",kind:"scalar",T:9},{no:2,name:"offset",kind:"scalar",T:3}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.name="",t.offset="0",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.name=e.string();break;case 2:a.offset=e.int64().toString();break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.name&&t.tag(1,r.WireType.LengthDelimited).string(e.name),"0"!==e.offset&&t.tag(2,r.WireType.Varint).int64(e.offset);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const q=new A;class z extends r.MessageType{constructor(){super("sessionstorepb.Event",[{no:1,name:"message",kind:"scalar",T:9},{no:2,name:"sequence",kind:"scalar",T:3}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.message="",t.sequence="0",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.message=e.string();break;case 2:a.sequence=e.int64().toString();break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.message&&t.tag(1,r.WireType.LengthDelimited).string(e.message),"0"!==e.sequence&&t.tag(2,r.WireType.Varint).int64(e.sequence);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const V=new z;class G extends r.MessageType{constructor(){super("sessionstorepb.Value",[{no:1,name:"type",kind:"enum",T:()=>["sessionstorepb.Value.Type",L]},{no:2,name:"number",kind:"scalar",oneof:"data",T:3},{no:3,name:"float",kind:"scalar",oneof:"data",T:2},{no:4,name:"str",kind:"scalar",oneof:"data",T:9},{no:5,name:"raw_bytes",kind:"scalar",oneof:"data",T:12}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.type=0,t.data={oneofKind:void 0},void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.type=e.int32();break;case 2:a.data={oneofKind:"number",number:e.int64().toString()};break;case 3:a.data={oneofKind:"float",float:e.float()};break;case 4:a.data={oneofKind:"str",str:e.string()};break;case 5:a.data={oneofKind:"rawBytes",rawBytes:e.bytes()};break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){0!==e.type&&t.tag(1,r.WireType.Varint).int32(e.type),"number"===e.data.oneofKind&&t.tag(2,r.WireType.Varint).int64(e.data.number),"float"===e.data.oneofKind&&t.tag(3,r.WireType.Bit32).float(e.data.float),"str"===e.data.oneofKind&&t.tag(4,r.WireType.LengthDelimited).string(e.data.str),"rawBytes"===e.data.oneofKind&&t.tag(5,r.WireType.LengthDelimited).bytes(e.data.rawBytes);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const J=new G;class Y extends r.MessageType{constructor(){super("sessionstorepb.GetRequest",[{no:1,name:"key",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.key="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();if(1===t)a.key=e.string();else{let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.key&&t.tag(1,r.WireType.LengthDelimited).string(e.key);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const Z=new Y;class Q extends r.MessageType{constructor(){super("sessionstorepb.GetResponse",[{no:1,name:"key",kind:"scalar",T:9},{no:2,name:"namespace",kind:"scalar",T:9},{no:3,name:"value",kind:"message",T:()=>J}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.key="",t.namespace="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.key=e.string();break;case 2:a.namespace=e.string();break;case 3:a.value=J.internalBinaryRead(e,e.uint32(),n,a.value);break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.key&&t.tag(1,r.WireType.LengthDelimited).string(e.key),""!==e.namespace&&t.tag(2,r.WireType.LengthDelimited).string(e.namespace),e.value&&J.internalBinaryWrite(e.value,t.tag(3,r.WireType.LengthDelimited).fork(),n).join();let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const X=new Q;class ee extends r.MessageType{constructor(){super("sessionstorepb.DeleteRequest",[{no:1,name:"key",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.key="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();if(1===t)a.key=e.string();else{let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.key&&t.tag(1,r.WireType.LengthDelimited).string(e.key);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const te=new ee;class ne extends r.MessageType{constructor(){super("sessionstorepb.DeleteResponse",[])}create(e){const t=globalThis.Object.create(this.messagePrototype);return void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){return null!=r?r:this.create()}internalBinaryWrite(e,t,n){let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const re=new ne;class se extends r.MessageType{constructor(){super("sessionstorepb.SetRequest",[{no:1,name:"key",kind:"scalar",T:9},{no:3,name:"value",kind:"message",T:()=>J}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.key="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.key=e.string();break;case 3:a.value=J.internalBinaryRead(e,e.uint32(),n,a.value);break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.key&&t.tag(1,r.WireType.LengthDelimited).string(e.key),e.value&&J.internalBinaryWrite(e.value,t.tag(3,r.WireType.LengthDelimited).fork(),n).join();let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const ae=new se;class ie extends r.MessageType{constructor(){super("sessionstorepb.SetResponse",[])}create(e){const t=globalThis.Object.create(this.messagePrototype);return void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){return null!=r?r:this.create()}internalBinaryWrite(e,t,n){let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const oe=new ie;class le extends r.MessageType{constructor(){super("sessionstorepb.ChangeStream",[{no:1,name:"change_id",kind:"scalar",T:9},{no:2,name:"key",kind:"scalar",T:9},{no:3,name:"namespace",kind:"scalar",T:9},{no:4,name:"value",kind:"message",T:()=>J},{no:5,name:"from_id",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.changeId="",t.key="",t.namespace="",t.fromId="",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.changeId=e.string();break;case 2:a.key=e.string();break;case 3:a.namespace=e.string();break;case 4:a.value=J.internalBinaryRead(e,e.uint32(),n,a.value);break;case 5:a.fromId=e.string();break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.changeId&&t.tag(1,r.WireType.LengthDelimited).string(e.changeId),""!==e.key&&t.tag(2,r.WireType.LengthDelimited).string(e.key),""!==e.namespace&&t.tag(3,r.WireType.LengthDelimited).string(e.namespace),e.value&&J.internalBinaryWrite(e.value,t.tag(4,r.WireType.LengthDelimited).fork(),n).join(),""!==e.fromId&&t.tag(5,r.WireType.LengthDelimited).string(e.fromId);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const ce=new le;class de extends r.MessageType{constructor(){super("sessionstorepb.Select",[{no:1,name:"all",kind:"scalar",oneof:"match",T:9},{no:2,name:"key",kind:"scalar",oneof:"match",T:9},{no:3,name:"prefix",kind:"scalar",oneof:"match",T:9},{no:4,name:"suffix",kind:"scalar",oneof:"match",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.match={oneofKind:void 0},void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.match={oneofKind:"all",all:e.string()};break;case 2:a.match={oneofKind:"key",key:e.string()};break;case 3:a.match={oneofKind:"prefix",prefix:e.string()};break;case 4:a.match={oneofKind:"suffix",suffix:e.string()};break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){"all"===e.match.oneofKind&&t.tag(1,r.WireType.LengthDelimited).string(e.match.all),"key"===e.match.oneofKind&&t.tag(2,r.WireType.LengthDelimited).string(e.match.key),"prefix"===e.match.oneofKind&&t.tag(3,r.WireType.LengthDelimited).string(e.match.prefix),"suffix"===e.match.oneofKind&&t.tag(4,r.WireType.LengthDelimited).string(e.match.suffix);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const ue=new de;class he extends r.MessageType{constructor(){super("sessionstorepb.OpenRequest",[{no:1,name:"change_id",kind:"scalar",T:9},{no:3,name:"select",kind:"message",repeat:1,T:()=>ue}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.changeId="",t.select=[],void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();switch(t){case 1:a.changeId=e.string();break;case 3:a.select.push(ue.internalBinaryRead(e,e.uint32(),n));break;default:let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){""!==e.changeId&&t.tag(1,r.WireType.LengthDelimited).string(e.changeId);for(let s=0;s<e.select.length;s++)ue.internalBinaryWrite(e.select[s],t.tag(3,r.WireType.LengthDelimited).fork(),n).join();let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const pe=new he;class fe extends r.MessageType{constructor(){super("sessionstorepb.CountRequest",[])}create(e){const t=globalThis.Object.create(this.messagePrototype);return void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){return null!=r?r:this.create()}internalBinaryWrite(e,t,n){let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const ge=new fe;class ye extends r.MessageType{constructor(){super("sessionstorepb.CountResponse",[{no:1,name:"count",kind:"scalar",T:3}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.count="0",void 0!==e&&r.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,s){let a=null!=s?s:this.create(),i=e.pos+t;for(;e.pos<i;){let[t,s]=e.tag();if(1===t)a.count=e.int64().toString();else{let i=n.readUnknownField;if("throw"===i)throw new globalThis.Error(`Unknown field ${t} (wire type ${s}) for ${this.typeName}`);let o=e.skip(s);!1!==i&&(!0===i?r.UnknownFieldHandler.onRead:i)(this.typeName,a,t,s,o)}}return a}internalBinaryWrite(e,t,n){"0"!==e.count&&t.tag(1,r.WireType.Varint).int64(e.count);let s=n.writeUnknownFields;return!1!==s&&(1==s?r.UnknownFieldHandler.onWrite:s)(this.typeName,e,t),t}}const me=new ye;new s.ServiceType("sessionstorepb.Api",[{name:"Hello",options:{},I:j,O:K},{name:"Subscribe",serverStreaming:!0,options:{},I:q,O:V}]);const we=new s.ServiceType("sessionstorepb.Store",[{name:"open",serverStreaming:!0,options:{},I:pe,O:ce},{name:"get",options:{},I:Z,O:X},{name:"set",options:{},I:ae,O:oe},{name:"delete",options:{},I:te,O:re},{name:"count",options:{},I:ge,O:me}]);class ke{constructor(e){this._transport=e,this.typeName=we.typeName,this.methods=we.methods,this.options=we.options}open(e,t){const n=this.methods[0],r=this._transport.mergeOptions(t);return s.stackIntercept("serverStreaming",this._transport,n,r,e)}get(e,t){const n=this.methods[1],r=this._transport.mergeOptions(t);return s.stackIntercept("unary",this._transport,n,r,e)}set(e,t){const n=this.methods[2],r=this._transport.mergeOptions(t);return s.stackIntercept("unary",this._transport,n,r,e)}delete(e,t){const n=this.methods[3],r=this._transport.mergeOptions(t);return s.stackIntercept("unary",this._transport,n,r,e)}count(e,t){const n=this.methods[4],r=this._transport.mergeOptions(t);return s.stackIntercept("unary",this._transport,n,r,e)}}const be=["network error","failed to fetch"];class ve{constructor(e,t){const r=new n.GrpcWebFetchTransport({baseUrl:e,meta:{Authorization:`Bearer ${t}`}});this.storeClient=new ke(r)}open(e){return o(this,arguments,void 0,(function*({handleOpen:e,handleChange:t,handleError:n}){const r=new AbortController,s=this.storeClient.open({changeId:"",select:[]},{abort:r.signal});let a;const i=[];s.responses.onMessage((n=>{var r;if(n.value){if("str"===(null===(r=n.value)||void 0===r?void 0:r.data.oneofKind)){const r=JSON.parse(n.value.data.str);i.length===a?t(n.key,r):(i.push(r),i.length===a&&e(i))}}else t(n.key)})),s.responses.onError((s=>{const a=be.includes(s.message.toLowerCase()),i="network error"===s.message.toLowerCase(),o=()=>{r.abort("closing to open new conn"),this.open({handleOpen:e,handleChange:t,handleError:n}),window.removeEventListener("online",o)};a&&(i&&o(),window.addEventListener("online",o)),s.message.includes("abort")||n(s,!a)}));try{a=yield this.getKeysCountWithDelay(),e(a?i:[])}catch(e){const t=be.includes(e.message.toLowerCase());n(e,t)}return()=>{r.abort("client whiteboard abort")}}))}set(e,t){const n=t?JSON.stringify(t):void 0;return this.storeClient.set({key:e,value:n?{data:{str:n,oneofKind:"str"},type:L.STRING}:{data:{oneofKind:void 0},type:L.NONE}})}get(e){return o(this,void 0,void 0,(function*(){var t;const{response:n}=yield this.storeClient.get({key:e});if("str"===(null===(t=n.value)||void 0===t?void 0:t.data.oneofKind))return JSON.parse(n.value.data.str)}))}getKeysCount(){return o(this,void 0,void 0,(function*(){const{response:e}=yield this.storeClient.count({});return Number(e.count)}))}delete(e){return this.storeClient.delete({key:e})}getKeysCountWithDelay(){return o(this,void 0,void 0,(function*(){for(let e=0;e<3;e++)try{return yield new Promise((e=>setTimeout(e,200))),yield this.getKeysCount()}catch(t){if(console.warn(t),"peer not found"!==t.message||2===e)throw t}}))}}function Ee(e){if(!e||0===e.length)throw Error("Token cannot be an empty string or undefined or null");const t=e.split(".");if(3!==t.length)throw Error("Expected 3 '.' separate fields - header, payload and signature respectively");const n=atob(t[1]);try{return JSON.parse(n)}catch(e){throw Error(`couldn't parse to json - ${e.message}`)}}const Te="currentPage",_e=11,Se=200,Ne=({token:t,endpoint:n="https://store-prod-in3-grpc.100ms.live",handleError:r})=>e.useMemo((()=>{try{Ee(t)}catch(e){return r(e)}if(!n||!t)return r(new Error("Missing GRPC endpoint or token"));const e=new ve(n,t);return window.sessionStore=e,e}),[n,t,r]),Ue=({token:t,editor:n,zoomToContent:r=!1,handleError:s})=>{const{permissions:a}=e.useMemo((()=>{try{return Ee(t)}catch(e){return s(e),{}}}),[t,s]);return e.useEffect((()=>{if(null==n||n.updateInstanceState({canMoveCamera:!!r}),!a)return;const e=!a.includes("write");null==n||n.updateInstanceState({isReadonly:e})}),[a,r,n]),a},Re=["camera","document","instance","instance_page_state","page"];function Ce({endpoint:n,token:r,zoomToContent:s,transparentCanvas:a,onMount:o,refresh:l}){var c,d;const[u,h]=e.useState(),p=function({endpoint:n,token:r,editor:s,shapeUtils:a=[],zoomToContent:i=!1}){const[o]=e.useState((()=>{const e=t.createTLStore({shapeUtils:[...t.defaultShapeUtils,...a]});return e.loadSnapshot(P),e})),[l,c]=e.useState(null==s?void 0:s.getCurrentPage()),[d,u]=e.useState({status:"loading"}),h=e.useCallback(((e,t)=>{u(t?{error:e,status:"error"}:{store:o,status:"synced-remote",connectionStatus:"offline"})}),[o]),p=Ne({token:r,endpoint:n,handleError:h}),f=Ue({token:r,editor:s,zoomToContent:i,handleError:h}),g=e.useCallback((e=>{if(p){if(Re.every((t=>e.filter((e=>e.typeName===t)).length>0)))o.mergeRemoteChanges((()=>{o.clear(),o.put(e)}));else for(const e of o.allRecords())p.set(e.id,e);u({store:o,status:"synced-remote",connectionStatus:"online"})}}),[o,p]),y=e.useCallback(((e,n)=>{o.mergeRemoteChanges((()=>{if(!n)return o.remove([e]);e===Te?c(n):t.transact((()=>{o.put([n]),e===t.TLINSTANCE_ID&&o.put([Object.assign(Object.assign({},n),{canMoveCamera:!!i,isReadonly:!f.includes("write")})])}))}))}),[o,f,i]);return e.useEffect((()=>{if(!p)return;u({status:"loading"});const e=[];return p.open({handleOpen:g,handleChange:y,handleError:h}).then((t=>e.push(t))),e.push(o.listen(t.throttle((function({changes:e}){Object.values(e.added).forEach((e=>{p.set(e.id,e)})),Object.values(e.updated).forEach((([,e])=>{p.set(e.id,e)})),Object.values(e.removed).forEach((e=>{p.delete(e.id)}))}),_e),{source:"user",scope:"document"})),()=>{e.forEach((e=>e())),e.length=0}}),[o,p,y,g,h]),e.useEffect((()=>{if(!s||!p)return;const e=[];return e.push(o.listen(t.debounce((({changes:e})=>{Object.keys(e.updated).forEach((e=>{if(!e.includes("instance"))return;const n=null==s?void 0:s.getCurrentPage();(null==n?void 0:n.id)!==(null==l?void 0:l.id)&&(p.get(t.TLINSTANCE_ID).then((e=>{e&&(null==p||p.set(e.id,Object.assign(Object.assign({},e),{currentPageId:null==n?void 0:n.id})))})),c(n))}))}),Se),{source:"user",scope:"session"})),()=>{e.forEach((e=>e())),e.length=0}}),[l,s,p,o]),e.useEffect((()=>{var e;s&&(null===(e=s.getInstanceState())||void 0===e?void 0:e.isReadonly)&&i&&o.listen((()=>{s.zoomToFit()}),{source:"remote",scope:"document"})}),[s,o,i]),d}({endpoint:n,token:r,editor:u,zoomToContent:s});return"synced-remote"===p.status&&"offline"===p.connectionStatus?i.default.createElement(M,{error:Error("Network connection lost"),editor:u,refresh:l}):i.default.createElement(t.Tldraw,{className:a?"transparent-canvas":"",autoFocus:!0,store:p,onMount:e=>{h(e),window.editor=e,null==o||o({store:p.store,editor:e})},components:{ErrorFallback:({error:e,editor:t})=>i.default.createElement(M,{editor:t,error:e,refresh:l})},hideUi:null===(c=null==u?void 0:u.getInstanceState())||void 0===c?void 0:c.isReadonly,initialState:(null===(d=null==u?void 0:u.getInstanceState())||void 0===d?void 0:d.isReadonly)?"hand":"select"})}exports.Whiteboard=function(t){const[n,r]=e.useState(Date.now()+t.token);return i.default.createElement(Ce,Object.assign({key:n,refresh:()=>r(Date.now()+t.token)},t))};
|
|
6
|
+
*/c=d,function(){var e={}.hasOwnProperty;function t(){for(var e="",t=0;t<arguments.length;t++){var a=arguments[t];a&&(e=r(e,n(a)))}return e}function n(n){if("string"==typeof n||"number"==typeof n)return n;if("object"!=typeof n)return"";if(Array.isArray(n))return t.apply(null,n);if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]"))return n.toString();var a="";for(var s in n)e.call(n,s)&&n[s]&&(a=r(a,s));return a}function r(e,t){return t?e?e+" "+t:e+t:e}c.exports?(t.default=t,c.exports=t):window.classNames=t}();var u=d.exports;const p=({error:r,editor:a,refresh:s})=>{const o=e.useRef(null),[c,d]=e.useState("production"!==process.env.NODE_ENV),[p,h]=e.useState(!1),[g,m]=e.useState(!1),y=r instanceof Error?r.message:String(r),f=r instanceof Error?r.stack:null;e.useEffect((()=>{console.error("Whiteboard ErrorFallback:",y,f)}),[y,f]);const k=n.useValue("isDarkMode",(()=>{try{if(a)return a.user.getIsDarkMode()}catch(e){}return null}),[a]),[,w]=e.useState(null);e.useLayoutEffect((()=>{var e;null!==k&&w(k);let t=null===(e=o.current)||void 0===e?void 0:e.parentElement,n=!1;for(;t;){if(t.classList.contains("tl-theme__dark")||t.classList.contains("tl-theme__light")){n=!0;break}t=t.parentElement}w(n?null:window.matchMedia("(prefers-color-scheme: dark)").matches)}),[k]),e.useEffect((()=>{if(p){const e=setTimeout((()=>{h(!1)}),2e3);return()=>clearTimeout(e)}}),[p]);return i.default.createElement("div",{ref:o,className:u("tl-container tl-error-boundary","tl-theme__light"),style:{position:"static"}},i.default.createElement("div",{className:"tl-error-boundary__overlay"}),i.default.createElement("div",{className:u("tl-modal","tl-error-boundary__content",{"tl-error-boundary__content__expanded":c&&!g})},g?i.default.createElement(i.default.Fragment,null,i.default.createElement("h2",null,"Are you sure?"),i.default.createElement("p",null,"Resetting your data will delete your drawing and cannot be undone."),i.default.createElement("div",{className:"tl-error-boundary__content__actions"},i.default.createElement("button",{onClick:()=>m(!1)},"Cancel"),i.default.createElement("button",{className:"tl-error-boundary__reset",onClick:()=>l(void 0,void 0,void 0,(function*(){t.hardResetEditor()}))},"Reset data"))):i.default.createElement(i.default.Fragment,null,i.default.createElement("h2",null,"Something's gone wrong."),i.default.createElement("p",null,"Sorry, we encountered an error. Please refresh the page to continue. If you keep seeing this error, you can ",i.default.createElement("a",{href:"https://dashboard.100ms.live/dashboard"},"ask for help on Dashboard"),"."),c&&i.default.createElement("div",{className:"tl-error-boundary__content__error"},i.default.createElement("pre",null,i.default.createElement("code",null,null!=f?f:y)),i.default.createElement("button",{onClick:()=>{const e=document.createElement("textarea");e.value=null!=f?f:y,document.body.appendChild(e),e.select(),document.execCommand("copy"),e.remove(),h(!0)}},p?"Copied!":"Copy")),i.default.createElement("div",{className:"tl-error-boundary__content__actions"},i.default.createElement("button",{onClick:()=>d(!c)},c?"Hide details":"Show details"),i.default.createElement("div",{className:"tl-error-boundary__content__actions__group"},i.default.createElement("button",{className:"tl-error-boundary__refresh",onClick:s},"Refresh"))))))},h={store:{"document:document":{gridSize:10,name:"",meta:{},id:"document:document",typeName:"document"},"pointer:pointer":{id:"pointer:pointer",typeName:"pointer",x:0,y:0,lastActivityTimestamp:0,meta:{}},"page:page":{meta:{},id:"page:page",name:"Page 1",index:"a1",typeName:"page"},"camera:page:page":{x:0,y:0,z:1,meta:{},id:"camera:page:page",typeName:"camera"},"instance_page_state:page:page":{editingShapeId:null,croppingShapeId:null,selectedShapeIds:[],hoveredShapeId:null,erasingShapeIds:[],hintingShapeIds:[],focusedGroupId:null,meta:{},id:"instance_page_state:page:page",pageId:"page:page",typeName:"instance_page_state"},"instance:instance":{followingUserId:null,opacityForNextShape:1,stylesForNextShape:{},brush:null,scribble:null,cursor:{type:"default",rotation:0},isFocusMode:!1,exportBackground:!0,isDebugMode:!1,isToolLocked:!1,screenBounds:{x:0,y:0,w:720,h:400},zoomBrush:null,isGridMode:!1,isPenMode:!1,chatMessage:"",isChatting:!1,highlightedUserIds:[],canMoveCamera:!0,isFocused:!0,devicePixelRatio:2,isCoarsePointer:!1,isHoveringCanvas:!1,openMenus:[],isChangingStyle:!1,isReadonly:!1,meta:{},id:"instance:instance",currentPageId:"page:page",typeName:"instance"}},schema:{schemaVersion:1,storeVersion:4,recordVersions:{asset:{version:1,subTypeKey:"type",subTypeVersions:{image:2,video:2,bookmark:0}},camera:{version:1},document:{version:2},instance:{version:21},instance_page_state:{version:5},page:{version:1},shape:{version:3,subTypeKey:"type",subTypeVersions:{group:0,text:1,bookmark:1,draw:1,geo:7,note:4,line:1,frame:0,arrow:1,highlight:0,embed:4,image:2,video:1}},instance_presence:{version:5},pointer:{version:1}}}};var g,m;(m=g||(g={}))[m.NONE=0]="NONE",m[m.BYTES=1]="BYTES",m[m.STRING=2]="STRING",m[m.INTEGER=3]="INTEGER",m[m.FLOAT=4]="FLOAT";class y extends a.MessageType{constructor(){super("sessionstorepb.HelloRequest",[{no:1,name:"name",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.name="",void 0!==e&&a.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){let s=null!=r?r:this.create(),o=e.pos+t;for(;e.pos<o;){let[t,r]=e.tag();if(1===t)s.name=e.string();else{let o=n.readUnknownField;if("throw"===o)throw new globalThis.Error(`Unknown field ${t} (wire type ${r}) for ${this.typeName}`);let i=e.skip(r);!1!==o&&(!0===o?a.UnknownFieldHandler.onRead:o)(this.typeName,s,t,r,i)}}return s}internalBinaryWrite(e,t,n){""!==e.name&&t.tag(1,a.WireType.LengthDelimited).string(e.name);let r=n.writeUnknownFields;return!1!==r&&(1==r?a.UnknownFieldHandler.onWrite:r)(this.typeName,e,t),t}}const f=new y;class k extends a.MessageType{constructor(){super("sessionstorepb.HelloResponse",[{no:1,name:"response",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.response="",void 0!==e&&a.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){let s=null!=r?r:this.create(),o=e.pos+t;for(;e.pos<o;){let[t,r]=e.tag();if(1===t)s.response=e.string();else{let o=n.readUnknownField;if("throw"===o)throw new globalThis.Error(`Unknown field ${t} (wire type ${r}) for ${this.typeName}`);let i=e.skip(r);!1!==o&&(!0===o?a.UnknownFieldHandler.onRead:o)(this.typeName,s,t,r,i)}}return s}internalBinaryWrite(e,t,n){""!==e.response&&t.tag(1,a.WireType.LengthDelimited).string(e.response);let r=n.writeUnknownFields;return!1!==r&&(1==r?a.UnknownFieldHandler.onWrite:r)(this.typeName,e,t),t}}const w=new k;class b extends a.MessageType{constructor(){super("sessionstorepb.SubscribeRequest",[{no:1,name:"name",kind:"scalar",T:9},{no:2,name:"offset",kind:"scalar",T:3}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.name="",t.offset="0",void 0!==e&&a.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){let s=null!=r?r:this.create(),o=e.pos+t;for(;e.pos<o;){let[t,r]=e.tag();switch(t){case 1:s.name=e.string();break;case 2:s.offset=e.int64().toString();break;default:let o=n.readUnknownField;if("throw"===o)throw new globalThis.Error(`Unknown field ${t} (wire type ${r}) for ${this.typeName}`);let i=e.skip(r);!1!==o&&(!0===o?a.UnknownFieldHandler.onRead:o)(this.typeName,s,t,r,i)}}return s}internalBinaryWrite(e,t,n){""!==e.name&&t.tag(1,a.WireType.LengthDelimited).string(e.name),"0"!==e.offset&&t.tag(2,a.WireType.Varint).int64(e.offset);let r=n.writeUnknownFields;return!1!==r&&(1==r?a.UnknownFieldHandler.onWrite:r)(this.typeName,e,t),t}}const v=new b;class T extends a.MessageType{constructor(){super("sessionstorepb.Event",[{no:1,name:"message",kind:"scalar",T:9},{no:2,name:"sequence",kind:"scalar",T:3}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.message="",t.sequence="0",void 0!==e&&a.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){let s=null!=r?r:this.create(),o=e.pos+t;for(;e.pos<o;){let[t,r]=e.tag();switch(t){case 1:s.message=e.string();break;case 2:s.sequence=e.int64().toString();break;default:let o=n.readUnknownField;if("throw"===o)throw new globalThis.Error(`Unknown field ${t} (wire type ${r}) for ${this.typeName}`);let i=e.skip(r);!1!==o&&(!0===o?a.UnknownFieldHandler.onRead:o)(this.typeName,s,t,r,i)}}return s}internalBinaryWrite(e,t,n){""!==e.message&&t.tag(1,a.WireType.LengthDelimited).string(e.message),"0"!==e.sequence&&t.tag(2,a.WireType.Varint).int64(e.sequence);let r=n.writeUnknownFields;return!1!==r&&(1==r?a.UnknownFieldHandler.onWrite:r)(this.typeName,e,t),t}}const E=new T;class N extends a.MessageType{constructor(){super("sessionstorepb.Value",[{no:1,name:"type",kind:"enum",T:()=>["sessionstorepb.Value.Type",g]},{no:2,name:"number",kind:"scalar",oneof:"data",T:3},{no:3,name:"float",kind:"scalar",oneof:"data",T:2},{no:4,name:"str",kind:"scalar",oneof:"data",T:9},{no:5,name:"raw_bytes",kind:"scalar",oneof:"data",T:12}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.type=0,t.data={oneofKind:void 0},void 0!==e&&a.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){let s=null!=r?r:this.create(),o=e.pos+t;for(;e.pos<o;){let[t,r]=e.tag();switch(t){case 1:s.type=e.int32();break;case 2:s.data={oneofKind:"number",number:e.int64().toString()};break;case 3:s.data={oneofKind:"float",float:e.float()};break;case 4:s.data={oneofKind:"str",str:e.string()};break;case 5:s.data={oneofKind:"rawBytes",rawBytes:e.bytes()};break;default:let o=n.readUnknownField;if("throw"===o)throw new globalThis.Error(`Unknown field ${t} (wire type ${r}) for ${this.typeName}`);let i=e.skip(r);!1!==o&&(!0===o?a.UnknownFieldHandler.onRead:o)(this.typeName,s,t,r,i)}}return s}internalBinaryWrite(e,t,n){0!==e.type&&t.tag(1,a.WireType.Varint).int32(e.type),"number"===e.data.oneofKind&&t.tag(2,a.WireType.Varint).int64(e.data.number),"float"===e.data.oneofKind&&t.tag(3,a.WireType.Bit32).float(e.data.float),"str"===e.data.oneofKind&&t.tag(4,a.WireType.LengthDelimited).string(e.data.str),"rawBytes"===e.data.oneofKind&&t.tag(5,a.WireType.LengthDelimited).bytes(e.data.rawBytes);let r=n.writeUnknownFields;return!1!==r&&(1==r?a.UnknownFieldHandler.onWrite:r)(this.typeName,e,t),t}}const U=new N;class F extends a.MessageType{constructor(){super("sessionstorepb.GetRequest",[{no:1,name:"key",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.key="",void 0!==e&&a.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){let s=null!=r?r:this.create(),o=e.pos+t;for(;e.pos<o;){let[t,r]=e.tag();if(1===t)s.key=e.string();else{let o=n.readUnknownField;if("throw"===o)throw new globalThis.Error(`Unknown field ${t} (wire type ${r}) for ${this.typeName}`);let i=e.skip(r);!1!==o&&(!0===o?a.UnknownFieldHandler.onRead:o)(this.typeName,s,t,r,i)}}return s}internalBinaryWrite(e,t,n){""!==e.key&&t.tag(1,a.WireType.LengthDelimited).string(e.key);let r=n.writeUnknownFields;return!1!==r&&(1==r?a.UnknownFieldHandler.onWrite:r)(this.typeName,e,t),t}}const W=new F;class S extends a.MessageType{constructor(){super("sessionstorepb.GetResponse",[{no:1,name:"key",kind:"scalar",T:9},{no:2,name:"namespace",kind:"scalar",T:9},{no:3,name:"value",kind:"message",T:()=>U}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.key="",t.namespace="",void 0!==e&&a.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){let s=null!=r?r:this.create(),o=e.pos+t;for(;e.pos<o;){let[t,r]=e.tag();switch(t){case 1:s.key=e.string();break;case 2:s.namespace=e.string();break;case 3:s.value=U.internalBinaryRead(e,e.uint32(),n,s.value);break;default:let o=n.readUnknownField;if("throw"===o)throw new globalThis.Error(`Unknown field ${t} (wire type ${r}) for ${this.typeName}`);let i=e.skip(r);!1!==o&&(!0===o?a.UnknownFieldHandler.onRead:o)(this.typeName,s,t,r,i)}}return s}internalBinaryWrite(e,t,n){""!==e.key&&t.tag(1,a.WireType.LengthDelimited).string(e.key),""!==e.namespace&&t.tag(2,a.WireType.LengthDelimited).string(e.namespace),e.value&&U.internalBinaryWrite(e.value,t.tag(3,a.WireType.LengthDelimited).fork(),n).join();let r=n.writeUnknownFields;return!1!==r&&(1==r?a.UnknownFieldHandler.onWrite:r)(this.typeName,e,t),t}}const _=new S;class R extends a.MessageType{constructor(){super("sessionstorepb.DeleteRequest",[{no:1,name:"key",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.key="",void 0!==e&&a.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){let s=null!=r?r:this.create(),o=e.pos+t;for(;e.pos<o;){let[t,r]=e.tag();if(1===t)s.key=e.string();else{let o=n.readUnknownField;if("throw"===o)throw new globalThis.Error(`Unknown field ${t} (wire type ${r}) for ${this.typeName}`);let i=e.skip(r);!1!==o&&(!0===o?a.UnknownFieldHandler.onRead:o)(this.typeName,s,t,r,i)}}return s}internalBinaryWrite(e,t,n){""!==e.key&&t.tag(1,a.WireType.LengthDelimited).string(e.key);let r=n.writeUnknownFields;return!1!==r&&(1==r?a.UnknownFieldHandler.onWrite:r)(this.typeName,e,t),t}}const O=new R;class C extends a.MessageType{constructor(){super("sessionstorepb.DeleteResponse",[])}create(e){const t=globalThis.Object.create(this.messagePrototype);return void 0!==e&&a.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){return null!=r?r:this.create()}internalBinaryWrite(e,t,n){let r=n.writeUnknownFields;return!1!==r&&(1==r?a.UnknownFieldHandler.onWrite:r)(this.typeName,e,t),t}}const I=new C;class B extends a.MessageType{constructor(){super("sessionstorepb.SetRequest",[{no:1,name:"key",kind:"scalar",T:9},{no:3,name:"value",kind:"message",T:()=>U}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.key="",void 0!==e&&a.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){let s=null!=r?r:this.create(),o=e.pos+t;for(;e.pos<o;){let[t,r]=e.tag();switch(t){case 1:s.key=e.string();break;case 3:s.value=U.internalBinaryRead(e,e.uint32(),n,s.value);break;default:let o=n.readUnknownField;if("throw"===o)throw new globalThis.Error(`Unknown field ${t} (wire type ${r}) for ${this.typeName}`);let i=e.skip(r);!1!==o&&(!0===o?a.UnknownFieldHandler.onRead:o)(this.typeName,s,t,r,i)}}return s}internalBinaryWrite(e,t,n){""!==e.key&&t.tag(1,a.WireType.LengthDelimited).string(e.key),e.value&&U.internalBinaryWrite(e.value,t.tag(3,a.WireType.LengthDelimited).fork(),n).join();let r=n.writeUnknownFields;return!1!==r&&(1==r?a.UnknownFieldHandler.onWrite:r)(this.typeName,e,t),t}}const M=new B;class x extends a.MessageType{constructor(){super("sessionstorepb.SetResponse",[])}create(e){const t=globalThis.Object.create(this.messagePrototype);return void 0!==e&&a.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){return null!=r?r:this.create()}internalBinaryWrite(e,t,n){let r=n.writeUnknownFields;return!1!==r&&(1==r?a.UnknownFieldHandler.onWrite:r)(this.typeName,e,t),t}}const P=new x;class $ extends a.MessageType{constructor(){super("sessionstorepb.ChangeStream",[{no:1,name:"change_id",kind:"scalar",T:9},{no:2,name:"key",kind:"scalar",T:9},{no:3,name:"namespace",kind:"scalar",T:9},{no:4,name:"value",kind:"message",T:()=>U},{no:5,name:"from_id",kind:"scalar",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.changeId="",t.key="",t.namespace="",t.fromId="",void 0!==e&&a.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){let s=null!=r?r:this.create(),o=e.pos+t;for(;e.pos<o;){let[t,r]=e.tag();switch(t){case 1:s.changeId=e.string();break;case 2:s.key=e.string();break;case 3:s.namespace=e.string();break;case 4:s.value=U.internalBinaryRead(e,e.uint32(),n,s.value);break;case 5:s.fromId=e.string();break;default:let o=n.readUnknownField;if("throw"===o)throw new globalThis.Error(`Unknown field ${t} (wire type ${r}) for ${this.typeName}`);let i=e.skip(r);!1!==o&&(!0===o?a.UnknownFieldHandler.onRead:o)(this.typeName,s,t,r,i)}}return s}internalBinaryWrite(e,t,n){""!==e.changeId&&t.tag(1,a.WireType.LengthDelimited).string(e.changeId),""!==e.key&&t.tag(2,a.WireType.LengthDelimited).string(e.key),""!==e.namespace&&t.tag(3,a.WireType.LengthDelimited).string(e.namespace),e.value&&U.internalBinaryWrite(e.value,t.tag(4,a.WireType.LengthDelimited).fork(),n).join(),""!==e.fromId&&t.tag(5,a.WireType.LengthDelimited).string(e.fromId);let r=n.writeUnknownFields;return!1!==r&&(1==r?a.UnknownFieldHandler.onWrite:r)(this.typeName,e,t),t}}const L=new $;class D extends a.MessageType{constructor(){super("sessionstorepb.Select",[{no:1,name:"all",kind:"scalar",oneof:"match",T:9},{no:2,name:"key",kind:"scalar",oneof:"match",T:9},{no:3,name:"prefix",kind:"scalar",oneof:"match",T:9},{no:4,name:"suffix",kind:"scalar",oneof:"match",T:9}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.match={oneofKind:void 0},void 0!==e&&a.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){let s=null!=r?r:this.create(),o=e.pos+t;for(;e.pos<o;){let[t,r]=e.tag();switch(t){case 1:s.match={oneofKind:"all",all:e.string()};break;case 2:s.match={oneofKind:"key",key:e.string()};break;case 3:s.match={oneofKind:"prefix",prefix:e.string()};break;case 4:s.match={oneofKind:"suffix",suffix:e.string()};break;default:let o=n.readUnknownField;if("throw"===o)throw new globalThis.Error(`Unknown field ${t} (wire type ${r}) for ${this.typeName}`);let i=e.skip(r);!1!==o&&(!0===o?a.UnknownFieldHandler.onRead:o)(this.typeName,s,t,r,i)}}return s}internalBinaryWrite(e,t,n){"all"===e.match.oneofKind&&t.tag(1,a.WireType.LengthDelimited).string(e.match.all),"key"===e.match.oneofKind&&t.tag(2,a.WireType.LengthDelimited).string(e.match.key),"prefix"===e.match.oneofKind&&t.tag(3,a.WireType.LengthDelimited).string(e.match.prefix),"suffix"===e.match.oneofKind&&t.tag(4,a.WireType.LengthDelimited).string(e.match.suffix);let r=n.writeUnknownFields;return!1!==r&&(1==r?a.UnknownFieldHandler.onWrite:r)(this.typeName,e,t),t}}const j=new D;class H extends a.MessageType{constructor(){super("sessionstorepb.OpenRequest",[{no:1,name:"change_id",kind:"scalar",T:9},{no:3,name:"select",kind:"message",repeat:1,T:()=>j}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.changeId="",t.select=[],void 0!==e&&a.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){let s=null!=r?r:this.create(),o=e.pos+t;for(;e.pos<o;){let[t,r]=e.tag();switch(t){case 1:s.changeId=e.string();break;case 3:s.select.push(j.internalBinaryRead(e,e.uint32(),n));break;default:let o=n.readUnknownField;if("throw"===o)throw new globalThis.Error(`Unknown field ${t} (wire type ${r}) for ${this.typeName}`);let i=e.skip(r);!1!==o&&(!0===o?a.UnknownFieldHandler.onRead:o)(this.typeName,s,t,r,i)}}return s}internalBinaryWrite(e,t,n){""!==e.changeId&&t.tag(1,a.WireType.LengthDelimited).string(e.changeId);for(let r=0;r<e.select.length;r++)j.internalBinaryWrite(e.select[r],t.tag(3,a.WireType.LengthDelimited).fork(),n).join();let r=n.writeUnknownFields;return!1!==r&&(1==r?a.UnknownFieldHandler.onWrite:r)(this.typeName,e,t),t}}const K=new H;class q extends a.MessageType{constructor(){super("sessionstorepb.CountRequest",[])}create(e){const t=globalThis.Object.create(this.messagePrototype);return void 0!==e&&a.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){return null!=r?r:this.create()}internalBinaryWrite(e,t,n){let r=n.writeUnknownFields;return!1!==r&&(1==r?a.UnknownFieldHandler.onWrite:r)(this.typeName,e,t),t}}const V=new q;class A extends a.MessageType{constructor(){super("sessionstorepb.CountResponse",[{no:1,name:"count",kind:"scalar",T:3}])}create(e){const t=globalThis.Object.create(this.messagePrototype);return t.count="0",void 0!==e&&a.reflectionMergePartial(this,t,e),t}internalBinaryRead(e,t,n,r){let s=null!=r?r:this.create(),o=e.pos+t;for(;e.pos<o;){let[t,r]=e.tag();if(1===t)s.count=e.int64().toString();else{let o=n.readUnknownField;if("throw"===o)throw new globalThis.Error(`Unknown field ${t} (wire type ${r}) for ${this.typeName}`);let i=e.skip(r);!1!==o&&(!0===o?a.UnknownFieldHandler.onRead:o)(this.typeName,s,t,r,i)}}return s}internalBinaryWrite(e,t,n){"0"!==e.count&&t.tag(1,a.WireType.Varint).int64(e.count);let r=n.writeUnknownFields;return!1!==r&&(1==r?a.UnknownFieldHandler.onWrite:r)(this.typeName,e,t),t}}const G=new A;new s.ServiceType("sessionstorepb.Api",[{name:"Hello",options:{},I:f,O:w},{name:"Subscribe",serverStreaming:!0,options:{},I:v,O:E}]);const z=new s.ServiceType("sessionstorepb.Store",[{name:"open",serverStreaming:!0,options:{},I:K,O:L},{name:"get",options:{},I:W,O:_},{name:"set",options:{},I:M,O:P},{name:"delete",options:{},I:O,O:I},{name:"count",options:{},I:V,O:G}]);class J{constructor(e){this._transport=e,this.typeName=z.typeName,this.methods=z.methods,this.options=z.options}open(e,t){const n=this.methods[0],r=this._transport.mergeOptions(t);return s.stackIntercept("serverStreaming",this._transport,n,r,e)}get(e,t){const n=this.methods[1],r=this._transport.mergeOptions(t);return s.stackIntercept("unary",this._transport,n,r,e)}set(e,t){const n=this.methods[2],r=this._transport.mergeOptions(t);return s.stackIntercept("unary",this._transport,n,r,e)}delete(e,t){const n=this.methods[3],r=this._transport.mergeOptions(t);return s.stackIntercept("unary",this._transport,n,r,e)}count(e,t){const n=this.methods[4],r=this._transport.mergeOptions(t);return s.stackIntercept("unary",this._transport,n,r,e)}}const Y=["network error","failed to fetch"];class Q{constructor(e,t){const n=new r.GrpcWebFetchTransport({baseUrl:e,meta:{Authorization:`Bearer ${t}`}});this.storeClient=new J(n)}open(e){return l(this,arguments,void 0,(function*({handleOpen:e,handleChange:t,handleError:n}){const r=new AbortController,a=this.storeClient.open({changeId:"",select:[]},{abort:r.signal});let s;const o=[];a.responses.onMessage((n=>{var r;if(n.value){if("str"===(null===(r=n.value)||void 0===r?void 0:r.data.oneofKind)){const r=JSON.parse(n.value.data.str);o.length===s?t(n.key,r):(o.push(r),o.length===s&&e(o))}}else t(n.key)})),a.responses.onError((a=>{const s=Y.includes(a.message.toLowerCase()),o="network error"===a.message.toLowerCase(),i=()=>{r.abort("closing to open new conn"),this.open({handleOpen:e,handleChange:t,handleError:n}),window.removeEventListener("online",i)};s&&(o&&i(),window.addEventListener("online",i)),a.message.includes("abort")||n(a,!s)}));try{s=yield this.getKeysCountWithDelay(),e(s?o:[])}catch(e){const t=Y.includes(e.message.toLowerCase());n(e,t)}return()=>{r.abort("client whiteboard abort")}}))}set(e,t){const n=t?JSON.stringify(t):void 0;return this.storeClient.set({key:e,value:n?{data:{str:n,oneofKind:"str"},type:g.STRING}:{data:{oneofKind:void 0},type:g.NONE}})}get(e){return l(this,void 0,void 0,(function*(){var t;const{response:n}=yield this.storeClient.get({key:e});if("str"===(null===(t=n.value)||void 0===t?void 0:t.data.oneofKind))return JSON.parse(n.value.data.str)}))}getKeysCount(){return l(this,void 0,void 0,(function*(){const{response:e}=yield this.storeClient.count({});return Number(e.count)}))}delete(e){return this.storeClient.delete({key:e})}getKeysCountWithDelay(){return l(this,void 0,void 0,(function*(){for(let e=0;e<3;e++)try{return yield new Promise((e=>setTimeout(e,200))),yield this.getKeysCount()}catch(t){if(console.warn(t),"peer not found"!==t.message||2===e)throw t}}))}}function X(e){if(!e||0===e.length)throw Error("Token cannot be an empty string or undefined or null");const t=e.split(".");if(3!==t.length)throw Error("Expected 3 '.' separate fields - header, payload and signature respectively");const n=atob(t[1]);try{return JSON.parse(n)}catch(e){throw Error(`couldn't parse to json - ${e.message}`)}}const Z="currentPage",ee=11,te=200,ne=({token:t,endpoint:n="https://store-prod-in3-grpc.100ms.live",handleError:r})=>e.useMemo((()=>{try{X(t)}catch(e){return r(e)}if(!n||!t)return r(new Error("Missing GRPC endpoint or token"));const e=new Q(n,t);return window.sessionStore=e,e}),[n,t,r]),re=({token:t,editor:n,zoomToContent:r=!1,handleError:a})=>{const{permissions:s}=e.useMemo((()=>{try{return X(t)}catch(e){return a(e),{}}}),[t,a]);return e.useEffect((()=>{if(null==n||n.updateInstanceState({canMoveCamera:!!r}),!s)return;const e=!s.includes("write");null==n||n.updateInstanceState({isReadonly:e})}),[s,r,n]),s},ae=["camera","document","instance","instance_page_state","page"];function se({endpoint:n,token:r,zoomToContent:a,transparentCanvas:s,onMount:o,refresh:l}){var c,d;const[u,g]=e.useState(),m=function({endpoint:n,token:r,editor:a,shapeUtils:s=[],zoomToContent:o=!1}){const[i]=e.useState((()=>{const e=t.createTLStore({shapeUtils:[...t.defaultShapeUtils,...s]});return e.loadSnapshot(h),e})),[l,c]=e.useState(null==a?void 0:a.getCurrentPage()),[d,u]=e.useState({status:"loading"}),p=e.useCallback(((e,t)=>{u(t?{error:e,status:"error"}:{store:i,status:"synced-remote",connectionStatus:"offline"})}),[i]),g=ne({token:r,endpoint:n,handleError:p}),m=re({token:r,editor:a,zoomToContent:o,handleError:p}),y=e.useCallback((e=>{if(g){if(ae.every((t=>e.filter((e=>e.typeName===t)).length>0)))i.mergeRemoteChanges((()=>{i.clear(),i.put(e)}));else for(const e of i.allRecords())g.set(e.id,e);u({store:i,status:"synced-remote",connectionStatus:"online"})}}),[i,g]),f=e.useCallback(((e,n)=>{i.mergeRemoteChanges((()=>{if(!n)return i.remove([e]);e===Z?c(n):t.transact((()=>{i.put([n]),e===t.TLINSTANCE_ID&&i.put([Object.assign(Object.assign({},n),{canMoveCamera:!!o,isReadonly:!m.includes("write")})])}))}))}),[i,m,o]);return e.useEffect((()=>{if(!g)return;u({status:"loading"});const e=[];return g.open({handleOpen:y,handleChange:f,handleError:p}).then((t=>e.push(t))),e.push(i.listen(t.throttle((function({changes:e}){Object.values(e.added).forEach((e=>{g.set(e.id,e)})),Object.values(e.updated).forEach((([,e])=>{g.set(e.id,e)})),Object.values(e.removed).forEach((e=>{g.delete(e.id)}))}),ee),{source:"user",scope:"document"})),()=>{e.forEach((e=>e())),e.length=0}}),[i,g,f,y,p]),e.useEffect((()=>{if(!a||!g)return;const e=[];return e.push(i.listen(t.debounce((({changes:e})=>{Object.keys(e.updated).forEach((e=>{if(!e.includes("instance"))return;const n=null==a?void 0:a.getCurrentPage();(null==n?void 0:n.id)!==(null==l?void 0:l.id)&&(g.get(t.TLINSTANCE_ID).then((e=>{e&&(null==g||g.set(e.id,Object.assign(Object.assign({},e),{currentPageId:null==n?void 0:n.id})))})),c(n))}))}),te),{source:"user",scope:"session"})),()=>{e.forEach((e=>e())),e.length=0}}),[l,a,g,i]),e.useEffect((()=>{var e;a&&(null===(e=a.getInstanceState())||void 0===e?void 0:e.isReadonly)&&o&&i.listen((()=>{a.zoomToFit()}),{source:"remote",scope:"document"})}),[a,i,o]),d}({endpoint:n,token:r,editor:u,zoomToContent:a});return"synced-remote"===m.status&&"offline"===m.connectionStatus?i.default.createElement(p,{error:Error("Network connection lost"),editor:u,refresh:l}):i.default.createElement(t.Tldraw,{className:s?"transparent-canvas":"",autoFocus:!0,store:m,onMount:e=>{g(e),window.editor=e,null==o||o({store:m.store,editor:e})},components:{ErrorFallback:({error:e,editor:t})=>i.default.createElement(p,{editor:t,error:e,refresh:l})},hideUi:null===(c=null==u?void 0:u.getInstanceState())||void 0===c?void 0:c.isReadonly,initialState:(null===(d=null==u?void 0:u.getInstanceState())||void 0===d?void 0:d.isReadonly)?"hand":"select"})}exports.Whiteboard=function(t){const[n,r]=e.useState(Date.now()+t.token);return i.default.createElement(se,Object.assign({key:n,refresh:()=>r(Date.now()+t.token)},t))};
|
|
7
7
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/index.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/ArraySet.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/types.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/HistoryBuffer.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/helpers.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/capture.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/constants.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/transactions.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/warnings.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/Computed.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/core/EffectScheduler.mjs","../../../node_modules/@tldraw/state/dist-esm/lib/react/useValue.mjs","../../../node_modules/classnames/index.js","../src/ErrorFallback.tsx","../src/hooks/default_store.ts","../src/grpc/sessionstore.ts","../src/grpc/sessionstore.client.ts","../src/hooks/StoreClient.ts","../src/utils.ts","../src/hooks/useSessionStore.ts","../src/hooks/useSetEditorPermissions.tsx","../src/hooks/useCollaboration.ts","../src/Whiteboard.tsx"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","const ARRAY_SIZE_THRESHOLD = 8;\nclass ArraySet {\n arraySize = 0;\n array = Array(ARRAY_SIZE_THRESHOLD);\n set = null;\n /**\n * Get whether this ArraySet has any elements.\n *\n * @returns True if this ArraySet has any elements, false otherwise.\n */\n // eslint-disable-next-line no-restricted-syntax\n get isEmpty() {\n if (this.array) {\n return this.arraySize === 0;\n }\n if (this.set) {\n return this.set.size === 0;\n }\n throw new Error(\"no set or array\");\n }\n /**\n * Add an item to the ArraySet if it is not already present.\n *\n * @param elem - The element to add.\n */\n add(elem) {\n if (this.array) {\n const idx = this.array.indexOf(elem);\n if (idx !== -1) {\n return false;\n }\n if (this.arraySize < ARRAY_SIZE_THRESHOLD) {\n this.array[this.arraySize] = elem;\n this.arraySize++;\n return true;\n } else {\n this.set = new Set(this.array);\n this.array = null;\n this.set.add(elem);\n return true;\n }\n }\n if (this.set) {\n if (this.set.has(elem)) {\n return false;\n }\n this.set.add(elem);\n return true;\n }\n throw new Error(\"no set or array\");\n }\n /**\n * Remove an item from the ArraySet if it is present.\n *\n * @param elem - The element to remove\n */\n remove(elem) {\n if (this.array) {\n const idx = this.array.indexOf(elem);\n if (idx === -1) {\n return false;\n }\n this.array[idx] = void 0;\n this.arraySize--;\n if (idx !== this.arraySize) {\n this.array[idx] = this.array[this.arraySize];\n this.array[this.arraySize] = void 0;\n }\n return true;\n }\n if (this.set) {\n if (!this.set.has(elem)) {\n return false;\n }\n this.set.delete(elem);\n return true;\n }\n throw new Error(\"no set or array\");\n }\n /**\n * Run a callback for each element in the ArraySet.\n *\n * @param visitor - The callback to run for each element.\n */\n visit(visitor) {\n if (this.array) {\n for (let i = 0; i < this.arraySize; i++) {\n const elem = this.array[i];\n if (typeof elem !== \"undefined\") {\n visitor(elem);\n }\n }\n return;\n }\n if (this.set) {\n this.set.forEach(visitor);\n return;\n }\n throw new Error(\"no set or array\");\n }\n}\nexport {\n ARRAY_SIZE_THRESHOLD,\n ArraySet\n};\n//# sourceMappingURL=ArraySet.mjs.map\n","const RESET_VALUE = Symbol(\"RESET_VALUE\");\nexport {\n RESET_VALUE\n};\n//# sourceMappingURL=types.mjs.map\n","import { RESET_VALUE } from \"./types.mjs\";\nclass HistoryBuffer {\n constructor(capacity) {\n this.capacity = capacity;\n this.buffer = new Array(capacity);\n }\n index = 0;\n // use a wrap around buffer to store the last N values\n buffer;\n /**\n * Add a diff to the history buffer.\n *\n * @param lastComputedEpoch - The epoch when the diff was computed.\n * @param currentEpoch - The current epoch.\n * @param diff - The diff to add, or else a reset value.\n */\n pushEntry(lastComputedEpoch, currentEpoch, diff) {\n if (diff === void 0) {\n return;\n }\n if (diff === RESET_VALUE) {\n this.clear();\n return;\n }\n this.buffer[this.index] = [lastComputedEpoch, currentEpoch, diff];\n this.index = (this.index + 1) % this.capacity;\n }\n /**\n * Clear the history buffer.\n */\n clear() {\n this.index = 0;\n this.buffer.fill(void 0);\n }\n /**\n * Get the diffs since the given epoch.\n *\n * @param epoch - The epoch to get diffs since.\n * @returns An array of diffs or a flag to reset the history buffer.\n */\n getChangesSince(sinceEpoch) {\n const { index, capacity, buffer } = this;\n for (let i = 0; i < capacity; i++) {\n const offset = (index - 1 + capacity - i) % capacity;\n const elem = buffer[offset];\n if (!elem) {\n return RESET_VALUE;\n }\n const [fromEpoch, toEpoch] = elem;\n if (i === 0 && sinceEpoch >= toEpoch) {\n return [];\n }\n if (fromEpoch <= sinceEpoch && sinceEpoch < toEpoch) {\n const len = i + 1;\n const result = new Array(len);\n for (let j = 0; j < len; j++) {\n result[j] = buffer[(offset + j) % capacity][2];\n }\n return result;\n }\n }\n return RESET_VALUE;\n }\n}\nexport {\n HistoryBuffer\n};\n//# sourceMappingURL=HistoryBuffer.mjs.map\n","function isChild(x) {\n return x && typeof x === \"object\" && \"parents\" in x;\n}\nfunction haveParentsChanged(child) {\n for (let i = 0, n = child.parents.length; i < n; i++) {\n child.parents[i].__unsafe__getWithoutCapture();\n if (child.parents[i].lastChangedEpoch !== child.parentEpochs[i]) {\n return true;\n }\n }\n return false;\n}\nconst detach = (parent, child) => {\n if (!parent.children.remove(child)) {\n return;\n }\n if (parent.children.isEmpty && isChild(parent)) {\n for (let i = 0, n = parent.parents.length; i < n; i++) {\n detach(parent.parents[i], parent);\n }\n }\n};\nconst attach = (parent, child) => {\n if (!parent.children.add(child)) {\n return;\n }\n if (isChild(parent)) {\n for (let i = 0, n = parent.parents.length; i < n; i++) {\n attach(parent.parents[i], parent);\n }\n }\n};\nfunction equals(a, b) {\n const shallowEquals = a === b || Object.is(a, b) || Boolean(a && b && typeof a.equals === \"function\" && a.equals(b));\n return shallowEquals;\n}\nconst EMPTY_ARRAY = Object.freeze([]);\nexport {\n EMPTY_ARRAY,\n attach,\n detach,\n equals,\n haveParentsChanged\n};\n//# sourceMappingURL=helpers.mjs.map\n","import { attach, detach } from \"./helpers.mjs\";\nconst tldrawStateGlobalKey = Symbol.for(\"__@tldraw/state__\");\nconst tldrawStateGlobal = globalThis;\nif (tldrawStateGlobal[tldrawStateGlobalKey]) {\n console.error(\n 'Multiple versions of @tldraw/state detected. This will cause unexpected behavior. Please add \"resolutions\" (yarn/pnpm) or \"overrides\" (npm) in your package.json to ensure only one version of @tldraw/state is loaded.'\n );\n} else {\n tldrawStateGlobal[tldrawStateGlobalKey] = true;\n}\nclass CaptureStackFrame {\n constructor(below, child) {\n this.below = below;\n this.child = child;\n }\n offset = 0;\n numNewParents = 0;\n maybeRemoved;\n}\nlet stack = null;\nfunction unsafe__withoutCapture(fn) {\n const oldStack = stack;\n stack = null;\n try {\n return fn();\n } finally {\n stack = oldStack;\n }\n}\nfunction startCapturingParents(child) {\n stack = new CaptureStackFrame(stack, child);\n}\nfunction stopCapturingParents() {\n const frame = stack;\n stack = frame.below;\n const didParentsChange = frame.numNewParents > 0 || frame.offset !== frame.child.parents.length;\n if (!didParentsChange) {\n return;\n }\n for (let i = frame.offset; i < frame.child.parents.length; i++) {\n const p = frame.child.parents[i];\n const parentWasRemoved = frame.child.parents.indexOf(p) >= frame.offset;\n if (parentWasRemoved) {\n detach(p, frame.child);\n }\n }\n frame.child.parents.length = frame.offset;\n frame.child.parentEpochs.length = frame.offset;\n if (stack?.maybeRemoved) {\n for (let i = 0; i < stack.maybeRemoved.length; i++) {\n const maybeRemovedParent = stack.maybeRemoved[i];\n if (frame.child.parents.indexOf(maybeRemovedParent) === -1) {\n detach(maybeRemovedParent, frame.child);\n }\n }\n }\n}\nfunction maybeCaptureParent(p) {\n if (stack) {\n const idx = stack.child.parents.indexOf(p);\n if (idx < 0) {\n stack.numNewParents++;\n if (stack.child.isActivelyListening) {\n attach(p, stack.child);\n }\n }\n if (idx < 0 || idx >= stack.offset) {\n if (idx !== stack.offset && idx > 0) {\n const maybeRemovedParent = stack.child.parents[stack.offset];\n if (!stack.maybeRemoved) {\n stack.maybeRemoved = [maybeRemovedParent];\n } else if (stack.maybeRemoved.indexOf(maybeRemovedParent) === -1) {\n stack.maybeRemoved.push(maybeRemovedParent);\n }\n }\n stack.child.parents[stack.offset] = p;\n stack.child.parentEpochs[stack.offset] = p.lastChangedEpoch;\n stack.offset++;\n }\n }\n}\nfunction whyAmIRunning() {\n const child = stack?.child;\n if (!child) {\n throw new Error(\"whyAmIRunning() called outside of a reactive context\");\n }\n const changedParents = [];\n for (let i = 0; i < child.parents.length; i++) {\n const parent = child.parents[i];\n if (parent.lastChangedEpoch > child.parentEpochs[i]) {\n changedParents.push(parent);\n }\n }\n if (changedParents.length === 0) {\n console.log(child.name, \"is running but none of the parents changed\");\n } else {\n console.log(child.name, \"is running because:\");\n for (const changedParent of changedParents) {\n console.log(\n \"\t\",\n changedParent.name,\n \"changed =>\",\n changedParent.__unsafe__getWithoutCapture()\n );\n }\n }\n}\nexport {\n maybeCaptureParent,\n startCapturingParents,\n stopCapturingParents,\n unsafe__withoutCapture,\n whyAmIRunning\n};\n//# sourceMappingURL=capture.mjs.map\n","const GLOBAL_START_EPOCH = -1;\nexport {\n GLOBAL_START_EPOCH\n};\n//# sourceMappingURL=constants.mjs.map\n","import { GLOBAL_START_EPOCH } from \"./constants.mjs\";\nlet globalEpoch = GLOBAL_START_EPOCH + 1;\nlet globalIsReacting = false;\nfunction advanceGlobalEpoch() {\n globalEpoch++;\n}\nclass Transaction {\n constructor(parent) {\n this.parent = parent;\n }\n initialAtomValues = /* @__PURE__ */ new Map();\n /**\n * Get whether this transaction is a root (no parents).\n *\n * @public\n */\n // eslint-disable-next-line no-restricted-syntax\n get isRoot() {\n return this.parent === null;\n }\n /**\n * Commit the transaction's changes.\n *\n * @public\n */\n commit() {\n if (this.isRoot) {\n const atoms = this.initialAtomValues;\n this.initialAtomValues = /* @__PURE__ */ new Map();\n flushChanges(atoms.keys());\n } else {\n this.initialAtomValues.forEach((value, atom) => {\n if (!this.parent.initialAtomValues.has(atom)) {\n this.parent.initialAtomValues.set(atom, value);\n }\n });\n }\n }\n /**\n * Abort the transaction.\n *\n * @public\n */\n abort() {\n globalEpoch++;\n this.initialAtomValues.forEach((value, atom) => {\n atom.set(value);\n atom.historyBuffer?.clear();\n });\n this.commit();\n }\n}\nfunction flushChanges(atoms) {\n if (globalIsReacting) {\n throw new Error(\"cannot change atoms during reaction cycle\");\n }\n try {\n globalIsReacting = true;\n const reactors = /* @__PURE__ */ new Set();\n const traverse = (node) => {\n if (node.lastTraversedEpoch === globalEpoch) {\n return;\n }\n node.lastTraversedEpoch = globalEpoch;\n if (\"maybeScheduleEffect\" in node) {\n reactors.add(node);\n } else {\n ;\n node.children.visit(traverse);\n }\n };\n for (const atom of atoms) {\n atom.children.visit(traverse);\n }\n for (const r of reactors) {\n r.maybeScheduleEffect();\n }\n } finally {\n globalIsReacting = false;\n }\n}\nfunction atomDidChange(atom, previousValue) {\n if (!currentTransaction) {\n flushChanges([atom]);\n } else if (!currentTransaction.initialAtomValues.has(atom)) {\n currentTransaction.initialAtomValues.set(atom, previousValue);\n }\n}\nlet currentTransaction = null;\nfunction transaction(fn) {\n const txn = new Transaction(currentTransaction);\n currentTransaction = txn;\n try {\n let rollback = false;\n const result = fn(() => rollback = true);\n if (rollback) {\n txn.abort();\n } else {\n txn.commit();\n }\n return result;\n } catch (e) {\n txn.abort();\n throw e;\n } finally {\n currentTransaction = currentTransaction.parent;\n }\n}\nfunction transact(fn) {\n if (currentTransaction) {\n return fn();\n }\n return transaction(fn);\n}\nexport {\n advanceGlobalEpoch,\n atomDidChange,\n currentTransaction,\n globalEpoch,\n transact,\n transaction\n};\n//# sourceMappingURL=transactions.mjs.map\n","let didWarnDotValue = false;\nfunction logDotValueWarning() {\n if (didWarnDotValue)\n return;\n didWarnDotValue = true;\n console.warn(\n \"Using Signal.value is deprecated and will be removed in the near future. Please use Signal.get() instead.\"\n );\n}\nlet didWarnComputedGetter = false;\nfunction logComputedGetterWarning() {\n if (didWarnComputedGetter)\n return;\n didWarnComputedGetter = true;\n console.warn(\n `Using \\`@computed\\` as a decorator for getters is deprecated and will be removed in the near future. Please refactor to use \\`@computed\\` as a decorator for methods.\n\n// Before\n@computed\nget foo() {\n\treturn 'foo'\n}\n\n// After\n@computed\ngetFoo() {\n\treturn 'foo'\n}\n`\n );\n}\nexport {\n logComputedGetterWarning,\n logDotValueWarning\n};\n//# sourceMappingURL=warnings.mjs.map\n","import { ArraySet } from \"./ArraySet.mjs\";\nimport { HistoryBuffer } from \"./HistoryBuffer.mjs\";\nimport { maybeCaptureParent, startCapturingParents, stopCapturingParents } from \"./capture.mjs\";\nimport { GLOBAL_START_EPOCH } from \"./constants.mjs\";\nimport { EMPTY_ARRAY, equals, haveParentsChanged } from \"./helpers.mjs\";\nimport { globalEpoch } from \"./transactions.mjs\";\nimport { RESET_VALUE } from \"./types.mjs\";\nimport { logComputedGetterWarning, logDotValueWarning } from \"./warnings.mjs\";\nconst UNINITIALIZED = Symbol(\"UNINITIALIZED\");\nconst isUninitialized = (value) => {\n return value === UNINITIALIZED;\n};\nclass WithDiff {\n constructor(value, diff) {\n this.value = value;\n this.diff = diff;\n }\n}\nfunction withDiff(value, diff) {\n return new WithDiff(value, diff);\n}\nclass _Computed {\n constructor(name, derive, options) {\n this.name = name;\n this.derive = derive;\n if (options?.historyLength) {\n this.historyBuffer = new HistoryBuffer(options.historyLength);\n }\n this.computeDiff = options?.computeDiff;\n this.isEqual = options?.isEqual ?? equals;\n }\n lastChangedEpoch = GLOBAL_START_EPOCH;\n lastTraversedEpoch = GLOBAL_START_EPOCH;\n /**\n * The epoch when the reactor was last checked.\n */\n lastCheckedEpoch = GLOBAL_START_EPOCH;\n parents = [];\n parentEpochs = [];\n children = new ArraySet();\n // eslint-disable-next-line no-restricted-syntax\n get isActivelyListening() {\n return !this.children.isEmpty;\n }\n historyBuffer;\n // The last-computed value of this signal.\n state = UNINITIALIZED;\n computeDiff;\n isEqual;\n __unsafe__getWithoutCapture() {\n const isNew = this.lastChangedEpoch === GLOBAL_START_EPOCH;\n if (!isNew && (this.lastCheckedEpoch === globalEpoch || !haveParentsChanged(this))) {\n this.lastCheckedEpoch = globalEpoch;\n return this.state;\n }\n try {\n startCapturingParents(this);\n const result = this.derive(this.state, this.lastCheckedEpoch);\n const newState = result instanceof WithDiff ? result.value : result;\n if (this.state === UNINITIALIZED || !this.isEqual(newState, this.state)) {\n if (this.historyBuffer && !isNew) {\n const diff = result instanceof WithDiff ? result.diff : void 0;\n this.historyBuffer.pushEntry(\n this.lastChangedEpoch,\n globalEpoch,\n diff ?? this.computeDiff?.(this.state, newState, this.lastCheckedEpoch, globalEpoch) ?? RESET_VALUE\n );\n }\n this.lastChangedEpoch = globalEpoch;\n this.state = newState;\n }\n this.lastCheckedEpoch = globalEpoch;\n return this.state;\n } finally {\n stopCapturingParents();\n }\n }\n get() {\n const value = this.__unsafe__getWithoutCapture();\n maybeCaptureParent(this);\n return value;\n }\n /**\n * @deprecated Use [[get]] instead.\n */\n // eslint-disable-next-line no-restricted-syntax\n get value() {\n logDotValueWarning();\n return this.get();\n }\n getDiffSince(epoch) {\n this.get();\n if (epoch >= this.lastChangedEpoch) {\n return EMPTY_ARRAY;\n }\n return this.historyBuffer?.getChangesSince(epoch) ?? RESET_VALUE;\n }\n}\nfunction computedMethodAnnotation(options = {}, _target, key, descriptor) {\n const originalMethod = descriptor.value;\n const derivationKey = Symbol.for(\"__@tldraw/state__computed__\" + key);\n descriptor.value = function() {\n let d = this[derivationKey];\n if (!d) {\n d = new _Computed(key, originalMethod.bind(this), options);\n Object.defineProperty(this, derivationKey, {\n enumerable: false,\n configurable: false,\n writable: false,\n value: d\n });\n }\n return d.get();\n };\n descriptor.value[isComputedMethodKey] = true;\n return descriptor;\n}\nfunction computedAnnotation(options = {}, _target, key, descriptor) {\n if (descriptor.get) {\n logComputedGetterWarning();\n return computedGetterAnnotation(options, _target, key, descriptor);\n } else {\n return computedMethodAnnotation(options, _target, key, descriptor);\n }\n}\nfunction computedGetterAnnotation(options = {}, _target, key, descriptor) {\n const originalMethod = descriptor.get;\n const derivationKey = Symbol.for(\"__@tldraw/state__computed__\" + key);\n descriptor.get = function() {\n let d = this[derivationKey];\n if (!d) {\n d = new _Computed(key, originalMethod.bind(this), options);\n Object.defineProperty(this, derivationKey, {\n enumerable: false,\n configurable: false,\n writable: false,\n value: d\n });\n }\n return d.get();\n };\n return descriptor;\n}\nconst isComputedMethodKey = \"@@__isComputedMethod__@@\";\nfunction getComputedInstance(obj, propertyName) {\n const key = Symbol.for(\"__@tldraw/state__computed__\" + propertyName.toString());\n let inst = obj[key];\n if (!inst) {\n const val = obj[propertyName];\n if (typeof val === \"function\" && val[isComputedMethodKey]) {\n val.call(obj);\n }\n inst = obj[key];\n }\n return inst;\n}\nfunction computed() {\n if (arguments.length === 1) {\n const options = arguments[0];\n return (target, key, descriptor) => computedAnnotation(options, target, key, descriptor);\n } else if (typeof arguments[0] === \"string\") {\n return new _Computed(arguments[0], arguments[1], arguments[2]);\n } else {\n return computedAnnotation(void 0, arguments[0], arguments[1], arguments[2]);\n }\n}\nfunction isComputed(value) {\n return value && value instanceof _Computed;\n}\nexport {\n _Computed,\n computed,\n getComputedInstance,\n isComputed,\n isUninitialized,\n withDiff\n};\n//# sourceMappingURL=Computed.mjs.map\n","import { startCapturingParents, stopCapturingParents } from \"./capture.mjs\";\nimport { GLOBAL_START_EPOCH } from \"./constants.mjs\";\nimport { attach, detach, haveParentsChanged } from \"./helpers.mjs\";\nimport { globalEpoch } from \"./transactions.mjs\";\nclass EffectScheduler {\n constructor(name, runEffect, options) {\n this.name = name;\n this.runEffect = runEffect;\n this._scheduleEffect = options?.scheduleEffect;\n }\n _isActivelyListening = false;\n /**\n * Whether this scheduler is attached and actively listening to its parents.\n * @public\n */\n // eslint-disable-next-line no-restricted-syntax\n get isActivelyListening() {\n return this._isActivelyListening;\n }\n /** @internal */\n lastTraversedEpoch = GLOBAL_START_EPOCH;\n lastReactedEpoch = GLOBAL_START_EPOCH;\n _scheduleCount = 0;\n /**\n * The number of times this effect has been scheduled.\n * @public\n */\n // eslint-disable-next-line no-restricted-syntax\n get scheduleCount() {\n return this._scheduleCount;\n }\n /** @internal */\n parentEpochs = [];\n /** @internal */\n parents = [];\n _scheduleEffect;\n /** @internal */\n maybeScheduleEffect() {\n if (!this._isActivelyListening)\n return;\n if (this.lastReactedEpoch === globalEpoch)\n return;\n if (this.parents.length && !haveParentsChanged(this)) {\n this.lastReactedEpoch = globalEpoch;\n return;\n }\n this.scheduleEffect();\n }\n /** @internal */\n scheduleEffect() {\n this._scheduleCount++;\n if (this._scheduleEffect) {\n this._scheduleEffect(this.maybeExecute);\n } else {\n this.execute();\n }\n }\n maybeExecute = () => {\n if (!this._isActivelyListening)\n return;\n this.execute();\n };\n /**\n * Makes this scheduler become 'actively listening' to its parents.\n * If it has been executed before it will immediately become eligible to receive 'maybeScheduleEffect' calls.\n * If it has not executed before it will need to be manually executed once to become eligible for scheduling, i.e. by calling [[EffectScheduler.execute]].\n * @public\n */\n attach() {\n this._isActivelyListening = true;\n for (let i = 0, n = this.parents.length; i < n; i++) {\n attach(this.parents[i], this);\n }\n }\n /**\n * Makes this scheduler stop 'actively listening' to its parents.\n * It will no longer be eligible to receive 'maybeScheduleEffect' calls until [[EffectScheduler.attach]] is called again.\n */\n detach() {\n this._isActivelyListening = false;\n for (let i = 0, n = this.parents.length; i < n; i++) {\n detach(this.parents[i], this);\n }\n }\n /**\n * Executes the effect immediately and returns the result.\n * @returns The result of the effect.\n */\n execute() {\n try {\n startCapturingParents(this);\n const result = this.runEffect(this.lastReactedEpoch);\n this.lastReactedEpoch = globalEpoch;\n return result;\n } finally {\n stopCapturingParents();\n }\n }\n}\nfunction react(name, fn, options) {\n const scheduler = new EffectScheduler(name, fn, options);\n scheduler.attach();\n scheduler.scheduleEffect();\n return () => {\n scheduler.detach();\n };\n}\nfunction reactor(name, fn, options) {\n const scheduler = new EffectScheduler(name, fn, options);\n return {\n scheduler,\n start: (options2) => {\n const force = options2?.force ?? false;\n scheduler.attach();\n if (force) {\n scheduler.scheduleEffect();\n } else {\n scheduler.maybeScheduleEffect();\n }\n },\n stop: () => {\n scheduler.detach();\n }\n };\n}\nexport {\n EffectScheduler,\n react,\n reactor\n};\n//# sourceMappingURL=EffectScheduler.mjs.map\n","import { useMemo, useRef, useSyncExternalStore } from \"react\";\nimport { computed, react } from \"../core/index.mjs\";\nfunction useValue() {\n const args = arguments;\n const deps = args.length === 3 ? args[2] : [args[0]];\n const name = args.length === 3 ? args[0] : `useValue(${args[0].name})`;\n const isInRender = useRef(true);\n isInRender.current = true;\n const $val = useMemo(() => {\n if (args.length === 1) {\n return args[0];\n }\n return computed(name, () => {\n if (isInRender.current) {\n return args[1]();\n } else {\n try {\n return args[1]();\n } catch {\n return {};\n }\n }\n });\n }, deps);\n try {\n const { subscribe, getSnapshot } = useMemo(() => {\n return {\n subscribe: (listen) => {\n return react(`useValue(${name})`, () => {\n $val.get();\n listen();\n });\n },\n getSnapshot: () => $val.get()\n };\n }, [$val]);\n return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n } finally {\n isInRender.current = false;\n }\n}\nexport {\n useValue\n};\n//# sourceMappingURL=useValue.mjs.map\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n",null,null,null,null,null,null,null,null,null,null],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","SuppressedError","ArraySet","arraySize","array","Array","set","isEmpty","this","size","Error","add","elem","indexOf","Set","has","remove","idx","delete","visit","visitor","i","forEach","RESET_VALUE","Symbol","HistoryBuffer","constructor","capacity","buffer","index","pushEntry","lastComputedEpoch","currentEpoch","diff","clear","fill","getChangesSince","sinceEpoch","offset","fromEpoch","toEpoch","len","j","isChild","x","haveParentsChanged","child","n","parents","length","__unsafe__getWithoutCapture","lastChangedEpoch","parentEpochs","detach","parent","children","attach","equals","a","b","Object","is","Boolean","EMPTY_ARRAY","freeze","tldrawStateGlobalKey","for","tldrawStateGlobal","globalThis","console","error","CaptureStackFrame","below","numNewParents","maybeRemoved","stack","startCapturingParents","stopCapturingParents","frame","p","maybeRemovedParent","GLOBAL_START_EPOCH","didWarnDotValue","didWarnComputedGetter","UNINITIALIZED","WithDiff","_Computed","name","derive","options","historyLength","historyBuffer","computeDiff","isEqual","lastTraversedEpoch","lastCheckedEpoch","isActivelyListening","state","isNew","newState","get","push","maybeCaptureParent","warn","getDiffSince","epoch","computedAnnotation","_target","key","descriptor","originalMethod","derivationKey","d","bind","defineProperty","enumerable","configurable","writable","computedGetterAnnotation","isComputedMethodKey","computedMethodAnnotation","EffectScheduler","runEffect","_scheduleEffect","scheduleEffect","_isActivelyListening","lastReactedEpoch","_scheduleCount","scheduleCount","maybeScheduleEffect","maybeExecute","execute","useValue","args","arguments","deps","isInRender","useRef","current","$val","useMemo","target","computed","subscribe","getSnapshot","listen","fn","scheduler","react","useSyncExternalStore","hasOwn","hasOwnProperty","classNames","classes","arg","appendClass","parseValue","isArray","toString","prototype","includes","call","newClass","module","exports","default","window","ErrorFallback","editor","refresh","containerRef","shouldShowError","setShouldShowError","useState","process","env","NODE_ENV","didCopy","setDidCopy","shouldShowResetConfirmation","setShouldShowResetConfirmation","errorMessage","message","String","errorStack","useEffect","isDarkModeFromApp","user","getIsDarkMode","_a","setIsDarkMode","useLayoutEffect","parentElement","foundParentThemeClass","classList","contains","matchMedia","matches","timeout","setTimeout","clearTimeout","React","createElement","ref","className","style","position","Fragment","onClick","href","textarea","document","body","appendChild","select","execCommand","DEFAULT_STORE","store","gridSize","meta","id","typeName","y","lastActivityTimestamp","z","editingShapeId","croppingShapeId","selectedShapeIds","hoveredShapeId","erasingShapeIds","hintingShapeIds","focusedGroupId","pageId","followingUserId","opacityForNextShape","stylesForNextShape","brush","scribble","cursor","type","rotation","isFocusMode","exportBackground","isDebugMode","isToolLocked","screenBounds","w","h","zoomBrush","isGridMode","isPenMode","chatMessage","isChatting","highlightedUserIds","canMoveCamera","isFocused","devicePixelRatio","isCoarsePointer","isHoveringCanvas","openMenus","isChangingStyle","isReadonly","currentPageId","schema","schemaVersion","storeVersion","recordVersions","asset","version","subTypeKey","subTypeVersions","image","video","bookmark","camera","instance","instance_page_state","page","shape","group","text","draw","geo","note","line","arrow","highlight","embed","instance_presence","pointer","Value_Type","HelloRequest$Type","MessageType","super","no","kind","T","create","messagePrototype","reflectionMergePartial","internalBinaryRead","reader","end","pos","fieldNo","wireType","tag","string","u","readUnknownField","skip","UnknownFieldHandler","onRead","internalBinaryWrite","writer","WireType","LengthDelimited","writeUnknownFields","onWrite","HelloRequest","HelloResponse$Type","response","HelloResponse","SubscribeRequest$Type","int64","Varint","SubscribeRequest","Event$Type","sequence","Event","Value$Type","oneof","data","oneofKind","int32","number","float","str","rawBytes","bytes","Bit32","Value","GetRequest$Type","GetRequest","GetResponse$Type","namespace","uint32","fork","join","GetResponse","DeleteRequest$Type","DeleteRequest","DeleteResponse$Type","DeleteResponse","SetRequest$Type","SetRequest","SetResponse$Type","SetResponse","ChangeStream$Type","changeId","fromId","ChangeStream","Select$Type","match","all","prefix","suffix","Select","OpenRequest$Type","repeat","OpenRequest","CountRequest$Type","CountRequest","CountResponse$Type","count","CountResponse","ServiceType","I","O","serverStreaming","Store","StoreClient","_transport","methods","open","input","method","opt","mergeOptions","stackIntercept","RETRY_ERROR_MESSAGES","SessionStore","endpoint","token","transport","GrpcWebFetchTransport","baseUrl","Authorization","storeClient","handleOpen","handleChange","handleError","abortController","AbortController","abort","signal","initialValues","responses","onMessage","record","JSON","parse","onError","canRecover","toLowerCase","shouldRetryInstantly","openCallback","removeEventListener","addEventListener","getKeysCountWithDelay","valueStr","stringify","STRING","NONE","getKeysCount","Number","MAX_RETRIES","decodeJWT","parts","split","payloadStr","atob","err","CURRENT_PAGE_KEY","SHAPES_THROTTLE_TIME","PAGES_DEBOUNCE_TIME","useSessionStore","sessionStore","useSetEditorPermissions","zoomToContent","permissions","updateInstanceState","FULL_SYNC_REQUIRED_RECORD_TYPES","CollaborativeEditor","transparentCanvas","onMount","setEditor","shapeUtils","createTLStore","defaultShapeUtils","loadSnapshot","currentPage","setCurrentPage","getCurrentPage","storeWithStatus","setStoreWithStatus","status","useCallback","isTerminal","connectionStatus","initialRecords","every","filter","mergeRemoteChanges","put","allRecords","transact","TLINSTANCE_ID","assign","unsubs","unsub","throttle","changes","values","added","updated","removed","source","scope","debounce","keys","newPage","getInstanceState","zoomToFit","useCollaboration","Tldraw","autoFocus","components","hideUi","initialState","_b","props","setKey","Date","now"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../../node_modules/classnames/index.js","../src/ErrorFallback.tsx","../src/hooks/default_store.ts","../src/grpc/sessionstore.ts","../src/grpc/sessionstore.client.ts","../src/hooks/StoreClient.ts","../src/utils.ts","../src/hooks/useSessionStore.ts","../src/hooks/useSetEditorPermissions.tsx","../src/hooks/useCollaboration.ts","../src/Whiteboard.tsx"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n",null,null,null,null,null,null,null,null,null,null],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","SuppressedError","hasOwn","hasOwnProperty","classNames","classes","i","arguments","length","arg","appendClass","parseValue","Array","isArray","toString","Object","prototype","includes","key","call","newClass","module","exports","default","window","ErrorFallback","error","editor","refresh","containerRef","useRef","shouldShowError","setShouldShowError","useState","process","env","NODE_ENV","didCopy","setDidCopy","shouldShowResetConfirmation","setShouldShowResetConfirmation","errorMessage","Error","message","String","errorStack","stack","useEffect","console","isDarkModeFromApp","useValue","user","getIsDarkMode","_a","setIsDarkMode","useLayoutEffect","parent","current","parentElement","foundParentThemeClass","classList","contains","matchMedia","matches","timeout","setTimeout","clearTimeout","React","createElement","ref","className","style","position","Fragment","onClick","href","textarea","document","body","appendChild","select","execCommand","remove","DEFAULT_STORE","store","gridSize","name","meta","id","typeName","x","y","lastActivityTimestamp","index","z","editingShapeId","croppingShapeId","selectedShapeIds","hoveredShapeId","erasingShapeIds","hintingShapeIds","focusedGroupId","pageId","followingUserId","opacityForNextShape","stylesForNextShape","brush","scribble","cursor","type","rotation","isFocusMode","exportBackground","isDebugMode","isToolLocked","screenBounds","w","h","zoomBrush","isGridMode","isPenMode","chatMessage","isChatting","highlightedUserIds","canMoveCamera","isFocused","devicePixelRatio","isCoarsePointer","isHoveringCanvas","openMenus","isChangingStyle","isReadonly","currentPageId","schema","schemaVersion","storeVersion","recordVersions","asset","version","subTypeKey","subTypeVersions","image","video","bookmark","camera","instance","instance_page_state","page","shape","group","text","draw","geo","note","line","frame","arrow","highlight","embed","instance_presence","pointer","Value_Type","HelloRequest$Type","MessageType","constructor","super","no","kind","T","create","globalThis","this","messagePrototype","reflectionMergePartial","internalBinaryRead","reader","options","target","end","pos","fieldNo","wireType","tag","string","u","readUnknownField","d","skip","UnknownFieldHandler","onRead","internalBinaryWrite","writer","WireType","LengthDelimited","writeUnknownFields","onWrite","HelloRequest","HelloResponse$Type","response","HelloResponse","SubscribeRequest$Type","offset","int64","Varint","SubscribeRequest","Event$Type","sequence","Event","Value$Type","oneof","data","oneofKind","int32","number","float","str","rawBytes","bytes","Bit32","Value","GetRequest$Type","GetRequest","GetResponse$Type","namespace","uint32","fork","join","GetResponse","DeleteRequest$Type","DeleteRequest","DeleteResponse$Type","DeleteResponse","SetRequest$Type","SetRequest","SetResponse$Type","SetResponse","ChangeStream$Type","changeId","fromId","ChangeStream","Select$Type","match","all","prefix","suffix","Select","OpenRequest$Type","repeat","push","OpenRequest","CountRequest$Type","CountRequest","CountResponse$Type","count","CountResponse","ServiceType","I","O","serverStreaming","Store","StoreClient","_transport","methods","open","input","method","opt","mergeOptions","stackIntercept","get","set","RETRY_ERROR_MESSAGES","SessionStore","endpoint","token","transport","GrpcWebFetchTransport","baseUrl","Authorization","storeClient","handleOpen","handleChange","handleError","abortController","AbortController","abort","signal","initialValues","responses","onMessage","record","JSON","parse","onError","canRecover","toLowerCase","shouldRetryInstantly","openCallback","removeEventListener","addEventListener","getKeysCountWithDelay","valueStr","stringify","STRING","NONE","getKeysCount","Number","delete","warn","MAX_RETRIES","decodeJWT","parts","split","payloadStr","atob","err","CURRENT_PAGE_KEY","SHAPES_THROTTLE_TIME","PAGES_DEBOUNCE_TIME","useSessionStore","useMemo","sessionStore","useSetEditorPermissions","zoomToContent","permissions","updateInstanceState","FULL_SYNC_REQUIRED_RECORD_TYPES","CollaborativeEditor","transparentCanvas","onMount","setEditor","shapeUtils","createTLStore","defaultShapeUtils","loadSnapshot","currentPage","setCurrentPage","getCurrentPage","storeWithStatus","setStoreWithStatus","status","useCallback","isTerminal","connectionStatus","initialRecords","every","filter","mergeRemoteChanges","clear","put","allRecords","transact","TLINSTANCE_ID","assign","unsubs","unsub","listen","throttle","changes","values","added","forEach","updated","removed","source","scope","fn","debounce","keys","newPage","getInstanceState","zoomToFit","useCollaboration","Tldraw","autoFocus","components","hideUi","initialState","_b","props","setKey","Date","now"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@100mslive/hms-whiteboard",
|
|
3
3
|
"author": "100ms",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "0.1.
|
|
5
|
+
"version": "0.1.2-alpha.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/100mslive/web-sdks.git",
|
|
@@ -73,5 +73,5 @@
|
|
|
73
73
|
"conferencing",
|
|
74
74
|
"100ms"
|
|
75
75
|
],
|
|
76
|
-
"gitHead": "
|
|
76
|
+
"gitHead": "556498a68b1a4da268e92097f44eae4a223fbf35"
|
|
77
77
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const r=8;class t{arraySize=0;array=Array(8);set=null;get isEmpty(){if(this.array)return 0===this.arraySize;if(this.set)return 0===this.set.size;throw new Error("no set or array")}add(r){if(this.array){return-1===this.array.indexOf(r)&&(this.arraySize<8?(this.array[this.arraySize]=r,this.arraySize++,!0):(this.set=new Set(this.array),this.array=null,this.set.add(r),!0))}if(this.set)return!this.set.has(r)&&(this.set.add(r),!0);throw new Error("no set or array")}remove(r){if(this.array){const t=this.array.indexOf(r);return-1!==t&&(this.array[t]=void 0,this.arraySize--,t!==this.arraySize&&(this.array[t]=this.array[this.arraySize],this.array[this.arraySize]=void 0),!0)}if(this.set)return!!this.set.has(r)&&(this.set.delete(r),!0);throw new Error("no set or array")}visit(r){if(this.array)for(let t=0;t<this.arraySize;t++){const a=this.array[t];void 0!==a&&r(a)}else{if(!this.set)throw new Error("no set or array");this.set.forEach(r)}}}export{r as ARRAY_SIZE_THRESHOLD,t as ArraySet};
|
|
2
|
-
//# sourceMappingURL=ArraySet.mjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ArraySet.mjs.js","sources":["../../../../../../../../../node_modules/@tldraw/state/dist-esm/lib/core/ArraySet.mjs"],"sourcesContent":["const ARRAY_SIZE_THRESHOLD = 8;\nclass ArraySet {\n arraySize = 0;\n array = Array(ARRAY_SIZE_THRESHOLD);\n set = null;\n /**\n * Get whether this ArraySet has any elements.\n *\n * @returns True if this ArraySet has any elements, false otherwise.\n */\n // eslint-disable-next-line no-restricted-syntax\n get isEmpty() {\n if (this.array) {\n return this.arraySize === 0;\n }\n if (this.set) {\n return this.set.size === 0;\n }\n throw new Error(\"no set or array\");\n }\n /**\n * Add an item to the ArraySet if it is not already present.\n *\n * @param elem - The element to add.\n */\n add(elem) {\n if (this.array) {\n const idx = this.array.indexOf(elem);\n if (idx !== -1) {\n return false;\n }\n if (this.arraySize < ARRAY_SIZE_THRESHOLD) {\n this.array[this.arraySize] = elem;\n this.arraySize++;\n return true;\n } else {\n this.set = new Set(this.array);\n this.array = null;\n this.set.add(elem);\n return true;\n }\n }\n if (this.set) {\n if (this.set.has(elem)) {\n return false;\n }\n this.set.add(elem);\n return true;\n }\n throw new Error(\"no set or array\");\n }\n /**\n * Remove an item from the ArraySet if it is present.\n *\n * @param elem - The element to remove\n */\n remove(elem) {\n if (this.array) {\n const idx = this.array.indexOf(elem);\n if (idx === -1) {\n return false;\n }\n this.array[idx] = void 0;\n this.arraySize--;\n if (idx !== this.arraySize) {\n this.array[idx] = this.array[this.arraySize];\n this.array[this.arraySize] = void 0;\n }\n return true;\n }\n if (this.set) {\n if (!this.set.has(elem)) {\n return false;\n }\n this.set.delete(elem);\n return true;\n }\n throw new Error(\"no set or array\");\n }\n /**\n * Run a callback for each element in the ArraySet.\n *\n * @param visitor - The callback to run for each element.\n */\n visit(visitor) {\n if (this.array) {\n for (let i = 0; i < this.arraySize; i++) {\n const elem = this.array[i];\n if (typeof elem !== \"undefined\") {\n visitor(elem);\n }\n }\n return;\n }\n if (this.set) {\n this.set.forEach(visitor);\n return;\n }\n throw new Error(\"no set or array\");\n }\n}\nexport {\n ARRAY_SIZE_THRESHOLD,\n ArraySet\n};\n//# sourceMappingURL=ArraySet.mjs.map\n"],"names":["ARRAY_SIZE_THRESHOLD","ArraySet","arraySize","array","Array","set","isEmpty","this","size","Error","add","elem","indexOf","Set","has","remove","idx","delete","visit","visitor","i","forEach"],"mappings":"AAAK,MAACA,EAAuB,EAC7B,MAAMC,EACJC,UAAY,EACZC,MAAQC,MAHmB,GAI3BC,IAAM,KAON,WAAIC,GACF,GAAIC,KAAKJ,MACP,OAA0B,IAAnBI,KAAKL,UAEd,GAAIK,KAAKF,IACP,OAAyB,IAAlBE,KAAKF,IAAIG,KAElB,MAAM,IAAIC,MAAM,kBACjB,CAMD,GAAAC,CAAIC,GACF,GAAIJ,KAAKJ,MAAO,CAEd,OAAa,IADDI,KAAKJ,MAAMS,QAAQD,KAI3BJ,KAAKL,UA/Bc,GAgCrBK,KAAKJ,MAAMI,KAAKL,WAAaS,EAC7BJ,KAAKL,aACE,IAEPK,KAAKF,IAAM,IAAIQ,IAAIN,KAAKJ,OACxBI,KAAKJ,MAAQ,KACbI,KAAKF,IAAIK,IAAIC,IACN,GAEV,CACD,GAAIJ,KAAKF,IACP,OAAIE,KAAKF,IAAIS,IAAIH,KAGjBJ,KAAKF,IAAIK,IAAIC,IACN,GAET,MAAM,IAAIF,MAAM,kBACjB,CAMD,MAAAM,CAAOJ,GACL,GAAIJ,KAAKJ,MAAO,CACd,MAAMa,EAAMT,KAAKJ,MAAMS,QAAQD,GAC/B,OAAa,IAATK,IAGJT,KAAKJ,MAAMa,QAAO,EAClBT,KAAKL,YACDc,IAAQT,KAAKL,YACfK,KAAKJ,MAAMa,GAAOT,KAAKJ,MAAMI,KAAKL,WAClCK,KAAKJ,MAAMI,KAAKL,gBAAa,IAExB,EACR,CACD,GAAIK,KAAKF,IACP,QAAKE,KAAKF,IAAIS,IAAIH,KAGlBJ,KAAKF,IAAIY,OAAON,IACT,GAET,MAAM,IAAIF,MAAM,kBACjB,CAMD,KAAAS,CAAMC,GACJ,GAAIZ,KAAKJ,MACP,IAAK,IAAIiB,EAAI,EAAGA,EAAIb,KAAKL,UAAWkB,IAAK,CACvC,MAAMT,EAAOJ,KAAKJ,MAAMiB,QACJ,IAATT,GACTQ,EAAQR,EAEX,KANH,CASA,IAAIJ,KAAKF,IAIT,MAAM,IAAII,MAAM,mBAHdF,KAAKF,IAAIgB,QAAQF,EAFlB,CAMF"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{ArraySet as t}from"./ArraySet.mjs.js";import{HistoryBuffer as e}from"./HistoryBuffer.mjs.js";import{startCapturingParents as s,stopCapturingParents as i,maybeCaptureParent as r}from"./capture.mjs.js";import{GLOBAL_START_EPOCH as h}from"./constants.mjs.js";import{equals as o,haveParentsChanged as n,EMPTY_ARRAY as a}from"./helpers.mjs.js";import{globalEpoch as c}from"./transactions.mjs.js";import{RESET_VALUE as u}from"./types.mjs.js";import{logDotValueWarning as f,logComputedGetterWarning as l}from"./warnings.mjs.js";const p=Symbol("UNINITIALIZED");class m{constructor(t,e){this.value=t,this.diff=e}}class d{constructor(t,s,i){this.name=t,this.derive=s,i?.historyLength&&(this.historyBuffer=new e(i.historyLength)),this.computeDiff=i?.computeDiff,this.isEqual=i?.isEqual??o}lastChangedEpoch=h;lastTraversedEpoch=h;lastCheckedEpoch=h;parents=[];parentEpochs=[];children=new t;get isActivelyListening(){return!this.children.isEmpty}historyBuffer;state=p;computeDiff;isEqual;__unsafe__getWithoutCapture(){const t=this.lastChangedEpoch===h;if(!(t||this.lastCheckedEpoch!==c&&n(this)))return this.lastCheckedEpoch=c,this.state;try{s(this);const e=this.derive(this.state,this.lastCheckedEpoch),i=e instanceof m?e.value:e;if(this.state===p||!this.isEqual(i,this.state)){if(this.historyBuffer&&!t){const t=e instanceof m?e.diff:void 0;this.historyBuffer.pushEntry(this.lastChangedEpoch,c,t??this.computeDiff?.(this.state,i,this.lastCheckedEpoch,c)??u)}this.lastChangedEpoch=c,this.state=i}return this.lastCheckedEpoch=c,this.state}finally{i()}}get(){const t=this.__unsafe__getWithoutCapture();return r(this),t}get value(){return f(),this.get()}getDiffSince(t){return this.get(),t>=this.lastChangedEpoch?a:this.historyBuffer?.getChangesSince(t)??u}}function g(t={},e,s,i){return i.get?(l(),function(t={},e,s,i){const r=i.get,h=Symbol.for("__@tldraw/state__computed__"+s);return i.get=function(){let e=this[h];return e||(e=new d(s,r.bind(this),t),Object.defineProperty(this,h,{enumerable:!1,configurable:!1,writable:!1,value:e})),e.get()},i}(t,0,s,i)):function(t={},e,s,i){const r=i.value,h=Symbol.for("__@tldraw/state__computed__"+s);return i.value=function(){let e=this[h];return e||(e=new d(s,r.bind(this),t),Object.defineProperty(this,h,{enumerable:!1,configurable:!1,writable:!1,value:e})),e.get()},i.value[_]=!0,i}(t,0,s,i)}const _="@@__isComputedMethod__@@";function y(){if(1===arguments.length){const t=arguments[0];return(e,s,i)=>g(t,0,s,i)}return"string"==typeof arguments[0]?new d(arguments[0],arguments[1],arguments[2]):g(void 0,0,arguments[1],arguments[2])}export{d as _Computed,y as computed};
|
|
2
|
-
//# sourceMappingURL=Computed.mjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Computed.mjs.js","sources":["../../../../../../../../../node_modules/@tldraw/state/dist-esm/lib/core/Computed.mjs"],"sourcesContent":["import { ArraySet } from \"./ArraySet.mjs\";\nimport { HistoryBuffer } from \"./HistoryBuffer.mjs\";\nimport { maybeCaptureParent, startCapturingParents, stopCapturingParents } from \"./capture.mjs\";\nimport { GLOBAL_START_EPOCH } from \"./constants.mjs\";\nimport { EMPTY_ARRAY, equals, haveParentsChanged } from \"./helpers.mjs\";\nimport { globalEpoch } from \"./transactions.mjs\";\nimport { RESET_VALUE } from \"./types.mjs\";\nimport { logComputedGetterWarning, logDotValueWarning } from \"./warnings.mjs\";\nconst UNINITIALIZED = Symbol(\"UNINITIALIZED\");\nconst isUninitialized = (value) => {\n return value === UNINITIALIZED;\n};\nclass WithDiff {\n constructor(value, diff) {\n this.value = value;\n this.diff = diff;\n }\n}\nfunction withDiff(value, diff) {\n return new WithDiff(value, diff);\n}\nclass _Computed {\n constructor(name, derive, options) {\n this.name = name;\n this.derive = derive;\n if (options?.historyLength) {\n this.historyBuffer = new HistoryBuffer(options.historyLength);\n }\n this.computeDiff = options?.computeDiff;\n this.isEqual = options?.isEqual ?? equals;\n }\n lastChangedEpoch = GLOBAL_START_EPOCH;\n lastTraversedEpoch = GLOBAL_START_EPOCH;\n /**\n * The epoch when the reactor was last checked.\n */\n lastCheckedEpoch = GLOBAL_START_EPOCH;\n parents = [];\n parentEpochs = [];\n children = new ArraySet();\n // eslint-disable-next-line no-restricted-syntax\n get isActivelyListening() {\n return !this.children.isEmpty;\n }\n historyBuffer;\n // The last-computed value of this signal.\n state = UNINITIALIZED;\n computeDiff;\n isEqual;\n __unsafe__getWithoutCapture() {\n const isNew = this.lastChangedEpoch === GLOBAL_START_EPOCH;\n if (!isNew && (this.lastCheckedEpoch === globalEpoch || !haveParentsChanged(this))) {\n this.lastCheckedEpoch = globalEpoch;\n return this.state;\n }\n try {\n startCapturingParents(this);\n const result = this.derive(this.state, this.lastCheckedEpoch);\n const newState = result instanceof WithDiff ? result.value : result;\n if (this.state === UNINITIALIZED || !this.isEqual(newState, this.state)) {\n if (this.historyBuffer && !isNew) {\n const diff = result instanceof WithDiff ? result.diff : void 0;\n this.historyBuffer.pushEntry(\n this.lastChangedEpoch,\n globalEpoch,\n diff ?? this.computeDiff?.(this.state, newState, this.lastCheckedEpoch, globalEpoch) ?? RESET_VALUE\n );\n }\n this.lastChangedEpoch = globalEpoch;\n this.state = newState;\n }\n this.lastCheckedEpoch = globalEpoch;\n return this.state;\n } finally {\n stopCapturingParents();\n }\n }\n get() {\n const value = this.__unsafe__getWithoutCapture();\n maybeCaptureParent(this);\n return value;\n }\n /**\n * @deprecated Use [[get]] instead.\n */\n // eslint-disable-next-line no-restricted-syntax\n get value() {\n logDotValueWarning();\n return this.get();\n }\n getDiffSince(epoch) {\n this.get();\n if (epoch >= this.lastChangedEpoch) {\n return EMPTY_ARRAY;\n }\n return this.historyBuffer?.getChangesSince(epoch) ?? RESET_VALUE;\n }\n}\nfunction computedMethodAnnotation(options = {}, _target, key, descriptor) {\n const originalMethod = descriptor.value;\n const derivationKey = Symbol.for(\"__@tldraw/state__computed__\" + key);\n descriptor.value = function() {\n let d = this[derivationKey];\n if (!d) {\n d = new _Computed(key, originalMethod.bind(this), options);\n Object.defineProperty(this, derivationKey, {\n enumerable: false,\n configurable: false,\n writable: false,\n value: d\n });\n }\n return d.get();\n };\n descriptor.value[isComputedMethodKey] = true;\n return descriptor;\n}\nfunction computedAnnotation(options = {}, _target, key, descriptor) {\n if (descriptor.get) {\n logComputedGetterWarning();\n return computedGetterAnnotation(options, _target, key, descriptor);\n } else {\n return computedMethodAnnotation(options, _target, key, descriptor);\n }\n}\nfunction computedGetterAnnotation(options = {}, _target, key, descriptor) {\n const originalMethod = descriptor.get;\n const derivationKey = Symbol.for(\"__@tldraw/state__computed__\" + key);\n descriptor.get = function() {\n let d = this[derivationKey];\n if (!d) {\n d = new _Computed(key, originalMethod.bind(this), options);\n Object.defineProperty(this, derivationKey, {\n enumerable: false,\n configurable: false,\n writable: false,\n value: d\n });\n }\n return d.get();\n };\n return descriptor;\n}\nconst isComputedMethodKey = \"@@__isComputedMethod__@@\";\nfunction getComputedInstance(obj, propertyName) {\n const key = Symbol.for(\"__@tldraw/state__computed__\" + propertyName.toString());\n let inst = obj[key];\n if (!inst) {\n const val = obj[propertyName];\n if (typeof val === \"function\" && val[isComputedMethodKey]) {\n val.call(obj);\n }\n inst = obj[key];\n }\n return inst;\n}\nfunction computed() {\n if (arguments.length === 1) {\n const options = arguments[0];\n return (target, key, descriptor) => computedAnnotation(options, target, key, descriptor);\n } else if (typeof arguments[0] === \"string\") {\n return new _Computed(arguments[0], arguments[1], arguments[2]);\n } else {\n return computedAnnotation(void 0, arguments[0], arguments[1], arguments[2]);\n }\n}\nfunction isComputed(value) {\n return value && value instanceof _Computed;\n}\nexport {\n _Computed,\n computed,\n getComputedInstance,\n isComputed,\n isUninitialized,\n withDiff\n};\n//# sourceMappingURL=Computed.mjs.map\n"],"names":["UNINITIALIZED","Symbol","WithDiff","constructor","value","diff","this","_Computed","name","derive","options","historyLength","historyBuffer","HistoryBuffer","computeDiff","isEqual","equals","lastChangedEpoch","GLOBAL_START_EPOCH","lastTraversedEpoch","lastCheckedEpoch","parents","parentEpochs","children","ArraySet","isActivelyListening","isEmpty","state","__unsafe__getWithoutCapture","isNew","globalEpoch","haveParentsChanged","startCapturingParents","result","newState","pushEntry","RESET_VALUE","stopCapturingParents","get","maybeCaptureParent","logDotValueWarning","getDiffSince","epoch","EMPTY_ARRAY","getChangesSince","computedAnnotation","_target","key","descriptor","logComputedGetterWarning","originalMethod","derivationKey","for","d","bind","Object","defineProperty","enumerable","configurable","writable","computedGetterAnnotation","isComputedMethodKey","computedMethodAnnotation","computed","arguments","length","target"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{startCapturingParents as t,stopCapturingParents as e}from"./capture.mjs.js";import{GLOBAL_START_EPOCH as s}from"./constants.mjs.js";import{haveParentsChanged as i,attach as c,detach as h}from"./helpers.mjs.js";import{globalEpoch as n}from"./transactions.mjs.js";class r{constructor(t,e,s){this.name=t,this.runEffect=e,this._scheduleEffect=s?.scheduleEffect}_isActivelyListening=!1;get isActivelyListening(){return this._isActivelyListening}lastTraversedEpoch=s;lastReactedEpoch=s;_scheduleCount=0;get scheduleCount(){return this._scheduleCount}parentEpochs=[];parents=[];_scheduleEffect;maybeScheduleEffect(){this._isActivelyListening&&this.lastReactedEpoch!==n&&(!this.parents.length||i(this)?this.scheduleEffect():this.lastReactedEpoch=n)}scheduleEffect(){this._scheduleCount++,this._scheduleEffect?this._scheduleEffect(this.maybeExecute):this.execute()}maybeExecute=()=>{this._isActivelyListening&&this.execute()};attach(){this._isActivelyListening=!0;for(let t=0,e=this.parents.length;t<e;t++)c(this.parents[t],this)}detach(){this._isActivelyListening=!1;for(let t=0,e=this.parents.length;t<e;t++)h(this.parents[t],this)}execute(){try{t(this);const e=this.runEffect(this.lastReactedEpoch);return this.lastReactedEpoch=n,e}finally{e()}}}function a(t,e,s){const i=new r(t,e,s);return i.attach(),i.scheduleEffect(),()=>{i.detach()}}export{r as EffectScheduler,a as react};
|
|
2
|
-
//# sourceMappingURL=EffectScheduler.mjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EffectScheduler.mjs.js","sources":["../../../../../../../../../node_modules/@tldraw/state/dist-esm/lib/core/EffectScheduler.mjs"],"sourcesContent":["import { startCapturingParents, stopCapturingParents } from \"./capture.mjs\";\nimport { GLOBAL_START_EPOCH } from \"./constants.mjs\";\nimport { attach, detach, haveParentsChanged } from \"./helpers.mjs\";\nimport { globalEpoch } from \"./transactions.mjs\";\nclass EffectScheduler {\n constructor(name, runEffect, options) {\n this.name = name;\n this.runEffect = runEffect;\n this._scheduleEffect = options?.scheduleEffect;\n }\n _isActivelyListening = false;\n /**\n * Whether this scheduler is attached and actively listening to its parents.\n * @public\n */\n // eslint-disable-next-line no-restricted-syntax\n get isActivelyListening() {\n return this._isActivelyListening;\n }\n /** @internal */\n lastTraversedEpoch = GLOBAL_START_EPOCH;\n lastReactedEpoch = GLOBAL_START_EPOCH;\n _scheduleCount = 0;\n /**\n * The number of times this effect has been scheduled.\n * @public\n */\n // eslint-disable-next-line no-restricted-syntax\n get scheduleCount() {\n return this._scheduleCount;\n }\n /** @internal */\n parentEpochs = [];\n /** @internal */\n parents = [];\n _scheduleEffect;\n /** @internal */\n maybeScheduleEffect() {\n if (!this._isActivelyListening)\n return;\n if (this.lastReactedEpoch === globalEpoch)\n return;\n if (this.parents.length && !haveParentsChanged(this)) {\n this.lastReactedEpoch = globalEpoch;\n return;\n }\n this.scheduleEffect();\n }\n /** @internal */\n scheduleEffect() {\n this._scheduleCount++;\n if (this._scheduleEffect) {\n this._scheduleEffect(this.maybeExecute);\n } else {\n this.execute();\n }\n }\n maybeExecute = () => {\n if (!this._isActivelyListening)\n return;\n this.execute();\n };\n /**\n * Makes this scheduler become 'actively listening' to its parents.\n * If it has been executed before it will immediately become eligible to receive 'maybeScheduleEffect' calls.\n * If it has not executed before it will need to be manually executed once to become eligible for scheduling, i.e. by calling [[EffectScheduler.execute]].\n * @public\n */\n attach() {\n this._isActivelyListening = true;\n for (let i = 0, n = this.parents.length; i < n; i++) {\n attach(this.parents[i], this);\n }\n }\n /**\n * Makes this scheduler stop 'actively listening' to its parents.\n * It will no longer be eligible to receive 'maybeScheduleEffect' calls until [[EffectScheduler.attach]] is called again.\n */\n detach() {\n this._isActivelyListening = false;\n for (let i = 0, n = this.parents.length; i < n; i++) {\n detach(this.parents[i], this);\n }\n }\n /**\n * Executes the effect immediately and returns the result.\n * @returns The result of the effect.\n */\n execute() {\n try {\n startCapturingParents(this);\n const result = this.runEffect(this.lastReactedEpoch);\n this.lastReactedEpoch = globalEpoch;\n return result;\n } finally {\n stopCapturingParents();\n }\n }\n}\nfunction react(name, fn, options) {\n const scheduler = new EffectScheduler(name, fn, options);\n scheduler.attach();\n scheduler.scheduleEffect();\n return () => {\n scheduler.detach();\n };\n}\nfunction reactor(name, fn, options) {\n const scheduler = new EffectScheduler(name, fn, options);\n return {\n scheduler,\n start: (options2) => {\n const force = options2?.force ?? false;\n scheduler.attach();\n if (force) {\n scheduler.scheduleEffect();\n } else {\n scheduler.maybeScheduleEffect();\n }\n },\n stop: () => {\n scheduler.detach();\n }\n };\n}\nexport {\n EffectScheduler,\n react,\n reactor\n};\n//# sourceMappingURL=EffectScheduler.mjs.map\n"],"names":["EffectScheduler","constructor","name","runEffect","options","this","_scheduleEffect","scheduleEffect","_isActivelyListening","isActivelyListening","lastTraversedEpoch","GLOBAL_START_EPOCH","lastReactedEpoch","_scheduleCount","scheduleCount","parentEpochs","parents","maybeScheduleEffect","globalEpoch","length","haveParentsChanged","maybeExecute","execute","attach","i","n","detach","startCapturingParents","result","stopCapturingParents","react","fn","scheduler"],"mappings":"6QAIA,MAAMA,EACJ,WAAAC,CAAYC,EAAMC,EAAWC,GAC3BC,KAAKH,KAAOA,EACZG,KAAKF,UAAYA,EACjBE,KAAKC,gBAAkBF,GAASG,cACjC,CACDC,sBAAuB,EAMvB,uBAAIC,GACF,OAAOJ,KAAKG,oBACb,CAEDE,mBAAqBC,EACrBC,iBAAmBD,EACnBE,eAAiB,EAMjB,iBAAIC,GACF,OAAOT,KAAKQ,cACb,CAEDE,aAAe,GAEfC,QAAU,GACVV,gBAEA,mBAAAW,GACOZ,KAAKG,sBAENH,KAAKO,mBAAqBM,KAE1Bb,KAAKW,QAAQG,QAAWC,EAAmBf,MAI/CA,KAAKE,iBAHHF,KAAKO,iBAAmBM,EAI3B,CAED,cAAAX,GACEF,KAAKQ,iBACDR,KAAKC,gBACPD,KAAKC,gBAAgBD,KAAKgB,cAE1BhB,KAAKiB,SAER,CACDD,aAAe,KACRhB,KAAKG,sBAEVH,KAAKiB,SAAS,EAQhB,MAAAC,GACElB,KAAKG,sBAAuB,EAC5B,IAAK,IAAIgB,EAAI,EAAGC,EAAIpB,KAAKW,QAAQG,OAAQK,EAAIC,EAAGD,IAC9CD,EAAOlB,KAAKW,QAAQQ,GAAInB,KAE3B,CAKD,MAAAqB,GACErB,KAAKG,sBAAuB,EAC5B,IAAK,IAAIgB,EAAI,EAAGC,EAAIpB,KAAKW,QAAQG,OAAQK,EAAIC,EAAGD,IAC9CE,EAAOrB,KAAKW,QAAQQ,GAAInB,KAE3B,CAKD,OAAAiB,GACE,IACEK,EAAsBtB,MACtB,MAAMuB,EAASvB,KAAKF,UAAUE,KAAKO,kBAEnC,OADAP,KAAKO,iBAAmBM,EACjBU,CACb,CAAc,QACRC,GACD,CACF,EAEH,SAASC,EAAM5B,EAAM6B,EAAI3B,GACvB,MAAM4B,EAAY,IAAIhC,EAAgBE,EAAM6B,EAAI3B,GAGhD,OAFA4B,EAAUT,SACVS,EAAUzB,iBACH,KACLyB,EAAUN,QAAQ,CAEtB"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{RESET_VALUE as t}from"./types.mjs.js";class i{constructor(t){this.capacity=t,this.buffer=new Array(t)}index=0;buffer;pushEntry(i,r,e){void 0!==e&&(e!==t?(this.buffer[this.index]=[i,r,e],this.index=(this.index+1)%this.capacity):this.clear())}clear(){this.index=0,this.buffer.fill(void 0)}getChangesSince(i){const{index:r,capacity:e,buffer:s}=this;for(let n=0;n<e;n++){const f=(r-1+e-n)%e,c=s[f];if(!c)return t;const[h,o]=c;if(0===n&&i>=o)return[];if(h<=i&&i<o){const t=n+1,i=new Array(t);for(let r=0;r<t;r++)i[r]=s[(f+r)%e][2];return i}}return t}}export{i as HistoryBuffer};
|
|
2
|
-
//# sourceMappingURL=HistoryBuffer.mjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"HistoryBuffer.mjs.js","sources":["../../../../../../../../../node_modules/@tldraw/state/dist-esm/lib/core/HistoryBuffer.mjs"],"sourcesContent":["import { RESET_VALUE } from \"./types.mjs\";\nclass HistoryBuffer {\n constructor(capacity) {\n this.capacity = capacity;\n this.buffer = new Array(capacity);\n }\n index = 0;\n // use a wrap around buffer to store the last N values\n buffer;\n /**\n * Add a diff to the history buffer.\n *\n * @param lastComputedEpoch - The epoch when the diff was computed.\n * @param currentEpoch - The current epoch.\n * @param diff - The diff to add, or else a reset value.\n */\n pushEntry(lastComputedEpoch, currentEpoch, diff) {\n if (diff === void 0) {\n return;\n }\n if (diff === RESET_VALUE) {\n this.clear();\n return;\n }\n this.buffer[this.index] = [lastComputedEpoch, currentEpoch, diff];\n this.index = (this.index + 1) % this.capacity;\n }\n /**\n * Clear the history buffer.\n */\n clear() {\n this.index = 0;\n this.buffer.fill(void 0);\n }\n /**\n * Get the diffs since the given epoch.\n *\n * @param epoch - The epoch to get diffs since.\n * @returns An array of diffs or a flag to reset the history buffer.\n */\n getChangesSince(sinceEpoch) {\n const { index, capacity, buffer } = this;\n for (let i = 0; i < capacity; i++) {\n const offset = (index - 1 + capacity - i) % capacity;\n const elem = buffer[offset];\n if (!elem) {\n return RESET_VALUE;\n }\n const [fromEpoch, toEpoch] = elem;\n if (i === 0 && sinceEpoch >= toEpoch) {\n return [];\n }\n if (fromEpoch <= sinceEpoch && sinceEpoch < toEpoch) {\n const len = i + 1;\n const result = new Array(len);\n for (let j = 0; j < len; j++) {\n result[j] = buffer[(offset + j) % capacity][2];\n }\n return result;\n }\n }\n return RESET_VALUE;\n }\n}\nexport {\n HistoryBuffer\n};\n//# sourceMappingURL=HistoryBuffer.mjs.map\n"],"names":["HistoryBuffer","constructor","capacity","this","buffer","Array","index","pushEntry","lastComputedEpoch","currentEpoch","diff","RESET_VALUE","clear","fill","getChangesSince","sinceEpoch","i","offset","elem","fromEpoch","toEpoch","len","result","j"],"mappings":"6CACA,MAAMA,EACJ,WAAAC,CAAYC,GACVC,KAAKD,SAAWA,EAChBC,KAAKC,OAAS,IAAIC,MAAMH,EACzB,CACDI,MAAQ,EAERF,OAQA,SAAAG,CAAUC,EAAmBC,EAAcC,QAC5B,IAATA,IAGAA,IAASC,GAIbR,KAAKC,OAAOD,KAAKG,OAAS,CAACE,EAAmBC,EAAcC,GAC5DP,KAAKG,OAASH,KAAKG,MAAQ,GAAKH,KAAKD,UAJnCC,KAAKS,QAKR,CAID,KAAAA,GACET,KAAKG,MAAQ,EACbH,KAAKC,OAAOS,UAAK,EAClB,CAOD,eAAAC,CAAgBC,GACd,MAAMT,MAAEA,EAAKJ,SAAEA,EAAQE,OAAEA,GAAWD,KACpC,IAAK,IAAIa,EAAI,EAAGA,EAAId,EAAUc,IAAK,CACjC,MAAMC,GAAUX,EAAQ,EAAIJ,EAAWc,GAAKd,EACtCgB,EAAOd,EAAOa,GACpB,IAAKC,EACH,OAAOP,EAET,MAAOQ,EAAWC,GAAWF,EAC7B,GAAU,IAANF,GAAWD,GAAcK,EAC3B,MAAO,GAET,GAAID,GAAaJ,GAAcA,EAAaK,EAAS,CACnD,MAAMC,EAAML,EAAI,EACVM,EAAS,IAAIjB,MAAMgB,GACzB,IAAK,IAAIE,EAAI,EAAGA,EAAIF,EAAKE,IACvBD,EAAOC,GAAKnB,GAAQa,EAASM,GAAKrB,GAAU,GAE9C,OAAOoB,CACR,CACF,CACD,OAAOX,CACR"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{detach as e,attach as t}from"./helpers.mjs.js";const o=Symbol.for("__@tldraw/state__"),s=globalThis;s[o]?console.error('Multiple versions of @tldraw/state detected. This will cause unexpected behavior. Please add "resolutions" (yarn/pnpm) or "overrides" (npm) in your package.json to ensure only one version of @tldraw/state is loaded.'):s[o]=!0;class n{constructor(e,t){this.below=e,this.child=t}offset=0;numNewParents=0;maybeRemoved}let l=null;function i(e){l=new n(l,e)}function f(){const t=l;l=t.below;if(t.numNewParents>0||t.offset!==t.child.parents.length){for(let o=t.offset;o<t.child.parents.length;o++){const s=t.child.parents[o];t.child.parents.indexOf(s)>=t.offset&&e(s,t.child)}if(t.child.parents.length=t.offset,t.child.parentEpochs.length=t.offset,l?.maybeRemoved)for(let o=0;o<l.maybeRemoved.length;o++){const s=l.maybeRemoved[o];-1===t.child.parents.indexOf(s)&&e(s,t.child)}}}function a(e){if(l){const o=l.child.parents.indexOf(e);if(o<0&&(l.numNewParents++,l.child.isActivelyListening&&t(e,l.child)),o<0||o>=l.offset){if(o!==l.offset&&o>0){const e=l.child.parents[l.offset];l.maybeRemoved?-1===l.maybeRemoved.indexOf(e)&&l.maybeRemoved.push(e):l.maybeRemoved=[e]}l.child.parents[l.offset]=e,l.child.parentEpochs[l.offset]=e.lastChangedEpoch,l.offset++}}}export{a as maybeCaptureParent,i as startCapturingParents,f as stopCapturingParents};
|
|
2
|
-
//# sourceMappingURL=capture.mjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capture.mjs.js","sources":["../../../../../../../../../node_modules/@tldraw/state/dist-esm/lib/core/capture.mjs"],"sourcesContent":["import { attach, detach } from \"./helpers.mjs\";\nconst tldrawStateGlobalKey = Symbol.for(\"__@tldraw/state__\");\nconst tldrawStateGlobal = globalThis;\nif (tldrawStateGlobal[tldrawStateGlobalKey]) {\n console.error(\n 'Multiple versions of @tldraw/state detected. This will cause unexpected behavior. Please add \"resolutions\" (yarn/pnpm) or \"overrides\" (npm) in your package.json to ensure only one version of @tldraw/state is loaded.'\n );\n} else {\n tldrawStateGlobal[tldrawStateGlobalKey] = true;\n}\nclass CaptureStackFrame {\n constructor(below, child) {\n this.below = below;\n this.child = child;\n }\n offset = 0;\n numNewParents = 0;\n maybeRemoved;\n}\nlet stack = null;\nfunction unsafe__withoutCapture(fn) {\n const oldStack = stack;\n stack = null;\n try {\n return fn();\n } finally {\n stack = oldStack;\n }\n}\nfunction startCapturingParents(child) {\n stack = new CaptureStackFrame(stack, child);\n}\nfunction stopCapturingParents() {\n const frame = stack;\n stack = frame.below;\n const didParentsChange = frame.numNewParents > 0 || frame.offset !== frame.child.parents.length;\n if (!didParentsChange) {\n return;\n }\n for (let i = frame.offset; i < frame.child.parents.length; i++) {\n const p = frame.child.parents[i];\n const parentWasRemoved = frame.child.parents.indexOf(p) >= frame.offset;\n if (parentWasRemoved) {\n detach(p, frame.child);\n }\n }\n frame.child.parents.length = frame.offset;\n frame.child.parentEpochs.length = frame.offset;\n if (stack?.maybeRemoved) {\n for (let i = 0; i < stack.maybeRemoved.length; i++) {\n const maybeRemovedParent = stack.maybeRemoved[i];\n if (frame.child.parents.indexOf(maybeRemovedParent) === -1) {\n detach(maybeRemovedParent, frame.child);\n }\n }\n }\n}\nfunction maybeCaptureParent(p) {\n if (stack) {\n const idx = stack.child.parents.indexOf(p);\n if (idx < 0) {\n stack.numNewParents++;\n if (stack.child.isActivelyListening) {\n attach(p, stack.child);\n }\n }\n if (idx < 0 || idx >= stack.offset) {\n if (idx !== stack.offset && idx > 0) {\n const maybeRemovedParent = stack.child.parents[stack.offset];\n if (!stack.maybeRemoved) {\n stack.maybeRemoved = [maybeRemovedParent];\n } else if (stack.maybeRemoved.indexOf(maybeRemovedParent) === -1) {\n stack.maybeRemoved.push(maybeRemovedParent);\n }\n }\n stack.child.parents[stack.offset] = p;\n stack.child.parentEpochs[stack.offset] = p.lastChangedEpoch;\n stack.offset++;\n }\n }\n}\nfunction whyAmIRunning() {\n const child = stack?.child;\n if (!child) {\n throw new Error(\"whyAmIRunning() called outside of a reactive context\");\n }\n const changedParents = [];\n for (let i = 0; i < child.parents.length; i++) {\n const parent = child.parents[i];\n if (parent.lastChangedEpoch > child.parentEpochs[i]) {\n changedParents.push(parent);\n }\n }\n if (changedParents.length === 0) {\n console.log(child.name, \"is running but none of the parents changed\");\n } else {\n console.log(child.name, \"is running because:\");\n for (const changedParent of changedParents) {\n console.log(\n \"\t\",\n changedParent.name,\n \"changed =>\",\n changedParent.__unsafe__getWithoutCapture()\n );\n }\n }\n}\nexport {\n maybeCaptureParent,\n startCapturingParents,\n stopCapturingParents,\n unsafe__withoutCapture,\n whyAmIRunning\n};\n//# sourceMappingURL=capture.mjs.map\n"],"names":["tldrawStateGlobalKey","Symbol","for","tldrawStateGlobal","globalThis","console","error","CaptureStackFrame","constructor","below","child","this","offset","numNewParents","maybeRemoved","stack","startCapturingParents","stopCapturingParents","frame","parents","length","i","p","indexOf","detach","parentEpochs","maybeRemovedParent","maybeCaptureParent","idx","isActivelyListening","attach","push","lastChangedEpoch"],"mappings":"sDACA,MAAMA,EAAuBC,OAAOC,IAAI,qBAClCC,EAAoBC,WACtBD,EAAkBH,GACpBK,QAAQC,MACN,2NAGFH,EAAkBH,IAAwB,EAE5C,MAAMO,EACJ,WAAAC,CAAYC,EAAOC,GACjBC,KAAKF,MAAQA,EACbE,KAAKD,MAAQA,CACd,CACDE,OAAS,EACTC,cAAgB,EAChBC,aAEF,IAAIC,EAAQ,KAUZ,SAASC,EAAsBN,GAC7BK,EAAQ,IAAIR,EAAkBQ,EAAOL,EACvC,CACA,SAASO,IACP,MAAMC,EAAQH,EACdA,EAAQG,EAAMT,MAEd,GADyBS,EAAML,cAAgB,GAAKK,EAAMN,SAAWM,EAAMR,MAAMS,QAAQC,OACzF,CAGA,IAAK,IAAIC,EAAIH,EAAMN,OAAQS,EAAIH,EAAMR,MAAMS,QAAQC,OAAQC,IAAK,CAC9D,MAAMC,EAAIJ,EAAMR,MAAMS,QAAQE,GACLH,EAAMR,MAAMS,QAAQI,QAAQD,IAAMJ,EAAMN,QAE/DY,EAAOF,EAAGJ,EAAMR,MAEnB,CAGD,GAFAQ,EAAMR,MAAMS,QAAQC,OAASF,EAAMN,OACnCM,EAAMR,MAAMe,aAAaL,OAASF,EAAMN,OACpCG,GAAOD,aACT,IAAK,IAAIO,EAAI,EAAGA,EAAIN,EAAMD,aAAaM,OAAQC,IAAK,CAClD,MAAMK,EAAqBX,EAAMD,aAAaO,IACW,IAArDH,EAAMR,MAAMS,QAAQI,QAAQG,IAC9BF,EAAOE,EAAoBR,EAAMR,MAEpC,CAhBF,CAkBH,CACA,SAASiB,EAAmBL,GAC1B,GAAIP,EAAO,CACT,MAAMa,EAAMb,EAAML,MAAMS,QAAQI,QAAQD,GAOxC,GANIM,EAAM,IACRb,EAAMF,gBACFE,EAAML,MAAMmB,qBACdC,EAAOR,EAAGP,EAAML,QAGhBkB,EAAM,GAAKA,GAAOb,EAAMH,OAAQ,CAClC,GAAIgB,IAAQb,EAAMH,QAAUgB,EAAM,EAAG,CACnC,MAAMF,EAAqBX,EAAML,MAAMS,QAAQJ,EAAMH,QAChDG,EAAMD,cAEoD,IAApDC,EAAMD,aAAaS,QAAQG,IACpCX,EAAMD,aAAaiB,KAAKL,GAFxBX,EAAMD,aAAe,CAACY,EAIzB,CACDX,EAAML,MAAMS,QAAQJ,EAAMH,QAAUU,EACpCP,EAAML,MAAMe,aAAaV,EAAMH,QAAUU,EAAEU,iBAC3CjB,EAAMH,QACP,CACF,CACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.mjs.js","sources":["../../../../../../../../../node_modules/@tldraw/state/dist-esm/lib/core/constants.mjs"],"sourcesContent":["const GLOBAL_START_EPOCH = -1;\nexport {\n GLOBAL_START_EPOCH\n};\n//# sourceMappingURL=constants.mjs.map\n"],"names":["GLOBAL_START_EPOCH"],"mappings":"AAAK,MAACA,GAAsB"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
function e(e){return e&&"object"==typeof e&&"parents"in e}function t(e){for(let t=0,n=e.parents.length;t<n;t++)if(e.parents[t].__unsafe__getWithoutCapture(),e.parents[t].lastChangedEpoch!==e.parentEpochs[t])return!0;return!1}const n=(t,r)=>{if(t.children.remove(r)&&t.children.isEmpty&&e(t))for(let e=0,r=t.parents.length;e<r;e++)n(t.parents[e],t)},r=(t,n)=>{if(t.children.add(n)&&e(t))for(let e=0,n=t.parents.length;e<n;e++)r(t.parents[e],t)};function o(e,t){return e===t||Object.is(e,t)||Boolean(e&&t&&"function"==typeof e.equals&&e.equals(t))}const a=Object.freeze([]);export{a as EMPTY_ARRAY,r as attach,n as detach,o as equals,t as haveParentsChanged};
|
|
2
|
-
//# sourceMappingURL=helpers.mjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.mjs.js","sources":["../../../../../../../../../node_modules/@tldraw/state/dist-esm/lib/core/helpers.mjs"],"sourcesContent":["function isChild(x) {\n return x && typeof x === \"object\" && \"parents\" in x;\n}\nfunction haveParentsChanged(child) {\n for (let i = 0, n = child.parents.length; i < n; i++) {\n child.parents[i].__unsafe__getWithoutCapture();\n if (child.parents[i].lastChangedEpoch !== child.parentEpochs[i]) {\n return true;\n }\n }\n return false;\n}\nconst detach = (parent, child) => {\n if (!parent.children.remove(child)) {\n return;\n }\n if (parent.children.isEmpty && isChild(parent)) {\n for (let i = 0, n = parent.parents.length; i < n; i++) {\n detach(parent.parents[i], parent);\n }\n }\n};\nconst attach = (parent, child) => {\n if (!parent.children.add(child)) {\n return;\n }\n if (isChild(parent)) {\n for (let i = 0, n = parent.parents.length; i < n; i++) {\n attach(parent.parents[i], parent);\n }\n }\n};\nfunction equals(a, b) {\n const shallowEquals = a === b || Object.is(a, b) || Boolean(a && b && typeof a.equals === \"function\" && a.equals(b));\n return shallowEquals;\n}\nconst EMPTY_ARRAY = Object.freeze([]);\nexport {\n EMPTY_ARRAY,\n attach,\n detach,\n equals,\n haveParentsChanged\n};\n//# sourceMappingURL=helpers.mjs.map\n"],"names":["isChild","x","haveParentsChanged","child","i","n","parents","length","__unsafe__getWithoutCapture","lastChangedEpoch","parentEpochs","detach","parent","children","remove","isEmpty","attach","add","equals","a","b","Object","is","Boolean","EMPTY_ARRAY","freeze"],"mappings":"AAAA,SAASA,EAAQC,GACf,OAAOA,GAAkB,iBAANA,GAAkB,YAAaA,CACpD,CACA,SAASC,EAAmBC,GAC1B,IAAK,IAAIC,EAAI,EAAGC,EAAIF,EAAMG,QAAQC,OAAQH,EAAIC,EAAGD,IAE/C,GADAD,EAAMG,QAAQF,GAAGI,8BACbL,EAAMG,QAAQF,GAAGK,mBAAqBN,EAAMO,aAAaN,GAC3D,OAAO,EAGX,OAAO,CACT,CACK,MAACO,EAAS,CAACC,EAAQT,KACtB,GAAKS,EAAOC,SAASC,OAAOX,IAGxBS,EAAOC,SAASE,SAAWf,EAAQY,GACrC,IAAK,IAAIR,EAAI,EAAGC,EAAIO,EAAON,QAAQC,OAAQH,EAAIC,EAAGD,IAChDO,EAAOC,EAAON,QAAQF,GAAIQ,EAE7B,EAEGI,EAAS,CAACJ,EAAQT,KACtB,GAAKS,EAAOC,SAASI,IAAId,IAGrBH,EAAQY,GACV,IAAK,IAAIR,EAAI,EAAGC,EAAIO,EAAON,QAAQC,OAAQH,EAAIC,EAAGD,IAChDY,EAAOJ,EAAON,QAAQF,GAAIQ,EAE7B,EAEH,SAASM,EAAOC,EAAGC,GAEjB,OADsBD,IAAMC,GAAKC,OAAOC,GAAGH,EAAGC,IAAMG,QAAQJ,GAAKC,GAAyB,mBAAbD,EAAED,QAAyBC,EAAED,OAAOE,GAEnH,CACK,MAACI,EAAcH,OAAOI,OAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.mjs.js","sources":["../../../../../../../../../node_modules/@tldraw/state/dist-esm/lib/core/transactions.mjs"],"sourcesContent":["import { GLOBAL_START_EPOCH } from \"./constants.mjs\";\nlet globalEpoch = GLOBAL_START_EPOCH + 1;\nlet globalIsReacting = false;\nfunction advanceGlobalEpoch() {\n globalEpoch++;\n}\nclass Transaction {\n constructor(parent) {\n this.parent = parent;\n }\n initialAtomValues = /* @__PURE__ */ new Map();\n /**\n * Get whether this transaction is a root (no parents).\n *\n * @public\n */\n // eslint-disable-next-line no-restricted-syntax\n get isRoot() {\n return this.parent === null;\n }\n /**\n * Commit the transaction's changes.\n *\n * @public\n */\n commit() {\n if (this.isRoot) {\n const atoms = this.initialAtomValues;\n this.initialAtomValues = /* @__PURE__ */ new Map();\n flushChanges(atoms.keys());\n } else {\n this.initialAtomValues.forEach((value, atom) => {\n if (!this.parent.initialAtomValues.has(atom)) {\n this.parent.initialAtomValues.set(atom, value);\n }\n });\n }\n }\n /**\n * Abort the transaction.\n *\n * @public\n */\n abort() {\n globalEpoch++;\n this.initialAtomValues.forEach((value, atom) => {\n atom.set(value);\n atom.historyBuffer?.clear();\n });\n this.commit();\n }\n}\nfunction flushChanges(atoms) {\n if (globalIsReacting) {\n throw new Error(\"cannot change atoms during reaction cycle\");\n }\n try {\n globalIsReacting = true;\n const reactors = /* @__PURE__ */ new Set();\n const traverse = (node) => {\n if (node.lastTraversedEpoch === globalEpoch) {\n return;\n }\n node.lastTraversedEpoch = globalEpoch;\n if (\"maybeScheduleEffect\" in node) {\n reactors.add(node);\n } else {\n ;\n node.children.visit(traverse);\n }\n };\n for (const atom of atoms) {\n atom.children.visit(traverse);\n }\n for (const r of reactors) {\n r.maybeScheduleEffect();\n }\n } finally {\n globalIsReacting = false;\n }\n}\nfunction atomDidChange(atom, previousValue) {\n if (!currentTransaction) {\n flushChanges([atom]);\n } else if (!currentTransaction.initialAtomValues.has(atom)) {\n currentTransaction.initialAtomValues.set(atom, previousValue);\n }\n}\nlet currentTransaction = null;\nfunction transaction(fn) {\n const txn = new Transaction(currentTransaction);\n currentTransaction = txn;\n try {\n let rollback = false;\n const result = fn(() => rollback = true);\n if (rollback) {\n txn.abort();\n } else {\n txn.commit();\n }\n return result;\n } catch (e) {\n txn.abort();\n throw e;\n } finally {\n currentTransaction = currentTransaction.parent;\n }\n}\nfunction transact(fn) {\n if (currentTransaction) {\n return fn();\n }\n return transaction(fn);\n}\nexport {\n advanceGlobalEpoch,\n atomDidChange,\n currentTransaction,\n globalEpoch,\n transact,\n transaction\n};\n//# sourceMappingURL=transactions.mjs.map\n"],"names":["globalEpoch","GLOBAL_START_EPOCH"],"mappings":"wDACG,IAACA,EAAcC,EAAqB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs.js","sources":["../../../../../../../../../node_modules/@tldraw/state/dist-esm/lib/core/types.mjs"],"sourcesContent":["const RESET_VALUE = Symbol(\"RESET_VALUE\");\nexport {\n RESET_VALUE\n};\n//# sourceMappingURL=types.mjs.map\n"],"names":["RESET_VALUE","Symbol"],"mappings":"AAAK,MAACA,EAAcC,OAAO"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
let e=!1;function n(){e||(e=!0,console.warn("Using Signal.value is deprecated and will be removed in the near future. Please use Signal.get() instead."))}let o=!1;function t(){o||(o=!0,console.warn("Using `@computed` as a decorator for getters is deprecated and will be removed in the near future. Please refactor to use `@computed` as a decorator for methods.\n\n// Before\n@computed\nget foo() {\n\treturn 'foo'\n}\n\n// After\n@computed\ngetFoo() {\n\treturn 'foo'\n}\n"))}export{t as logComputedGetterWarning,n as logDotValueWarning};
|
|
2
|
-
//# sourceMappingURL=warnings.mjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"warnings.mjs.js","sources":["../../../../../../../../../node_modules/@tldraw/state/dist-esm/lib/core/warnings.mjs"],"sourcesContent":["let didWarnDotValue = false;\nfunction logDotValueWarning() {\n if (didWarnDotValue)\n return;\n didWarnDotValue = true;\n console.warn(\n \"Using Signal.value is deprecated and will be removed in the near future. Please use Signal.get() instead.\"\n );\n}\nlet didWarnComputedGetter = false;\nfunction logComputedGetterWarning() {\n if (didWarnComputedGetter)\n return;\n didWarnComputedGetter = true;\n console.warn(\n `Using \\`@computed\\` as a decorator for getters is deprecated and will be removed in the near future. Please refactor to use \\`@computed\\` as a decorator for methods.\n\n// Before\n@computed\nget foo() {\n\treturn 'foo'\n}\n\n// After\n@computed\ngetFoo() {\n\treturn 'foo'\n}\n`\n );\n}\nexport {\n logComputedGetterWarning,\n logDotValueWarning\n};\n//# sourceMappingURL=warnings.mjs.map\n"],"names":["didWarnDotValue","logDotValueWarning","console","warn","didWarnComputedGetter","logComputedGetterWarning"],"mappings":"AAAA,IAAIA,GAAkB,EACtB,SAASC,IACHD,IAEJA,GAAkB,EAClBE,QAAQC,KACN,6GAEJ,CACA,IAAIC,GAAwB,EAC5B,SAASC,IACHD,IAEJA,GAAwB,EACxBF,QAAQC,KACN,qRAeJ"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{useRef as r,useMemo as e,useSyncExternalStore as t}from"react";import"../core/capture.mjs.js";import"../core/helpers.mjs.js";import{computed as o}from"../core/Computed.mjs.js";import{react as s}from"../core/EffectScheduler.mjs.js";function c(){const c=arguments,n=3===c.length?c[2]:[c[0]],u=3===c.length?c[0]:`useValue(${c[0].name})`,m=r(!0);m.current=!0;const p=e((()=>1===c.length?c[0]:o(u,(()=>{if(m.current)return c[1]();try{return c[1]()}catch{return{}}}))),n);try{const{subscribe:r,getSnapshot:o}=e((()=>({subscribe:r=>s(`useValue(${u})`,(()=>{p.get(),r()})),getSnapshot:()=>p.get()})),[p]);return t(r,o,o)}finally{m.current=!1}}export{c as useValue};
|
|
2
|
-
//# sourceMappingURL=useValue.mjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useValue.mjs.js","sources":["../../../../../../../../../node_modules/@tldraw/state/dist-esm/lib/react/useValue.mjs"],"sourcesContent":["import { useMemo, useRef, useSyncExternalStore } from \"react\";\nimport { computed, react } from \"../core/index.mjs\";\nfunction useValue() {\n const args = arguments;\n const deps = args.length === 3 ? args[2] : [args[0]];\n const name = args.length === 3 ? args[0] : `useValue(${args[0].name})`;\n const isInRender = useRef(true);\n isInRender.current = true;\n const $val = useMemo(() => {\n if (args.length === 1) {\n return args[0];\n }\n return computed(name, () => {\n if (isInRender.current) {\n return args[1]();\n } else {\n try {\n return args[1]();\n } catch {\n return {};\n }\n }\n });\n }, deps);\n try {\n const { subscribe, getSnapshot } = useMemo(() => {\n return {\n subscribe: (listen) => {\n return react(`useValue(${name})`, () => {\n $val.get();\n listen();\n });\n },\n getSnapshot: () => $val.get()\n };\n }, [$val]);\n return useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n } finally {\n isInRender.current = false;\n }\n}\nexport {\n useValue\n};\n//# sourceMappingURL=useValue.mjs.map\n"],"names":["useValue","args","arguments","deps","length","name","isInRender","useRef","current","$val","useMemo","computed","subscribe","getSnapshot","listen","react","get","useSyncExternalStore"],"mappings":"8OAEA,SAASA,IACP,MAAMC,EAAOC,UACPC,EAAuB,IAAhBF,EAAKG,OAAeH,EAAK,GAAK,CAACA,EAAK,IAC3CI,EAAuB,IAAhBJ,EAAKG,OAAeH,EAAK,GAAK,YAAYA,EAAK,GAAGI,QACzDC,EAAaC,GAAO,GAC1BD,EAAWE,SAAU,EACrB,MAAMC,EAAOC,GAAQ,IACC,IAAhBT,EAAKG,OACAH,EAAK,GAEPU,EAASN,GAAM,KACpB,GAAIC,EAAWE,QACb,OAAOP,EAAK,KAEZ,IACE,OAAOA,EAAK,IACtB,CAAU,MACA,MAAO,EACR,CACF,KAEFE,GACH,IACE,MAAMS,UAAEA,EAASC,YAAEA,GAAgBH,GAAQ,KAClC,CACLE,UAAYE,GACHC,EAAM,YAAYV,MAAS,KAChCI,EAAKO,MACLF,GAAQ,IAGZD,YAAa,IAAMJ,EAAKO,SAEzB,CAACP,IACJ,OAAOQ,EAAqBL,EAAWC,EAAaA,EACxD,CAAY,QACRP,EAAWE,SAAU,CACtB,CACH"}
|