From 03c262f76bb1dafd81eb2eb1607eca856cffda64 Mon Sep 17 00:00:00 2001 From: Frank Lyder Bredland Date: Thu, 14 Mar 2024 15:59:28 +0100 Subject: [PATCH] feature: TLDraw plugin for Docusaurus This is intended to be used by us to embed architectual diagrams in our documentation using TLDraw and Docusaurus. --- packages/docs/docs/digdir.tldr | 1 + packages/docs/docs/intro.md | 16 - packages/docs/docs/intro.mdx | 12 + packages/docs/docusaurus.config.ts | 4 + packages/docs/package.json | 1 + packages/docusaurus-tldraw-plugin/Readme.md | 40 ++ .../docusaurus-tldraw-plugin/package.json | 21 + .../docusaurus-tldraw-plugin/src/index.js | 31 + .../docusaurus-tldraw-plugin/src/tldr.jsx | 38 ++ pnpm-lock.yaml | 577 +++++++++++++++--- 10 files changed, 641 insertions(+), 100 deletions(-) create mode 100644 packages/docs/docs/digdir.tldr delete mode 100644 packages/docs/docs/intro.md create mode 100644 packages/docs/docs/intro.mdx create mode 100644 packages/docusaurus-tldraw-plugin/Readme.md create mode 100644 packages/docusaurus-tldraw-plugin/package.json create mode 100644 packages/docusaurus-tldraw-plugin/src/index.js create mode 100644 packages/docusaurus-tldraw-plugin/src/tldr.jsx diff --git a/packages/docs/docs/digdir.tldr b/packages/docs/docs/digdir.tldr new file mode 100644 index 000000000..48ec1afc2 --- /dev/null +++ b/packages/docs/docs/digdir.tldr @@ -0,0 +1 @@ +{"tldrawFileFormatVersion":1,"schema":{"schemaVersion":1,"storeVersion":4,"recordVersions":{"asset":{"version":1,"subTypeKey":"type","subTypeVersions":{"image":3,"video":3,"bookmark":1}},"camera":{"version":1},"document":{"version":2},"instance":{"version":24},"instance_page_state":{"version":5},"page":{"version":1},"shape":{"version":3,"subTypeKey":"type","subTypeVersions":{"group":0,"text":1,"bookmark":2,"draw":1,"geo":8,"note":5,"line":4,"frame":0,"arrow":3,"highlight":0,"embed":4,"image":3,"video":2}},"instance_presence":{"version":5},"pointer":{"version":1}}},"records":[{"gridSize":10,"name":"","meta":{},"id":"document:document","typeName":"document"},{"meta":{},"id":"page:page","name":"Page 1","index":"a1","typeName":"page"},{"x":129.4575007953042,"y":181.83613902154352,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"aH","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:5Nfid9oIpWh5rgvRmkbY4","normalizedAnchor":{"x":0.5941518491099542,"y":0.24115968763860415},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:cwifaEx0XMxJwiVjVgEqC","normalizedAnchor":{"x":0.28017274032294215,"y":0.892415715961669},"isPrecise":true,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:2HnUqWq9Wf_ipt6WFXejC","typeName":"shape"},{"x":-833.5850793490963,"y":570.4190810698703,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"aW","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:VM-U8pkwlycnd_SA0nRz1","normalizedAnchor":{"x":0.5134011885696131,"y":0.8369330453563719},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:n8hiTxvRdrJgrvUz3kp4x","normalizedAnchor":{"x":0.4838541343107413,"y":0.5306946688206781},"isPrecise":false,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:2PXyT0aYTAlucdeQGR3hY","typeName":"shape"},{"x":442.8803694022927,"y":-172.0106485898119,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":204.24620481979719,"h":76.98419132838464,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"db","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"aL","id":"shape:4BHIEDhgJKwyK55dWT9kO","typeName":"shape"},{"x":52.17236189343754,"y":155.56906596106413,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":211.34975474398914,"h":130.56639124682434,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"bff","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"aG","id":"shape:5Nfid9oIpWh5rgvRmkbY4","typeName":"shape"},{"x":-753.4934711176545,"y":-8.348775151384189,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":269.93278159650777,"h":100.28065167976757,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"mikro service b","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"ab","id":"shape:5QJqh1Q61tJcb46F8WKMw","typeName":"shape"},{"x":-6.384786114146209,"y":372.85298626903636,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":268.265739914077,"h":159.28078778333042,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"frontend","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"aB","id":"shape:7eRO1qgBrINejumSpBtm7","typeName":"shape"},{"x":453.2006355907964,"y":658.0331743586031,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":229.85904032099808,"h":101.33496212947648,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"sluttbruker\n(nettleser)","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"a9","id":"shape:7tgZRdHeBAFf9b8ND-Crr","typeName":"shape"},{"x":308.72675124802396,"y":150.8346092341354,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":211.34975474398914,"h":130.56639124682434,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"bff","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"a2","id":"shape:8gGMVEH9ptk12anw45A5f","typeName":"shape"},{"x":-1171.0193891878166,"y":-4.448462784863068,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":270,"h":100.28065167976757,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"dialogporten-backend","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"aN","id":"shape:B7LZ_C85ZIHjRZXaIfPU_","typeName":"shape"},{"x":-1039.3620765665642,"y":324.3373283280934,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"aT","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:lAoAPiZMxtLeq5-lraMQT","normalizedAnchor":{"x":0.4897733610662325,"y":0.8508345205630498},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:VM-U8pkwlycnd_SA0nRz1","normalizedAnchor":{"x":0.4711924079785052,"y":0.46107615738567065},"isPrecise":false,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:Bvk-KYVUHIvFzCl7DVHZj","typeName":"shape"},{"x":539.1260163126829,"y":452.0494324647561,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"a4V","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:_7Ki3IQzcwfJTf4co0IAt","normalizedAnchor":{"x":0.9187817727876051,"y":0.5116746510689717},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:INgwsRj1gvT6zfwmXKCfE","normalizedAnchor":{"x":0.11049144393093445,"y":0.24916910734517986},"isPrecise":false,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:CMJF0LWaqb3iGZx48WJhn","typeName":"shape"},{"x":-1747.0244915731591,"y":680.8866824391682,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"text","props":{"color":"black","size":"m","w":198.53125,"text":"graphql schema","font":"draw","align":"middle","autoSize":true,"scale":1},"parentId":"page:page","index":"b07","id":"shape:DDjCn2RBLBPRLbIM3AZk9","typeName":"shape"},{"x":-1012.3302994364318,"y":903.5772552588095,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":375.89203142212693,"h":123.53586313420715,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"frontend","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"aY","id":"shape:F27N3BMEa8e5DiaXi5_g8","typeName":"shape"},{"x":402.0668774823506,"y":-30.72859334847206,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":263,"h":93.48833331644875,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"login-session-mikrotjeneste","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"aE","id":"shape:GATRHfogay26Qh7o2Pl1U","typeName":"shape"},{"x":-1957.6779932932689,"y":236.30598789877394,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":320,"h":91.32964104308633,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"dialogporten-backend-types-generated","align":"middle","verticalAlign":"middle","growY":0.045358956913673865,"url":""},"parentId":"page:page","index":"b03","id":"shape:GVKNvJZaQh3EEgZTF2cR1","typeName":"shape"},{"x":-778.5636340375966,"y":242.6920116451236,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":320,"h":91.32964104308633,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"mikro-service-b-types-generated","align":"middle","verticalAlign":"middle","growY":0.045358956913673865,"url":""},"parentId":"page:page","index":"ac","id":"shape:H5SCrDstzPBs7qsB79M1U","typeName":"shape"},{"x":-1008.1133990611781,"y":150.82788930815087,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"text","props":{"color":"black","size":"m","w":161.0625,"text":"Openapi spec","font":"draw","align":"middle","autoSize":true,"scale":1},"parentId":"page:page","index":"aR","id":"shape:HkfRUD-8si1-xy2aO7QhF","typeName":"shape"},{"x":555.7511010712888,"y":2.00011477059644,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"aM","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:GATRHfogay26Qh7o2Pl1U","normalizedAnchor":{"x":0.3688874738041093,"y":0.12148249828414485},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:4BHIEDhgJKwyK55dWT9kO","normalizedAnchor":{"x":0.41690602279866995,"y":0.6713698874799068},"isPrecise":true,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:IBMiBi4B64UcHsiBHNIsH","typeName":"shape"},{"x":804.0995554370171,"y":394.0654341363183,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":228,"h":130.36041886749467,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"tjenestetilbyder (ex. skatt)","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"a4","id":"shape:INgwsRj1gvT6zfwmXKCfE","typeName":"shape"},{"x":-1739.3882185160671,"y":361.1189170817865,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"text","props":{"color":"black","size":"m","w":159.171875,"text":"imports code","font":"draw","align":"middle","autoSize":true,"scale":1},"parentId":"page:page","index":"b06","id":"shape:LdNTuPBA4SIkw22qCzBbF","typeName":"shape"},{"x":357.57306731291817,"y":181.96446892314466,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"aDV","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:8gGMVEH9ptk12anw45A5f","normalizedAnchor":{"x":0.23111602908677337,"y":0.2384216902354373},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:cwifaEx0XMxJwiVjVgEqC","normalizedAnchor":{"x":0.5562952013594689,"y":0.7738415954280926},"isPrecise":false,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:M8gu2In7SCX56AdqqFLaV","typeName":"shape"},{"x":-837.1599837508414,"y":791.5819168471642,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"aZ","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:n8hiTxvRdrJgrvUz3kp4x","normalizedAnchor":{"x":0.483419270671558,"y":0.9180129240710825},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:F27N3BMEa8e5DiaXi5_g8","normalizedAnchor":{"x":0.46680485277083456,"y":0.36246939229799},"isPrecise":false,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:OOJn1TtfCXjcj1nqsBXSo","typeName":"shape"},{"x":-809.334964691745,"y":617.055005035955,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"text","props":{"color":"black","size":"m","w":161.0625,"text":"Openapi spec","font":"draw","align":"middle","autoSize":true,"scale":1},"parentId":"page:page","index":"aX","id":"shape:OrNjOwsGjw2y4bjAYGFl3","typeName":"shape"},{"x":-1534.6898212218268,"y":825.8415214167248,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"al","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:my0nSlkQgD3OR7h7y4YS8","normalizedAnchor":{"x":0.5183915021973589,"y":0.9203832005015858},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:aP7FpzsrFulPu0NDZe1Fz","normalizedAnchor":{"x":0.5005254714913534,"y":0.10606840959759589},"isPrecise":true,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:PQJ0vImm3wX9n642_M5wO","typeName":"shape"},{"x":483.91109464658115,"y":205.5060121032613,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"a3V","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:8gGMVEH9ptk12anw45A5f","normalizedAnchor":{"x":0.8288835897196114,"y":0.41872492872820843},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:an-dEtCzhnghzbzBEgXti","normalizedAnchor":{"x":0.14555986535358528,"y":0.3772485304135025},"isPrecise":true,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:PV8A8EymY3qSyhCWRu5tR","typeName":"shape"},{"x":270.9183012567313,"y":-7.060892924600125,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"aK","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:cwifaEx0XMxJwiVjVgEqC","normalizedAnchor":{"x":0.7474683836782804,"y":0.14646211165737727},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:VYbEHQcHujqYwMLrui9Al","normalizedAnchor":{"x":0.20471681177632065,"y":0.7786509495743287},"isPrecise":false,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:Q-jrZ4U96bbXHz4zY9jK8","typeName":"shape"},{"x":859.0971791189378,"y":425.4927746391916,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"a5","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:INgwsRj1gvT6zfwmXKCfE","normalizedAnchor":{"x":0.15620485664981698,"y":0.4948956993586586},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:an-dEtCzhnghzbzBEgXti","normalizedAnchor":{"x":0.35073898811128107,"y":0.8063425587203873},"isPrecise":true,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:Sgwpfl_lTh7N4EucGu9yJ","typeName":"shape"},{"x":503.6885907498668,"y":674.1905058686991,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"aA","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:7tgZRdHeBAFf9b8ND-Crr","normalizedAnchor":{"x":0.21964746345657749,"y":0.15944478756948333},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:_7Ki3IQzcwfJTf4co0IAt","normalizedAnchor":{"x":0.8363401089209395,"y":0.8356599850883808},"isPrecise":false,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:U2wyJIxIRHLm-VQ2YE_F3","typeName":"shape"},{"x":-1011.3632419636531,"y":488.7233490684144,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":346.27532341688664,"h":97.61322301077183,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"bff","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"aS","id":"shape:VM-U8pkwlycnd_SA0nRz1","typeName":"shape"},{"x":86.92530483606106,"y":-169.3844688177595,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":204.24620481979719,"h":76.98419132838464,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"db","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"aJ","id":"shape:VYbEHQcHujqYwMLrui9Al","typeName":"shape"},{"x":-989.1928948635071,"y":368.5899826930136,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"text","props":{"color":"black","size":"m","w":101.09375,"text":"Imports","font":"draw","align":"middle","autoSize":true,"scale":1},"parentId":"page:page","index":"aU","id":"shape:W2TtpSpo3PdZUc5n2lFcC","typeName":"shape"},{"x":180.5465512648824,"y":184.22399183347946,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"aI","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:5Nfid9oIpWh5rgvRmkbY4","normalizedAnchor":{"x":0.8358793615523654,"y":0.2594481061905263},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:GATRHfogay26Qh7o2Pl1U","normalizedAnchor":{"x":0.2814230826938098,"y":0.6314834787724287},"isPrecise":false,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:W4tAEkwSe1pyMGsu5tqoA","typeName":"shape"},{"x":-646.7229929854851,"y":312.7463882870453,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"acV","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:H5SCrDstzPBs7qsB79M1U","normalizedAnchor":{"x":0.4897733610662325,"y":0.8508345205630498},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:VM-U8pkwlycnd_SA0nRz1","normalizedAnchor":{"x":0.7274300894937961,"y":0.636141010691364},"isPrecise":true,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:WALjOJlXROCTwVbGeKYY9","typeName":"shape"},{"x":-2036.954305658169,"y":443.5140594310774,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":483.6822897664249,"h":184.66140081930746,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"bff-graphql-poc\n\n(defines graphql code-first)","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"ah","id":"shape:WiTRVaxQitTkBzLhTowXQ","typeName":"shape"},{"x":-1766.676928169224,"y":81.864607573719,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"b04","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:fc6SW0xRqjnHfoEn2TsZU","normalizedAnchor":{"x":0.4168704156479215,"y":0.8822212065813532},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:GVKNvJZaQh3EEgZTF2cR1","normalizedAnchor":{"x":0.47009419981623174,"y":0.8025822769279825},"isPrecise":false,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:ZYd8m3b6Qjw6MVIK8ivQ8","typeName":"shape"},{"x":292.6483442162486,"y":370.54949095372956,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":268.265739914077,"h":159.28078778333042,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"frontend\n(dialogporten)","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"a1","id":"shape:_7Ki3IQzcwfJTf4co0IAt","typeName":"shape"},{"x":449.0539543114629,"y":182.3632082602626,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"aF","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:8gGMVEH9ptk12anw45A5f","normalizedAnchor":{"x":0.6639572552777231,"y":0.24147561041589297},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:GATRHfogay26Qh7o2Pl1U","normalizedAnchor":{"x":0.15518437992373366,"y":0.7900284341602122},"isPrecise":true,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:_rEqcjFBOPezzHRIdnG2h","typeName":"shape"},{"x":-1993.664875644834,"y":1001.6185705376387,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":432.2233480163424,"h":133.78629189071398,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"react-vite-graphql-poc","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"ai","id":"shape:aP7FpzsrFulPu0NDZe1Fz","typeName":"shape"},{"x":839.1341019585282,"y":169.78774413976006,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":212,"h":130.56639124682434,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"dialogporten backend","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"a3","id":"shape:an-dEtCzhnghzbzBEgXti","typeName":"shape"},{"x":-777.0727339383243,"y":839.3819763492022,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"text","props":{"color":"black","size":"m","w":101.09375,"text":"Imports","font":"draw","align":"middle","autoSize":true,"scale":1},"parentId":"page:page","index":"aa","id":"shape:crjTO13VkDqRJF8xBiGk2","typeName":"shape"},{"x":99.19456007128667,"y":-33.157695057351276,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":215,"h":83.14402660524055,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"profil-mikrotjeneste","align":"middle","verticalAlign":"middle","growY":8.230973394759445,"url":""},"parentId":"page:page","index":"aD","id":"shape:cwifaEx0XMxJwiVjVgEqC","typeName":"shape"},{"x":-1546.8434381937052,"y":563.4533291907355,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"ak","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:WiTRVaxQitTkBzLhTowXQ","normalizedAnchor":{"x":0.5050314777177416,"y":0.7527747765445437},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:my0nSlkQgD3OR7h7y4YS8","normalizedAnchor":{"x":0.47701367732011213,"y":0.1515493869621542},"isPrecise":true,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:dho3BhOa9p-GZrvLbnzpl","typeName":"shape"},{"x":-590.587480991016,"y":146.92757694162975,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"text","props":{"color":"black","size":"m","w":161.0625,"text":"Openapi spec","font":"draw","align":"middle","autoSize":true,"scale":1},"parentId":"page:page","index":"ae","id":"shape:fIEr0lcOn9H7yaDlAm2z5","typeName":"shape"},{"x":-1933.3711092980375,"y":10.91444657893156,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":270,"h":100.28065167976757,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"dialogporten-backend","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"b02","id":"shape:fc6SW0xRqjnHfoEn2TsZU","typeName":"shape"},{"x":235.4992484148106,"y":661.7303892698719,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"aC","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:o-zqe3R8IbUVdLWOIiqGL","normalizedAnchor":{"x":0.14141284339480611,"y":0.047602338261466384},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:7eRO1qgBrINejumSpBtm7","normalizedAnchor":{"x":0.7399526478504878,"y":0.7123244147180187},"isPrecise":false,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:jJ7MxZCwv7ItDgSMpJXsF","typeName":"shape"},{"x":277.103839423983,"y":671.4399713506706,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"a7","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:o-zqe3R8IbUVdLWOIiqGL","normalizedAnchor":{"x":0.3224132989395243,"y":0.14341904235607747},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:_7Ki3IQzcwfJTf4co0IAt","normalizedAnchor":{"x":0.14177461642496947,"y":0.9077118747681728},"isPrecise":true,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:k79BcqX2uIQ0ry27UYu7G","typeName":"shape"},{"x":-1196.0895521077587,"y":246.59232401164473,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":320,"h":91.32964104308633,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"dialogporten-backend-types-generated","align":"middle","verticalAlign":"middle","growY":0.045358956913673865,"url":""},"parentId":"page:page","index":"aP","id":"shape:lAoAPiZMxtLeq5-lraMQT","typeName":"shape"},{"x":-1781.8016041404144,"y":156.78044038541975,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"text","props":{"color":"black","size":"m","w":161.0625,"text":"Openapi spec","font":"draw","align":"middle","autoSize":true,"scale":1},"parentId":"page:page","index":"b05","id":"shape:lmdATy6nXEfklxgU4JBx5","typeName":"shape"},{"x":-1717.4836501800933,"y":921.9342650044755,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"text","props":{"color":"black","size":"m","w":159.171875,"text":"imports code","font":"draw","align":"middle","autoSize":true,"scale":1},"parentId":"page:page","index":"b08","id":"shape:mYP-mPvQpQaH1rDq0xzXc","typeName":"shape"},{"x":-1993.1407134312483,"y":762.4577744790688,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":432.2233480163424,"h":133.78629189071398,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"bff-types-graphql-generated","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"aj","id":"shape:my0nSlkQgD3OR7h7y4YS8","typeName":"shape"},{"x":93.29138459763294,"y":412.2203948710351,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"aGV","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:7eRO1qgBrINejumSpBtm7","normalizedAnchor":{"x":0.3715575859358876,"y":0.2471572946735436},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:5Nfid9oIpWh5rgvRmkbY4","normalizedAnchor":{"x":0.3485209588762423,"y":0.6960884869340215},"isPrecise":false,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:n1VAMhnQ27lhjVQMlYgp9","typeName":"shape"},{"x":-1015.4835484472048,"y":687.4055360116467,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":368.8797189417776,"h":113.4802987016019,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"bff-types-generated","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"aV","id":"shape:n8hiTxvRdrJgrvUz3kp4x","typeName":"shape"},{"x":-571.666976793345,"y":364.6896703264925,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"text","props":{"color":"black","size":"m","w":101.09375,"text":"Imports","font":"draw","align":"middle","autoSize":true,"scale":1},"parentId":"page:page","index":"ag","id":"shape:ncW6Q22b7XBRV9t276C85","typeName":"shape"},{"x":149.0910860597561,"y":659.8123637539838,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"geo","props":{"w":229.85904032099808,"h":101.33496212947648,"geo":"rectangle","color":"black","labelColor":"black","fill":"none","dash":"draw","size":"m","font":"draw","text":"sluttbruker\n(nettleser)","align":"middle","verticalAlign":"middle","growY":0,"url":""},"parentId":"page:page","index":"a6","id":"shape:o-zqe3R8IbUVdLWOIiqGL","typeName":"shape"},{"x":-1058.4923983266808,"y":84.02125473682588,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"aQ","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:B7LZ_C85ZIHjRZXaIfPU_","normalizedAnchor":{"x":0.4168704156479215,"y":0.8822212065813532},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:lAoAPiZMxtLeq5-lraMQT","normalizedAnchor":{"x":0.47009419981623174,"y":0.8025822769279825},"isPrecise":false,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:o_DKTVSyBVqVskuAdTcum","typeName":"shape"},{"x":-1759.5336714011978,"y":363.6436316119868,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"b03V","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:GVKNvJZaQh3EEgZTF2cR1","normalizedAnchor":{"x":0.46254042189971756,"y":0.9537668995567743},"isPrecise":true,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:WiTRVaxQitTkBzLhTowXQ","normalizedAnchor":{"x":0.4907690485574627,"y":0.2602022824452126},"isPrecise":true,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:pDqH5ZUNlBMUpy98fupCe","typeName":"shape"},{"x":592.0675345551489,"y":478.5384921789114,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"text","props":{"color":"black","size":"m","w":165.03125,"text":"2-3 sekunder\n(happy path)","font":"draw","align":"middle","autoSize":true,"scale":1},"parentId":"page:page","index":"a8","id":"shape:sFuhCc1e6nH12sqf-znj3","typeName":"shape"},{"x":-665.8533147456018,"y":72.43031469577778,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"ad","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:5QJqh1Q61tJcb46F8WKMw","normalizedAnchor":{"x":0.4168704156479215,"y":0.8822212065813532},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:H5SCrDstzPBs7qsB79M1U","normalizedAnchor":{"x":0.47009419981623174,"y":0.8025822769279825},"isPrecise":false,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:skusI8Hm3rbNQ19wOL7ND","typeName":"shape"},{"x":330.5432663532973,"y":389.0308984954093,"rotation":0,"isLocked":false,"opacity":1,"meta":{},"type":"arrow","parentId":"page:page","index":"a2V","props":{"dash":"draw","size":"m","fill":"none","color":"black","labelColor":"black","bend":0,"start":{"type":"binding","boundShapeId":"shape:_7Ki3IQzcwfJTf4co0IAt","normalizedAnchor":{"x":0.1412588955607456,"y":0.11603036247422378},"isPrecise":false,"isExact":false},"end":{"type":"binding","boundShapeId":"shape:8gGMVEH9ptk12anw45A5f","normalizedAnchor":{"x":0.18646841539252842,"y":0.7547998082599591},"isPrecise":false,"isExact":false},"arrowheadStart":"none","arrowheadEnd":"arrow","text":"","labelPosition":0.5,"font":"draw"},"id":"shape:whrN7OiHfx0reisXTSgqk","typeName":"shape"},{"followingUserId":null,"opacityForNextShape":1,"stylesForNextShape":{},"brush":null,"scribbles":[],"cursor":{"type":"default","rotation":0},"isFocusMode":false,"exportBackground":true,"isDebugMode":false,"isToolLocked":false,"screenBounds":{"x":0,"y":0,"w":1472,"h":1367},"insets":[false,false,false,false],"zoomBrush":null,"isGridMode":false,"isPenMode":false,"chatMessage":"","isChatting":false,"highlightedUserIds":[],"canMoveCamera":true,"isFocused":true,"devicePixelRatio":1,"isCoarsePointer":false,"isHoveringCanvas":false,"openMenus":["main menu","main-menu-sub.file"],"isChangingStyle":false,"isReadonly":false,"meta":{},"duplicateProps":null,"id":"instance:instance","currentPageId":"page:page","typeName":"instance"},{"x":2211.2509859355064,"y":544.8601117027891,"z":0.6766157920779362,"meta":{},"id":"camera:page:page","typeName":"camera"},{"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"},{"id":"pointer:pointer","typeName":"pointer","x":-2093.2521974283595,"y":-265.31515655309715,"lastActivityTimestamp":1710423256586,"meta":{}}]} \ No newline at end of file diff --git a/packages/docs/docs/intro.md b/packages/docs/docs/intro.md deleted file mode 100644 index d0fadcf96..000000000 --- a/packages/docs/docs/intro.md +++ /dev/null @@ -1,16 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Intro - -Mermaid test: - -```mermaid -graph TD; - A-->B; - A-->C; - B-->D; - C-->D; -``` - diff --git a/packages/docs/docs/intro.mdx b/packages/docs/docs/intro.mdx new file mode 100644 index 000000000..852c55cf3 --- /dev/null +++ b/packages/docs/docs/intro.mdx @@ -0,0 +1,12 @@ +--- +sidebar_position: 1 +--- + +import { Tldr } from 'docusaurus-tldraw-plugin/src/tldr.jsx'; +import digdir from './digdir.tldr'; + +# Intro + +## Tldr + + diff --git a/packages/docs/docusaurus.config.ts b/packages/docs/docusaurus.config.ts index 54a1558e0..f25c2136d 100644 --- a/packages/docs/docusaurus.config.ts +++ b/packages/docs/docusaurus.config.ts @@ -30,6 +30,10 @@ const config: Config = { mermaid: true, }, + plugins: [ + 'docusaurus-tldraw-plugin', + ], + themes: [ /* mermaid */ '@docusaurus/theme-mermaid', diff --git a/packages/docs/package.json b/packages/docs/package.json index b4a6a039d..1418ced0f 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -24,6 +24,7 @@ "@mdx-js/react": "^3.0.0", "@types/node": "^16.11.10", "clsx": "^2.0.0", + "docusaurus-tldraw-plugin": "workspace: *", "prism-react-renderer": "^2.3.0", "react": "^18.0.0", "react-dom": "^18.0.0" diff --git a/packages/docusaurus-tldraw-plugin/Readme.md b/packages/docusaurus-tldraw-plugin/Readme.md new file mode 100644 index 000000000..a49babc43 --- /dev/null +++ b/packages/docusaurus-tldraw-plugin/Readme.md @@ -0,0 +1,40 @@ +# Docusaurus Tldraw plugin + +## Usage + +1. Add the dependency to your Docusaurus project: + +```json +"dependencies": { + "docusaurus-tldraw-plugin": "workspace: *", +} +``` + +2. Add the usage of the plugin to your `docusaurus.config.ts` file: + +```javascript +const config: Config = { + // ... + + plugins: [ + 'docusaurus-tldraw-plugin', + ], + + // ... +}; +``` + +3. Create a diagram on [tldraw.com](https://tldraw.com) or using the [TLDraw VSCode plugin](https://marketplace.visualstudio.com/items?itemName=tldraw-org.tldraw-vscode) + +4. Use the diagram as a part of your documentation in an `.mdx` file: + +```mdx +import { Tldr } from 'docusaurus-tldraw-plugin/src/tldr.jsx'; +import document from './document.tldr'; + +# Intro + +## Tldr + + +``` diff --git a/packages/docusaurus-tldraw-plugin/package.json b/packages/docusaurus-tldraw-plugin/package.json new file mode 100644 index 000000000..f8d6cf1ca --- /dev/null +++ b/packages/docusaurus-tldraw-plugin/package.json @@ -0,0 +1,21 @@ +{ + "name": "docusaurus-tldraw-plugin", + "version": "1.0.0", + "description": "Docusaurus plugin for embedding tldraw drawings in docs", + "main": "src/index.js", + "scripts": { + "test": "" + }, + "keywords": [ + "docusaurus", + "tldraw", + "plugin" + ], + "author": "", + "license": "MIT", + "dependencies": { + "@docusaurus/core": "3.1.1", + "react": "^18.2.0", + "tldraw": "^2.0.1" + } +} diff --git a/packages/docusaurus-tldraw-plugin/src/index.js b/packages/docusaurus-tldraw-plugin/src/index.js new file mode 100644 index 000000000..9bb159a93 --- /dev/null +++ b/packages/docusaurus-tldraw-plugin/src/index.js @@ -0,0 +1,31 @@ +const tdlrPlugin = async (context, opts) => { + return { + // Plugin name + name: 'docusaurus-tldraw-plugin', + + // Webpack config + configureWebpack(config, isServer, utils) { + return { + module: { + rules: [ + { test: /\.tldr$/, type: 'asset/source' }, + ], + }, + }; + }, + + // Inject Google Fonts into the header + injectHtmlTags({ content }) { + return { + headTags: [ + { tagName: 'link', attributes: { rel: 'preconnect', href: 'https://fonts.googleapis.com' } }, + { tagName: 'link', attributes: { rel: 'preconnect', href: 'https://fonts.gstatic.com', crossorigin: true } }, + { tagName: 'link', attributes: { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css2?family=Inter:wght@500;700&display=swap' } }, + ], + }; + }, + + }; +}; + +export default tdlrPlugin; diff --git a/packages/docusaurus-tldraw-plugin/src/tldr.jsx b/packages/docusaurus-tldraw-plugin/src/tldr.jsx new file mode 100644 index 000000000..ddb3f9a37 --- /dev/null +++ b/packages/docusaurus-tldraw-plugin/src/tldr.jsx @@ -0,0 +1,38 @@ +import BrowserOnly from '@docusaurus/BrowserOnly'; +import 'tldraw/tldraw.css'; +import { useMemo } from 'react'; +import { Tldraw, parseTldrawJsonFile, createTLSchema } from 'tldraw'; + +export const Tldr = ({ children, height }) => { + const { value: store, err } = useMemo(() => + parseTldrawJsonFile({ json: children, schema: createTLSchema() }), + [children] + ); + + if (err) { + console.log(result.err); + return
Error loading tldr file
; + } + else if(!store) { + return
Loading document...
+ } + + return ( +
+
+ Loading...
}> + {() => { + return { + editor.updateInstanceState({ isReadonly: true }); + }} + />; + }} + +
+ + ); +} + diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8c3840b38..b84cf916a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -310,6 +310,9 @@ importers: clsx: specifier: ^2.0.0 version: 2.1.0 + docusaurus-tldraw-plugin: + specifier: 'workspace: *' + version: link:../docusaurus-tldraw-plugin prism-react-renderer: specifier: ^2.3.0 version: 2.3.1(react@18.2.0) @@ -333,6 +336,18 @@ importers: specifier: ~5.2.2 version: 5.2.2 + packages/docusaurus-tldraw-plugin: + dependencies: + '@docusaurus/core': + specifier: 3.1.1 + version: 3.1.1(@docusaurus/types@3.1.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + react: + specifier: ^18.2.0 + version: 18.2.0 + tldraw: + specifier: ^2.0.1 + version: 2.0.1(react-dom@18.2.0)(react@18.2.0) + packages/frontend-design-poc: dependencies: '@digdir/designsystemet-css': @@ -2823,7 +2838,7 @@ packages: url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.90.0) webpack: 5.90.0 webpack-bundle-analyzer: 4.10.1 - webpack-dev-server: 4.15.1(webpack@5.90.0) + webpack-dev-server: 4.15.1(debug@4.3.4)(webpack@5.90.0) webpack-merge: 5.10.0 webpackbar: 5.0.2(webpack@5.90.0) transitivePeerDependencies: @@ -5003,13 +5018,35 @@ packages: resolution: {integrity: sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==} dependencies: '@babel/runtime': 7.23.9 - dev: true /@radix-ui/primitive@1.0.1: resolution: {integrity: sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==} dependencies: '@babel/runtime': 7.23.9 - dev: true + + /@radix-ui/react-alert-dialog@1.0.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-OrVIOcZL0tl6xibeuGt5/+UxoT2N27KCFOPjFyfXMnchxSHZ/OW7cCX2nGlIYJrbHK/fczPcFzAwvNBB6XBNMA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-dialog': 1.0.5(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.51)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false /@radix-ui/react-arrow@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==} @@ -5030,7 +5067,6 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: true /@radix-ui/react-collection@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==} @@ -5054,7 +5090,6 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: true /@radix-ui/react-compose-refs@1.0.1(@types/react@18.2.51)(react@18.2.0): resolution: {integrity: sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==} @@ -5069,6 +5104,30 @@ packages: '@types/react': 18.2.51 react: 18.2.0 + /@radix-ui/react-context-menu@2.1.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-R5XaDj06Xul1KGb+WP8qiOh7tKJNz2durpLBXAGZjSVtctcRFCuEvy2gtMwRJGePwQQE5nV77gs4FwRi8T+r2g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-context': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-menu': 2.0.6(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.51)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /@radix-ui/react-context@1.0.1(@types/react@18.2.51)(react@18.2.0): resolution: {integrity: sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==} peerDependencies: @@ -5081,7 +5140,38 @@ packages: '@babel/runtime': 7.23.9 '@types/react': 18.2.51 react: 18.2.0 - dev: true + + /@radix-ui/react-dialog@1.0.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.51)(react@18.2.0) + aria-hidden: 1.2.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.51)(react@18.2.0) + dev: false /@radix-ui/react-direction@1.0.1(@types/react@18.2.51)(react@18.2.0): resolution: {integrity: sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==} @@ -5095,7 +5185,6 @@ packages: '@babel/runtime': 7.23.9 '@types/react': 18.2.51 react: 18.2.0 - dev: true /@radix-ui/react-dismissable-layer@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==} @@ -5120,7 +5209,54 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: true + + /@radix-ui/react-dismissable-layer@1.0.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.51)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-dropdown-menu@2.0.6(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-menu': 2.0.6(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.51)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.51)(react@18.2.0): resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} @@ -5134,7 +5270,6 @@ packages: '@babel/runtime': 7.23.9 '@types/react': 18.2.51 react: 18.2.0 - dev: true /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==} @@ -5157,7 +5292,27 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: true + + /@radix-ui/react-focus-scope@1.0.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.51)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false /@radix-ui/react-id@1.0.1(@types/react@18.2.51)(react@18.2.0): resolution: {integrity: sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==} @@ -5172,7 +5327,75 @@ packages: '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.51)(react@18.2.0) '@types/react': 18.2.51 react: 18.2.0 - dev: true + + /@radix-ui/react-menu@2.0.6(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-roving-focus': 1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.51)(react@18.2.0) + aria-hidden: 1.2.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.51)(react@18.2.0) + dev: false + + /@radix-ui/react-popover@1.0.7(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-id': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slot': 1.0.2(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.51)(react@18.2.0) + aria-hidden: 1.2.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.2.51)(react@18.2.0) + dev: false /@radix-ui/react-popper@1.1.2(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==} @@ -5202,7 +5425,34 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: true + + /@radix-ui/react-popper@1.1.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/rect': 1.0.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false /@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==} @@ -5223,7 +5473,45 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: true + + /@radix-ui/react-portal@1.0.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@radix-ui/react-presence@1.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.51)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false /@radix-ui/react-primitive@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==} @@ -5244,7 +5532,6 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: true /@radix-ui/react-roving-focus@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==} @@ -5273,7 +5560,6 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: true /@radix-ui/react-select@1.2.2(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==} @@ -5314,7 +5600,6 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-remove-scroll: 2.5.5(@types/react@18.2.51)(react@18.2.0) - dev: true /@radix-ui/react-separator@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==} @@ -5337,6 +5622,35 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true + /@radix-ui/react-slider@1.1.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-NKs15MJylfzVsCagVSWKhGGLNR1W9qWs+HtgbmjjVUB3B9+lb3PYoXxVju3kOrpf0VKyVCtZp+iTwVoqpa1Chw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/number': 1.0.1 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-direction': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-use-previous': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.51)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /@radix-ui/react-slot@1.0.2(@types/react@18.2.51)(react@18.2.0): resolution: {integrity: sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==} peerDependencies: @@ -5351,6 +5665,36 @@ packages: '@types/react': 18.2.51 react: 18.2.0 + /@radix-ui/react-toast@1.1.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-fRLn227WHIBRSzuRzGJ8W+5YALxofH23y0MlPLddaIpLpCDqdE0NZlS2NRQDRiptfxDeeCjgFIpexB1/zkxDlw==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.23.9 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-collection': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-presence': 1.0.1(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-use-controllable-state': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.51)(react@18.2.0) + '@radix-ui/react-visually-hidden': 1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /@radix-ui/react-toggle-group@1.0.4(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==} peerDependencies: @@ -5440,7 +5784,6 @@ packages: '@babel/runtime': 7.23.9 '@types/react': 18.2.51 react: 18.2.0 - dev: true /@radix-ui/react-use-controllable-state@1.0.1(@types/react@18.2.51)(react@18.2.0): resolution: {integrity: sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==} @@ -5455,7 +5798,6 @@ packages: '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.51)(react@18.2.0) '@types/react': 18.2.51 react: 18.2.0 - dev: true /@radix-ui/react-use-escape-keydown@1.0.3(@types/react@18.2.51)(react@18.2.0): resolution: {integrity: sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==} @@ -5470,7 +5812,6 @@ packages: '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.51)(react@18.2.0) '@types/react': 18.2.51 react: 18.2.0 - dev: true /@radix-ui/react-use-layout-effect@1.0.1(@types/react@18.2.51)(react@18.2.0): resolution: {integrity: sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==} @@ -5484,7 +5825,6 @@ packages: '@babel/runtime': 7.23.9 '@types/react': 18.2.51 react: 18.2.0 - dev: true /@radix-ui/react-use-previous@1.0.1(@types/react@18.2.51)(react@18.2.0): resolution: {integrity: sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==} @@ -5498,7 +5838,6 @@ packages: '@babel/runtime': 7.23.9 '@types/react': 18.2.51 react: 18.2.0 - dev: true /@radix-ui/react-use-rect@1.0.1(@types/react@18.2.51)(react@18.2.0): resolution: {integrity: sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==} @@ -5513,7 +5852,6 @@ packages: '@radix-ui/rect': 1.0.1 '@types/react': 18.2.51 react: 18.2.0 - dev: true /@radix-ui/react-use-size@1.0.1(@types/react@18.2.51)(react@18.2.0): resolution: {integrity: sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==} @@ -5528,7 +5866,6 @@ packages: '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.51)(react@18.2.0) '@types/react': 18.2.51 react: 18.2.0 - dev: true /@radix-ui/react-visually-hidden@1.0.3(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==} @@ -5549,13 +5886,11 @@ packages: '@types/react-dom': 18.2.18 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - dev: true /@radix-ui/rect@1.0.1: resolution: {integrity: sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==} dependencies: '@babel/runtime': 7.23.9 - dev: true /@remix-run/router@1.14.2: resolution: {integrity: sha512-ACXpdMM9hmKZww21yEqWwiLws/UPLhNKvimN8RrYSqPSvB3ov7sLvAcfvaxePeLvccTQKGdkDIhLYApZVDFuKg==} @@ -7081,6 +7416,74 @@ packages: '@testing-library/dom': 9.3.4 dev: true + /@tldraw/editor@2.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-nC2/tpG2N+e5csjWcXURWXizYCRk7W+RIOBIFt0InRkp4WlBRpOZk81hFyssmJt+YTGDjATADsiEoqKGWFVuxg==} + peerDependencies: + react: ^18 + react-dom: ^18 + dependencies: + '@tldraw/state': 2.0.1(react@18.2.0) + '@tldraw/store': 2.0.1(react@18.2.0) + '@tldraw/tlschema': 2.0.1(react@18.2.0) + '@tldraw/utils': 2.0.1 + '@tldraw/validate': 2.0.1 + '@types/core-js': 2.5.8 + '@use-gesture/react': 10.3.0(react@18.2.0) + classnames: 2.5.1 + core-js: 3.35.1 + eventemitter3: 4.0.7 + idb: 7.1.1 + is-plain-object: 5.0.0 + lodash.throttle: 4.1.1 + lodash.uniq: 4.5.0 + nanoid: 4.0.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@tldraw/state@2.0.1(react@18.2.0): + resolution: {integrity: sha512-sqEc2y4C5InfK9ZOJCpzgmanQXE76IB5cFkubOoY0Jr1M/W5nHfVZyFy+9wSd4X0vZLnoNgBA65kOZih13sqJQ==} + peerDependencies: + react: ^18 + dependencies: + react: 18.2.0 + dev: false + + /@tldraw/store@2.0.1(react@18.2.0): + resolution: {integrity: sha512-MhuFgCpRAkI+3rrIOGhl0UdKOTITPH2uzgH0Ukx6lvDnQu6/HxYL98muLX3iDUcC2Xi89rIvRXqrPUQ8YZTd5w==} + peerDependencies: + react: ^18 + dependencies: + '@tldraw/state': 2.0.1(react@18.2.0) + '@tldraw/utils': 2.0.1 + lodash.isequal: 4.5.0 + nanoid: 4.0.2 + react: 18.2.0 + dev: false + + /@tldraw/tlschema@2.0.1(react@18.2.0): + resolution: {integrity: sha512-o7eLIho1Ohz1Y48L7IePRHBYjxzX0JN2lCJMrW3+fA/iMbfTpz6Jotux/JZFdVoXFAb3m74YsT0pSBVrI9XnUg==} + peerDependencies: + react: ^18 + dependencies: + '@tldraw/state': 2.0.1(react@18.2.0) + '@tldraw/store': 2.0.1(react@18.2.0) + '@tldraw/utils': 2.0.1 + '@tldraw/validate': 2.0.1 + nanoid: 4.0.2 + react: 18.2.0 + dev: false + + /@tldraw/utils@2.0.1: + resolution: {integrity: sha512-bRt8qWIEtd9rvPYaNQon5N8wWIJ7oLTMP5RJcd3Mucm8M6yNx+xIZOJImRjNV5DuuJmuJYwto2/h/ZVmu49fuQ==} + dev: false + + /@tldraw/validate@2.0.1: + resolution: {integrity: sha512-IFw7lbsZQodHw7ZiBl90buOyOcRX0nK6E+RV6JMuEd4wU4/QAr4XqrnMDQmMo/Kq/IP9fQtjk+Dj4HZ/BnxGtA==} + dependencies: + '@tldraw/utils': 2.0.1 + dev: false + /@tootallnate/once@1.1.2: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} engines: {node: '>= 6'} @@ -7184,6 +7587,10 @@ packages: resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} dev: true + /@types/core-js@2.5.8: + resolution: {integrity: sha512-VgnAj6tIAhJhZdJ8/IpxdatM8G4OD3VWGlp6xIxUGENZlpbob9Ty4VVdC1FIEp0aK6DBscDDjyzy5FB60TuNqg==} + dev: false + /@types/cors@2.8.17: resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} dependencies: @@ -8076,6 +8483,19 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + /@use-gesture/core@10.3.0: + resolution: {integrity: sha512-rh+6MND31zfHcy9VU3dOZCqGY511lvGcfyJenN4cWZe0u1BH6brBpBddLVXhF2r4BMqWbvxfsbL7D287thJU2A==} + dev: false + + /@use-gesture/react@10.3.0(react@18.2.0): + resolution: {integrity: sha512-3zc+Ve99z4usVP6l9knYVbVnZgfqhKah7sIG+PS2w+vpig2v2OLct05vs+ZXMzwxdNCMka8B+8WlOo0z6Pn6DA==} + peerDependencies: + react: '>= 16.8.0' + dependencies: + '@use-gesture/core': 10.3.0 + react: 18.2.0 + dev: false + /@vitejs/plugin-react-swc@3.6.0(vite@5.0.12): resolution: {integrity: sha512-XFRbsGgpGxGzEV5i5+vRiro1bwcIaZDIdBRP16qwm+jP68ue/S8FJTBEgOeojtVDYrbSua3XFp71kC8VJE6v+g==} peerDependencies: @@ -8629,7 +9049,6 @@ packages: engines: {node: '>=10'} dependencies: tslib: 2.6.2 - dev: true /aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} @@ -9344,6 +9763,10 @@ packages: /caniuse-lite@1.0.30001582: resolution: {integrity: sha512-vsJG3V5vgfduaQGVxL53uSX/HUzxyr2eA8xCo36OLal7sRcSZbibJtLeh0qja4sFOr/QQGt4opB4tOy+eOgAxg==} + /canvas-size@1.2.6: + resolution: {integrity: sha512-x2iVHOrZ5x9V0Hwx6kBz+Yxf/VCAII+jrD6WLjJbytJLozHq/oDJjEva432Os0eHxWMFR0vYlLJwTr6QxyxQqw==} + dev: false + /case-sensitive-paths-webpack-plugin@2.4.0: resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==} engines: {node: '>=4'} @@ -10838,7 +11261,6 @@ packages: /detect-node-es@1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==} - dev: true /detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} @@ -12547,7 +12969,6 @@ packages: /get-nonce@1.0.1: resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==} engines: {node: '>=6'} - dev: true /get-npm-tarball-url@2.1.0: resolution: {integrity: sha512-ro+DiMu5DXgRBabqXupW38h7WPZ9+Ad8UjwhvsmmN8w1sU7ab0nzAXvVZ4kqYg57OrqomRtJvepX5/xvFKNtjA==} @@ -12982,6 +13403,10 @@ packages: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true + /hotkeys-js@3.13.7: + resolution: {integrity: sha512-ygFIdTqqwG4fFP7kkiYlvayZppeIQX2aPpirsngkv1xM1lP0piDY5QEh68nQnIKvz64hfocxhBaD/uK3sSK1yQ==} + dev: false + /hpack.js@2.1.6: resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} dependencies: @@ -14996,6 +15421,10 @@ packages: resolution: {integrity: sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==} dev: false + /lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: false + /lodash.isinteger@4.0.4: resolution: {integrity: sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==} dev: false @@ -15027,6 +15456,10 @@ packages: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} dev: false + /lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + dev: false + /lodash.uniq@4.5.0: resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} dev: false @@ -16244,6 +16677,12 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + /nanoid@4.0.2: + resolution: {integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==} + engines: {node: ^14 || ^16 || >=18} + hasBin: true + dev: false + /natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} dev: false @@ -18598,7 +19037,6 @@ packages: react: 18.2.0 react-style-singleton: 2.2.1(@types/react@18.2.51)(react@18.2.0) tslib: 2.6.2 - dev: true /react-remove-scroll@2.5.5(@types/react@18.2.51)(react@18.2.0): resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} @@ -18617,7 +19055,6 @@ packages: tslib: 2.6.2 use-callback-ref: 1.3.1(@types/react@18.2.51)(react@18.2.0) use-sidecar: 1.1.2(@types/react@18.2.51)(react@18.2.0) - dev: true /react-router-config@5.1.1(react-router@5.3.4)(react@18.2.0): resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} @@ -18796,7 +19233,6 @@ packages: invariant: 2.2.4 react: 18.2.0 tslib: 2.6.2 - dev: true /react@18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} @@ -20714,6 +21150,32 @@ packages: engines: {node: '>=14.0.0'} dev: true + /tldraw@2.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-hyiGVFINEmgoBdfWyRQoi1PUszgpYd4ubSHTVH+pvfq/NuuYCwyLAzoBFMWO91uu2003ODbsozfkC4u5dOYHZw==} + peerDependencies: + react: ^18 + react-dom: ^18 + dependencies: + '@radix-ui/react-alert-dialog': 1.0.5(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-context-menu': 2.1.5(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dialog': 1.0.5(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dropdown-menu': 2.0.6(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popover': 1.0.7(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-select': 1.2.2(@types/react-dom@18.2.18)(@types/react@18.2.51)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-slider': 1.1.2(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-toast': 1.1.5(react-dom@18.2.0)(react@18.2.0) + '@tldraw/editor': 2.0.1(react-dom@18.2.0)(react@18.2.0) + canvas-size: 1.2.6 + classnames: 2.5.1 + hotkeys-js: 3.13.7 + lz-string: 1.5.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - '@types/react-dom' + dev: false + /tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -21454,7 +21916,6 @@ packages: '@types/react': 18.2.51 react: 18.2.0 tslib: 2.6.2 - dev: true /use-resize-observer@9.1.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==} @@ -21481,7 +21942,6 @@ packages: detect-node-es: 1.1.0 react: 18.2.0 tslib: 2.6.2 - dev: true /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -21954,57 +22414,6 @@ packages: - supports-color - utf-8-validate - /webpack-dev-server@4.15.1(webpack@5.90.0): - resolution: {integrity: sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==} - engines: {node: '>= 12.13.0'} - hasBin: true - peerDependencies: - webpack: ^4.37.0 || ^5.0.0 - webpack-cli: '*' - peerDependenciesMeta: - webpack: - optional: true - webpack-cli: - optional: true - dependencies: - '@types/bonjour': 3.5.13 - '@types/connect-history-api-fallback': 1.5.4 - '@types/express': 4.17.21 - '@types/serve-index': 1.9.4 - '@types/serve-static': 1.15.5 - '@types/sockjs': 0.3.36 - '@types/ws': 8.5.10 - ansi-html-community: 0.0.8 - bonjour-service: 1.2.1 - chokidar: 3.5.3 - colorette: 2.0.20 - compression: 1.7.4 - connect-history-api-fallback: 2.0.0 - default-gateway: 6.0.3 - express: 4.18.2 - graceful-fs: 4.2.11 - html-entities: 2.4.0 - http-proxy-middleware: 2.0.6(@types/express@4.17.21)(debug@4.3.4) - ipaddr.js: 2.1.0 - launch-editor: 2.6.1 - open: 8.4.2 - p-retry: 4.6.2 - rimraf: 3.0.2 - schema-utils: 4.2.0 - selfsigned: 2.4.1 - serve-index: 1.9.1 - sockjs: 0.3.24 - spdy: 4.0.2 - webpack: 5.90.0 - webpack-dev-middleware: 5.3.3(webpack@5.90.0) - ws: 8.16.0 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - dev: false - /webpack-manifest-plugin@4.1.1(webpack@5.90.0): resolution: {integrity: sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==} engines: {node: '>=12.22.0'}