@100mslive/hms-whiteboard 0.1.2-alpha.3 → 0.1.2-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Whiteboard.js +1 -1
- package/dist/Whiteboard.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/package.json +2 -2
- package/src/Whiteboard.tsx +3 -1
package/dist/Whiteboard.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t,{useState as o}from"react";import{Tldraw as e}from"@tldraw/tldraw";import{ConnectionStatusToast as n}from"./ConnectionStatusToast.js";import{ErrorFallback as r}from"./ErrorFallback.js";import{useCollaboration as a}from"./hooks/useCollaboration.js";function
|
|
1
|
+
import t,{useState as o}from"react";import{Tldraw as e}from"@tldraw/tldraw";import{ConnectionStatusToast as n}from"./ConnectionStatusToast.js";import{ErrorFallback as r}from"./ErrorFallback.js";import{useCollaboration as a}from"./hooks/useCollaboration.js";function s(e){const[n,r]=o(Date.now()+e.token);return t.createElement(i,Object.assign({key:n,refresh:()=>r(Date.now()+e.token)},e))}function i({endpoint:s,token:i,zoomToContent:l,transparentCanvas:c,onMount:d,refresh:m}){var u,p;const[f,v]=o(),k=a({endpoint:s,token:i,editor:f,zoomToContent:l}),h="synced-remote"===k.status?k.connectionStatus:void 0;return t.createElement(e,{className:c?"transparent-canvas":"",autoFocus:!0,store:k,onMount:t=>{v(t),window.editor=t,null==d||d({store:k.store,editor:t})},components:{ErrorFallback:({error:o,editor:e})=>t.createElement(r,{editor:e,error:o,refresh:m})},hideUi:(null===(u=null==f?void 0:f.getInstanceState())||void 0===u?void 0:u.isReadonly)&&"online"==h,initialState:(null===(p=null==f?void 0:f.getInstanceState())||void 0===p?void 0:p.isReadonly)?"hand":"select"},t.createElement(n,{store:k}))}export{s as Whiteboard};
|
|
2
2
|
//# sourceMappingURL=Whiteboard.js.map
|
package/dist/Whiteboard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Whiteboard.js","sources":["../src/Whiteboard.tsx"],"sourcesContent":[null],"names":["Whiteboard","props","key","setKey","useState","Date","now","token","React","createElement","CollaborativeEditor","Object","assign","refresh","endpoint","zoomToContent","transparentCanvas","onMount","editor","setEditor","store","useCollaboration","Tldraw","className","autoFocus","window","components","ErrorFallback","error","hideUi","
|
|
1
|
+
{"version":3,"file":"Whiteboard.js","sources":["../src/Whiteboard.tsx"],"sourcesContent":[null],"names":["Whiteboard","props","key","setKey","useState","Date","now","token","React","createElement","CollaborativeEditor","Object","assign","refresh","endpoint","zoomToContent","transparentCanvas","onMount","editor","setEditor","store","useCollaboration","connectionStatus","status","Tldraw","className","autoFocus","window","components","ErrorFallback","error","hideUi","getInstanceState","_a","isReadonly","initialState","_b","ConnectionStatusToast"],"mappings":"iQAcM,SAAUA,EAAWC,GACnB,MAACC,EAAKC,GAAUC,EAASC,KAAKC,MAAQL,EAAMM,OAElD,OAAOC,EAAAC,cAACC,EAAmBC,OAAAC,OAAA,CAACV,MAAUW,QAAS,IAAMV,EAAOE,KAAKC,MAAQL,EAAMM,QAAYN,GAC7F,CAEA,SAASS,GAAoBI,SAC3BA,EACAP,MAAAA,EAAAQ,cACAA,oBACAC,EACAC,QAAAA,EAAAJ,QACAA,YAEA,MAAOK,EAAQC,GAAaf,IACtBgB,EAAQC,EAAiB,CAC7BP,WACAP,QACAW,SACAH,kBAGIO,EAAoC,kBAAjBF,EAAMG,OAA6BH,EAAME,sBAAmB,EASrF,OACEd,EAACC,cAAAe,EACC,CAAAC,UAAWT,EAAoB,qBAAuB,GACtDU,WACA,EAAAN,QACAH,QAZiBC,IACnBC,EAAUD,GAEVS,OAAOT,OAASA,EAChBD,SAAAA,EAAU,CAAEG,MAAOA,EAAMA,MAAOF,OAAAA,GAAQ,EAStCU,WAAY,CACVC,cAAe,EAAGC,QAAOZ,OAAAA,KAAaV,EAACC,cAAAoB,GAAcX,OAAQA,EAAQY,QAAcjB,aAErFkB,QAAoC,UAA5Bb,aAAA,EAAAA,EAAQc,0BAAoB,IAAAC,OAAA,EAAAA,EAAAC,aAAkC,UAApBZ,EAClDa,cAA0C,UAA5BjB,aAAA,EAAAA,EAAQc,0BAAoB,IAAAI,OAAA,EAAAA,EAAAF,YAAa,OAAS,UAEhE1B,EAACC,cAAA4B,GAAsBjB,UAG7B"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
Copyright (c) 2018 Jed Watson.
|
|
4
4
|
Licensed under the MIT License (MIT), see
|
|
5
5
|
http://jedwatson.github.io/classnames
|
|
6
|
-
*/B=M,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}B.exports?(t.default=t,B.exports=t):window.classNames=t}();var I=M.exports;const P=({error:n,editor:r,refresh:s})=>{const a=e.useRef(null),[o,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=O("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":o&&!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:()=>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"),"."),o&&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(!o)},o?"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"))))))},L={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 D,$;($=D||(D={}))[$.NONE=0]="NONE",$[$.BYTES=1]="BYTES",$[$.STRING=2]="STRING",$[$.INTEGER=3]="INTEGER",$[$.FLOAT=4]="FLOAT";class j 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 H=new j;class K 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 A=new K;class q 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 z=new q;class V 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 G=new V;class J extends r.MessageType{constructor(){super("sessionstorepb.Value",[{no:1,name:"type",kind:"enum",T:()=>["sessionstorepb.Value.Type",D]},{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 Y=new J;class Z 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 Q=new Z;class X 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:()=>Y}])}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=Y.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&&Y.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 ee=new X;class te 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 ne=new te;class re 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 se=new re;class ae extends r.MessageType{constructor(){super("sessionstorepb.SetRequest",[{no:1,name:"key",kind:"scalar",T:9},{no:3,name:"value",kind:"message",T:()=>Y}])}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=Y.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&&Y.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 ie=new ae;class oe 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 le=new oe;class ce 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:()=>Y},{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=Y.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&&Y.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 de=new ce;class ue 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 he=new ue;class pe 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:()=>he}])}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(he.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++)he.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 fe=new pe;class ge 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 ye=new ge;class me 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 we=new me;new s.ServiceType("sessionstorepb.Api",[{name:"Hello",options:{},I:H,O:A},{name:"Subscribe",serverStreaming:!0,options:{},I:z,O:G}]);const ke=new s.ServiceType("sessionstorepb.Store",[{name:"open",serverStreaming:!0,options:{},I:fe,O:de},{name:"get",options:{},I:Q,O:ee},{name:"set",options:{},I:ie,O:le},{name:"delete",options:{},I:ne,O:se},{name:"count",options:{},I:ye,O:we}]);class be{constructor(e){this._transport=e,this.typeName=ke.typeName,this.methods=ke.methods,this.options=ke.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 ve="currentPage",Ee=11,Te=200,_e=["network error","failed to fetch"];function Se(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}`)}}class Ne{constructor(e,t){const r=new n.GrpcWebFetchTransport({baseUrl:e,meta:{Authorization:`Bearer ${t}`}});this.storeClient=new be(r)}open(e){return l(this,arguments,void 0,(function*({handleOpen:e,handleChange:t,handleError:n},r={attempt:0,currentDelay:1e3}){const s=new AbortController,a=this.storeClient.open({changeId:"",select:[]},{abort:s.signal});let i;const o=[];let l=!1;a.responses.onMessage((n=>{var s;if(l||(l=!0,r={attempt:0,currentDelay:1e3}),n.value){if("str"===(null===(s=n.value)||void 0===s?void 0:s.data.oneofKind)){const r=JSON.parse(n.value.data.str);o.length===i?t(n.key,r):(o.push(r),o.length===i&&e(o))}}else t(n.key)}));const c=()=>{window.removeEventListener("online",c),s.abort("reconnecting due to online event"),this.open({handleOpen:e,handleChange:t,handleError:n})};window.addEventListener("online",c),a.responses.onError((a=>{if(a.message.includes("abort"))return;n(a);const i=(e=>{const t=Math.min(2*e.currentDelay,3e4),n=.2*t*(2*Math.random()-1);return Math.floor(t+n)})(r),o={attempt:r.attempt+1,currentDelay:i};setTimeout((()=>{window.removeEventListener("online",c),s.abort("closing to open new conn"),this.open({handleOpen:e,handleChange:t,handleError:n},o)}),r.currentDelay)}));try{i=yield this.getKeysCountWithDelay(),e(i?o:[])}catch(e){const t=_e.includes(e.message.toLowerCase());n(e,t)}return()=>{window.removeEventListener("online",c),s.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:D.STRING}:{data:{oneofKind:void 0},type:D.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}}))}}const Re=({token:t,endpoint:n="https://store-prod-in3-grpc.100ms.live",handleError:r})=>e.useMemo((()=>{try{Se(t)}catch(e){return r(e)}if(!n||!t)return r(new Error("Missing GRPC endpoint or token"));const e=new Ne(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 Se(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},Ce=["camera","document","instance","instance_page_state","page"];function We({endpoint:n,token:r,zoomToContent:s,transparentCanvas:a,onMount:l,refresh:c}){var d,u;const[h,p]=e.useState(),f=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(L),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=Re({token:r,endpoint:n,handleError:h}),f=Ue({token:r,editor:s,zoomToContent:i,handleError:h}),g=e.useCallback((e=>{if(p){if(Ce.every((t=>e.filter((e=>e.typeName===t)).length>0))){const t=o.allRecords().filter((e=>"shape"===e.typeName)),n=new Set(e.map((e=>e.id)));o.mergeRemoteChanges((()=>{o.clear(),o.put(e)}));for(const e of t)n.has(e.id)||(o.put([e]),p.set(e.id,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===ve?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)}))}),Ee),{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))}))}),Te),{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:h,zoomToContent:s});return i.default.createElement(t.Tldraw,{className:a?"transparent-canvas":"",autoFocus:!0,store:f,onMount:e=>{p(e),window.editor=e,null==l||l({store:f.store,editor:e})},components:{ErrorFallback:({error:e,editor:t})=>i.default.createElement(P,{editor:t,error:e,refresh:c})},hideUi:null===(d=null==h?void 0:h.getInstanceState())||void 0===d?void 0:d.isReadonly,initialState:(null===(u=null==h?void 0:h.getInstanceState())||void 0===u?void 0:u.isReadonly)?"hand":"select"},i.default.createElement(o,{store:f}))}exports.Whiteboard=function(t){const[n,r]=e.useState(Date.now()+t.token);return i.default.createElement(We,Object.assign({key:n,refresh:()=>r(Date.now()+t.token)},t))};
|
|
6
|
+
*/B=M,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}B.exports?(t.default=t,B.exports=t):window.classNames=t}();var I=M.exports;const P=({error:n,editor:r,refresh:s})=>{const a=e.useRef(null),[o,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=O("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":o&&!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:()=>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"),"."),o&&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(!o)},o?"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"))))))},L={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 D,$;($=D||(D={}))[$.NONE=0]="NONE",$[$.BYTES=1]="BYTES",$[$.STRING=2]="STRING",$[$.INTEGER=3]="INTEGER",$[$.FLOAT=4]="FLOAT";class j 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 H=new j;class K 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 A=new K;class q 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 z=new q;class V 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 G=new V;class J extends r.MessageType{constructor(){super("sessionstorepb.Value",[{no:1,name:"type",kind:"enum",T:()=>["sessionstorepb.Value.Type",D]},{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 Y=new J;class Z 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 Q=new Z;class X 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:()=>Y}])}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=Y.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&&Y.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 ee=new X;class te 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 ne=new te;class re 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 se=new re;class ae extends r.MessageType{constructor(){super("sessionstorepb.SetRequest",[{no:1,name:"key",kind:"scalar",T:9},{no:3,name:"value",kind:"message",T:()=>Y}])}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=Y.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&&Y.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 ie=new ae;class oe 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 le=new oe;class ce 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:()=>Y},{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=Y.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&&Y.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 de=new ce;class ue 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 he=new ue;class pe 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:()=>he}])}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(he.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++)he.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 fe=new pe;class ge 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 ye=new ge;class me 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 we=new me;new s.ServiceType("sessionstorepb.Api",[{name:"Hello",options:{},I:H,O:A},{name:"Subscribe",serverStreaming:!0,options:{},I:z,O:G}]);const ke=new s.ServiceType("sessionstorepb.Store",[{name:"open",serverStreaming:!0,options:{},I:fe,O:de},{name:"get",options:{},I:Q,O:ee},{name:"set",options:{},I:ie,O:le},{name:"delete",options:{},I:ne,O:se},{name:"count",options:{},I:ye,O:we}]);class be{constructor(e){this._transport=e,this.typeName=ke.typeName,this.methods=ke.methods,this.options=ke.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 ve="currentPage",Ee=11,Te=200,_e=["network error","failed to fetch"];function Se(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}`)}}class Ne{constructor(e,t){const r=new n.GrpcWebFetchTransport({baseUrl:e,meta:{Authorization:`Bearer ${t}`}});this.storeClient=new be(r)}open(e){return l(this,arguments,void 0,(function*({handleOpen:e,handleChange:t,handleError:n},r={attempt:0,currentDelay:1e3}){const s=new AbortController,a=this.storeClient.open({changeId:"",select:[]},{abort:s.signal});let i;const o=[];let l=!1;a.responses.onMessage((n=>{var s;if(l||(l=!0,r={attempt:0,currentDelay:1e3}),n.value){if("str"===(null===(s=n.value)||void 0===s?void 0:s.data.oneofKind)){const r=JSON.parse(n.value.data.str);o.length===i?t(n.key,r):(o.push(r),o.length===i&&e(o))}}else t(n.key)}));const c=()=>{window.removeEventListener("online",c),s.abort("reconnecting due to online event"),this.open({handleOpen:e,handleChange:t,handleError:n})};window.addEventListener("online",c),a.responses.onError((a=>{if(a.message.includes("abort"))return;n(a);const i=(e=>{const t=Math.min(2*e.currentDelay,3e4),n=.2*t*(2*Math.random()-1);return Math.floor(t+n)})(r),o={attempt:r.attempt+1,currentDelay:i};setTimeout((()=>{window.removeEventListener("online",c),s.abort("closing to open new conn"),this.open({handleOpen:e,handleChange:t,handleError:n},o)}),r.currentDelay)}));try{i=yield this.getKeysCountWithDelay(),e(i?o:[])}catch(e){const t=_e.includes(e.message.toLowerCase());n(e,t)}return()=>{window.removeEventListener("online",c),s.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:D.STRING}:{data:{oneofKind:void 0},type:D.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}}))}}const Re=({token:t,endpoint:n="https://store-prod-in3-grpc.100ms.live",handleError:r})=>e.useMemo((()=>{try{Se(t)}catch(e){return r(e)}if(!n||!t)return r(new Error("Missing GRPC endpoint or token"));const e=new Ne(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 Se(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},Ce=["camera","document","instance","instance_page_state","page"];function We({endpoint:n,token:r,zoomToContent:s,transparentCanvas:a,onMount:l,refresh:c}){var d,u;const[h,p]=e.useState(),f=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(L),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=Re({token:r,endpoint:n,handleError:h}),f=Ue({token:r,editor:s,zoomToContent:i,handleError:h}),g=e.useCallback((e=>{if(p){if(Ce.every((t=>e.filter((e=>e.typeName===t)).length>0))){const t=o.allRecords().filter((e=>"shape"===e.typeName)),n=new Set(e.map((e=>e.id)));o.mergeRemoteChanges((()=>{o.clear(),o.put(e)}));for(const e of t)n.has(e.id)||(o.put([e]),p.set(e.id,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===ve?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)}))}),Ee),{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))}))}),Te),{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:h,zoomToContent:s}),g="synced-remote"===f.status?f.connectionStatus:void 0;return i.default.createElement(t.Tldraw,{className:a?"transparent-canvas":"",autoFocus:!0,store:f,onMount:e=>{p(e),window.editor=e,null==l||l({store:f.store,editor:e})},components:{ErrorFallback:({error:e,editor:t})=>i.default.createElement(P,{editor:t,error:e,refresh:c})},hideUi:(null===(d=null==h?void 0:h.getInstanceState())||void 0===d?void 0:d.isReadonly)&&"online"==g,initialState:(null===(u=null==h?void 0:h.getInstanceState())||void 0===u?void 0:u.isReadonly)?"hand":"select"},i.default.createElement(o,{store:f}))}exports.Whiteboard=function(t){const[n,r]=e.useState(Date.now()+t.token);return i.default.createElement(We,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":["../src/ConnectionStatusToast.tsx","../../../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/constants.ts","../src/utils.ts","../src/hooks/StoreClient.ts","../src/hooks/useSessionStore.ts","../src/hooks/useSetEditorPermissions.tsx","../src/hooks/useCollaboration.ts","../src/Whiteboard.tsx"],"sourcesContent":[null,"/******************************************************************************\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,null],"names":["ConnectionStatusToast","store","addToast","removeToast","useToasts","prevConnectionStatus","useRef","offlineToastId","useEffect","connectionStatus","status","current","title","description","icon","keepOpen","__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","$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","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","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","CURRENT_PAGE_KEY","SHAPES_THROTTLE_TIME","PAGES_DEBOUNCE_TIME","RETRY_ERROR_MESSAGES","decodeJWT","token","parts","split","payloadStr","atob","JSON","parse","err","SessionStore","endpoint","transport","GrpcWebFetchTransport","baseUrl","Authorization","storeClient","handleOpen","handleChange","handleError","backoffState","attempt","currentDelay","abortController","AbortController","abort","signal","initialValues","isConnected","responses","onMessage","record","handleOnline","removeEventListener","addEventListener","onError","nextDelay","delay","Math","min","jitter","random","floor","calculateBackoff","nextState","getKeysCountWithDelay","canRecover","toLowerCase","valueStr","stringify","STRING","NONE","getKeysCount","Number","MAX_RETRIES","useSessionStore","sessionStore","useSetEditorPermissions","zoomToContent","permissions","updateInstanceState","FULL_SYNC_REQUIRED_RECORD_TYPES","CollaborativeEditor","transparentCanvas","onMount","setEditor","shapeUtils","createTLStore","defaultShapeUtils","loadSnapshot","currentPage","setCurrentPage","getCurrentPage","storeWithStatus","setStoreWithStatus","useCallback","isTerminal","initialRecords","every","filter","localShapeRecords","allRecords","serverRecordIds","map","r","mergeRemoteChanges","put","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":["../src/ConnectionStatusToast.tsx","../../../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/constants.ts","../src/utils.ts","../src/hooks/StoreClient.ts","../src/hooks/useSessionStore.ts","../src/hooks/useSetEditorPermissions.tsx","../src/hooks/useCollaboration.ts","../src/Whiteboard.tsx"],"sourcesContent":[null,"/******************************************************************************\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,null],"names":["ConnectionStatusToast","store","addToast","removeToast","useToasts","prevConnectionStatus","useRef","offlineToastId","useEffect","connectionStatus","status","current","title","description","icon","keepOpen","__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","$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","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","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","CURRENT_PAGE_KEY","SHAPES_THROTTLE_TIME","PAGES_DEBOUNCE_TIME","RETRY_ERROR_MESSAGES","decodeJWT","token","parts","split","payloadStr","atob","JSON","parse","err","SessionStore","endpoint","transport","GrpcWebFetchTransport","baseUrl","Authorization","storeClient","handleOpen","handleChange","handleError","backoffState","attempt","currentDelay","abortController","AbortController","abort","signal","initialValues","isConnected","responses","onMessage","record","handleOnline","removeEventListener","addEventListener","onError","nextDelay","delay","Math","min","jitter","random","floor","calculateBackoff","nextState","getKeysCountWithDelay","canRecover","toLowerCase","valueStr","stringify","STRING","NONE","getKeysCount","Number","MAX_RETRIES","useSessionStore","sessionStore","useSetEditorPermissions","zoomToContent","permissions","updateInstanceState","FULL_SYNC_REQUIRED_RECORD_TYPES","CollaborativeEditor","transparentCanvas","onMount","setEditor","shapeUtils","createTLStore","defaultShapeUtils","loadSnapshot","currentPage","setCurrentPage","getCurrentPage","storeWithStatus","setStoreWithStatus","useCallback","isTerminal","initialRecords","every","filter","localShapeRecords","allRecords","serverRecordIds","map","r","mergeRemoteChanges","put","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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"}
|
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.2-alpha.
|
|
5
|
+
"version": "0.1.2-alpha.4",
|
|
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": "94890263c80668495d3069f378a04a6d5e8ab11c"
|
|
77
77
|
}
|
package/src/Whiteboard.tsx
CHANGED
|
@@ -34,6 +34,8 @@ function CollaborativeEditor({
|
|
|
34
34
|
zoomToContent,
|
|
35
35
|
});
|
|
36
36
|
|
|
37
|
+
const connectionStatus = store.status === 'synced-remote' ? store.connectionStatus : undefined;
|
|
38
|
+
|
|
37
39
|
const handleMount = (editor: Editor) => {
|
|
38
40
|
setEditor(editor);
|
|
39
41
|
// @ts-expect-error - for debugging
|
|
@@ -50,7 +52,7 @@ function CollaborativeEditor({
|
|
|
50
52
|
components={{
|
|
51
53
|
ErrorFallback: ({ error, editor }) => <ErrorFallback editor={editor} error={error} refresh={refresh} />,
|
|
52
54
|
}}
|
|
53
|
-
hideUi={editor?.getInstanceState()?.isReadonly}
|
|
55
|
+
hideUi={editor?.getInstanceState()?.isReadonly && connectionStatus == 'online'}
|
|
54
56
|
initialState={editor?.getInstanceState()?.isReadonly ? 'hand' : 'select'}
|
|
55
57
|
>
|
|
56
58
|
<ConnectionStatusToast store={store} />
|