From b6f1b34eb991ea963f0ece000f2ea35fcdffba7c Mon Sep 17 00:00:00 2001 From: "Lu[ke] Wilson" Date: Fri, 10 Nov 2023 15:15:10 +0000 Subject: [PATCH 1/2] initial --- integrations/tldraw/.eslintrc.json | 3 + integrations/tldraw/README.md | 3 + integrations/tldraw/assets/icon.png | Bin 0 -> 15142 bytes integrations/tldraw/gitbook-manifest.yaml | 21 ++++++ integrations/tldraw/package.json | 18 +++++ integrations/tldraw/src/index.tsx | 86 ++++++++++++++++++++++ integrations/tldraw/tsconfig.json | 3 + package-lock.json | 19 ++++- 8 files changed, 151 insertions(+), 2 deletions(-) create mode 100644 integrations/tldraw/.eslintrc.json create mode 100644 integrations/tldraw/README.md create mode 100644 integrations/tldraw/assets/icon.png create mode 100644 integrations/tldraw/gitbook-manifest.yaml create mode 100644 integrations/tldraw/package.json create mode 100644 integrations/tldraw/src/index.tsx create mode 100644 integrations/tldraw/tsconfig.json diff --git a/integrations/tldraw/.eslintrc.json b/integrations/tldraw/.eslintrc.json new file mode 100644 index 000000000..2486b4b2d --- /dev/null +++ b/integrations/tldraw/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": ["@gitbook/eslint-config/integration"] +} diff --git a/integrations/tldraw/README.md b/integrations/tldraw/README.md new file mode 100644 index 000000000..00dbd4d75 --- /dev/null +++ b/integrations/tldraw/README.md @@ -0,0 +1,3 @@ +# tldraw integration + +Add a tldraw shared project. \ No newline at end of file diff --git a/integrations/tldraw/assets/icon.png b/integrations/tldraw/assets/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0c7b59e66441c3d768f83e45966ca4eb16aab607 GIT binary patch literal 15142 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
    Z>+Am)F$xIu_hn*jGlx;O`i| zDg5!M17?r8%Mb0e;mXadrGt3a*+#Zf!J0SM>7g}2`obk)Wz4nsdJ&Z2dVU{mxCW5K zMmTJvBA;opum5nOuk?KXJyLAw(t7hE>rroy;MYxh;n;|9HV@y*dliq8Z)UI_Ro%gJ zT-&bgFg!pPeK93^a%MsWsq^dwtuXw{hg_6=a2`xuznY2}`iNN|F5DVL55#Iay#2)H zyecKX_jE6_nFhaH;=#Kk~-|>a=yS;207F z2Fw@kW#j%=pT&<@_Nda!TBn?VC-R*L6nR?}!4Z5FPn$$OS>#!)2VdLB%?V*p1M zekw|6cpxjF{_DL+Rfhr33^qq$=n1#TZ<2S>=*N9<#{79HKub0Kt!IzAB&46dFg03l T%EdV{AMWbxvG~qH-r@fRQ=Tx% literal 0 HcmV?d00001 diff --git a/integrations/tldraw/gitbook-manifest.yaml b/integrations/tldraw/gitbook-manifest.yaml new file mode 100644 index 000000000..f71a20ffa --- /dev/null +++ b/integrations/tldraw/gitbook-manifest.yaml @@ -0,0 +1,21 @@ +name: tldraw +title: tldraw +organization: tldraw +visibility: public +icon: ./assets/icon.png +description: 'Add a tldraw project' +script: src/index.tsx +scopes: [] +blocks: + - id: tldraw-block + title: tldraw + description: Add a tldraw project. + urlUnfurl: + - https://tldraw.com/r/** + - https://tldraw.com/v/** + - https://tldraw.com/s/** + - https://www.tldraw.com/r/** + - https://www.tldraw.com/v/** + - https://www.tldraw.com/s/** + +secrets: {} diff --git a/integrations/tldraw/package.json b/integrations/tldraw/package.json new file mode 100644 index 000000000..dbe1ffbce --- /dev/null +++ b/integrations/tldraw/package.json @@ -0,0 +1,18 @@ +{ + "name": "tldraw-gitbook-block", + "private": true, + "version": "0.0.1", + "scripts": { + "lint": "eslint --ext .js,.jsx,.ts,.tsx .", + "typecheck": "tsc --noEmit", + "publish": "gitbook publish ." + }, + "dependencies": { + "@gitbook/runtime": "*" + }, + "devDependencies": { + "@gitbook/cli": "^0.13.1", + "@gitbook/eslint-config": "*", + "@gitbook/tsconfig": "*" + } +} diff --git a/integrations/tldraw/src/index.tsx b/integrations/tldraw/src/index.tsx new file mode 100644 index 000000000..b34e06993 --- /dev/null +++ b/integrations/tldraw/src/index.tsx @@ -0,0 +1,86 @@ +import { createIntegration, createComponent } from '@gitbook/runtime'; + +const tldrawBlock = createComponent<{ url: string }>({ + componentId: 'tldraw-block', + + async action(element, action: any) { + switch (action.action) { + case '@link.unfurl': { + const { url } = action; + return { + props: { + url, + }, + }; + } + } + + return element; + }, + + async render(element, context) { + const { url } = element.props; + + element.setCache({ maxAge: 1 }); + + return ( + + + } + onPress={{ + action: '@ui.modal.open', + componentId: 'tldraw-modal', + props: { + url, + }, + }} + buttons={[ +